diff options
379 files changed, 24484 insertions, 20117 deletions
diff --git a/SConstruct b/SConstruct index 558ebf90aaa..c6198041fb0 100644 --- a/SConstruct +++ b/SConstruct @@ -3,14 +3,14 @@ # # For example, invoke scons as # -# scons debug=1 dri=0 machine=x86 +# scons build=debug llvm=yes machine=x86 # # to set configuration variables. Or you can write those options to a file # named config.py: # # # config.py -# debug=1 -# dri=0 +# build='debug' +# llvm=True # machine='x86' # # Invoke @@ -30,54 +30,8 @@ import common ####################################################################### # Configuration options -default_statetrackers = 'mesa' -default_targets = 'graw-null' - -if common.default_platform in ('linux', 'freebsd', 'darwin'): - default_drivers = 'softpipe,galahad,failover,svga,i915,i965,trace,identity,llvmpipe' - default_winsys = 'xlib' -elif common.default_platform in ('winddk',): - default_drivers = 'softpipe,svga,i915,i965,trace,identity' - default_winsys = 'all' -elif common.default_platform in ('embedded',): - default_drivers = 'softpipe,llvmpipe' - default_winsys = 'xlib' -else: - default_drivers = 'all' - default_winsys = 'all' - opts = Variables('config.py') common.AddOptions(opts) -opts.Add(ListVariable('statetrackers', 'state trackers to build', default_statetrackers, - ['mesa', 'python', 'xorg', 'egl'])) -opts.Add(ListVariable('drivers', 'pipe drivers to build', default_drivers, - ['softpipe', 'galahad', 'failover', 'svga', 'i915', 'i965', 'trace', 'r300', 'r600', 'identity', 'llvmpipe', 'nouveau', 'nv50', 'nvfx'])) -opts.Add(ListVariable('winsys', 'winsys drivers to build', default_winsys, - ['xlib', 'vmware', 'i915', 'i965', 'gdi', 'radeon', 'r600', 'graw-xlib'])) - -opts.Add(ListVariable('targets', 'driver targets to build', default_targets, - ['dri-i915', - 'dri-i965', - 'dri-nouveau', - 'dri-radeong', - 'dri-swrast', - 'dri-vmwgfx', - 'egl-i915', - 'egl-i965', - 'egl-nouveau', - 'egl-radeon', - 'egl-swrast', - 'egl-vmwgfx', - 'graw-xlib', - 'graw-null', - 'libgl-gdi', - 'libgl-xlib', - 'xorg-i915', - 'xorg-i965', - 'xorg-nouveau', - 'xorg-radeon', - 'xorg-vmwgfx'])) - opts.Add(EnumVariable('MSVS_VERSION', 'MS Visual C++ version', None, allowed_values=('7.1', '8.0', '9.0'))) env = Environment( @@ -87,61 +41,26 @@ env = Environment( ENV = os.environ, ) -if os.environ.has_key('CC'): - env['CC'] = os.environ['CC'] -if os.environ.has_key('CFLAGS'): - env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS']) -if os.environ.has_key('CXX'): - env['CXX'] = os.environ['CXX'] -if os.environ.has_key('CXXFLAGS'): - env['CXXFLAGS'] += SCons.Util.CLVar(os.environ['CXXFLAGS']) -if os.environ.has_key('LDFLAGS'): - env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS']) +# Backwards compatability with old target configuration variable +try: + targets = ARGUMENTS['targets'] +except KeyError: + pass +else: + targets = targets.split(',') + print 'scons: warning: targets option is deprecated; pass the targets on their own such as' + print + print ' scons %s' % ' '.join(targets) + print + COMMAND_LINE_TARGETS.append(targets) -Help(opts.GenerateHelpText(env)) -# replicate options values in local variables -debug = env['debug'] -dri = env['dri'] -machine = env['machine'] -platform = env['platform'] - -# derived options -x86 = machine == 'x86' -ppc = machine == 'ppc' -gcc = platform in ('linux', 'freebsd', 'darwin', 'embedded') -msvc = platform in ('windows', 'winddk') - -Export([ - 'debug', - 'x86', - 'ppc', - 'dri', - 'platform', - 'gcc', - 'msvc', -]) +Help(opts.GenerateHelpText(env)) ####################################################################### # Environment setup -# Always build trace, rbug, identity, softpipe, and llvmpipe (where possible) -if 'trace' not in env['drivers']: - env['drivers'].append('trace') -if 'rbug' not in env['drivers']: - env['drivers'].append('rbug') -if 'galahad' not in env['drivers']: - env['drivers'].append('galahad') -if 'identity' not in env['drivers']: - env['drivers'].append('identity') -if 'softpipe' not in env['drivers']: - env['drivers'].append('softpipe') -if env['llvm'] and 'llvmpipe' not in env['drivers']: - env['drivers'].append('llvmpipe') -if 'sw' not in env['drivers']: - env['drivers'].append('sw') - # Includes env.Prepend(CPPPATH = [ '#/include', @@ -157,7 +76,7 @@ if env['msvc']: env.Append(CPPPATH = ['#include/c99']) # Embedded -if platform == 'embedded': +if env['platform'] == 'embedded': env.Append(CPPDEFINES = [ '_POSIX_SOURCE', ('_POSIX_C_SOURCE', '199309L'), @@ -174,7 +93,7 @@ if platform == 'embedded': ]) # Posix -if platform in ('posix', 'linux', 'freebsd', 'darwin'): +if env['platform'] in ('posix', 'linux', 'freebsd', 'darwin'): env.Append(CPPDEFINES = [ '_POSIX_SOURCE', ('_POSIX_C_SOURCE', '199309L'), @@ -184,9 +103,9 @@ if platform in ('posix', 'linux', 'freebsd', 'darwin'): 'PTHREADS', 'HAVE_POSIX_MEMALIGN', ]) - if gcc: + if env['gcc']: env.Append(CFLAGS = ['-fvisibility=hidden']) - if platform == 'darwin': + if env['platform'] == 'darwin': env.Append(CPPDEFINES = ['_DARWIN_C_SOURCE']) env.Append(LIBS = [ 'm', @@ -212,5 +131,3 @@ SConscript( duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html ) -env.Default('src') - diff --git a/common.py b/common.py index 13e8dc83e97..b7749c925df 100644 --- a/common.py +++ b/common.py @@ -8,6 +8,8 @@ import subprocess import sys import platform as _platform +import SCons.Script.SConscript + ####################################################################### # Defaults @@ -20,6 +22,15 @@ _platform_map = { default_platform = sys.platform default_platform = _platform_map.get(default_platform, default_platform) +# Search sys.argv[] for a "platform=foo" argument since we don't have +# an 'env' variable at this point. +if 'platform' in SCons.Script.ARGUMENTS: + selected_platform = SCons.Script.ARGUMENTS['platform'] +else: + selected_platform = default_platform + +cross_compiling = selected_platform != default_platform + _machine_map = { 'x86': 'x86', 'i386': 'x86', @@ -37,38 +48,26 @@ if 'PROCESSOR_ARCHITECTURE' in os.environ: else: default_machine = _platform.machine() default_machine = _machine_map.get(default_machine, 'generic') +default_toolchain = 'default' + +if selected_platform == 'windows' and cross_compiling: + default_machine = 'x86' + default_toolchain = 'crossmingw' # find default_llvm value if 'LLVM' in os.environ: default_llvm = 'yes' else: - # Search sys.argv[] for a "platform=foo" argument since we don't have - # an 'env' variable at this point. - platform = default_platform - pattern = re.compile("(platform=)(.*)") - for arg in sys.argv: - m = pattern.match(arg) - if m: - platform = m.group(2) - default_llvm = 'no' try: - if platform != 'windows' and subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0: + if selected_platform != 'windows' and \ + subprocess.call(['llvm-config', '--version'], stdout=subprocess.PIPE) == 0: default_llvm = 'yes' except: pass -# find default_dri value -if default_platform in ('linux', 'freebsd'): - default_dri = 'yes' -elif default_platform in ('winddk', 'windows', 'wince', 'darwin'): - default_dri = 'no' -else: - default_dri = 'no' - - ####################################################################### # Common options @@ -88,8 +87,7 @@ def AddOptions(opts): allowed_values=('generic', 'ppc', 'x86', 'x86_64'))) opts.Add(EnumOption('platform', 'target platform', default_platform, allowed_values=('linux', 'cell', 'windows', 'winddk', 'wince', 'darwin', 'embedded', 'cygwin', 'sunos5', 'freebsd8'))) - opts.Add('toolchain', 'compiler toolchain', 'default') + opts.Add('toolchain', 'compiler toolchain', default_toolchain) opts.Add(BoolOption('llvm', 'use LLVM', default_llvm)) - opts.Add(BoolOption('dri', 'build DRI drivers', default_dri)) opts.Add(BoolOption('debug', 'DEPRECATED: debug build', 'yes')) opts.Add(BoolOption('profile', 'DEPRECATED: profile build', 'no')) diff --git a/configure.ac b/configure.ac index 5d2f9d75d0e..c172c1cbaed 100644 --- a/configure.ac +++ b/configure.ac @@ -465,6 +465,71 @@ if test "x$enable_selinux" = "xyes"; then DEFINES="$DEFINES -DMESA_SELINUX" fi +dnl Determine which APIs to support +AC_ARG_ENABLE([opengl], + [AS_HELP_STRING([--disable-opengl], + [disable support for standard OpenGL API @<:@default=no@:>@])], + [enable_opengl="$enableval"], + [enable_opengl=yes]) +AC_ARG_ENABLE([gles1], + [AS_HELP_STRING([--enable-gles1], + [enable support for OpenGL ES 1.x API @<:@default=no@:>@])], + [enable_gles1="$enableval"], + [enable_gles1=no]) +AC_ARG_ENABLE([gles2], + [AS_HELP_STRING([--enable-gles2], + [enable support for OpenGL ES 2.x API @<:@default=no@:>@])], + [enable_gles2="$enableval"], + [enable_gles2=no]) +AC_ARG_ENABLE([gles-overlay], + [AS_HELP_STRING([--enable-gles-overlay], + [build separate OpenGL ES only libraries @<:@default=no@:>@])], + [enable_gles_overlay="$enableval"], + [enable_gles_overlay=no]) + +AC_ARG_ENABLE([openvg], + [AS_HELP_STRING([--enable-openvg], + [enable support for OpenVG API @<:@default=no@:>@])], + [enable_openvg="$enableval"], + [enable_openvg=no]) + +dnl smooth the transition; should be removed eventually +if test "x$enable_openvg" = xno; then + case "x$with_state_trackers" in + x*vega*) + AC_MSG_WARN([vega state tracker is enabled without --enable-openvg]) + enable_openvg=yes + ;; + esac +fi + +if test "x$enable_opengl" = xno -a \ + "x$enable_gles1" = xno -a \ + "x$enable_gles2" = xno -a \ + "x$enable_gles_overlay" = xno -a \ + "x$enable_openvg" = xno; then + AC_MSG_ERROR([at least one API should be enabled]) +fi + +API_DEFINES="" +GLES_OVERLAY=0 +if test "x$enable_opengl" = xno; then + API_DEFINES="$API_DEFINES -DFEATURE_GL=0" +else + API_DEFINES="$API_DEFINES -DFEATURE_GL=1" +fi +if test "x$enable_gles1" = xyes; then + API_DEFINES="$API_DEFINES -DFEATURE_ES1=1" +fi +if test "x$enable_gles2" = xyes; then + API_DEFINES="$API_DEFINES -DFEATURE_ES2=1" +fi +if test "x$enable_gles_overlay" = xyes; then + GLES_OVERLAY=1 +fi +AC_SUBST([API_DEFINES]) +AC_SUBST([GLES_OVERLAY]) + dnl dnl Driver configuration. Options are xlib, dri and osmesa right now. dnl More later: fbdev, ... @@ -484,6 +549,10 @@ linux*) ;; esac +if test "x$enable_opengl" = xno; then + default_driver="no" +fi + AC_ARG_WITH([driver], [AS_HELP_STRING([--with-driver=DRIVER], [driver for Mesa: xlib,dri,osmesa @<:@default=dri when available, or xlib@:>@])], @@ -492,6 +561,11 @@ AC_ARG_WITH([driver], dnl Check for valid option case "x$mesa_driver" in xxlib|xdri|xosmesa) + if test "x$enable_opengl" = xno; then + AC_MSG_ERROR([Driver '$mesa_driver' requires OpenGL enabled]) + fi + ;; +xno) ;; *) AC_MSG_ERROR([Driver '$mesa_driver' is not a valid option]) @@ -507,7 +581,7 @@ dnl Driver specific build directories dnl dnl this variable will be prepended to SRC_DIRS and is not exported -CORE_DIRS="mapi/glapi glsl mesa" +CORE_DIRS="" SRC_DIRS="" GLU_DIRS="sgi" @@ -517,6 +591,30 @@ GALLIUM_WINSYS_DIRS="sw" GALLIUM_DRIVERS_DIRS="softpipe failover galahad trace rbug identity" GALLIUM_STATE_TRACKERS_DIRS="" +# build glapi if OpenGL is enabled +if test "x$enable_opengl" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/glapi" +fi + +# build es1api and es2api if OpenGL ES is enabled +case "x$enable_gles1$enable_gles2$enable_gles_overlay" in +x*yes*) + CORE_DIRS="$CORE_DIRS mapi/es1api mapi/es2api" + ;; +esac + +# build vgapi if OpenVG is enabled +if test "x$enable_openvg" = xyes; then + CORE_DIRS="$CORE_DIRS mapi/vgapi" +fi + +# build glsl and mesa if OpenGL or OpenGL ES is enabled +case "x$enable_opengl$enable_gles1$enable_gles2$enable_gles_overlay" in +x*yes*) + CORE_DIRS="$CORE_DIRS glsl mesa" + ;; +esac + case "$mesa_driver" in xlib) DRIVER_DIRS="x11" @@ -531,6 +629,9 @@ dri) osmesa) DRIVER_DIRS="osmesa" ;; +no) + DRIVER_DRIS="" + ;; esac AC_SUBST([SRC_DIRS]) AC_SUBST([GLU_DIRS]) @@ -623,7 +724,7 @@ xlib) GL_LIB_DEPS="" fi ;; -dri) +dri|no) # these checks are still desired when there is no mesa_driver # DRI must be shared, I think if test "$enable_static" = yes; then AC_MSG_ERROR([Can't use static libraries for DRI drivers]) @@ -748,51 +849,6 @@ if test "x$with_dri_drivers" = x; then with_dri_drivers=no fi -dnl Determine which APIs to support -AC_ARG_ENABLE([opengl], - [AS_HELP_STRING([--disable-opengl], - [disable support for standard OpenGL API @<:@default=no@:>@])], - [enable_opengl="$enableval"], - [enable_opengl=yes]) -AC_ARG_ENABLE([gles1], - [AS_HELP_STRING([--enable-gles1], - [enable support for OpenGL ES 1.x API @<:@default=no@:>@])], - [enable_gles1="$enableval"], - [enable_gles1=no]) -AC_ARG_ENABLE([gles2], - [AS_HELP_STRING([--enable-gles2], - [enable support for OpenGL ES 2.x API @<:@default=no@:>@])], - [enable_gles2="$enableval"], - [enable_gles2=no]) -AC_ARG_ENABLE([gles-overlay], - [AS_HELP_STRING([--enable-gles-overlay], - [build separate OpenGL ES only libraries @<:@default=no@:>@])], - [enable_gles_overlay="$enableval"], - [enable_gles_overlay=no]) - -API_DEFINES="" -GLES_OVERLAY=0 -if test "x$enable_opengl" = xno; then - API_DEFINES="$API_DEFINES -DFEATURE_GL=0" -else - API_DEFINES="$API_DEFINES -DFEATURE_GL=1" -fi -if test "x$enable_gles1" = xyes; then - API_DEFINES="$API_DEFINES -DFEATURE_ES1=1" -fi -if test "x$enable_gles2" = xyes; then - API_DEFINES="$API_DEFINES -DFEATURE_ES2=1" -fi -if test "x$enable_gles_overlay" = xyes -o \ - "x$enable_gles1" = xyes -o "x$enable_gles2" = xyes; then - CORE_DIRS="mapi/es1api mapi/es2api $CORE_DIRS" - if test "x$enable_gles_overlay" = xyes; then - GLES_OVERLAY=1 - fi -fi -AC_SUBST([API_DEFINES]) -AC_SUBST([GLES_OVERLAY]) - dnl If $with_dri_drivers is yes, directories will be added through dnl platform checks DRI_DIRS="" @@ -813,7 +869,7 @@ yes) esac dnl Set DRI_DIRS, DEFINES and LIB_DEPS -if test "$mesa_driver" = dri; then +if test "$mesa_driver" = dri -o "$mesa_driver" = no; then # Use TLS in GLX? if test "x$GLX_USE_TLS" = xyes; then DEFINES="$DEFINES -DGLX_USE_TLS -DPTHREADS" @@ -891,19 +947,21 @@ if test "$mesa_driver" = dri; then DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'` # Check for expat - EXPAT_INCLUDES="" - EXPAT_LIB=-lexpat - AC_ARG_WITH([expat], - [AS_HELP_STRING([--with-expat=DIR], - [expat install directory])],[ - EXPAT_INCLUDES="-I$withval/include" - CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES" - LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR" - EXPAT_LIB="-L$withval/$LIB_DIR -lexpat" - ]) - AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])]) - AC_CHECK_LIB([expat],[XML_ParserCreate],[], - [AC_MSG_ERROR([Expat required for DRI.])]) + if test "$mesa_driver" = dri; then + EXPAT_INCLUDES="" + EXPAT_LIB=-lexpat + AC_ARG_WITH([expat], + [AS_HELP_STRING([--with-expat=DIR], + [expat install directory])],[ + EXPAT_INCLUDES="-I$withval/include" + CPPFLAGS="$CPPFLAGS $EXPAT_INCLUDES" + LDFLAGS="$LDFLAGS -L$withval/$LIB_DIR" + EXPAT_LIB="-L$withval/$LIB_DIR -lexpat" + ]) + AC_CHECK_HEADER([expat.h],[],[AC_MSG_ERROR([Expat required for DRI.])]) + AC_CHECK_LIB([expat],[XML_ParserCreate],[], + [AC_MSG_ERROR([Expat required for DRI.])]) + fi # put all the necessary libs together DRI_LIB_DEPS="$SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS $TALLOC_LIBS" @@ -944,6 +1002,9 @@ AC_ARG_ENABLE([gl-osmesa], [gl_osmesa="$enableval"], [gl_osmesa="$default_gl_osmesa"]) if test "x$gl_osmesa" = xyes; then + if test "x$enable_opengl" = xno; then + AC_MSG_ERROR([OpenGL is not available for OSMesa driver]) + fi if test "$mesa_driver" = osmesa; then AC_MSG_ERROR([libGL is not available for OSMesa driver]) else @@ -1000,13 +1061,21 @@ AC_ARG_ENABLE([egl], [disable EGL library @<:@default=enabled@:>@])], [enable_egl="$enableval"], [enable_egl=yes]) +if test "x$enable_egl" = xno; then + if test "x$mesa_driver" = xno; then + AC_MSG_ERROR([cannot disable EGL when there is no mesa driver]) + fi + if test "x$enable_openvg" = xyes; then + AC_MSG_ERROR([cannot enable OpenVG without EGL]) + fi +fi if test "x$enable_egl" = xyes; then SRC_DIRS="$SRC_DIRS egl" EGL_LIB_DEPS="$DLOPEN_LIBS -lpthread" EGL_DRIVERS_DIRS="" if test "$enable_static" != yes; then # build egl_glx when libGL is built - if test "$mesa_driver" != osmesa; then + if test "$mesa_driver" = xlib -o "$mesa_driver" = dri; then EGL_DRIVERS_DIRS="glx" fi @@ -1040,6 +1109,12 @@ AC_ARG_ENABLE([glu], [enable OpenGL Utility library @<:@default=enabled@:>@])], [enable_glu="$enableval"], [enable_glu=yes]) + +if test "x$enable_glu" = xyes -a "x$mesa_driver" = xno; then + AC_MSG_NOTICE([Disabling GLU since there is no OpenGL driver]) + enable_glu=no +fi + if test "x$enable_glu" = xyes; then SRC_DIRS="$SRC_DIRS glu" @@ -1089,9 +1164,13 @@ AC_ARG_ENABLE([glw], [enable_glw="$enableval"], [enable_glw=yes]) dnl Don't build GLw on osmesa -if test "x$enable_glw" = xyes && test "$mesa_driver" = osmesa; then - AC_MSG_WARN([Disabling GLw since the driver is OSMesa]) - enable_glw=no +if test "x$enable_glw" = xyes; then + case "$mesa_driver" in + osmesa|no) + AC_MSG_NOTICE([Disabling GLw since there is no OpenGL driver]) + enable_glw=no + ;; + esac fi AC_ARG_ENABLE([motif], [AS_HELP_STRING([--enable-motif], @@ -1165,16 +1244,20 @@ AC_ARG_ENABLE([glut], [enable_glut="$enableval"], [enable_glut="$default_glut"]) +dnl Don't build glut on osmesa +if test "x$enable_glut" = xyes; then + case "$mesa_driver" in + osmesa|no) + AC_MSG_NOTICE([Disabling glut since there is no OpenGL driver]) + enable_glut=no + ;; + esac +fi dnl Can't build glut if GLU not available if test "x$enable_glu$enable_glut" = xnoyes; then AC_MSG_WARN([Disabling glut since GLU is disabled]) enable_glut=no fi -dnl Don't build glut on osmesa -if test "x$enable_glut" = xyes && test "$mesa_driver" = osmesa; then - AC_MSG_WARN([Disabling glut since the driver is OSMesa]) - enable_glut=no -fi if test "x$enable_glut" = xyes; then SRC_DIRS="$SRC_DIRS glut/glx" @@ -1239,6 +1322,9 @@ AC_ARG_ENABLE([gallium], [build gallium @<:@default=enabled@:>@])], [enable_gallium="$enableval"], [enable_gallium=yes]) +if test "x$enable_gallium" = xno -a "x$enable_openvg" = xyes; then + AC_MSG_ERROR([cannot enable OpenVG without Gallium]) +fi if test "x$enable_gallium" = xyes; then SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets" AC_CHECK_HEADER([udis86.h], [HAS_UDIS86="yes"], @@ -1251,15 +1337,30 @@ AC_SUBST([LLVM_LIBS]) AC_SUBST([LLVM_LDFLAGS]) AC_SUBST([LLVM_VERSION]) -VG_LIB_DEPS="" -EGL_CLIENT_APIS='$(GL_LIB)' -if test "x$enable_gles_overlay" = xyes; then - EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)' -fi - dnl dnl Gallium state trackers configuration dnl + +AC_ARG_ENABLE([gallium-egl], + [AS_HELP_STRING([--enable-gallium-egl], + [enable gallium EGL state tracker @<:@default=auto@:>@])], + [enable_gallium_egl="$enableval"], + [enable_gallium_egl=auto]) +if test "x$enable_gallium_egl" = xauto; then + case "$mesa_driver" in + dri|no) + enable_gallium_egl=$enable_egl + ;; + *) + enable_gallium_egl=no + ;; + esac +fi +case "x$enable_egl$enable_gallium_egl" in +xnoyes) + AC_MSG_ERROR([cannot build Gallium EGL state tracker without EGL]) +esac + AC_ARG_WITH([state-trackers], [AS_HELP_STRING([--with-state-trackers@<:@=DIRS...@:>@], [comma delimited state_trackers list, e.g. @@ -1280,16 +1381,24 @@ yes) dri) GALLIUM_STATE_TRACKERS_DIRS="dri" HAVE_ST_DRI="yes" - if test "x$enable_egl" = xyes; then - GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl" - HAVE_ST_EGL="yes" - fi # Have only tested st/xorg on 1.6.0 servers PKG_CHECK_MODULES(XORG, [xorg-server >= 1.6.0 libdrm >= $LIBDRM_XORG_REQUIRED libkms >= $LIBKMS_XORG_REQUIRED], HAVE_ST_XORG="yes"; GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS xorg", HAVE_ST_XORG="no") ;; esac + + if test "x$enable_egl" = xyes; then + if test "$enable_openvg" = yes; then + GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS vega" + st_egl="yes" + fi + + if test "$enable_gallium_egl" = yes; then + GALLIUM_STATE_TRACKERS_DIRS="$GALLIUM_STATE_TRACKERS_DIRS egl" + HAVE_ST_EGL="yes" + fi + fi ;; *) # verify the requested state tracker exist @@ -1315,22 +1424,10 @@ yes) PKG_CHECK_MODULES([LIBKMS_XORG], [libkms >= $LIBKMS_XORG_REQUIRED]) HAVE_ST_XORG="yes" ;; - es) - AC_MSG_WARN([state tracker 'es' has been replaced by --enable-gles-overlay]) - - if test "x$enable_gles_overlay" != xyes; then - if test "x$enable_gles1" != xyes -a "x$enable_gles2" != xyes; then - CORE_DIRS="mapi/es1api mapi/es2api $CORE_DIRS" - fi - GLES_OVERLAY=1 - EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)' - fi - tracker="" - ;; vega) - CORE_DIRS="$CORE_DIRS mapi/vgapi" - VG_LIB_DEPS="$VG_LIB_DEPS -lpthread" - EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)' + if test "x$enable_openvg" != xyes; then + AC_MSG_ERROR([cannot build vega state tracker without --enable-openvg]) + fi ;; xorg/xvmc) # Check for libXvMC? @@ -1355,6 +1452,23 @@ yes) ;; esac + +EGL_CLIENT_APIS="" +VG_LIB_DEPS="" + +case "x$enable_opengl$enable_gles1$enable_gles2" in +x*yes*) + EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GL_LIB)' + ;; +esac +if test "x$enable_gles_overlay" = xyes; then + EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(GLESv1_CM_LIB) $(GLESv2_LIB)' +fi +if test "x$enable_openvg" = xyes; then + EGL_CLIENT_APIS="$EGL_CLIENT_APIS "'$(VG_LIB)' + VG_LIB_DEPS="$VG_LIB_DEPS -lpthread" +fi + AC_SUBST([VG_LIB_DEPS]) AC_SUBST([EGL_CLIENT_APIS]) @@ -1652,25 +1766,56 @@ echo " exec_prefix: $exec_prefix" echo " libdir: $libdir" echo " includedir: $includedir" +dnl API info +echo "" +echo " OpenGL: $enable_opengl (ES1: $enable_gles1 ES2: $enable_gles2)" +echo " GLES overlay: $enable_gles_overlay" +echo " OpenVG: $enable_openvg" + dnl Driver info echo "" echo " Driver: $mesa_driver" -if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then - echo " OSMesa: lib$OSMESA_LIB" -else - echo " OSMesa: no" -fi -if test "$mesa_driver" = dri; then - # cleanup the drivers var - dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'` -if test "x$DRI_DIRS" = x; then - echo " DRI drivers: no" -else - echo " DRI drivers: $dri_dirs" +if test "$mesa_driver" != no; then + if echo "$DRIVER_DIRS" | grep 'osmesa' >/dev/null 2>&1; then + echo " OSMesa: lib$OSMESA_LIB" + else + echo " OSMesa: no" + fi + if test "$mesa_driver" = dri; then + # cleanup the drivers var + dri_dirs=`echo $DRI_DIRS | $SED 's/^ *//;s/ */ /;s/ *$//'` + if test "x$DRI_DIRS" = x; then + echo " DRI drivers: no" + else + echo " DRI drivers: $dri_dirs" + fi + echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR" + echo " Use XCB: $enable_xcb" + fi fi - echo " DRI driver dir: $DRI_DRIVER_INSTALL_DIR" +echo "" +echo " GLU: $enable_glu" +echo " GLw: $enable_glw (Motif: $enable_motif)" +echo " glut: $enable_glut" + +dnl EGL +echo "" +echo " EGL: $enable_egl" +if test "$enable_egl" = yes; then + echo " EGL platforms: $EGL_PLATFORMS" + + egl_drivers="" + for d in $EGL_DRIVERS_DIRS; do + egl_drivers="$egl_drivers egl_$d" + done + + if test "$enable_gallium" = yes -a "$HAVE_ST_EGL" = yes; then + echo " EGL drivers: ${egl_drivers} egl_gallium" + echo " EGL Gallium STs:$EGL_CLIENT_APIS" + else + echo " EGL drivers: $egl_drivers" + fi fi -echo " Use XCB: $enable_xcb" echo "" if test "x$MESA_LLVM" = x1; then @@ -1689,9 +1834,6 @@ if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then echo " Winsys dirs: $GALLIUM_WINSYS_DIRS" echo " Driver dirs: $GALLIUM_DRIVERS_DIRS" echo " Trackers dirs: $GALLIUM_STATE_TRACKERS_DIRS" - if test "x$HAVE_ST_EGL" = xyes; then - echo " EGL client APIs: $EGL_CLIENT_APIS" - fi else echo " Gallium: no" fi @@ -1700,15 +1842,6 @@ dnl Libraries echo "" echo " Shared libs: $enable_shared" echo " Static libs: $enable_static" -if test "$enable_egl" = yes; then - echo " EGL: $EGL_DRIVERS_DIRS" - echo " EGL platforms: $EGL_PLATFORMS" -else - echo " EGL: no" -fi -echo " GLU: $enable_glu" -echo " GLw: $enable_glw (Motif: $enable_motif)" -echo " glut: $enable_glut" dnl Compiler options # cleanup the CFLAGS/CXXFLAGS/DEFINES vars diff --git a/docs/egl.html b/docs/egl.html index d38f2dd7b7d..ee9bf355d7c 100644 --- a/docs/egl.html +++ b/docs/egl.html @@ -28,18 +28,17 @@ cards.</p> <ol> <li> -<p>Run <code>configure</code> with the desired state trackers and enable -the Gallium driver for your hardware. For example</p> +<p>Run <code>configure</code> with the desired client APIs and enable +the driver for your hardware. For example</p> <pre> - $ ./configure --enable-gles-overlay --with-state-trackers=egl,vega --enable-gallium-intel + $ ./configure --enable-gles2 --enable-openvg --enable-gallium-nouveau </pre> -<p>The main library and OpenGL is enabled by default. The first option enables -<a href="opengles.html">OpenGL ES 1.x and 2.x</a>. The <code>egl</code> state -tracker is needed by a number of EGL drivers. EGL drivers will be covered -later. The <a href="openvg.html">vega state tracker</a> provides OpenVG -1.x.</p> +<p>The main library and OpenGL is enabled by default. The first option above +enables <a href="opengles.html">OpenGL ES 2.x</a>. The second option enables +<a href="openvg.html">OpenVG</a>.</p> + </li> <li>Build and install Mesa as usual.</li> @@ -80,31 +79,35 @@ types such as <code>EGLNativeDisplayType</code> or <p>The available platforms are <code>x11</code>, <code>drm</code>, <code>fbdev</code>, and <code>gdi</code>. The <code>gdi</code> platform can -only be built with SCons.</p> +only be built with SCons. Unless for special needs, the build system should +select the right platforms automatically.</p> </li> -<li><code>--with-state-trackers</code> +<li><code>--enable-gles1</code> and <code>--enable-gles2</code> -<p>The argument is a comma separated string. It is usually used to specify the -rendering APIs, such as OpenVG, to build. But it is also used to specify -<code>egl</code> state tracker that <code>egl_gallium</code> depends on.</p> +<p>These options enable OpenGL ES support in OpenGL. The result is +one big library that supports multiple APIs.</p> </li> <li><code>--enable-gles-overlay</code> -<p>OpenGL and OpenGL ES are not controlled by -<code>--with-state-trackers</code>. OpenGL is always built. To build OpenGL -ES, this option must be explicitly given.</p> +<p>This option enables OpenGL ES as separate libraries. This is an alternative +approach to enable OpenGL ES. It is only supported by +<code>egl_gallium</code>.</p> </li> -<li><code>--enable-gles1</code> and <code>--enable-gles2</code> +<li><code>--enable-openvg</code> -<p>Unlike <code>--enable-gles-overlay</code>, which builds one library for each -rendering API, these options enable OpenGL ES support in OpenGL. The result is -one big library that supports multiple APIs.</p> +<p>OpenVG must be explicitly enabled by this option.</p> + +</li> + +<li><code>--enable-gallium-egl</code> + +<p>Explicitly enable or disable <code>egl_gallium</code>.</p> </li> @@ -139,10 +142,6 @@ binaries.</p> specified EGL driver to be loaded. It comes in handy when one wants to test a specific driver. This variable is ignored for setuid/setgid binaries.</p> -<p><code>egl_gallium</code> dynamically loads hardware drivers and client API -modules found in <code>EGL_DRIVERS_PATH</code>. Thus, specifying this variable -alone is not sufficient for <code>egl_gallium</code> for uninstalled build.</p> - </li> <li><code>EGL_PLATFORM</code> @@ -150,7 +149,12 @@ alone is not sufficient for <code>egl_gallium</code> for uninstalled build.</p> <p>This variable specifies the native platform. The valid values are the same as those for <code>--with-egl-platforms</code>. When the variable is not set, the main library uses the first platform listed in -<code>--with-egl-platforms</code> as the native platform</p> +<code>--with-egl-platforms</code> as the native platform.</p> + +<p>Extensions like <code>EGL_MESA_drm_display</code> define new functions to +create displays for non-native platforms. These extensions are usually used by +applications that support non-native platforms. Setting this variable is +probably required only for some of the demos found in mesa/demo repository.</p> </li> @@ -173,11 +177,19 @@ variable to true forces the use of software rendering.</p> <h2>EGL Drivers</h2> <ul> +<li><code>egl_dri2</code> + +<p>This driver supports both <code>x11</code> and <code>drm</code> platforms. +It functions as a DRI2 driver loader. For <code>x11</code> support, it talks +to the X server directly using (XCB-)DRI2 protocol.</p> + +</li> + <li><code>egl_gallium</code> <p>This driver is based on Gallium3D. It supports all rendering APIs and hardwares supported by Gallium3D. It is the only driver that supports OpenVG. -The supported platforms are X11, KMS, FBDEV, and GDI.</p> +The supported platforms are X11, DRM, FBDEV, and GDI.</p> </li> @@ -188,23 +200,6 @@ the EGL API. It supports both direct and indirect rendering when the GLX does. It is accelerated when the GLX is. As such, it cannot provide functions that is not available in GLX or GLX extensions.</p> </li> - -<li><code>egl_dri2</code> - -<p>This driver supports the X Window System as its window system. It functions -as a DRI2 driver loader. Unlike <code>egl_glx</code>, it has no dependency on -<code>libGL</code>. It talks to the X server directly using DRI2 protocol.</p> - -</li> -<li><code>egl_dri</code> - -<p>This driver lacks maintenance and does <em>not</em> build. It is similiar -to <code>egl_dri2</code> in that it functions as a DRI(1) driver loader. But -unlike <code>egl_dri2</code>, it supports Linux framebuffer devices as its -window system and supports EGL_MESA_screen_surface extension. As DRI1 drivers -are phasing out, it might eventually be replaced by <code>egl_dri2</code>.</p> - -</li> </ul> <h2>Developers</h2> @@ -295,7 +290,6 @@ should as well lock the display before using it. <ul> <li>Pass the conformance tests</li> -<li>Reference counting in main library?</li> <li>Mixed use of OpenGL, OpenGL ES 1.1, and OpenGL ES 2.0 is supported. But which one of <code>libGL.so</code>, <code>libGLESv1_CM.so</code>, and <code>libGLESv2.so</code> should an application link to? Bad things may happen diff --git a/docs/openvg.html b/docs/openvg.html index cdf6b57e0f4..eff8c5828e2 100644 --- a/docs/openvg.html +++ b/docs/openvg.html @@ -26,36 +26,27 @@ Please refer to <a href="egl.html">Mesa EGL</a> for more information about EGL. <h2>Building the library</h2> <ol> -<li>Build Mesa3D with Gallium3D. Any build that builds Gallium3D libraries, EGL, and Gallium EGL drivers will suffice</li> -<li>cd src/gallium/state_trackers/vega; make</li> -<li>The last step will build libOpenVG library. You can add the libdir to LD_LIBRARY_PATH or install libOpenVG</li> +<li>Run <code>configure</code> with <code>--enable-openvg</code>. If you do +not need OpenGL, you can add <code>--disable-opengl</code> to save the +compilation time.</li> + +<li>Build and install Mesa as usual.</li> </ol> <h3>Sample build</h3> A sample build looks as follows: <pre> - $ ./configure --with-state-trackers=egl,vega --enable-gallium-intel + $ ./configure --disable-opengl --enable-openvg $ make $ make install </pre> -<h2>OpenVG Demos</h2> +<p>It will install <code>libOpenVG.so</code>, <code>libEGL.so</code>, and one +or more EGL drivers.</p> -<p> -To build the OpenVG demos: -</p> -<pre> - cd progs/openvg - make -</pre> -<p> -To run a demo: -</p> -<pre> - cd openvg/demos - ./lion -</pre> +<h2>OpenVG Demos</h2> +<p>OpenVG demos can be found in mesa/demos repository.</p> </body> </html> diff --git a/scons/gallium.py b/scons/gallium.py index b065b7bc49f..75e9b9e7fc3 100644 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -50,29 +50,34 @@ def symlink(target, source, env): def install(env, source, subdir): target_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build_dir'], subdir) - env.Install(target_dir, source) + return env.Install(target_dir, source) def install_program(env, source): - install(env, source, 'bin') + return install(env, source, 'bin') def install_shared_library(env, sources, version = ()): + targets = [] install_dir = os.path.join(env.Dir('#.').srcnode().abspath, env['build_dir']) version = tuple(map(str, version)) if env['SHLIBSUFFIX'] == '.dll': dlls = env.FindIxes(sources, 'SHLIBPREFIX', 'SHLIBSUFFIX') - install(env, dlls, 'bin') + targets += install(env, dlls, 'bin') libs = env.FindIxes(sources, 'LIBPREFIX', 'LIBSUFFIX') - install(env, libs, 'lib') + targets += install(env, libs, 'lib') else: for source in sources: target_dir = os.path.join(install_dir, 'lib') target_name = '.'.join((str(source),) + version) last = env.InstallAs(os.path.join(target_dir, target_name), source) + targets += last while len(version): version = version[:-1] target_name = '.'.join((str(source),) + version) action = SCons.Action.Action(symlink, "$TARGET -> $SOURCE") last = env.Command(os.path.join(target_dir, target_name), last, action) + targets += last + return targets + def createInstallMethods(env): env.AddMethod(install_program, 'InstallProgram') @@ -98,6 +103,41 @@ def num_jobs(): return 1 +def pkg_config_modules(env, name, modules): + '''Simple wrapper for pkg-config.''' + + env[name] = False + + if env['platform'] == 'windows': + return + + if not env.Detect('pkg-config'): + return + + if subprocess.call(["pkg-config", "--exists", ' '.join(modules)]) != 0: + return + + # Put -I and -L flags directly into the environment, as these don't affect + # the compilation of targets that do not use them + try: + env.ParseConfig('pkg-config --cflags-only-I --libs-only-L ' + ' '.join(modules)) + except OSError: + return + + # Other flags may affect the compilation of unrelated targets, so store + # them with a prefix, (e.g., XXX_CFLAGS, XXX_LIBS, etc) + try: + flags = env.ParseFlags('!pkg-config --cflags-only-other --libs-only-l --libs-only-other ' + ' '.join(modules)) + except OSError: + return + prefix = name.upper() + '_' + for flag_name, flag_value in flags.iteritems(): + env[prefix + flag_name] = flag_value + + env[name] = True + + + def generate(env): """Common environment generation code""" @@ -110,21 +150,27 @@ def generate(env): env['toolchain'] = 'wcesdk' env.Tool(env['toolchain']) - if env['platform'] == 'embedded': - # Allow overriding compiler from environment - if os.environ.has_key('CC'): - env['CC'] = os.environ['CC'] - # Update CCVERSION to match - pipe = SCons.Action._subproc(env, [env['CC'], '--version'], - stdin = 'devnull', - stderr = 'devnull', - stdout = subprocess.PIPE) - if pipe.wait() == 0: - line = pipe.stdout.readline() - match = re.search(r'[0-9]+(\.[0-9]+)+', line) - if match: - env['CCVERSION'] = match.group(0) - + # Allow override compiler and specify additional flags from environment + if os.environ.has_key('CC'): + env['CC'] = os.environ['CC'] + # Update CCVERSION to match + pipe = SCons.Action._subproc(env, [env['CC'], '--version'], + stdin = 'devnull', + stderr = 'devnull', + stdout = subprocess.PIPE) + if pipe.wait() == 0: + line = pipe.stdout.readline() + match = re.search(r'[0-9]+(\.[0-9]+)+', line) + if match: + env['CCVERSION'] = match.group(0) + if os.environ.has_key('CFLAGS'): + env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS']) + if os.environ.has_key('CXX'): + env['CXX'] = os.environ['CXX'] + if os.environ.has_key('CXXFLAGS'): + env['CXXFLAGS'] += SCons.Util.CLVar(os.environ['CXXFLAGS']) + if os.environ.has_key('LDFLAGS'): + env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS']) env['gcc'] = 'gcc' in os.path.basename(env['CC']).split('-') env['msvc'] = env['CC'] == 'cl' @@ -140,10 +186,16 @@ def generate(env): # Backwards compatability with the debug= profile= options if env['build'] == 'debug': if not env['debug']: - print 'scons: debug option is deprecated: use instead build=release' + print 'scons: warning: debug option is deprecated and will be removed eventually; use instead' + print + print ' scons build=release' + print env['build'] = 'release' if env['profile']: - print 'scons: profile option is deprecated: use instead build=profile' + print 'scons: warning: profile option is deprecated and will be removed eventually; use instead' + print + print ' scons build=profile' + print env['build'] = 'profile' if False: # Enforce SConscripts to use the new build variable @@ -184,6 +236,9 @@ def generate(env): if env.GetOption('num_jobs') <= 1: env.SetOption('num_jobs', num_jobs()) + env.Decider('MD5-timestamp') + env.SetOption('max_drift', 60) + # C preprocessor options cppdefines = [] if env['build'] in ('debug', 'checked'): @@ -499,9 +554,19 @@ def generate(env): # Default libs env.Append(LIBS = []) - # Load LLVM + # Load tools if env['llvm']: env.Tool('llvm') + env.Tool('udis86') + + pkg_config_modules(env, 'x11', ['x11', 'xext']) + pkg_config_modules(env, 'drm', ['libdrm']) + pkg_config_modules(env, 'drm_intel', ['libdrm_intel']) + pkg_config_modules(env, 'drm_radeon', ['libdrm_radeon']) + pkg_config_modules(env, 'xorg', ['xorg-server']) + pkg_config_modules(env, 'kms', ['libkms']) + + env['dri'] = env['x11'] and env['drm'] # Custom builders and methods env.Tool('custom') diff --git a/scons/llvm.py b/scons/llvm.py index 39fbb910b6d..1b033acb1b3 100644 --- a/scons/llvm.py +++ b/scons/llvm.py @@ -38,6 +38,8 @@ import SCons.Util def generate(env): + env['llvm'] = False + try: llvm_dir = os.environ['LLVM'] except KeyError: @@ -64,13 +66,13 @@ def generate(env): # XXX: There is no llvm-config on Windows, so assume a standard layout if llvm_dir is None: print 'scons: LLVM environment variable must be specified when building for windows' - env.Exit(1) + return # Try to determine the LLVM version from llvm/Config/config.h llvm_config = os.path.join(llvm_dir, 'include/llvm/Config/config.h') if not os.path.exists(llvm_config): print 'scons: could not find %s' % llvm_config - env.Exit(1) + return llvm_version_re = re.compile(r'^#define PACKAGE_VERSION "([^"]*)"') llvm_version = None for line in open(llvm_config, 'rt'): @@ -81,7 +83,7 @@ def generate(env): break if llvm_version is None: print 'scons: could not determine the LLVM version from %s' % llvm_config - env.Exit(1) + return env.Prepend(CPPPATH = [os.path.join(llvm_dir, 'include')]) env.AppendUnique(CPPDEFINES = [ @@ -133,7 +135,7 @@ def generate(env): else: if not env.Detect('llvm-config'): print 'scons: llvm-config script not found' % llvm_version - env.Exit(1) + return llvm_version = env.backtick('llvm-config --version').rstrip() llvm_version = distutils.version.LooseVersion(llvm_version) @@ -144,11 +146,12 @@ def generate(env): env.ParseConfig('llvm-config --ldflags') except OSError: print 'scons: llvm-config version %s failed' % llvm_version - env.Exit(1) + return else: env['LINK'] = env['CXX'] assert llvm_version is not None + env['llvm'] = True print 'scons: Found LLVM version %s' % llvm_version env['LLVM_VERSION'] = llvm_version diff --git a/scons/udis86.py b/scons/udis86.py index ba71d4eb0b8..bb91d3c35cf 100644 --- a/scons/udis86.py +++ b/scons/udis86.py @@ -31,8 +31,10 @@ def generate(env): conf = env.Configure() if conf.CheckHeader('udis86.h'): # and conf.CheckLib('udis86'): - env.Append(CPPDEFINES = [('HAVE_UDIS86', '1')]) + env['UDIS86'] = True env.Prepend(LIBS = ['udis86']) + else: + env['UDIS86'] = False conf.Finish() diff --git a/src/SConscript b/src/SConscript index c3e34be6f76..c42d9bff2d7 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1,19 +1,17 @@ Import('*') -if 'egl' in env['statetrackers']: - SConscript('mapi/vgapi/SConscript') - SConscript('egl/main/SConscript') +SConscript('mapi/vgapi/SConscript') -if 'mesa' in env['statetrackers']: - if platform == 'windows': - SConscript('talloc/SConscript') +if env['platform'] == 'windows': + SConscript('egl/main/SConscript') + SConscript('talloc/SConscript') - SConscript('glsl/SConscript') - SConscript('mapi/glapi/SConscript') - SConscript('mesa/SConscript') +SConscript('glsl/SConscript') +SConscript('mapi/glapi/SConscript') +SConscript('mesa/SConscript') - if platform != 'embedded': - SConscript('glut/glx/SConscript') +if env['platform'] != 'embedded': + SConscript('glut/glx/SConscript') SConscript('gallium/SConscript') diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 51834d74e3d..6db44c7aa87 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -750,7 +750,7 @@ dri2_create_screen(_EGLDisplay *disp) if (dri2_dpy->dri2->base.version >= 2) api_mask = dri2_dpy->dri2->getAPIMask(dri2_dpy->dri_screen); else - api_mask = __DRI_API_OPENGL; + api_mask = 1 << __DRI_API_OPENGL; disp->ClientAPIsMask = 0; if (api_mask & (1 <<__DRI_API_OPENGL)) @@ -916,9 +916,436 @@ const int i965_chip_ids[] = { 0x2e32, /* PCI_CHIP_G41_G */ }; +const int r100_chip_ids[] = { + 0x4C57, /* PCI_CHIP_RADEON_LW */ + 0x4C58, /* PCI_CHIP_RADEON_LX */ + 0x4C59, /* PCI_CHIP_RADEON_LY */ + 0x4C5A, /* PCI_CHIP_RADEON_LZ */ + 0x5144, /* PCI_CHIP_RADEON_QD */ + 0x5145, /* PCI_CHIP_RADEON_QE */ + 0x5146, /* PCI_CHIP_RADEON_QF */ + 0x5147, /* PCI_CHIP_RADEON_QG */ + 0x5159, /* PCI_CHIP_RADEON_QY */ + 0x515A, /* PCI_CHIP_RADEON_QZ */ + 0x5157, /* PCI_CHIP_RV200_QW */ + 0x5158, /* PCI_CHIP_RV200_QX */ + 0x515E, /* PCI_CHIP_RN50_515E */ + 0x5969, /* PCI_CHIP_RN50_5969 */ + 0x4136, /* PCI_CHIP_RS100_4136 */ + 0x4336, /* PCI_CHIP_RS100_4336 */ + 0x4137, /* PCI_CHIP_RS200_4137 */ + 0x4337, /* PCI_CHIP_RS200_4337 */ + 0x4237, /* PCI_CHIP_RS250_4237 */ + 0x4437, /* PCI_CHIP_RS250_4437 */ +}; + +const int r200_chip_ids[] = { + 0x5148, /* PCI_CHIP_R200_QH */ + 0x514C, /* PCI_CHIP_R200_QL */ + 0x514D, /* PCI_CHIP_R200_QM */ + 0x4242, /* PCI_CHIP_R200_BB */ + 0x4243, /* PCI_CHIP_R200_BC */ + 0x4966, /* PCI_CHIP_RV250_If */ + 0x4967, /* PCI_CHIP_RV250_Ig */ + 0x4C64, /* PCI_CHIP_RV250_Ld */ + 0x4C66, /* PCI_CHIP_RV250_Lf */ + 0x4C67, /* PCI_CHIP_RV250_Lg */ + 0x5960, /* PCI_CHIP_RV280_5960 */ + 0x5961, /* PCI_CHIP_RV280_5961 */ + 0x5962, /* PCI_CHIP_RV280_5962 */ + 0x5964, /* PCI_CHIP_RV280_5964 */ + 0x5965, /* PCI_CHIP_RV280_5965 */ + 0x5C61, /* PCI_CHIP_RV280_5C61 */ + 0x5C63, /* PCI_CHIP_RV280_5C63 */ + 0x5834, /* PCI_CHIP_RS300_5834 */ + 0x5835, /* PCI_CHIP_RS300_5835 */ + 0x7834, /* PCI_CHIP_RS350_7834 */ + 0x7835, /* PCI_CHIP_RS350_7835 */ +}; + +const int r300_chip_ids[] = { + 0x4144, /* PCI_CHIP_R300_AD */ + 0x4145, /* PCI_CHIP_R300_AE */ + 0x4146, /* PCI_CHIP_R300_AF */ + 0x4147, /* PCI_CHIP_R300_AG */ + 0x4E44, /* PCI_CHIP_R300_ND */ + 0x4E45, /* PCI_CHIP_R300_NE */ + 0x4E46, /* PCI_CHIP_R300_NF */ + 0x4E47, /* PCI_CHIP_R300_NG */ + 0x4E48, /* PCI_CHIP_R350_NH */ + 0x4E49, /* PCI_CHIP_R350_NI */ + 0x4E4B, /* PCI_CHIP_R350_NK */ + 0x4148, /* PCI_CHIP_R350_AH */ + 0x4149, /* PCI_CHIP_R350_AI */ + 0x414A, /* PCI_CHIP_R350_AJ */ + 0x414B, /* PCI_CHIP_R350_AK */ + 0x4E4A, /* PCI_CHIP_R360_NJ */ + 0x4150, /* PCI_CHIP_RV350_AP */ + 0x4151, /* PCI_CHIP_RV350_AQ */ + 0x4152, /* PCI_CHIP_RV350_AR */ + 0x4153, /* PCI_CHIP_RV350_AS */ + 0x4154, /* PCI_CHIP_RV350_AT */ + 0x4155, /* PCI_CHIP_RV350_AU */ + 0x4156, /* PCI_CHIP_RV350_AV */ + 0x4E50, /* PCI_CHIP_RV350_NP */ + 0x4E51, /* PCI_CHIP_RV350_NQ */ + 0x4E52, /* PCI_CHIP_RV350_NR */ + 0x4E53, /* PCI_CHIP_RV350_NS */ + 0x4E54, /* PCI_CHIP_RV350_NT */ + 0x4E56, /* PCI_CHIP_RV350_NV */ + 0x5460, /* PCI_CHIP_RV370_5460 */ + 0x5462, /* PCI_CHIP_RV370_5462 */ + 0x5464, /* PCI_CHIP_RV370_5464 */ + 0x5B60, /* PCI_CHIP_RV370_5B60 */ + 0x5B62, /* PCI_CHIP_RV370_5B62 */ + 0x5B63, /* PCI_CHIP_RV370_5B63 */ + 0x5B64, /* PCI_CHIP_RV370_5B64 */ + 0x5B65, /* PCI_CHIP_RV370_5B65 */ + 0x3150, /* PCI_CHIP_RV380_3150 */ + 0x3152, /* PCI_CHIP_RV380_3152 */ + 0x3154, /* PCI_CHIP_RV380_3154 */ + 0x3155, /* PCI_CHIP_RV380_3155 */ + 0x3E50, /* PCI_CHIP_RV380_3E50 */ + 0x3E54, /* PCI_CHIP_RV380_3E54 */ + 0x4A48, /* PCI_CHIP_R420_JH */ + 0x4A49, /* PCI_CHIP_R420_JI */ + 0x4A4A, /* PCI_CHIP_R420_JJ */ + 0x4A4B, /* PCI_CHIP_R420_JK */ + 0x4A4C, /* PCI_CHIP_R420_JL */ + 0x4A4D, /* PCI_CHIP_R420_JM */ + 0x4A4E, /* PCI_CHIP_R420_JN */ + 0x4A4F, /* PCI_CHIP_R420_JO */ + 0x4A50, /* PCI_CHIP_R420_JP */ + 0x4A54, /* PCI_CHIP_R420_JT */ + 0x5548, /* PCI_CHIP_R423_UH */ + 0x5549, /* PCI_CHIP_R423_UI */ + 0x554A, /* PCI_CHIP_R423_UJ */ + 0x554B, /* PCI_CHIP_R423_UK */ + 0x5550, /* PCI_CHIP_R423_5550 */ + 0x5551, /* PCI_CHIP_R423_UQ */ + 0x5552, /* PCI_CHIP_R423_UR */ + 0x5554, /* PCI_CHIP_R423_UT */ + 0x5D57, /* PCI_CHIP_R423_5D57 */ + 0x554C, /* PCI_CHIP_R430_554C */ + 0x554D, /* PCI_CHIP_R430_554D */ + 0x554E, /* PCI_CHIP_R430_554E */ + 0x554F, /* PCI_CHIP_R430_554F */ + 0x5D48, /* PCI_CHIP_R430_5D48 */ + 0x5D49, /* PCI_CHIP_R430_5D49 */ + 0x5D4A, /* PCI_CHIP_R430_5D4A */ + 0x5D4C, /* PCI_CHIP_R480_5D4C */ + 0x5D4D, /* PCI_CHIP_R480_5D4D */ + 0x5D4E, /* PCI_CHIP_R480_5D4E */ + 0x5D4F, /* PCI_CHIP_R480_5D4F */ + 0x5D50, /* PCI_CHIP_R480_5D50 */ + 0x5D52, /* PCI_CHIP_R480_5D52 */ + 0x4B49, /* PCI_CHIP_R481_4B49 */ + 0x4B4A, /* PCI_CHIP_R481_4B4A */ + 0x4B4B, /* PCI_CHIP_R481_4B4B */ + 0x4B4C, /* PCI_CHIP_R481_4B4C */ + 0x564A, /* PCI_CHIP_RV410_564A */ + 0x564B, /* PCI_CHIP_RV410_564B */ + 0x564F, /* PCI_CHIP_RV410_564F */ + 0x5652, /* PCI_CHIP_RV410_5652 */ + 0x5653, /* PCI_CHIP_RV410_5653 */ + 0x5657, /* PCI_CHIP_RV410_5657 */ + 0x5E48, /* PCI_CHIP_RV410_5E48 */ + 0x5E4A, /* PCI_CHIP_RV410_5E4A */ + 0x5E4B, /* PCI_CHIP_RV410_5E4B */ + 0x5E4C, /* PCI_CHIP_RV410_5E4C */ + 0x5E4D, /* PCI_CHIP_RV410_5E4D */ + 0x5E4F, /* PCI_CHIP_RV410_5E4F */ + 0x5A41, /* PCI_CHIP_RS400_5A41 */ + 0x5A42, /* PCI_CHIP_RS400_5A42 */ + 0x5A61, /* PCI_CHIP_RC410_5A61 */ + 0x5A62, /* PCI_CHIP_RC410_5A62 */ + 0x5954, /* PCI_CHIP_RS480_5954 */ + 0x5955, /* PCI_CHIP_RS480_5955 */ + 0x5974, /* PCI_CHIP_RS482_5974 */ + 0x5975, /* PCI_CHIP_RS482_5975 */ + 0x7100, /* PCI_CHIP_R520_7100 */ + 0x7101, /* PCI_CHIP_R520_7101 */ + 0x7102, /* PCI_CHIP_R520_7102 */ + 0x7103, /* PCI_CHIP_R520_7103 */ + 0x7104, /* PCI_CHIP_R520_7104 */ + 0x7105, /* PCI_CHIP_R520_7105 */ + 0x7106, /* PCI_CHIP_R520_7106 */ + 0x7108, /* PCI_CHIP_R520_7108 */ + 0x7109, /* PCI_CHIP_R520_7109 */ + 0x710A, /* PCI_CHIP_R520_710A */ + 0x710B, /* PCI_CHIP_R520_710B */ + 0x710C, /* PCI_CHIP_R520_710C */ + 0x710E, /* PCI_CHIP_R520_710E */ + 0x710F, /* PCI_CHIP_R520_710F */ + 0x7140, /* PCI_CHIP_RV515_7140 */ + 0x7141, /* PCI_CHIP_RV515_7141 */ + 0x7142, /* PCI_CHIP_RV515_7142 */ + 0x7143, /* PCI_CHIP_RV515_7143 */ + 0x7144, /* PCI_CHIP_RV515_7144 */ + 0x7145, /* PCI_CHIP_RV515_7145 */ + 0x7146, /* PCI_CHIP_RV515_7146 */ + 0x7147, /* PCI_CHIP_RV515_7147 */ + 0x7149, /* PCI_CHIP_RV515_7149 */ + 0x714A, /* PCI_CHIP_RV515_714A */ + 0x714B, /* PCI_CHIP_RV515_714B */ + 0x714C, /* PCI_CHIP_RV515_714C */ + 0x714D, /* PCI_CHIP_RV515_714D */ + 0x714E, /* PCI_CHIP_RV515_714E */ + 0x714F, /* PCI_CHIP_RV515_714F */ + 0x7151, /* PCI_CHIP_RV515_7151 */ + 0x7152, /* PCI_CHIP_RV515_7152 */ + 0x7153, /* PCI_CHIP_RV515_7153 */ + 0x715E, /* PCI_CHIP_RV515_715E */ + 0x715F, /* PCI_CHIP_RV515_715F */ + 0x7180, /* PCI_CHIP_RV515_7180 */ + 0x7181, /* PCI_CHIP_RV515_7181 */ + 0x7183, /* PCI_CHIP_RV515_7183 */ + 0x7186, /* PCI_CHIP_RV515_7186 */ + 0x7187, /* PCI_CHIP_RV515_7187 */ + 0x7188, /* PCI_CHIP_RV515_7188 */ + 0x718A, /* PCI_CHIP_RV515_718A */ + 0x718B, /* PCI_CHIP_RV515_718B */ + 0x718C, /* PCI_CHIP_RV515_718C */ + 0x718D, /* PCI_CHIP_RV515_718D */ + 0x718F, /* PCI_CHIP_RV515_718F */ + 0x7193, /* PCI_CHIP_RV515_7193 */ + 0x7196, /* PCI_CHIP_RV515_7196 */ + 0x719B, /* PCI_CHIP_RV515_719B */ + 0x719F, /* PCI_CHIP_RV515_719F */ + 0x7200, /* PCI_CHIP_RV515_7200 */ + 0x7210, /* PCI_CHIP_RV515_7210 */ + 0x7211, /* PCI_CHIP_RV515_7211 */ + 0x71C0, /* PCI_CHIP_RV530_71C0 */ + 0x71C1, /* PCI_CHIP_RV530_71C1 */ + 0x71C2, /* PCI_CHIP_RV530_71C2 */ + 0x71C3, /* PCI_CHIP_RV530_71C3 */ + 0x71C4, /* PCI_CHIP_RV530_71C4 */ + 0x71C5, /* PCI_CHIP_RV530_71C5 */ + 0x71C6, /* PCI_CHIP_RV530_71C6 */ + 0x71C7, /* PCI_CHIP_RV530_71C7 */ + 0x71CD, /* PCI_CHIP_RV530_71CD */ + 0x71CE, /* PCI_CHIP_RV530_71CE */ + 0x71D2, /* PCI_CHIP_RV530_71D2 */ + 0x71D4, /* PCI_CHIP_RV530_71D4 */ + 0x71D5, /* PCI_CHIP_RV530_71D5 */ + 0x71D6, /* PCI_CHIP_RV530_71D6 */ + 0x71DA, /* PCI_CHIP_RV530_71DA */ + 0x71DE, /* PCI_CHIP_RV530_71DE */ + 0x7281, /* PCI_CHIP_RV560_7281 */ + 0x7283, /* PCI_CHIP_RV560_7283 */ + 0x7287, /* PCI_CHIP_RV560_7287 */ + 0x7290, /* PCI_CHIP_RV560_7290 */ + 0x7291, /* PCI_CHIP_RV560_7291 */ + 0x7293, /* PCI_CHIP_RV560_7293 */ + 0x7297, /* PCI_CHIP_RV560_7297 */ + 0x7280, /* PCI_CHIP_RV570_7280 */ + 0x7288, /* PCI_CHIP_RV570_7288 */ + 0x7289, /* PCI_CHIP_RV570_7289 */ + 0x728B, /* PCI_CHIP_RV570_728B */ + 0x728C, /* PCI_CHIP_RV570_728C */ + 0x7240, /* PCI_CHIP_R580_7240 */ + 0x7243, /* PCI_CHIP_R580_7243 */ + 0x7244, /* PCI_CHIP_R580_7244 */ + 0x7245, /* PCI_CHIP_R580_7245 */ + 0x7246, /* PCI_CHIP_R580_7246 */ + 0x7247, /* PCI_CHIP_R580_7247 */ + 0x7248, /* PCI_CHIP_R580_7248 */ + 0x7249, /* PCI_CHIP_R580_7249 */ + 0x724A, /* PCI_CHIP_R580_724A */ + 0x724B, /* PCI_CHIP_R580_724B */ + 0x724C, /* PCI_CHIP_R580_724C */ + 0x724D, /* PCI_CHIP_R580_724D */ + 0x724E, /* PCI_CHIP_R580_724E */ + 0x724F, /* PCI_CHIP_R580_724F */ + 0x7284, /* PCI_CHIP_R580_7284 */ + 0x793F, /* PCI_CHIP_RS600_793F */ + 0x7941, /* PCI_CHIP_RS600_7941 */ + 0x7942, /* PCI_CHIP_RS600_7942 */ + 0x791E, /* PCI_CHIP_RS690_791E */ + 0x791F, /* PCI_CHIP_RS690_791F */ + 0x796C, /* PCI_CHIP_RS740_796C */ + 0x796D, /* PCI_CHIP_RS740_796D */ + 0x796E, /* PCI_CHIP_RS740_796E */ + 0x796F, /* PCI_CHIP_RS740_796F */ +}; + +const int r600_chip_ids[] = { + 0x9400, /* PCI_CHIP_R600_9400 */ + 0x9401, /* PCI_CHIP_R600_9401 */ + 0x9402, /* PCI_CHIP_R600_9402 */ + 0x9403, /* PCI_CHIP_R600_9403 */ + 0x9405, /* PCI_CHIP_R600_9405 */ + 0x940A, /* PCI_CHIP_R600_940A */ + 0x940B, /* PCI_CHIP_R600_940B */ + 0x940F, /* PCI_CHIP_R600_940F */ + 0x94C0, /* PCI_CHIP_RV610_94C0 */ + 0x94C1, /* PCI_CHIP_RV610_94C1 */ + 0x94C3, /* PCI_CHIP_RV610_94C3 */ + 0x94C4, /* PCI_CHIP_RV610_94C4 */ + 0x94C5, /* PCI_CHIP_RV610_94C5 */ + 0x94C6, /* PCI_CHIP_RV610_94C6 */ + 0x94C7, /* PCI_CHIP_RV610_94C7 */ + 0x94C8, /* PCI_CHIP_RV610_94C8 */ + 0x94C9, /* PCI_CHIP_RV610_94C9 */ + 0x94CB, /* PCI_CHIP_RV610_94CB */ + 0x94CC, /* PCI_CHIP_RV610_94CC */ + 0x94CD, /* PCI_CHIP_RV610_94CD */ + 0x9580, /* PCI_CHIP_RV630_9580 */ + 0x9581, /* PCI_CHIP_RV630_9581 */ + 0x9583, /* PCI_CHIP_RV630_9583 */ + 0x9586, /* PCI_CHIP_RV630_9586 */ + 0x9587, /* PCI_CHIP_RV630_9587 */ + 0x9588, /* PCI_CHIP_RV630_9588 */ + 0x9589, /* PCI_CHIP_RV630_9589 */ + 0x958A, /* PCI_CHIP_RV630_958A */ + 0x958B, /* PCI_CHIP_RV630_958B */ + 0x958C, /* PCI_CHIP_RV630_958C */ + 0x958D, /* PCI_CHIP_RV630_958D */ + 0x958E, /* PCI_CHIP_RV630_958E */ + 0x958F, /* PCI_CHIP_RV630_958F */ + 0x9500, /* PCI_CHIP_RV670_9500 */ + 0x9501, /* PCI_CHIP_RV670_9501 */ + 0x9504, /* PCI_CHIP_RV670_9504 */ + 0x9505, /* PCI_CHIP_RV670_9505 */ + 0x9506, /* PCI_CHIP_RV670_9506 */ + 0x9507, /* PCI_CHIP_RV670_9507 */ + 0x9508, /* PCI_CHIP_RV670_9508 */ + 0x9509, /* PCI_CHIP_RV670_9509 */ + 0x950F, /* PCI_CHIP_RV670_950F */ + 0x9511, /* PCI_CHIP_RV670_9511 */ + 0x9515, /* PCI_CHIP_RV670_9515 */ + 0x9517, /* PCI_CHIP_RV670_9517 */ + 0x9519, /* PCI_CHIP_RV670_9519 */ + 0x95C0, /* PCI_CHIP_RV620_95C0 */ + 0x95C2, /* PCI_CHIP_RV620_95C2 */ + 0x95C4, /* PCI_CHIP_RV620_95C4 */ + 0x95C5, /* PCI_CHIP_RV620_95C5 */ + 0x95C6, /* PCI_CHIP_RV620_95C6 */ + 0x95C7, /* PCI_CHIP_RV620_95C7 */ + 0x95C9, /* PCI_CHIP_RV620_95C9 */ + 0x95CC, /* PCI_CHIP_RV620_95CC */ + 0x95CD, /* PCI_CHIP_RV620_95CD */ + 0x95CE, /* PCI_CHIP_RV620_95CE */ + 0x95CF, /* PCI_CHIP_RV620_95CF */ + 0x9590, /* PCI_CHIP_RV635_9590 */ + 0x9591, /* PCI_CHIP_RV635_9591 */ + 0x9593, /* PCI_CHIP_RV635_9593 */ + 0x9595, /* PCI_CHIP_RV635_9595 */ + 0x9596, /* PCI_CHIP_RV635_9596 */ + 0x9597, /* PCI_CHIP_RV635_9597 */ + 0x9598, /* PCI_CHIP_RV635_9598 */ + 0x9599, /* PCI_CHIP_RV635_9599 */ + 0x959B, /* PCI_CHIP_RV635_959B */ + 0x9610, /* PCI_CHIP_RS780_9610 */ + 0x9611, /* PCI_CHIP_RS780_9611 */ + 0x9612, /* PCI_CHIP_RS780_9612 */ + 0x9613, /* PCI_CHIP_RS780_9613 */ + 0x9614, /* PCI_CHIP_RS780_9614 */ + 0x9615, /* PCI_CHIP_RS780_9615 */ + 0x9616, /* PCI_CHIP_RS780_9616 */ + 0x9710, /* PCI_CHIP_RS880_9710 */ + 0x9711, /* PCI_CHIP_RS880_9711 */ + 0x9712, /* PCI_CHIP_RS880_9712 */ + 0x9713, /* PCI_CHIP_RS880_9713 */ + 0x9714, /* PCI_CHIP_RS880_9714 */ + 0x9715, /* PCI_CHIP_RS880_9715 */ + 0x9440, /* PCI_CHIP_RV770_9440 */ + 0x9441, /* PCI_CHIP_RV770_9441 */ + 0x9442, /* PCI_CHIP_RV770_9442 */ + 0x9443, /* PCI_CHIP_RV770_9443 */ + 0x9444, /* PCI_CHIP_RV770_9444 */ + 0x9446, /* PCI_CHIP_RV770_9446 */ + 0x944A, /* PCI_CHIP_RV770_944A */ + 0x944B, /* PCI_CHIP_RV770_944B */ + 0x944C, /* PCI_CHIP_RV770_944C */ + 0x944E, /* PCI_CHIP_RV770_944E */ + 0x9450, /* PCI_CHIP_RV770_9450 */ + 0x9452, /* PCI_CHIP_RV770_9452 */ + 0x9456, /* PCI_CHIP_RV770_9456 */ + 0x945A, /* PCI_CHIP_RV770_945A */ + 0x945B, /* PCI_CHIP_RV770_945B */ + 0x945E, /* PCI_CHIP_RV770_945E */ + 0x9460, /* PCI_CHIP_RV790_9460 */ + 0x9462, /* PCI_CHIP_RV790_9462 */ + 0x946A, /* PCI_CHIP_RV770_946A */ + 0x946B, /* PCI_CHIP_RV770_946B */ + 0x947A, /* PCI_CHIP_RV770_947A */ + 0x947B, /* PCI_CHIP_RV770_947B */ + 0x9480, /* PCI_CHIP_RV730_9480 */ + 0x9487, /* PCI_CHIP_RV730_9487 */ + 0x9488, /* PCI_CHIP_RV730_9488 */ + 0x9489, /* PCI_CHIP_RV730_9489 */ + 0x948A, /* PCI_CHIP_RV730_948A */ + 0x948F, /* PCI_CHIP_RV730_948F */ + 0x9490, /* PCI_CHIP_RV730_9490 */ + 0x9491, /* PCI_CHIP_RV730_9491 */ + 0x9495, /* PCI_CHIP_RV730_9495 */ + 0x9498, /* PCI_CHIP_RV730_9498 */ + 0x949C, /* PCI_CHIP_RV730_949C */ + 0x949E, /* PCI_CHIP_RV730_949E */ + 0x949F, /* PCI_CHIP_RV730_949F */ + 0x9540, /* PCI_CHIP_RV710_9540 */ + 0x9541, /* PCI_CHIP_RV710_9541 */ + 0x9542, /* PCI_CHIP_RV710_9542 */ + 0x954E, /* PCI_CHIP_RV710_954E */ + 0x954F, /* PCI_CHIP_RV710_954F */ + 0x9552, /* PCI_CHIP_RV710_9552 */ + 0x9553, /* PCI_CHIP_RV710_9553 */ + 0x9555, /* PCI_CHIP_RV710_9555 */ + 0x9557, /* PCI_CHIP_RV710_9557 */ + 0x955F, /* PCI_CHIP_RV710_955F */ + 0x94A0, /* PCI_CHIP_RV740_94A0 */ + 0x94A1, /* PCI_CHIP_RV740_94A1 */ + 0x94A3, /* PCI_CHIP_RV740_94A3 */ + 0x94B1, /* PCI_CHIP_RV740_94B1 */ + 0x94B3, /* PCI_CHIP_RV740_94B3 */ + 0x94B4, /* PCI_CHIP_RV740_94B4 */ + 0x94B5, /* PCI_CHIP_RV740_94B5 */ + 0x94B9, /* PCI_CHIP_RV740_94B9 */ + 0x68E0, /* PCI_CHIP_CEDAR_68E0 */ + 0x68E1, /* PCI_CHIP_CEDAR_68E1 */ + 0x68E4, /* PCI_CHIP_CEDAR_68E4 */ + 0x68E5, /* PCI_CHIP_CEDAR_68E5 */ + 0x68E8, /* PCI_CHIP_CEDAR_68E8 */ + 0x68E9, /* PCI_CHIP_CEDAR_68E9 */ + 0x68F1, /* PCI_CHIP_CEDAR_68F1 */ + 0x68F8, /* PCI_CHIP_CEDAR_68F8 */ + 0x68F9, /* PCI_CHIP_CEDAR_68F9 */ + 0x68FE, /* PCI_CHIP_CEDAR_68FE */ + 0x68C0, /* PCI_CHIP_REDWOOD_68C0 */ + 0x68C1, /* PCI_CHIP_REDWOOD_68C1 */ + 0x68C8, /* PCI_CHIP_REDWOOD_68C8 */ + 0x68C9, /* PCI_CHIP_REDWOOD_68C9 */ + 0x68D8, /* PCI_CHIP_REDWOOD_68D8 */ + 0x68D9, /* PCI_CHIP_REDWOOD_68D9 */ + 0x68DA, /* PCI_CHIP_REDWOOD_68DA */ + 0x68DE, /* PCI_CHIP_REDWOOD_68DE */ + 0x68A0, /* PCI_CHIP_JUNIPER_68A0 */ + 0x68A1, /* PCI_CHIP_JUNIPER_68A1 */ + 0x68A8, /* PCI_CHIP_JUNIPER_68A8 */ + 0x68A9, /* PCI_CHIP_JUNIPER_68A9 */ + 0x68B0, /* PCI_CHIP_JUNIPER_68B0 */ + 0x68B8, /* PCI_CHIP_JUNIPER_68B8 */ + 0x68B9, /* PCI_CHIP_JUNIPER_68B9 */ + 0x68BE, /* PCI_CHIP_JUNIPER_68BE */ + 0x6880, /* PCI_CHIP_CYPRESS_6880 */ + 0x6888, /* PCI_CHIP_CYPRESS_6888 */ + 0x6889, /* PCI_CHIP_CYPRESS_6889 */ + 0x688A, /* PCI_CHIP_CYPRESS_688A */ + 0x6898, /* PCI_CHIP_CYPRESS_6898 */ + 0x6899, /* PCI_CHIP_CYPRESS_6899 */ + 0x689E, /* PCI_CHIP_CYPRESS_689E */ + 0x689C, /* PCI_CHIP_HEMLOCK_689C */ + 0x689D, /* PCI_CHIP_HEMLOCK_689D */ +}; + const struct dri2_driver_map driver_map[] = { { 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) }, { 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) }, + { 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) }, + { 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) }, + { 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) }, + { 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids) }, }; static char * diff --git a/src/egl/main/SConscript b/src/egl/main/SConscript index 8ade85b3572..f001b81600f 100644 --- a/src/egl/main/SConscript +++ b/src/egl/main/SConscript @@ -4,49 +4,49 @@ Import('*') -if env['platform'] != 'winddk': - - env = env.Clone() - - env.Append(CPPDEFINES = [ - '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WINDOWS', - '_EGL_DRIVER_SEARCH_DIR=\\"\\"', - '_EGL_OS_WINDOWS', - '_EGL_GET_CORE_ADDRESSES', - 'KHRONOS_DLL_EXPORTS', - ]) - - env.Append(CPPPATH = [ - '#/include', - ]) - - egl_sources = [ - 'eglapi.c', - 'eglarray.c', - 'eglconfig.c', - 'eglcontext.c', - 'eglcurrent.c', - 'egldisplay.c', - 'egldriver.c', - 'eglfallbacks.c', - 'eglglobals.c', - 'eglimage.c', - 'egllog.c', - 'eglmisc.c', - 'eglmode.c', - 'eglscreen.c', - 'eglstring.c', - 'eglsurface.c', - 'eglsync.c', - ] - - egl = env.SharedLibrary( - target = 'libEGL', - source = egl_sources + ['egl.def'], - ) - - env.InstallSharedLibrary(egl, version=(1, 4, 0)) - - egl = [env.FindIxes(egl, 'LIBPREFIX', 'LIBSUFFIX')] - - Export('egl') +env = env.Clone() + +env.Append(CPPDEFINES = [ + '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WINDOWS', + '_EGL_DRIVER_SEARCH_DIR=\\"\\"', + '_EGL_OS_WINDOWS', + '_EGL_GET_CORE_ADDRESSES', + 'KHRONOS_DLL_EXPORTS', +]) + +env.Append(CPPPATH = [ + '#/include', +]) + +egl_sources = [ + 'eglapi.c', + 'eglarray.c', + 'eglconfig.c', + 'eglcontext.c', + 'eglcurrent.c', + 'egldisplay.c', + 'egldriver.c', + 'eglfallbacks.c', + 'eglglobals.c', + 'eglimage.c', + 'egllog.c', + 'eglmisc.c', + 'eglmode.c', + 'eglscreen.c', + 'eglstring.c', + 'eglsurface.c', + 'eglsync.c', +] + +egl = env.SharedLibrary( + target = 'libEGL', + source = egl_sources + ['egl.def'], +) + +installed_egl = env.InstallSharedLibrary(egl, version=(1, 4, 0)) + +env.Alias('egl', installed_egl) + +egl = [env.FindIxes(egl, 'LIBPREFIX', 'LIBSUFFIX')] + +Export('egl') diff --git a/src/egl/main/eglarray.h b/src/egl/main/eglarray.h index fe92efc11ee..c8309fb066a 100644 --- a/src/egl/main/eglarray.h +++ b/src/egl/main/eglarray.h @@ -37,7 +37,7 @@ void * _eglFindArray(_EGLArray *array, void *elem); -void ** +PUBLIC void ** _eglFilterArray(_EGLArray *array, EGLint *size, _EGLArrayForEach filter, void *filter_data); diff --git a/src/egl/main/eglconfig.h b/src/egl/main/eglconfig.h index 3457670bfa5..2169960fd1d 100644 --- a/src/egl/main/eglconfig.h +++ b/src/egl/main/eglconfig.h @@ -3,6 +3,7 @@ #include <assert.h> +#include <stddef.h> #include "egltypedefs.h" diff --git a/src/egl/main/eglcurrent.c b/src/egl/main/eglcurrent.c index c0e8c119a94..cbca9ff2c2f 100644 --- a/src/egl/main/eglcurrent.c +++ b/src/egl/main/eglcurrent.c @@ -14,33 +14,7 @@ static _EGLThreadInfo dummy_thread = _EGL_THREAD_INFO_INITIALIZER; -#ifdef GLX_USE_TLS -static __thread const _EGLThreadInfo *_egl_TSD - __attribute__ ((tls_model("initial-exec"))); - -static INLINE void _eglSetTSD(const _EGLThreadInfo *t) -{ - _egl_TSD = t; -} - -static INLINE _EGLThreadInfo *_eglGetTSD(void) -{ - return (_EGLThreadInfo *) _egl_TSD; -} - -static INLINE void _eglFiniTSD(void) -{ -} - -static INLINE EGLBoolean _eglInitTSD(void (*dtor)(_EGLThreadInfo *)) -{ - /* TODO destroy TSD */ - (void) dtor; - (void) _eglFiniTSD; - return EGL_TRUE; -} - -#elif PTHREADS +#if PTHREADS #include <pthread.h> static _EGL_DECLARE_MUTEX(_egl_TSDMutex); @@ -48,14 +22,26 @@ static EGLBoolean _egl_TSDInitialized; static pthread_key_t _egl_TSD; static void (*_egl_FreeTSD)(_EGLThreadInfo *); +#ifdef GLX_USE_TLS +static __thread const _EGLThreadInfo *_egl_TLS + __attribute__ ((tls_model("initial-exec"))); +#endif + static INLINE void _eglSetTSD(const _EGLThreadInfo *t) { pthread_setspecific(_egl_TSD, (const void *) t); +#ifdef GLX_USE_TLS + _egl_TLS = t; +#endif } static INLINE _EGLThreadInfo *_eglGetTSD(void) { +#ifdef GLX_USE_TLS + return (_EGLThreadInfo *) _egl_TLS; +#else return (_EGLThreadInfo *) pthread_getspecific(_egl_TSD); +#endif } static INLINE void _eglFiniTSD(void) diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index 2359253ff13..ff0011c4b15 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -395,35 +395,62 @@ _eglPreloadForEach(const char *search_path, static const char * _eglGetSearchPath(void) { - static const char *search_path; + static char search_path[1024]; #if defined(_EGL_OS_UNIX) || defined(_EGL_OS_WINDOWS) - if (!search_path) { - static char buffer[1024]; - const char *p; + if (search_path[0] == '\0') { + char *buf = search_path; + size_t len = sizeof(search_path); + EGLBoolean use_env; + char dir_sep; int ret; - p = getenv("EGL_DRIVERS_PATH"); #if defined(_EGL_OS_UNIX) - if (p && (geteuid() != getuid() || getegid() != getgid())) { + use_env = (geteuid() == getuid() && getegid() == getgid()); + dir_sep = '/'; +#else + use_env = EGL_TRUE; + dir_sep = '\\'; +#endif + + if (use_env) { + char *p; + + /* extract the dirname from EGL_DRIVER */ + p = getenv("EGL_DRIVER"); + if (p && strchr(p, dir_sep)) { + ret = _eglsnprintf(buf, len, "%s", p); + if (ret > 0 && ret < len) { + p = strrchr(buf, dir_sep); + *p++ = ':'; + + len -= p - buf; + buf = p; + } + } + + /* append EGL_DRIVERS_PATH */ + p = getenv("EGL_DRIVERS_PATH"); + if (p) { + ret = _eglsnprintf(buf, len, "%s:", p); + if (ret > 0 && ret < len) { + buf += ret; + len -= ret; + } + } + } + else { _eglLog(_EGL_DEBUG, "ignore EGL_DRIVERS_PATH for setuid/setgid binaries"); - p = NULL; } -#endif /* _EGL_OS_UNIX */ - if (p) { - ret = _eglsnprintf(buffer, sizeof(buffer), - "%s:%s", p, _EGL_DRIVER_SEARCH_DIR); - if (ret > 0 && ret < sizeof(buffer)) - search_path = buffer; - } + ret = _eglsnprintf(buf, len, "%s", _EGL_DRIVER_SEARCH_DIR); + if (ret < 0 || ret >= len) + search_path[0] = '\0'; + + _eglLog(_EGL_DEBUG, "EGL search path is %s", search_path); } - if (!search_path) - search_path = _EGL_DRIVER_SEARCH_DIR; -#else - search_path = ""; -#endif +#endif /* defined(_EGL_OS_UNIX) || defined(_EGL_OS_WINDOWS) */ return search_path; } diff --git a/src/egl/main/egldriver.h b/src/egl/main/egldriver.h index 1ca7c6cd936..1a0aaad1f8c 100644 --- a/src/egl/main/egldriver.h +++ b/src/egl/main/egldriver.h @@ -4,7 +4,7 @@ #include "egltypedefs.h" #include "eglapi.h" - +#include <stddef.h> /** * Define an inline driver typecast function. diff --git a/src/egl/main/egllog.c b/src/egl/main/egllog.c index 8f3bae2243d..12c55f901a5 100644 --- a/src/egl/main/egllog.c +++ b/src/egl/main/egllog.c @@ -151,6 +151,7 @@ _eglLog(EGLint level, const char *fmtStr, ...) { va_list args; char msg[MAXSTRING]; + int ret; /* one-time initialization; a little race here is fine */ if (!logging.initialized) @@ -162,7 +163,9 @@ _eglLog(EGLint level, const char *fmtStr, ...) if (logging.logger) { va_start(args, fmtStr); - vsnprintf(msg, MAXSTRING, fmtStr, args); + ret = vsnprintf(msg, MAXSTRING, fmtStr, args); + if (ret < 0 || ret >= MAXSTRING) + strcpy(msg, "<message truncated>"); va_end(args); logging.logger(level, msg); diff --git a/src/gallium/SConscript b/src/gallium/SConscript index 3c171552bed..0efab834f66 100644 --- a/src/gallium/SConscript +++ b/src/gallium/SConscript @@ -1,30 +1,135 @@ -import os +Import('env') -Import('*') +# +# Auxiliary modules +# SConscript('auxiliary/SConscript') -for driver in env['drivers']: - SConscript(os.path.join('drivers', driver, 'SConscript')) +# +# Drivers +# + +SConscript([ + 'drivers/failover/SConscript', + 'drivers/galahad/SConscript', + 'drivers/identity/SConscript', + 'drivers/llvmpipe/SConscript', + 'drivers/rbug/SConscript', + 'drivers/softpipe/SConscript', + 'drivers/svga/SConscript', + 'drivers/trace/SConscript', +]) + +if not env['msvc']: + # These drivers do not build on MSVC compilers + SConscript([ + 'drivers/i915/SConscript', + 'drivers/i965/SConscript', + 'drivers/r300/SConscript', + ]) + +if env['drm']: + # These drivers depend on drm headers + if env['drm_radeon']: + SConscript([ + 'drivers/r600/SConscript', + ]) + # XXX: nouveau drivers have a tight dependency on libdrm, so to enable + # we need some version logic before we enable them. Also, ATM there is + # no nouveau target in scons + # if env['drm_nouveau']: + # SConscript([ + # 'drivers/nouveau/SConscript', + # 'drivers/nv50/SConscript', + # 'drivers/nvfx/SConscript', + # ]) + +# +# State trackers +# # Needed by some state trackers SConscript('winsys/sw/null/SConscript') SConscript('state_trackers/python/SConscript') -if platform != 'embedded': - SConscript('state_trackers/glx/xlib/SConscript') - SConscript('state_trackers/dri/SConscript') - SConscript('state_trackers/xorg/SConscript') - SConscript('state_trackers/egl/SConscript') - SConscript('state_trackers/vega/SConscript') +if env['platform'] != 'embedded': + SConscript('state_trackers/vega/SConscript') + + if env['x11']: + SConscript('state_trackers/glx/xlib/SConscript') + + if env['dri']: + SConscript('state_trackers/dri/SConscript') + + if env['dri'] and env['xorg']: + SConscript('state_trackers/xorg/SConscript') + +if env['platform'] == 'windows': + SConscript([ + 'state_trackers/egl/SConscript', + 'state_trackers/wgl/SConscript', + ]) -if platform == 'windows': - SConscript('state_trackers/wgl/SConscript') +# +# Winsys +# SConscript('winsys/SConscript') -SConscript('targets/SConscript') +# +# Targets +# + +SConscript([ + 'targets/graw-null/SConscript', +]) + +if env['x11']: + SConscript([ + 'targets/graw-xlib/SConscript', + 'targets/libgl-xlib/SConscript', + ]) + +if env['platform'] == 'windows': + SConscript([ + 'targets/graw-gdi/SConscript', + 'targets/libgl-gdi/SConscript', + #'egl-gdi/SConscript', + ]) + +if env['dri']: + SConscript([ + 'targets/SConscript.dri', + 'targets/dri-swrast/SConscript', + 'targets/dri-vmwgfx/SConscript', + #'targets/dri-nouveau/SConscript', + ]) + if env['drm_intel']: + SConscript([ + 'targets/dri-i915/SConscript', + 'targets/dri-i965/SConscript', + ]) + if env['drm_radeon']: + SConscript([ + 'targets/dri-r300/SConscript', + 'targets/dri-r600/SConscript', + ]) + +if env['xorg'] and env['drm']: + SConscript([ + #'targets/xorg-i915/SConscript', + #'targets/xorg-i965/SConscript', + #'targets/xorg-nouveau/SConscript', + #'targets/xorg-radeon/SConscript', + 'targets/xorg-vmwgfx/SConscript', + ]) + + +# +# Unit tests & tools +# -if platform != 'embedded': - SConscript('tests/unit/SConscript') - SConscript('tests/graw/SConscript') +if env['platform'] != 'embedded': + SConscript('tests/unit/SConscript') + SConscript('tests/graw/SConscript') diff --git a/src/gallium/auxiliary/SConscript b/src/gallium/auxiliary/SConscript index f22c8b96123..4b9059d9aa3 100644 --- a/src/gallium/auxiliary/SConscript +++ b/src/gallium/auxiliary/SConscript @@ -7,8 +7,6 @@ env.Append(CPPPATH = [ 'util', ]) -env.Tool('udis86') - env.CodeGenerate( target = 'indices/u_indices_gen.c', script = 'indices/u_indices_gen.py', @@ -200,39 +198,42 @@ source = [ ] if env['llvm']: + if env['UDIS86']: + env.Append(CPPDEFINES = [('HAVE_UDIS86', '1')]) + source += [ - 'gallivm/lp_bld_arit.c', - 'gallivm/lp_bld_assert.c', - 'gallivm/lp_bld_bitarit.c', - 'gallivm/lp_bld_const.c', - 'gallivm/lp_bld_conv.c', - 'gallivm/lp_bld_debug.c', - 'gallivm/lp_bld_flow.c', - 'gallivm/lp_bld_format_aos.c', - 'gallivm/lp_bld_format_soa.c', - 'gallivm/lp_bld_format_yuv.c', - 'gallivm/lp_bld_gather.c', - 'gallivm/lp_bld_init.c', - 'gallivm/lp_bld_intr.c', - 'gallivm/lp_bld_logic.c', - 'gallivm/lp_bld_misc.cpp', - 'gallivm/lp_bld_pack.c', - 'gallivm/lp_bld_printf.c', - 'gallivm/lp_bld_quad.c', - 'gallivm/lp_bld_sample.c', - 'gallivm/lp_bld_sample_aos.c', - 'gallivm/lp_bld_sample_soa.c', - 'gallivm/lp_bld_struct.c', - 'gallivm/lp_bld_swizzle.c', - 'gallivm/lp_bld_tgsi_aos.c', - 'gallivm/lp_bld_tgsi_info.c', - 'gallivm/lp_bld_tgsi_soa.c', - 'gallivm/lp_bld_type.c', - 'draw/draw_llvm.c', - 'draw/draw_llvm_sample.c', - 'draw/draw_llvm_translate.c', - 'draw/draw_pt_fetch_shade_pipeline_llvm.c', - 'draw/draw_vs_llvm.c' + 'gallivm/lp_bld_arit.c', + 'gallivm/lp_bld_assert.c', + 'gallivm/lp_bld_bitarit.c', + 'gallivm/lp_bld_const.c', + 'gallivm/lp_bld_conv.c', + 'gallivm/lp_bld_debug.c', + 'gallivm/lp_bld_flow.c', + 'gallivm/lp_bld_format_aos.c', + 'gallivm/lp_bld_format_soa.c', + 'gallivm/lp_bld_format_yuv.c', + 'gallivm/lp_bld_gather.c', + 'gallivm/lp_bld_init.c', + 'gallivm/lp_bld_intr.c', + 'gallivm/lp_bld_logic.c', + 'gallivm/lp_bld_misc.cpp', + 'gallivm/lp_bld_pack.c', + 'gallivm/lp_bld_printf.c', + 'gallivm/lp_bld_quad.c', + 'gallivm/lp_bld_sample.c', + 'gallivm/lp_bld_sample_aos.c', + 'gallivm/lp_bld_sample_soa.c', + 'gallivm/lp_bld_struct.c', + 'gallivm/lp_bld_swizzle.c', + 'gallivm/lp_bld_tgsi_aos.c', + 'gallivm/lp_bld_tgsi_info.c', + 'gallivm/lp_bld_tgsi_soa.c', + 'gallivm/lp_bld_type.c', + 'draw/draw_llvm.c', + 'draw/draw_llvm_sample.c', + 'draw/draw_llvm_translate.c', + 'draw/draw_pt_fetch_shade_pipeline_llvm.c', + 'draw/draw_vs_llvm.c' ] gallium = env.ConvenienceLibrary( @@ -240,4 +241,6 @@ gallium = env.ConvenienceLibrary( source = source, ) +env.Alias('gallium', gallium) + Export('gallium') diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c index 140e596f994..2b5f01cda74 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.c +++ b/src/gallium/auxiliary/draw/draw_llvm.c @@ -1164,11 +1164,6 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) sampler->destroy(sampler); -#ifdef PIPE_ARCH_X86 - /* Avoid corrupting the FPU stack on 32bit OSes. */ - lp_build_intrinsic(builder, "llvm.x86.mmx.emms", LLVMVoidType(), NULL, 0); -#endif - ret = LLVMBuildLoad(builder, ret_ptr,""); LLVMBuildRet(builder, ret); @@ -1378,11 +1373,6 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *varian sampler->destroy(sampler); -#ifdef PIPE_ARCH_X86 - /* Avoid corrupting the FPU stack on 32bit OSes. */ - lp_build_intrinsic(builder, "llvm.x86.mmx.emms", LLVMVoidType(), NULL, 0); -#endif - ret = LLVMBuildLoad(builder, ret_ptr,""); LLVMBuildRet(builder, ret); diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c index 5598ca5c489..0b9a6f745fb 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_init.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c @@ -145,13 +145,7 @@ lp_build_init(void) LLVMAddCFGSimplificationPass(lp_build_pass); LLVMAddPromoteMemoryToRegisterPass(lp_build_pass); LLVMAddConstantPropagationPass(lp_build_pass); - if(util_cpu_caps.has_sse4_1) { - /* FIXME: There is a bug in this pass, whereby the combination of fptosi - * and sitofp (necessary for trunc/floor/ceil/round implementation) - * somehow becomes invalid code. - */ - LLVMAddInstructionCombiningPass(lp_build_pass); - } + LLVMAddInstructionCombiningPass(lp_build_pass); LLVMAddGVNPass(lp_build_pass); } else { /* We need at least this pass to prevent the backends to fail in diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c index 3c318cc8c80..7f0f058c222 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c @@ -58,6 +58,7 @@ #include "lp_bld_tgsi.h" #include "lp_bld_limits.h" #include "lp_bld_debug.h" +#include "lp_bld_printf.h" #define FOR_EACH_CHANNEL( CHAN )\ @@ -119,9 +120,12 @@ struct lp_build_tgsi_soa_context { struct lp_build_context base; - /* Builder for integer masks and indices */ + /* Builder for vector integer masks and indices */ struct lp_build_context uint_bld; + /* Builder for scalar elements of shader's data type (float) */ + struct lp_build_context elem_bld; + LLVMValueRef consts_ptr; const LLVMValueRef *pos; const LLVMValueRef (*inputs)[NUM_CHANNELS]; @@ -140,6 +144,18 @@ struct lp_build_tgsi_soa_context */ LLVMValueRef temps_array; + /* We allocate/use this array of output if (1 << TGSI_FILE_OUTPUT) is + * set in the indirect_files field. + * The outputs[] array above is unused then. + */ + LLVMValueRef outputs_array; + + /* We allocate/use this array of inputs if (1 << TGSI_FILE_INPUT) is + * set in the indirect_files field. + * The inputs[] array above is unused then. + */ + LLVMValueRef inputs_array; + const struct tgsi_shader_info *info; /** bitmask indicating which register files are accessed indirectly */ unsigned indirect_files; @@ -435,6 +451,26 @@ get_temp_ptr(struct lp_build_tgsi_soa_context *bld, } } +/** + * Return pointer to a output register channel (src or dest). + * Note that indirect addressing cannot be handled here. + * \param index which output register + * \param chan which channel of the output register. + */ +static LLVMValueRef +get_output_ptr(struct lp_build_tgsi_soa_context *bld, + unsigned index, + unsigned chan) +{ + assert(chan < 4); + if (bld->indirect_files & (1 << TGSI_FILE_OUTPUT)) { + LLVMValueRef lindex = lp_build_const_int32(index * 4 + chan); + return LLVMBuildGEP(bld->base.builder, bld->outputs_array, &lindex, 1, ""); + } + else { + return bld->outputs[index][chan]; + } +} /** * Gather vector. @@ -457,7 +493,7 @@ build_gather(struct lp_build_tgsi_soa_context *bld, LLVMValueRef index = LLVMBuildExtractElement(bld->base.builder, indexes, ii, ""); LLVMValueRef scalar_ptr = LLVMBuildGEP(bld->base.builder, base_ptr, - &index, 1, ""); + &index, 1, "gather_ptr"); LLVMValueRef scalar = LLVMBuildLoad(bld->base.builder, scalar_ptr, ""); res = LLVMBuildInsertElement(bld->base.builder, res, scalar, ii, ""); @@ -468,8 +504,60 @@ build_gather(struct lp_build_tgsi_soa_context *bld, /** + * Scatter/store vector. + */ +static void +emit_mask_scatter(struct lp_build_tgsi_soa_context *bld, + LLVMValueRef base_ptr, + LLVMValueRef indexes, + LLVMValueRef values, + struct lp_exec_mask *mask, + LLVMValueRef pred) +{ + LLVMBuilderRef builder = bld->base.builder; + unsigned i; + + /* Mix the predicate and execution mask */ + if (mask->has_mask) { + if (pred) { + pred = LLVMBuildAnd(mask->bld->builder, pred, mask->exec_mask, ""); + } + else { + pred = mask->exec_mask; + } + } + + /* + * Loop over elements of index_vec, store scalar value. + */ + for (i = 0; i < bld->base.type.length; i++) { + LLVMValueRef ii = LLVMConstInt(LLVMInt32Type(), i, 0); + LLVMValueRef index = LLVMBuildExtractElement(builder, indexes, ii, ""); + LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, base_ptr, &index, 1, "scatter_ptr"); + LLVMValueRef val = LLVMBuildExtractElement(builder, values, ii, "scatter_val"); + LLVMValueRef scalar_pred = pred ? + LLVMBuildExtractElement(builder, pred, ii, "scatter_pred") : NULL; + + if (0) + lp_build_printf(builder, "scatter %d: val %f at %d %p\n", + ii, val, index, scalar_ptr); + + if (scalar_pred) { + LLVMValueRef real_val, dst_val; + dst_val = LLVMBuildLoad(builder, scalar_ptr, ""); + real_val = lp_build_select(&bld->elem_bld, scalar_pred, val, dst_val); + LLVMBuildStore(builder, real_val, scalar_ptr); + } + else { + LLVMBuildStore(builder, val, scalar_ptr); + } + } +} + + +/** * Read the current value of the ADDR register, convert the floats to - * ints, multiply by four and return the vector of offsets. + * ints, add the base index and return the vector of offsets. * The offsets will be used to index into the constant buffer or * temporary register file. */ @@ -577,7 +665,38 @@ emit_fetch( break; case TGSI_FILE_INPUT: - res = bld->inputs[reg->Register.Index][swizzle]; + if (reg->Register.Indirect) { + LLVMValueRef swizzle_vec = + lp_build_const_int_vec(uint_bld->type, swizzle); + LLVMValueRef length_vec = + lp_build_const_int_vec(uint_bld->type, bld->base.type.length); + LLVMValueRef index_vec; /* index into the const buffer */ + LLVMValueRef inputs_array; + LLVMTypeRef float4_ptr_type; + + /* index_vec = (indirect_index * 4 + swizzle) * length */ + index_vec = lp_build_shl_imm(uint_bld, indirect_index, 2); + index_vec = lp_build_add(uint_bld, index_vec, swizzle_vec); + index_vec = lp_build_mul(uint_bld, index_vec, length_vec); + + /* cast inputs_array pointer to float* */ + float4_ptr_type = LLVMPointerType(LLVMFloatType(), 0); + inputs_array = LLVMBuildBitCast(uint_bld->builder, bld->inputs_array, + float4_ptr_type, ""); + + /* Gather values from the temporary register array */ + res = build_gather(bld, inputs_array, index_vec); + } else { + if (bld->indirect_files & (1 << TGSI_FILE_INPUT)) { + LLVMValueRef lindex = lp_build_const_int32(reg->Register.Index * 4 + swizzle); + LLVMValueRef input_ptr = LLVMBuildGEP(bld->base.builder, + bld->inputs_array, &lindex, 1, ""); + res = LLVMBuildLoad(bld->base.builder, input_ptr, ""); + } + else { + res = bld->inputs[reg->Register.Index][swizzle]; + } + } assert(res); break; @@ -748,6 +867,7 @@ emit_store( LLVMValueRef value) { const struct tgsi_full_dst_register *reg = &inst->Dst[index]; + struct lp_build_context *uint_bld = &bld->uint_bld; LLVMValueRef indirect_index = NULL; switch( inst->Instruction.Saturate ) { @@ -779,15 +899,81 @@ emit_store( switch( reg->Register.File ) { case TGSI_FILE_OUTPUT: - lp_exec_mask_store(&bld->exec_mask, pred, value, - bld->outputs[reg->Register.Index][chan_index]); + if (reg->Register.Indirect) { + LLVMBuilderRef builder = bld->base.builder; + LLVMValueRef chan_vec = + lp_build_const_int_vec(uint_bld->type, chan_index); + LLVMValueRef length_vec = + lp_build_const_int_vec(uint_bld->type, bld->base.type.length); + LLVMValueRef index_vec; /* indexes into the temp registers */ + LLVMValueRef outputs_array; + LLVMValueRef pixel_offsets; + LLVMTypeRef float_ptr_type; + int i; + + /* build pixel offset vector: {0, 1, 2, 3, ...} */ + pixel_offsets = uint_bld->undef; + for (i = 0; i < bld->base.type.length; i++) { + LLVMValueRef ii = lp_build_const_int32(i); + pixel_offsets = LLVMBuildInsertElement(builder, pixel_offsets, + ii, ii, ""); + } + + /* index_vec = (indirect_index * 4 + chan_index) * length + offsets */ + index_vec = lp_build_shl_imm(uint_bld, indirect_index, 2); + index_vec = lp_build_add(uint_bld, index_vec, chan_vec); + index_vec = lp_build_mul(uint_bld, index_vec, length_vec); + index_vec = lp_build_add(uint_bld, index_vec, pixel_offsets); + + float_ptr_type = LLVMPointerType(LLVMFloatType(), 0); + outputs_array = LLVMBuildBitCast(builder, bld->outputs_array, + float_ptr_type, ""); + + /* Scatter store values into temp registers */ + emit_mask_scatter(bld, outputs_array, index_vec, value, + &bld->exec_mask, pred); + } + else { + LLVMValueRef out_ptr = get_output_ptr(bld, reg->Register.Index, + chan_index); + lp_exec_mask_store(&bld->exec_mask, pred, value, out_ptr); + } break; case TGSI_FILE_TEMPORARY: if (reg->Register.Indirect) { - /* XXX not done yet */ - debug_printf("WARNING: LLVM scatter store of temp regs" - " not implemented\n"); + LLVMBuilderRef builder = bld->base.builder; + LLVMValueRef chan_vec = + lp_build_const_int_vec(uint_bld->type, chan_index); + LLVMValueRef length_vec = + lp_build_const_int_vec(uint_bld->type, bld->base.type.length); + LLVMValueRef index_vec; /* indexes into the temp registers */ + LLVMValueRef temps_array; + LLVMValueRef pixel_offsets; + LLVMTypeRef float_ptr_type; + int i; + + /* build pixel offset vector: {0, 1, 2, 3, ...} */ + pixel_offsets = uint_bld->undef; + for (i = 0; i < bld->base.type.length; i++) { + LLVMValueRef ii = lp_build_const_int32(i); + pixel_offsets = LLVMBuildInsertElement(builder, pixel_offsets, + ii, ii, ""); + } + + /* index_vec = (indirect_index * 4 + chan_index) * length + offsets */ + index_vec = lp_build_shl_imm(uint_bld, indirect_index, 2); + index_vec = lp_build_add(uint_bld, index_vec, chan_vec); + index_vec = lp_build_mul(uint_bld, index_vec, length_vec); + index_vec = lp_build_add(uint_bld, index_vec, pixel_offsets); + + float_ptr_type = LLVMPointerType(LLVMFloatType(), 0); + temps_array = LLVMBuildBitCast(builder, bld->temps_array, + float_ptr_type, ""); + + /* Scatter store values into temp registers */ + emit_mask_scatter(bld, temps_array, index_vec, value, + &bld->exec_mask, pred); } else { LLVMValueRef temp_ptr = get_temp_ptr(bld, reg->Register.Index, @@ -1040,15 +1226,60 @@ emit_kilp(struct lp_build_tgsi_soa_context *bld, lp_build_mask_check(bld->mask); } + +/** + * Emit code which will dump the value of all the temporary registers + * to stdout. + */ +static void +emit_dump_temps(struct lp_build_tgsi_soa_context *bld) +{ + LLVMBuilderRef builder = bld->base.builder; + LLVMValueRef temp_ptr; + LLVMValueRef i0 = lp_build_const_int32(0); + LLVMValueRef i1 = lp_build_const_int32(1); + LLVMValueRef i2 = lp_build_const_int32(2); + LLVMValueRef i3 = lp_build_const_int32(3); + int index; + int n = bld->info->file_max[TGSI_FILE_TEMPORARY]; + + for (index = 0; index < n; index++) { + LLVMValueRef idx = lp_build_const_int32(index); + LLVMValueRef v[4][4], res; + int chan; + + lp_build_printf(builder, "TEMP[%d]:\n", idx); + + for (chan = 0; chan < 4; chan++) { + temp_ptr = get_temp_ptr(bld, index, chan); + res = LLVMBuildLoad(bld->base.builder, temp_ptr, ""); + v[chan][0] = LLVMBuildExtractElement(builder, res, i0, ""); + v[chan][1] = LLVMBuildExtractElement(builder, res, i1, ""); + v[chan][2] = LLVMBuildExtractElement(builder, res, i2, ""); + v[chan][3] = LLVMBuildExtractElement(builder, res, i3, ""); + } + + lp_build_printf(builder, " X: %f %f %f %f\n", + v[0][0], v[0][1], v[0][2], v[0][3]); + lp_build_printf(builder, " Y: %f %f %f %f\n", + v[1][0], v[1][1], v[1][2], v[1][3]); + lp_build_printf(builder, " Z: %f %f %f %f\n", + v[2][0], v[2][1], v[2][2], v[2][3]); + lp_build_printf(builder, " W: %f %f %f %f\n", + v[3][0], v[3][1], v[3][2], v[3][3]); + } +} + + + static void emit_declaration( struct lp_build_tgsi_soa_context *bld, const struct tgsi_full_declaration *decl) { LLVMTypeRef vec_type = bld->base.vec_type; - - unsigned first = decl->Range.First; - unsigned last = decl->Range.Last; + const unsigned first = decl->Range.First; + const unsigned last = decl->Range.Last; unsigned idx, i; for (idx = first; idx <= last; ++idx) { @@ -1056,36 +1287,33 @@ emit_declaration( switch (decl->Declaration.File) { case TGSI_FILE_TEMPORARY: assert(idx < LP_MAX_TGSI_TEMPS); - if (bld->indirect_files & (1 << TGSI_FILE_TEMPORARY)) { - LLVMValueRef array_size = LLVMConstInt(LLVMInt32Type(), - last*4 + 4, 0); - bld->temps_array = lp_build_array_alloca(bld->base.builder, - vec_type, array_size, ""); - } else { + if (!(bld->indirect_files & (1 << TGSI_FILE_TEMPORARY))) { for (i = 0; i < NUM_CHANNELS; i++) bld->temps[idx][i] = lp_build_alloca(bld->base.builder, - vec_type, ""); + vec_type, "temp"); } break; case TGSI_FILE_OUTPUT: - for (i = 0; i < NUM_CHANNELS; i++) - bld->outputs[idx][i] = lp_build_alloca(bld->base.builder, - vec_type, ""); + if (!(bld->indirect_files & (1 << TGSI_FILE_OUTPUT))) { + for (i = 0; i < NUM_CHANNELS; i++) + bld->outputs[idx][i] = lp_build_alloca(bld->base.builder, + vec_type, "output"); + } break; case TGSI_FILE_ADDRESS: assert(idx < LP_MAX_TGSI_ADDRS); for (i = 0; i < NUM_CHANNELS; i++) bld->addr[idx][i] = lp_build_alloca(bld->base.builder, - vec_type, ""); + vec_type, "addr"); break; case TGSI_FILE_PREDICATE: assert(idx < LP_MAX_TGSI_PREDS); for (i = 0; i < NUM_CHANNELS; i++) bld->preds[idx][i] = lp_build_alloca(bld->base.builder, - vec_type, ""); + vec_type, "predicate"); break; default: @@ -1740,6 +1968,10 @@ emit_instruction( break; case TGSI_OPCODE_END: + if (0) { + /* for debugging */ + emit_dump_temps(bld); + } *pc = -1; break; @@ -2082,6 +2314,7 @@ lp_build_tgsi_soa(LLVMBuilderRef builder, memset(&bld, 0, sizeof bld); lp_build_context_init(&bld.base, builder, type); lp_build_context_init(&bld.uint_bld, builder, lp_uint_type(type)); + lp_build_context_init(&bld.elem_bld, builder, lp_elem_type(type)); bld.mask = mask; bld.pos = pos; bld.inputs = inputs; @@ -2100,6 +2333,48 @@ lp_build_tgsi_soa(LLVMBuilderRef builder, lp_exec_mask_init(&bld.exec_mask, &bld.base); + if (bld.indirect_files & (1 << TGSI_FILE_TEMPORARY)) { + LLVMValueRef array_size = LLVMConstInt(LLVMInt32Type(), + info->file_max[TGSI_FILE_TEMPORARY]*4 + 4, 0); + bld.temps_array = lp_build_array_alloca(bld.base.builder, + bld.base.vec_type, array_size, + "temp_array"); + } + + if (bld.indirect_files & (1 << TGSI_FILE_OUTPUT)) { + LLVMValueRef array_size = LLVMConstInt(LLVMInt32Type(), + info->file_max[TGSI_FILE_OUTPUT]*4 + 4, 0); + bld.outputs_array = lp_build_array_alloca(bld.base.builder, + bld.base.vec_type, array_size, + "output_array"); + } + + /* If we have indirect addressing in inputs we need to copy them into + * our alloca array to be able to iterate over them */ + if (bld.indirect_files & (1 << TGSI_FILE_INPUT)) { + unsigned index, chan; + LLVMTypeRef vec_type = bld.base.vec_type; + LLVMValueRef array_size = LLVMConstInt(LLVMInt32Type(), + info->file_max[TGSI_FILE_INPUT]*4 + 4, 0); + bld.inputs_array = lp_build_array_alloca(bld.base.builder, + vec_type, array_size, + "input_array"); + + assert(info->num_inputs <= info->file_max[TGSI_FILE_INPUT] + 1); + + for (index = 0; index < info->num_inputs; ++index) { + for (chan = 0; chan < NUM_CHANNELS; ++chan) { + LLVMValueRef lindex = lp_build_const_int32(index * 4 + chan); + LLVMValueRef input_ptr = + LLVMBuildGEP(bld.base.builder, bld.inputs_array, + &lindex, 1, ""); + LLVMValueRef value = bld.inputs[index][chan]; + if (value) + LLVMBuildStore(bld.base.builder, value, input_ptr); + } + } + } + tgsi_parse_init( &parse, tokens ); while( !tgsi_parse_end_of_tokens( &parse ) ) { @@ -2169,6 +2444,18 @@ lp_build_tgsi_soa(LLVMBuilderRef builder, opcode_info->mnemonic); } + /* If we have indirect addressing in outputs we need to copy our alloca array + * to the outputs slots specified by the called */ + if (bld.indirect_files & (1 << TGSI_FILE_OUTPUT)) { + unsigned index, chan; + assert(info->num_outputs <= info->file_max[TGSI_FILE_OUTPUT] + 1); + for (index = 0; index < info->num_outputs; ++index) { + for (chan = 0; chan < NUM_CHANNELS; ++chan) { + bld.outputs[index][chan] = get_output_ptr(&bld, index, chan); + } + } + } + if (0) { LLVMBasicBlockRef block = LLVMGetInsertBlock(builder); LLVMValueRef function = LLVMGetBasicBlockParent(block); diff --git a/src/gallium/auxiliary/gallivm/lp_bld_type.c b/src/gallium/auxiliary/gallivm/lp_bld_type.c index 06f1aae6dcc..5205c7ada91 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_type.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_type.c @@ -188,6 +188,22 @@ lp_build_int32_vec4_type(void) /** + * Create element of vector type + */ +struct lp_type +lp_elem_type(struct lp_type type) +{ + struct lp_type res_type; + + assert(type.length > 1); + res_type = type; + res_type.length = 1; + + return res_type; +} + + +/** * Create unsigned integer type variation of given type. */ struct lp_type diff --git a/src/gallium/auxiliary/gallivm/lp_bld_type.h b/src/gallium/auxiliary/gallivm/lp_bld_type.h index fec1d3dfbc6..a135d0df847 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_type.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_type.h @@ -365,6 +365,10 @@ lp_unorm8_vec4_type(void) struct lp_type +lp_elem_type(struct lp_type type); + + +struct lp_type lp_uint_type(struct lp_type type); diff --git a/src/gallium/auxiliary/os/os_stream_stdc.c b/src/gallium/auxiliary/os/os_stream_stdc.c index 37e7d063e2b..afd3ff6dcea 100644 --- a/src/gallium/auxiliary/os/os_stream_stdc.c +++ b/src/gallium/auxiliary/os/os_stream_stdc.c @@ -106,7 +106,7 @@ os_file_stream_create(const char *filename) stream->base.flush = &os_stdc_stream_flush; stream->base.vprintf = &os_stdc_stream_vprintf; - stream->file = fopen(filename, "w"); + stream->file = fopen(filename, "wb"); if(!stream->file) goto no_file; diff --git a/src/gallium/auxiliary/pipebuffer/SConscript b/src/gallium/auxiliary/pipebuffer/SConscript deleted file mode 100644 index a074a554717..00000000000 --- a/src/gallium/auxiliary/pipebuffer/SConscript +++ /dev/null @@ -1,18 +0,0 @@ -Import('*') - -pipebuffer = env.ConvenienceLibrary( - target = 'pipebuffer', - source = [ - 'pb_buffer_fenced.c', - 'pb_buffer_malloc.c', - 'pb_bufmgr_alt.c', - 'pb_bufmgr_cache.c', - 'pb_bufmgr_debug.c', - 'pb_bufmgr_mm.c', - 'pb_bufmgr_ondemand.c', - 'pb_bufmgr_pool.c', - 'pb_bufmgr_slab.c', - 'pb_validate.c', - ]) - -auxiliaries.insert(0, pipebuffer) diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.c b/src/gallium/auxiliary/tgsi/tgsi_build.c index 6dbedf15ca8..16a205f2068 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_build.c +++ b/src/gallium/auxiliary/tgsi/tgsi_build.c @@ -64,25 +64,14 @@ header_bodysize_grow( struct tgsi_header *header ) } struct tgsi_processor -tgsi_default_processor( void ) -{ - struct tgsi_processor processor; - - processor.Processor = TGSI_PROCESSOR_FRAGMENT; - processor.Padding = 0; - - return processor; -} - -struct tgsi_processor tgsi_build_processor( unsigned type, struct tgsi_header *header ) { struct tgsi_processor processor; - processor = tgsi_default_processor(); processor.Processor = type; + processor.Padding = 0; header_headersize_grow( header ); @@ -93,7 +82,19 @@ tgsi_build_processor( * declaration */ -struct tgsi_declaration +static void +declaration_grow( + struct tgsi_declaration *declaration, + struct tgsi_header *header ) +{ + assert( declaration->NrTokens < 0xFF ); + + declaration->NrTokens++; + + header_bodysize_grow( header ); +} + +static struct tgsi_declaration tgsi_default_declaration( void ) { struct tgsi_declaration declaration; @@ -112,7 +113,7 @@ tgsi_default_declaration( void ) return declaration; } -struct tgsi_declaration +static struct tgsi_declaration tgsi_build_declaration( unsigned file, unsigned usage_mask, @@ -144,16 +145,85 @@ tgsi_build_declaration( return declaration; } -static void -declaration_grow( +static struct tgsi_declaration_range +tgsi_default_declaration_range( void ) +{ + struct tgsi_declaration_range dr; + + dr.First = 0; + dr.Last = 0; + + return dr; +} + +static struct tgsi_declaration_range +tgsi_build_declaration_range( + unsigned first, + unsigned last, struct tgsi_declaration *declaration, struct tgsi_header *header ) { - assert( declaration->NrTokens < 0xFF ); + struct tgsi_declaration_range declaration_range; - declaration->NrTokens++; + assert( last >= first ); + assert( last <= 0xFFFF ); - header_bodysize_grow( header ); + declaration_range.First = first; + declaration_range.Last = last; + + declaration_grow( declaration, header ); + + return declaration_range; +} + +static struct tgsi_declaration_dimension +tgsi_build_declaration_dimension(unsigned index_2d, + struct tgsi_declaration *declaration, + struct tgsi_header *header) +{ + struct tgsi_declaration_dimension dd; + + assert(index_2d <= 0xFFFF); + + dd.Index2D = index_2d; + dd.Padding = 0; + + declaration_grow(declaration, header); + + return dd; +} + +static struct tgsi_declaration_semantic +tgsi_default_declaration_semantic( void ) +{ + struct tgsi_declaration_semantic ds; + + ds.Name = TGSI_SEMANTIC_POSITION; + ds.Index = 0; + ds.Padding = 0; + + return ds; +} + +static struct tgsi_declaration_semantic +tgsi_build_declaration_semantic( + unsigned semantic_name, + unsigned semantic_index, + struct tgsi_declaration *declaration, + struct tgsi_header *header ) +{ + struct tgsi_declaration_semantic ds; + + assert( semantic_name <= TGSI_SEMANTIC_COUNT ); + assert( semantic_index <= 0xFFFF ); + + ds.Name = semantic_name; + ds.Index = semantic_index; + ds.Padding = 0; + + declaration_grow( declaration, header ); + + return ds; } struct tgsi_full_declaration @@ -257,104 +327,11 @@ tgsi_build_full_declaration( return size; } -struct tgsi_declaration_range -tgsi_default_declaration_range( void ) -{ - struct tgsi_declaration_range dr; - - dr.First = 0; - dr.Last = 0; - - return dr; -} - -struct tgsi_declaration_range -tgsi_build_declaration_range( - unsigned first, - unsigned last, - struct tgsi_declaration *declaration, - struct tgsi_header *header ) -{ - struct tgsi_declaration_range declaration_range; - - assert( last >= first ); - assert( last <= 0xFFFF ); - - declaration_range = tgsi_default_declaration_range(); - declaration_range.First = first; - declaration_range.Last = last; - - declaration_grow( declaration, header ); - - return declaration_range; -} - -struct tgsi_declaration_dimension -tgsi_default_declaration_dimension(void) -{ - struct tgsi_declaration_dimension dd; - - dd.Index2D = 0; - dd.Padding = 0; - - return dd; -} - -struct tgsi_declaration_dimension -tgsi_build_declaration_dimension(unsigned index_2d, - struct tgsi_declaration *declaration, - struct tgsi_header *header) -{ - struct tgsi_declaration_dimension dd; - - assert(index_2d <= 0xFFFF); - - dd = tgsi_default_declaration_dimension(); - dd.Index2D = index_2d; - - declaration_grow(declaration, header); - - return dd; -} - -struct tgsi_declaration_semantic -tgsi_default_declaration_semantic( void ) -{ - struct tgsi_declaration_semantic ds; - - ds.Name = TGSI_SEMANTIC_POSITION; - ds.Index = 0; - ds.Padding = 0; - - return ds; -} - -struct tgsi_declaration_semantic -tgsi_build_declaration_semantic( - unsigned semantic_name, - unsigned semantic_index, - struct tgsi_declaration *declaration, - struct tgsi_header *header ) -{ - struct tgsi_declaration_semantic ds; - - assert( semantic_name <= TGSI_SEMANTIC_COUNT ); - assert( semantic_index <= 0xFFFF ); - - ds = tgsi_default_declaration_semantic(); - ds.Name = semantic_name; - ds.Index = semantic_index; - - declaration_grow( declaration, header ); - - return ds; -} - /* * immediate */ -struct tgsi_immediate +static struct tgsi_immediate tgsi_default_immediate( void ) { struct tgsi_immediate immediate; @@ -367,7 +344,7 @@ tgsi_default_immediate( void ) return immediate; } -struct tgsi_immediate +static struct tgsi_immediate tgsi_build_immediate( struct tgsi_header *header ) { @@ -406,7 +383,7 @@ immediate_grow( header_bodysize_grow( header ); } -union tgsi_immediate_data +static union tgsi_immediate_data tgsi_build_immediate_float32( float value, struct tgsi_immediate *immediate, @@ -480,7 +457,7 @@ tgsi_default_instruction( void ) return instruction; } -struct tgsi_instruction +static struct tgsi_instruction tgsi_build_instruction(unsigned opcode, unsigned saturate, unsigned predicate, @@ -519,6 +496,266 @@ instruction_grow( header_bodysize_grow( header ); } +struct tgsi_instruction_predicate +tgsi_default_instruction_predicate(void) +{ + struct tgsi_instruction_predicate instruction_predicate; + + instruction_predicate.SwizzleX = TGSI_SWIZZLE_X; + instruction_predicate.SwizzleY = TGSI_SWIZZLE_Y; + instruction_predicate.SwizzleZ = TGSI_SWIZZLE_Z; + instruction_predicate.SwizzleW = TGSI_SWIZZLE_W; + instruction_predicate.Negate = 0; + instruction_predicate.Index = 0; + instruction_predicate.Padding = 0; + + return instruction_predicate; +} + +static struct tgsi_instruction_predicate +tgsi_build_instruction_predicate(int index, + unsigned negate, + unsigned swizzleX, + unsigned swizzleY, + unsigned swizzleZ, + unsigned swizzleW, + struct tgsi_instruction *instruction, + struct tgsi_header *header) +{ + struct tgsi_instruction_predicate instruction_predicate; + + instruction_predicate = tgsi_default_instruction_predicate(); + instruction_predicate.SwizzleX = swizzleX; + instruction_predicate.SwizzleY = swizzleY; + instruction_predicate.SwizzleZ = swizzleZ; + instruction_predicate.SwizzleW = swizzleW; + instruction_predicate.Negate = negate; + instruction_predicate.Index = index; + + instruction_grow(instruction, header); + + return instruction_predicate; +} + +static struct tgsi_instruction_label +tgsi_default_instruction_label( void ) +{ + struct tgsi_instruction_label instruction_label; + + instruction_label.Label = 0; + instruction_label.Padding = 0; + + return instruction_label; +} + +static struct tgsi_instruction_label +tgsi_build_instruction_label( + unsigned label, + struct tgsi_token *prev_token, + struct tgsi_instruction *instruction, + struct tgsi_header *header ) +{ + struct tgsi_instruction_label instruction_label; + + instruction_label.Label = label; + instruction_label.Padding = 0; + instruction->Label = 1; + + instruction_grow( instruction, header ); + + return instruction_label; +} + +static struct tgsi_instruction_texture +tgsi_default_instruction_texture( void ) +{ + struct tgsi_instruction_texture instruction_texture; + + instruction_texture.Texture = TGSI_TEXTURE_UNKNOWN; + instruction_texture.Padding = 0; + + return instruction_texture; +} + +static struct tgsi_instruction_texture +tgsi_build_instruction_texture( + unsigned texture, + struct tgsi_token *prev_token, + struct tgsi_instruction *instruction, + struct tgsi_header *header ) +{ + struct tgsi_instruction_texture instruction_texture; + + instruction_texture.Texture = texture; + instruction_texture.Padding = 0; + instruction->Texture = 1; + + instruction_grow( instruction, header ); + + return instruction_texture; +} + +static struct tgsi_src_register +tgsi_default_src_register( void ) +{ + struct tgsi_src_register src_register; + + src_register.File = TGSI_FILE_NULL; + src_register.SwizzleX = TGSI_SWIZZLE_X; + src_register.SwizzleY = TGSI_SWIZZLE_Y; + src_register.SwizzleZ = TGSI_SWIZZLE_Z; + src_register.SwizzleW = TGSI_SWIZZLE_W; + src_register.Negate = 0; + src_register.Absolute = 0; + src_register.Indirect = 0; + src_register.Dimension = 0; + src_register.Index = 0; + + return src_register; +} + +static struct tgsi_src_register +tgsi_build_src_register( + unsigned file, + unsigned swizzle_x, + unsigned swizzle_y, + unsigned swizzle_z, + unsigned swizzle_w, + unsigned negate, + unsigned absolute, + unsigned indirect, + unsigned dimension, + int index, + struct tgsi_instruction *instruction, + struct tgsi_header *header ) +{ + struct tgsi_src_register src_register; + + assert( file < TGSI_FILE_COUNT ); + assert( swizzle_x <= TGSI_SWIZZLE_W ); + assert( swizzle_y <= TGSI_SWIZZLE_W ); + assert( swizzle_z <= TGSI_SWIZZLE_W ); + assert( swizzle_w <= TGSI_SWIZZLE_W ); + assert( negate <= 1 ); + assert( index >= -0x8000 && index <= 0x7FFF ); + + src_register.File = file; + src_register.SwizzleX = swizzle_x; + src_register.SwizzleY = swizzle_y; + src_register.SwizzleZ = swizzle_z; + src_register.SwizzleW = swizzle_w; + src_register.Negate = negate; + src_register.Absolute = absolute; + src_register.Indirect = indirect; + src_register.Dimension = dimension; + src_register.Index = index; + + instruction_grow( instruction, header ); + + return src_register; +} + +static struct tgsi_dimension +tgsi_default_dimension( void ) +{ + struct tgsi_dimension dimension; + + dimension.Indirect = 0; + dimension.Dimension = 0; + dimension.Padding = 0; + dimension.Index = 0; + + return dimension; +} + +static struct tgsi_full_src_register +tgsi_default_full_src_register( void ) +{ + struct tgsi_full_src_register full_src_register; + + full_src_register.Register = tgsi_default_src_register(); + full_src_register.Indirect = tgsi_default_src_register(); + full_src_register.Dimension = tgsi_default_dimension(); + full_src_register.DimIndirect = tgsi_default_src_register(); + + return full_src_register; +} + +static struct tgsi_dimension +tgsi_build_dimension( + unsigned indirect, + unsigned index, + struct tgsi_instruction *instruction, + struct tgsi_header *header ) +{ + struct tgsi_dimension dimension; + + dimension.Indirect = indirect; + dimension.Dimension = 0; + dimension.Padding = 0; + dimension.Index = index; + + instruction_grow( instruction, header ); + + return dimension; +} + +static struct tgsi_dst_register +tgsi_default_dst_register( void ) +{ + struct tgsi_dst_register dst_register; + + dst_register.File = TGSI_FILE_NULL; + dst_register.WriteMask = TGSI_WRITEMASK_XYZW; + dst_register.Indirect = 0; + dst_register.Dimension = 0; + dst_register.Index = 0; + dst_register.Padding = 0; + + return dst_register; +} + +static struct tgsi_dst_register +tgsi_build_dst_register( + unsigned file, + unsigned mask, + unsigned indirect, + unsigned dimension, + int index, + struct tgsi_instruction *instruction, + struct tgsi_header *header ) +{ + struct tgsi_dst_register dst_register; + + assert( file < TGSI_FILE_COUNT ); + assert( mask <= TGSI_WRITEMASK_XYZW ); + assert( index >= -32768 && index <= 32767 ); + + dst_register.File = file; + dst_register.WriteMask = mask; + dst_register.Indirect = indirect; + dst_register.Dimension = dimension; + dst_register.Index = index; + dst_register.Padding = 0; + + instruction_grow( instruction, header ); + + return dst_register; +} + +static struct tgsi_full_dst_register +tgsi_default_full_dst_register( void ) +{ + struct tgsi_full_dst_register full_dst_register; + + full_dst_register.Register = tgsi_default_dst_register(); + full_dst_register.Indirect = tgsi_default_src_register(); + full_dst_register.Dimension = tgsi_default_dimension(); + full_dst_register.DimIndirect = tgsi_default_src_register(); + + return full_dst_register; +} + struct tgsi_full_instruction tgsi_default_full_instruction( void ) { @@ -794,268 +1031,7 @@ tgsi_build_full_instruction( return size; } -struct tgsi_instruction_predicate -tgsi_default_instruction_predicate(void) -{ - struct tgsi_instruction_predicate instruction_predicate; - - instruction_predicate.SwizzleX = TGSI_SWIZZLE_X; - instruction_predicate.SwizzleY = TGSI_SWIZZLE_Y; - instruction_predicate.SwizzleZ = TGSI_SWIZZLE_Z; - instruction_predicate.SwizzleW = TGSI_SWIZZLE_W; - instruction_predicate.Negate = 0; - instruction_predicate.Index = 0; - instruction_predicate.Padding = 0; - - return instruction_predicate; -} - -struct tgsi_instruction_predicate -tgsi_build_instruction_predicate(int index, - unsigned negate, - unsigned swizzleX, - unsigned swizzleY, - unsigned swizzleZ, - unsigned swizzleW, - struct tgsi_instruction *instruction, - struct tgsi_header *header) -{ - struct tgsi_instruction_predicate instruction_predicate; - - instruction_predicate = tgsi_default_instruction_predicate(); - instruction_predicate.SwizzleX = swizzleX; - instruction_predicate.SwizzleY = swizzleY; - instruction_predicate.SwizzleZ = swizzleZ; - instruction_predicate.SwizzleW = swizzleW; - instruction_predicate.Negate = negate; - instruction_predicate.Index = index; - - instruction_grow(instruction, header); - - return instruction_predicate; -} - -struct tgsi_instruction_label -tgsi_default_instruction_label( void ) -{ - struct tgsi_instruction_label instruction_label; - - instruction_label.Label = 0; - instruction_label.Padding = 0; - - return instruction_label; -} - -struct tgsi_instruction_label -tgsi_build_instruction_label( - unsigned label, - struct tgsi_token *prev_token, - struct tgsi_instruction *instruction, - struct tgsi_header *header ) -{ - struct tgsi_instruction_label instruction_label; - - instruction_label = tgsi_default_instruction_label(); - instruction_label.Label = label; - instruction->Label = 1; - - instruction_grow( instruction, header ); - - return instruction_label; -} - -struct tgsi_instruction_texture -tgsi_default_instruction_texture( void ) -{ - struct tgsi_instruction_texture instruction_texture; - - instruction_texture.Texture = TGSI_TEXTURE_UNKNOWN; - instruction_texture.Padding = 0; - - return instruction_texture; -} - -struct tgsi_instruction_texture -tgsi_build_instruction_texture( - unsigned texture, - struct tgsi_token *prev_token, - struct tgsi_instruction *instruction, - struct tgsi_header *header ) -{ - struct tgsi_instruction_texture instruction_texture; - - instruction_texture = tgsi_default_instruction_texture(); - instruction_texture.Texture = texture; - instruction->Texture = 1; - - instruction_grow( instruction, header ); - - return instruction_texture; -} - -struct tgsi_src_register -tgsi_default_src_register( void ) -{ - struct tgsi_src_register src_register; - - src_register.File = TGSI_FILE_NULL; - src_register.SwizzleX = TGSI_SWIZZLE_X; - src_register.SwizzleY = TGSI_SWIZZLE_Y; - src_register.SwizzleZ = TGSI_SWIZZLE_Z; - src_register.SwizzleW = TGSI_SWIZZLE_W; - src_register.Negate = 0; - src_register.Absolute = 0; - src_register.Indirect = 0; - src_register.Dimension = 0; - src_register.Index = 0; - - return src_register; -} - -struct tgsi_src_register -tgsi_build_src_register( - unsigned file, - unsigned swizzle_x, - unsigned swizzle_y, - unsigned swizzle_z, - unsigned swizzle_w, - unsigned negate, - unsigned absolute, - unsigned indirect, - unsigned dimension, - int index, - struct tgsi_instruction *instruction, - struct tgsi_header *header ) -{ - struct tgsi_src_register src_register; - - assert( file < TGSI_FILE_COUNT ); - assert( swizzle_x <= TGSI_SWIZZLE_W ); - assert( swizzle_y <= TGSI_SWIZZLE_W ); - assert( swizzle_z <= TGSI_SWIZZLE_W ); - assert( swizzle_w <= TGSI_SWIZZLE_W ); - assert( negate <= 1 ); - assert( index >= -0x8000 && index <= 0x7FFF ); - - src_register = tgsi_default_src_register(); - src_register.File = file; - src_register.SwizzleX = swizzle_x; - src_register.SwizzleY = swizzle_y; - src_register.SwizzleZ = swizzle_z; - src_register.SwizzleW = swizzle_w; - src_register.Negate = negate; - src_register.Absolute = absolute; - src_register.Indirect = indirect; - src_register.Dimension = dimension; - src_register.Index = index; - - instruction_grow( instruction, header ); - - return src_register; -} - -struct tgsi_full_src_register -tgsi_default_full_src_register( void ) -{ - struct tgsi_full_src_register full_src_register; - - full_src_register.Register = tgsi_default_src_register(); - full_src_register.Indirect = tgsi_default_src_register(); - full_src_register.Dimension = tgsi_default_dimension(); - full_src_register.DimIndirect = tgsi_default_src_register(); - - return full_src_register; -} - - -struct tgsi_dimension -tgsi_default_dimension( void ) -{ - struct tgsi_dimension dimension; - - dimension.Indirect = 0; - dimension.Dimension = 0; - dimension.Padding = 0; - dimension.Index = 0; - - return dimension; -} - -struct tgsi_dimension -tgsi_build_dimension( - unsigned indirect, - unsigned index, - struct tgsi_instruction *instruction, - struct tgsi_header *header ) -{ - struct tgsi_dimension dimension; - - dimension = tgsi_default_dimension(); - dimension.Indirect = indirect; - dimension.Index = index; - - instruction_grow( instruction, header ); - - return dimension; -} - -struct tgsi_dst_register -tgsi_default_dst_register( void ) -{ - struct tgsi_dst_register dst_register; - - dst_register.File = TGSI_FILE_NULL; - dst_register.WriteMask = TGSI_WRITEMASK_XYZW; - dst_register.Indirect = 0; - dst_register.Dimension = 0; - dst_register.Index = 0; - dst_register.Padding = 0; - - return dst_register; -} - -struct tgsi_dst_register -tgsi_build_dst_register( - unsigned file, - unsigned mask, - unsigned indirect, - unsigned dimension, - int index, - struct tgsi_instruction *instruction, - struct tgsi_header *header ) -{ - struct tgsi_dst_register dst_register; - - assert( file < TGSI_FILE_COUNT ); - assert( mask <= TGSI_WRITEMASK_XYZW ); - assert( index >= -32768 && index <= 32767 ); - - dst_register = tgsi_default_dst_register(); - dst_register.File = file; - dst_register.WriteMask = mask; - dst_register.Index = index; - dst_register.Indirect = indirect; - dst_register.Dimension = dimension; - - instruction_grow( instruction, header ); - - return dst_register; -} - -struct tgsi_full_dst_register -tgsi_default_full_dst_register( void ) -{ - struct tgsi_full_dst_register full_dst_register; - - full_dst_register.Register = tgsi_default_dst_register(); - full_dst_register.Indirect = tgsi_default_src_register(); - full_dst_register.Dimension = tgsi_default_dimension(); - full_dst_register.DimIndirect = tgsi_default_src_register(); - - return full_dst_register; -} - -struct tgsi_property +static struct tgsi_property tgsi_default_property( void ) { struct tgsi_property property; @@ -1068,7 +1044,7 @@ tgsi_default_property( void ) return property; } -struct tgsi_property +static struct tgsi_property tgsi_build_property(unsigned property_name, struct tgsi_header *header) { @@ -1107,7 +1083,7 @@ property_grow( header_bodysize_grow( header ); } -struct tgsi_property_data +static struct tgsi_property_data tgsi_build_property_data( unsigned value, struct tgsi_property *property, diff --git a/src/gallium/auxiliary/tgsi/tgsi_build.h b/src/gallium/auxiliary/tgsi/tgsi_build.h index 112107a0881..3f236a9c241 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_build.h +++ b/src/gallium/auxiliary/tgsi/tgsi_build.h @@ -45,9 +45,6 @@ struct tgsi_header tgsi_build_header( void ); struct tgsi_processor -tgsi_default_processor( void ); - -struct tgsi_processor tgsi_build_processor( unsigned processor, struct tgsi_header *header ); @@ -56,21 +53,6 @@ tgsi_build_processor( * declaration */ -struct tgsi_declaration -tgsi_default_declaration( void ); - -struct tgsi_declaration -tgsi_build_declaration( - unsigned file, - unsigned usage_mask, - unsigned interpolate, - unsigned dimension, - unsigned semantic, - unsigned centroid, - unsigned invariant, - unsigned cylindrical_wrap, - struct tgsi_header *header ); - struct tgsi_full_declaration tgsi_default_full_declaration( void ); @@ -81,54 +63,13 @@ tgsi_build_full_declaration( struct tgsi_header *header, unsigned maxsize ); -struct tgsi_declaration_range -tgsi_default_declaration_range( void ); - -struct tgsi_declaration_range -tgsi_build_declaration_range( - unsigned first, - unsigned last, - struct tgsi_declaration *declaration, - struct tgsi_header *header ); - -struct tgsi_declaration_dimension -tgsi_default_declaration_dimension(void); - -struct tgsi_declaration_dimension -tgsi_build_declaration_dimension(unsigned index_2d, - struct tgsi_declaration *declaration, - struct tgsi_header *header); - -struct tgsi_declaration_semantic -tgsi_default_declaration_semantic( void ); - -struct tgsi_declaration_semantic -tgsi_build_declaration_semantic( - unsigned semantic_name, - unsigned semantic_index, - struct tgsi_declaration *declaration, - struct tgsi_header *header ); - /* * immediate */ -struct tgsi_immediate -tgsi_default_immediate( void ); - -struct tgsi_immediate -tgsi_build_immediate( - struct tgsi_header *header ); - struct tgsi_full_immediate tgsi_default_full_immediate( void ); -union tgsi_immediate_data -tgsi_build_immediate_float32( - float value, - struct tgsi_immediate *immediate, - struct tgsi_header *header ); - unsigned tgsi_build_full_immediate( const struct tgsi_full_immediate *full_imm, @@ -140,23 +81,9 @@ tgsi_build_full_immediate( * properties */ -struct tgsi_property -tgsi_default_property( void ); - -struct tgsi_property -tgsi_build_property( - unsigned property_name, - struct tgsi_header *header ); - struct tgsi_full_property tgsi_default_full_property( void ); -struct tgsi_property_data -tgsi_build_property_data( - unsigned value, - struct tgsi_property *property, - struct tgsi_header *header ); - unsigned tgsi_build_full_property( const struct tgsi_full_property *full_prop, @@ -171,15 +98,6 @@ tgsi_build_full_property( struct tgsi_instruction tgsi_default_instruction( void ); -struct tgsi_instruction -tgsi_build_instruction( - unsigned opcode, - unsigned saturate, - unsigned predicate, - unsigned num_dst_regs, - unsigned num_src_regs, - struct tgsi_header *header ); - struct tgsi_full_instruction tgsi_default_full_instruction( void ); @@ -193,85 +111,6 @@ tgsi_build_full_instruction( struct tgsi_instruction_predicate tgsi_default_instruction_predicate(void); -struct tgsi_instruction_predicate -tgsi_build_instruction_predicate(int index, - unsigned negate, - unsigned swizzleX, - unsigned swizzleY, - unsigned swizzleZ, - unsigned swizzleW, - struct tgsi_instruction *instruction, - struct tgsi_header *header); - -struct tgsi_instruction_label -tgsi_default_instruction_label( void ); - -struct tgsi_instruction_label -tgsi_build_instruction_label( - unsigned label, - struct tgsi_token *prev_token, - struct tgsi_instruction *instruction, - struct tgsi_header *header ); - -struct tgsi_instruction_texture -tgsi_default_instruction_texture( void ); - -struct tgsi_instruction_texture -tgsi_build_instruction_texture( - unsigned texture, - struct tgsi_token *prev_token, - struct tgsi_instruction *instruction, - struct tgsi_header *header ); - -struct tgsi_src_register -tgsi_default_src_register( void ); - -struct tgsi_src_register -tgsi_build_src_register( - unsigned file, - unsigned swizzle_x, - unsigned swizzle_y, - unsigned swizzle_z, - unsigned swizzle_w, - unsigned negate, - unsigned absolute, - unsigned indirect, - unsigned dimension, - int index, - struct tgsi_instruction *instruction, - struct tgsi_header *header ); - -struct tgsi_full_src_register -tgsi_default_full_src_register( void ); - - -struct tgsi_dimension -tgsi_default_dimension( void ); - -struct tgsi_dimension -tgsi_build_dimension( - unsigned indirect, - unsigned index, - struct tgsi_instruction *instruction, - struct tgsi_header *header ); - -struct tgsi_dst_register -tgsi_default_dst_register( void ); - -struct tgsi_dst_register -tgsi_build_dst_register( - unsigned file, - unsigned mask, - unsigned indirect, - unsigned dimension, - int index, - struct tgsi_instruction *instruction, - struct tgsi_header *header ); - -struct tgsi_full_dst_register -tgsi_default_full_dst_register( void ); - - #if defined __cplusplus } #endif diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 3a71540506d..7892a67f04c 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -429,6 +429,24 @@ micro_sne(union tgsi_exec_channel *dst, } static void +micro_sfl(union tgsi_exec_channel *dst) +{ + dst->f[0] = 0.0f; + dst->f[1] = 0.0f; + dst->f[2] = 0.0f; + dst->f[3] = 0.0f; +} + +static void +micro_str(union tgsi_exec_channel *dst) +{ + dst->f[0] = 1.0f; + dst->f[1] = 1.0f; + dst->f[2] = 1.0f; + dst->f[3] = 1.0f; +} + +static void micro_trunc(union tgsi_exec_channel *dst, const union tgsi_exec_channel *src) { @@ -453,50 +471,12 @@ enum tgsi_exec_datatype { /* * Shorthand locations of various utility registers (_I = Index, _C = Channel) */ -#define TEMP_0_I TGSI_EXEC_TEMP_00000000_I -#define TEMP_0_C TGSI_EXEC_TEMP_00000000_C -#define TEMP_7F_I TGSI_EXEC_TEMP_7FFFFFFF_I -#define TEMP_7F_C TGSI_EXEC_TEMP_7FFFFFFF_C -#define TEMP_80_I TGSI_EXEC_TEMP_80000000_I -#define TEMP_80_C TGSI_EXEC_TEMP_80000000_C -#define TEMP_FF_I TGSI_EXEC_TEMP_FFFFFFFF_I -#define TEMP_FF_C TGSI_EXEC_TEMP_FFFFFFFF_C -#define TEMP_1_I TGSI_EXEC_TEMP_ONE_I -#define TEMP_1_C TGSI_EXEC_TEMP_ONE_C -#define TEMP_2_I TGSI_EXEC_TEMP_TWO_I -#define TEMP_2_C TGSI_EXEC_TEMP_TWO_C -#define TEMP_128_I TGSI_EXEC_TEMP_128_I -#define TEMP_128_C TGSI_EXEC_TEMP_128_C -#define TEMP_M128_I TGSI_EXEC_TEMP_MINUS_128_I -#define TEMP_M128_C TGSI_EXEC_TEMP_MINUS_128_C #define TEMP_KILMASK_I TGSI_EXEC_TEMP_KILMASK_I #define TEMP_KILMASK_C TGSI_EXEC_TEMP_KILMASK_C #define TEMP_OUTPUT_I TGSI_EXEC_TEMP_OUTPUT_I #define TEMP_OUTPUT_C TGSI_EXEC_TEMP_OUTPUT_C #define TEMP_PRIMITIVE_I TGSI_EXEC_TEMP_PRIMITIVE_I #define TEMP_PRIMITIVE_C TGSI_EXEC_TEMP_PRIMITIVE_C -#define TEMP_CC_I TGSI_EXEC_TEMP_CC_I -#define TEMP_CC_C TGSI_EXEC_TEMP_CC_C -#define TEMP_3_I TGSI_EXEC_TEMP_THREE_I -#define TEMP_3_C TGSI_EXEC_TEMP_THREE_C -#define TEMP_HALF_I TGSI_EXEC_TEMP_HALF_I -#define TEMP_HALF_C TGSI_EXEC_TEMP_HALF_C -#define TEMP_R0 TGSI_EXEC_TEMP_R0 -#define TEMP_P0 TGSI_EXEC_TEMP_P0 - -#define IS_CHANNEL_ENABLED(INST, CHAN)\ - ((INST).Dst[0].Register.WriteMask & (1 << (CHAN))) - -#define IS_CHANNEL_ENABLED2(INST, CHAN)\ - ((INST).Dst[1].Register.WriteMask & (1 << (CHAN))) - -#define FOR_EACH_ENABLED_CHANNEL(INST, CHAN)\ - for (CHAN = 0; CHAN < NUM_CHANNELS; CHAN++)\ - if (IS_CHANNEL_ENABLED( INST, CHAN )) - -#define FOR_EACH_ENABLED_CHANNEL2(INST, CHAN)\ - for (CHAN = 0; CHAN < NUM_CHANNELS; CHAN++)\ - if (IS_CHANNEL_ENABLED2( INST, CHAN )) /** The execution mask depends on the conditional mask and the loop mask */ @@ -511,6 +491,14 @@ static const union tgsi_exec_channel OneVec = { {1.0f, 1.0f, 1.0f, 1.0f} }; +static const union tgsi_exec_channel P128Vec = { + {128.0f, 128.0f, 128.0f, 128.0f} +}; + +static const union tgsi_exec_channel M128Vec = { + {-128.0f, -128.0f, -128.0f, -128.0f} +}; + /** * Assert that none of the float values in 'chan' are infinite or NaN. @@ -572,8 +560,6 @@ tgsi_exec_set_constant_buffers(struct tgsi_exec_machine *mach, } - - /** * Check if there's a potential src/dst register data dependency when * using SOA execution. @@ -607,18 +593,20 @@ tgsi_check_soa_dependencies(const struct tgsi_full_instruction *inst) inst->Dst[0].Register.File) && ((inst->Src[i].Register.Index == inst->Dst[0].Register.Index) || - inst->Src[i].Register.Indirect || - inst->Dst[0].Register.Indirect)) { + inst->Src[i].Register.Indirect || + inst->Dst[0].Register.Indirect)) { /* loop over dest channels */ uint channelsWritten = 0x0; - FOR_EACH_ENABLED_CHANNEL(*inst, chan) { - /* check if we're reading a channel that's been written */ - uint swizzle = tgsi_util_get_full_src_register_swizzle(&inst->Src[i], chan); - if (channelsWritten & (1 << swizzle)) { - return TRUE; - } + for (chan = 0; chan < NUM_CHANNELS; chan++) { + if (inst->Dst[0].Register.WriteMask & (1 << chan)) { + /* check if we're reading a channel that's been written */ + uint swizzle = tgsi_util_get_full_src_register_swizzle(&inst->Src[i], chan); + if (channelsWritten & (1 << swizzle)) { + return TRUE; + } - channelsWritten |= (1 << chan); + channelsWritten |= (1 << chan); + } } } } @@ -813,18 +801,18 @@ tgsi_exec_machine_create( void ) mach->MaxGeometryShaderOutputs = TGSI_MAX_TOTAL_VERTICES; mach->Predicates = &mach->Temps[TGSI_EXEC_TEMP_P0]; - /* Setup constants. */ + /* Setup constants needed by the SSE2 executor. */ for( i = 0; i < 4; i++ ) { - mach->Temps[TEMP_0_I].xyzw[TEMP_0_C].u[i] = 0x00000000; - mach->Temps[TEMP_7F_I].xyzw[TEMP_7F_C].u[i] = 0x7FFFFFFF; - mach->Temps[TEMP_80_I].xyzw[TEMP_80_C].u[i] = 0x80000000; - mach->Temps[TEMP_FF_I].xyzw[TEMP_FF_C].u[i] = 0xFFFFFFFF; - mach->Temps[TEMP_1_I].xyzw[TEMP_1_C].f[i] = 1.0f; - mach->Temps[TEMP_2_I].xyzw[TEMP_2_C].f[i] = 2.0f; - mach->Temps[TEMP_128_I].xyzw[TEMP_128_C].f[i] = 128.0f; - mach->Temps[TEMP_M128_I].xyzw[TEMP_M128_C].f[i] = -128.0f; - mach->Temps[TEMP_3_I].xyzw[TEMP_3_C].f[i] = 3.0f; - mach->Temps[TEMP_HALF_I].xyzw[TEMP_HALF_C].f[i] = 0.5f; + mach->Temps[TGSI_EXEC_TEMP_00000000_I].xyzw[TGSI_EXEC_TEMP_00000000_C].u[i] = 0x00000000; + mach->Temps[TGSI_EXEC_TEMP_7FFFFFFF_I].xyzw[TGSI_EXEC_TEMP_7FFFFFFF_C].u[i] = 0x7FFFFFFF; + mach->Temps[TGSI_EXEC_TEMP_80000000_I].xyzw[TGSI_EXEC_TEMP_80000000_C].u[i] = 0x80000000; + mach->Temps[TGSI_EXEC_TEMP_FFFFFFFF_I].xyzw[TGSI_EXEC_TEMP_FFFFFFFF_C].u[i] = 0xFFFFFFFF; /* not used */ + mach->Temps[TGSI_EXEC_TEMP_ONE_I].xyzw[TGSI_EXEC_TEMP_ONE_C].f[i] = 1.0f; + mach->Temps[TGSI_EXEC_TEMP_TWO_I].xyzw[TGSI_EXEC_TEMP_TWO_C].f[i] = 2.0f; /* not used */ + mach->Temps[TGSI_EXEC_TEMP_128_I].xyzw[TGSI_EXEC_TEMP_128_C].f[i] = 128.0f; + mach->Temps[TGSI_EXEC_TEMP_MINUS_128_I].xyzw[TGSI_EXEC_TEMP_MINUS_128_C].f[i] = -128.0f; + mach->Temps[TGSI_EXEC_TEMP_THREE_I].xyzw[TGSI_EXEC_TEMP_THREE_C].f[i] = 3.0f; + mach->Temps[TGSI_EXEC_TEMP_HALF_I].xyzw[TGSI_EXEC_TEMP_HALF_C].f[i] = 0.5f; } #ifdef DEBUG @@ -886,27 +874,35 @@ micro_div( } static void -micro_float_clamp(union tgsi_exec_channel *dst, - const union tgsi_exec_channel *src) +micro_rcc(union tgsi_exec_channel *dst, + const union tgsi_exec_channel *src) { uint i; for (i = 0; i < 4; i++) { - if (src->f[i] > 0.0f) { - if (src->f[i] > 1.884467e+019f) + float recip = 1.0f / src->f[i]; + + if (recip > 0.0f) { + if (recip > 1.884467e+019f) { dst->f[i] = 1.884467e+019f; - else if (src->f[i] < 5.42101e-020f) + } + else if (recip < 5.42101e-020f) { dst->f[i] = 5.42101e-020f; - else - dst->f[i] = src->f[i]; + } + else { + dst->f[i] = recip; + } } else { - if (src->f[i] < -1.884467e+019f) + if (recip < -1.884467e+019f) { dst->f[i] = -1.884467e+019f; - else if (src->f[i] > -5.42101e-020f) + } + else if (recip > -5.42101e-020f) { dst->f[i] = -5.42101e-020f; - else - dst->f[i] = src->f[i]; + } + else { + dst->f[i] = recip; + } } } } @@ -958,60 +954,6 @@ micro_mul(union tgsi_exec_channel *dst, dst->f[3] = src0->f[3] * src1->f[3]; } -#if 0 -static void -micro_imul64( - union tgsi_exec_channel *dst0, - union tgsi_exec_channel *dst1, - const union tgsi_exec_channel *src0, - const union tgsi_exec_channel *src1 ) -{ - dst1->i[0] = src0->i[0] * src1->i[0]; - dst1->i[1] = src0->i[1] * src1->i[1]; - dst1->i[2] = src0->i[2] * src1->i[2]; - dst1->i[3] = src0->i[3] * src1->i[3]; - dst0->i[0] = 0; - dst0->i[1] = 0; - dst0->i[2] = 0; - dst0->i[3] = 0; -} -#endif - -#if 0 -static void -micro_umul64( - union tgsi_exec_channel *dst0, - union tgsi_exec_channel *dst1, - const union tgsi_exec_channel *src0, - const union tgsi_exec_channel *src1 ) -{ - dst1->u[0] = src0->u[0] * src1->u[0]; - dst1->u[1] = src0->u[1] * src1->u[1]; - dst1->u[2] = src0->u[2] * src1->u[2]; - dst1->u[3] = src0->u[3] * src1->u[3]; - dst0->u[0] = 0; - dst0->u[1] = 0; - dst0->u[2] = 0; - dst0->u[3] = 0; -} -#endif - - -#if 0 -static void -micro_movc( - union tgsi_exec_channel *dst, - const union tgsi_exec_channel *src0, - const union tgsi_exec_channel *src1, - const union tgsi_exec_channel *src2 ) -{ - dst->u[0] = src0->u[0] ? src1->u[0] : src2->u[0]; - dst->u[1] = src0->u[1] ? src1->u[1] : src2->u[1]; - dst->u[2] = src0->u[2] ? src1->u[2] : src2->u[2]; - dst->u[3] = src0->u[3] ? src1->u[3] : src2->u[3]; -} -#endif - static void micro_neg( union tgsi_exec_channel *dst, @@ -1607,9 +1549,6 @@ store_dest(struct tgsi_exec_machine *mach, #define FETCH(VAL,INDEX,CHAN)\ fetch_source(mach, VAL, &inst->Src[INDEX], CHAN, TGSI_EXEC_DATA_FLOAT) -#define STORE(VAL,INDEX,CHAN)\ - store_dest(mach, VAL, &inst->Dst[INDEX], inst, CHAN, TGSI_EXEC_DATA_FLOAT) - /** * Execute ARB-style KIL which is predicated by a src register. @@ -1753,7 +1692,7 @@ exec_tex(struct tgsi_exec_machine *mach, union tgsi_exec_channel r[4]; const union tgsi_exec_channel *lod = &ZeroVec; enum tgsi_sampler_control control; - uint chan_index; + uint chan; if (modifier != TEX_MODIFIER_NONE) { FETCH(&r[3], 0, CHAN_W); @@ -1825,8 +1764,10 @@ exec_tex(struct tgsi_exec_machine *mach, assert(0); } - FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) { - STORE(&r[chan_index], 0, chan_index); + for (chan = 0; chan < NUM_CHANNELS; chan++) { + if (inst->Dst[0].Register.WriteMask & (1 << chan)) { + store_dest(mach, &r[chan], &inst->Dst[0], inst, chan, TGSI_EXEC_DATA_FLOAT); + } } } @@ -1836,7 +1777,7 @@ exec_txd(struct tgsi_exec_machine *mach, { const uint unit = inst->Src[3].Register.Index; union tgsi_exec_channel r[4]; - uint chan_index; + uint chan; /* * XXX: This is fake TXD -- the derivatives are not taken into account, yet. @@ -1886,8 +1827,10 @@ exec_txd(struct tgsi_exec_machine *mach, assert(0); } - FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) { - STORE(&r[chan_index], 0, chan_index); + for (chan = 0; chan < NUM_CHANNELS; chan++) { + if (inst->Dst[0].Register.WriteMask & (1 << chan)) { + store_dest(mach, &r[chan], &inst->Dst[0], inst, chan, TGSI_EXEC_DATA_FLOAT); + } } } @@ -2021,6 +1964,26 @@ exec_declaration(struct tgsi_exec_machine *mach, } } +typedef void (* micro_op)(union tgsi_exec_channel *dst); + +static void +exec_vector(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst, + micro_op op, + enum tgsi_exec_datatype dst_datatype) +{ + unsigned int chan; + + for (chan = 0; chan < NUM_CHANNELS; chan++) { + if (inst->Dst[0].Register.WriteMask & (1 << chan)) { + union tgsi_exec_channel dst; + + op(&dst); + store_dest(mach, &dst, &inst->Dst[0], inst, chan, dst_datatype); + } + } +} + typedef void (* micro_unary_op)(union tgsi_exec_channel *dst, const union tgsi_exec_channel *src); @@ -2074,6 +2037,27 @@ typedef void (* micro_binary_op)(union tgsi_exec_channel *dst, const union tgsi_exec_channel *src1); static void +exec_scalar_binary(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst, + micro_binary_op op, + enum tgsi_exec_datatype dst_datatype, + enum tgsi_exec_datatype src_datatype) +{ + unsigned int chan; + union tgsi_exec_channel src[2]; + union tgsi_exec_channel dst; + + fetch_source(mach, &src[0], &inst->Src[0], CHAN_X, src_datatype); + fetch_source(mach, &src[1], &inst->Src[1], CHAN_Y, src_datatype); + op(&dst, &src[0], &src[1]); + for (chan = 0; chan < NUM_CHANNELS; chan++) { + if (inst->Dst[0].Register.WriteMask & (1 << chan)) { + store_dest(mach, &dst, &inst->Dst[0], inst, chan, dst_datatype); + } + } +} + +static void exec_vector_binary(struct tgsi_exec_machine *mach, const struct tgsi_full_instruction *inst, micro_binary_op op, @@ -2320,6 +2304,289 @@ exec_nrm3(struct tgsi_exec_machine *mach, } static void +exec_scs(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_XY) { + union tgsi_exec_channel arg; + union tgsi_exec_channel result; + + fetch_source(mach, &arg, &inst->Src[0], CHAN_X, TGSI_EXEC_DATA_FLOAT); + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + micro_cos(&result, &arg); + store_dest(mach, &result, &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + micro_sin(&result, &arg); + store_dest(mach, &result, &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + store_dest(mach, &ZeroVec, &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void +exec_x2d(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + union tgsi_exec_channel r[4]; + union tgsi_exec_channel d[2]; + + fetch_source(mach, &r[0], &inst->Src[1], CHAN_X, TGSI_EXEC_DATA_FLOAT); + fetch_source(mach, &r[1], &inst->Src[1], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_XZ) { + fetch_source(mach, &r[2], &inst->Src[2], CHAN_X, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[2], &r[2], &r[0]); + fetch_source(mach, &r[3], &inst->Src[2], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[3], &r[3], &r[1]); + micro_add(&r[2], &r[2], &r[3]); + fetch_source(mach, &r[3], &inst->Src[0], CHAN_X, TGSI_EXEC_DATA_FLOAT); + micro_add(&d[0], &r[2], &r[3]); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_YW) { + fetch_source(mach, &r[2], &inst->Src[2], CHAN_Z, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[2], &r[2], &r[0]); + fetch_source(mach, &r[3], &inst->Src[2], CHAN_W, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[3], &r[3], &r[1]); + micro_add(&r[2], &r[2], &r[3]); + fetch_source(mach, &r[3], &inst->Src[0], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + micro_add(&d[1], &r[2], &r[3]); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + store_dest(mach, &d[0], &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + store_dest(mach, &d[1], &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + store_dest(mach, &d[0], &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &d[1], &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void +exec_rfl(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + union tgsi_exec_channel r[9]; + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_XYZ) { + /* r0 = dp3(src0, src0) */ + fetch_source(mach, &r[2], &inst->Src[0], CHAN_X, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[0], &r[2], &r[2]); + fetch_source(mach, &r[4], &inst->Src[0], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[8], &r[4], &r[4]); + micro_add(&r[0], &r[0], &r[8]); + fetch_source(mach, &r[6], &inst->Src[0], CHAN_Z, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[8], &r[6], &r[6]); + micro_add(&r[0], &r[0], &r[8]); + + /* r1 = dp3(src0, src1) */ + fetch_source(mach, &r[3], &inst->Src[1], CHAN_X, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[1], &r[2], &r[3]); + fetch_source(mach, &r[5], &inst->Src[1], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[8], &r[4], &r[5]); + micro_add(&r[1], &r[1], &r[8]); + fetch_source(mach, &r[7], &inst->Src[1], CHAN_Z, TGSI_EXEC_DATA_FLOAT); + micro_mul(&r[8], &r[6], &r[7]); + micro_add(&r[1], &r[1], &r[8]); + + /* r1 = 2 * r1 / r0 */ + micro_add(&r[1], &r[1], &r[1]); + micro_div(&r[1], &r[1], &r[0]); + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + micro_mul(&r[2], &r[2], &r[1]); + micro_sub(&r[2], &r[2], &r[3]); + store_dest(mach, &r[2], &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + micro_mul(&r[4], &r[4], &r[1]); + micro_sub(&r[4], &r[4], &r[5]); + store_dest(mach, &r[4], &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + micro_mul(&r[6], &r[6], &r[1]); + micro_sub(&r[6], &r[6], &r[7]); + store_dest(mach, &r[6], &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void +exec_xpd(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + union tgsi_exec_channel r[6]; + union tgsi_exec_channel d[3]; + + fetch_source(mach, &r[0], &inst->Src[0], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + fetch_source(mach, &r[1], &inst->Src[1], CHAN_Z, TGSI_EXEC_DATA_FLOAT); + + micro_mul(&r[2], &r[0], &r[1]); + + fetch_source(mach, &r[3], &inst->Src[0], CHAN_Z, TGSI_EXEC_DATA_FLOAT); + fetch_source(mach, &r[4], &inst->Src[1], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + + micro_mul(&r[5], &r[3], &r[4] ); + micro_sub(&d[CHAN_X], &r[2], &r[5]); + + fetch_source(mach, &r[2], &inst->Src[1], CHAN_X, TGSI_EXEC_DATA_FLOAT); + + micro_mul(&r[3], &r[3], &r[2]); + + fetch_source(mach, &r[5], &inst->Src[0], CHAN_X, TGSI_EXEC_DATA_FLOAT); + + micro_mul(&r[1], &r[1], &r[5]); + micro_sub(&d[CHAN_Y], &r[3], &r[1]); + + micro_mul(&r[5], &r[5], &r[4]); + micro_mul(&r[0], &r[0], &r[2]); + micro_sub(&d[CHAN_Z], &r[5], &r[0]); + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + store_dest(mach, &d[CHAN_X], &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + store_dest(mach, &d[CHAN_Y], &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + store_dest(mach, &d[CHAN_Z], &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void +exec_dst(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + union tgsi_exec_channel r[2]; + union tgsi_exec_channel d[4]; + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + fetch_source(mach, &r[0], &inst->Src[0], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + fetch_source(mach, &r[1], &inst->Src[1], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + micro_mul(&d[CHAN_Y], &r[0], &r[1]); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + fetch_source(mach, &d[CHAN_Z], &inst->Src[0], CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + fetch_source(mach, &d[CHAN_W], &inst->Src[1], CHAN_W, TGSI_EXEC_DATA_FLOAT); + } + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + store_dest(mach, &d[CHAN_Y], &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + store_dest(mach, &d[CHAN_Z], &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &d[CHAN_W], &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void +exec_log(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + union tgsi_exec_channel r[3]; + + fetch_source(mach, &r[0], &inst->Src[0], CHAN_X, TGSI_EXEC_DATA_FLOAT); + micro_abs(&r[2], &r[0]); /* r2 = abs(r0) */ + micro_lg2(&r[1], &r[2]); /* r1 = lg2(r2) */ + micro_flr(&r[0], &r[1]); /* r0 = floor(r1) */ + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + store_dest(mach, &r[0], &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + micro_exp2(&r[0], &r[0]); /* r0 = 2 ^ r0 */ + micro_div(&r[0], &r[2], &r[0]); /* r0 = r2 / r0 */ + store_dest(mach, &r[0], &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + store_dest(mach, &r[1], &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void +exec_exp(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + union tgsi_exec_channel r[3]; + + fetch_source(mach, &r[0], &inst->Src[0], CHAN_X, TGSI_EXEC_DATA_FLOAT); + micro_flr(&r[1], &r[0]); /* r1 = floor(r0) */ + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + micro_exp2(&r[2], &r[1]); /* r2 = 2 ^ r1 */ + store_dest(mach, &r[2], &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + micro_sub(&r[2], &r[0], &r[1]); /* r2 = r0 - r1 */ + store_dest(mach, &r[2], &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + micro_exp2(&r[2], &r[0]); /* r2 = 2 ^ r0 */ + store_dest(mach, &r[2], &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void +exec_lit(struct tgsi_exec_machine *mach, + const struct tgsi_full_instruction *inst) +{ + union tgsi_exec_channel r[3]; + union tgsi_exec_channel d[3]; + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_X, TGSI_EXEC_DATA_FLOAT); + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_YZ) { + fetch_source(mach, &r[0], &inst->Src[0], CHAN_X, TGSI_EXEC_DATA_FLOAT); + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { + micro_max(&d[CHAN_Y], &r[0], &ZeroVec); + store_dest(mach, &d[CHAN_Y], &inst->Dst[0], inst, CHAN_Y, TGSI_EXEC_DATA_FLOAT); + } + + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Z) { + fetch_source(mach, &r[1], &inst->Src[0], CHAN_Y, TGSI_EXEC_DATA_FLOAT); + micro_max(&r[1], &r[1], &ZeroVec); + + fetch_source(mach, &r[2], &inst->Src[0], CHAN_W, TGSI_EXEC_DATA_FLOAT); + micro_min(&r[2], &r[2], &P128Vec); + micro_max(&r[2], &r[2], &M128Vec); + micro_pow(&r[1], &r[1], &r[2]); + micro_lt(&d[CHAN_Z], &ZeroVec, &r[0], &r[1], &ZeroVec); + store_dest(mach, &d[CHAN_Z], &inst->Dst[0], inst, CHAN_Z, TGSI_EXEC_DATA_FLOAT); + } + } + if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_W) { + store_dest(mach, &OneVec, &inst->Dst[0], inst, CHAN_W, TGSI_EXEC_DATA_FLOAT); + } +} + +static void exec_break(struct tgsi_exec_machine *mach) { if (mach->BreakType == TGSI_EXEC_BREAK_INSIDE_LOOP) { @@ -2702,9 +2969,7 @@ exec_instruction( const struct tgsi_full_instruction *inst, int *pc ) { - uint chan_index; union tgsi_exec_channel r[10]; - union tgsi_exec_channel d[8]; (*pc)++; @@ -2718,36 +2983,7 @@ exec_instruction( break; case TGSI_OPCODE_LIT: - if (IS_CHANNEL_ENABLED( *inst, CHAN_Y ) || IS_CHANNEL_ENABLED( *inst, CHAN_Z )) { - FETCH( &r[0], 0, CHAN_X ); - if (IS_CHANNEL_ENABLED( *inst, CHAN_Y )) { - micro_max(&d[CHAN_Y], &r[0], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C]); - } - - if (IS_CHANNEL_ENABLED( *inst, CHAN_Z )) { - FETCH( &r[1], 0, CHAN_Y ); - micro_max( &r[1], &r[1], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C] ); - - FETCH( &r[2], 0, CHAN_W ); - micro_min( &r[2], &r[2], &mach->Temps[TEMP_128_I].xyzw[TEMP_128_C] ); - micro_max( &r[2], &r[2], &mach->Temps[TEMP_M128_I].xyzw[TEMP_M128_C] ); - micro_pow( &r[1], &r[1], &r[2] ); - micro_lt(&d[CHAN_Z], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], &r[0], &r[1], &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C]); - } - - if (IS_CHANNEL_ENABLED(*inst, CHAN_Y)) { - STORE(&d[CHAN_Y], 0, CHAN_Y); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Z)) { - STORE(&d[CHAN_Z], 0, CHAN_Z); - } - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_X )) { - STORE( &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_X ); - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_W )) { - STORE( &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_W ); - } + exec_lit(mach, inst); break; case TGSI_OPCODE_RCP: @@ -2759,44 +2995,11 @@ exec_instruction( break; case TGSI_OPCODE_EXP: - FETCH( &r[0], 0, CHAN_X ); - micro_flr( &r[1], &r[0] ); /* r1 = floor(r0) */ - if (IS_CHANNEL_ENABLED( *inst, CHAN_X )) { - micro_exp2( &r[2], &r[1] ); /* r2 = 2 ^ r1 */ - STORE( &r[2], 0, CHAN_X ); /* store r2 */ - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_Y )) { - micro_sub( &r[2], &r[0], &r[1] ); /* r2 = r0 - r1 */ - STORE( &r[2], 0, CHAN_Y ); /* store r2 */ - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_Z )) { - micro_exp2( &r[2], &r[0] ); /* r2 = 2 ^ r0 */ - STORE( &r[2], 0, CHAN_Z ); /* store r2 */ - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_W )) { - STORE( &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_W ); - } + exec_exp(mach, inst); break; case TGSI_OPCODE_LOG: - FETCH( &r[0], 0, CHAN_X ); - micro_abs( &r[2], &r[0] ); /* r2 = abs(r0) */ - micro_lg2( &r[1], &r[2] ); /* r1 = lg2(r2) */ - micro_flr( &r[0], &r[1] ); /* r0 = floor(r1) */ - if (IS_CHANNEL_ENABLED( *inst, CHAN_X )) { - STORE( &r[0], 0, CHAN_X ); - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_Y )) { - micro_exp2( &r[0], &r[0] ); /* r0 = 2 ^ r0 */ - micro_div( &r[0], &r[2], &r[0] ); /* r0 = r2 / r0 */ - STORE( &r[0], 0, CHAN_Y ); - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_Z )) { - STORE( &r[1], 0, CHAN_Z ); - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_W )) { - STORE( &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_W ); - } + exec_log(mach, inst); break; case TGSI_OPCODE_MUL: @@ -2816,30 +3019,7 @@ exec_instruction( break; case TGSI_OPCODE_DST: - if (IS_CHANNEL_ENABLED( *inst, CHAN_Y )) { - FETCH( &r[0], 0, CHAN_Y ); - FETCH( &r[1], 1, CHAN_Y); - micro_mul(&d[CHAN_Y], &r[0], &r[1]); - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_Z )) { - FETCH(&d[CHAN_Z], 0, CHAN_Z); - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_W )) { - FETCH(&d[CHAN_W], 1, CHAN_W); - } - - if (IS_CHANNEL_ENABLED(*inst, CHAN_X)) { - STORE(&mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_X); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Y)) { - STORE(&d[CHAN_Y], 0, CHAN_Y); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Z)) { - STORE(&d[CHAN_Z], 0, CHAN_Z); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_W)) { - STORE(&d[CHAN_W], 0, CHAN_W); - } + exec_dst(mach, inst); break; case TGSI_OPCODE_MIN: @@ -2903,53 +3083,11 @@ exec_instruction( break; case TGSI_OPCODE_POW: - FETCH(&r[0], 0, CHAN_X); - FETCH(&r[1], 1, CHAN_X); - - micro_pow( &r[0], &r[0], &r[1] ); - - FOR_EACH_ENABLED_CHANNEL( *inst, chan_index ) { - STORE( &r[0], 0, chan_index ); - } + exec_scalar_binary(mach, inst, micro_pow, TGSI_EXEC_DATA_FLOAT, TGSI_EXEC_DATA_FLOAT); break; case TGSI_OPCODE_XPD: - FETCH(&r[0], 0, CHAN_Y); - FETCH(&r[1], 1, CHAN_Z); - - micro_mul( &r[2], &r[0], &r[1] ); - - FETCH(&r[3], 0, CHAN_Z); - FETCH(&r[4], 1, CHAN_Y); - - micro_mul( &r[5], &r[3], &r[4] ); - micro_sub(&d[CHAN_X], &r[2], &r[5]); - - FETCH(&r[2], 1, CHAN_X); - - micro_mul( &r[3], &r[3], &r[2] ); - - FETCH(&r[5], 0, CHAN_X); - - micro_mul( &r[1], &r[1], &r[5] ); - micro_sub(&d[CHAN_Y], &r[3], &r[1]); - - micro_mul( &r[5], &r[5], &r[4] ); - micro_mul( &r[0], &r[0], &r[2] ); - micro_sub(&d[CHAN_Z], &r[5], &r[0]); - - if (IS_CHANNEL_ENABLED(*inst, CHAN_X)) { - STORE(&d[CHAN_X], 0, CHAN_X); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Y)) { - STORE(&d[CHAN_Y], 0, CHAN_Y); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Z)) { - STORE(&d[CHAN_Z], 0, CHAN_Z); - } - if (IS_CHANNEL_ENABLED( *inst, CHAN_W )) { - STORE( &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_W ); - } + exec_xpd(mach, inst); break; case TGSI_OPCODE_ABS: @@ -2957,12 +3095,7 @@ exec_instruction( break; case TGSI_OPCODE_RCC: - FETCH(&r[0], 0, CHAN_X); - micro_div(&r[0], &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], &r[0]); - micro_float_clamp(&r[0], &r[0]); - FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) { - STORE(&r[0], 0, chan_index); - } + exec_scalar_unary(mach, inst, micro_rcc, TGSI_EXEC_DATA_FLOAT, TGSI_EXEC_DATA_FLOAT); break; case TGSI_OPCODE_DPH: @@ -3006,52 +3139,7 @@ exec_instruction( break; case TGSI_OPCODE_RFL: - if (IS_CHANNEL_ENABLED(*inst, CHAN_X) || - IS_CHANNEL_ENABLED(*inst, CHAN_Y) || - IS_CHANNEL_ENABLED(*inst, CHAN_Z)) { - /* r0 = dp3(src0, src0) */ - FETCH(&r[2], 0, CHAN_X); - micro_mul(&r[0], &r[2], &r[2]); - FETCH(&r[4], 0, CHAN_Y); - micro_mul(&r[8], &r[4], &r[4]); - micro_add(&r[0], &r[0], &r[8]); - FETCH(&r[6], 0, CHAN_Z); - micro_mul(&r[8], &r[6], &r[6]); - micro_add(&r[0], &r[0], &r[8]); - - /* r1 = dp3(src0, src1) */ - FETCH(&r[3], 1, CHAN_X); - micro_mul(&r[1], &r[2], &r[3]); - FETCH(&r[5], 1, CHAN_Y); - micro_mul(&r[8], &r[4], &r[5]); - micro_add(&r[1], &r[1], &r[8]); - FETCH(&r[7], 1, CHAN_Z); - micro_mul(&r[8], &r[6], &r[7]); - micro_add(&r[1], &r[1], &r[8]); - - /* r1 = 2 * r1 / r0 */ - micro_add(&r[1], &r[1], &r[1]); - micro_div(&r[1], &r[1], &r[0]); - - if (IS_CHANNEL_ENABLED(*inst, CHAN_X)) { - micro_mul(&r[2], &r[2], &r[1]); - micro_sub(&r[2], &r[2], &r[3]); - STORE(&r[2], 0, CHAN_X); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Y)) { - micro_mul(&r[4], &r[4], &r[1]); - micro_sub(&r[4], &r[4], &r[5]); - STORE(&r[4], 0, CHAN_Y); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Z)) { - micro_mul(&r[6], &r[6], &r[1]); - micro_sub(&r[6], &r[6], &r[7]); - STORE(&r[6], 0, CHAN_Z); - } - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_W)) { - STORE(&mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_W); - } + exec_rfl(mach, inst); break; case TGSI_OPCODE_SEQ: @@ -3059,9 +3147,7 @@ exec_instruction( break; case TGSI_OPCODE_SFL: - FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) { - STORE(&mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], 0, chan_index); - } + exec_vector(mach, inst, micro_sfl, TGSI_EXEC_DATA_FLOAT); break; case TGSI_OPCODE_SGT: @@ -3081,9 +3167,7 @@ exec_instruction( break; case TGSI_OPCODE_STR: - FOR_EACH_ENABLED_CHANNEL(*inst, chan_index) { - STORE(&mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, chan_index); - } + exec_vector(mach, inst, micro_str, TGSI_EXEC_DATA_FLOAT); break; case TGSI_OPCODE_TEX: @@ -3140,42 +3224,7 @@ exec_instruction( break; case TGSI_OPCODE_X2D: - FETCH(&r[0], 1, CHAN_X); - FETCH(&r[1], 1, CHAN_Y); - if (IS_CHANNEL_ENABLED(*inst, CHAN_X) || - IS_CHANNEL_ENABLED(*inst, CHAN_Z)) { - FETCH(&r[2], 2, CHAN_X); - micro_mul(&r[2], &r[2], &r[0]); - FETCH(&r[3], 2, CHAN_Y); - micro_mul(&r[3], &r[3], &r[1]); - micro_add(&r[2], &r[2], &r[3]); - FETCH(&r[3], 0, CHAN_X); - micro_add(&d[CHAN_X], &r[2], &r[3]); - - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Y) || - IS_CHANNEL_ENABLED(*inst, CHAN_W)) { - FETCH(&r[2], 2, CHAN_Z); - micro_mul(&r[2], &r[2], &r[0]); - FETCH(&r[3], 2, CHAN_W); - micro_mul(&r[3], &r[3], &r[1]); - micro_add(&r[2], &r[2], &r[3]); - FETCH(&r[3], 0, CHAN_Y); - micro_add(&d[CHAN_Y], &r[2], &r[3]); - - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_X)) { - STORE(&d[CHAN_X], 0, CHAN_X); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Y)) { - STORE(&d[CHAN_Y], 0, CHAN_Y); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Z)) { - STORE(&d[CHAN_X], 0, CHAN_Z); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_W)) { - STORE(&d[CHAN_Y], 0, CHAN_W); - } + exec_x2d(mach, inst); break; case TGSI_OPCODE_ARA: @@ -3283,23 +3332,7 @@ exec_instruction( break; case TGSI_OPCODE_SCS: - if( IS_CHANNEL_ENABLED( *inst, CHAN_X ) || IS_CHANNEL_ENABLED( *inst, CHAN_Y ) ) { - FETCH( &r[0], 0, CHAN_X ); - if (IS_CHANNEL_ENABLED(*inst, CHAN_X)) { - micro_cos(&r[1], &r[0]); - STORE(&r[1], 0, CHAN_X); - } - if (IS_CHANNEL_ENABLED(*inst, CHAN_Y)) { - micro_sin(&r[1], &r[0]); - STORE(&r[1], 0, CHAN_Y); - } - } - if( IS_CHANNEL_ENABLED( *inst, CHAN_Z ) ) { - STORE( &mach->Temps[TEMP_0_I].xyzw[TEMP_0_C], 0, CHAN_Z ); - } - if( IS_CHANNEL_ENABLED( *inst, CHAN_W ) ) { - STORE( &mach->Temps[TEMP_1_I].xyzw[TEMP_1_C], 0, CHAN_W ); - } + exec_scs(mach, inst); break; case TGSI_OPCODE_NRM: @@ -3684,14 +3717,6 @@ tgsi_exec_machine_run( struct tgsi_exec_machine *mach ) mach->Primitives[0] = 0; } - for (i = 0; i < QUAD_SIZE; i++) { - mach->Temps[TEMP_CC_I].xyzw[TEMP_CC_C].u[i] = - (TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_X_SHIFT) | - (TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_Y_SHIFT) | - (TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_Z_SHIFT) | - (TGSI_EXEC_CC_EQ << TGSI_EXEC_CC_W_SHIFT); - } - /* execute declarations (interpolants) */ for (i = 0; i < mach->NumDeclarations; i++) { exec_declaration( mach, mach->Declarations+i ); diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index 9d62c1d7e7e..bd5492e9497 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -131,34 +131,15 @@ struct tgsi_sampler #define TGSI_EXEC_TEMP_PRIMITIVE_I (TGSI_EXEC_NUM_TEMPS + 2) #define TGSI_EXEC_TEMP_PRIMITIVE_C 2 -/* NVIDIA condition code (CC) vector - */ -#define TGSI_EXEC_CC_GT 0x01 -#define TGSI_EXEC_CC_EQ 0x02 -#define TGSI_EXEC_CC_LT 0x04 -#define TGSI_EXEC_CC_UN 0x08 - -#define TGSI_EXEC_CC_X_MASK 0x000000ff -#define TGSI_EXEC_CC_X_SHIFT 0 -#define TGSI_EXEC_CC_Y_MASK 0x0000ff00 -#define TGSI_EXEC_CC_Y_SHIFT 8 -#define TGSI_EXEC_CC_Z_MASK 0x00ff0000 -#define TGSI_EXEC_CC_Z_SHIFT 16 -#define TGSI_EXEC_CC_W_MASK 0xff000000 -#define TGSI_EXEC_CC_W_SHIFT 24 - -#define TGSI_EXEC_TEMP_CC_I (TGSI_EXEC_NUM_TEMPS + 2) -#define TGSI_EXEC_TEMP_CC_C 3 - -#define TGSI_EXEC_TEMP_THREE_I (TGSI_EXEC_NUM_TEMPS + 3) -#define TGSI_EXEC_TEMP_THREE_C 0 +#define TGSI_EXEC_TEMP_THREE_I (TGSI_EXEC_NUM_TEMPS + 2) +#define TGSI_EXEC_TEMP_THREE_C 3 #define TGSI_EXEC_TEMP_HALF_I (TGSI_EXEC_NUM_TEMPS + 3) -#define TGSI_EXEC_TEMP_HALF_C 1 +#define TGSI_EXEC_TEMP_HALF_C 0 /* execution mask, each value is either 0 or ~0 */ #define TGSI_EXEC_MASK_I (TGSI_EXEC_NUM_TEMPS + 3) -#define TGSI_EXEC_MASK_C 2 +#define TGSI_EXEC_MASK_C 1 /* 4 register buffer for various purposes */ #define TGSI_EXEC_TEMP_R0 (TGSI_EXEC_NUM_TEMPS + 4) diff --git a/src/gallium/drivers/failover/SConscript b/src/gallium/drivers/failover/SConscript index f8e9b1b4911..9347431f4e5 100644 --- a/src/gallium/drivers/failover/SConscript +++ b/src/gallium/drivers/failover/SConscript @@ -10,4 +10,6 @@ failover = env.ConvenienceLibrary( 'fo_context.c', ]) +env.Alias('failover', failover) + Export('failover') diff --git a/src/gallium/drivers/galahad/SConscript b/src/gallium/drivers/galahad/SConscript index b398a3f0615..3f39f99e517 100644 --- a/src/gallium/drivers/galahad/SConscript +++ b/src/gallium/drivers/galahad/SConscript @@ -3,11 +3,13 @@ Import('*') env = env.Clone() galahad = env.ConvenienceLibrary( - target = 'identity', + target = 'galahad', source = [ 'glhd_context.c', 'glhd_objects.c', 'glhd_screen.c', ]) +env.Alias('galahad', galahad) + Export('galahad') diff --git a/src/gallium/drivers/i915/SConscript b/src/gallium/drivers/i915/SConscript index d4bf6fef134..8f5deed64a9 100644 --- a/src/gallium/drivers/i915/SConscript +++ b/src/gallium/drivers/i915/SConscript @@ -2,10 +2,6 @@ Import('*') env = env.Clone() -if msvc: - print 'warning: not building i915g' - Return() - i915 = env.ConvenienceLibrary( target = 'i915', source = [ @@ -34,4 +30,6 @@ i915 = env.ConvenienceLibrary( 'i915_resource_texture.c', ]) +env.Alias('i915', i915) + Export('i915') diff --git a/src/gallium/drivers/i965/SConscript b/src/gallium/drivers/i965/SConscript index 119f914a16d..019af682f68 100644 --- a/src/gallium/drivers/i965/SConscript +++ b/src/gallium/drivers/i965/SConscript @@ -2,10 +2,6 @@ Import('*') env = env.Clone() -if msvc: - print 'warning: not building i965g' - Return(); - i965 = env.ConvenienceLibrary( target = 'i965', source = [ diff --git a/src/gallium/drivers/llvmpipe/README b/src/gallium/drivers/llvmpipe/README index ec30d4d7084..e9374cc6efa 100644 --- a/src/gallium/drivers/llvmpipe/README +++ b/src/gallium/drivers/llvmpipe/README @@ -1,53 +1,6 @@ LLVMPIPE -- a fork of softpipe that employs LLVM for code generation. -Status -====== - -Done so far is: - - - the whole fragment pipeline is code generated in a single function - - - input interpolation - - - depth testing - - - texture sampling - - 1D/2D/3D/cube maps supported - - all texture wrap modes supported - - all texture filtering modes supported - - perhaps not all texture formats yet supported - - - fragment shader TGSI translation - - same level of support as the TGSI SSE2 exec machine, with the exception - we don't fallback to TGSI interpretation when an unsupported opcode is - found, but just ignore it - - done in SoA layout - - input interpolation also code generated - - - alpha testing - - - blend (including logic ops) - - both in SoA and AoS layouts, but only the former used for now - - - code is generic - - intermediates can be vectors of floats, ubytes, fixed point, etc, and of - any width and length - - not all operations are implemented for these types yet though - -Most mesa/progs/demos/* work. - -To do (probably by this order): - - - code generate stipple and stencil testing - - - translate TGSI control flow instructions, and all other remaining opcodes - - - integrate with the draw module for VS code generation - - - code generate the triangle setup and rasterization - - Requirements ============ @@ -98,7 +51,7 @@ Building To build everything on Linux invoke scons as: - scons debug=yes statetrackers=mesa drivers=llvmpipe winsys=xlib dri=false + scons build=debug libgl-xlib Alternatively, you can build it with GNU make, if you prefer, by invoking it as @@ -108,19 +61,16 @@ but the rest of these instructions assume that scons is used. For windows is everything the except except the winsys: - scons debug=yes statetrackers=mesa drivers=llvmpipe winsys=gdi dri=false + scons build=debug libgl-gdi Using ===== -On Linux, building will create a drop-in alternative for libGL.so. To use it -set the environment variables: - - export LD_LIBRARY_PATH=$PWD/build/linux-x86_64-debug/lib:$LD_LIBRARY_PATH +On Linux, building will create a drop-in alternative for libGL.so into -or + build/foo/gallium/targets/libgl-xlib/libGL.so - export LD_LIBRARY_PATH=$PWD/build/linux-x86-debug/lib:$LD_LIBRARY_PATH +To use it set the LD_LIBRARY_PATH environment variable accordingly. For performance evaluation pass debug=no to scons, and use the corresponding lib directory without the "-debug" suffix. @@ -136,7 +86,7 @@ Profiling To profile llvmpipe you should pass the options - scons debug=no profile=yes <same-as-before> + scons build=profile <same-as-before> This will ensure that frame pointers are used both in C and JIT functions, and that no tail call optimizations are done by gcc. @@ -200,5 +150,4 @@ Development Notes interfaces very closely, and appear to be complete enough for code generation. See http://npcontemplation.blogspot.com/2008/06/secret-of-llvm-c-bindings.html - for a stand-alone example. - See the llvm-c/Core.h file for reference. + for a stand-alone example. See the llvm-c/Core.h file for reference. diff --git a/src/gallium/drivers/llvmpipe/SConscript b/src/gallium/drivers/llvmpipe/SConscript index 49950153a4f..26b258b9569 100644 --- a/src/gallium/drivers/llvmpipe/SConscript +++ b/src/gallium/drivers/llvmpipe/SConscript @@ -9,8 +9,6 @@ if not env['llvm']: env = env.Clone() -env.Tool('udis86') - env.Append(CPPPATH = ['.']) env.CodeGenerate( @@ -78,6 +76,8 @@ llvmpipe = env.ConvenienceLibrary( lp_tile_soa_os, ]) +env.Alias('llvmpipe', llvmpipe) + if env['platform'] != 'embedded': env = env.Clone() @@ -92,7 +92,7 @@ if env['platform'] != 'embedded': 'sincos', ] - if not msvc: + if not env['msvc']: tests.append('round') for test in tests: diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c index d358a983943..decf3bd4499 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.c +++ b/src/gallium/drivers/llvmpipe/lp_rast.c @@ -485,8 +485,11 @@ static void lp_rast_end_query(struct lp_rasterizer_task *task, const union lp_rast_cmd_arg arg) { - task->query->count[task->thread_index] += task->vis_counter; - task->query = NULL; + assert(task->query); + if (task->query) { + task->query->count[task->thread_index] += task->vis_counter; + task->query = NULL; + } } diff --git a/src/gallium/drivers/llvmpipe/lp_setup_line.c b/src/gallium/drivers/llvmpipe/lp_setup_line.c index 827413bb33e..29c231714e1 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_line.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_line.c @@ -569,7 +569,10 @@ try_setup_line( struct lp_setup_context *setup, return TRUE; } - u_rect_find_intersection(&setup->draw_region, &bbox); + /* Can safely discard negative regions: + */ + bbox.x0 = MAX2(bbox.x0, 0); + bbox.y0 = MAX2(bbox.y0, 0); line = lp_setup_alloc_triangle(scene, key->num_inputs, @@ -680,24 +683,26 @@ try_setup_line( struct lp_setup_context *setup, * these planes elsewhere. */ if (nr_planes == 8) { + const struct u_rect *scissor = &setup->scissor; + plane[4].dcdx = -1; plane[4].dcdy = 0; - plane[4].c = 1-bbox.x0; + plane[4].c = 1-scissor->x0; plane[4].eo = 1; plane[5].dcdx = 1; plane[5].dcdy = 0; - plane[5].c = bbox.x1+1; + plane[5].c = scissor->x1+1; plane[5].eo = 0; plane[6].dcdx = 0; plane[6].dcdy = 1; - plane[6].c = 1-bbox.y0; + plane[6].c = 1-scissor->y0; plane[6].eo = 1; plane[7].dcdx = 0; plane[7].dcdy = -1; - plane[7].c = bbox.y1+1; + plane[7].c = scissor->y1+1; plane[7].eo = 0; } diff --git a/src/gallium/drivers/llvmpipe/lp_setup_tri.c b/src/gallium/drivers/llvmpipe/lp_setup_tri.c index 4ab0b72a574..bfb6bf277bd 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup_tri.c +++ b/src/gallium/drivers/llvmpipe/lp_setup_tri.c @@ -295,7 +295,12 @@ do_triangle_ccw(struct lp_setup_context *setup, return TRUE; } - u_rect_find_intersection(&setup->draw_region, &bbox); + /* Can safely discard negative regions, but need to keep hold of + * information about when the triangle extends past screen + * boundaries. See trimmed_box in lp_setup_bin_triangle(). + */ + bbox.x0 = MAX2(bbox.x0, 0); + bbox.y0 = MAX2(bbox.y0, 0); tri = lp_setup_alloc_triangle(scene, key->num_inputs, @@ -501,24 +506,26 @@ do_triangle_ccw(struct lp_setup_context *setup, * these planes elsewhere. */ if (nr_planes == 7) { + const struct u_rect *scissor = &setup->scissor; + plane[3].dcdx = -1; plane[3].dcdy = 0; - plane[3].c = 1-bbox.x0; + plane[3].c = 1-scissor->x0; plane[3].eo = 1; plane[4].dcdx = 1; plane[4].dcdy = 0; - plane[4].c = bbox.x1+1; + plane[4].c = scissor->x1+1; plane[4].eo = 0; plane[5].dcdx = 0; plane[5].dcdy = 1; - plane[5].c = 1-bbox.y0; + plane[5].c = 1-scissor->y0; plane[5].eo = 1; plane[6].dcdx = 0; plane[6].dcdy = -1; - plane[6].c = bbox.y1+1; + plane[6].c = scissor->y1+1; plane[6].eo = 0; } @@ -559,6 +566,7 @@ lp_setup_bin_triangle( struct lp_setup_context *setup, int nr_planes ) { struct lp_scene *scene = setup->scene; + struct u_rect trimmed_box = *bbox; int i; /* What is the largest power-of-two boundary this triangle crosses: @@ -572,6 +580,13 @@ lp_setup_bin_triangle( struct lp_setup_context *setup, int sz = floor_pot((bbox->x1 - (bbox->x0 & ~3)) | (bbox->y1 - (bbox->y0 & ~3))); + /* Now apply scissor, etc to the bounding box. Could do this + * earlier, but it confuses the logic for tri-16 and would force + * the rasterizer to also respect scissor, etc, just for the rare + * cases where a small triangle extends beyond the scissor. + */ + u_rect_find_intersection(&setup->draw_region, &trimmed_box); + /* Determine which tile(s) intersect the triangle's bounding box */ if (dx < TILE_SIZE) @@ -626,15 +641,16 @@ lp_setup_bin_triangle( struct lp_setup_context *setup, struct lp_rast_plane *plane = GET_PLANES(tri); int c[MAX_PLANES]; int ei[MAX_PLANES]; + int eo[MAX_PLANES]; int xstep[MAX_PLANES]; int ystep[MAX_PLANES]; int x, y; - int ix0 = bbox->x0 / TILE_SIZE; - int iy0 = bbox->y0 / TILE_SIZE; - int ix1 = bbox->x1 / TILE_SIZE; - int iy1 = bbox->y1 / TILE_SIZE; + int ix0 = trimmed_box.x0 / TILE_SIZE; + int iy0 = trimmed_box.y0 / TILE_SIZE; + int ix1 = trimmed_box.x1 / TILE_SIZE; + int iy1 = trimmed_box.y1 / TILE_SIZE; for (i = 0; i < nr_planes; i++) { c[i] = (plane[i].c + @@ -799,6 +815,16 @@ static void triangle_both( struct lp_setup_context *setup, { float area = calc_area(v0, v1, v2); + if (0) { + assert(!util_is_inf_or_nan(v0[0][0])); + assert(!util_is_inf_or_nan(v0[0][1])); + assert(!util_is_inf_or_nan(v1[0][0])); + assert(!util_is_inf_or_nan(v1[0][1])); + assert(!util_is_inf_or_nan(v2[0][0])); + assert(!util_is_inf_or_nan(v2[0][1])); + assert(!util_is_inf_or_nan(area)); + } + if (area > 0.0f) retry_triangle_ccw( setup, v0, v1, v2, setup->ccw_is_frontface ); else if (area < 0.0f) diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 9fbedac165f..48971510f21 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -761,11 +761,6 @@ generate_fragment(struct llvmpipe_screen *screen, } } -#ifdef PIPE_ARCH_X86 - /* Avoid corrupting the FPU stack on 32bit OSes. */ - lp_build_intrinsic(builder, "llvm.x86.mmx.emms", LLVMVoidType(), NULL, 0); -#endif - LLVMBuildRetVoid(builder); LLVMDisposeBuilder(builder); @@ -1067,11 +1062,11 @@ llvmpipe_bind_fs_state(struct pipe_context *pipe, void *fs) draw_flush(llvmpipe->draw); + llvmpipe->fs = (struct lp_fragment_shader *) fs; + draw_bind_fragment_shader(llvmpipe->draw, (llvmpipe->fs ? llvmpipe->fs->draw_data : NULL)); - llvmpipe->fs = fs; - llvmpipe->dirty |= LP_NEW_FS; } diff --git a/src/gallium/drivers/nv50/nv50_shader_state.c b/src/gallium/drivers/nv50/nv50_shader_state.c index 6c41e8f4561..306aa81d985 100644 --- a/src/gallium/drivers/nv50/nv50_shader_state.c +++ b/src/gallium/drivers/nv50/nv50_shader_state.c @@ -39,6 +39,9 @@ nv50_transfer_constbuf(struct nv50_context *nv50, uint32_t *map; unsigned count, start; + if (buf == NULL) + return; + map = pipe_buffer_map(pipe, buf, PIPE_TRANSFER_READ, &transfer); if (!map) return; diff --git a/src/gallium/drivers/nvfx/nvfx_screen.c b/src/gallium/drivers/nvfx/nvfx_screen.c index 875b3a96ca6..f3ed4ad5bdd 100644 --- a/src/gallium/drivers/nvfx/nvfx_screen.c +++ b/src/gallium/drivers/nvfx/nvfx_screen.c @@ -78,6 +78,10 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return 1; case PIPE_CAP_DEPTH_CLAMP: return 0; // TODO: implement depth clamp + case PIPE_CAP_PRIMITIVE_RESTART: + return 0; // TODO: implement primitive restart + case PIPE_CAP_SHADER_STENCIL_EXPORT: + return 0; default: NOUVEAU_ERR("Warning: unknown PIPE_CAP %d\n", param); return 0; diff --git a/src/gallium/drivers/r300/SConscript b/src/gallium/drivers/r300/SConscript index bf023daaa56..b49db937994 100644 --- a/src/gallium/drivers/r300/SConscript +++ b/src/gallium/drivers/r300/SConscript @@ -39,5 +39,7 @@ r300 = env.ConvenienceLibrary( 'r300_transfer.c', ] + r300compiler) + r300compiler +env.Alias('r300', r300) + Export('r300') diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index 91a374a5838..0ac4e4c6f12 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -176,12 +176,12 @@ static void r300_clear(struct pipe_context* pipe, fb->zsbuf ? r300_texture(fb->zsbuf->texture) : NULL; uint32_t width = fb->width; uint32_t height = fb->height; - boolean has_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); + boolean can_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); uint32_t hyperz_dcv = hyperz->zb_depthclearvalue; /* Enable fast Z clear. * The zbuffer must be in micro-tiled mode, otherwise it locks up. */ - if ((buffers & PIPE_CLEAR_DEPTHSTENCIL) && has_hyperz) { + if ((buffers & PIPE_CLEAR_DEPTHSTENCIL) && can_hyperz) { hyperz_dcv = hyperz->zb_depthclearvalue = r300_depth_clear_value(fb->zsbuf->format, depth, stencil); diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c index 624dadd07d7..fb099e2a7d0 100644 --- a/src/gallium/drivers/r300/r300_context.c +++ b/src/gallium/drivers/r300/r300_context.c @@ -184,7 +184,7 @@ static void r300_setup_atoms(struct r300_context* r300) boolean has_tcl = r300->screen->caps.has_tcl; boolean drm_2_3_0 = r300->rws->get_value(r300->rws, R300_VID_DRM_2_3_0); boolean drm_2_6_0 = r300->rws->get_value(r300->rws, R300_VID_DRM_2_6_0); - boolean has_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); + boolean can_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); boolean has_hiz_ram = r300->screen->caps.hiz_ram > 0; /* Create the actual atom list. @@ -240,7 +240,7 @@ static void r300_setup_atoms(struct r300_context* r300) /* TX. */ R300_INIT_ATOM(texture_cache_inval, 2); R300_INIT_ATOM(textures_state, 0); - if (has_hyperz) { + if (can_hyperz) { /* HiZ Clear */ if (has_hiz_ram) R300_INIT_ATOM(hiz_clear, 0); diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 3a1085d2dc5..c187f115da4 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -358,7 +358,7 @@ void r300_emit_fb_state(struct r300_context* r300, unsigned size, void* state) struct pipe_framebuffer_state* fb = (struct pipe_framebuffer_state*)state; struct r300_surface* surf; unsigned i; - boolean has_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); + boolean can_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); CS_LOCALS(r300); BEGIN_CS(size); @@ -411,7 +411,7 @@ void r300_emit_fb_state(struct r300_context* r300, unsigned size, void* state) OUT_CS_REG_SEQ(R300_ZB_DEPTHPITCH, 1); OUT_CS_RELOC(surf->buffer, surf->pitch, 0, surf->domain); - if (has_hyperz) { + if (can_hyperz) { uint32_t surf_pitch; struct r300_texture *tex; int level = surf->base.level; diff --git a/src/gallium/drivers/r300/r300_hyperz.c b/src/gallium/drivers/r300/r300_hyperz.c index eb5b0c36f8f..79f7f8abe9b 100644 --- a/src/gallium/drivers/r300/r300_hyperz.c +++ b/src/gallium/drivers/r300/r300_hyperz.c @@ -44,10 +44,10 @@ static bool r300_get_sc_hz_max(struct r300_context *r300) { struct r300_dsa_state *dsa_state = r300->dsa_state.state; - int func = dsa_state->z_stencil_control & 0x7; + int func = dsa_state->z_stencil_control & R300_ZS_MASK; int ret = R300_SC_HYPERZ_MIN; - if (func >= 4 && func <= 7) + if (func >= R300_ZS_GEQUAL && func <= R300_ZS_ALWAYS) ret = R300_SC_HYPERZ_MAX; return ret; } @@ -55,23 +55,26 @@ static bool r300_get_sc_hz_max(struct r300_context *r300) static bool r300_zfunc_same_direction(int func1, int func2) { /* func1 is less/lessthan */ - if (func1 == 1 || func1 == 2) - if (func2 == 3 || func2 == 4 || func2 == 5) + if ((func1 == R300_ZS_LESS || func1 == R300_ZS_LEQUAL) && + (func2 == R300_ZS_EQUAL || func2 == R300_ZS_GEQUAL || + func2 == R300_ZS_GREATER)) return FALSE; - if (func2 == 1 || func2 == 2) - if (func1 == 4 || func1 == 5) + /* func1 is greater/greaterthan */ + if ((func1 == R300_ZS_GEQUAL || func1 == R300_ZS_GREATER) && + (func2 == R300_ZS_LESS || func2 == R300_ZS_LEQUAL)) return FALSE; + return TRUE; } - + static int r300_get_hiz_min(struct r300_context *r300) { struct r300_dsa_state *dsa_state = r300->dsa_state.state; - int func = dsa_state->z_stencil_control & 0x7; + int func = dsa_state->z_stencil_control & R300_ZS_MASK; int ret = R300_HIZ_MIN; - if (func == 1 || func == 2) + if (func == R300_ZS_LESS || func == R300_ZS_LEQUAL) ret = R300_HIZ_MAX; return ret; } @@ -112,13 +115,16 @@ static boolean r300_can_hiz(struct r300_context *r300) } /* depth comparison function - if just cleared save and return okay */ if (z->current_func == -1) { - int func = dsa_state->z_stencil_control & 0x7; + int func = dsa_state->z_stencil_control & R300_ZS_MASK; if (func != 0 && func != 7) - z->current_func = dsa_state->z_stencil_control & 0x7; + z->current_func = dsa_state->z_stencil_control & R300_ZS_MASK; } else { /* simple don't change */ - if (!r300_zfunc_same_direction(z->current_func, (dsa_state->z_stencil_control & 0x7))) { - DBG(r300, DBG_HYPERZ, "z func changed direction - disabling hyper-z %d -> %d\n", z->current_func, dsa_state->z_stencil_control); + if (!r300_zfunc_same_direction(z->current_func, + (dsa_state->z_stencil_control & R300_ZS_MASK))) { + DBG(r300, DBG_HYPERZ, + "z func changed direction - disabling hyper-z %d -> %d\n", + z->current_func, dsa_state->z_stencil_control); return FALSE; } } diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index d445df408dd..1d59e38aac5 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -44,31 +44,31 @@ static const char* r300_get_vendor(struct pipe_screen* pscreen) } static const char* chip_families[] = { - "R300", - "R350", - "R360", - "RV350", - "RV370", - "RV380", - "R420", - "R423", - "R430", - "R480", - "R481", - "RV410", - "RS400", - "RC410", - "RS480", - "RS482", - "RS600", - "RS690", - "RS740", - "RV515", - "R520", - "RV530", - "R580", - "RV560", - "RV570" + "ATI R300", + "ATI R350", + "ATI R360", + "ATI RV350", + "ATI RV370", + "ATI RV380", + "ATI R420", + "ATI R423", + "ATI R430", + "ATI R480", + "ATI R481", + "ATI RV410", + "ATI RS400", + "ATI RC410", + "ATI RS480", + "ATI RS482", + "ATI RS600", + "ATI RS690", + "ATI RS740", + "ATI RV515", + "ATI R520", + "ATI RV530", + "ATI R580", + "ATI RV560", + "ATI RV570" }; static const char* r300_get_name(struct pipe_screen* pscreen) diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index f2479a994c8..bd08bf2d3fd 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -684,7 +684,7 @@ void r300_mark_fb_state_dirty(struct r300_context *r300, enum r300_fb_state_change change) { struct pipe_framebuffer_state *state = r300->fb_state.state; - boolean has_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); + boolean can_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); /* What is marked as dirty depends on the enum r300_fb_state_change. */ r300->gpu_flush.dirty = TRUE; @@ -703,7 +703,7 @@ void r300_mark_fb_state_dirty(struct r300_context *r300, r300->fb_state.size += 10; else if (state->zsbuf) { r300->fb_state.size += 10; - if (has_hyperz) + if (can_hyperz) r300->fb_state.size += r300->screen->caps.hiz_ram ? 8 : 4; } @@ -717,7 +717,7 @@ static void struct r300_context* r300 = r300_context(pipe); struct r300_aa_state *aa = (struct r300_aa_state*)r300->aa_state.state; struct pipe_framebuffer_state *old_state = r300->fb_state.state; - boolean has_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); + boolean can_hyperz = r300->rws->get_value(r300->rws, R300_CAN_HYPERZ); unsigned max_width, max_height, i; uint32_t zbuffer_bpp = 0; int blocksize; @@ -764,7 +764,7 @@ static void zbuffer_bpp = 24; break; } - if (has_hyperz) { + if (can_hyperz) { struct r300_surface *zs_surf = r300_surface(state->zsbuf); struct r300_texture *tex; int compress = r300->screen->caps.is_rv350 ? RV350_Z_COMPRESS_88 : R300_Z_COMPRESS_44; @@ -1789,7 +1789,7 @@ static void r300_set_constant_buffer(struct pipe_context *pipe, { struct r300_context* r300 = r300_context(pipe); struct r300_constant_buffer *cbuf; - uint32_t *mapped = r300_buffer(buf)->user_buffer; + uint32_t *mapped; switch (shader) { case PIPE_SHADER_VERTEX: diff --git a/src/gallium/drivers/r600/SConscript b/src/gallium/drivers/r600/SConscript index bf0ad8571ba..3fc1fa94c27 100644 --- a/src/gallium/drivers/r600/SConscript +++ b/src/gallium/drivers/r600/SConscript @@ -25,10 +25,14 @@ r600 = env.ConvenienceLibrary( 'r600_resource.c', 'r600_shader.c', 'r600_state.c', + 'r600_state_common.c', 'r600_texture.c', + 'r600_translate.c', 'r700_asm.c', 'evergreen_state.c', 'eg_asm.c', ]) +env.Alias('r600', r600) + Export('r600') diff --git a/src/gallium/drivers/r600/eg_state_inlines.h b/src/gallium/drivers/r600/eg_state_inlines.h index be81c28b43f..59641976403 100644 --- a/src/gallium/drivers/r600/eg_state_inlines.h +++ b/src/gallium/drivers/r600/eg_state_inlines.h @@ -473,7 +473,7 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format) case PIPE_FORMAT_UYVY: case PIPE_FORMAT_YUYV: default: - R600_ERR("unsupported color format %d\n", format); + //R600_ERR("unsupported color format %d\n", format); return ~0; /* Unsupported. */ } } diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 72223485067..4725b5e75e2 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -281,14 +281,21 @@ static void *evergreen_create_rs_state(struct pipe_context *ctx, tmp = (unsigned)(state->point_size * 8.0); r600_pipe_state_add_reg(rstate, R_028A00_PA_SU_POINT_SIZE, S_028A00_HEIGHT(tmp) | S_028A00_WIDTH(tmp), 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028A04_PA_SU_POINT_MINMAX, 0x80000000, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028A08_PA_SU_LINE_CNTL, 0x00000008, 0xFFFFFFFF, NULL); + + tmp = (unsigned)state->line_width * 8; + r600_pipe_state_add_reg(rstate, R_028A08_PA_SU_LINE_CNTL, S_028A08_WIDTH(tmp), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028C00_PA_SC_LINE_CNTL, 0x00000400, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028C0C_PA_CL_GB_VERT_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028C10_PA_CL_GB_VERT_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028C14_PA_CL_GB_HORZ_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028C18_PA_CL_GB_HORZ_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028B7C_PA_SU_POLY_OFFSET_CLAMP, 0x0, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C08_PA_SU_VTX_CNTL, 0x00000005, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028C08_PA_SU_VTX_CNTL, + S_028C08_PIX_CENTER_HALF(state->gl_rasterization_rules), + 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_02820C_PA_SC_CLIPRECT_RULE, clip_rule, 0xFFFFFFFF, NULL); return rstate; } @@ -826,6 +833,13 @@ static void evergreen_set_constant_buffer(struct pipe_context *ctx, uint shader, struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_resource *rbuffer = (struct r600_resource*)buffer; + /* Note that the state tracker can unbind constant buffers by + * passing NULL here. + */ + if (buffer == NULL) { + return; + } + switch (shader) { case PIPE_SHADER_VERTEX: rctx->vs_const_buffer.nregs = 0; diff --git a/src/gallium/drivers/r600/evergreend.h b/src/gallium/drivers/r600/evergreend.h index 8e96f9355e6..a337916c098 100644 --- a/src/gallium/drivers/r600/evergreend.h +++ b/src/gallium/drivers/r600/evergreend.h @@ -1636,6 +1636,9 @@ #define R_028980_ALU_CONST_CACHE_VS_0 0x00028980 #define R_028A04_PA_SU_POINT_MINMAX 0x00028A04 #define R_028A08_PA_SU_LINE_CNTL 0x00028A08 +#define S_028A08_WIDTH(x) (((x) & 0xFFFF) << 0) +#define G_028A08_WIDTH(x) (((x) >> 0) & 0xFFFF) +#define C_028A08_WIDTH 0xFFFF0000 #define R_028A10_VGT_OUTPUT_PATH_CNTL 0x00028A10 #define R_028A14_VGT_HOS_CNTL 0x00028A14 #define R_028A18_VGT_HOS_MAX_TESS_LEVEL 0x00028A18 @@ -1687,6 +1690,9 @@ #define R_028C00_PA_SC_LINE_CNTL 0x00028C00 #define R_028C04_PA_SC_AA_CONFIG 0x00028C04 #define R_028C08_PA_SU_VTX_CNTL 0x00028C08 +#define S_028C08_PIX_CENTER_HALF(x) (((x) & 0x1) << 0) +#define G_028C08_PIX_CENTER_HALF(x) (((x) >> 0) & 0x1) +#define C_028C08_PIX_CENTER_HALF 0xFFFFFFFE #define R_028C0C_PA_CL_GB_VERT_CLIP_ADJ 0x00028C0C #define R_028C10_PA_CL_GB_VERT_DISC_ADJ 0x00028C10 #define R_028C14_PA_CL_GB_HORZ_CLIP_ADJ 0x00028C14 diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 62d983269f5..17858b2d381 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -43,6 +43,7 @@ typedef uint16_t u16; typedef uint8_t u8; struct radeon; +struct winsys_handle; enum radeon_family { CHIP_UNKNOWN, @@ -112,13 +113,16 @@ struct r600_tiling_info *r600_get_tiling_info(struct radeon *radeon); /* r600_bo.c */ struct r600_bo; struct r600_bo *r600_bo(struct radeon *radeon, - unsigned size, unsigned alignment, unsigned usage); + unsigned size, unsigned alignment, + unsigned binding, unsigned usage); struct r600_bo *r600_bo_handle(struct radeon *radeon, unsigned handle, unsigned *array_mode); void *r600_bo_map(struct radeon *radeon, struct r600_bo *bo, unsigned usage, void *ctx); void r600_bo_unmap(struct radeon *radeon, struct r600_bo *bo); void r600_bo_reference(struct radeon *radeon, struct r600_bo **dst, struct r600_bo *src); +boolean r600_bo_get_winsys_handle(struct radeon *radeon, struct r600_bo *pb_bo, + unsigned stride, struct winsys_handle *whandle); static INLINE unsigned r600_bo_offset(struct r600_bo *bo) { return 0; diff --git a/src/gallium/drivers/r600/r600_buffer.c b/src/gallium/drivers/r600/r600_buffer.c index 455aa2e81f6..ed97b6e69a3 100644 --- a/src/gallium/drivers/r600/r600_buffer.c +++ b/src/gallium/drivers/r600/r600_buffer.c @@ -38,32 +38,6 @@ extern struct u_resource_vtbl r600_buffer_vtbl; -u32 r600_domain_from_usage(unsigned usage) -{ - u32 domain = RADEON_GEM_DOMAIN_GTT; - - if (usage & PIPE_BIND_RENDER_TARGET) { - domain |= RADEON_GEM_DOMAIN_VRAM; - } - if (usage & PIPE_BIND_DEPTH_STENCIL) { - domain |= RADEON_GEM_DOMAIN_VRAM; - } - if (usage & PIPE_BIND_SAMPLER_VIEW) { - domain |= RADEON_GEM_DOMAIN_VRAM; - } - /* also need BIND_BLIT_SOURCE/DESTINATION ? */ - if (usage & PIPE_BIND_VERTEX_BUFFER) { - domain |= RADEON_GEM_DOMAIN_GTT; - } - if (usage & PIPE_BIND_INDEX_BUFFER) { - domain |= RADEON_GEM_DOMAIN_GTT; - } - if (usage & PIPE_BIND_CONSTANT_BUFFER) { - domain |= RADEON_GEM_DOMAIN_VRAM; - } - - return domain; -} struct pipe_resource *r600_buffer_create(struct pipe_screen *screen, const struct pipe_resource *templ) @@ -85,8 +59,7 @@ struct pipe_resource *r600_buffer_create(struct pipe_screen *screen, rbuffer->r.base.b.screen = screen; rbuffer->r.base.vtbl = &r600_buffer_vtbl; rbuffer->r.size = rbuffer->r.base.b.width0; - rbuffer->r.domain = r600_domain_from_usage(rbuffer->r.base.b.bind); - bo = r600_bo((struct radeon*)screen->winsys, rbuffer->r.base.b.width0, alignment, rbuffer->r.base.b.bind); + bo = r600_bo((struct radeon*)screen->winsys, rbuffer->r.base.b.width0, alignment, rbuffer->r.base.b.bind, rbuffer->r.base.b.usage); if (bo == NULL) { FREE(rbuffer); return NULL; @@ -156,8 +129,9 @@ static void *r600_buffer_transfer_map(struct pipe_context *pipe, r600_bo_reference((struct radeon*)pipe->winsys, &rbuffer->r.bo, NULL); rbuffer->num_ranges = 0; rbuffer->r.bo = r600_bo((struct radeon*)pipe->winsys, - rbuffer->r.base.b.width0, 0, - rbuffer->r.base.b.bind); + rbuffer->r.base.b.width0, 0, + rbuffer->r.base.b.bind, + rbuffer->r.base.b.usage); break; } } diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 87ec8cd2e83..8a62d646d3a 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -78,13 +78,16 @@ static void r600_destroy_context(struct pipe_context *context) { struct r600_pipe_context *rctx = (struct r600_pipe_context *)context; + rctx->context.delete_depth_stencil_alpha_state(&rctx->context, rctx->custom_dsa_flush); + r600_context_fini(&rctx->ctx); + + util_blitter_destroy(rctx->blitter); + for (int i = 0; i < R600_PIPE_NSTATES; i++) { free(rctx->states[i]); } - util_blitter_destroy(rctx->blitter); - u_upload_destroy(rctx->upload_vb); u_upload_destroy(rctx->upload_ib); @@ -219,24 +222,24 @@ static const char* r600_get_vendor(struct pipe_screen* pscreen) static const char *r600_get_family_name(enum radeon_family family) { switch(family) { - case CHIP_R600: return "R600"; - case CHIP_RV610: return "RV610"; - case CHIP_RV630: return "RV630"; - case CHIP_RV670: return "RV670"; - case CHIP_RV620: return "RV620"; - case CHIP_RV635: return "RV635"; - case CHIP_RS780: return "RS780"; - case CHIP_RS880: return "RS880"; - case CHIP_RV770: return "RV770"; - case CHIP_RV730: return "RV730"; - case CHIP_RV710: return "RV710"; - case CHIP_RV740: return "RV740"; - case CHIP_CEDAR: return "CEDAR"; - case CHIP_REDWOOD: return "REDWOOD"; - case CHIP_JUNIPER: return "JUNIPER"; - case CHIP_CYPRESS: return "CYPRESS"; - case CHIP_HEMLOCK: return "HEMLOCK"; - default: return "unknown"; + case CHIP_R600: return "AMD R600"; + case CHIP_RV610: return "AMD RV610"; + case CHIP_RV630: return "AMD RV630"; + case CHIP_RV670: return "AMD RV670"; + case CHIP_RV620: return "AMD RV620"; + case CHIP_RV635: return "AMD RV635"; + case CHIP_RS780: return "AMD RS780"; + case CHIP_RS880: return "AMD RS880"; + case CHIP_RV770: return "AMD RV770"; + case CHIP_RV730: return "AMD RV730"; + case CHIP_RV710: return "AMD RV710"; + case CHIP_RV740: return "AMD RV740"; + case CHIP_CEDAR: return "AMD CEDAR"; + case CHIP_REDWOOD: return "AMD REDWOOD"; + case CHIP_JUNIPER: return "AMD JUNIPER"; + case CHIP_CYPRESS: return "AMD CYPRESS"; + case CHIP_HEMLOCK: return "AMD HEMLOCK"; + default: return "AMD unknown"; } } @@ -274,6 +277,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) /* Unsupported features (boolean caps). */ case PIPE_CAP_TIMER_QUERY: case PIPE_CAP_STREAM_OUTPUT: + case PIPE_CAP_PRIMITIVE_RESTART: case PIPE_CAP_INDEP_BLEND_FUNC: /* FIXME allow this */ return 0; @@ -429,6 +433,9 @@ static void r600_destroy_screen(struct pipe_screen* pscreen) if (rscreen == NULL) return; + + radeon_decref(rscreen->radeon); + FREE(rscreen); } diff --git a/src/gallium/drivers/r600/r600_resource.h b/src/gallium/drivers/r600/r600_resource.h index d152285815c..7a2d1f44122 100644 --- a/src/gallium/drivers/r600/r600_resource.h +++ b/src/gallium/drivers/r600/r600_resource.h @@ -35,7 +35,7 @@ struct r600_transfer { /* Buffer transfer. */ struct pipe_transfer *buffer_transfer; unsigned offset; - struct pipe_resource *linear_texture; + struct pipe_resource *staging_texture; }; /* This gets further specialized into either buffer or texture @@ -45,8 +45,6 @@ struct r600_transfer { struct r600_resource { struct u_resource base; struct r600_bo *bo; - u32 domain; - u32 flink; u32 size; }; @@ -68,9 +66,6 @@ struct r600_resource_texture { void r600_init_screen_resource_functions(struct pipe_screen *screen); -/* r600_buffer */ -u32 r600_domain_from_usage(unsigned usage); - /* r600_texture */ struct pipe_resource *r600_texture_create(struct pipe_screen *screen, const struct pipe_resource *templ); diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 4106587398b..f6153c0e80f 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -218,7 +218,7 @@ static int r600_pipe_shader(struct pipe_context *ctx, struct r600_pipe_shader *s /* copy new shader */ if (shader->bo == NULL) { - shader->bo = r600_bo(rctx->radeon, rshader->bc.ndw * 4, 4096, 0); + shader->bo = r600_bo(rctx->radeon, rshader->bc.ndw * 4, 4096, 0, 0); if (shader->bo == NULL) { return -ENOMEM; } @@ -2663,7 +2663,18 @@ static int tgsi_r600_arl(struct r600_shader_ctx *ctx) int r; memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR; + switch (inst->Instruction.Opcode) { + case TGSI_OPCODE_ARL: + alu.inst = V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR; + break; + case TGSI_OPCODE_ARR: + alu.inst = V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA; + break; + default: + assert(0); + return -1; + } + r = tgsi_src(ctx, &inst->Src[0], &alu.src[0]); if (r) @@ -3070,7 +3081,7 @@ static struct r600_shader_tgsi_instruction r600_shader_tgsi_instruction[] = { {TGSI_OPCODE_UP4UB, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, {TGSI_OPCODE_X2D, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, {TGSI_OPCODE_ARA, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, - {TGSI_OPCODE_ARR, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ARR, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_r600_arl}, {TGSI_OPCODE_BRA, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, {TGSI_OPCODE_CAL, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, {TGSI_OPCODE_RET, 0, V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index b3e0d493217..54cc79b1549 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -469,12 +469,17 @@ static void *r600_create_rs_state(struct pipe_context *ctx, r600_pipe_state_add_reg(rstate, R_028A00_PA_SU_POINT_SIZE, S_028A00_HEIGHT(tmp) | S_028A00_WIDTH(tmp), 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028A04_PA_SU_POINT_MINMAX, 0x80000000, 0xFFFFFFFF, NULL); - tmp = (unsigned)(state->line_width * 8.0); + tmp = (unsigned)state->line_width * 8; r600_pipe_state_add_reg(rstate, R_028A08_PA_SU_LINE_CNTL, S_028A08_WIDTH(tmp), 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028A0C_PA_SC_LINE_STIPPLE, 0x00000005, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028A48_PA_SC_MPASS_PS_CNTL, 0x00000000, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028C00_PA_SC_LINE_CNTL, 0x00000400, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028C08_PA_SU_VTX_CNTL, + S_028C08_PIX_CENTER_HALF(state->gl_rasterization_rules), + 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028C0C_PA_CL_GB_VERT_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028C10_PA_CL_GB_VERT_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_028C14_PA_CL_GB_HORZ_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); @@ -1018,6 +1023,13 @@ static void r600_set_constant_buffer(struct pipe_context *ctx, uint shader, uint struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_resource *rbuffer = (struct r600_resource*)buffer; + /* Note that the state tracker can unbind constant buffers by + * passing NULL here. + */ + if (buffer == NULL) { + return; + } + switch (shader) { case PIPE_SHADER_VERTEX: rctx->vs_const_buffer.nregs = 0; diff --git a/src/gallium/drivers/r600/r600_state_inlines.h b/src/gallium/drivers/r600/r600_state_inlines.h index 1c1978f8abb..1be5b156d35 100644 --- a/src/gallium/drivers/r600/r600_state_inlines.h +++ b/src/gallium/drivers/r600/r600_state_inlines.h @@ -472,7 +472,7 @@ static INLINE uint32_t r600_translate_colorformat(enum pipe_format format) case PIPE_FORMAT_UYVY: case PIPE_FORMAT_YUYV: default: - R600_ERR("unsupported color format %d %s\n", format, util_format_name(format)); + //R600_ERR("unsupported color format %d %s\n", format, util_format_name(format)); return ~0; /* Unsupported. */ } } diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index 4ebd5b754b3..e719f7fb983 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -31,6 +31,7 @@ #include <util/u_inlines.h> #include <util/u_memory.h> #include "state_tracker/drm_driver.h" +#include "pipebuffer/pb_buffer.h" #include "r600_pipe.h" #include "r600_resource.h" #include "r600_state_inlines.h" @@ -39,8 +40,8 @@ extern struct u_resource_vtbl r600_texture_vtbl; -/* Copy from a tiled texture to a detiled one. */ -static void r600_copy_from_tiled_texture(struct pipe_context *ctx, struct r600_transfer *rtransfer) +/* Copy from a full GPU texture to a transfer's staging one. */ +static void r600_copy_to_staging_texture(struct pipe_context *ctx, struct r600_transfer *rtransfer) { struct pipe_transfer *transfer = (struct pipe_transfer*)rtransfer; struct pipe_resource *texture = transfer->resource; @@ -48,15 +49,15 @@ static void r600_copy_from_tiled_texture(struct pipe_context *ctx, struct r600_t subdst.face = 0; subdst.level = 0; - ctx->resource_copy_region(ctx, rtransfer->linear_texture, + ctx->resource_copy_region(ctx, rtransfer->staging_texture, subdst, 0, 0, 0, texture, transfer->sr, transfer->box.x, transfer->box.y, transfer->box.z, transfer->box.width, transfer->box.height); } -/* Copy from a detiled texture to a tiled one. */ -static void r600_copy_into_tiled_texture(struct pipe_context *ctx, struct r600_transfer *rtransfer) +/* Copy from a transfer's staging texture to a full GPU one. */ +static void r600_copy_from_staging_texture(struct pipe_context *ctx, struct r600_transfer *rtransfer) { struct pipe_transfer *transfer = (struct pipe_transfer*)rtransfer; struct pipe_resource *texture = transfer->resource; @@ -66,7 +67,7 @@ static void r600_copy_into_tiled_texture(struct pipe_context *ctx, struct r600_t subsrc.level = 0; ctx->resource_copy_region(ctx, texture, transfer->sr, transfer->box.x, transfer->box.y, transfer->box.z, - rtransfer->linear_texture, subsrc, + rtransfer->staging_texture, subsrc, 0, 0, 0, transfer->box.width, transfer->box.height); @@ -168,6 +169,10 @@ static unsigned r600_texture_get_stride(struct pipe_screen *screen, stride = util_format_get_stride(ptex->format, width); if (chipc == EVERGREEN) stride = align(stride, 512); + + if (ptex->bind & PIPE_BIND_RENDER_TARGET) + stride = align(stride, 512); + return stride; } @@ -283,7 +288,6 @@ r600_texture_create_object(struct pipe_screen *screen, pipe_reference_init(&resource->base.b.reference, 1); resource->base.b.screen = screen; resource->bo = bo; - resource->domain = r600_domain_from_usage(resource->base.b.bind); rtex->pitch_override = pitch_in_bytes_override; if (array_mode) @@ -293,7 +297,7 @@ r600_texture_create_object(struct pipe_screen *screen, resource->size = rtex->size; if (!resource->bo) { - resource->bo = r600_bo(radeon, rtex->size, 4096, 0); + resource->bo = r600_bo(radeon, rtex->size, 4096, base->bind, base->usage); if (!resource->bo) { FREE(rtex); return NULL; @@ -306,8 +310,14 @@ struct pipe_resource *r600_texture_create(struct pipe_screen *screen, const struct pipe_resource *templ) { unsigned array_mode = 0; + static int force_tiling = -1; - if (debug_get_bool_option("R600_FORCE_TILING", FALSE)) { + /* Would like some magic "get_bool_option_once" routine. + */ + if (force_tiling == -1) + force_tiling = debug_get_bool_option("R600_FORCE_TILING", FALSE); + + if (force_tiling) { if (!(templ->flags & R600_RESOURCE_FLAG_TRANSFER) && !(templ->bind & PIPE_BIND_SCANOUT)) { array_mode = V_038000_ARRAY_2D_TILED_THIN1; @@ -335,6 +345,18 @@ static void r600_texture_destroy(struct pipe_screen *screen, FREE(rtex); } +static boolean r600_texture_get_handle(struct pipe_screen* screen, + struct pipe_resource *ptex, + struct winsys_handle *whandle) +{ + struct r600_resource_texture *rtex = (struct r600_resource_texture*)ptex; + struct r600_resource *resource = &rtex->resource; + struct radeon *radeon = (struct radeon *)screen->winsys; + + return r600_bo_get_winsys_handle(radeon, resource->bo, + rtex->pitch_in_bytes[0], whandle); +} + static struct pipe_surface *r600_get_tex_surface(struct pipe_screen *screen, struct pipe_resource *texture, unsigned face, unsigned level, @@ -434,10 +456,59 @@ int r600_texture_depth_flush(struct pipe_context *ctx, } out: + /* XXX: only do this if the depth texture has actually changed: + */ r600_blit_uncompress_depth_ptr(ctx, rtex); return 0; } +/* Needs adjustment for pixelformat: + */ +static INLINE unsigned u_box_volume( const struct pipe_box *box ) +{ + return box->width * box->depth * box->height; +}; + + +/* Figure out whether u_blitter will fallback to a transfer operation. + * If so, don't use a staging resource. + */ +static boolean permit_hardware_blit(struct pipe_screen *screen, + struct pipe_resource *res) +{ + unsigned bind; + + if (util_format_is_depth_or_stencil(res->format)) + bind = PIPE_BIND_DEPTH_STENCIL; + else + bind = PIPE_BIND_RENDER_TARGET; + + /* See r600_resource_copy_region: there is something wrong + * with depth resource copies at the moment so avoid them for + * now. + */ + if (util_format_get_component_bits(res->format, + UTIL_FORMAT_COLORSPACE_ZS, + 0) != 0) + return FALSE; + + if (!screen->is_format_supported(screen, + res->format, + res->target, + res->nr_samples, + bind, 0)) + return FALSE; + + if (!screen->is_format_supported(screen, + res->format, + res->target, + res->nr_samples, + PIPE_BIND_SAMPLER_VIEW, 0)) + return FALSE; + + return TRUE; +} + struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, struct pipe_resource *texture, struct pipe_subresource sr, @@ -448,6 +519,36 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, struct pipe_resource resource; struct r600_transfer *trans; int r; + boolean use_staging_texture = FALSE; + + /* We cannot map a tiled texture directly because the data is + * in a different order, therefore we do detiling using a blit. + * + * Also, use a temporary in GTT memory for read transfers, as + * the CPU is much happier reading out of cached system memory + * than uncached VRAM. + */ + if (rtex->tiled) + use_staging_texture = TRUE; + + if ((usage & PIPE_TRANSFER_READ) && + u_box_volume(box) > 1024) + use_staging_texture = TRUE; + + /* XXX: Use a staging texture for uploads if the underlying BO + * is busy. No interface for checking that currently? so do + * it eagerly whenever the transfer doesn't require a readback + * and might block. + */ + if ((usage & PIPE_TRANSFER_WRITE) && + !(usage & (PIPE_TRANSFER_READ | + PIPE_TRANSFER_DONTBLOCK | + PIPE_TRANSFER_UNSYNCHRONIZED))) + use_staging_texture = TRUE; + + if (!permit_hardware_blit(ctx->screen, texture) || + (texture->flags & R600_RESOURCE_FLAG_TRANSFER)) + use_staging_texture = FALSE; trans = CALLOC_STRUCT(r600_transfer); if (trans == NULL) @@ -457,6 +558,10 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, trans->transfer.usage = usage; trans->transfer.box = *box; if (rtex->depth) { + /* XXX: only readback the rectangle which is being mapped? + */ + /* XXX: when discard is true, no need to read back from depth texture + */ r = r600_texture_depth_flush(ctx, texture); if (r < 0) { R600_ERR("failed to create temporary texture to hold untiled copy\n"); @@ -464,7 +569,7 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, FREE(trans); return NULL; } - } else if (rtex->tiled) { + } else if (use_staging_texture) { resource.target = PIPE_TEXTURE_2D; resource.format = texture->format; resource.width0 = box->width; @@ -472,7 +577,7 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, resource.depth0 = 1; resource.last_level = 0; resource.nr_samples = 0; - resource.usage = PIPE_USAGE_DYNAMIC; + resource.usage = PIPE_USAGE_STAGING; resource.bind = 0; resource.flags = R600_RESOURCE_FLAG_TRANSFER; /* For texture reading, the temporary (detiled) texture is used as @@ -486,8 +591,8 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, resource.bind |= PIPE_BIND_SAMPLER_VIEW; } /* Create the temporary texture. */ - trans->linear_texture = ctx->screen->resource_create(ctx->screen, &resource); - if (trans->linear_texture == NULL) { + trans->staging_texture = ctx->screen->resource_create(ctx->screen, &resource); + if (trans->staging_texture == NULL) { R600_ERR("failed to create temporary texture to hold untiled copy\n"); pipe_resource_reference(&trans->transfer.resource, NULL); FREE(trans); @@ -495,11 +600,9 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx, } trans->transfer.stride = - ((struct r600_resource_texture *)trans->linear_texture)->pitch_in_bytes[0]; + ((struct r600_resource_texture *)trans->staging_texture)->pitch_in_bytes[0]; if (usage & PIPE_TRANSFER_READ) { - /* We cannot map a tiled texture directly because the data is - * in a different order, therefore we do detiling using a blit. */ - r600_copy_from_tiled_texture(ctx, trans); + r600_copy_to_staging_texture(ctx, trans); /* Always referenced in the blit. */ ctx->flush(ctx, 0, NULL); } @@ -516,11 +619,11 @@ void r600_texture_transfer_destroy(struct pipe_context *ctx, struct r600_transfer *rtransfer = (struct r600_transfer*)transfer; struct r600_resource_texture *rtex = (struct r600_resource_texture*)transfer->resource; - if (rtransfer->linear_texture) { + if (rtransfer->staging_texture) { if (transfer->usage & PIPE_TRANSFER_WRITE) { - r600_copy_into_tiled_texture(ctx, rtransfer); + r600_copy_from_staging_texture(ctx, rtransfer); } - pipe_resource_reference(&rtransfer->linear_texture, NULL); + pipe_resource_reference(&rtransfer->staging_texture, NULL); } if (rtex->flushed_depth_texture) { pipe_resource_reference((struct pipe_resource **)&rtex->flushed_depth_texture, NULL); @@ -537,10 +640,11 @@ void* r600_texture_transfer_map(struct pipe_context *ctx, enum pipe_format format = transfer->resource->format; struct radeon *radeon = (struct radeon *)ctx->screen->winsys; unsigned offset = 0; + unsigned usage = 0; char *map; - if (rtransfer->linear_texture) { - bo = ((struct r600_resource *)rtransfer->linear_texture)->bo; + if (rtransfer->staging_texture) { + bo = ((struct r600_resource *)rtransfer->staging_texture)->bo; } else { struct r600_resource_texture *rtex = (struct r600_resource_texture*)transfer->resource; @@ -553,7 +657,30 @@ void* r600_texture_transfer_map(struct pipe_context *ctx, transfer->box.y / util_format_get_blockheight(format) * transfer->stride + transfer->box.x / util_format_get_blockwidth(format) * util_format_get_blocksize(format); } - map = r600_bo_map(radeon, bo, 0, ctx); + + if (transfer->usage & PIPE_TRANSFER_WRITE) { + usage |= PB_USAGE_CPU_WRITE; + + if (transfer->usage & PIPE_TRANSFER_DISCARD) { + } + + if (transfer->usage & PIPE_TRANSFER_FLUSH_EXPLICIT) { + } + } + + if (transfer->usage & PIPE_TRANSFER_READ) { + usage |= PB_USAGE_CPU_READ; + } + + if (transfer->usage & PIPE_TRANSFER_DONTBLOCK) { + usage |= PB_USAGE_DONTBLOCK; + } + + if (transfer->usage & PIPE_TRANSFER_UNSYNCHRONIZED) { + usage |= PB_USAGE_UNSYNCHRONIZED; + } + + map = r600_bo_map(radeon, bo, usage, ctx); if (!map) { return NULL; } @@ -568,8 +695,8 @@ void r600_texture_transfer_unmap(struct pipe_context *ctx, struct radeon *radeon = (struct radeon *)ctx->screen->winsys; struct r600_bo *bo; - if (rtransfer->linear_texture) { - bo = ((struct r600_resource *)rtransfer->linear_texture)->bo; + if (rtransfer->staging_texture) { + bo = ((struct r600_resource *)rtransfer->staging_texture)->bo; } else { struct r600_resource_texture *rtex = (struct r600_resource_texture*)transfer->resource; @@ -584,7 +711,7 @@ void r600_texture_transfer_unmap(struct pipe_context *ctx, struct u_resource_vtbl r600_texture_vtbl = { - u_default_resource_get_handle, /* get_handle */ + r600_texture_get_handle, /* get_handle */ r600_texture_destroy, /* resource_destroy */ r600_texture_is_referenced, /* is_resource_referenced */ r600_texture_get_transfer, /* get_transfer */ @@ -689,7 +816,7 @@ uint32_t r600_translate_texformat(enum pipe_format format, result = FMT_24_8; goto out_word4; case PIPE_FORMAT_S8_USCALED: - result = V_0280A0_COLOR_8; + result = FMT_8; word4 |= S_038010_NUM_FORMAT_ALL(V_038010_SQ_NUM_FORMAT_INT); goto out_word4; default: @@ -718,7 +845,29 @@ uint32_t r600_translate_texformat(enum pipe_format format, /* S3TC formats. TODO */ if (desc->layout == UTIL_FORMAT_LAYOUT_S3TC) { - goto out_unknown; + static int r600_enable_s3tc = -1; + + if (r600_enable_s3tc == -1) + r600_enable_s3tc = + debug_get_bool_option("R600_ENABLE_S3TC", FALSE); + + if (!r600_enable_s3tc) + goto out_unknown; + + switch (format) { + case PIPE_FORMAT_DXT1_RGB: + case PIPE_FORMAT_DXT1_RGBA: + result = FMT_BC1; + goto out_word4; + case PIPE_FORMAT_DXT3_RGBA: + result = FMT_BC2; + goto out_word4; + case PIPE_FORMAT_DXT5_RGBA: + result = FMT_BC3; + goto out_word4; + default: + goto out_unknown; + } } diff --git a/src/gallium/drivers/r600/r600d.h b/src/gallium/drivers/r600/r600d.h index a3cb5b86004..ae19bfb8285 100644 --- a/src/gallium/drivers/r600/r600d.h +++ b/src/gallium/drivers/r600/r600d.h @@ -2100,6 +2100,10 @@ #define G_028C00_LAST_PIXEL(x) (((x) >> 10) & 0x1) #define C_028C00_LAST_PIXEL 0xFFFFFBFF #define R_028C04_PA_SC_AA_CONFIG 0x028C04 +#define R_028C08_PA_SU_VTX_CNTL 0x028C08 +#define S_028C08_PIX_CENTER_HALF(x) (((x) & 0x1) << 0) +#define G_028C08_PIX_CENTER_HALF(x) (((x) >> 0) & 0x1) +#define C_028C08_PIX_CENTER_HALF 0xFFFFFFFE #define R_028C1C_PA_SC_AA_SAMPLE_LOCS_MCTX 0x028C1C #define R_028C48_PA_SC_AA_MASK 0x028C48 #define R_028810_PA_CL_CLIP_CNTL 0x028810 diff --git a/src/gallium/drivers/rbug/README b/src/gallium/drivers/rbug/README index b6d3a5cf351..9d7bd4e7695 100644 --- a/src/gallium/drivers/rbug/README +++ b/src/gallium/drivers/rbug/README @@ -7,24 +7,10 @@ This directory contains a Gallium3D remote debugger pipe driver. It provides remote debugging functionality. -= Build Instructions = - -To build, invoke scons on the top dir as - - scons dri=no statetrackers=mesa winsys=xlib - - = Usage = -To use do - - export LD_LIBRARY_PATH=$PWD/build/linux-x86-debug/lib - -ensure the right libGL.so is being picked by doing - - ldd progs/trivial/tri +Do - export XMESA_TRACE=y GALLIUM_RBUG=true progs/trivial/tri which should open gallium remote debugging session. While the program is running diff --git a/src/gallium/drivers/rbug/SConscript b/src/gallium/drivers/rbug/SConscript index 3da6ac104a4..169c2718dc3 100644 --- a/src/gallium/drivers/rbug/SConscript +++ b/src/gallium/drivers/rbug/SConscript @@ -11,4 +11,6 @@ rbug = env.ConvenienceLibrary( 'rbug_screen.c', ]) +env.Alias('rbug', rbug) + Export('rbug') diff --git a/src/gallium/drivers/softpipe/SConscript b/src/gallium/drivers/softpipe/SConscript index dea7f885e0d..9b2abdfd7f1 100644 --- a/src/gallium/drivers/softpipe/SConscript +++ b/src/gallium/drivers/softpipe/SConscript @@ -38,4 +38,6 @@ softpipe = env.ConvenienceLibrary( 'sp_video_context.c', ]) +env.Alias('softpipe', softpipe) + Export('softpipe') diff --git a/src/gallium/drivers/softpipe/sp_quad_depth_test.c b/src/gallium/drivers/softpipe/sp_quad_depth_test.c index c8f5f89568a..89b2a91fc1f 100644 --- a/src/gallium/drivers/softpipe/sp_quad_depth_test.c +++ b/src/gallium/drivers/softpipe/sp_quad_depth_test.c @@ -860,6 +860,7 @@ choose_depth_test(struct quad_stage *qs, /* look for special cases */ if (!alpha && !depth && + !occlusion && !stencil) { qs->run = depth_noop; } diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index edc2a6dacf2..5e13d632387 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -65,7 +65,12 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS: return PIPE_MAX_SAMPLERS; case PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS: +#ifdef HAVE_LLVM + /* Softpipe doesn't yet know how to tell draw/llvm about textures */ + return 0; +#else return PIPE_MAX_VERTEX_SAMPLERS; +#endif case PIPE_CAP_MAX_COMBINED_SAMPLERS: return PIPE_MAX_SAMPLERS + PIPE_MAX_VERTEX_SAMPLERS; case PIPE_CAP_NPOT_TEXTURES: diff --git a/src/gallium/drivers/sw/SConscript b/src/gallium/drivers/sw/SConscript index e9ebf751ddd..40d01db2f6d 100644 --- a/src/gallium/drivers/sw/SConscript +++ b/src/gallium/drivers/sw/SConscript @@ -20,7 +20,6 @@ if True: if env['llvm']: env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') - env.Tool('udis86') env.Prepend(LIBS = [llvmpipe]) extra.append(llvmpipe) diff --git a/src/gallium/drivers/trace/README b/src/gallium/drivers/trace/README index cdcd8d2b4be..c210cba032a 100644 --- a/src/gallium/drivers/trace/README +++ b/src/gallium/drivers/trace/README @@ -7,23 +7,8 @@ This directory contains a Gallium3D trace debugger pipe driver. It can traces all incoming calls. -= Build Instructions = - -To build, invoke scons on the top dir as - - scons dri=no statetrackers=mesa winsys=xlib - - = Usage = -To use do - - export LD_LIBRARY_PATH=$PWD/build/linux-x86-debug/lib - -ensure the right libGL.so is being picked by doing - - ldd progs/trivial/tri - == Tracing == For tracing then do @@ -40,6 +25,7 @@ For remote debugging see: src/gallium/drivers/rbug/README + = Integrating = You can integrate the trace pipe driver either inside the state tracker or the @@ -60,5 +46,5 @@ are automatically wrapped by trace_screen. -- -Jose Fonseca <[email protected]> +Jose Fonseca <[email protected]> Jakob Bornecrantz <[email protected]> diff --git a/src/gallium/drivers/trace/SConscript b/src/gallium/drivers/trace/SConscript index 06b0c4863a4..1384fe33d72 100644 --- a/src/gallium/drivers/trace/SConscript +++ b/src/gallium/drivers/trace/SConscript @@ -12,4 +12,6 @@ trace = env.ConvenienceLibrary( 'tr_texture.c', ]) +env.Alias('trace', trace) + Export('trace') diff --git a/src/gallium/include/state_tracker/graw.h b/src/gallium/include/state_tracker/graw.h index 6a99b234aa5..217fa31ba19 100644 --- a/src/gallium/include/state_tracker/graw.h +++ b/src/gallium/include/state_tracker/graw.h @@ -44,8 +44,9 @@ #include "pipe/p_compiler.h" #include "pipe/p_format.h" -struct pipe_screen; struct pipe_context; +struct pipe_screen; +struct pipe_surface; /* Returns a handle to be used with flush_frontbuffer()/present(). * @@ -71,4 +72,25 @@ PUBLIC void *graw_parse_vertex_shader( struct pipe_context *pipe, PUBLIC void *graw_parse_fragment_shader( struct pipe_context *pipe, const char *text ); +/* Parse a single command-line option, if any. Options include: + * + * -o <filename> + * + * If an option has been successfully parsed, argi is updated + * to point just after the option and return TRUE. + */ +PUBLIC boolean graw_parse_args(int *argi, int argc, char *argv[]); + +/* Saves surface contents to a file. + * + * If filename is NULL, the filename provided with the `-o' option + * is used. If the option has not been specified, the surface + * will not be saved. + * + * Returns TRUE if the surface has been saved. + */ +PUBLIC boolean graw_save_surface_to_file(struct pipe_context *pipe, + struct pipe_surface *surface, + const char *filename); + #endif diff --git a/src/gallium/state_trackers/d3d1x/dxgi/src/dxgi_native.cpp b/src/gallium/state_trackers/d3d1x/dxgi/src/dxgi_native.cpp index e1c34611d14..c246fc5ef76 100644 --- a/src/gallium/state_trackers/d3d1x/dxgi/src/dxgi_native.cpp +++ b/src/gallium/state_trackers/d3d1x/dxgi/src/dxgi_native.cpp @@ -1101,6 +1101,7 @@ struct GalliumDXGISwapChain : public GalliumDXGIObject<IDXGISwapChain, GalliumDX struct pipe_resource* dst; struct pipe_resource* src; struct pipe_surface* dst_surface; + enum native_attachment att; void* present_cookie; hr = parent->backend->BeginPresent(desc.OutputWindow, &present_cookie, &cur_window, &rect, &rgndata, &preserve_aspect_ratio); @@ -1221,16 +1222,9 @@ struct GalliumDXGISwapChain : public GalliumDXGIObject<IDXGISwapChain, GalliumDX pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, 0); - if(db) - { - if(!surface->swap_buffers(surface)) - return DXGI_ERROR_DEVICE_REMOVED; - } - else - { - if(!surface->flush_frontbuffer(surface)) - return DXGI_ERROR_DEVICE_REMOVED; - } + att = (db) ? NATIVE_ATTACHMENT_BACK_LEFT : NATIVE_ATTACHMENT_FRONT_LEFT; + if(!surface->present(surface, att, FALSE, 0)) + return DXGI_ERROR_DEVICE_REMOVED; end_present: parent->backend->EndPresent(desc.OutputWindow, present_cookie); diff --git a/src/gallium/state_trackers/dri/SConscript b/src/gallium/state_trackers/dri/SConscript index aba60fb8c5b..7702d8e6323 100644 --- a/src/gallium/state_trackers/dri/SConscript +++ b/src/gallium/state_trackers/dri/SConscript @@ -1,6 +1,6 @@ Import('*') SConscript([ - 'sw/SConscript', - 'drm/SConscript', + 'sw/SConscript', + 'drm/SConscript', ]) diff --git a/src/gallium/state_trackers/dri/common/dri_context.c b/src/gallium/state_trackers/dri/common/dri_context.c index 770b37037f5..3d5d24e692c 100644 --- a/src/gallium/state_trackers/dri/common/dri_context.c +++ b/src/gallium/state_trackers/dri/common/dri_context.c @@ -178,7 +178,8 @@ dri_make_current(__DRIcontext * cPriv, read->texture_stamp = driReadPriv->lastStamp - 1; } - ctx->stapi->make_current(ctx->stapi, ctx->st, &draw->base, &read->base); + ctx->stapi->make_current(ctx->stapi, ctx->st, + (draw) ? &draw->base : NULL, (read) ? &read->base : NULL); return GL_TRUE; } diff --git a/src/gallium/state_trackers/dri/common/dri_drawable.h b/src/gallium/state_trackers/dri/common/dri_drawable.h index 837d3983748..2ff6b713293 100644 --- a/src/gallium/state_trackers/dri/common/dri_drawable.h +++ b/src/gallium/state_trackers/dri/common/dri_drawable.h @@ -70,7 +70,8 @@ struct dri_drawable static INLINE struct dri_drawable * dri_drawable(__DRIdrawable * driDrawPriv) { - return (struct dri_drawable *)driDrawPriv->driverPrivate; + return (struct dri_drawable *) (driDrawPriv) + ? driDrawPriv->driverPrivate : NULL; } /*********************************************************************** diff --git a/src/gallium/state_trackers/dri/common/dri_screen.c b/src/gallium/state_trackers/dri/common/dri_screen.c index 252ad1768d8..1302e9bc013 100644 --- a/src/gallium/state_trackers/dri/common/dri_screen.c +++ b/src/gallium/state_trackers/dri/common/dri_screen.c @@ -231,6 +231,9 @@ dri_fill_st_visual(struct st_visual *stvis, struct dri_screen *screen, { memset(stvis, 0, sizeof(*stvis)); + if (!mode) + return; + stvis->samples = mode->samples; stvis->render_buffer = ST_ATTACHMENT_INVALID; diff --git a/src/gallium/state_trackers/dri/drm/SConscript b/src/gallium/state_trackers/dri/drm/SConscript index 2a0af65f9bd..b188f76f910 100644 --- a/src/gallium/state_trackers/dri/drm/SConscript +++ b/src/gallium/state_trackers/dri/drm/SConscript @@ -3,25 +3,26 @@ Import('*') -if env['dri']: +env = env.Clone() - env = env.Clone() +env.ParseConfig('pkg-config --cflags --libs libdrm') - env.ParseConfig('pkg-config --cflags --libs libdrm') +env.Append(CPPPATH = [ + '#/src/mapi', + '#/src/mesa', + '#/src/gallium/state_trackers/dri/common', + '#/src/mesa/drivers/dri/common', +]) - env.Append(CPPPATH = [ - '#/src/mapi', - '#/src/mesa', - '#/src/gallium/state_trackers/dri/common', - '#/src/mesa/drivers/dri/common', - ]) +sources = [ + 'dri_context.c', + 'dri_drawable.c', + 'dri_screen.c', + 'dri2.c', +] - st_dri = env.ConvenienceLibrary( - target = 'st_dri', - source = [ 'dri_context.c', - 'dri_drawable.c', - 'dri_screen.c', - 'dri2.c', - ] - ) - Export('st_dri') +st_dri = env.ConvenienceLibrary( + target = 'st_dri', + source = sources, +) +Export('st_dri') diff --git a/src/gallium/state_trackers/dri/sw/SConscript b/src/gallium/state_trackers/dri/sw/SConscript index d2eb66668e0..d0c3efc6faa 100644 --- a/src/gallium/state_trackers/dri/sw/SConscript +++ b/src/gallium/state_trackers/dri/sw/SConscript @@ -3,25 +3,26 @@ Import('*') -if env['dri']: +env = env.Clone() - env = env.Clone() +env.Append(CPPPATH = [ + '#/src/mapi', + '#/src/mesa', + '#/src/gallium/state_trackers/dri/common', + '#/src/mesa/drivers/dri/common', +]) - env.Append(CPPPATH = [ - '#/src/mapi', - '#/src/mesa', - '#/src/gallium/state_trackers/dri/common', - '#/src/mesa/drivers/dri/common', - ]) +env.Append(CPPDEFINES = [('__NOT_HAVE_DRM_H', '1')]) - env.Append(CPPDEFINES = [('__NOT_HAVE_DRM_H', '1')]) +sources = [ + 'dri_context.c', + 'dri_drawable.c', + 'dri_screen.c', + 'drisw.c', +] - st_drisw = env.ConvenienceLibrary( - target = 'st_drisw', - source = [ 'dri_context.c', - 'dri_drawable.c', - 'dri_screen.c', - 'drisw.c', - ] - ) - Export('st_drisw') +st_drisw = env.ConvenienceLibrary( + target = 'st_drisw', + source = sources, +) +Export('st_drisw') diff --git a/src/gallium/state_trackers/egl/Makefile b/src/gallium/state_trackers/egl/Makefile index 8dbfc5b8e56..8cfcef968ed 100644 --- a/src/gallium/state_trackers/egl/Makefile +++ b/src/gallium/state_trackers/egl/Makefile @@ -17,7 +17,7 @@ x11_INCLUDES = \ -I$(TOP)/src/mapi \ -I$(TOP)/src/mesa \ $(X11_CFLAGS) \ - $(shell pkg-config --cflags-only-I libdrm) + $(shell pkg-config --cflags-only-I libdrm dri2proto) x11_SOURCES = $(wildcard x11/*.c) \ $(TOP)/src/glx/dri2.c diff --git a/src/gallium/state_trackers/egl/SConscript b/src/gallium/state_trackers/egl/SConscript index efcce25e317..50c76819954 100644 --- a/src/gallium/state_trackers/egl/SConscript +++ b/src/gallium/state_trackers/egl/SConscript @@ -3,34 +3,32 @@ Import('*') -if 'egl' in env['statetrackers']: +env = env.Clone() - env = env.Clone() +env.Append(CPPPATH = [ + '#/src/egl/main', + '#/src/gallium/winsys/sw', + '.', +]) +env.Append(CPPDEFINES = [ + 'HAVE_GDI_BACKEND', +]) - env.Append(CPPPATH = [ - '#/src/egl/main', - '#/src/gallium/winsys/sw', - '.', - ]) - env.Append(CPPDEFINES = [ - 'HAVE_GDI_BACKEND', - ]) +common_sources = [ + 'common/egl_g3d.c', + 'common/egl_g3d_api.c', + 'common/egl_g3d_image.c', + 'common/egl_g3d_st.c', + 'common/egl_g3d_sync.c', + 'common/native_helper.c', +] - common_sources = [ - 'common/egl_g3d.c', - 'common/egl_g3d_api.c', - 'common/egl_g3d_image.c', - 'common/egl_g3d_st.c', - 'common/egl_g3d_sync.c', - 'common/native_helper.c', - ] +gdi_sources = common_sources + [ + 'gdi/native_gdi.c', +] - gdi_sources = common_sources + [ - 'gdi/native_gdi.c', - ] - - st_egl_gdi = env.ConvenienceLibrary( - target = 'st_egl_gdi', - source = gdi_sources, - ) - Export('st_egl_gdi') +st_egl_gdi = env.ConvenienceLibrary( + target = 'st_egl_gdi', + source = gdi_sources, +) +Export('st_egl_gdi') diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c index 30ddcd5bc14..a3750ac56fb 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c @@ -156,7 +156,8 @@ egl_g3d_add_screens(_EGLDriver *drv, _EGLDisplay *dpy) */ static EGLBoolean init_config_attributes(_EGLConfig *conf, const struct native_config *nconf, - EGLint api_mask, enum pipe_format depth_stencil_format) + EGLint api_mask, enum pipe_format depth_stencil_format, + EGLBoolean preserve_buffer, EGLint max_swap_interval) { uint rgba[4], depth_stencil[2], buffer_size; EGLint surface_type; @@ -238,6 +239,11 @@ init_config_attributes(_EGLConfig *conf, const struct native_config *nconf, conf->TransparentBlueValue = nconf->transparent_rgb_values[2]; } + conf->MinSwapInterval = 0; + conf->MaxSwapInterval = max_swap_interval; + if (preserve_buffer) + conf->SurfaceType |= EGL_SWAP_BEHAVIOR_PRESERVED_BIT; + return _eglValidateConfig(conf, EGL_FALSE); } @@ -247,7 +253,8 @@ init_config_attributes(_EGLConfig *conf, const struct native_config *nconf, static EGLBoolean egl_g3d_init_config(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, const struct native_config *nconf, - enum pipe_format depth_stencil_format) + enum pipe_format depth_stencil_format, + int preserve_buffer, int max_swap_interval) { struct egl_g3d_config *gconf = egl_g3d_config(conf); EGLint buffer_mask, api_mask; @@ -288,7 +295,8 @@ egl_g3d_init_config(_EGLDriver *drv, _EGLDisplay *dpy, } valid = init_config_attributes(&gconf->base, - nconf, api_mask, depth_stencil_format); + nconf, api_mask, depth_stencil_format, + preserve_buffer, max_swap_interval); if (!valid) { _eglLog(_EGL_DEBUG, "skip invalid config 0x%x", nconf->native_visual_id); return EGL_FALSE; @@ -349,6 +357,7 @@ egl_g3d_add_configs(_EGLDriver *drv, _EGLDisplay *dpy, EGLint id) const struct native_config **native_configs; enum pipe_format depth_stencil_formats[8]; int num_formats, num_configs, i, j; + int preserve_buffer, max_swap_interval; native_configs = gdpy->native->get_configs(gdpy->native, &num_configs); if (!num_configs) { @@ -357,6 +366,11 @@ egl_g3d_add_configs(_EGLDriver *drv, _EGLDisplay *dpy, EGLint id) return id; } + preserve_buffer = + gdpy->native->get_param(gdpy->native, NATIVE_PARAM_PRESERVE_BUFFER); + max_swap_interval = + gdpy->native->get_param(gdpy->native, NATIVE_PARAM_MAX_SWAP_INTERVAL); + num_formats = egl_g3d_fill_depth_stencil_formats(dpy, depth_stencil_formats); @@ -368,7 +382,8 @@ egl_g3d_add_configs(_EGLDriver *drv, _EGLDisplay *dpy, EGLint id) if (gconf) { _eglInitConfig(&gconf->base, dpy, id); if (!egl_g3d_init_config(drv, dpy, &gconf->base, - native_configs[i], depth_stencil_formats[j])) { + native_configs[i], depth_stencil_formats[j], + preserve_buffer, max_swap_interval)) { FREE(gconf); break; } @@ -538,7 +553,8 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy, if (dpy->Platform == _EGL_PLATFORM_DRM) { dpy->Extensions.MESA_drm_display = EGL_TRUE; - dpy->Extensions.MESA_drm_image = EGL_TRUE; + if (gdpy->native->buffer) + dpy->Extensions.MESA_drm_image = EGL_TRUE; } if (egl_g3d_add_configs(drv, dpy, 1) == 1) { diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c index c10245bb067..fd7dc8f8149 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c @@ -97,6 +97,70 @@ egl_g3d_choose_st(_EGLDriver *drv, _EGLContext *ctx, return stapi; } +static int +egl_g3d_compare_config(const _EGLConfig *conf1, const _EGLConfig *conf2, + void *priv_data) +{ + const _EGLConfig *criteria = (const _EGLConfig *) priv_data; + + /* EGL_NATIVE_VISUAL_TYPE ignored? */ + return _eglCompareConfigs(conf1, conf2, criteria, EGL_TRUE); +} + +static EGLBoolean +egl_g3d_match_config(const _EGLConfig *conf, const _EGLConfig *criteria) +{ + if (!_eglMatchConfig(conf, criteria)) + return EGL_FALSE; + + if (criteria->MatchNativePixmap != EGL_NONE && + criteria->MatchNativePixmap != EGL_DONT_CARE) { + struct egl_g3d_display *gdpy = egl_g3d_display(conf->Display); + struct egl_g3d_config *gconf = egl_g3d_config(conf); + EGLNativePixmapType pix = + (EGLNativePixmapType) criteria->MatchNativePixmap; + + if (!gdpy->native->is_pixmap_supported(gdpy->native, pix, gconf->native)) + return EGL_FALSE; + } + + return EGL_TRUE; +} + +static EGLBoolean +egl_g3d_choose_config(_EGLDriver *drv, _EGLDisplay *dpy, const EGLint *attribs, + EGLConfig *configs, EGLint size, EGLint *num_configs) +{ + _EGLConfig **tmp_configs, criteria; + EGLint tmp_size, i; + + if (!num_configs) + return _eglError(EGL_BAD_PARAMETER, "eglChooseConfigs"); + + if (!_eglParseConfigAttribList(&criteria, dpy, attribs)) + return _eglError(EGL_BAD_ATTRIBUTE, "eglChooseConfig"); + + tmp_configs = (_EGLConfig **) _eglFilterArray(dpy->Configs, &tmp_size, + (_EGLArrayForEach) egl_g3d_match_config, (void *) &criteria); + if (!tmp_configs) + return _eglError(EGL_BAD_ALLOC, "eglChooseConfig(out of memory)"); + + /* perform sorting of configs */ + if (tmp_configs && tmp_size) { + _eglSortConfigs((const _EGLConfig **) tmp_configs, tmp_size, + egl_g3d_compare_config, (void *) &criteria); + size = MIN2(tmp_size, size); + for (i = 0; i < size; i++) + configs[i] = _eglGetConfigHandle(tmp_configs[i]); + } + + free(tmp_configs); + + *num_configs = size; + + return EGL_TRUE; +} + static _EGLContext * egl_g3d_create_context(_EGLDriver *drv, _EGLDisplay *dpy, _EGLConfig *conf, _EGLContext *share, const EGLint *attribs) @@ -539,7 +603,10 @@ egl_g3d_swap_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf) PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, NULL); } - return gsurf->native->swap_buffers(gsurf->native); + return gsurf->native->present(gsurf->native, + NATIVE_ATTACHMENT_BACK_LEFT, + gsurf->base.SwapBehavior == EGL_BUFFER_PRESERVED, + gsurf->base.SwapInterval); } /** @@ -607,8 +674,7 @@ egl_g3d_copy_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf, if (psrc) { gdpy->pipe->resource_copy_region(gdpy->pipe, ptex, subdst, 0, 0, 0, gsurf->render_texture, subsrc, 0, 0, 0, ptex->width0, ptex->height0); - - nsurf->flush_frontbuffer(nsurf); + nsurf->present(nsurf, NATIVE_ATTACHMENT_FRONT_LEFT, FALSE, 0); } pipe_resource_reference(&ptex, NULL); @@ -838,6 +904,8 @@ egl_g3d_init_driver_api(_EGLDriver *drv) { _eglInitDriverFallbacks(drv); + drv->API.ChooseConfig = egl_g3d_choose_config; + drv->API.CreateContext = egl_g3d_create_context; drv->API.DestroyContext = egl_g3d_destroy_context; drv->API.CreateWindowSurface = egl_g3d_create_window_surface; diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_image.c b/src/gallium/state_trackers/egl/common/egl_g3d_image.c index be9c88e5e47..6a1f8cc697b 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_image.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_image.c @@ -38,7 +38,7 @@ #include "egl_g3d_api.h" #include "egl_g3d_image.h" -/* move this to native display? */ +/* for struct winsys_handle */ #include "state_tracker/drm_driver.h" /** @@ -137,13 +137,11 @@ egl_g3d_reference_drm_buffer(_EGLDisplay *dpy, EGLint name, _EGLImage *img, const EGLint *attribs) { struct egl_g3d_display *gdpy = egl_g3d_display(dpy); - struct pipe_screen *screen = gdpy->native->screen; struct pipe_resource templ; struct winsys_handle wsh; _EGLImageAttribs attrs; EGLint format; - /* winsys_handle is in theory platform-specific */ if (dpy->Platform != _EGL_PLATFORM_DRM) return NULL; @@ -178,9 +176,10 @@ egl_g3d_reference_drm_buffer(_EGLDisplay *dpy, EGLint name, memset(&wsh, 0, sizeof(wsh)); wsh.handle = (unsigned) name; - wsh.stride = attrs.DRMBufferStrideMESA; + wsh.stride = + attrs.DRMBufferStrideMESA * util_format_get_blocksize(templ.format); - return screen->resource_from_handle(screen, &templ, &wsh); + return gdpy->native->buffer->import_buffer(gdpy->native, &templ, &wsh); } #endif /* EGL_MESA_drm_image */ @@ -302,10 +301,8 @@ egl_g3d_export_drm_image(_EGLDriver *drv, _EGLDisplay *dpy, _EGLImage *img, { struct egl_g3d_display *gdpy = egl_g3d_display(dpy); struct egl_g3d_image *gimg = egl_g3d_image(img); - struct pipe_screen *screen = gdpy->native->screen; struct winsys_handle wsh; - /* winsys_handle is in theory platform-specific */ if (dpy->Platform != _EGL_PLATFORM_DRM) return EGL_FALSE; @@ -313,9 +310,9 @@ egl_g3d_export_drm_image(_EGLDriver *drv, _EGLDisplay *dpy, _EGLImage *img, if (name) { memset(&handle, 0, sizeof(handle)); wsh.type = DRM_API_HANDLE_TYPE_SHARED; - if (!screen->resource_get_handle(screen, gimg->texture, &wsh)) { + if (!gdpy->native->buffer->export_buffer(gdpy->native, + gimg->texture, &wsh)) return EGL_FALSE; - } *name = wsh.handle; } @@ -324,7 +321,8 @@ egl_g3d_export_drm_image(_EGLDriver *drv, _EGLDisplay *dpy, _EGLImage *img, if (handle || stride) { memset(&wsh, 0, sizeof(wsh)); wsh.type = DRM_API_HANDLE_TYPE_KMS; - if (!screen->resource_get_handle(screen, gimg->texture, &wsh)) + if (!gdpy->native->buffer->export_buffer(gdpy->native, + gimg->texture, &wsh)) return EGL_FALSE; if (handle) diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_st.c b/src/gallium/state_trackers/egl/common/egl_g3d_st.c index 0affe632cfe..25e2999590c 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_st.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_st.c @@ -192,7 +192,8 @@ egl_g3d_st_framebuffer_flush_front(struct st_framebuffer_iface *stfbi, _EGLSurface *surf = (_EGLSurface *) stfbi->st_manager_private; struct egl_g3d_surface *gsurf = egl_g3d_surface(surf); - return gsurf->native->flush_frontbuffer(gsurf->native); + return gsurf->native->present(gsurf->native, + NATIVE_ATTACHMENT_FRONT_LEFT, FALSE, 0); } static boolean diff --git a/src/gallium/state_trackers/egl/common/native.h b/src/gallium/state_trackers/egl/common/native.h index 3c3f57e2670..3886ca20562 100644 --- a/src/gallium/state_trackers/egl/common/native.h +++ b/src/gallium/state_trackers/egl/common/native.h @@ -34,6 +34,11 @@ #include "pipe/p_state.h" #include "state_tracker/sw_winsys.h" +#ifdef __cplusplus +extern "C" { +#endif + +#include "native_buffer.h" #include "native_modeset.h" /** @@ -54,7 +59,17 @@ enum native_param_type { * Return TRUE if window/pixmap surfaces use the buffers of the native * types. */ - NATIVE_PARAM_USE_NATIVE_BUFFER + NATIVE_PARAM_USE_NATIVE_BUFFER, + + /** + * Return TRUE if native_surface::present can preserve the buffer. + */ + NATIVE_PARAM_PRESERVE_BUFFER, + + /** + * Return the maximum supported swap interval. + */ + NATIVE_PARAM_MAX_SWAP_INTERVAL }; struct native_surface { @@ -66,17 +81,12 @@ struct native_surface { void (*destroy)(struct native_surface *nsurf); /** - * Swap the front and back buffers so that the back buffer is visible. It - * is no-op if the surface is single-buffered. The contents of the back - * buffer after swapping may or may not be preserved. - */ - boolean (*swap_buffers)(struct native_surface *nsurf); - - /** - * Make the front buffer visible. In some native displays, changes to the - * front buffer might not be visible immediately and require manual flush. + * Present the given buffer to the native engine. */ - boolean (*flush_frontbuffer)(struct native_surface *nsurf); + boolean (*present)(struct native_surface *nsurf, + enum native_attachment natt, + boolean preserve, + uint swap_interval); /** * Validate the buffers of the surface. textures, if not NULL, points to an @@ -181,6 +191,7 @@ struct native_display { EGLNativePixmapType pix, const struct native_config *nconf); + const struct native_display_buffer *buffer; const struct native_display_modeset *modeset; }; @@ -232,4 +243,8 @@ native_get_drm_platform(void); const struct native_platform * native_get_fbdev_platform(void); +#ifdef __cplusplus +} +#endif + #endif /* _NATIVE_H_ */ diff --git a/src/gallium/state_trackers/egl/common/native_buffer.h b/src/gallium/state_trackers/egl/common/native_buffer.h new file mode 100644 index 00000000000..5c29ab97411 --- /dev/null +++ b/src/gallium/state_trackers/egl/common/native_buffer.h @@ -0,0 +1,59 @@ +/* + * Mesa 3-D graphics library + * Version: 7.9 + * + * Copyright (C) 2010 LunarG Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Chia-I Wu <[email protected]> + */ + +#ifndef _NATIVE_BUFFER_H_ +#define _NATIVE_BUFFER_H_ + +#include "pipe/p_compiler.h" + +struct native_display; +struct pipe_resource; + +/** + * Buffer interface of the native display. It allows native buffers to be + * imported and exported. + * + * Just like a native window or a native pixmap, a native buffer is another + * native type. Its definition depends on the native display. + * + * For DRM platform, the type of a native buffer is struct winsys_handle. + */ +struct native_display_buffer { + struct pipe_resource *(*import_buffer)(struct native_display *ndpy, + const struct pipe_resource *templ, + void *buf); + + /** + * The resource must be creatred with PIPE_BIND_SHARED. + */ + boolean (*export_buffer)(struct native_display *ndpy, + struct pipe_resource *res, + void *buf); +}; + +#endif /* _NATIVE_BUFFER_H_ */ diff --git a/src/gallium/state_trackers/egl/drm/modeset.c b/src/gallium/state_trackers/egl/drm/modeset.c index 5ed22f7b9d4..0cc06caa2a1 100644 --- a/src/gallium/state_trackers/egl/drm/modeset.c +++ b/src/gallium/state_trackers/egl/drm/modeset.c @@ -167,6 +167,32 @@ drm_surface_swap_buffers(struct native_surface *nsurf) return TRUE; } +static boolean +drm_surface_present(struct native_surface *nsurf, + enum native_attachment natt, + boolean preserve, + uint swap_interval) +{ + boolean ret; + + if (preserve || swap_interval) + return FALSE; + + switch (natt) { + case NATIVE_ATTACHMENT_FRONT_LEFT: + ret = drm_surface_flush_frontbuffer(nsurf); + break; + case NATIVE_ATTACHMENT_BACK_LEFT: + ret = drm_surface_swap_buffers(nsurf); + break; + default: + ret = FALSE; + break; + } + + return ret; +} + static void drm_surface_wait(struct native_surface *nsurf) { @@ -225,8 +251,7 @@ drm_display_create_surface(struct native_display *ndpy, resource_surface_set_size(drmsurf->rsurf, drmsurf->width, drmsurf->height); drmsurf->base.destroy = drm_surface_destroy; - drmsurf->base.swap_buffers = drm_surface_swap_buffers; - drmsurf->base.flush_frontbuffer = drm_surface_flush_frontbuffer; + drmsurf->base.present = drm_surface_present; drmsurf->base.validate = drm_surface_validate; drmsurf->base.wait = drm_surface_wait; diff --git a/src/gallium/state_trackers/egl/drm/native_drm.c b/src/gallium/state_trackers/egl/drm/native_drm.c index f6dc5584370..3759c2a26dd 100644 --- a/src/gallium/state_trackers/egl/drm/native_drm.c +++ b/src/gallium/state_trackers/egl/drm/native_drm.c @@ -103,6 +103,9 @@ drm_display_get_param(struct native_display *ndpy, int val; switch (param) { + case NATIVE_PARAM_USE_NATIVE_BUFFER: + case NATIVE_PARAM_PRESERVE_BUFFER: + case NATIVE_PARAM_MAX_SWAP_INTERVAL: default: val = 0; break; @@ -182,6 +185,29 @@ drm_display_init_screen(struct native_display *ndpy) return TRUE; } +static struct pipe_resource * +drm_display_import_buffer(struct native_display *ndpy, + const struct pipe_resource *templ, + void *buf) +{ + return ndpy->screen->resource_from_handle(ndpy->screen, + templ, (struct winsys_handle *) buf); +} + +static boolean +drm_display_export_buffer(struct native_display *ndpy, + struct pipe_resource *res, + void *buf) +{ + return ndpy->screen->resource_get_handle(ndpy->screen, + res, (struct winsys_handle *) buf); +} + +static struct native_display_buffer drm_display_buffer = { + drm_display_import_buffer, + drm_display_export_buffer +}; + static struct native_display * drm_create_display(int fd, struct native_event_handler *event_handler, void *user_data) @@ -205,6 +231,7 @@ drm_create_display(int fd, struct native_event_handler *event_handler, drmdpy->base.get_param = drm_display_get_param; drmdpy->base.get_configs = drm_display_get_configs; + drmdpy->base.buffer = &drm_display_buffer; drm_display_init_modeset(&drmdpy->base); return &drmdpy->base; diff --git a/src/gallium/state_trackers/egl/fbdev/native_fbdev.c b/src/gallium/state_trackers/egl/fbdev/native_fbdev.c index e459402076d..1b5ea8bf9d5 100644 --- a/src/gallium/state_trackers/egl/fbdev/native_fbdev.c +++ b/src/gallium/state_trackers/egl/fbdev/native_fbdev.c @@ -137,6 +137,32 @@ fbdev_surface_swap_buffers(struct native_surface *nsurf) return ret; } +static boolean +fbdev_surface_present(struct native_surface *nsurf, + enum native_attachment natt, + boolean preserve, + uint swap_interval) +{ + boolean ret; + + if (preserve || swap_interval) + return FALSE; + + switch (natt) { + case NATIVE_ATTACHMENT_FRONT_LEFT: + ret = fbdev_surface_flush_frontbuffer(nsurf); + break; + case NATIVE_ATTACHMENT_BACK_LEFT: + ret = fbdev_surface_swap_buffers(nsurf); + break; + default: + ret = FALSE; + break; + } + + return ret; +} + static void fbdev_surface_wait(struct native_surface *nsurf) { @@ -181,8 +207,7 @@ fbdev_display_create_scanout_surface(struct native_display *ndpy, resource_surface_set_size(fbsurf->rsurf, fbsurf->width, fbsurf->height); fbsurf->base.destroy = fbdev_surface_destroy; - fbsurf->base.swap_buffers = fbdev_surface_swap_buffers; - fbsurf->base.flush_frontbuffer = fbdev_surface_flush_frontbuffer; + fbsurf->base.present = fbdev_surface_present; fbsurf->base.validate = fbdev_surface_validate; fbsurf->base.wait = fbdev_surface_wait; @@ -279,6 +304,9 @@ fbdev_display_get_param(struct native_display *ndpy, int val; switch (param) { + case NATIVE_PARAM_USE_NATIVE_BUFFER: + case NATIVE_PARAM_PRESERVE_BUFFER: + case NATIVE_PARAM_MAX_SWAP_INTERVAL: default: val = 0; break; diff --git a/src/gallium/state_trackers/egl/gdi/native_gdi.c b/src/gallium/state_trackers/egl/gdi/native_gdi.c index 91701e5b7df..d259e6edc89 100644 --- a/src/gallium/state_trackers/egl/gdi/native_gdi.c +++ b/src/gallium/state_trackers/egl/gdi/native_gdi.c @@ -160,6 +160,32 @@ gdi_surface_swap_buffers(struct native_surface *nsurf) } static boolean +gdi_surface_present(struct native_surface *nsurf, + enum native_attachment natt, + boolean preserve, + uint swap_interval) +{ + boolean ret; + + if (preserve || swap_interval) + return FALSE; + + switch (natt) { + case NATIVE_ATTACHMENT_FRONT_LEFT: + ret = gdi_surface_flush_frontbuffer(nsurf); + break; + case NATIVE_ATTACHMENT_BACK_LEFT: + ret = gdi_surface_swap_buffers(nsurf); + break; + default: + ret = FALSE; + break; + } + + return ret; +} + +static boolean gdi_surface_validate(struct native_surface *nsurf, uint attachment_mask, unsigned int *seq_num, struct pipe_resource **textures, int *width, int *height) @@ -231,8 +257,7 @@ gdi_display_create_window_surface(struct native_display *ndpy, gdi_surface_update_geometry(&gsurf->base); gsurf->base.destroy = gdi_surface_destroy; - gsurf->base.swap_buffers = gdi_surface_swap_buffers; - gsurf->base.flush_frontbuffer = gdi_surface_flush_frontbuffer; + gsurf->base.present = gdi_surface_present; gsurf->base.validate = gdi_surface_validate; gsurf->base.wait = gdi_surface_wait; @@ -321,6 +346,8 @@ gdi_display_get_param(struct native_display *ndpy, /* private buffers are allocated */ val = FALSE; break; + case NATIVE_PARAM_PRESERVE_BUFFER: + case NATIVE_PARAM_MAX_SWAP_INTERVAL: default: val = 0; break; diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c index 1169e273c34..331a7de432a 100644 --- a/src/gallium/state_trackers/egl/x11/native_dri2.c +++ b/src/gallium/state_trackers/egl/x11/native_dri2.c @@ -338,6 +338,32 @@ dri2_surface_swap_buffers(struct native_surface *nsurf) } static boolean +dri2_surface_present(struct native_surface *nsurf, + enum native_attachment natt, + boolean preserve, + uint swap_interval) +{ + boolean ret; + + if (swap_interval) + return FALSE; + + switch (natt) { + case NATIVE_ATTACHMENT_FRONT_LEFT: + ret = dri2_surface_flush_frontbuffer(nsurf); + break; + case NATIVE_ATTACHMENT_BACK_LEFT: + ret = dri2_surface_swap_buffers(nsurf); + break; + default: + ret = FALSE; + break; + } + + return ret; +} + +static boolean dri2_surface_validate(struct native_surface *nsurf, uint attachment_mask, unsigned int *seq_num, struct pipe_resource **textures, int *width, int *height) @@ -430,8 +456,7 @@ dri2_display_create_surface(struct native_display *ndpy, dri2surf->color_format = dri2conf->base.color_format; dri2surf->base.destroy = dri2_surface_destroy; - dri2surf->base.swap_buffers = dri2_surface_swap_buffers; - dri2surf->base.flush_frontbuffer = dri2_surface_flush_frontbuffer; + dri2surf->base.present = dri2_surface_present; dri2surf->base.validate = dri2_surface_validate; dri2surf->base.wait = dri2_surface_wait; @@ -630,9 +655,14 @@ dri2_display_get_param(struct native_display *ndpy, switch (param) { case NATIVE_PARAM_USE_NATIVE_BUFFER: - /* DRI2GetBuffers use the native buffers */ + /* DRI2GetBuffers uses the native buffers */ + val = TRUE; + break; + case NATIVE_PARAM_PRESERVE_BUFFER: + /* DRI2CopyRegion is used */ val = TRUE; break; + case NATIVE_PARAM_MAX_SWAP_INTERVAL: default: val = 0; break; diff --git a/src/gallium/state_trackers/egl/x11/native_x11.h b/src/gallium/state_trackers/egl/x11/native_x11.h index 0b47837e1b5..8945117276e 100644 --- a/src/gallium/state_trackers/egl/x11/native_x11.h +++ b/src/gallium/state_trackers/egl/x11/native_x11.h @@ -27,6 +27,7 @@ #define _NATIVE_X11_H_ #include "common/native.h" +#include <X11/Xlib.h> struct native_display * x11_create_ximage_display(Display *dpy, diff --git a/src/gallium/state_trackers/egl/x11/native_ximage.c b/src/gallium/state_trackers/egl/x11/native_ximage.c index 4b32f6e36e0..84811fb6e14 100644 --- a/src/gallium/state_trackers/egl/x11/native_ximage.c +++ b/src/gallium/state_trackers/egl/x11/native_ximage.c @@ -175,6 +175,32 @@ ximage_surface_swap_buffers(struct native_surface *nsurf) } static boolean +ximage_surface_present(struct native_surface *nsurf, + enum native_attachment natt, + boolean preserve, + uint swap_interval) +{ + boolean ret; + + if (preserve || swap_interval) + return FALSE; + + switch (natt) { + case NATIVE_ATTACHMENT_FRONT_LEFT: + ret = ximage_surface_flush_frontbuffer(nsurf); + break; + case NATIVE_ATTACHMENT_BACK_LEFT: + ret = ximage_surface_swap_buffers(nsurf); + break; + default: + ret = FALSE; + break; + } + + return ret; +} + +static boolean ximage_surface_validate(struct native_surface *nsurf, uint attachment_mask, unsigned int *seq_num, struct pipe_resource **textures, int *width, int *height) @@ -257,8 +283,7 @@ ximage_display_create_surface(struct native_display *ndpy, xsurf->xdraw.drawable = xsurf->drawable; xsurf->base.destroy = ximage_surface_destroy; - xsurf->base.swap_buffers = ximage_surface_swap_buffers; - xsurf->base.flush_frontbuffer = ximage_surface_flush_frontbuffer; + xsurf->base.present = ximage_surface_present; xsurf->base.validate = ximage_surface_validate; xsurf->base.wait = ximage_surface_wait; @@ -416,6 +441,8 @@ ximage_display_get_param(struct native_display *ndpy, /* private buffers are allocated */ val = FALSE; break; + case NATIVE_PARAM_PRESERVE_BUFFER: + case NATIVE_PARAM_MAX_SWAP_INTERVAL: default: val = 0; break; diff --git a/src/gallium/state_trackers/glx/xlib/SConscript b/src/gallium/state_trackers/glx/xlib/SConscript index 9df351a2769..9e7ebf3fc91 100644 --- a/src/gallium/state_trackers/glx/xlib/SConscript +++ b/src/gallium/state_trackers/glx/xlib/SConscript @@ -3,25 +3,24 @@ Import('*') -if env['platform'] == 'linux' \ - and 'mesa' in env['statetrackers']: +env = env.Clone() - env = env.Clone() +env.Append(CPPPATH = [ + '#/src/mapi', + '#/src/mesa', + '#/src/mesa/main', +]) - env.Append(CPPPATH = [ - '#/src/mapi', - '#/src/mesa', - '#/src/mesa/main', - ]) +sources = [ + 'glx_api.c', + 'glx_getproc.c', + 'glx_usefont.c', + 'xm_api.c', + 'xm_st.c', +] - st_xlib = env.ConvenienceLibrary( - target = 'st_xlib', - source = [ - 'glx_api.c', - 'glx_getproc.c', - 'glx_usefont.c', - 'xm_api.c', - 'xm_st.c', - ] - ) - Export('st_xlib') +st_xlib = env.ConvenienceLibrary( + target = 'st_xlib', + source = sources, +) +Export('st_xlib') diff --git a/src/gallium/state_trackers/python/SConscript b/src/gallium/state_trackers/python/SConscript index aadeaa0a359..b8371865a61 100644 --- a/src/gallium/state_trackers/python/SConscript +++ b/src/gallium/state_trackers/python/SConscript @@ -3,57 +3,64 @@ import os.path Import('*') -if 'python' in env['statetrackers']: - - env = env.Clone() - - env.Tool('python') - - env.Tool('swig') - env.Append(SWIGPATH = ['#src/gallium/include', '#src/gallium/include/pipe']) - env.Append(SWIGFLAGS = ['-python', '-keyword']) - - env.Append(CPPPATH = '.') - - if env['platform'] == 'windows': - env.Append(LIBS = [ - 'opengl32', - 'gdi32', - 'user32', - 'kernel32', - 'ws2_32', - ]) - else: - env.Append(CPPDEFINES = ['GCC_HASCLASSVISIBILITY']) - env.Append(LIBS = [ - 'GL', - 'X11', - ]) - - sources = [ - 'gallium.i', - 'st_device.c', - 'st_sample.c', - 'st_hardpipe_winsys.c', - 'st_softpipe_winsys.c', - ] - - env.Prepend(LIBS = [ - ws_null, - trace, - gallium, +if env['toolchain'] == 'crossmingw': + # Cross-compilation not supported + Return() + +if not env.Detect(['swig']): + Return() + +env = env.Clone() + +env.Tool('python') + +env.Tool('swig') +env.Append(SWIGPATH = ['#src/gallium/include', '#src/gallium/include/pipe']) +env.Append(SWIGFLAGS = ['-python', '-keyword']) + +env.Append(CPPPATH = '.') + +if env['platform'] == 'windows': + env.Append(LIBS = [ + 'opengl32', + 'gdi32', + 'user32', + 'kernel32', + 'ws2_32', + ]) +else: + env.Append(CPPDEFINES = ['GCC_HASCLASSVISIBILITY']) + env.Append(LIBS = [ + 'GL', + 'X11', ]) - if env['llvm']: - env.Append(CPPDEFINES = ['HAVE_LLVMPIPE']) - env.Prepend(LIBS = [llvmpipe]) - if True: - env.Append(CPPDEFINES = ['HAVE_SOFTPIPE']) - env.Prepend(LIBS = [softpipe]) +sources = [ + 'gallium.i', + 'st_device.c', + 'st_sample.c', + 'st_hardpipe_winsys.c', + 'st_softpipe_winsys.c', +] + +env.Prepend(LIBS = [ + ws_null, + trace, + gallium, +]) + +if env['llvm']: + env.Append(CPPDEFINES = ['HAVE_LLVMPIPE']) + env.Prepend(LIBS = [llvmpipe]) +if True: + env.Append(CPPDEFINES = ['HAVE_SOFTPIPE']) + env.Prepend(LIBS = [softpipe]) + +env['no_import_lib'] = 1 - env['no_import_lib'] = 1 +pyst = env.SharedLibrary( + target = '_gallium', + source = sources, +) - env.SharedLibrary( - target = '_gallium', - source = sources, - ) +env.Alias('python', pyst) diff --git a/src/gallium/state_trackers/vega/SConscript b/src/gallium/state_trackers/vega/SConscript index 548053eb646..a25b8474e4d 100644 --- a/src/gallium/state_trackers/vega/SConscript +++ b/src/gallium/state_trackers/vega/SConscript @@ -3,49 +3,48 @@ Import('*') -if 'egl' in env['statetrackers']: +env = env.Clone() - env = env.Clone() +env.Append(CPPPATH = [ + '#/src/mapi', +]) - env.Append(CPPPATH = [ - '#/src/mapi', - ]) +vega_sources = [ + 'api.c', + 'api_context.c', + 'api_filters.c', + 'api_images.c', + 'api_masks.c', + 'api_misc.c', + 'api_paint.c', + 'api_params.c', + 'api_path.c', + 'api_text.c', + 'api_transform.c', + 'vgu.c', + 'vg_context.c', + 'vg_manager.c', + 'vg_state.c', + 'vg_translate.c', + 'polygon.c', + 'bezier.c', + 'path.c', + 'paint.c', + 'arc.c', + 'image.c', + 'renderer.c', + 'stroker.c', + 'mask.c', + 'shader.c', + 'shaders_cache.c', +] - vega_sources = [ - 'api.c', - 'api_context.c', - 'api_filters.c', - 'api_images.c', - 'api_masks.c', - 'api_misc.c', - 'api_paint.c', - 'api_params.c', - 'api_path.c', - 'api_text.c', - 'api_transform.c', - 'vgu.c', - 'vg_context.c', - 'vg_manager.c', - 'vg_state.c', - 'vg_translate.c', - 'polygon.c', - 'bezier.c', - 'path.c', - 'paint.c', - 'arc.c', - 'image.c', - 'renderer.c', - 'stroker.c', - 'mask.c', - 'shader.c', - 'shaders_cache.c', - ] +# vgapi_header must be generated first +env.Depends(vega_sources, vgapi_header) - # vgapi_header must be generated first - env.Depends(vega_sources, vgapi_header) +st_vega = env.ConvenienceLibrary( + target = 'st_vega', + source = vega_sources, +) - st_vega = env.ConvenienceLibrary( - target = 'st_vega', - source = vega_sources, - ) - Export('st_vega') +Export('st_vega') diff --git a/src/gallium/state_trackers/vega/api_filters.c b/src/gallium/state_trackers/vega/api_filters.c index 8ace9853368..4bd5d7e4bc2 100644 --- a/src/gallium/state_trackers/vega/api_filters.c +++ b/src/gallium/state_trackers/vega/api_filters.c @@ -37,10 +37,8 @@ #include "pipe/p_state.h" #include "util/u_inlines.h" #include "pipe/p_screen.h" -#include "pipe/p_shader_tokens.h" #include "util/u_format.h" -#include "util/u_memory.h" #include "util/u_sampler.h" #include "util/u_string.h" diff --git a/src/gallium/state_trackers/vega/api_images.c b/src/gallium/state_trackers/vega/api_images.c index c36b3d2f3c8..7054d9bb7ed 100644 --- a/src/gallium/state_trackers/vega/api_images.c +++ b/src/gallium/state_trackers/vega/api_images.c @@ -36,9 +36,7 @@ #include "pipe/p_context.h" #include "pipe/p_screen.h" #include "util/u_inlines.h" -#include "util/u_blit.h" #include "util/u_tile.h" -#include "util/u_memory.h" static INLINE VGboolean supported_image_format(VGImageFormat format) { diff --git a/src/gallium/state_trackers/vega/api_masks.c b/src/gallium/state_trackers/vega/api_masks.c index 94c1ff5375f..189390ec2d3 100644 --- a/src/gallium/state_trackers/vega/api_masks.c +++ b/src/gallium/state_trackers/vega/api_masks.c @@ -27,7 +27,6 @@ #include "VG/openvg.h" #include "mask.h" -#include "renderer.h" #include "api.h" #include "vg_context.h" @@ -36,7 +35,6 @@ #include "util/u_pack_color.h" #include "util/u_draw_quad.h" -#include "util/u_memory.h" #define DISABLE_1_1_MASKING 1 diff --git a/src/gallium/state_trackers/vega/api_paint.c b/src/gallium/state_trackers/vega/api_paint.c index d88341b04ff..1411806455c 100644 --- a/src/gallium/state_trackers/vega/api_paint.c +++ b/src/gallium/state_trackers/vega/api_paint.c @@ -28,7 +28,6 @@ #include "vg_context.h" #include "paint.h" -#include "image.h" #include "api.h" VGPaint vegaCreatePaint(void) diff --git a/src/gallium/state_trackers/vega/api_path.c b/src/gallium/state_trackers/vega/api_path.c index 6c9a2e8d658..f76adddb584 100644 --- a/src/gallium/state_trackers/vega/api_path.c +++ b/src/gallium/state_trackers/vega/api_path.c @@ -28,13 +28,9 @@ #include "vg_context.h" #include "path.h" -#include "polygon.h" -#include "paint.h" #include "api.h" #include "pipe/p_context.h" -#include "util/u_inlines.h" -#include "util/u_draw_quad.h" VGPath vegaCreatePath(VGint pathFormat, VGPathDatatype datatype, diff --git a/src/gallium/state_trackers/vega/api_text.c b/src/gallium/state_trackers/vega/api_text.c index b35f3be90ab..2a62da0a1de 100644 --- a/src/gallium/state_trackers/vega/api_text.c +++ b/src/gallium/state_trackers/vega/api_text.c @@ -27,7 +27,6 @@ #include "VG/openvg.h" #include "vg_context.h" -#include "api.h" #include "util/u_memory.h" diff --git a/src/gallium/state_trackers/vega/image.c b/src/gallium/state_trackers/vega/image.c index c12dc71b860..28bbe420a21 100644 --- a/src/gallium/state_trackers/vega/image.c +++ b/src/gallium/state_trackers/vega/image.c @@ -32,13 +32,11 @@ #include "renderer.h" #include "util_array.h" #include "api_consts.h" -#include "shaders_cache.h" #include "shader.h" #include "pipe/p_context.h" #include "pipe/p_screen.h" #include "util/u_inlines.h" -#include "util/u_blit.h" #include "util/u_format.h" #include "util/u_tile.h" #include "util/u_memory.h" diff --git a/src/gallium/state_trackers/vega/paint.c b/src/gallium/state_trackers/vega/paint.c index 2c0eb6b23d2..c0c8cddabe9 100644 --- a/src/gallium/state_trackers/vega/paint.c +++ b/src/gallium/state_trackers/vega/paint.c @@ -26,7 +26,6 @@ #include "paint.h" -#include "shaders_cache.h" #include "matrix.h" #include "image.h" #include "st_inlines.h" @@ -34,7 +33,6 @@ #include "pipe/p_compiler.h" #include "util/u_inlines.h" -#include "util/u_format.h" #include "util/u_memory.h" #include "util/u_math.h" #include "util/u_sampler.h" diff --git a/src/gallium/state_trackers/vega/polygon.c b/src/gallium/state_trackers/vega/polygon.c index bc94170eb96..ca8831064c9 100644 --- a/src/gallium/state_trackers/vega/polygon.c +++ b/src/gallium/state_trackers/vega/polygon.c @@ -29,7 +29,6 @@ #include "matrix.h" /*for floatsEqual*/ #include "vg_context.h" #include "vg_state.h" -#include "paint.h" #include "renderer.h" #include "util_array.h" #include "VG/openvg.h" diff --git a/src/gallium/state_trackers/vega/renderer.c b/src/gallium/state_trackers/vega/renderer.c index 8c023044c45..c6f5f7a05b8 100644 --- a/src/gallium/state_trackers/vega/renderer.c +++ b/src/gallium/state_trackers/vega/renderer.c @@ -35,12 +35,9 @@ #include "pipe/p_shader_tokens.h" #include "util/u_draw_quad.h" -#include "util/u_format.h" #include "util/u_simple_shaders.h" #include "util/u_memory.h" -#include "util/u_rect.h" #include "util/u_sampler.h" -#include "util/u_surface.h" #include "cso_cache/cso_context.h" diff --git a/src/gallium/state_trackers/vega/shaders_cache.c b/src/gallium/state_trackers/vega/shaders_cache.c index 53e6bfcf16b..e002a7ed428 100644 --- a/src/gallium/state_trackers/vega/shaders_cache.c +++ b/src/gallium/state_trackers/vega/shaders_cache.c @@ -30,8 +30,6 @@ #include "pipe/p_context.h" #include "pipe/p_defines.h" -#include "util/u_inlines.h" -#include "pipe/p_screen.h" #include "pipe/p_shader_tokens.h" #include "tgsi/tgsi_build.h" diff --git a/src/gallium/state_trackers/vega/vg_context.c b/src/gallium/state_trackers/vega/vg_context.c index 5cb25906027..b1f98fa477d 100644 --- a/src/gallium/state_trackers/vega/vg_context.c +++ b/src/gallium/state_trackers/vega/vg_context.c @@ -37,7 +37,6 @@ #include "pipe/p_context.h" #include "util/u_inlines.h" -#include "pipe/p_shader_tokens.h" #include "cso_cache/cso_context.h" diff --git a/src/gallium/state_trackers/wgl/SConscript b/src/gallium/state_trackers/wgl/SConscript index 0f580b859c6..ec55f042f90 100644 --- a/src/gallium/state_trackers/wgl/SConscript +++ b/src/gallium/state_trackers/wgl/SConscript @@ -2,41 +2,38 @@ import os Import('*') -if env['platform'] in ['windows']: - - env = env.Clone() - - env.Append(CPPPATH = [ - '#src/mapi', - '#src/mesa', - '.', - ]) - - env.AppendUnique(CPPDEFINES = [ - '_GDI32_', # prevent wgl* being declared __declspec(dllimport) - 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers - 'WIN32_THREADS', # use Win32 thread API - 'WIN32_LEAN_AND_MEAN', # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx - ]) - - sources = [ - 'stw_context.c', - 'stw_device.c', - 'stw_ext_extensionsstring.c', - 'stw_ext_gallium.c', - 'stw_ext_pixelformat.c', - 'stw_ext_swapinterval.c', - 'stw_framebuffer.c', - 'stw_getprocaddress.c', - 'stw_pixelformat.c', - 'stw_st.c', - 'stw_tls.c', - 'stw_wgl.c', - ] +env = env.Clone() - wgl = env.ConvenienceLibrary( - target ='wgl', - source = sources, - ) - - Export('wgl') +env.Append(CPPPATH = [ + '#src/mapi', + '#src/mesa', + '.', +]) + +env.AppendUnique(CPPDEFINES = [ + '_GDI32_', # prevent wgl* being declared __declspec(dllimport) + 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers + 'WIN32_THREADS', # use Win32 thread API + 'WIN32_LEAN_AND_MEAN', # http://msdn2.microsoft.com/en-us/library/6dwk3a1z.aspx +]) + +sources = [ + 'stw_context.c', + 'stw_device.c', + 'stw_ext_extensionsstring.c', + 'stw_ext_gallium.c', + 'stw_ext_pixelformat.c', + 'stw_ext_swapinterval.c', + 'stw_framebuffer.c', + 'stw_getprocaddress.c', + 'stw_pixelformat.c', + 'stw_st.c', + 'stw_tls.c', + 'stw_wgl.c', +] + +wgl = env.ConvenienceLibrary( + target ='wgl', + source = sources, +) +Export('wgl') diff --git a/src/gallium/state_trackers/xorg/SConscript b/src/gallium/state_trackers/xorg/SConscript index 0b598dab6e3..19315694b7c 100644 --- a/src/gallium/state_trackers/xorg/SConscript +++ b/src/gallium/state_trackers/xorg/SConscript @@ -3,34 +3,38 @@ Import('*') -if 'xorg' in env['statetrackers']: +env = env.Clone() - env = env.Clone() +env.Append(CPPPATH = [ + '#/src/mesa', +]) - env.Append(CPPPATH = [ - '#/src/mesa', - ]) +env.ParseConfig('pkg-config --cflags --libs libdrm xorg-server') - env.ParseConfig('pkg-config --cflags --libs libdrm xorg-server') +if env['kms']: + env.Append(CPPDEFINES = ['HAVE_LIBKMS']) - conf = env.Configure() +conf = env.Configure() - if conf.CheckHeader('X11/extensions/dpmsconst.h'): - env.Append(CPPDEFINES = [('HAVE_XEXTPROTO_71', '1')]) +if conf.CheckHeader('X11/extensions/dpmsconst.h'): + env.Append(CPPDEFINES = [('HAVE_XEXTPROTO_71', '1')]) - conf.Finish() +conf.Finish() - st_xorg = env.ConvenienceLibrary( - target = 'st_xorg', - source = [ 'xorg_composite.c', - 'xorg_crtc.c', - 'xorg_dri2.c', - 'xorg_driver.c', - 'xorg_exa.c', - 'xorg_exa_tgsi.c', - 'xorg_output.c', - 'xorg_renderer.c', - 'xorg_xv.c', - ] - ) - Export('st_xorg') +sources = [ + 'xorg_composite.c', + 'xorg_crtc.c', + 'xorg_dri2.c', + 'xorg_driver.c', + 'xorg_exa.c', + 'xorg_exa_tgsi.c', + 'xorg_output.c', + 'xorg_renderer.c', + 'xorg_xv.c', +] + +st_xorg = env.ConvenienceLibrary( + target = 'st_xorg', + source = sources, +) +Export('st_xorg') diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c index 1ec772df172..1ee79ae177e 100644 --- a/src/gallium/state_trackers/xorg/xorg_driver.c +++ b/src/gallium/state_trackers/xorg/xorg_driver.c @@ -447,7 +447,7 @@ drv_pre_init(ScrnInfoPtr pScrn, int flags) if (!drv_init_resource_management(pScrn)) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Could not init " - "Gallium3D or libKMS."); + "Gallium3D or libKMS.\n"); return FALSE; } diff --git a/src/gallium/targets/Makefile.dri b/src/gallium/targets/Makefile.dri index 59961e982aa..3fb4cc6b861 100644 --- a/src/gallium/targets/Makefile.dri +++ b/src/gallium/targets/Makefile.dri @@ -80,7 +80,7 @@ $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(PIPE_DRIVERS) Makefile \ $(OBJECTS) $(PIPE_DRIVERS) \ -Wl,--start-group $(MESA_MODULES) -Wl,--end-group \ $(DRI_LIB_DEPS) $(DRIVER_EXTRAS) - $(CXX) $(CFLAGS) -o [email protected] $(TOP)/src/mesa/drivers/dri/common/dri_test.o [email protected] $(DRI_LIB_DEPS); + $(CXX) $(CFLAGS) -o [email protected] $(TOP)/src/mesa/drivers/dri/common/dri_test.o [email protected] $(DRI_LIB_DEPS) $(LDFLAGS); @rm -f [email protected] mv -f [email protected] $@ diff --git a/src/gallium/targets/Makefile.xorg b/src/gallium/targets/Makefile.xorg index 87eedd7136c..47040bb14c8 100644 --- a/src/gallium/targets/Makefile.xorg +++ b/src/gallium/targets/Makefile.xorg @@ -42,7 +42,7 @@ endif default: depend $(TOP)/$(LIB_DIR)/gallium $(LIBNAME) $(LIBNAME_STAGING) $(LIBNAME): $(OBJECTS) Makefile ../Makefile.xorg $(LIBS) $(DRIVER_PIPES) - $(MKLIB) -linker $(CC) -noprefix -o $@ $(LDFLAGS) $(OBJECTS) $(DRIVER_PIPES) $(GALLIUM_AUXILIARIES) $(DRIVER_LINKS) + $(MKLIB) -linker '$(CC)' -noprefix -o $@ $(LDFLAGS) $(OBJECTS) $(DRIVER_PIPES) $(GALLIUM_AUXILIARIES) $(DRIVER_LINKS) depend: $(C_SOURCES) $(CPP_SOURCES) $(ASM_SOURCES) $(SYMLINKS) $(GENERATED_SOURCES) rm -f depend diff --git a/src/gallium/targets/SConscript b/src/gallium/targets/SConscript deleted file mode 100644 index e447d093610..00000000000 --- a/src/gallium/targets/SConscript +++ /dev/null @@ -1,41 +0,0 @@ -import os -Import('*') - -# Compatibility with old build scripts: -# -if 'mesa' in env['statetrackers']: - if 'xlib' in env['winsys'] and 'libgl-xlib' not in env['targets']: - env['targets'].append('libgl-xlib') - if 'gdi' in env['winsys'] and 'libgl-gdi' not in env['targets']: - env['targets'].append('libgl-gdi') - -if not 'graw-xlib' in env['targets'] and not 'graw-null' in env['targets'] and not env['msvc']: - # XXX: disable until MSVC can link correctly - SConscript('graw-null/SConscript') - - -if env['dri']: - SConscript([ - 'SConscript.dri' - ]) - -if 'xorg' in env['statetrackers']: - if 'vmware' in env['winsys']: - SConscript([ - 'xorg-vmwgfx/SConscript', - ]) - -if 'egl' in env['statetrackers']: - SConscript([ - 'egl-gdi/SConscript', - ]) - -# Ideally all non-target directories would produce convenience -# libraries, and the actual shared libraries and other installables -# would be finally assembled in the targets subtree: -# -for target in env['targets']: - SConscript(os.path.join(target, 'SConscript')) - - - diff --git a/src/gallium/targets/SConscript.dri b/src/gallium/targets/SConscript.dri index bc8d179e3d9..bc3671a256b 100644 --- a/src/gallium/targets/SConscript.dri +++ b/src/gallium/targets/SConscript.dri @@ -3,68 +3,71 @@ Import('*') +if not env['dri']: + Return() + drienv = env.Clone() drienv.Replace(CPPPATH = [ - '#src/mesa/drivers/dri/common', - '#include', - '#include/GL/internal', - '#src/mapi', - '#src/gallium/include', - '#src/gallium/auxiliary', - '#src/gallium/drivers', - '#src/gallium/winsys', - '#src/mesa', - '#src/mesa/main', - '#src/mesa/glapi', - '#src/mesa/math', - '#src/mesa/transform', - '#src/mesa/shader', - '#src/mesa/swrast', - '#src/mesa/swrast_setup', - '#src/egl/main', - '#src/egl/drivers/dri', + '#src/mesa/drivers/dri/common', + '#include', + '#include/GL/internal', + '#src/mapi', + '#src/gallium/include', + '#src/gallium/auxiliary', + '#src/gallium/drivers', + '#src/gallium/winsys', + '#src/mesa', + '#src/mesa/main', + '#src/mesa/glapi', + '#src/mesa/math', + '#src/mesa/transform', + '#src/mesa/shader', + '#src/mesa/swrast', + '#src/mesa/swrast_setup', + '#src/egl/main', + '#src/egl/drivers/dri', ]) drienv.ParseConfig('pkg-config --cflags --libs libdrm') dri_common_utils = drienv.SharedObject( - target = 'utils.o', - source = '#src/mesa/drivers/dri/common/utils.c' + target = 'utils.o', + source = '#src/mesa/drivers/dri/common/utils.c' ) dri_common_xmlconfig = drienv.SharedObject( - target = 'xmlconfig.o', - source = '#src/mesa/drivers/dri/common/xmlconfig.c' + target = 'xmlconfig.o', + source = '#src/mesa/drivers/dri/common/xmlconfig.c' ) dri_common_vblank = drienv.SharedObject( - target = 'vblank.o', - source = '#src/mesa/drivers/dri/common/vblank.c' + target = 'vblank.o', + source = '#src/mesa/drivers/dri/common/vblank.c' ) dri_common_dri_util = drienv.SharedObject( - target = 'dri_util.o', - source = '#src/mesa/drivers/dri/common/dri_util.c' + target = 'dri_util.o', + source = '#src/mesa/drivers/dri/common/dri_util.c' ) dri_common_drisw_util = drienv.SharedObject( - target = 'drisw_util.o', - source = '#src/mesa/drivers/dri/common/drisw_util.c' + target = 'drisw_util.o', + source = '#src/mesa/drivers/dri/common/drisw_util.c' ) COMMON_DRI_SW_OBJECTS = [ - dri_common_utils, - dri_common_xmlconfig, - dri_common_drisw_util, + dri_common_utils, + dri_common_xmlconfig, + dri_common_drisw_util, ] COMMON_DRI_DRM_OBJECTS = [ - dri_common_utils, - dri_common_xmlconfig, - dri_common_vblank, - dri_common_dri_util, + dri_common_utils, + dri_common_xmlconfig, + dri_common_vblank, + dri_common_dri_util, ] drienv.AppendUnique(LIBS = [ @@ -73,36 +76,7 @@ drienv.AppendUnique(LIBS = [ ]) Export([ - 'drienv', - 'COMMON_DRI_SW_OBJECTS', - 'COMMON_DRI_DRM_OBJECTS', -]) - -SConscript([ - 'dri-swrast/SConscript', + 'drienv', + 'COMMON_DRI_SW_OBJECTS', + 'COMMON_DRI_DRM_OBJECTS', ]) - -if 'vmware' in env['winsys']: - SConscript([ - 'dri-vmwgfx/SConscript', - ]) - -if 'i915' in env['winsys']: - SConscript([ - 'dri-i915/SConscript', - ]) - -if 'i965' in env['winsys']: - SConscript([ - 'dri-i965/SConscript', - ]) - -if 'radeon' in env['winsys']: - SConscript([ - 'dri-radeong/SConscript', - ]) - -if 'r600' in env['winsys']: - SConscript([ - 'dri-r600/SConscript', - ]) diff --git a/src/gallium/targets/dri-i915/SConscript b/src/gallium/targets/dri-i915/SConscript index 172f92d6b82..ab60013830e 100644 --- a/src/gallium/targets/dri-i915/SConscript +++ b/src/gallium/targets/dri-i915/SConscript @@ -1,9 +1,5 @@ Import('*') -if not 'i915' in env['drivers']: - print 'warning: i915 pipe driver not built skipping i915_dri.so' - Return() - env = drienv.Clone() env.ParseConfig('pkg-config --cflags --libs libdrm_intel') @@ -24,8 +20,10 @@ env.Prepend(LIBS = [ COMMON_DRI_DRM_OBJECTS ]) -env.LoadableModule( +module = env.LoadableModule( target = 'i915_dri.so', source = 'target.c', SHLIBPREFIX = '', ) + +env.Alias('dri-i915', module)
\ No newline at end of file diff --git a/src/gallium/targets/dri-i965/SConscript b/src/gallium/targets/dri-i965/SConscript index 684e3488f71..669f70d6b8d 100644 --- a/src/gallium/targets/dri-i965/SConscript +++ b/src/gallium/targets/dri-i965/SConscript @@ -1,9 +1,5 @@ Import('*') -if not 'i965' in env['drivers']: - print 'warning: i965 pipe driver not built skipping i965_dri.so' - Return() - env = drienv.Clone() env.ParseConfig('pkg-config --cflags --libs libdrm_intel') @@ -27,8 +23,10 @@ env.Prepend(LIBS = [ COMMON_DRI_DRM_OBJECTS ]) -env.LoadableModule( +module = env.LoadableModule( target = 'i965_dri.so', source = 'target.c', SHLIBPREFIX = '', ) + +env.Alias('dri-i965', module)
\ No newline at end of file diff --git a/src/gallium/targets/dri-r300/SConscript b/src/gallium/targets/dri-r300/SConscript index 33a458f2e68..005b4bbf7f1 100644 --- a/src/gallium/targets/dri-r300/SConscript +++ b/src/gallium/targets/dri-r300/SConscript @@ -1,9 +1,5 @@ Import('*') -if not 'r300' in env['drivers']: - print 'warning: r300 pipe driver not built skipping r300_dri.so' - Return() - env = drienv.Clone() env.ParseConfig('pkg-config --cflags --libs libdrm_radeon') @@ -23,8 +19,10 @@ env.Prepend(LIBS = [ COMMON_DRI_DRM_OBJECTS ]) -env.SharedLibrary( +module = env.SharedLibrary( target ='r300_dri.so', source = 'target.c', SHLIBPREFIX = '', ) + +env.Alias('dri-r300', module)
\ No newline at end of file diff --git a/src/gallium/targets/dri-r600/SConscript b/src/gallium/targets/dri-r600/SConscript index 64d6d2a7f6f..aa771db2d1a 100644 --- a/src/gallium/targets/dri-r600/SConscript +++ b/src/gallium/targets/dri-r600/SConscript @@ -1,9 +1,5 @@ Import('*') -if not 'r600' in env['drivers']: - print 'warning: r600 pipe driver not built skipping r600_dri.so' - Return() - env = drienv.Clone() env.ParseConfig('pkg-config --cflags --libs libdrm_radeon') @@ -22,8 +18,10 @@ env.Prepend(LIBS = [ COMMON_DRI_DRM_OBJECTS ]) -env.SharedLibrary( +module = env.SharedLibrary( target ='r600_dri.so', source = 'target.c', SHLIBPREFIX = '', ) + +env.Alias('dri-r600', module) diff --git a/src/gallium/targets/dri-swrast/SConscript b/src/gallium/targets/dri-swrast/SConscript index d8143471194..b67483800e4 100644 --- a/src/gallium/targets/dri-swrast/SConscript +++ b/src/gallium/targets/dri-swrast/SConscript @@ -27,15 +27,16 @@ if True: if env['llvm']: env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') - env.Tool('udis86') env.Prepend(LIBS = [llvmpipe]) swrastg_sources = [ 'swrast_drm_api.c' ] -env.LoadableModule( +module = env.LoadableModule( target ='swrastg_dri.so', source = swrastg_sources, SHLIBPREFIX = '', ) + +env.Alias('dri-swrast', module) diff --git a/src/gallium/targets/dri-vmwgfx/Makefile b/src/gallium/targets/dri-vmwgfx/Makefile index 97c703b3739..38f78932e13 100644 --- a/src/gallium/targets/dri-vmwgfx/Makefile +++ b/src/gallium/targets/dri-vmwgfx/Makefile @@ -12,6 +12,7 @@ PIPE_DRIVERS = \ C_SOURCES = \ target.c \ + vmw_powf.c \ $(COMMON_GALLIUM_SOURCES) DRIVER_DEFINES = \ diff --git a/src/gallium/targets/dri-vmwgfx/SConscript b/src/gallium/targets/dri-vmwgfx/SConscript index 7afabc7429f..7888e4f2c8b 100644 --- a/src/gallium/targets/dri-vmwgfx/SConscript +++ b/src/gallium/targets/dri-vmwgfx/SConscript @@ -1,9 +1,5 @@ Import('*') -if not 'svga' in env['drivers']: - print 'warning: svga pipe driver not built skipping vmwgfx_dri.so' - Return() - env = drienv.Clone() env.Append(CPPDEFINES = ['GALLIUM_RBUG', 'GALLIUM_TRACE']) @@ -20,8 +16,10 @@ env.Prepend(LIBS = [ COMMON_DRI_DRM_OBJECTS ]) -env.LoadableModule( +module = env.LoadableModule( target = 'vmwgfx_dri.so', source = 'target.c', SHLIBPREFIX = '', ) + +env.Alias('dri-vmwgfx', module)
\ No newline at end of file diff --git a/src/gallium/targets/dri-vmwgfx/vmw_powf.c b/src/gallium/targets/dri-vmwgfx/vmw_powf.c new file mode 100644 index 00000000000..ca5e39b389a --- /dev/null +++ b/src/gallium/targets/dri-vmwgfx/vmw_powf.c @@ -0,0 +1,17 @@ +/** + * Powf may leave an unresolved symbol pointing to a libstdc++.so powf. + * However, not all libstdc++.so include this function, so optionally + * replace the powf function with calls to expf and logf. + */ + +#ifdef VMW_RESOLVE_POWF + +extern float expf(float x); +extern float logf(float x); +extern float powf(float x, float y); + +float powf(float x, float y) { + return expf(logf(x)*y); +} + +#endif diff --git a/src/gallium/targets/egl-gdi/SConscript b/src/gallium/targets/egl-gdi/SConscript index 8f8b28ef67b..d52eeb70fd5 100644 --- a/src/gallium/targets/egl-gdi/SConscript +++ b/src/gallium/targets/egl-gdi/SConscript @@ -3,45 +3,53 @@ Import('*') -if env['platform'] == 'windows': - - env = env.Clone() - - env.Append(CPPPATH = [ - '#/src/gallium/state_trackers/egl', - '#/src/gallium/state_trackers/vega', - '#/src/egl/main', - '#/src/mesa', - ]) - - env.Append(CPPDEFINES = [ - 'FEATURE_VG=1', - 'GALLIUM_SOFTPIPE', - 'GALLIUM_RBUG', - 'GALLIUM_TRACE', - ]) - - env.Append(LIBS = [ - 'gdi32', - 'user32', - 'kernel32', - 'ws2_32', - ]) - - env['no_import_lib'] = 1 - - drivers = [softpipe] - if env['llvm']: - env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') - drivers += [llvmpipe] - drivers += [identity, trace, rbug] - - apis = [vgapi, st_vega] - - egl_gallium = env.SharedLibrary( - target ='egl_gallium', - source = 'egl-static.c', - LIBS = st_egl_gdi + ws_gdi + drivers + apis + gallium + egl + env['LIBS'], - ) - - env.InstallSharedLibrary(egl_gallium) +env = env.Clone() + +env.Append(CPPPATH = [ + '#/src/gallium/state_trackers/egl', + '#/src/gallium/state_trackers/vega', + '#/src/egl/main', + '#/src/mesa', +]) + +env.Append(CPPDEFINES = [ + 'FEATURE_VG=1', + 'GALLIUM_SOFTPIPE', + 'GALLIUM_RBUG', + 'GALLIUM_TRACE', +]) + +env.Append(LIBS = [ + 'gdi32', + 'user32', + 'kernel32', + 'ws2_32', +]) + +env.Prepend(LIBS = [ + st_egl_gdi, + ws_gdi, + identity, + trace, + rbug, + softpipe, + vgapi, + st_vega, + gallium, + egl, +]) + +if env['llvm']: + env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') + env.Prepend(LIBS = [llvmpipe]) + +egl_gallium = env.SharedLibrary( + target ='egl_gallium', + source = 'egl-static.c', +) + +env['no_import_lib'] = 1 + +egl_gdi = env.InstallSharedLibrary(egl_gallium) + +env.Alias('egl-gdi', egl_gdi) diff --git a/src/gallium/targets/egl/Makefile b/src/gallium/targets/egl/Makefile index 57979c4e9d4..63e9352144e 100644 --- a/src/gallium/targets/egl/Makefile +++ b/src/gallium/targets/egl/Makefile @@ -54,9 +54,8 @@ egl_LIBS += $(TOP)/src/gallium/winsys/sw/fbdev/libfbdev.a endif # EGL_RENDERABLE_TYPE is a compile time attribute -egl_CPPFLAGS += $(API_DEFINES) ifneq ($(filter $(GL_LIB), $(EGL_CLIENT_APIS)),) -egl_CPPFLAGS += -DFEATURE_GL=1 +egl_CPPFLAGS += $(API_DEFINES) endif ifneq ($(filter $(GLESv1_CM_LIB), $(EGL_CLIENT_APIS)),) egl_CPPFLAGS += -DFEATURE_ES1=1 diff --git a/src/gallium/targets/graw-gdi/SConscript b/src/gallium/targets/graw-gdi/SConscript new file mode 100644 index 00000000000..8ee8915acec --- /dev/null +++ b/src/gallium/targets/graw-gdi/SConscript @@ -0,0 +1,41 @@ +####################################################################### +# SConscript for graw-gdi + +Import('*') + +env = env.Clone() + +env.Append(CPPPATH = [ + '#src/gallium/winsys/sw', +]) + +env.Prepend(LIBS = [ + gallium, + 'gdi32', + identity, + rbug, + trace, + 'user32', + 'ws2_32', +]) + +sources = [ + 'graw_gdi.c', + graw_util, +] + +env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') +env.Prepend(LIBS = [softpipe]) + +graw = env.SharedLibrary( + target = 'graw', + source = sources, + LIBS = ws_gdi + env['LIBS'], +) + +if env['platform'] == 'windows': + graw = env.FindIxes(graw, 'LIBPREFIX', 'LIBSUFFIX') +else: + graw = env.FindIxes(graw, 'SHLIBPREFIX', 'SHLIBSUFFIX') + +env.Alias('graw-gdi', graw) diff --git a/src/gallium/targets/graw-gdi/graw_gdi.c b/src/gallium/targets/graw-gdi/graw_gdi.c new file mode 100644 index 00000000000..bd6242b0779 --- /dev/null +++ b/src/gallium/targets/graw-gdi/graw_gdi.c @@ -0,0 +1,157 @@ +/************************************************************************** + * + * Copyright 2010 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + * USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * + **************************************************************************/ + +#include "gdi/gdi_sw_winsys.h" +#include "pipe/p_screen.h" +#include "state_tracker/graw.h" +#include "target-helpers/wrap_screen.h" +#include "target-helpers/inline_sw_helper.h" +#include <windows.h> + + +static LRESULT CALLBACK +window_proc(HWND hWnd, + UINT uMsg, + WPARAM wParam, + LPARAM lParam) +{ + switch (uMsg) { + case WM_DESTROY: + PostQuitMessage(0); + break; + + default: + return DefWindowProc(hWnd, uMsg, wParam, lParam); + } + + return 0; +} + +static struct { + void (* draw)(void); +} graw; + +struct pipe_screen * +graw_create_window_and_screen(int x, + int y, + unsigned width, + unsigned height, + enum pipe_format format, + void **handle) +{ + struct sw_winsys *winsys = NULL; + struct pipe_screen *screen = NULL; + WNDCLASSEX wc = {sizeof(wc)}; + UINT style = WS_VISIBLE | WS_TILEDWINDOW; + RECT rect; + HWND hWnd = NULL; + HDC hDC = NULL; + + if (format != PIPE_FORMAT_R8G8B8A8_UNORM) + goto fail; + + winsys = gdi_create_sw_winsys(); + if (winsys == NULL) + goto fail; + + screen = sw_screen_create(winsys); + if (screen == NULL) + goto fail; + + wc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = window_proc; + wc.lpszClassName = "graw-gdi"; + wc.hInstance = GetModuleHandle(NULL); + wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1); + RegisterClassEx(&wc); + + SetRect(&rect, 0, 0, width, height); + AdjustWindowRectEx(&rect, style, FALSE, 0); + + hWnd = CreateWindowEx(0, + wc.lpszClassName, + wc.lpszClassName, + style, + x, + y, + rect.right - rect.left, + rect.bottom - rect.top, + NULL, + NULL, + wc.hInstance, + 0); + if (hWnd == NULL) + goto fail; + + hDC = GetDC(hWnd); + if (hDC == NULL) + goto fail; + + *handle = (void *)hDC; + + return gallium_wrap_screen(screen); + +fail: + if (hWnd) + DestroyWindow(hWnd); + + if (screen) + screen->destroy(screen); + + return NULL; +} + +void +graw_set_display_func(void (* draw)(void)) +{ + graw.draw = draw; +} + +void +graw_main_loop(void) +{ + for (;;) { + MSG msg; + + while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + if (msg.message == WM_QUIT) { + return; + } + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + if (graw.draw) { + graw.draw(); + } + + Sleep(0); + } +} diff --git a/src/gallium/targets/graw-null/SConscript b/src/gallium/targets/graw-null/SConscript index 3416989d8eb..ebac1728f04 100644 --- a/src/gallium/targets/graw-null/SConscript +++ b/src/gallium/targets/graw-null/SConscript @@ -5,54 +5,28 @@ Import('*') env = env.Clone() -env.Prepend(LIBS = [ - ws_null, - trace, - rbug, - identity, -# gallium, -]) - -env.Append(CPPPATH = [ - '#src/gallium/drivers', -]) +graw_util = env.SharedObject( + source = ['graw_util.c'], +) -if env['platform'] == 'windows': - # For trace - env.Append(LIBS = [ - 'ws2_32', - ]) +env = env.Clone() sources = [ 'graw_null.c', - '../graw-xlib/graw_util.c', + graw_util, ] -if True: - env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') - env.Prepend(LIBS = [softpipe]) - -if env['llvm']: - env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') - env.Tool('udis86') - env.Prepend(LIBS = [llvmpipe]) - -# Need this for trace, identity drivers referenced by -# gallium_wrap_screen(). -# env.Prepend(LIBS = [gallium]) # TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions graw = env.SharedLibrary( - target ='graw', + target = 'graw', source = sources, ) -env.InstallSharedLibrary(graw, version=(1, 0)) - if env['platform'] == 'windows': graw = env.FindIxes(graw, 'LIBPREFIX', 'LIBSUFFIX') else: graw = env.FindIxes(graw, 'SHLIBPREFIX', 'SHLIBSUFFIX') -Export('graw') +Export('graw_util', 'graw') diff --git a/src/gallium/targets/graw-null/graw_null.c b/src/gallium/targets/graw-null/graw_null.c index 5939a5acd3c..f1fe3872c94 100644 --- a/src/gallium/targets/graw-null/graw_null.c +++ b/src/gallium/targets/graw-null/graw_null.c @@ -1,31 +1,5 @@ -#include "pipe/p_compiler.h" -#include "util/u_debug.h" -#include "util/u_memory.h" -#include "target-helpers/wrap_screen.h" -#include "sw/null/null_sw_winsys.h" -#include "os/os_time.h" #include "state_tracker/graw.h" -#ifdef GALLIUM_SOFTPIPE -#include "softpipe/sp_public.h" -#endif - -#ifdef GALLIUM_LLVMPIPE -#include "llvmpipe/lp_public.h" -#endif - -/* Haven't figured out a decent way to build the helper code yet - - * #include it here temporarily. - */ -#include "sw/sw_public.h" -#include "sw/sw.c" - -#include <stdio.h> - - -static struct { - void (*draw)(void); -} graw; @@ -37,45 +11,7 @@ graw_create_window_and_screen( int x, enum pipe_format format, void **handle) { - const char *default_driver; - const char *driver; - struct pipe_screen *screen = NULL; - struct sw_winsys *winsys = NULL; - static int dummy; - - - /* Create the underlying winsys, which performs presents to Xlib - * drawables: - */ - winsys = null_sw_create(); - if (winsys == NULL) - return NULL; - -#if defined(GALLIUM_LLVMPIPE) - default_driver = "llvmpipe"; -#elif defined(GALLIUM_SOFTPIPE) - default_driver = "softpipe"; -#else - default_driver = ""; -#endif - - driver = debug_get_option("GALLIUM_DRIVER", default_driver); - -#if defined(GALLIUM_LLVMPIPE) - if (screen == NULL && strcmp(driver, "llvmpipe") == 0) - screen = llvmpipe_create_screen( winsys ); -#endif - -#if defined(GALLIUM_SOFTPIPE) - if (screen == NULL) - screen = softpipe_create_screen( winsys ); -#endif - - *handle = &dummy; - - /* Inject any wrapping layers we want to here: - */ - return gallium_wrap_screen( screen ); + return NULL; } @@ -83,13 +19,10 @@ graw_create_window_and_screen( int x, void graw_set_display_func( void (*draw)( void ) ) { - graw.draw = draw; } void graw_main_loop( void ) { - graw.draw(); - os_time_sleep(100000); } diff --git a/src/gallium/targets/graw-null/graw_util.c b/src/gallium/targets/graw-null/graw_util.c new file mode 100644 index 00000000000..e5cf526d33a --- /dev/null +++ b/src/gallium/targets/graw-null/graw_util.c @@ -0,0 +1,92 @@ + +#include "pipe/p_compiler.h" +#include "pipe/p_context.h" +#include "pipe/p_state.h" +#include "tgsi/tgsi_text.h" +#include "util/u_debug.h" +#include "util/u_memory.h" +#include "state_tracker/graw.h" + + +/* Helper functions. These are the same for all graw implementations. + */ +PUBLIC void * +graw_parse_geometry_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_gs_state(pipe, &state); +} + +PUBLIC void * +graw_parse_vertex_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_vs_state(pipe, &state); +} + +PUBLIC void * +graw_parse_fragment_shader(struct pipe_context *pipe, + const char *text) +{ + struct tgsi_token tokens[1024]; + struct pipe_shader_state state; + + if (!tgsi_text_translate(text, tokens, Elements(tokens))) + return NULL; + + state.tokens = tokens; + return pipe->create_fs_state(pipe, &state); +} + +static char out_filename[256] = ""; + +PUBLIC boolean +graw_parse_args(int *argi, + int argc, + char *argv[]) +{ + if (strcmp(argv[*argi], "-o") == 0) { + if (*argi + 1 >= argc) { + return FALSE; + } + + strncpy(out_filename, argv[*argi + 1], sizeof(out_filename) - 1); + out_filename[sizeof(out_filename) - 1] = '\0'; + *argi += 2; + return TRUE; + } + + return FALSE; +} + +PUBLIC boolean +graw_save_surface_to_file(struct pipe_context *pipe, + struct pipe_surface *surface, + const char *filename) +{ + if (!filename || !*filename) { + filename = out_filename; + if (!filename || !*filename) { + return FALSE; + } + } + + /* XXX: Make that working in release builds. + */ + debug_dump_surface_bmp(pipe, filename, surface); + return TRUE; +} diff --git a/src/gallium/targets/graw-xlib/SConscript b/src/gallium/targets/graw-xlib/SConscript index 21fce948f43..e50eb8a03d7 100644 --- a/src/gallium/targets/graw-xlib/SConscript +++ b/src/gallium/targets/graw-xlib/SConscript @@ -3,56 +3,41 @@ Import('*') -if env['platform'] != 'linux': - Return() - env = env.Clone() -env.Tool('x11') - env.Prepend(LIBS = [ ws_xlib, trace, rbug, identity, -# gallium, + gallium, ]) +env.Prepend(LIBS = env['X11_LIBS']) + env.Append(CPPPATH = [ '#src/gallium/drivers', '#src/gallium/include/state_tracker', ]) - sources = [ 'graw_xlib.c', - 'graw_util.c', + graw_util ] -env.Tool('x11') - if True: env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') env.Prepend(LIBS = [softpipe]) if env['llvm']: env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') - env.Tool('udis86') env.Prepend(LIBS = [llvmpipe]) -# Need this for trace, identity drivers referenced by -# gallium_wrap_screen(). -# -env.Prepend(LIBS = [gallium]) - -# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions graw = env.SharedLibrary( target ='graw', source = sources, ) -env.InstallSharedLibrary(graw, version=(1, 0)) - -graw = env.FindIxes(graw, 'SHLIBPREFIX', 'SHLIBSUFFIX') +graw = env.InstallSharedLibrary(graw, version=(1, 0)) -Export('graw') +env.Alias('graw-xlib', graw) diff --git a/src/gallium/targets/graw-xlib/graw_util.c b/src/gallium/targets/graw-xlib/graw_util.c deleted file mode 100644 index fc7c9ae6f92..00000000000 --- a/src/gallium/targets/graw-xlib/graw_util.c +++ /dev/null @@ -1,50 +0,0 @@ - -#include "pipe/p_compiler.h" -#include "pipe/p_context.h" -#include "pipe/p_state.h" -#include "tgsi/tgsi_text.h" -#include "util/u_memory.h" -#include "state_tracker/graw.h" - - -/* Helper functions. These are the same for all graw implementations. - */ -void *graw_parse_geometry_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[1024]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, Elements(tokens))) - return NULL; - - state.tokens = tokens; - return pipe->create_gs_state(pipe, &state); -} - -void *graw_parse_vertex_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[1024]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, Elements(tokens))) - return NULL; - - state.tokens = tokens; - return pipe->create_vs_state(pipe, &state); -} - -void *graw_parse_fragment_shader(struct pipe_context *pipe, - const char *text) -{ - struct tgsi_token tokens[1024]; - struct pipe_shader_state state; - - if (!tgsi_text_translate(text, tokens, Elements(tokens))) - return NULL; - - state.tokens = tokens; - return pipe->create_fs_state(pipe, &state); -} - diff --git a/src/gallium/targets/graw-xlib/graw_xlib.c b/src/gallium/targets/graw-xlib/graw_xlib.c index 8b64a0b819c..8658e19e3a3 100644 --- a/src/gallium/targets/graw-xlib/graw_xlib.c +++ b/src/gallium/targets/graw-xlib/graw_xlib.c @@ -4,22 +4,8 @@ #include "util/u_debug.h" #include "util/u_memory.h" #include "target-helpers/wrap_screen.h" +#include "target-helpers/inline_sw_helper.h" #include "state_tracker/xlib_sw_winsys.h" - -#ifdef GALLIUM_SOFTPIPE -#include "softpipe/sp_public.h" -#endif - -#ifdef GALLIUM_LLVMPIPE -#include "llvmpipe/lp_public.h" -#endif - -/* Haven't figured out a decent way to build the helper code yet - - * #include it here temporarily. - */ -#include "sw/sw_public.h" -#include "sw/sw.c" - #include "state_tracker/graw.h" #include <X11/Xlib.h> @@ -36,8 +22,6 @@ static struct { static struct pipe_screen * graw_create_screen( void ) { - const char *default_driver; - const char *driver; struct pipe_screen *screen = NULL; struct sw_winsys *winsys = NULL; @@ -48,25 +32,7 @@ graw_create_screen( void ) if (winsys == NULL) return NULL; -#if defined(GALLIUM_LLVMPIPE) - default_driver = "llvmpipe"; -#elif defined(GALLIUM_SOFTPIPE) - default_driver = "softpipe"; -#else - default_driver = ""; -#endif - - driver = debug_get_option("GALLIUM_DRIVER", default_driver); - -#if defined(GALLIUM_LLVMPIPE) - if (screen == NULL && strcmp(driver, "llvmpipe") == 0) - screen = llvmpipe_create_screen( winsys ); -#endif - -#if defined(GALLIUM_SOFTPIPE) - if (screen == NULL) - screen = softpipe_create_screen( winsys ); -#endif + screen = sw_screen_create( winsys ); /* Inject any wrapping layers we want to here: */ @@ -74,9 +40,6 @@ graw_create_screen( void ) } - - - struct pipe_screen * graw_create_window_and_screen( int x, int y, diff --git a/src/gallium/targets/libgl-gdi/SConscript b/src/gallium/targets/libgl-gdi/SConscript index 12fe403f62f..339238756ab 100644 --- a/src/gallium/targets/libgl-gdi/SConscript +++ b/src/gallium/targets/libgl-gdi/SConscript @@ -3,45 +3,46 @@ Import('*') -if env['platform'] == 'windows': - - env = env.Clone() - - env.Append(CPPPATH = [ - '#src/gallium/state_trackers/wgl', - '#src/gallium/winsys/sw', - ]) - - env.Append(LIBS = [ - 'gdi32', - 'user32', - 'kernel32', - 'ws2_32', - talloc, - ]) - - sources = [] - drivers = [] - - if True: - sources = ['gdi_softpipe_winsys.c'] - drivers = [softpipe] - - if env['llvm']: - sources = ['gdi_llvmpipe_winsys.c'] - drivers = [llvmpipe] - - if env['gcc']: - sources += ['#src/gallium/state_trackers/wgl/opengl32.mingw.def'] - else: - sources += ['#src/gallium/state_trackers/wgl/opengl32.def'] - - drivers += [trace, rbug] - - env['no_import_lib'] = 1 - - env.SharedLibrary( - target ='opengl32', - source = sources, - LIBS = wgl + ws_gdi + glapi + mesa + drivers + gallium + glsl + env['LIBS'], - ) +env = env.Clone() + +env.Append(CPPPATH = [ + '#src/gallium/state_trackers/wgl', + '#src/gallium/winsys/sw', +]) + +env.Append(LIBS = [ + 'gdi32', + 'user32', + 'kernel32', + 'ws2_32', + talloc, +]) + +sources = [] +drivers = [] + +if True: + sources = ['gdi_softpipe_winsys.c'] + drivers = [softpipe] + +if env['llvm']: + sources = ['gdi_llvmpipe_winsys.c'] + drivers = [llvmpipe] + +if env['gcc']: + sources += ['#src/gallium/state_trackers/wgl/opengl32.mingw.def'] +else: + sources += ['#src/gallium/state_trackers/wgl/opengl32.def'] + +drivers += [trace, rbug] + +env['no_import_lib'] = 1 + +opengl32 = env.SharedLibrary( + target ='opengl32', + source = sources, + LIBS = wgl + ws_gdi + glapi + mesa + drivers + gallium + glsl + env['LIBS'], +) + +env.Alias('opengl32', opengl32) +env.Alias('libgl-gdi', opengl32) diff --git a/src/gallium/targets/libgl-xlib/SConscript b/src/gallium/targets/libgl-xlib/SConscript index 27b562e1d5d..582760eac93 100644 --- a/src/gallium/targets/libgl-xlib/SConscript +++ b/src/gallium/targets/libgl-xlib/SConscript @@ -3,17 +3,6 @@ Import('*') -if env['platform'] != 'linux': - Return() - -if 'mesa' not in env['statetrackers']: - print 'warning: Mesa state tracker disabled: skipping build of xlib libGL.so' - Return() - -if env['dri']: - print 'warning: DRI enabled: skipping build of xlib libGL.so' - Return() - env = env.Clone() env.Append(CPPPATH = [ @@ -25,6 +14,8 @@ env.Append(CPPPATH = [ env.Append(CPPDEFINES = ['USE_XSHM']) +env.Prepend(LIBS = env['X11_LIBS']) + env.Prepend(LIBS = [ st_xlib, ws_xlib, @@ -42,8 +33,6 @@ sources = [ 'xlib.c', ] -env.Tool('x11') - if True: env.Append(CPPDEFINES = 'GALLIUM_SOFTPIPE') env.Prepend(LIBS = [softpipe]) @@ -54,10 +43,10 @@ if True: if env['llvm']: env.Append(CPPDEFINES = 'GALLIUM_LLVMPIPE') - env.Tool('udis86') env.Prepend(LIBS = [llvmpipe]) -if 'cell' in env['drivers']: +if False: + # TODO: Detect Cell SDK env.Append(CPPDEFINES = 'GALLIUM_CELL') env.Prepend(LIBS = [cell]) @@ -67,6 +56,8 @@ libgl = env.SharedLibrary( source = sources, ) -if not env['dri']: - # Only install this libGL.so if DRI not enabled - env.InstallSharedLibrary(libgl, version=(1, 5)) +if True: + # XXX: Only install this libGL.so if DRI not enabled + libgl = env.InstallSharedLibrary(libgl, version=(1, 5)) + +env.Alias('libgl-xlib', libgl) diff --git a/src/gallium/targets/libgl-xlib/xlib.c b/src/gallium/targets/libgl-xlib/xlib.c index 2f8cd2d404a..b0d1e529104 100644 --- a/src/gallium/targets/libgl-xlib/xlib.c +++ b/src/gallium/targets/libgl-xlib/xlib.c @@ -33,92 +33,17 @@ #include "pipe/p_compiler.h" #include "util/u_debug.h" #include "target-helpers/wrap_screen.h" +#include "target-helpers/inline_sw_helper.h" #include "state_tracker/xlib_sw_winsys.h" #include "xm_public.h" #include "state_tracker/st_api.h" #include "state_tracker/st_gl_api.h" -/* Helper function to choose and instantiate one of the software rasterizers: - * cell, llvmpipe, softpipe. - * - * This function could be shared, but currently causes headaches for - * the build systems, particularly scons if we try. Long term, want - * to avoid having global #defines for things like GALLIUM_LLVMPIPE, - * GALLIUM_CELL, etc. Scons already eliminates those #defines, so - * things that are painful for it now are likely to be painful for - * other build systems in the future. - * - * Copies (full or partial): - * targets/libgl-xlib - * targets/graw-xlib - * targets/dri-swrast - * winsys/sw/drm - * drivers/sw - * - */ - -#ifdef GALLIUM_SOFTPIPE -#include "softpipe/sp_public.h" -#endif - -#ifdef GALLIUM_LLVMPIPE -#include "llvmpipe/lp_public.h" -#endif - -#ifdef GALLIUM_CELL -#include "cell/ppu/cell_public.h" -#endif - -#ifdef GALLIUM_GALAHAD -#include "galahad/glhd_public.h" -#endif - -static struct pipe_screen * -swrast_create_screen(struct sw_winsys *winsys) -{ - const char *default_driver; - const char *driver; - struct pipe_screen *screen = NULL; - -#if defined(GALLIUM_CELL) - default_driver = "cell"; -#elif defined(GALLIUM_LLVMPIPE) - default_driver = "llvmpipe"; -#elif defined(GALLIUM_SOFTPIPE) - default_driver = "softpipe"; -#else - default_driver = ""; -#endif - - driver = debug_get_option("GALLIUM_DRIVER", default_driver); - -#if defined(GALLIUM_CELL) - if (screen == NULL && strcmp(driver, "cell") == 0) - screen = cell_create_screen( winsys ); -#endif - -#if defined(GALLIUM_LLVMPIPE) - if (screen == NULL && strcmp(driver, "llvmpipe") == 0) - screen = llvmpipe_create_screen( winsys ); -#endif - -#if defined(GALLIUM_SOFTPIPE) - if (screen == NULL) - screen = softpipe_create_screen( winsys ); -#endif - #if defined(GALLIUM_GALAHAD) - if (screen) { - struct pipe_screen *galahad_screen = galahad_screen_create(screen); - if (galahad_screen) - screen = galahad_screen; - } +#include "galahad/glhd_public.h" #endif - return screen; -} - /* Helper function to build a subset of a driver stack consisting of * one of the software rasterizers (cell, llvmpipe, softpipe) and the * xlib winsys. @@ -138,10 +63,19 @@ swrast_xlib_create_screen( Display *display ) /* Create a software rasterizer on top of that winsys: */ - screen = swrast_create_screen( winsys ); + screen = sw_screen_create( winsys ); if (screen == NULL) goto fail; + /* XXX will fix soon */ +#if defined(GALLIUM_GALAHAD) + if (screen) { + struct pipe_screen *galahad_screen = galahad_screen_create( screen ); + if (galahad_screen) + screen = galahad_screen; + } +#endif + /* Inject any wrapping layers we want to here: */ return gallium_wrap_screen( screen ); @@ -195,7 +129,6 @@ extern void (*linker_foo(const unsigned char *procName))() #include "GL/gl.h" #include "glapi/glapi.h" #include "glapi/glapitable.h" -#include "glapi/glapidispatch.h" #if defined(USE_MGL_NAMESPACE) #define NAME(func) mgl##func @@ -204,10 +137,10 @@ extern void (*linker_foo(const unsigned char *procName))() #endif #define DISPATCH(FUNC, ARGS, MESSAGE) \ - CALL_ ## FUNC(GET_DISPATCH(), ARGS); + GET_DISPATCH()->FUNC ARGS #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \ - return CALL_ ## FUNC(GET_DISPATCH(), ARGS); + return GET_DISPATCH()->FUNC ARGS /* skip normal ones */ #define _GLAPI_SKIP_NORMAL_ENTRY_POINTS diff --git a/src/gallium/targets/xorg-vmwgfx/SConscript b/src/gallium/targets/xorg-vmwgfx/SConscript index 43b2c74f9ce..099d49cf1b7 100644 --- a/src/gallium/targets/xorg-vmwgfx/SConscript +++ b/src/gallium/targets/xorg-vmwgfx/SConscript @@ -2,62 +2,62 @@ import os.path Import('*') -if not 'svga' in env['drivers']: - print 'warning: svga pipe driver not built skipping vmwgfx_drv.so' - Return() - -if env['platform'] == 'linux': - - env = env.Clone() - - env.ParseConfig('pkg-config --cflags --libs libdrm xorg-server') - - env.Prepend(CPPPATH = [ - '#/include', - '#/src/gallium', - '#/src/mesa', - '#/src/gallium/drivers/svga', - '#/src/gallium/drivers/svga/include', - ]) - - env.Append(CPPDEFINES = [ - ]) - - if env['gcc']: - env.Append(CPPDEFINES = [ - 'HAVE_STDINT_H', - 'HAVE_SYS_TYPES_H', - ]) - - env.Append(CFLAGS = [ - '-std=gnu99', - '-D_FILE_OFFSET_BITS=64', - ]) - - env.Prepend(LIBPATH = [ - ]) - - env.Prepend(LIBS = [ - trace, - rbug, - st_xorg, - svgadrm, - svga, - gallium, - ]) - - sources = [ - 'vmw_ioctl.c', - 'vmw_ctrl.c', - 'vmw_screen.c', - 'vmw_video.c', - 'vmw_xorg.c', - ] - - # TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions - env.LoadableModule( - target ='vmwgfx_drv.so', - source = sources, - LIBS = env['LIBS'], - SHLIBPREFIX = '', - ) +env = env.Clone() + +env.ParseConfig('pkg-config --cflags --libs libdrm xorg-server') + +if env['kms']: + env.ParseConfig('pkg-config --cflags --libs libkms') + +env.Prepend(CPPPATH = [ + '#/include', + '#/src/gallium', + '#/src/mesa', + '#/src/gallium/drivers/svga', + '#/src/gallium/drivers/svga/include', +]) + +env.Append(CPPDEFINES = [ +]) + +if env['gcc']: + env.Append(CPPDEFINES = [ + 'HAVE_STDINT_H', + 'HAVE_SYS_TYPES_H', + ]) + +env.Append(CFLAGS = [ + '-std=gnu99', + '-D_FILE_OFFSET_BITS=64', +]) + +env.Prepend(LIBPATH = [ +]) + +env.Prepend(LIBS = [ + trace, + rbug, + st_xorg, + svgadrm, + svga, + gallium, +]) + +sources = [ + 'vmw_ioctl.c', + 'vmw_ctrl.c', + 'vmw_screen.c', + 'vmw_target.c', + 'vmw_video.c', + 'vmw_xorg.c', +] + +# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions +module = env.LoadableModule( + target ='vmwgfx_drv.so', + source = sources, + LIBS = env['LIBS'], + SHLIBPREFIX = '', +) + +env.Alias('xorg-vmwgfx', module) diff --git a/src/gallium/tests/graw/SConscript b/src/gallium/tests/graw/SConscript index ffde61965b4..3341b884985 100644 --- a/src/gallium/tests/graw/SConscript +++ b/src/gallium/tests/graw/SConscript @@ -1,20 +1,17 @@ Import('*') -try: - graw -except NameError: - print 'warning: graw library not avaiable: skipping build of graw test' - Return() - env = env.Clone() +env.Prepend(LIBS = [gallium]) + env.Prepend(LIBPATH = [graw.dir]) -env.Prepend(LIBS = ['graw'] + gallium) +env.Prepend(LIBS = ['graw']) + -if platform in ('freebsd8', 'sunos5'): +if env['platform'] in ('freebsd8', 'sunos5'): env.Append(LIBS = ['m']) -if platform == 'freebsd8': +if env['platform'] == 'freebsd8': env.Append(LIBS = ['pthread']) progs = [ @@ -29,9 +26,10 @@ progs = [ 'tri-gs', ] -for prog in progs: - env.Program( - target = prog, - source = prog + '.c', +for name in progs: + program = env.Program( + target = name, + source = name + '.c', ) - + #env.Depends(program, graw) + env.Alias('graw-progs', program) diff --git a/src/gallium/tests/graw/clear.c b/src/gallium/tests/graw/clear.c index ce52a93aa1b..ee4581ef1ed 100644 --- a/src/gallium/tests/graw/clear.c +++ b/src/gallium/tests/graw/clear.c @@ -8,8 +8,6 @@ #include "pipe/p_state.h" #include "pipe/p_defines.h" -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ - enum pipe_format formats[] = { PIPE_FORMAT_R8G8B8A8_UNORM, PIPE_FORMAT_B8G8R8A8_UNORM, @@ -31,17 +29,7 @@ static void draw( void ) ctx->clear(ctx, PIPE_CLEAR_COLOR, clear_color, 0, 0); ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); -#if 0 - /* At the moment, libgraw leaks out/makes available some of the - * symbols from gallium/auxiliary, including these debug helpers. - * Will eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - * - * This currently just happens to work on debug builds - a release - * build will probably fail to link here: - */ - debug_dump_surface_bmp(ctx, "result.bmp", surf); -#endif + graw_save_surface_to_file(ctx, surf, NULL); screen->flush_frontbuffer(screen, surf, window); } @@ -103,10 +91,21 @@ static void init( void ) ctx->set_framebuffer_state(ctx, &fb); } +static void args(int argc, char *argv[]) +{ + int i; + for (i = 1; i < argc;) { + if (graw_parse_args(&i, argc, argv)) { + continue; + } + exit(1); + } +} int main( int argc, char *argv[] ) { + args(argc, argv); init(); graw_set_display_func( draw ); diff --git a/src/gallium/tests/graw/fs-test.c b/src/gallium/tests/graw/fs-test.c index 53fbb744d86..19af83fda88 100644 --- a/src/gallium/tests/graw/fs-test.c +++ b/src/gallium/tests/graw/fs-test.c @@ -10,7 +10,6 @@ #include "pipe/p_defines.h" #include <stdio.h> /* for fread(), etc */ -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_inlines.h" #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" @@ -279,17 +278,7 @@ static void draw( void ) util_draw_arrays(ctx, PIPE_PRIM_TRIANGLES, 0, 3); ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); -#if 0 - /* At the moment, libgraw leaks out/makes available some of the - * symbols from gallium/auxiliary, including these debug helpers. - * Will eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - * - * This currently just happens to work on debug builds - a release - * build will probably fail to link here: - */ - debug_dump_surface_bmp(ctx, "result.bmp", surf); -#endif + graw_save_surface_to_file(ctx, surf, NULL); screen->flush_frontbuffer(screen, surf, window); } @@ -526,16 +515,21 @@ static void args(int argc, char *argv[]) { int i; - for (i = 1; i < argc; i++) { + for (i = 1; i < argc;) { + if (graw_parse_args(&i, argc, argv)) { + continue; + } if (strcmp(argv[i], "-fps") == 0) { show_fps = 1; + i++; } else if (i == argc - 1) { - filename = argv[i]; + filename = argv[i]; + i++; } else { - usage(argv[0]); - exit(1); + usage(argv[0]); + exit(1); } } diff --git a/src/gallium/tests/graw/gs-test.c b/src/gallium/tests/graw/gs-test.c index 62714900bd9..ef29f134980 100644 --- a/src/gallium/tests/graw/gs-test.c +++ b/src/gallium/tests/graw/gs-test.c @@ -10,7 +10,6 @@ #include "pipe/p_defines.h" #include <stdio.h> /* for fread(), etc */ -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_inlines.h" #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" @@ -343,17 +342,7 @@ static void draw( void ) ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); -#if 0 - /* At the moment, libgraw leaks out/makes available some of the - * symbols from gallium/auxiliary, including these debug helpers. - * Will eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - * - * This currently just happens to work on debug builds - a release - * build will probably fail to link here: - */ - debug_dump_surface_bmp(ctx, "result.bmp", surf); -#endif + graw_save_surface_to_file(ctx, surf, NULL); screen->flush_frontbuffer(screen, surf, window); } @@ -591,19 +580,25 @@ static void args(int argc, char *argv[]) { int i; - for (i = 1; i < argc; i++) { + for (i = 1; i < argc;) { + if (graw_parse_args(&i, argc, argv)) { + continue; + } if (strcmp(argv[i], "-fps") == 0) { show_fps = 1; + i++; } else if (strcmp(argv[i], "-strip") == 0) { draw_strip = 1; + i++; } else if (i == argc - 1) { - filename = argv[i]; + filename = argv[i]; + i++; } else { - usage(argv[0]); - exit(1); + usage(argv[0]); + exit(1); } } diff --git a/src/gallium/tests/graw/quad-tex.c b/src/gallium/tests/graw/quad-tex.c index c50ef12ab5a..35eade939e6 100644 --- a/src/gallium/tests/graw/quad-tex.c +++ b/src/gallium/tests/graw/quad-tex.c @@ -9,7 +9,6 @@ #include "pipe/p_state.h" #include "pipe/p_defines.h" -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_inlines.h" #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" @@ -150,17 +149,7 @@ static void draw( void ) util_draw_arrays(ctx, PIPE_PRIM_QUADS, 0, 4); ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); -#if 0 - /* At the moment, libgraw leaks out/makes available some of the - * symbols from gallium/auxiliary, including these debug helpers. - * Will eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - * - * This currently just happens to work on debug builds - a release - * build will probably fail to link here: - */ - debug_dump_surface_bmp(ctx, "result.bmp", surf); -#endif + graw_save_surface_to_file(ctx, surf, NULL); screen->flush_frontbuffer(screen, surf, window); } @@ -392,9 +381,21 @@ static void init( void ) set_fragment_shader(); } +static void args(int argc, char *argv[]) +{ + int i; + + for (i = 1; i < argc;) { + if (graw_parse_args(&i, argc, argv)) { + continue; + } + exit(1); + } +} int main( int argc, char *argv[] ) { + args(argc, argv); init(); graw_set_display_func( draw ); diff --git a/src/gallium/tests/graw/shader-leak.c b/src/gallium/tests/graw/shader-leak.c index ec30871e82c..0a6c362d172 100644 --- a/src/gallium/tests/graw/shader-leak.c +++ b/src/gallium/tests/graw/shader-leak.c @@ -9,7 +9,6 @@ #include "pipe/p_state.h" #include "pipe/p_defines.h" -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" diff --git a/src/gallium/tests/graw/tri-gs.c b/src/gallium/tests/graw/tri-gs.c index 152ae408eb0..731c4e10cfd 100644 --- a/src/gallium/tests/graw/tri-gs.c +++ b/src/gallium/tests/graw/tri-gs.c @@ -8,7 +8,6 @@ #include "pipe/p_state.h" #include "pipe/p_defines.h" -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" diff --git a/src/gallium/tests/graw/tri-instanced.c b/src/gallium/tests/graw/tri-instanced.c index 8859f745fdb..76443811629 100644 --- a/src/gallium/tests/graw/tri-instanced.c +++ b/src/gallium/tests/graw/tri-instanced.c @@ -11,7 +11,6 @@ #include "pipe/p_state.h" #include "pipe/p_defines.h" -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" @@ -215,17 +214,7 @@ static void draw( void ) ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); -#if 0 - /* At the moment, libgraw leaks out/makes available some of the - * symbols from gallium/auxiliary, including these debug helpers. - * Will eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - * - * This currently just happens to work on debug builds - a release - * build will probably fail to link here: - */ - debug_dump_surface_bmp(ctx, "result.bmp", surf); -#endif + graw_save_surface_to_file(ctx, surf, NULL); screen->flush_frontbuffer(screen, surf, window); } @@ -322,9 +311,18 @@ static void init( void ) static void options(int argc, char *argv[]) { int i; - for (i = 1; i < argc; i++) { - if (strcmp(argv[i], "-e") == 0) + + for (i = 1; i < argc;) { + if (graw_parse_args(&i, argc, argv)) { + continue; + } + if (strcmp(argv[i], "-e") == 0) { draw_elements = 1; + i++; + } + else { + i++; + } } if (draw_elements) printf("Using pipe_context::draw_elements_instanced()\n"); diff --git a/src/gallium/tests/graw/tri.c b/src/gallium/tests/graw/tri.c index f7e39588a4d..025a1470dc9 100644 --- a/src/gallium/tests/graw/tri.c +++ b/src/gallium/tests/graw/tri.c @@ -10,7 +10,6 @@ #include "pipe/p_state.h" #include "pipe/p_defines.h" -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" @@ -143,17 +142,7 @@ static void draw( void ) util_draw_arrays(ctx, PIPE_PRIM_TRIANGLES, 0, 3); ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); -#if 0 - /* At the moment, libgraw leaks out/makes available some of the - * symbols from gallium/auxiliary, including these debug helpers. - * Will eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - * - * This currently just happens to work on debug builds - a release - * build will probably fail to link here: - */ - debug_dump_surface_bmp(ctx, "result.bmp", surf); -#endif + graw_save_surface_to_file(ctx, surf, NULL); screen->flush_frontbuffer(screen, surf, window); } @@ -252,9 +241,21 @@ static void init( void ) set_fragment_shader(); } +static void args(int argc, char *argv[]) +{ + int i; + + for (i = 1; i < argc;) { + if (graw_parse_args(&i, argc, argv)) { + continue; + } + exit(1); + } +} int main( int argc, char *argv[] ) { + args(argc, argv); init(); graw_set_display_func( draw ); diff --git a/src/gallium/tests/graw/vs-test.c b/src/gallium/tests/graw/vs-test.c index e1cd814bf72..440c40bdcda 100644 --- a/src/gallium/tests/graw/vs-test.c +++ b/src/gallium/tests/graw/vs-test.c @@ -11,7 +11,6 @@ #include <stdio.h> /* for fread(), etc */ -#include "util/u_debug.h" /* debug_dump_surface_bmp() */ #include "util/u_inlines.h" #include "util/u_memory.h" /* Offset() */ #include "util/u_draw_quad.h" @@ -230,17 +229,7 @@ static void draw( void ) util_draw_arrays(ctx, PIPE_PRIM_POINTS, 0, Elements(vertices)); ctx->flush(ctx, PIPE_FLUSH_RENDER_CACHE, NULL); -#if 0 - /* At the moment, libgraw leaks out/makes available some of the - * symbols from gallium/auxiliary, including these debug helpers. - * Will eventually want to bless some of these paths, and lock the - * others down so they aren't accessible from test programs. - * - * This currently just happens to work on debug builds - a release - * build will probably fail to link here: - */ - debug_dump_surface_bmp(ctx, "result.bmp", surf); -#endif + graw_save_surface_to_file(ctx, surf, NULL); screen->flush_frontbuffer(screen, surf, window); } @@ -478,16 +467,21 @@ static void args(int argc, char *argv[]) { int i; - for (i = 1; i < argc; i++) { + for (i = 1; i < argc;) { + if (graw_parse_args(&i, argc, argv)) { + continue; + } if (strcmp(argv[i], "-fps") == 0) { show_fps = 1; + i++; } else if (i == argc - 1) { - filename = argv[i]; + filename = argv[i]; + i++; } else { - usage(argv[0]); - exit(1); + usage(argv[0]); + exit(1); } } diff --git a/src/gallium/tests/unit/SConscript b/src/gallium/tests/unit/SConscript index 359759e22b2..655e8a9b41c 100644 --- a/src/gallium/tests/unit/SConscript +++ b/src/gallium/tests/unit/SConscript @@ -4,10 +4,10 @@ env = env.Clone() env.Prepend(LIBS = [gallium]) -if platform in ('freebsd8', 'sunos5'): +if env['platform'] in ('freebsd8', 'sunos5'): env.Append(LIBS = ['m']) -if platform == 'freebsd8': +if env['platform'] == 'freebsd8': env.Append(LIBS = ['pthread']) progs = [ diff --git a/src/gallium/winsys/SConscript b/src/gallium/winsys/SConscript index 65b12287df7..d74f8a2e989 100644 --- a/src/gallium/winsys/SConscript +++ b/src/gallium/winsys/SConscript @@ -2,45 +2,38 @@ Import('*') SConscript([ - 'sw/wrapper/SConscript', + 'sw/wrapper/SConscript', ]) -if 'xlib' in env['winsys']: - SConscript([ - 'sw/xlib/SConscript', - ]) +SConscript([ + 'sw/xlib/SConscript', +]) -if 'gdi' in env['winsys']: - SConscript([ - 'sw/gdi/SConscript', - ]) +SConscript([ + 'sw/gdi/SConscript', +]) if env['dri']: - SConscript([ - 'sw/dri/SConscript', - ]) - - if 'vmware' in env['winsys']: - SConscript([ - 'svga/drm/SConscript', - ]) - - if 'i915' in env['winsys']: - SConscript([ - 'i915/drm/SConscript', - ]) - - if 'i965' in env['winsys']: - SConscript([ - 'i965/drm/SConscript', - ]) - - if 'radeon' in env['winsys']: - SConscript([ - 'radeon/drm/SConscript', - ]) - - if 'r600' in env['winsys']: - SConscript([ - 'r600/drm/SConscript', - ]) + SConscript([ + 'sw/dri/SConscript', + ]) + + SConscript([ + 'svga/drm/SConscript', + ]) + + SConscript([ + 'i915/drm/SConscript', + ]) + + SConscript([ + 'i965/drm/SConscript', + ]) + + SConscript([ + 'radeon/drm/SConscript', + ]) + + SConscript([ + 'r600/drm/SConscript', + ]) diff --git a/src/gallium/winsys/r600/drm/r600_bo.c b/src/gallium/winsys/r600/drm/r600_bo.c index 7d54ff18fc2..251f009a6b0 100644 --- a/src/gallium/winsys/r600/drm/r600_bo.c +++ b/src/gallium/winsys/r600/drm/r600_bo.c @@ -26,26 +26,41 @@ #include <pipe/p_compiler.h> #include <pipe/p_screen.h> #include <pipebuffer/pb_bufmgr.h> -#include "radeon_drm.h" +#include "state_tracker/drm_driver.h" #include "r600_priv.h" #include "r600d.h" +#include "drm.h" +#include "radeon_drm.h" struct r600_bo *r600_bo(struct radeon *radeon, - unsigned size, unsigned alignment, unsigned usage) + unsigned size, unsigned alignment, + unsigned binding, unsigned usage) { struct r600_bo *ws_bo = calloc(1, sizeof(struct r600_bo)); struct pb_desc desc; struct pb_manager *man; desc.alignment = alignment; - desc.usage = usage; + desc.usage = (PB_USAGE_CPU_READ_WRITE | PB_USAGE_GPU_READ_WRITE); ws_bo->size = size; - if (usage & (PIPE_BIND_CONSTANT_BUFFER | PIPE_BIND_VERTEX_BUFFER | PIPE_BIND_INDEX_BUFFER)) + if (binding & (PIPE_BIND_CONSTANT_BUFFER | PIPE_BIND_VERTEX_BUFFER | PIPE_BIND_INDEX_BUFFER)) man = radeon->cman; else man = radeon->kman; + /* Staging resources particpate in transfers and blits only + * and are used for uploads and downloads from regular + * resources. We generate them internally for some transfers. + */ + if (usage == PIPE_USAGE_STAGING) + ws_bo->domains = RADEON_GEM_DOMAIN_CPU | RADEON_GEM_DOMAIN_GTT; + else + ws_bo->domains = (RADEON_GEM_DOMAIN_CPU | + RADEON_GEM_DOMAIN_GTT | + RADEON_GEM_DOMAIN_VRAM); + + ws_bo->pb = man->create_buffer(man, size, &desc); if (ws_bo->pb == NULL) { free(ws_bo); @@ -69,6 +84,10 @@ struct r600_bo *r600_bo_handle(struct radeon *radeon, } bo = radeon_bo_pb_get_bo(ws_bo->pb); ws_bo->size = bo->size; + ws_bo->domains = (RADEON_GEM_DOMAIN_CPU | + RADEON_GEM_DOMAIN_GTT | + RADEON_GEM_DOMAIN_VRAM); + pipe_reference_init(&ws_bo->reference, 1); radeon_bo_get_tiling_flags(radeon, bo, &ws_bo->tiling_flags, @@ -136,3 +155,28 @@ unsigned r600_bo_get_size(struct r600_bo *pb_bo) return bo->size; } + +boolean r600_bo_get_winsys_handle(struct radeon *radeon, struct r600_bo *pb_bo, + unsigned stride, struct winsys_handle *whandle) +{ + struct radeon_bo *bo; + + bo = radeon_bo_pb_get_bo(pb_bo->pb); + if (!bo) + return FALSE; + + whandle->stride = stride; + switch(whandle->type) { + case DRM_API_HANDLE_TYPE_KMS: + whandle->handle = r600_bo_get_handle(pb_bo); + break; + case DRM_API_HANDLE_TYPE_SHARED: + if (radeon_bo_get_name(radeon, bo, &whandle->handle)) + return FALSE; + break; + default: + return FALSE; + } + + return TRUE; +} diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index 2521ff96473..37e5baf8de8 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -44,7 +44,7 @@ int r600_context_init_fence(struct r600_context *ctx) { ctx->fence = 1; - ctx->fence_bo = r600_bo(ctx->radeon, 4096, 0, 0); + ctx->fence_bo = r600_bo(ctx->radeon, 4096, 0, 0, 0); if (ctx->fence_bo == NULL) { return -ENOMEM; } @@ -384,6 +384,7 @@ static const struct r600_reg r600_context_reg_list[] = { {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028A0C_PA_SC_LINE_STIPPLE, 0, 0, 0}, {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028A48_PA_SC_MPASS_PS_CNTL, 0, 0, 0}, {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028C00_PA_SC_LINE_CNTL, 0, 0, 0}, + {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028C08_PA_SU_VTX_CNTL, 0, 0, 0}, {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028C0C_PA_CL_GB_VERT_CLIP_ADJ, 0, 0, 0}, {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028C10_PA_CL_GB_VERT_DISC_ADJ, 0, 0, 0}, {PKT3_SET_CONTEXT_REG, R600_CONTEXT_REG_OFFSET, R_028C14_PA_CL_GB_HORZ_CLIP_ADJ, 0, 0, 0}, @@ -611,7 +612,9 @@ void r600_context_fini(struct r600_context *ctx) } free(ctx->range[i].blocks); } + free(ctx->blocks); free(ctx->reloc); + free(ctx->bo); free(ctx->pm4); if (ctx->fence_bo) { r600_bo_reference(ctx->radeon, &ctx->fence_bo, NULL); @@ -785,8 +788,8 @@ void r600_context_bo_reloc(struct r600_context *ctx, u32 *pm4, struct r600_bo *r bo->reloc = &ctx->reloc[ctx->creloc]; bo->reloc_id = ctx->creloc * sizeof(struct r600_reloc) / 4; ctx->reloc[ctx->creloc].handle = bo->handle; - ctx->reloc[ctx->creloc].read_domain = RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM; - ctx->reloc[ctx->creloc].write_domain = RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM; + ctx->reloc[ctx->creloc].read_domain = rbo->domains & (RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM); + ctx->reloc[ctx->creloc].write_domain = rbo->domains & (RADEON_GEM_DOMAIN_GTT | RADEON_GEM_DOMAIN_VRAM); ctx->reloc[ctx->creloc].flags = 0; radeon_bo_reference(ctx->radeon, &ctx->bo[ctx->creloc], bo); ctx->creloc++; @@ -1106,6 +1109,8 @@ void r600_context_flush(struct r600_context *ctx) chunk_array[1] = (uint64_t)(uintptr_t)&chunks[1]; r = drmCommandWriteRead(ctx->radeon->fd, DRM_RADEON_CS, &drmib, sizeof(struct drm_radeon_cs)); +#else + *ctx->cfence = ctx->fence; #endif r600_context_update_fenced_list(ctx); @@ -1304,7 +1309,12 @@ struct r600_query *r600_context_query_create(struct r600_context *ctx, unsigned query->type = query_type; query->buffer_size = 4096; - query->buffer = r600_bo(ctx->radeon, query->buffer_size, 1, 0); + /* As of GL4, query buffers are normally read by the CPU after + * being written by the gpu, hence staging is probably a good + * usage pattern. + */ + query->buffer = r600_bo(ctx->radeon, query->buffer_size, 1, 0, + PIPE_USAGE_STAGING); if (!query->buffer) { free(query); return NULL; diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h index b5bd7bd92c1..9fd77b71c77 100644 --- a/src/gallium/winsys/r600/drm/r600_priv.h +++ b/src/gallium/winsys/r600/drm/r600_priv.h @@ -62,7 +62,7 @@ struct radeon_bo { unsigned handle; unsigned size; unsigned alignment; - unsigned map_count; + int map_count; void *data; struct list_head fencedlist; unsigned fence; @@ -79,6 +79,7 @@ struct r600_bo { unsigned size; unsigned tiling_flags; unsigned kernel_pitch; + unsigned domains; }; @@ -90,7 +91,7 @@ struct radeon *radeon_decref(struct radeon *radeon); /* radeon_bo.c */ struct radeon_bo *radeon_bo(struct radeon *radeon, unsigned handle, - unsigned size, unsigned alignment, void *ptr); + unsigned size, unsigned alignment); void radeon_bo_reference(struct radeon *radeon, struct radeon_bo **dst, struct radeon_bo *src); int radeon_bo_wait(struct radeon *radeon, struct radeon_bo *bo); @@ -101,6 +102,9 @@ int radeon_bo_get_tiling_flags(struct radeon *radeon, struct radeon_bo *bo, uint32_t *tiling_flags, uint32_t *pitch); +int radeon_bo_get_name(struct radeon *radeon, + struct radeon_bo *bo, + uint32_t *name); /* radeon_bo_pb.c */ struct radeon_bo *radeon_bo_pb_get_bo(struct pb_buffer *_buf); diff --git a/src/gallium/winsys/r600/drm/r600d.h b/src/gallium/winsys/r600/drm/r600d.h index d91f7737af3..5ca7456e906 100644 --- a/src/gallium/winsys/r600/drm/r600d.h +++ b/src/gallium/winsys/r600/drm/r600d.h @@ -795,6 +795,7 @@ #define R_028A48_PA_SC_MPASS_PS_CNTL 0x028A48 #define R_028C00_PA_SC_LINE_CNTL 0x028C00 #define R_028C04_PA_SC_AA_CONFIG 0x028C04 +#define R_028C08_PA_SU_VTX_CNTL 0x028C08 #define R_028C1C_PA_SC_AA_SAMPLE_LOCS_MCTX 0x028C1C #define R_028C48_PA_SC_AA_MASK 0x028C48 #define R_028810_PA_CL_CLIP_CNTL 0x028810 diff --git a/src/gallium/winsys/r600/drm/radeon_bo.c b/src/gallium/winsys/r600/drm/radeon_bo.c index 2d08686fc43..557cfb95970 100644 --- a/src/gallium/winsys/r600/drm/radeon_bo.c +++ b/src/gallium/winsys/r600/drm/radeon_bo.c @@ -69,7 +69,7 @@ static void radeon_bo_fixed_unmap(struct radeon *radeon, struct radeon_bo *bo) } struct radeon_bo *radeon_bo(struct radeon *radeon, unsigned handle, - unsigned size, unsigned alignment, void *ptr) + unsigned size, unsigned alignment) { struct radeon_bo *bo; int r; @@ -121,9 +121,6 @@ struct radeon_bo *radeon_bo(struct radeon *radeon, unsigned handle, radeon_bo_reference(radeon, &bo, NULL); return bo; } - if (ptr) { - memcpy(bo->data, ptr, size); - } return bo; } @@ -156,14 +153,15 @@ int radeon_bo_wait(struct radeon *radeon, struct radeon_bo *bo) struct drm_radeon_gem_wait_idle args; int ret; - if (!bo->fence && !bo->shared) - return 0; - - if (bo->fence <= *bo->ctx->cfence) { - LIST_DELINIT(&bo->fencedlist); - bo->fence = 0; - return 0; - } + if (!bo->shared) { + if (!bo->fence) + return 0; + if (bo->fence <= *bo->ctx->cfence) { + LIST_DELINIT(&bo->fencedlist); + bo->fence = 0; + return 0; + } + } /* Zero out args to make valgrind happy */ memset(&args, 0, sizeof(args)); @@ -219,3 +217,19 @@ int radeon_bo_get_tiling_flags(struct radeon *radeon, *pitch = args.pitch; return ret; } + +int radeon_bo_get_name(struct radeon *radeon, + struct radeon_bo *bo, + uint32_t *name) +{ + struct drm_gem_flink flink; + int ret; + + flink.handle = bo->handle; + ret = drmIoctl(radeon->fd, DRM_IOCTL_GEM_FLINK, &flink); + if (ret) + return ret; + + *name = flink.name; + return ret; +} diff --git a/src/gallium/winsys/r600/drm/radeon_bo_pb.c b/src/gallium/winsys/r600/drm/radeon_bo_pb.c index a3452027f27..312552f0758 100644 --- a/src/gallium/winsys/r600/drm/radeon_bo_pb.c +++ b/src/gallium/winsys/r600/drm/radeon_bo_pb.c @@ -63,11 +63,13 @@ static void radeon_bo_pb_destroy(struct pb_buffer *_buf) { struct radeon_bo_pb *buf = radeon_bo_pb(_buf); - LIST_DEL(&buf->maplist); - - if (buf->bo->data != NULL) { + /* If this buffer is on the list of buffers to unmap, + * do the unmapping now. + */ + if (!LIST_IS_EMPTY(&buf->maplist)) radeon_bo_unmap(buf->mgr->radeon, buf->bo); - } + + LIST_DEL(&buf->maplist); radeon_bo_reference(buf->mgr->radeon, &buf->bo, NULL); FREE(buf); } @@ -80,7 +82,7 @@ radeon_bo_pb_map_internal(struct pb_buffer *_buf, struct pipe_context *pctx = ctx; if (flags & PB_USAGE_UNSYNCHRONIZED) { - if (!buf->bo->data && radeon_bo_map(buf->mgr->radeon, buf->bo)) { + if (radeon_bo_map(buf->mgr->radeon, buf->bo)) { return NULL; } LIST_DELINIT(&buf->maplist); @@ -106,18 +108,12 @@ radeon_bo_pb_map_internal(struct pb_buffer *_buf, goto out; } - if (buf->bo->data != NULL) { - if (radeon_bo_wait(buf->mgr->radeon, buf->bo)) { - return NULL; - } - } else { - if (radeon_bo_map(buf->mgr->radeon, buf->bo)) { - return NULL; - } - if (radeon_bo_wait(buf->mgr->radeon, buf->bo)) { - radeon_bo_unmap(buf->mgr->radeon, buf->bo); - return NULL; - } + if (radeon_bo_map(buf->mgr->radeon, buf->bo)) { + return NULL; + } + if (radeon_bo_wait(buf->mgr->radeon, buf->bo)) { + radeon_bo_unmap(buf->mgr->radeon, buf->bo); + return NULL; } out: LIST_DELINIT(&buf->maplist); @@ -172,7 +168,7 @@ radeon_bo_pb_create_buffer_from_handle(struct pb_manager *_mgr, struct radeon_bo_pb *bo; struct radeon_bo *hw_bo; - hw_bo = radeon_bo(radeon, handle, 0, 0, NULL); + hw_bo = radeon_bo(radeon, handle, 0, 0); if (hw_bo == NULL) return NULL; @@ -217,8 +213,7 @@ radeon_bo_pb_create_buffer(struct pb_manager *_mgr, LIST_INITHEAD(&bo->maplist); - bo->bo = radeon_bo(radeon, 0, size, - desc->alignment, NULL); + bo->bo = radeon_bo(radeon, 0, size, desc->alignment); if (bo->bo == NULL) goto error2; return &bo->b; diff --git a/src/gallium/winsys/svga/drm/SConscript b/src/gallium/winsys/svga/drm/SConscript index 3ad4c725727..b049ea60aa8 100644 --- a/src/gallium/winsys/svga/drm/SConscript +++ b/src/gallium/winsys/svga/drm/SConscript @@ -5,37 +5,37 @@ env = env.Clone() env.ParseConfig('pkg-config --cflags libdrm') if env['gcc']: - env.Append(CCFLAGS = ['-fvisibility=hidden']) - env.Append(CPPDEFINES = [ - 'HAVE_STDINT_H', - 'HAVE_SYS_TYPES_H', - '-D_FILE_OFFSET_BITS=64', - ]) - + env.Append(CCFLAGS = ['-fvisibility=hidden']) + env.Append(CPPDEFINES = [ + 'HAVE_STDINT_H', + 'HAVE_SYS_TYPES_H', + '-D_FILE_OFFSET_BITS=64', + ]) + env.Prepend(CPPPATH = [ - 'include', - '#/src/gallium/drivers/svga', - '#/src/gallium/drivers/svga/include', + 'include', + '#/src/gallium/drivers/svga', + '#/src/gallium/drivers/svga/include', ]) env.Append(CPPDEFINES = [ ]) sources = [ - 'vmw_buffer.c', - 'vmw_context.c', - 'vmw_fence.c', - 'vmw_screen.c', - 'vmw_screen_dri.c', - 'vmw_screen_ioctl.c', - 'vmw_screen_pools.c', - 'vmw_screen_svga.c', - 'vmw_surface.c', + 'vmw_buffer.c', + 'vmw_context.c', + 'vmw_fence.c', + 'vmw_screen.c', + 'vmw_screen_dri.c', + 'vmw_screen_ioctl.c', + 'vmw_screen_pools.c', + 'vmw_screen_svga.c', + 'vmw_surface.c', ] svgadrm = env.ConvenienceLibrary( - target = 'svgadrm', - source = sources, + target = 'svgadrm', + source = sources, ) Export('svgadrm') diff --git a/src/gallium/winsys/sw/xlib/SConscript b/src/gallium/winsys/sw/xlib/SConscript index 2af6153b4c7..df01a9ec2bf 100644 --- a/src/gallium/winsys/sw/xlib/SConscript +++ b/src/gallium/winsys/sw/xlib/SConscript @@ -4,7 +4,7 @@ Import('*') -if env['platform'] == 'linux': +if env['platform'] in ('cygwin', 'linux'): env = env.Clone() diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp index e31f79926de..e9e8d250014 100644 --- a/src/glsl/ast_function.cpp +++ b/src/glsl/ast_function.cpp @@ -101,9 +101,6 @@ process_call(exec_list *instructions, ir_function *f, ir_function_signature *sig = f->matching_signature(actual_parameters); - /* The instructions param will be used when the FINISHMEs below are done */ - (void) instructions; - if (sig != NULL) { /* Verify that 'out' and 'inout' actual parameters are lvalues. This * isn't done in ir_function::matching_signature because that function diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp index f0206431fb2..942f2335eb6 100644 --- a/src/glsl/builtin_function.cpp +++ b/src/glsl/builtin_function.cpp @@ -265,14 +265,14 @@ static const char builtin_atan[] = "((function atan\n" " (signature float\n" " (parameters\n" - " (declare (in) float x))\n" + " (declare (in) float y_over_x))\n" " ((return (call asin ((expression float *\n" - " (var_ref x)\n" + " (var_ref y_over_x)\n" " (expression float rsq\n" " (expression float +\n" " (expression float *\n" - " (var_ref x)\n" - " (var_ref x))\n" + " (var_ref y_over_x)\n" + " (var_ref y_over_x))\n" " (constant float (1.0))))))))))\n" "\n" " (signature vec2\n" @@ -318,30 +318,15 @@ static const char builtin_atan[] = " )\n" " (\n" " (declare () float r)\n" - " (declare ( ) float abs_retval)\n" - " (assign (constant bool (1)) (x) (var_ref abs_retval) (call abs ((var_ref x) ))\n" - ")\n" - " (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) (\n" - " (declare ( ) float atan_retval)\n" - " (assign (constant bool (1)) (x) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) ))\n" - ")\n" - " (assign (constant bool (1)) (x) (var_ref r) (var_ref atan_retval) )\n" + " (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) (\n" + " (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x)))))\n" " (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n" - " (if (expression bool >= (var_ref y) (constant float (0.000000)) ) (\n" - " (declare ( ) float assignment_tmp)\n" - " (assign (constant bool (1)) (x) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) )\n" - " (assign (constant bool (1)) (x) (var_ref r) (var_ref assignment_tmp) )\n" - " )\n" - " (\n" - " (declare ( ) float assignment_tmp)\n" - " (assign (constant bool (1)) (x) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) )\n" - " (assign (constant bool (1)) (x) (var_ref r) (var_ref assignment_tmp) )\n" - " ))\n" - "\n" + " (if (expression bool >= (var_ref y) (constant float (0.000000)) )\n" + " ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))\n" + " ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))\n" " )\n" " (\n" " ))\n" - "\n" " )\n" " (\n" " (declare () float sgn)\n" diff --git a/src/glsl/builtin_types.h b/src/glsl/builtin_types.h index 7175e08afb9..443ae1606ed 100644 --- a/src/glsl/builtin_types.h +++ b/src/glsl/builtin_types.h @@ -275,9 +275,9 @@ const glsl_type glsl_type::builtin_ARB_texture_rectangle_types[] = { const glsl_type glsl_type::builtin_EXT_texture_array_types[] = { glsl_type(GL_SAMPLER_1D_ARRAY, GLSL_SAMPLER_DIM_1D, 0, 1, GLSL_TYPE_FLOAT, "sampler1DArray"), - glsl_type(GL_SAMPLER_1D_ARRAY_SHADOW, - GLSL_SAMPLER_DIM_2D, 0, 1, GLSL_TYPE_FLOAT, "sampler2DArray"), glsl_type(GL_SAMPLER_2D_ARRAY, + GLSL_SAMPLER_DIM_2D, 0, 1, GLSL_TYPE_FLOAT, "sampler2DArray"), + glsl_type(GL_SAMPLER_1D_ARRAY_SHADOW, GLSL_SAMPLER_DIM_1D, 1, 1, GLSL_TYPE_FLOAT, "sampler1DArrayShadow"), glsl_type(GL_SAMPLER_2D_ARRAY_SHADOW, GLSL_SAMPLER_DIM_2D, 1, 1, GLSL_TYPE_FLOAT, "sampler2DArrayShadow"), diff --git a/src/glsl/builtins/ir/atan b/src/glsl/builtins/ir/atan index 6dc99d74d37..3f97e0d46f1 100644 --- a/src/glsl/builtins/ir/atan +++ b/src/glsl/builtins/ir/atan @@ -1,14 +1,14 @@ ((function atan (signature float (parameters - (declare (in) float x)) + (declare (in) float y_over_x)) ((return (call asin ((expression float * - (var_ref x) + (var_ref y_over_x) (expression float rsq (expression float + (expression float * - (var_ref x) - (var_ref x)) + (var_ref y_over_x) + (var_ref y_over_x)) (constant float (1.0)))))))))) (signature vec2 @@ -54,30 +54,15 @@ ) ( (declare () float r) - (declare ( ) float abs_retval) - (assign (constant bool (1)) (x) (var_ref abs_retval) (call abs ((var_ref x) )) -) - (if (expression bool > (var_ref abs_retval) (constant float (0.000100)) ) ( - (declare ( ) float atan_retval) - (assign (constant bool (1)) (x) (var_ref atan_retval) (call atan ((expression float / (var_ref y) (var_ref x) ) )) -) - (assign (constant bool (1)) (x) (var_ref r) (var_ref atan_retval) ) + (if (expression bool > (expression float abs (var_ref x)) (constant float (0.000100))) ( + (assign (constant bool (1)) (x) (var_ref r) (call atan ((expression float / (var_ref y) (var_ref x))))) (if (expression bool < (var_ref x) (constant float (0.000000)) ) ( - (if (expression bool >= (var_ref y) (constant float (0.000000)) ) ( - (declare ( ) float assignment_tmp) - (assign (constant bool (1)) (x) (var_ref assignment_tmp) (expression float + (var_ref r) (constant float (3.141593)) ) ) - (assign (constant bool (1)) (x) (var_ref r) (var_ref assignment_tmp) ) - ) - ( - (declare ( ) float assignment_tmp) - (assign (constant bool (1)) (x) (var_ref assignment_tmp) (expression float - (var_ref r) (constant float (3.141593)) ) ) - (assign (constant bool (1)) (x) (var_ref r) (var_ref assignment_tmp) ) - )) - + (if (expression bool >= (var_ref y) (constant float (0.000000)) ) + ((assign (constant bool (1)) (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593))))) + ((assign (constant bool (1)) (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593)))))) ) ( )) - ) ( (declare () float sgn) diff --git a/src/glsl/glcpp/glcpp-lex.c b/src/glsl/glcpp/glcpp-lex.c index af8f07419aa..156af3008c0 100644 --- a/src/glsl/glcpp/glcpp-lex.c +++ b/src/glsl/glcpp/glcpp-lex.c @@ -795,10 +795,6 @@ int glcpp_get_lineno (yyscan_t yyscanner ); void glcpp_set_lineno (int line_number ,yyscan_t yyscanner ); -int glcpp_get_column (yyscan_t yyscanner ); - -void glcpp_set_column (int column_no ,yyscan_t yyscanner ); - YYSTYPE * glcpp_get_lval (yyscan_t yyscanner ); void glcpp_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner ); @@ -958,7 +954,7 @@ YY_DECL /* Single-line comments */ -#line 962 "glcpp/glcpp-lex.c" +#line 958 "glcpp/glcpp-lex.c" yylval = yylval_param; @@ -1475,7 +1471,7 @@ YY_RULE_SETUP #line 319 "glcpp/glcpp-lex.l" ECHO; YY_BREAK -#line 1479 "glcpp/glcpp-lex.c" +#line 1475 "glcpp/glcpp-lex.c" case YY_STATE_EOF(DONE): case YY_STATE_EOF(COMMENT): case YY_STATE_EOF(UNREACHABLE): diff --git a/src/glsl/glsl_parser.cpp b/src/glsl/glsl_parser.cpp index e6c8e8a0ec2..cfbb2b83d61 100644 --- a/src/glsl/glsl_parser.cpp +++ b/src/glsl/glsl_parser.cpp @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.3. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.3" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -113,7 +114,7 @@ /* Line 189 of yacc.c */ -#line 117 "glsl_parser.cpp" +#line 118 "glsl_parser.cpp" /* Enabling traces. */ #ifndef YYDEBUG @@ -371,7 +372,7 @@ typedef union YYSTYPE /* Line 214 of yacc.c */ -#line 375 "glsl_parser.cpp" +#line 376 "glsl_parser.cpp" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -396,7 +397,7 @@ typedef struct YYLTYPE /* Line 264 of yacc.c */ -#line 400 "glsl_parser.cpp" +#line 401 "glsl_parser.cpp" #ifdef short # undef short @@ -446,7 +447,7 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -1949,18 +1950,9 @@ static const yytype_uint16 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ + Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif #define YYRECOVERING() (!!yyerrstatus) @@ -2017,7 +2009,7 @@ while (YYID (0)) we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -2559,7 +2551,7 @@ YYLTYPE yylloc; YYLTYPE *yylsp; /* The locations where the error started and ended. */ - YYLTYPE yyerror_range[3]; + YYLTYPE yyerror_range[2]; YYSIZE_T yystacksize; @@ -2606,7 +2598,7 @@ YYLTYPE yylloc; yyvsp = yyvs; yylsp = yyls; -#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +#if YYLTYPE_IS_TRIVIAL /* Initialize the default location before parsing starts. */ yylloc.first_line = yylloc.last_line = 1; yylloc.first_column = yylloc.last_column = 1; @@ -2614,7 +2606,7 @@ YYLTYPE yylloc; /* User initialization code. */ -/* Line 1251 of yacc.c */ +/* Line 1242 of yacc.c */ #line 41 "glsl_parser.ypp" { yylloc.first_line = 1; @@ -2624,8 +2616,8 @@ YYLTYPE yylloc; yylloc.source = 0; } -/* Line 1251 of yacc.c */ -#line 2629 "glsl_parser.cpp" +/* Line 1242 of yacc.c */ +#line 2621 "glsl_parser.cpp" yylsp[0] = yylloc; goto yysetstate; @@ -2812,7 +2804,7 @@ yyreduce: { case 2: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 211 "glsl_parser.ypp" { _mesa_glsl_initialize_types(state); @@ -2821,7 +2813,7 @@ yyreduce: case 5: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 220 "glsl_parser.ypp" { switch ((yyvsp[(2) - (3)].n)) { @@ -2843,7 +2835,7 @@ yyreduce: case 12: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 252 "glsl_parser.ypp" { if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) { @@ -2854,7 +2846,7 @@ yyreduce: case 13: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 261 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' @@ -2867,7 +2859,7 @@ yyreduce: case 14: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 269 "glsl_parser.ypp" { /* FINISHME: The NULL test is only required because 'precision' @@ -2880,7 +2872,7 @@ yyreduce: case 16: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 284 "glsl_parser.ypp" { void *ctx = state; @@ -2892,7 +2884,7 @@ yyreduce: case 17: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 291 "glsl_parser.ypp" { void *ctx = state; @@ -2904,7 +2896,7 @@ yyreduce: case 18: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 298 "glsl_parser.ypp" { void *ctx = state; @@ -2916,7 +2908,7 @@ yyreduce: case 19: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 305 "glsl_parser.ypp" { void *ctx = state; @@ -2928,7 +2920,7 @@ yyreduce: case 20: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 312 "glsl_parser.ypp" { void *ctx = state; @@ -2940,7 +2932,7 @@ yyreduce: case 21: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 319 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(2) - (3)].expression); @@ -2949,7 +2941,7 @@ yyreduce: case 23: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 327 "glsl_parser.ypp" { void *ctx = state; @@ -2960,7 +2952,7 @@ yyreduce: case 24: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 333 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); @@ -2969,7 +2961,7 @@ yyreduce: case 25: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 337 "glsl_parser.ypp" { void *ctx = state; @@ -2981,7 +2973,7 @@ yyreduce: case 26: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 344 "glsl_parser.ypp" { void *ctx = state; @@ -2992,7 +2984,7 @@ yyreduce: case 27: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 350 "glsl_parser.ypp" { void *ctx = state; @@ -3003,7 +2995,7 @@ yyreduce: case 31: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 368 "glsl_parser.ypp" { void *ctx = state; @@ -3014,7 +3006,7 @@ yyreduce: case 36: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 387 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (2)].expression); @@ -3025,7 +3017,7 @@ yyreduce: case 37: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 393 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (3)].expression); @@ -3036,7 +3028,7 @@ yyreduce: case 39: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 409 "glsl_parser.ypp" { void *ctx = state; @@ -3047,7 +3039,7 @@ yyreduce: case 40: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 415 "glsl_parser.ypp" { void *ctx = state; @@ -3059,7 +3051,7 @@ yyreduce: case 41: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 422 "glsl_parser.ypp" { void *ctx = state; @@ -3071,7 +3063,7 @@ yyreduce: case 43: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 434 "glsl_parser.ypp" { void *ctx = state; @@ -3082,7 +3074,7 @@ yyreduce: case 44: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 440 "glsl_parser.ypp" { void *ctx = state; @@ -3093,7 +3085,7 @@ yyreduce: case 45: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 446 "glsl_parser.ypp" { void *ctx = state; @@ -3104,35 +3096,35 @@ yyreduce: case 46: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 455 "glsl_parser.ypp" { (yyval.n) = ast_plus; ;} break; case 47: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 456 "glsl_parser.ypp" { (yyval.n) = ast_neg; ;} break; case 48: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 457 "glsl_parser.ypp" { (yyval.n) = ast_logic_not; ;} break; case 49: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 458 "glsl_parser.ypp" { (yyval.n) = ast_bit_not; ;} break; case 51: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 464 "glsl_parser.ypp" { void *ctx = state; @@ -3143,7 +3135,7 @@ yyreduce: case 52: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 470 "glsl_parser.ypp" { void *ctx = state; @@ -3154,7 +3146,7 @@ yyreduce: case 53: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 476 "glsl_parser.ypp" { void *ctx = state; @@ -3165,7 +3157,7 @@ yyreduce: case 55: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 486 "glsl_parser.ypp" { void *ctx = state; @@ -3176,7 +3168,7 @@ yyreduce: case 56: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 492 "glsl_parser.ypp" { void *ctx = state; @@ -3187,7 +3179,7 @@ yyreduce: case 58: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 502 "glsl_parser.ypp" { void *ctx = state; @@ -3198,7 +3190,7 @@ yyreduce: case 59: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 508 "glsl_parser.ypp" { void *ctx = state; @@ -3209,7 +3201,7 @@ yyreduce: case 61: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 518 "glsl_parser.ypp" { void *ctx = state; @@ -3220,7 +3212,7 @@ yyreduce: case 62: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 524 "glsl_parser.ypp" { void *ctx = state; @@ -3231,7 +3223,7 @@ yyreduce: case 63: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 530 "glsl_parser.ypp" { void *ctx = state; @@ -3242,7 +3234,7 @@ yyreduce: case 64: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 536 "glsl_parser.ypp" { void *ctx = state; @@ -3253,7 +3245,7 @@ yyreduce: case 66: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 546 "glsl_parser.ypp" { void *ctx = state; @@ -3264,7 +3256,7 @@ yyreduce: case 67: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 552 "glsl_parser.ypp" { void *ctx = state; @@ -3275,7 +3267,7 @@ yyreduce: case 69: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 562 "glsl_parser.ypp" { void *ctx = state; @@ -3286,7 +3278,7 @@ yyreduce: case 71: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 572 "glsl_parser.ypp" { void *ctx = state; @@ -3297,7 +3289,7 @@ yyreduce: case 73: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 582 "glsl_parser.ypp" { void *ctx = state; @@ -3308,7 +3300,7 @@ yyreduce: case 75: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 592 "glsl_parser.ypp" { void *ctx = state; @@ -3319,7 +3311,7 @@ yyreduce: case 77: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 602 "glsl_parser.ypp" { void *ctx = state; @@ -3330,7 +3322,7 @@ yyreduce: case 79: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 612 "glsl_parser.ypp" { void *ctx = state; @@ -3341,7 +3333,7 @@ yyreduce: case 81: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 622 "glsl_parser.ypp" { void *ctx = state; @@ -3352,7 +3344,7 @@ yyreduce: case 83: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 632 "glsl_parser.ypp" { void *ctx = state; @@ -3363,84 +3355,84 @@ yyreduce: case 84: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 640 "glsl_parser.ypp" { (yyval.n) = ast_assign; ;} break; case 85: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 641 "glsl_parser.ypp" { (yyval.n) = ast_mul_assign; ;} break; case 86: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 642 "glsl_parser.ypp" { (yyval.n) = ast_div_assign; ;} break; case 87: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 643 "glsl_parser.ypp" { (yyval.n) = ast_mod_assign; ;} break; case 88: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 644 "glsl_parser.ypp" { (yyval.n) = ast_add_assign; ;} break; case 89: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 645 "glsl_parser.ypp" { (yyval.n) = ast_sub_assign; ;} break; case 90: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 646 "glsl_parser.ypp" { (yyval.n) = ast_ls_assign; ;} break; case 91: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 647 "glsl_parser.ypp" { (yyval.n) = ast_rs_assign; ;} break; case 92: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 648 "glsl_parser.ypp" { (yyval.n) = ast_and_assign; ;} break; case 93: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 649 "glsl_parser.ypp" { (yyval.n) = ast_xor_assign; ;} break; case 94: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 650 "glsl_parser.ypp" { (yyval.n) = ast_or_assign; ;} break; case 95: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 655 "glsl_parser.ypp" { (yyval.expression) = (yyvsp[(1) - (1)].expression); @@ -3449,7 +3441,7 @@ yyreduce: case 96: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 659 "glsl_parser.ypp" { void *ctx = state; @@ -3467,7 +3459,7 @@ yyreduce: case 98: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 679 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].function); @@ -3476,7 +3468,7 @@ yyreduce: case 99: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 683 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (2)].declarator_list); @@ -3485,7 +3477,7 @@ yyreduce: case 100: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 687 "glsl_parser.ypp" { if (((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_float) @@ -3501,7 +3493,7 @@ yyreduce: case 104: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 710 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (2)].function); @@ -3511,7 +3503,7 @@ yyreduce: case 105: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 715 "glsl_parser.ypp" { (yyval.function) = (yyvsp[(1) - (3)].function); @@ -3521,7 +3513,7 @@ yyreduce: case 106: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 723 "glsl_parser.ypp" { void *ctx = state; @@ -3534,7 +3526,7 @@ yyreduce: case 107: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 734 "glsl_parser.ypp" { void *ctx = state; @@ -3549,7 +3541,7 @@ yyreduce: case 108: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 744 "glsl_parser.ypp" { void *ctx = state; @@ -3566,7 +3558,7 @@ yyreduce: case 109: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 759 "glsl_parser.ypp" { (yyvsp[(1) - (3)].type_qualifier).flags.i |= (yyvsp[(2) - (3)].type_qualifier).flags.i; @@ -3578,7 +3570,7 @@ yyreduce: case 110: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 766 "glsl_parser.ypp" { (yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator); @@ -3588,7 +3580,7 @@ yyreduce: case 111: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 771 "glsl_parser.ypp" { void *ctx = state; @@ -3604,7 +3596,7 @@ yyreduce: case 112: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 782 "glsl_parser.ypp" { void *ctx = state; @@ -3618,7 +3610,7 @@ yyreduce: case 113: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 794 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -3627,7 +3619,7 @@ yyreduce: case 114: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 798 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -3637,7 +3629,7 @@ yyreduce: case 115: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 803 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -3647,7 +3639,7 @@ yyreduce: case 116: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 808 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -3658,7 +3650,7 @@ yyreduce: case 119: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 822 "glsl_parser.ypp" { void *ctx = state; @@ -3672,7 +3664,7 @@ yyreduce: case 120: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 831 "glsl_parser.ypp" { void *ctx = state; @@ -3686,7 +3678,7 @@ yyreduce: case 121: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 840 "glsl_parser.ypp" { void *ctx = state; @@ -3700,7 +3692,7 @@ yyreduce: case 122: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 849 "glsl_parser.ypp" { void *ctx = state; @@ -3714,7 +3706,7 @@ yyreduce: case 123: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 858 "glsl_parser.ypp" { void *ctx = state; @@ -3728,7 +3720,7 @@ yyreduce: case 124: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 867 "glsl_parser.ypp" { void *ctx = state; @@ -3742,7 +3734,7 @@ yyreduce: case 125: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 880 "glsl_parser.ypp" { void *ctx = state; @@ -3758,7 +3750,7 @@ yyreduce: case 126: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 891 "glsl_parser.ypp" { void *ctx = state; @@ -3772,7 +3764,7 @@ yyreduce: case 127: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 900 "glsl_parser.ypp" { void *ctx = state; @@ -3786,7 +3778,7 @@ yyreduce: case 128: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 909 "glsl_parser.ypp" { void *ctx = state; @@ -3800,7 +3792,7 @@ yyreduce: case 129: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 918 "glsl_parser.ypp" { void *ctx = state; @@ -3814,7 +3806,7 @@ yyreduce: case 130: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 927 "glsl_parser.ypp" { void *ctx = state; @@ -3828,7 +3820,7 @@ yyreduce: case 131: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 936 "glsl_parser.ypp" { void *ctx = state; @@ -3842,7 +3834,7 @@ yyreduce: case 132: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 945 "glsl_parser.ypp" { void *ctx = state; @@ -3858,7 +3850,7 @@ yyreduce: case 133: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 959 "glsl_parser.ypp" { void *ctx = state; @@ -3870,7 +3862,7 @@ yyreduce: case 134: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 966 "glsl_parser.ypp" { void *ctx = state; @@ -3883,7 +3875,7 @@ yyreduce: case 135: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 977 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier); @@ -3892,7 +3884,7 @@ yyreduce: case 137: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 985 "glsl_parser.ypp" { if (((yyvsp[(1) - (3)].type_qualifier).flags.i & (yyvsp[(3) - (3)].type_qualifier).flags.i) != 0) { @@ -3913,7 +3905,7 @@ yyreduce: case 138: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1004 "glsl_parser.ypp" { bool got_one = false; @@ -3947,7 +3939,7 @@ yyreduce: case 139: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1033 "glsl_parser.ypp" { bool got_one = false; @@ -3990,7 +3982,7 @@ yyreduce: case 140: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1074 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4000,7 +3992,7 @@ yyreduce: case 141: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1079 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4010,7 +4002,7 @@ yyreduce: case 142: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1084 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4020,7 +4012,7 @@ yyreduce: case 143: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1092 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4030,7 +4022,7 @@ yyreduce: case 146: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1102 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); @@ -4040,7 +4032,7 @@ yyreduce: case 148: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1108 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(1) - (2)].type_qualifier); @@ -4050,7 +4042,7 @@ yyreduce: case 149: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1113 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier); @@ -4060,7 +4052,7 @@ yyreduce: case 150: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1118 "glsl_parser.ypp" { (yyval.type_qualifier) = (yyvsp[(2) - (3)].type_qualifier); @@ -4071,7 +4063,7 @@ yyreduce: case 151: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1124 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4081,7 +4073,7 @@ yyreduce: case 152: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1132 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4091,7 +4083,7 @@ yyreduce: case 153: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1137 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4101,7 +4093,7 @@ yyreduce: case 154: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1142 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4111,7 +4103,7 @@ yyreduce: case 155: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1147 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4122,7 +4114,7 @@ yyreduce: case 156: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1153 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4132,7 +4124,7 @@ yyreduce: case 157: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1158 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4142,7 +4134,7 @@ yyreduce: case 158: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1163 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4152,7 +4144,7 @@ yyreduce: case 159: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1168 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4162,7 +4154,7 @@ yyreduce: case 160: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1173 "glsl_parser.ypp" { memset(& (yyval.type_qualifier), 0, sizeof((yyval.type_qualifier))); @@ -4172,7 +4164,7 @@ yyreduce: case 162: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1182 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier); @@ -4182,7 +4174,7 @@ yyreduce: case 164: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1191 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier); @@ -4193,7 +4185,7 @@ yyreduce: case 165: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1197 "glsl_parser.ypp" { (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier); @@ -4204,7 +4196,7 @@ yyreduce: case 166: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1206 "glsl_parser.ypp" { void *ctx = state; @@ -4215,7 +4207,7 @@ yyreduce: case 167: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1212 "glsl_parser.ypp" { void *ctx = state; @@ -4226,7 +4218,7 @@ yyreduce: case 168: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1218 "glsl_parser.ypp" { void *ctx = state; @@ -4237,364 +4229,364 @@ yyreduce: case 169: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1226 "glsl_parser.ypp" { (yyval.n) = ast_void; ;} break; case 170: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1227 "glsl_parser.ypp" { (yyval.n) = ast_float; ;} break; case 171: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1228 "glsl_parser.ypp" { (yyval.n) = ast_int; ;} break; case 172: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1229 "glsl_parser.ypp" { (yyval.n) = ast_uint; ;} break; case 173: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1230 "glsl_parser.ypp" { (yyval.n) = ast_bool; ;} break; case 174: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1231 "glsl_parser.ypp" { (yyval.n) = ast_vec2; ;} break; case 175: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1232 "glsl_parser.ypp" { (yyval.n) = ast_vec3; ;} break; case 176: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1233 "glsl_parser.ypp" { (yyval.n) = ast_vec4; ;} break; case 177: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1234 "glsl_parser.ypp" { (yyval.n) = ast_bvec2; ;} break; case 178: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1235 "glsl_parser.ypp" { (yyval.n) = ast_bvec3; ;} break; case 179: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1236 "glsl_parser.ypp" { (yyval.n) = ast_bvec4; ;} break; case 180: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1237 "glsl_parser.ypp" { (yyval.n) = ast_ivec2; ;} break; case 181: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1238 "glsl_parser.ypp" { (yyval.n) = ast_ivec3; ;} break; case 182: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1239 "glsl_parser.ypp" { (yyval.n) = ast_ivec4; ;} break; case 183: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1240 "glsl_parser.ypp" { (yyval.n) = ast_uvec2; ;} break; case 184: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1241 "glsl_parser.ypp" { (yyval.n) = ast_uvec3; ;} break; case 185: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1242 "glsl_parser.ypp" { (yyval.n) = ast_uvec4; ;} break; case 186: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1243 "glsl_parser.ypp" { (yyval.n) = ast_mat2; ;} break; case 187: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1244 "glsl_parser.ypp" { (yyval.n) = ast_mat2x3; ;} break; case 188: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1245 "glsl_parser.ypp" { (yyval.n) = ast_mat2x4; ;} break; case 189: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1246 "glsl_parser.ypp" { (yyval.n) = ast_mat3x2; ;} break; case 190: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1247 "glsl_parser.ypp" { (yyval.n) = ast_mat3; ;} break; case 191: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1248 "glsl_parser.ypp" { (yyval.n) = ast_mat3x4; ;} break; case 192: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1249 "glsl_parser.ypp" { (yyval.n) = ast_mat4x2; ;} break; case 193: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1250 "glsl_parser.ypp" { (yyval.n) = ast_mat4x3; ;} break; case 194: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1251 "glsl_parser.ypp" { (yyval.n) = ast_mat4; ;} break; case 195: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1252 "glsl_parser.ypp" { (yyval.n) = ast_sampler1d; ;} break; case 196: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1253 "glsl_parser.ypp" { (yyval.n) = ast_sampler2d; ;} break; case 197: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1254 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drect; ;} break; case 198: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1255 "glsl_parser.ypp" { (yyval.n) = ast_sampler3d; ;} break; case 199: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1256 "glsl_parser.ypp" { (yyval.n) = ast_samplercube; ;} break; case 200: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1257 "glsl_parser.ypp" { (yyval.n) = ast_sampler1dshadow; ;} break; case 201: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1258 "glsl_parser.ypp" { (yyval.n) = ast_sampler2dshadow; ;} break; case 202: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1259 "glsl_parser.ypp" { (yyval.n) = ast_sampler2drectshadow; ;} break; case 203: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1260 "glsl_parser.ypp" { (yyval.n) = ast_samplercubeshadow; ;} break; case 204: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1261 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darray; ;} break; case 205: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1262 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darray; ;} break; case 206: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1263 "glsl_parser.ypp" { (yyval.n) = ast_sampler1darrayshadow; ;} break; case 207: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1264 "glsl_parser.ypp" { (yyval.n) = ast_sampler2darrayshadow; ;} break; case 208: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1265 "glsl_parser.ypp" { (yyval.n) = ast_isampler1d; ;} break; case 209: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1266 "glsl_parser.ypp" { (yyval.n) = ast_isampler2d; ;} break; case 210: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1267 "glsl_parser.ypp" { (yyval.n) = ast_isampler3d; ;} break; case 211: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1268 "glsl_parser.ypp" { (yyval.n) = ast_isamplercube; ;} break; case 212: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1269 "glsl_parser.ypp" { (yyval.n) = ast_isampler1darray; ;} break; case 213: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1270 "glsl_parser.ypp" { (yyval.n) = ast_isampler2darray; ;} break; case 214: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1271 "glsl_parser.ypp" { (yyval.n) = ast_usampler1d; ;} break; case 215: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1272 "glsl_parser.ypp" { (yyval.n) = ast_usampler2d; ;} break; case 216: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1273 "glsl_parser.ypp" { (yyval.n) = ast_usampler3d; ;} break; case 217: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1274 "glsl_parser.ypp" { (yyval.n) = ast_usamplercube; ;} break; case 218: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1275 "glsl_parser.ypp" { (yyval.n) = ast_usampler1darray; ;} break; case 219: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1276 "glsl_parser.ypp" { (yyval.n) = ast_usampler2darray; ;} break; case 220: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1280 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) @@ -4611,7 +4603,7 @@ yyreduce: case 221: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1291 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) @@ -4628,7 +4620,7 @@ yyreduce: case 222: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1302 "glsl_parser.ypp" { if (!state->es_shader && state->language_version < 130) @@ -4645,7 +4637,7 @@ yyreduce: case 223: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1317 "glsl_parser.ypp" { void *ctx = state; @@ -4656,7 +4648,7 @@ yyreduce: case 224: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1323 "glsl_parser.ypp" { void *ctx = state; @@ -4667,7 +4659,7 @@ yyreduce: case 225: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1332 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].declarator_list); @@ -4677,7 +4669,7 @@ yyreduce: case 226: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1337 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (2)].node); @@ -4687,7 +4679,7 @@ yyreduce: case 227: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1345 "glsl_parser.ypp" { void *ctx = state; @@ -4704,7 +4696,7 @@ yyreduce: case 228: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1360 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (1)].declaration); @@ -4714,7 +4706,7 @@ yyreduce: case 229: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1365 "glsl_parser.ypp" { (yyval.declaration) = (yyvsp[(1) - (3)].declaration); @@ -4724,7 +4716,7 @@ yyreduce: case 230: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1373 "glsl_parser.ypp" { void *ctx = state; @@ -4735,7 +4727,7 @@ yyreduce: case 231: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1379 "glsl_parser.ypp" { void *ctx = state; @@ -4746,28 +4738,28 @@ yyreduce: case 234: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1397 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; case 239: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1405 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; case 240: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1406 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; case 243: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1413 "glsl_parser.ypp" { void *ctx = state; @@ -4778,7 +4770,7 @@ yyreduce: case 244: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1419 "glsl_parser.ypp" { void *ctx = state; @@ -4789,14 +4781,14 @@ yyreduce: case 245: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1427 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;} break; case 247: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1433 "glsl_parser.ypp" { void *ctx = state; @@ -4807,7 +4799,7 @@ yyreduce: case 248: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1439 "glsl_parser.ypp" { void *ctx = state; @@ -4818,7 +4810,7 @@ yyreduce: case 249: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1448 "glsl_parser.ypp" { if ((yyvsp[(1) - (1)].node) == NULL) { @@ -4833,7 +4825,7 @@ yyreduce: case 250: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1458 "glsl_parser.ypp" { if ((yyvsp[(2) - (2)].node) == NULL) { @@ -4847,7 +4839,7 @@ yyreduce: case 251: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1470 "glsl_parser.ypp" { void *ctx = state; @@ -4858,7 +4850,7 @@ yyreduce: case 252: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1476 "glsl_parser.ypp" { void *ctx = state; @@ -4869,7 +4861,7 @@ yyreduce: case 253: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1485 "glsl_parser.ypp" { (yyval.node) = new(state) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].selection_rest_statement).then_statement, @@ -4880,7 +4872,7 @@ yyreduce: case 254: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1494 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (3)].node); @@ -4890,7 +4882,7 @@ yyreduce: case 255: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1499 "glsl_parser.ypp" { (yyval.selection_rest_statement).then_statement = (yyvsp[(1) - (1)].node); @@ -4900,7 +4892,7 @@ yyreduce: case 256: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1507 "glsl_parser.ypp" { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression); @@ -4909,7 +4901,7 @@ yyreduce: case 257: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1511 "glsl_parser.ypp" { void *ctx = state; @@ -4925,7 +4917,7 @@ yyreduce: case 261: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1534 "glsl_parser.ypp" { void *ctx = state; @@ -4937,7 +4929,7 @@ yyreduce: case 262: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1541 "glsl_parser.ypp" { void *ctx = state; @@ -4949,7 +4941,7 @@ yyreduce: case 263: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1548 "glsl_parser.ypp" { void *ctx = state; @@ -4961,7 +4953,7 @@ yyreduce: case 267: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1564 "glsl_parser.ypp" { (yyval.node) = NULL; @@ -4970,7 +4962,7 @@ yyreduce: case 268: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1571 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node); @@ -4980,7 +4972,7 @@ yyreduce: case 269: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1576 "glsl_parser.ypp" { (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node); @@ -4990,7 +4982,7 @@ yyreduce: case 270: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1585 "glsl_parser.ypp" { void *ctx = state; @@ -5001,7 +4993,7 @@ yyreduce: case 271: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1591 "glsl_parser.ypp" { void *ctx = state; @@ -5012,7 +5004,7 @@ yyreduce: case 272: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1597 "glsl_parser.ypp" { void *ctx = state; @@ -5023,7 +5015,7 @@ yyreduce: case 273: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1603 "glsl_parser.ypp" { void *ctx = state; @@ -5034,7 +5026,7 @@ yyreduce: case 274: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1609 "glsl_parser.ypp" { void *ctx = state; @@ -5045,28 +5037,28 @@ yyreduce: case 275: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1617 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;} break; case 276: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1618 "glsl_parser.ypp" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; case 277: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1619 "glsl_parser.ypp" { (yyval.node) = NULL; ;} break; case 278: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 1624 "glsl_parser.ypp" { void *ctx = state; @@ -5079,8 +5071,8 @@ yyreduce: -/* Line 1464 of yacc.c */ -#line 5084 "glsl_parser.cpp" +/* Line 1455 of yacc.c */ +#line 5076 "glsl_parser.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -5152,7 +5144,7 @@ yyerrlab: #endif } - yyerror_range[1] = yylloc; + yyerror_range[0] = yylloc; if (yyerrstatus == 3) { @@ -5189,7 +5181,7 @@ yyerrorlab: if (/*CONSTCOND*/ 0) goto yyerrorlab; - yyerror_range[1] = yylsp[1-yylen]; + yyerror_range[0] = yylsp[1-yylen]; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); @@ -5223,7 +5215,7 @@ yyerrlab1: if (yyssp == yyss) YYABORT; - yyerror_range[1] = *yylsp; + yyerror_range[0] = *yylsp; yydestruct ("Error: popping", yystos[yystate], yyvsp, yylsp, state); YYPOPSTACK (1); @@ -5233,10 +5225,10 @@ yyerrlab1: *++yyvsp = yylval; - yyerror_range[2] = yylloc; + yyerror_range[1] = yylloc; /* Using YYLLOC is tempting, but would change the location of the lookahead. YYLOC is available though. */ - YYLLOC_DEFAULT (yyloc, yyerror_range, 2); + YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); *++yylsp = yyloc; /* Shift the error token. */ diff --git a/src/glsl/glsl_parser.h b/src/glsl/glsl_parser.h index 1101d4977cf..9bb6ae62991 100644 --- a/src/glsl/glsl_parser.h +++ b/src/glsl/glsl_parser.h @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.3. */ + +/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton interface for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -235,7 +236,7 @@ typedef union YYSTYPE { -/* Line 1685 of yacc.c */ +/* Line 1676 of yacc.c */ #line 52 "glsl_parser.ypp" int n; @@ -268,8 +269,8 @@ typedef union YYSTYPE -/* Line 1685 of yacc.c */ -#line 273 "glsl_parser.h" +/* Line 1676 of yacc.c */ +#line 274 "glsl_parser.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 06198e4f3f6..80e0f67d6d8 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -37,10 +37,6 @@ extern "C" { #include "ir_visitor.h" #include "ir_hierarchical_visitor.h" -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) -#endif - /** * \defgroup IR Intermediate representation nodes * diff --git a/src/glsl/ir_constant_expression.cpp b/src/glsl/ir_constant_expression.cpp index 048c020c835..ce13a06ff4f 100644 --- a/src/glsl/ir_constant_expression.cpp +++ b/src/glsl/ir_constant_expression.cpp @@ -54,6 +54,9 @@ dot(ir_constant *op0, ir_constant *op1) ir_constant * ir_expression::constant_expression_value() { + if (this->type->is_error()) + return NULL; + ir_constant *op[2] = { NULL, NULL }; ir_constant_data data; diff --git a/src/glsl/ir_dead_functions.cpp b/src/glsl/ir_dead_functions.cpp index 26554441d3a..16037a2632d 100644 --- a/src/glsl/ir_dead_functions.cpp +++ b/src/glsl/ir_dead_functions.cpp @@ -125,6 +125,7 @@ do_dead_functions(exec_list *instructions) if (!entry->used) { entry->signature->remove(); + delete entry->signature; progress = true; } delete(entry); @@ -143,6 +144,7 @@ do_dead_functions(exec_list *instructions) * symbol table should be OK. */ func->remove(); + delete func; progress = true; } } diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp index a9cbf8ea944..7a22a945ec5 100644 --- a/src/glsl/ir_reader.cpp +++ b/src/glsl/ir_reader.cpp @@ -64,9 +64,12 @@ static ir_texture *read_texture(_mesa_glsl_parse_state *, s_list *); static ir_dereference *read_dereference(_mesa_glsl_parse_state *, s_expression *); -static ir_dereference *read_var_ref(_mesa_glsl_parse_state *, s_list *); -static ir_dereference *read_array_ref(_mesa_glsl_parse_state *, s_list *); -static ir_dereference *read_record_ref(_mesa_glsl_parse_state *, s_list *); +static ir_dereference_variable * +read_var_ref(_mesa_glsl_parse_state *, s_list *); +static ir_dereference_array * +read_array_ref(_mesa_glsl_parse_state *, s_list *); +static ir_dereference_record * +read_record_ref(_mesa_glsl_parse_state *, s_list *); void _mesa_glsl_read_ir(_mesa_glsl_parse_state *state, exec_list *instructions, @@ -260,7 +263,7 @@ read_function_sig(_mesa_glsl_parse_state *st, ir_function *f, s_list *list, return; s_list *paramlist = SX_AS_LIST(type_expr->next); - s_list *body_list = SX_AS_LIST(paramlist->next); + s_list *body_list = SX_AS_LIST(type_expr->next->next); if (paramlist == NULL || body_list == NULL) { ir_read_error(st, list, "Expected (signature <type> (parameters ...) " "(<instruction> ...))"); @@ -674,7 +677,7 @@ read_call(_mesa_glsl_parse_state *st, s_list *list) } s_symbol *name = SX_AS_SYMBOL(list->subexpressions.head->next); - s_list *params = SX_AS_LIST(name->next); + s_list *params = SX_AS_LIST(list->subexpressions.head->next->next); if (name == NULL || params == NULL) { ir_read_error(st, list, "expected (call <name> (<param> ...))"); return NULL; @@ -796,12 +799,6 @@ read_swizzle(_mesa_glsl_parse_state *st, s_list *list) } s_expression *sub = (s_expression*) swiz->next; - if (sub == NULL) { - ir_read_error(st, list, "expected rvalue: (swizzle %s <rvalue>)", - swiz->value()); - return NULL; - } - ir_rvalue *rvalue = read_rvalue(st, sub); if (rvalue == NULL) return NULL; @@ -930,7 +927,7 @@ read_dereference(_mesa_glsl_parse_state *st, s_expression *expr) return NULL; } -static ir_dereference * +static ir_dereference_variable * read_var_ref(_mesa_glsl_parse_state *st, s_list *list) { void *ctx = st; @@ -953,7 +950,7 @@ read_var_ref(_mesa_glsl_parse_state *st, s_list *list) return new(ctx) ir_dereference_variable(var); } -static ir_dereference * +static ir_dereference_array * read_array_ref(_mesa_glsl_parse_state *st, s_list *list) { void *ctx = st; @@ -974,7 +971,7 @@ read_array_ref(_mesa_glsl_parse_state *st, s_list *list) return new(ctx) ir_dereference_array(subject, idx); } -static ir_dereference * +static ir_dereference_record * read_record_ref(_mesa_glsl_parse_state *st, s_list *list) { void *ctx = st; @@ -1053,8 +1050,8 @@ read_texture(_mesa_glsl_parse_state *st, s_list *list) return NULL; } s_int *offset_x = SX_AS_INT(offset_list->subexpressions.head); - s_int *offset_y = SX_AS_INT(offset_x->next); - s_int *offset_z = SX_AS_INT(offset_y->next); + s_int *offset_y = SX_AS_INT(offset_list->subexpressions.head->next); + s_int *offset_z = SX_AS_INT(offset_list->subexpressions.head->next->next); if (offset_x == NULL || offset_y == NULL || offset_z == NULL) { ir_read_error(st, offset_list, "expected (<int> <int> <int>)"); return NULL; diff --git a/src/glsl/loop_controls.cpp b/src/glsl/loop_controls.cpp index 2ef3d305254..b528810f40d 100644 --- a/src/glsl/loop_controls.cpp +++ b/src/glsl/loop_controls.cpp @@ -85,6 +85,9 @@ int calculate_iterations(ir_rvalue *from, ir_rvalue *to, ir_rvalue *increment, enum ir_expression_operation op) { + if (from == NULL || to == NULL || increment == NULL) + return -1; + void *mem_ctx = talloc_init("%s", __func__); ir_expression *const sub = diff --git a/src/glsl/s_expression.cpp b/src/glsl/s_expression.cpp index 4458c48d6ba..4c8829fea9a 100644 --- a/src/glsl/s_expression.cpp +++ b/src/glsl/s_expression.cpp @@ -133,7 +133,8 @@ void s_list::print() foreach_iter(exec_list_iterator, it, this->subexpressions) { s_expression *expr = (s_expression*) it.get(); expr->print(); - printf(" "); + if (!expr->next->is_tail_sentinel()) + printf(" "); } printf(")"); } diff --git a/src/glut/glx/SConscript b/src/glut/glx/SConscript index 29d2cc01494..9363b5ca5cc 100644 --- a/src/glut/glx/SConscript +++ b/src/glut/glx/SConscript @@ -78,7 +78,6 @@ if env['platform'] == 'windows': 'glut.def', ] else: - env.Tool('x11') env.PrependUnique(LIBS = [ 'GLU', 'GL', diff --git a/src/glx/indirect.c b/src/glx/indirect.c index 2b09c1c3b5d..1b93a8cc8d5 100644 --- a/src/glx/indirect.c +++ b/src/glx/indirect.c @@ -30,7 +30,6 @@ #include "indirect.h" #include "glxclient.h" #include "indirect_size.h" -#include "glapidispatch.h" #include "glapi.h" #include "glthread.h" #include <GL/glxproto.h> @@ -42,19 +41,19 @@ #define __GLX_PAD(n) (((n) + 3) & ~3) -# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) -# define FASTCALL __attribute__((fastcall)) -# else -# define FASTCALL -# endif -# if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) -# define NOINLINE __attribute__((noinline)) -# else -# define NOINLINE -# endif +#if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__) +#define FASTCALL __attribute__((fastcall)) +#else +#define FASTCALL +#endif +#if defined(__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) +#define NOINLINE __attribute__((noinline)) +#else +#define NOINLINE +#endif #ifndef __GNUC__ -# define __builtin_expect(x, y) x +#define __builtin_expect(x, y) x #endif /* If the size and opcode values are known at compile-time, this will, on @@ -5200,7 +5199,7 @@ glDeleteTexturesEXT(GLsizei n, const GLuint * textures) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_DeleteTextures(GET_DISPATCH(), (n, textures)); + GET_DISPATCH()->DeleteTextures(n, textures); } else #endif { @@ -5271,7 +5270,7 @@ glGenTexturesEXT(GLsizei n, GLuint * textures) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GenTextures(GET_DISPATCH(), (n, textures)); + GET_DISPATCH()->GenTextures(n, textures); } else #endif { @@ -5336,7 +5335,7 @@ glIsTextureEXT(GLuint texture) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - return CALL_IsTexture(GET_DISPATCH(), (texture)); + return GET_DISPATCH()->IsTexture(texture); } else #endif { @@ -5652,7 +5651,7 @@ glGetColorTableEXT(GLenum target, GLenum format, GLenum type, GLvoid * table) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetColorTable(GET_DISPATCH(), (target, format, type, table)); + GET_DISPATCH()->GetColorTable(target, format, type, table); } else #endif { @@ -5728,8 +5727,7 @@ glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetColorTableParameterfv(GET_DISPATCH(), - (target, pname, params)); + GET_DISPATCH()->GetColorTableParameterfv(target, pname, params); } else #endif { @@ -5801,8 +5799,7 @@ glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetColorTableParameteriv(GET_DISPATCH(), - (target, pname, params)); + GET_DISPATCH()->GetColorTableParameteriv(target, pname, params); } else #endif { @@ -6127,8 +6124,7 @@ gl_dispatch_stub_356(GLenum target, GLenum format, GLenum type, #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetConvolutionFilter(GET_DISPATCH(), - (target, format, type, image)); + GET_DISPATCH()->GetConvolutionFilter(target, format, type, image); } else #endif { @@ -6205,8 +6201,7 @@ gl_dispatch_stub_357(GLenum target, GLenum pname, GLfloat * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetConvolutionParameterfv(GET_DISPATCH(), - (target, pname, params)); + GET_DISPATCH()->GetConvolutionParameterfv(target, pname, params); } else #endif { @@ -6278,8 +6273,7 @@ gl_dispatch_stub_358(GLenum target, GLenum pname, GLint * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetConvolutionParameteriv(GET_DISPATCH(), - (target, pname, params)); + GET_DISPATCH()->GetConvolutionParameteriv(target, pname, params); } else #endif { @@ -6358,8 +6352,7 @@ gl_dispatch_stub_361(GLenum target, GLboolean reset, GLenum format, #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetHistogram(GET_DISPATCH(), - (target, reset, format, type, values)); + GET_DISPATCH()->GetHistogram(target, reset, format, type, values); } else #endif { @@ -6435,7 +6428,7 @@ gl_dispatch_stub_362(GLenum target, GLenum pname, GLfloat * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetHistogramParameterfv(GET_DISPATCH(), (target, pname, params)); + GET_DISPATCH()->GetHistogramParameterfv(target, pname, params); } else #endif { @@ -6506,7 +6499,7 @@ gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetHistogramParameteriv(GET_DISPATCH(), (target, pname, params)); + GET_DISPATCH()->GetHistogramParameteriv(target, pname, params); } else #endif { @@ -6581,7 +6574,7 @@ gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format, #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetMinmax(GET_DISPATCH(), (target, reset, format, type, values)); + GET_DISPATCH()->GetMinmax(target, reset, format, type, values); } else #endif { @@ -6655,7 +6648,7 @@ gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetMinmaxParameterfv(GET_DISPATCH(), (target, pname, params)); + GET_DISPATCH()->GetMinmaxParameterfv(target, pname, params); } else #endif { @@ -6723,7 +6716,7 @@ gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params) #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetMinmaxParameteriv(GET_DISPATCH(), (target, pname, params)); + GET_DISPATCH()->GetMinmaxParameteriv(target, pname, params); } else #endif { @@ -10664,5 +10657,5 @@ __indirect_glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, } -# undef FASTCALL -# undef NOINLINE +#undef FASTCALL +#undef NOINLINE diff --git a/src/glx/indirect.h b/src/glx/indirect.h index 282de75c40c..1e2994877b4 100644 --- a/src/glx/indirect.h +++ b/src/glx/indirect.h @@ -440,6 +440,7 @@ extern HIDDEN void __indirect_glGetConvolutionParameteriv(GLenum target, GLenum extern HIDDEN void gl_dispatch_stub_358(GLenum target, GLenum pname, GLint * params); extern HIDDEN void __indirect_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); extern HIDDEN void gl_dispatch_stub_359(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); +#define gl_dispatch_stub_GetSeparableFilterEXT gl_dispatch_stub_359 extern HIDDEN void __indirect_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column); extern HIDDEN void __indirect_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); extern HIDDEN void gl_dispatch_stub_361(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); diff --git a/src/glx/single2.c b/src/glx/single2.c index 318d18e5554..66281fa9c99 100644 --- a/src/glx/single2.c +++ b/src/glx/single2.c @@ -36,7 +36,6 @@ #include "indirect.h" #include "indirect_vertex_array.h" #include "glapitable.h" -#include "glapidispatch.h" #include "glapi.h" #ifdef USE_XCB #include <xcb/xcb.h> @@ -944,8 +943,7 @@ glAreTexturesResidentEXT(GLsizei n, const GLuint * textures, struct glx_context *const gc = __glXGetCurrentContext(); if (gc->isDirect) { - return CALL_AreTexturesResident(GET_DISPATCH(), - (n, textures, residences)); + return GET_DISPATCH()->AreTexturesResident(n, textures, residences); } else { struct glx_context *const gc = __glXGetCurrentContext(); diff --git a/src/glx/singlepix.c b/src/glx/singlepix.c index b61f26b2f3b..d8a71664d05 100644 --- a/src/glx/singlepix.c +++ b/src/glx/singlepix.c @@ -31,10 +31,8 @@ #include "packsingle.h" #include "indirect.h" #include "glapitable.h" -#include "glapidispatch.h" #include "glapi.h" #include "glthread.h" -#include "glapioffsets.h" #include <GL/glxproto.h> void @@ -110,19 +108,17 @@ __indirect_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, } -#define CONCAT(a,b) a ## b -#define NAME(o) CONCAT(gl_dispatch_stub_, o) - -void NAME(_gloffset_GetSeparableFilter) (GLenum target, GLenum format, - GLenum type, GLvoid * row, - GLvoid * column, GLvoid * span) +/* it is defined to gl_dispatch_stub_NNN in indirect.h */ +void gl_dispatch_stub_GetSeparableFilterEXT (GLenum target, GLenum format, + GLenum type, GLvoid * row, + GLvoid * column, GLvoid * span) { struct glx_context *const gc = __glXGetCurrentContext(); #if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) if (gc->isDirect) { - CALL_GetSeparableFilter(GET_DISPATCH(), - (target, format, type, row, column, span)); + GET_DISPATCH()->GetSeparableFilter(target, format, type, + row, column, span); return; } else diff --git a/src/mapi/glapi/SConscript b/src/mapi/glapi/SConscript index 40db237fcbc..77a5f9bd2e3 100644 --- a/src/mapi/glapi/SConscript +++ b/src/mapi/glapi/SConscript @@ -6,77 +6,78 @@ Import('*') if env['platform'] != 'winddk': - env = env.Clone() - - env.Append(CPPDEFINES = [ - 'MAPI_GLAPI_CURRENT', - ]) + env = env.Clone() + + env.Append(CPPDEFINES = [ + 'MAPI_GLAPI_CURRENT', + ]) - if env['platform'] == 'windows': - env.Append(CPPDEFINES = [ - '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers - 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers - 'WIN32_THREADS', # use Win32 thread API - ]) + if env['platform'] == 'windows': + env.Append(CPPDEFINES = [ + '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers + 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers + 'WIN32_THREADS', # use Win32 thread API + ]) - env.Append(CPPPATH = [ - '#/src/mapi', - '#/src/mesa', - ]) - - glapi_sources = [ - 'glapi_dispatch.c', - 'glapi_entrypoint.c', - 'glapi_getproc.c', - 'glapi_nop.c', - 'glthread.c', - ] - - mapi_sources = [ - 'u_current.c', - 'u_execmem.c', - 'u_thread.c', - ] - for s in mapi_sources: - o = env.SharedObject(s[:-2], '../mapi/' + s) - glapi_sources.append(o) + env.Append(CPPPATH = [ + '#/src/mapi', + '#/src/mesa', + ]) + + glapi_sources = [ + 'glapi_dispatch.c', + 'glapi_entrypoint.c', + 'glapi_getproc.c', + 'glapi_nop.c', + 'glthread.c', + ] + + mapi_sources = [ + 'u_current.c', + 'u_execmem.c', + 'u_thread.c', + ] + for s in mapi_sources: + o = env.SharedObject(s[:-2], '../mapi/' + s) + glapi_sources.append(o) - # - # Assembly sources - # - if gcc and env['machine'] == 'x86': - env.Append(CPPDEFINES = [ - 'USE_X86_ASM', - 'USE_MMX_ASM', - 'USE_3DNOW_ASM', - 'USE_SSE_ASM', - ]) - glapi_sources += [ - 'glapi_x86.S', - ] - elif gcc and env['machine'] == 'x86_64': - env.Append(CPPDEFINES = [ - 'USE_X86_64_ASM', - ]) - glapi_sources += [ - 'glapi_x86-64.S' - ] - elif gcc and env['machine'] == 'ppc': - env.Append(CPPDEFINES = [ - 'USE_PPC_ASM', - 'USE_VMX_ASM', - ]) - glapi_sources += [ - ] - elif gcc and env['machine'] == 'sparc': - glapi_sources += [ - 'glapi_sparc.S' - ] - else: - pass - - glapi = env.ConvenienceLibrary( - target = 'glapi', - source = glapi_sources, - ) - Export('glapi') + # + # Assembly sources + # + if env['gcc'] and env['platform'] != 'windows': + if env['machine'] == 'x86': + env.Append(CPPDEFINES = [ + 'USE_X86_ASM', + 'USE_MMX_ASM', + 'USE_3DNOW_ASM', + 'USE_SSE_ASM', + ]) + glapi_sources += [ + 'glapi_x86.S', + ] + elif env['machine'] == 'x86_64': + env.Append(CPPDEFINES = [ + 'USE_X86_64_ASM', + ]) + glapi_sources += [ + 'glapi_x86-64.S' + ] + elif env['machine'] == 'ppc': + env.Append(CPPDEFINES = [ + 'USE_PPC_ASM', + 'USE_VMX_ASM', + ]) + glapi_sources += [ + ] + elif env['machine'] == 'sparc': + glapi_sources += [ + 'glapi_sparc.S' + ] + else: + pass + + glapi = env.ConvenienceLibrary( + target = 'glapi', + source = glapi_sources, + ) + Export('glapi') diff --git a/src/mapi/glapi/gen-es/Makefile b/src/mapi/glapi/gen-es/Makefile index bda8e9ef729..837579248f7 100644 --- a/src/mapi/glapi/gen-es/Makefile +++ b/src/mapi/glapi/gen-es/Makefile @@ -3,14 +3,13 @@ GLAPI = ../gen include $(TOP)/configs/current OUTPUTS := \ - glapi/glapidispatch.h \ - glapi/glapioffsets.h \ glapi/glapitable.h \ glapi/glapitemp.h \ glapi/glprocs.h \ glapi/glapi_sparc.S \ glapi/glapi_x86-64.S \ glapi/glapi_x86.S \ + main/glapidispatch.h \ main/remap_helper.h COMMON = gl_XML.py glX_XML.py license.py typeexpr.py @@ -47,9 +46,6 @@ endef %/glapidispatch.h: $(GLAPI)/gl_table.py $(COMMON) $(call gen-glapi,-c -m remap_table) -%/glapioffsets.h: $(GLAPI)/gl_offsets.py $(COMMON) - $(call gen-glapi,-c) - %/glapitable.h: $(GLAPI)/gl_table.py $(COMMON) $(call gen-glapi,-c) diff --git a/src/mapi/glapi/gen/EXT_gpu_shader4.xml b/src/mapi/glapi/gen/EXT_gpu_shader4.xml new file mode 100644 index 00000000000..cb64e868dd9 --- /dev/null +++ b/src/mapi/glapi/gen/EXT_gpu_shader4.xml @@ -0,0 +1,244 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<OpenGLAPI> + +<category name="GL_EXT_gpu_shader4" number="326"> + + <enum name="VERTEX_ATTRIB_ARRAY_INTEGER_EXT" value="0x88FD"/> + <enum name="SAMPLER_1D_ARRAY_EXT" value="0x8DC0"/> + <enum name="SAMPLER_2D_ARRAY_EXT" value="0x8DC1"/> + <enum name="SAMPLER_BUFFER_EXT" value="0x8DC2"/> + <enum name="SAMPLER_1D_ARRAY_SHADOW_EXT" value="0x8DC3"/> + <enum name="SAMPLER_2D_ARRAY_SHADOW_EXT" value="0x8DC4"/> + <enum name="SAMPLER_CUBE_SHADOW_EXT" value="0x8DC5"/> + <enum name="UNSIGNED_INT_VEC2_EXT" value="0x8DC6"/> + <enum name="UNSIGNED_INT_VEC3_EXT" value="0x8DC7"/> + <enum name="UNSIGNED_INT_VEC4_EXT" value="0x8DC8"/> + <enum name="INT_SAMPLER_1D_EXT" value="0x8DC9"/> + <enum name="INT_SAMPLER_2D_EXT" value="0x8DCA"/> + <enum name="INT_SAMPLER_3D_EXT" value="0x8DCB"/> + <enum name="INT_SAMPLER_CUBE_EXT" value="0x8DCC"/> + <enum name="INT_SAMPLER_2D_RECT_EXT" value="0x8DCD"/> + <enum name="INT_SAMPLER_1D_ARRAY_EXT" value="0x8DCE"/> + <enum name="INT_SAMPLER_2D_ARRAY_EXT" value="0x8DCF"/> + <enum name="INT_SAMPLER_BUFFER_EXT" value="0x8DD0"/> + <enum name="UNSIGNED_INT_SAMPLER_1D_EXT" value="0x8DD1"/> + <enum name="UNSIGNED_INT_SAMPLER_2D_EXT" value="0x8DD2"/> + <enum name="UNSIGNED_INT_SAMPLER_3D_EXT" value="0x8DD3"/> + <enum name="UNSIGNED_INT_SAMPLER_CUBE_EXT" value="0x8DD4"/> + <enum name="UNSIGNED_INT_SAMPLER_2D_RECT_EXT" value="0x8DD5"/> + <enum name="UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT" value="0x8DD6"/> + <enum name="UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT" value="0x8DD7"/> + <enum name="UNSIGNED_INT_SAMPLER_BUFFER_EXT" value="0x8DD8"/> + <enum name="MIN_PROGRAM_TEXEL_OFFSET_EXT" value="0x8904"> + <size name="Get" mode="get"/> + </enum> + <enum name="MAX_PROGRAM_TEXEL_OFFSET_EXT" value="0x8905"> + <size name="Get" mode="get"/> + </enum> + + + <function name="VertexAttribI1iEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLint"/> + </function> + + <function name="VertexAttribI2iEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + </function> + + <function name="VertexAttribI3iEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="z" type="GLint"/> + </function> + + <function name="VertexAttribI4iEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLint"/> + <param name="y" type="GLint"/> + <param name="z" type="GLint"/> + <param name="w" type="GLint"/> + </function> + + <function name="VertexAttribI1uiEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLuint"/> + </function> + + <function name="VertexAttribI2uiEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLuint"/> + <param name="y" type="GLuint"/> + </function> + + <function name="VertexAttribI3uiEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLuint"/> + <param name="y" type="GLuint"/> + <param name="z" type="GLuint"/> + </function> + + <function name="VertexAttribI4uiEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="x" type="GLuint"/> + <param name="y" type="GLuint"/> + <param name="z" type="GLuint"/> + <param name="w" type="GLuint"/> + </function> + + <function name="VertexAttribI1ivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLint *"/> + </function> + + <function name="VertexAttribI2ivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLint *"/> + </function> + + <function name="VertexAttribI3ivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLint *"/> + </function> + + <function name="VertexAttribI4ivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLint *"/> + </function> + + <function name="VertexAttribI1uivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLuint *"/> + </function> + + <function name="VertexAttribI2uivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLuint *"/> + </function> + + <function name="VertexAttribI3uivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLuint *"/> + </function> + + <function name="VertexAttribI4uivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLuint *"/> + </function> + + <function name="VertexAttribI4bvEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLbyte *"/> + </function> + + <function name="VertexAttribI4svEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLshort *"/> + </function> + + <function name="VertexAttribI4ubvEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLubyte *"/> + </function> + + <function name="VertexAttribI4usvEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="v" type="const GLushort *"/> + </function> + + <function name="VertexAttribIPointerEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="size" type="GLint"/> + <param name="type" type="GLenum"/> + <param name="stride" type="GLsizei"/> + <param name="pointer" type="const GLvoid *"/> + </function> + + <function name="GetVertexAttribIivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLint *"/> + </function> + + <function name="GetVertexAttribIuivEXT" offset="assign"> + <param name="index" type="GLuint"/> + <param name="pname" type="GLenum"/> + <param name="params" type="GLuint *"/> + </function> + + <function name="Uniform1uiEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="v0" type="GLuint"/> + </function> + + <function name="Uniform2uiEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="v0" type="GLuint"/> + <param name="v1" type="GLuint"/> + </function> + + <function name="Uniform3uiEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="v0" type="GLuint"/> + <param name="v1" type="GLuint"/> + <param name="v2" type="GLuint"/> + </function> + + <function name="Uniform4uiEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="v0" type="GLuint"/> + <param name="v1" type="GLuint"/> + <param name="v2" type="GLuint"/> + <param name="v3" type="GLuint"/> + </function> + + <function name="Uniform1uivEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="count" type="GLsizei"/> + <param name="value" type="const GLuint *"/> + </function> + + <function name="Uniform2uivEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="count" type="GLsizei"/> + <param name="value" type="const GLuint *"/> + </function> + + <function name="Uniform3uivEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="count" type="GLsizei"/> + <param name="value" type="const GLuint *"/> + </function> + + <function name="Uniform4uivEXT" offset="assign"> + <param name="location" type="GLint"/> + <param name="count" type="GLsizei"/> + <param name="value" type="const GLuint *"/> + </function> + + <function name="GetUniformuivEXT" offset="assign"> + <param name="program" type="GLuint"/> + <param name="location" type="GLint"/> + <param name="params" type="GLuint *"/> + </function> + + <function name="BindFragDataLocationEXT" offset="assign"> + <param name="program" type="GLuint"/> + <param name="colorNumber" type="GLuint"/> + <param name="name" type="const GLchar *"/> + </function> + + <function name="GetFragDataLocationEXT" offset="assign"> + <return type="GLint"/> + <param name="program" type="GLuint"/> + <param name="name" type="const GLchar *"/> + </function> + +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/Makefile b/src/mapi/glapi/gen/Makefile index de84de8d07a..ed1e664b8a8 100644 --- a/src/mapi/glapi/gen/Makefile +++ b/src/mapi/glapi/gen/Makefile @@ -14,9 +14,7 @@ MESA_GLX_DIR = $(TOP)/src/glx MESA_GLAPI_OUTPUTS = \ $(MESA_GLAPI_DIR)/glprocs.h \ $(MESA_GLAPI_DIR)/glapitemp.h \ - $(MESA_GLAPI_DIR)/glapioffsets.h \ - $(MESA_GLAPI_DIR)/glapitable.h \ - $(MESA_GLAPI_DIR)/glapidispatch.h + $(MESA_GLAPI_DIR)/glapitable.h MESA_GLAPI_ASM_OUTPUTS = \ $(MESA_GLAPI_DIR)/glapi_x86.S \ @@ -27,6 +25,7 @@ MESA_OUTPUTS = \ $(MESA_GLAPI_OUTPUTS) \ $(MESA_GLAPI_ASM_OUTPUTS) \ $(MESA_DIR)/main/enums.c \ + $(MESA_DIR)/main/glapidispatch.h \ $(MESA_DIR)/main/remap_helper.h \ $(MESA_GLX_DIR)/indirect.c \ $(MESA_GLX_DIR)/indirect.h \ @@ -85,6 +84,7 @@ API_XML = \ APPLE_vertex_array_object.xml \ EXT_draw_buffers2.xml \ EXT_framebuffer_object.xml \ + EXT_gpu_shader4.xml \ EXT_packed_depth_stencil.xml \ EXT_provoking_vertex.xml \ EXT_separate_shader_objects.xml \ @@ -133,15 +133,9 @@ $(MESA_GLAPI_DIR)/glprocs.h: gl_procs.py $(COMMON) $(MESA_GLAPI_DIR)/glapitemp.h: gl_apitemp.py $(COMMON) $(PYTHON2) $(PYTHON_FLAGS) $< > $@ -$(MESA_GLAPI_DIR)/glapioffsets.h: gl_offsets.py $(COMMON) - $(PYTHON2) $(PYTHON_FLAGS) $< > $@ - $(MESA_GLAPI_DIR)/glapitable.h: gl_table.py $(COMMON) $(PYTHON2) $(PYTHON_FLAGS) $< > $@ -$(MESA_GLAPI_DIR)/glapidispatch.h: gl_table.py $(COMMON) - $(PYTHON2) $(PYTHON_FLAGS) $< -m remap_table > $@ - ###################################################################### $(MESA_GLAPI_DIR)/glapi_x86.S: gl_x86_asm.py $(COMMON) @@ -160,6 +154,9 @@ $(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(ES_API) -f $(MESA_GLAPI_DIR)/gen-es/es1_API.xml \ -f $(MESA_GLAPI_DIR)/gen-es/es2_API.xml > $@ +$(MESA_DIR)/main/glapidispatch.h: gl_table.py $(COMMON) + $(PYTHON2) $(PYTHON_FLAGS) $< -m remap_table > $@ + $(MESA_DIR)/main/remap_helper.h: remap_helper.py $(COMMON) $(PYTHON2) $(PYTHON_FLAGS) $< > $@ diff --git a/src/mapi/glapi/gen/glX_proto_send.py b/src/mapi/glapi/gen/glX_proto_send.py index bd41c9e667a..17ebad0176c 100644 --- a/src/mapi/glapi/gen/glX_proto_send.py +++ b/src/mapi/glapi/gen/glX_proto_send.py @@ -166,7 +166,6 @@ class PrintGlxProtoStubs(glX_proto_common.glx_print_proto): print '#include "indirect.h"' print '#include "glxclient.h"' print '#include "indirect_size.h"' - print '#include "glapidispatch.h"' print '#include "glapi.h"' print '#include "glthread.h"' print '#include <GL/glxproto.h>' @@ -375,7 +374,7 @@ const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 }; print '' print '#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)' print ' if (gc->isDirect) {' - print ' %sCALL_%s(GET_DISPATCH(), (%s));' % (ret_string, func.name, func.get_called_parameter_string()) + print ' %sGET_DISPATCH()->%s(%s);' % (ret_string, func.name, func.get_called_parameter_string()) print ' } else' print '#endif' print ' {' @@ -994,6 +993,9 @@ extern HIDDEN NOINLINE FASTCALL GLubyte * __glXSetupVendorRequest( asdf = func.static_glx_name(n) if asdf not in func.static_entry_points: print 'extern HIDDEN %s gl%s(%s);' % (func.return_type, asdf, params) + # give it a easy-to-remember name + if func.client_handcode: + print '#define gl_dispatch_stub_%s gl%s' % (n, asdf) else: print 'GLAPI %s GLAPIENTRY gl%s(%s);' % (func.return_type, asdf, params) diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index cbe37f2d75a..bd212c2e4d9 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -12518,4 +12518,6 @@ <xi:include href="EXT_texture_integer.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> +<xi:include href="EXT_gpu_shader4.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + </OpenGLAPI> diff --git a/src/mapi/glapi/gen/gl_SPARC_asm.py b/src/mapi/glapi/gen/gl_SPARC_asm.py index 33e752df38c..400e684da02 100644 --- a/src/mapi/glapi/gen/gl_SPARC_asm.py +++ b/src/mapi/glapi/gen/gl_SPARC_asm.py @@ -39,8 +39,6 @@ class PrintGenericStubs(gl_XML.gl_print_base): def printRealHeader(self): - print '#include "glapi/glapioffsets.h"' - print '' print '#ifdef __arch64__' print '#define GL_OFF(N)\t((N) * 8)' print '#define GL_LL\t\tldx' @@ -223,7 +221,7 @@ class PrintGenericStubs(gl_XML.gl_print_base): for f in api.functionIterateByOffset(): name = f.dispatch_name() - print '\tGL_STUB(gl%s, _gloffset_%s)' % (name, f.name) + print '\tGL_STUB(gl%s, %d)' % (name, f.offset) if not f.is_static_entry_point(f.name): print '\tHIDDEN(gl%s)' % (name) diff --git a/src/mapi/glapi/gen/gl_procs.py b/src/mapi/glapi/gen/gl_procs.py index 5de61fbdfe9..a9ba48297a1 100644 --- a/src/mapi/glapi/gen/gl_procs.py +++ b/src/mapi/glapi/gen/gl_procs.py @@ -96,7 +96,7 @@ typedef struct { for func in api.functionIterateByOffset(): name = func.dispatch_name() self.printFunctionString(func.name) - table.append((base_offset, "gl" + name, "gl" + name, "NULL", func.name)) + table.append((base_offset, "gl" + name, "gl" + name, "NULL", func.offset)) # The length of the function's name, plus 2 for "gl", # plus 1 for the NUL. @@ -112,9 +112,9 @@ typedef struct { if func.has_different_protocol(n): alt_name = "gl" + func.static_glx_name(n) - table.append((base_offset, "gl" + name, alt_name, alt_name, func.name)) + table.append((base_offset, "gl" + name, alt_name, alt_name, func.offset)) else: - table.append((base_offset, "gl" + name, "gl" + name, "NULL", func.name)) + table.append((base_offset, "gl" + name, "gl" + name, "NULL", func.offset)) base_offset += len(n) + 3 @@ -170,7 +170,7 @@ typedef struct { print 'static const glprocs_table_t static_functions[] = {' for info in table: - print ' NAME_FUNC_OFFSET(%5u, %s, %s, %s, _gloffset_%s),' % info + print ' NAME_FUNC_OFFSET(%5u, %s, %s, %s, %d),' % info print ' NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0)' print '};' diff --git a/src/mapi/glapi/gen/gl_table.py b/src/mapi/glapi/gen/gl_table.py index 3bd7569e92a..c7cb5a40a1c 100644 --- a/src/mapi/glapi/gen/gl_table.py +++ b/src/mapi/glapi/gen/gl_table.py @@ -124,52 +124,54 @@ class PrintRemapTable(gl_XML.gl_print_base): functions.append( [f, count] ) count += 1 else: - abi_functions.append( f ) + abi_functions.append( [f, -1] ) if self.es: # remember functions with aliases if len(f.entry_points) > 1: alias_functions.append(f) + print '/* total number of offsets below */' + print '#define _gloffset_COUNT %d' % (len(abi_functions + functions)) + print '' - for f in abi_functions: - print '#define CALL_%s(disp, parameters) (*((disp)->%s)) parameters' % (f.name, f.name) - print '#define GET_%s(disp) ((disp)->%s)' % (f.name, f.name) - print '#define SET_%s(disp, fn) ((disp)->%s = fn)' % (f.name, f.name) - + for f, index in abi_functions: + print '#define _gloffset_%s %d' % (f.name, f.offset) print '' print '#if !defined(_GLAPI_USE_REMAP_TABLE)' print '' - for [f, index] in functions: - print '#define CALL_%s(disp, parameters) (*((disp)->%s)) parameters' % (f.name, f.name) - print '#define GET_%s(disp) ((disp)->%s)' % (f.name, f.name) - print '#define SET_%s(disp, fn) ((disp)->%s = fn)' % (f.name, f.name) + for f, index in functions: + print '#define _gloffset_%s %d' % (f.name, f.offset) print '' - print '#else' + print '#else /* !_GLAPI_USE_REMAP_TABLE */' print '' + print '#define driDispatchRemapTable_size %u' % (count) print 'extern int driDispatchRemapTable[ driDispatchRemapTable_size ];' print '' - for [f, index] in functions: + for f, index in functions: print '#define %s_remap_index %u' % (f.name, index) print '' - for [f, index] in functions: - arg_string = gl_XML.create_parameter_string( f.parameters, 0 ) - cast = '%s (GLAPIENTRYP)(%s)' % (f.return_type, arg_string) + for f, index in functions: + print '#define _gloffset_%s driDispatchRemapTable[%s_remap_index]' % (f.name, f.name) - print '#define CALL_%s(disp, parameters) CALL_by_offset(disp, (%s), driDispatchRemapTable[%s_remap_index], parameters)' % (f.name, cast, f.name) - print '#define GET_%s(disp) GET_by_offset(disp, driDispatchRemapTable[%s_remap_index])' % (f.name, f.name) - print '#define SET_%s(disp, fn) SET_by_offset(disp, driDispatchRemapTable[%s_remap_index], fn)' % (f.name, f.name) + print '' + print '#endif /* _GLAPI_USE_REMAP_TABLE */' + print '' + for f, index in abi_functions + functions: + arg_string = gl_XML.create_parameter_string( f.parameters, 0 ) + cast = '%s (GLAPIENTRYP)(%s)' % (f.return_type, arg_string) - print '' - print '#endif /* !defined(_GLAPI_USE_REMAP_TABLE) */' + print '#define CALL_%s(disp, parameters) CALL_by_offset(disp, (%s), _gloffset_%s, parameters)' % (f.name, cast, f.name) + print '#define GET_%s(disp) GET_by_offset(disp, _gloffset_%s)' % (f.name, f.name) + print '#define SET_%s(disp, fn) SET_by_offset(disp, _gloffset_%s, fn)' % (f.name, f.name) if alias_functions: print '' diff --git a/src/mapi/glapi/gen/gl_x86_asm.py b/src/mapi/glapi/gen/gl_x86_asm.py index 10dfa1ddb34..3b1d035f04a 100644 --- a/src/mapi/glapi/gen/gl_x86_asm.py +++ b/src/mapi/glapi/gen/gl_x86_asm.py @@ -54,7 +54,6 @@ class PrintGenericStubs(gl_XML.gl_print_base): def printRealHeader(self): print '#include "x86/assyntax.h"' - print '#include "glapi/glapioffsets.h"' print '' print '#if defined(STDCALL_API)' print '# if defined(USE_MGL_NAMESPACE)' @@ -215,7 +214,7 @@ class PrintGenericStubs(gl_XML.gl_print_base): stack = self.get_stack_size(f) alt = "%s@%u" % (name, stack) - print '\tGL_STUB(%s, _gloffset_%s, %s)' % (name, f.name, alt) + print '\tGL_STUB(%s, %d, %s)' % (name, f.offset, alt) if not f.is_static_entry_point(f.name): print '\tHIDDEN(GL_PREFIX(%s, %s))' % (name, alt) @@ -230,7 +229,7 @@ class PrintGenericStubs(gl_XML.gl_print_base): if f.is_static_entry_point(n): if n != f.name: alt2 = "%s@%u" % (n, stack) - text = '\tGL_STUB_ALIAS(%s, _gloffset_%s, %s, %s, %s)' % (n, f.name, alt2, name, alt) + text = '\tGL_STUB_ALIAS(%s, %d, %s, %s, %s)' % (n, f.offset, alt2, name, alt) if f.has_different_protocol(n): print '#ifndef GLX_INDIRECT_RENDERING' diff --git a/src/mapi/glapi/glapi_dispatch.c b/src/mapi/glapi/glapi_dispatch.c index 7421a36d35a..989f4a3fc30 100644 --- a/src/mapi/glapi/glapi_dispatch.c +++ b/src/mapi/glapi/glapi_dispatch.c @@ -39,7 +39,6 @@ #include "glapi/glapi_priv.h" #include "glapi/glapitable.h" -#include "glapi/glapidispatch.h" #if !(defined(USE_X86_ASM) || defined(USE_X86_64_ASM) || defined(USE_SPARC_ASM)) @@ -63,19 +62,19 @@ #define F stdout #define DISPATCH(FUNC, ARGS, MESSAGE) \ fprintf MESSAGE; \ - CALL_ ## FUNC(GET_DISPATCH(), ARGS); + GET_DISPATCH()->FUNC ARGS #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \ fprintf MESSAGE; \ - return CALL_ ## FUNC(GET_DISPATCH(), ARGS); + return GET_DISPATCH()->FUNC ARGS #else #define DISPATCH(FUNC, ARGS, MESSAGE) \ - CALL_ ## FUNC(GET_DISPATCH(), ARGS); + GET_DISPATCH()->FUNC ARGS #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \ - return CALL_ ## FUNC(GET_DISPATCH(), ARGS); + return GET_DISPATCH()->FUNC ARGS #endif /* logging */ diff --git a/src/mapi/glapi/glapi_getproc.c b/src/mapi/glapi/glapi_getproc.c index dc4905b64e0..47a01176d5a 100644 --- a/src/mapi/glapi/glapi_getproc.c +++ b/src/mapi/glapi/glapi_getproc.c @@ -32,7 +32,9 @@ #include "glapi/glapi_priv.h" #include "glapi/glapitable.h" -#include "glapi/glapioffsets.h" + + +#define FIRST_DYNAMIC_OFFSET (sizeof(struct _glapi_table) / sizeof(void *)) /********************************************************************** @@ -382,7 +384,7 @@ int _glapi_add_dispatch( const char * const * function_names, const char * parameter_signature ) { - static int next_dynamic_offset = _gloffset_FIRST_DYNAMIC; + static int next_dynamic_offset = FIRST_DYNAMIC_OFFSET; const char * const real_sig = (parameter_signature != NULL) ? parameter_signature : ""; struct _glapi_function * entry[8]; @@ -576,15 +578,6 @@ _glapi_get_proc_name(GLuint offset) */ -/* - * The dispatch table size (number of entries) is the size of the - * _glapi_table struct plus the number of dynamic entries we can add. - * The extra slots can be filled in by DRI drivers that register new extension - * functions. - */ -#define DISPATCH_TABLE_SIZE (sizeof(struct _glapi_table) / sizeof(void *) + MAX_EXTENSION_FUNCS) - - /** * Return size of dispatch table struct as number of functions (or * slots). @@ -592,7 +585,13 @@ _glapi_get_proc_name(GLuint offset) GLuint _glapi_get_dispatch_table_size(void) { - return DISPATCH_TABLE_SIZE; + /* + * The dispatch table size (number of entries) is the size of the + * _glapi_table struct plus the number of dynamic entries we can add. + * The extra slots can be filled in by DRI drivers that register new + * extension functions. + */ + return FIRST_DYNAMIC_OFFSET + MAX_EXTENSION_FUNCS; } @@ -628,56 +627,48 @@ _glapi_check_table(const struct _glapi_table *table) GLuint BeginOffset = _glapi_get_proc_offset("glBegin"); char *BeginFunc = (char*) &table->Begin; GLuint offset = (BeginFunc - (char *) table) / sizeof(void *); - assert(BeginOffset == _gloffset_Begin); assert(BeginOffset == offset); } { GLuint viewportOffset = _glapi_get_proc_offset("glViewport"); char *viewportFunc = (char*) &table->Viewport; GLuint offset = (viewportFunc - (char *) table) / sizeof(void *); - assert(viewportOffset == _gloffset_Viewport); assert(viewportOffset == offset); } { GLuint VertexPointerOffset = _glapi_get_proc_offset("glVertexPointer"); char *VertexPointerFunc = (char*) &table->VertexPointer; GLuint offset = (VertexPointerFunc - (char *) table) / sizeof(void *); - assert(VertexPointerOffset == _gloffset_VertexPointer); assert(VertexPointerOffset == offset); } { GLuint ResetMinMaxOffset = _glapi_get_proc_offset("glResetMinmax"); char *ResetMinMaxFunc = (char*) &table->ResetMinmax; GLuint offset = (ResetMinMaxFunc - (char *) table) / sizeof(void *); - assert(ResetMinMaxOffset == _gloffset_ResetMinmax); assert(ResetMinMaxOffset == offset); } { GLuint blendColorOffset = _glapi_get_proc_offset("glBlendColor"); char *blendColorFunc = (char*) &table->BlendColor; GLuint offset = (blendColorFunc - (char *) table) / sizeof(void *); - assert(blendColorOffset == _gloffset_BlendColor); assert(blendColorOffset == offset); } { GLuint secondaryColor3fOffset = _glapi_get_proc_offset("glSecondaryColor3fEXT"); char *secondaryColor3fFunc = (char*) &table->SecondaryColor3fEXT; GLuint offset = (secondaryColor3fFunc - (char *) table) / sizeof(void *); - assert(secondaryColor3fOffset == _gloffset_SecondaryColor3fEXT); assert(secondaryColor3fOffset == offset); } { GLuint pointParameterivOffset = _glapi_get_proc_offset("glPointParameterivNV"); char *pointParameterivFunc = (char*) &table->PointParameterivNV; GLuint offset = (pointParameterivFunc - (char *) table) / sizeof(void *); - assert(pointParameterivOffset == _gloffset_PointParameterivNV); assert(pointParameterivOffset == offset); } { GLuint setFenceOffset = _glapi_get_proc_offset("glSetFenceNV"); char *setFenceFunc = (char*) &table->SetFenceNV; GLuint offset = (setFenceFunc - (char *) table) / sizeof(void *); - assert(setFenceOffset == _gloffset_SetFenceNV); assert(setFenceOffset == offset); } #else diff --git a/src/mapi/glapi/glapi_sparc.S b/src/mapi/glapi/glapi_sparc.S index a328d44a8bd..ef24ffa4d95 100644 --- a/src/mapi/glapi/glapi_sparc.S +++ b/src/mapi/glapi/glapi_sparc.S @@ -26,8 +26,6 @@ * SOFTWARE. */ -#include "glapi/glapioffsets.h" - #ifdef __arch64__ #define GL_OFF(N) ((N) * 8) #define GL_LL ldx @@ -197,877 +195,911 @@ fn: ba __glapi_sparc_nothread_stub; \ HIDDEN(gl_dispatch_functions_start) gl_dispatch_functions_start: - GL_STUB(glNewList, _gloffset_NewList) - GL_STUB(glEndList, _gloffset_EndList) - GL_STUB(glCallList, _gloffset_CallList) - GL_STUB(glCallLists, _gloffset_CallLists) - GL_STUB(glDeleteLists, _gloffset_DeleteLists) - GL_STUB(glGenLists, _gloffset_GenLists) - GL_STUB(glListBase, _gloffset_ListBase) - GL_STUB(glBegin, _gloffset_Begin) - GL_STUB(glBitmap, _gloffset_Bitmap) - GL_STUB(glColor3b, _gloffset_Color3b) - GL_STUB(glColor3bv, _gloffset_Color3bv) - GL_STUB(glColor3d, _gloffset_Color3d) - GL_STUB(glColor3dv, _gloffset_Color3dv) - GL_STUB(glColor3f, _gloffset_Color3f) - GL_STUB(glColor3fv, _gloffset_Color3fv) - GL_STUB(glColor3i, _gloffset_Color3i) - GL_STUB(glColor3iv, _gloffset_Color3iv) - GL_STUB(glColor3s, _gloffset_Color3s) - GL_STUB(glColor3sv, _gloffset_Color3sv) - GL_STUB(glColor3ub, _gloffset_Color3ub) - GL_STUB(glColor3ubv, _gloffset_Color3ubv) - GL_STUB(glColor3ui, _gloffset_Color3ui) - GL_STUB(glColor3uiv, _gloffset_Color3uiv) - GL_STUB(glColor3us, _gloffset_Color3us) - GL_STUB(glColor3usv, _gloffset_Color3usv) - GL_STUB(glColor4b, _gloffset_Color4b) - GL_STUB(glColor4bv, _gloffset_Color4bv) - GL_STUB(glColor4d, _gloffset_Color4d) - GL_STUB(glColor4dv, _gloffset_Color4dv) - GL_STUB(glColor4f, _gloffset_Color4f) - GL_STUB(glColor4fv, _gloffset_Color4fv) - GL_STUB(glColor4i, _gloffset_Color4i) - GL_STUB(glColor4iv, _gloffset_Color4iv) - GL_STUB(glColor4s, _gloffset_Color4s) - GL_STUB(glColor4sv, _gloffset_Color4sv) - GL_STUB(glColor4ub, _gloffset_Color4ub) - GL_STUB(glColor4ubv, _gloffset_Color4ubv) - GL_STUB(glColor4ui, _gloffset_Color4ui) - GL_STUB(glColor4uiv, _gloffset_Color4uiv) - GL_STUB(glColor4us, _gloffset_Color4us) - GL_STUB(glColor4usv, _gloffset_Color4usv) - GL_STUB(glEdgeFlag, _gloffset_EdgeFlag) - GL_STUB(glEdgeFlagv, _gloffset_EdgeFlagv) - GL_STUB(glEnd, _gloffset_End) - GL_STUB(glIndexd, _gloffset_Indexd) - GL_STUB(glIndexdv, _gloffset_Indexdv) - GL_STUB(glIndexf, _gloffset_Indexf) - GL_STUB(glIndexfv, _gloffset_Indexfv) - GL_STUB(glIndexi, _gloffset_Indexi) - GL_STUB(glIndexiv, _gloffset_Indexiv) - GL_STUB(glIndexs, _gloffset_Indexs) - GL_STUB(glIndexsv, _gloffset_Indexsv) - GL_STUB(glNormal3b, _gloffset_Normal3b) - GL_STUB(glNormal3bv, _gloffset_Normal3bv) - GL_STUB(glNormal3d, _gloffset_Normal3d) - GL_STUB(glNormal3dv, _gloffset_Normal3dv) - GL_STUB(glNormal3f, _gloffset_Normal3f) - GL_STUB(glNormal3fv, _gloffset_Normal3fv) - GL_STUB(glNormal3i, _gloffset_Normal3i) - GL_STUB(glNormal3iv, _gloffset_Normal3iv) - GL_STUB(glNormal3s, _gloffset_Normal3s) - GL_STUB(glNormal3sv, _gloffset_Normal3sv) - GL_STUB(glRasterPos2d, _gloffset_RasterPos2d) - GL_STUB(glRasterPos2dv, _gloffset_RasterPos2dv) - GL_STUB(glRasterPos2f, _gloffset_RasterPos2f) - GL_STUB(glRasterPos2fv, _gloffset_RasterPos2fv) - GL_STUB(glRasterPos2i, _gloffset_RasterPos2i) - GL_STUB(glRasterPos2iv, _gloffset_RasterPos2iv) - GL_STUB(glRasterPos2s, _gloffset_RasterPos2s) - GL_STUB(glRasterPos2sv, _gloffset_RasterPos2sv) - GL_STUB(glRasterPos3d, _gloffset_RasterPos3d) - GL_STUB(glRasterPos3dv, _gloffset_RasterPos3dv) - GL_STUB(glRasterPos3f, _gloffset_RasterPos3f) - GL_STUB(glRasterPos3fv, _gloffset_RasterPos3fv) - GL_STUB(glRasterPos3i, _gloffset_RasterPos3i) - GL_STUB(glRasterPos3iv, _gloffset_RasterPos3iv) - GL_STUB(glRasterPos3s, _gloffset_RasterPos3s) - GL_STUB(glRasterPos3sv, _gloffset_RasterPos3sv) - GL_STUB(glRasterPos4d, _gloffset_RasterPos4d) - GL_STUB(glRasterPos4dv, _gloffset_RasterPos4dv) - GL_STUB(glRasterPos4f, _gloffset_RasterPos4f) - GL_STUB(glRasterPos4fv, _gloffset_RasterPos4fv) - GL_STUB(glRasterPos4i, _gloffset_RasterPos4i) - GL_STUB(glRasterPos4iv, _gloffset_RasterPos4iv) - GL_STUB(glRasterPos4s, _gloffset_RasterPos4s) - GL_STUB(glRasterPos4sv, _gloffset_RasterPos4sv) - GL_STUB(glRectd, _gloffset_Rectd) - GL_STUB(glRectdv, _gloffset_Rectdv) - GL_STUB(glRectf, _gloffset_Rectf) - GL_STUB(glRectfv, _gloffset_Rectfv) - GL_STUB(glRecti, _gloffset_Recti) - GL_STUB(glRectiv, _gloffset_Rectiv) - GL_STUB(glRects, _gloffset_Rects) - GL_STUB(glRectsv, _gloffset_Rectsv) - GL_STUB(glTexCoord1d, _gloffset_TexCoord1d) - GL_STUB(glTexCoord1dv, _gloffset_TexCoord1dv) - GL_STUB(glTexCoord1f, _gloffset_TexCoord1f) - GL_STUB(glTexCoord1fv, _gloffset_TexCoord1fv) - GL_STUB(glTexCoord1i, _gloffset_TexCoord1i) - GL_STUB(glTexCoord1iv, _gloffset_TexCoord1iv) - GL_STUB(glTexCoord1s, _gloffset_TexCoord1s) - GL_STUB(glTexCoord1sv, _gloffset_TexCoord1sv) - GL_STUB(glTexCoord2d, _gloffset_TexCoord2d) - GL_STUB(glTexCoord2dv, _gloffset_TexCoord2dv) - GL_STUB(glTexCoord2f, _gloffset_TexCoord2f) - GL_STUB(glTexCoord2fv, _gloffset_TexCoord2fv) - GL_STUB(glTexCoord2i, _gloffset_TexCoord2i) - GL_STUB(glTexCoord2iv, _gloffset_TexCoord2iv) - GL_STUB(glTexCoord2s, _gloffset_TexCoord2s) - GL_STUB(glTexCoord2sv, _gloffset_TexCoord2sv) - GL_STUB(glTexCoord3d, _gloffset_TexCoord3d) - GL_STUB(glTexCoord3dv, _gloffset_TexCoord3dv) - GL_STUB(glTexCoord3f, _gloffset_TexCoord3f) - GL_STUB(glTexCoord3fv, _gloffset_TexCoord3fv) - GL_STUB(glTexCoord3i, _gloffset_TexCoord3i) - GL_STUB(glTexCoord3iv, _gloffset_TexCoord3iv) - GL_STUB(glTexCoord3s, _gloffset_TexCoord3s) - GL_STUB(glTexCoord3sv, _gloffset_TexCoord3sv) - GL_STUB(glTexCoord4d, _gloffset_TexCoord4d) - GL_STUB(glTexCoord4dv, _gloffset_TexCoord4dv) - GL_STUB(glTexCoord4f, _gloffset_TexCoord4f) - GL_STUB(glTexCoord4fv, _gloffset_TexCoord4fv) - GL_STUB(glTexCoord4i, _gloffset_TexCoord4i) - GL_STUB(glTexCoord4iv, _gloffset_TexCoord4iv) - GL_STUB(glTexCoord4s, _gloffset_TexCoord4s) - GL_STUB(glTexCoord4sv, _gloffset_TexCoord4sv) - GL_STUB(glVertex2d, _gloffset_Vertex2d) - GL_STUB(glVertex2dv, _gloffset_Vertex2dv) - GL_STUB(glVertex2f, _gloffset_Vertex2f) - GL_STUB(glVertex2fv, _gloffset_Vertex2fv) - GL_STUB(glVertex2i, _gloffset_Vertex2i) - GL_STUB(glVertex2iv, _gloffset_Vertex2iv) - GL_STUB(glVertex2s, _gloffset_Vertex2s) - GL_STUB(glVertex2sv, _gloffset_Vertex2sv) - GL_STUB(glVertex3d, _gloffset_Vertex3d) - GL_STUB(glVertex3dv, _gloffset_Vertex3dv) - GL_STUB(glVertex3f, _gloffset_Vertex3f) - GL_STUB(glVertex3fv, _gloffset_Vertex3fv) - GL_STUB(glVertex3i, _gloffset_Vertex3i) - GL_STUB(glVertex3iv, _gloffset_Vertex3iv) - GL_STUB(glVertex3s, _gloffset_Vertex3s) - GL_STUB(glVertex3sv, _gloffset_Vertex3sv) - GL_STUB(glVertex4d, _gloffset_Vertex4d) - GL_STUB(glVertex4dv, _gloffset_Vertex4dv) - GL_STUB(glVertex4f, _gloffset_Vertex4f) - GL_STUB(glVertex4fv, _gloffset_Vertex4fv) - GL_STUB(glVertex4i, _gloffset_Vertex4i) - GL_STUB(glVertex4iv, _gloffset_Vertex4iv) - GL_STUB(glVertex4s, _gloffset_Vertex4s) - GL_STUB(glVertex4sv, _gloffset_Vertex4sv) - GL_STUB(glClipPlane, _gloffset_ClipPlane) - GL_STUB(glColorMaterial, _gloffset_ColorMaterial) - GL_STUB(glCullFace, _gloffset_CullFace) - GL_STUB(glFogf, _gloffset_Fogf) - GL_STUB(glFogfv, _gloffset_Fogfv) - GL_STUB(glFogi, _gloffset_Fogi) - GL_STUB(glFogiv, _gloffset_Fogiv) - GL_STUB(glFrontFace, _gloffset_FrontFace) - GL_STUB(glHint, _gloffset_Hint) - GL_STUB(glLightf, _gloffset_Lightf) - GL_STUB(glLightfv, _gloffset_Lightfv) - GL_STUB(glLighti, _gloffset_Lighti) - GL_STUB(glLightiv, _gloffset_Lightiv) - GL_STUB(glLightModelf, _gloffset_LightModelf) - GL_STUB(glLightModelfv, _gloffset_LightModelfv) - GL_STUB(glLightModeli, _gloffset_LightModeli) - GL_STUB(glLightModeliv, _gloffset_LightModeliv) - GL_STUB(glLineStipple, _gloffset_LineStipple) - GL_STUB(glLineWidth, _gloffset_LineWidth) - GL_STUB(glMaterialf, _gloffset_Materialf) - GL_STUB(glMaterialfv, _gloffset_Materialfv) - GL_STUB(glMateriali, _gloffset_Materiali) - GL_STUB(glMaterialiv, _gloffset_Materialiv) - GL_STUB(glPointSize, _gloffset_PointSize) - GL_STUB(glPolygonMode, _gloffset_PolygonMode) - GL_STUB(glPolygonStipple, _gloffset_PolygonStipple) - GL_STUB(glScissor, _gloffset_Scissor) - GL_STUB(glShadeModel, _gloffset_ShadeModel) - GL_STUB(glTexParameterf, _gloffset_TexParameterf) - GL_STUB(glTexParameterfv, _gloffset_TexParameterfv) - GL_STUB(glTexParameteri, _gloffset_TexParameteri) - GL_STUB(glTexParameteriv, _gloffset_TexParameteriv) - GL_STUB(glTexImage1D, _gloffset_TexImage1D) - GL_STUB(glTexImage2D, _gloffset_TexImage2D) - GL_STUB(glTexEnvf, _gloffset_TexEnvf) - GL_STUB(glTexEnvfv, _gloffset_TexEnvfv) - GL_STUB(glTexEnvi, _gloffset_TexEnvi) - GL_STUB(glTexEnviv, _gloffset_TexEnviv) - GL_STUB(glTexGend, _gloffset_TexGend) - GL_STUB(glTexGendv, _gloffset_TexGendv) - GL_STUB(glTexGenf, _gloffset_TexGenf) - GL_STUB(glTexGenfv, _gloffset_TexGenfv) - GL_STUB(glTexGeni, _gloffset_TexGeni) - GL_STUB(glTexGeniv, _gloffset_TexGeniv) - GL_STUB(glFeedbackBuffer, _gloffset_FeedbackBuffer) - GL_STUB(glSelectBuffer, _gloffset_SelectBuffer) - GL_STUB(glRenderMode, _gloffset_RenderMode) - GL_STUB(glInitNames, _gloffset_InitNames) - GL_STUB(glLoadName, _gloffset_LoadName) - GL_STUB(glPassThrough, _gloffset_PassThrough) - GL_STUB(glPopName, _gloffset_PopName) - GL_STUB(glPushName, _gloffset_PushName) - GL_STUB(glDrawBuffer, _gloffset_DrawBuffer) - GL_STUB(glClear, _gloffset_Clear) - GL_STUB(glClearAccum, _gloffset_ClearAccum) - GL_STUB(glClearIndex, _gloffset_ClearIndex) - GL_STUB(glClearColor, _gloffset_ClearColor) - GL_STUB(glClearStencil, _gloffset_ClearStencil) - GL_STUB(glClearDepth, _gloffset_ClearDepth) - GL_STUB(glStencilMask, _gloffset_StencilMask) - GL_STUB(glColorMask, _gloffset_ColorMask) - GL_STUB(glDepthMask, _gloffset_DepthMask) - GL_STUB(glIndexMask, _gloffset_IndexMask) - GL_STUB(glAccum, _gloffset_Accum) - GL_STUB(glDisable, _gloffset_Disable) - GL_STUB(glEnable, _gloffset_Enable) - GL_STUB(glFinish, _gloffset_Finish) - GL_STUB(glFlush, _gloffset_Flush) - GL_STUB(glPopAttrib, _gloffset_PopAttrib) - GL_STUB(glPushAttrib, _gloffset_PushAttrib) - GL_STUB(glMap1d, _gloffset_Map1d) - GL_STUB(glMap1f, _gloffset_Map1f) - GL_STUB(glMap2d, _gloffset_Map2d) - GL_STUB(glMap2f, _gloffset_Map2f) - GL_STUB(glMapGrid1d, _gloffset_MapGrid1d) - GL_STUB(glMapGrid1f, _gloffset_MapGrid1f) - GL_STUB(glMapGrid2d, _gloffset_MapGrid2d) - GL_STUB(glMapGrid2f, _gloffset_MapGrid2f) - GL_STUB(glEvalCoord1d, _gloffset_EvalCoord1d) - GL_STUB(glEvalCoord1dv, _gloffset_EvalCoord1dv) - GL_STUB(glEvalCoord1f, _gloffset_EvalCoord1f) - GL_STUB(glEvalCoord1fv, _gloffset_EvalCoord1fv) - GL_STUB(glEvalCoord2d, _gloffset_EvalCoord2d) - GL_STUB(glEvalCoord2dv, _gloffset_EvalCoord2dv) - GL_STUB(glEvalCoord2f, _gloffset_EvalCoord2f) - GL_STUB(glEvalCoord2fv, _gloffset_EvalCoord2fv) - GL_STUB(glEvalMesh1, _gloffset_EvalMesh1) - GL_STUB(glEvalPoint1, _gloffset_EvalPoint1) - GL_STUB(glEvalMesh2, _gloffset_EvalMesh2) - GL_STUB(glEvalPoint2, _gloffset_EvalPoint2) - GL_STUB(glAlphaFunc, _gloffset_AlphaFunc) - GL_STUB(glBlendFunc, _gloffset_BlendFunc) - GL_STUB(glLogicOp, _gloffset_LogicOp) - GL_STUB(glStencilFunc, _gloffset_StencilFunc) - GL_STUB(glStencilOp, _gloffset_StencilOp) - GL_STUB(glDepthFunc, _gloffset_DepthFunc) - GL_STUB(glPixelZoom, _gloffset_PixelZoom) - GL_STUB(glPixelTransferf, _gloffset_PixelTransferf) - GL_STUB(glPixelTransferi, _gloffset_PixelTransferi) - GL_STUB(glPixelStoref, _gloffset_PixelStoref) - GL_STUB(glPixelStorei, _gloffset_PixelStorei) - GL_STUB(glPixelMapfv, _gloffset_PixelMapfv) - GL_STUB(glPixelMapuiv, _gloffset_PixelMapuiv) - GL_STUB(glPixelMapusv, _gloffset_PixelMapusv) - GL_STUB(glReadBuffer, _gloffset_ReadBuffer) - GL_STUB(glCopyPixels, _gloffset_CopyPixels) - GL_STUB(glReadPixels, _gloffset_ReadPixels) - GL_STUB(glDrawPixels, _gloffset_DrawPixels) - GL_STUB(glGetBooleanv, _gloffset_GetBooleanv) - GL_STUB(glGetClipPlane, _gloffset_GetClipPlane) - GL_STUB(glGetDoublev, _gloffset_GetDoublev) - GL_STUB(glGetError, _gloffset_GetError) - GL_STUB(glGetFloatv, _gloffset_GetFloatv) - GL_STUB(glGetIntegerv, _gloffset_GetIntegerv) - GL_STUB(glGetLightfv, _gloffset_GetLightfv) - GL_STUB(glGetLightiv, _gloffset_GetLightiv) - GL_STUB(glGetMapdv, _gloffset_GetMapdv) - GL_STUB(glGetMapfv, _gloffset_GetMapfv) - GL_STUB(glGetMapiv, _gloffset_GetMapiv) - GL_STUB(glGetMaterialfv, _gloffset_GetMaterialfv) - GL_STUB(glGetMaterialiv, _gloffset_GetMaterialiv) - GL_STUB(glGetPixelMapfv, _gloffset_GetPixelMapfv) - GL_STUB(glGetPixelMapuiv, _gloffset_GetPixelMapuiv) - GL_STUB(glGetPixelMapusv, _gloffset_GetPixelMapusv) - GL_STUB(glGetPolygonStipple, _gloffset_GetPolygonStipple) - GL_STUB(glGetString, _gloffset_GetString) - GL_STUB(glGetTexEnvfv, _gloffset_GetTexEnvfv) - GL_STUB(glGetTexEnviv, _gloffset_GetTexEnviv) - GL_STUB(glGetTexGendv, _gloffset_GetTexGendv) - GL_STUB(glGetTexGenfv, _gloffset_GetTexGenfv) - GL_STUB(glGetTexGeniv, _gloffset_GetTexGeniv) - GL_STUB(glGetTexImage, _gloffset_GetTexImage) - GL_STUB(glGetTexParameterfv, _gloffset_GetTexParameterfv) - GL_STUB(glGetTexParameteriv, _gloffset_GetTexParameteriv) - GL_STUB(glGetTexLevelParameterfv, _gloffset_GetTexLevelParameterfv) - GL_STUB(glGetTexLevelParameteriv, _gloffset_GetTexLevelParameteriv) - GL_STUB(glIsEnabled, _gloffset_IsEnabled) - GL_STUB(glIsList, _gloffset_IsList) - GL_STUB(glDepthRange, _gloffset_DepthRange) - GL_STUB(glFrustum, _gloffset_Frustum) - GL_STUB(glLoadIdentity, _gloffset_LoadIdentity) - GL_STUB(glLoadMatrixf, _gloffset_LoadMatrixf) - GL_STUB(glLoadMatrixd, _gloffset_LoadMatrixd) - GL_STUB(glMatrixMode, _gloffset_MatrixMode) - GL_STUB(glMultMatrixf, _gloffset_MultMatrixf) - GL_STUB(glMultMatrixd, _gloffset_MultMatrixd) - GL_STUB(glOrtho, _gloffset_Ortho) - GL_STUB(glPopMatrix, _gloffset_PopMatrix) - GL_STUB(glPushMatrix, _gloffset_PushMatrix) - GL_STUB(glRotated, _gloffset_Rotated) - GL_STUB(glRotatef, _gloffset_Rotatef) - GL_STUB(glScaled, _gloffset_Scaled) - GL_STUB(glScalef, _gloffset_Scalef) - GL_STUB(glTranslated, _gloffset_Translated) - GL_STUB(glTranslatef, _gloffset_Translatef) - GL_STUB(glViewport, _gloffset_Viewport) - GL_STUB(glArrayElement, _gloffset_ArrayElement) - GL_STUB(glBindTexture, _gloffset_BindTexture) - GL_STUB(glColorPointer, _gloffset_ColorPointer) - GL_STUB(glDisableClientState, _gloffset_DisableClientState) - GL_STUB(glDrawArrays, _gloffset_DrawArrays) - GL_STUB(glDrawElements, _gloffset_DrawElements) - GL_STUB(glEdgeFlagPointer, _gloffset_EdgeFlagPointer) - GL_STUB(glEnableClientState, _gloffset_EnableClientState) - GL_STUB(glIndexPointer, _gloffset_IndexPointer) - GL_STUB(glIndexub, _gloffset_Indexub) - GL_STUB(glIndexubv, _gloffset_Indexubv) - GL_STUB(glInterleavedArrays, _gloffset_InterleavedArrays) - GL_STUB(glNormalPointer, _gloffset_NormalPointer) - GL_STUB(glPolygonOffset, _gloffset_PolygonOffset) - GL_STUB(glTexCoordPointer, _gloffset_TexCoordPointer) - GL_STUB(glVertexPointer, _gloffset_VertexPointer) - GL_STUB(glAreTexturesResident, _gloffset_AreTexturesResident) - GL_STUB(glCopyTexImage1D, _gloffset_CopyTexImage1D) - GL_STUB(glCopyTexImage2D, _gloffset_CopyTexImage2D) - GL_STUB(glCopyTexSubImage1D, _gloffset_CopyTexSubImage1D) - GL_STUB(glCopyTexSubImage2D, _gloffset_CopyTexSubImage2D) - GL_STUB(glDeleteTextures, _gloffset_DeleteTextures) - GL_STUB(glGenTextures, _gloffset_GenTextures) - GL_STUB(glGetPointerv, _gloffset_GetPointerv) - GL_STUB(glIsTexture, _gloffset_IsTexture) - GL_STUB(glPrioritizeTextures, _gloffset_PrioritizeTextures) - GL_STUB(glTexSubImage1D, _gloffset_TexSubImage1D) - GL_STUB(glTexSubImage2D, _gloffset_TexSubImage2D) - GL_STUB(glPopClientAttrib, _gloffset_PopClientAttrib) - GL_STUB(glPushClientAttrib, _gloffset_PushClientAttrib) - GL_STUB(glBlendColor, _gloffset_BlendColor) - GL_STUB(glBlendEquation, _gloffset_BlendEquation) - GL_STUB(glDrawRangeElements, _gloffset_DrawRangeElements) - GL_STUB(glColorTable, _gloffset_ColorTable) - GL_STUB(glColorTableParameterfv, _gloffset_ColorTableParameterfv) - GL_STUB(glColorTableParameteriv, _gloffset_ColorTableParameteriv) - GL_STUB(glCopyColorTable, _gloffset_CopyColorTable) - GL_STUB(glGetColorTable, _gloffset_GetColorTable) - GL_STUB(glGetColorTableParameterfv, _gloffset_GetColorTableParameterfv) - GL_STUB(glGetColorTableParameteriv, _gloffset_GetColorTableParameteriv) - GL_STUB(glColorSubTable, _gloffset_ColorSubTable) - GL_STUB(glCopyColorSubTable, _gloffset_CopyColorSubTable) - GL_STUB(glConvolutionFilter1D, _gloffset_ConvolutionFilter1D) - GL_STUB(glConvolutionFilter2D, _gloffset_ConvolutionFilter2D) - GL_STUB(glConvolutionParameterf, _gloffset_ConvolutionParameterf) - GL_STUB(glConvolutionParameterfv, _gloffset_ConvolutionParameterfv) - GL_STUB(glConvolutionParameteri, _gloffset_ConvolutionParameteri) - GL_STUB(glConvolutionParameteriv, _gloffset_ConvolutionParameteriv) - GL_STUB(glCopyConvolutionFilter1D, _gloffset_CopyConvolutionFilter1D) - GL_STUB(glCopyConvolutionFilter2D, _gloffset_CopyConvolutionFilter2D) - GL_STUB(glGetConvolutionFilter, _gloffset_GetConvolutionFilter) - GL_STUB(glGetConvolutionParameterfv, _gloffset_GetConvolutionParameterfv) - GL_STUB(glGetConvolutionParameteriv, _gloffset_GetConvolutionParameteriv) - GL_STUB(glGetSeparableFilter, _gloffset_GetSeparableFilter) - GL_STUB(glSeparableFilter2D, _gloffset_SeparableFilter2D) - GL_STUB(glGetHistogram, _gloffset_GetHistogram) - GL_STUB(glGetHistogramParameterfv, _gloffset_GetHistogramParameterfv) - GL_STUB(glGetHistogramParameteriv, _gloffset_GetHistogramParameteriv) - GL_STUB(glGetMinmax, _gloffset_GetMinmax) - GL_STUB(glGetMinmaxParameterfv, _gloffset_GetMinmaxParameterfv) - GL_STUB(glGetMinmaxParameteriv, _gloffset_GetMinmaxParameteriv) - GL_STUB(glHistogram, _gloffset_Histogram) - GL_STUB(glMinmax, _gloffset_Minmax) - GL_STUB(glResetHistogram, _gloffset_ResetHistogram) - GL_STUB(glResetMinmax, _gloffset_ResetMinmax) - GL_STUB(glTexImage3D, _gloffset_TexImage3D) - GL_STUB(glTexSubImage3D, _gloffset_TexSubImage3D) - GL_STUB(glCopyTexSubImage3D, _gloffset_CopyTexSubImage3D) - GL_STUB(glActiveTextureARB, _gloffset_ActiveTextureARB) - GL_STUB(glClientActiveTextureARB, _gloffset_ClientActiveTextureARB) - GL_STUB(glMultiTexCoord1dARB, _gloffset_MultiTexCoord1dARB) - GL_STUB(glMultiTexCoord1dvARB, _gloffset_MultiTexCoord1dvARB) - GL_STUB(glMultiTexCoord1fARB, _gloffset_MultiTexCoord1fARB) - GL_STUB(glMultiTexCoord1fvARB, _gloffset_MultiTexCoord1fvARB) - GL_STUB(glMultiTexCoord1iARB, _gloffset_MultiTexCoord1iARB) - GL_STUB(glMultiTexCoord1ivARB, _gloffset_MultiTexCoord1ivARB) - GL_STUB(glMultiTexCoord1sARB, _gloffset_MultiTexCoord1sARB) - GL_STUB(glMultiTexCoord1svARB, _gloffset_MultiTexCoord1svARB) - GL_STUB(glMultiTexCoord2dARB, _gloffset_MultiTexCoord2dARB) - GL_STUB(glMultiTexCoord2dvARB, _gloffset_MultiTexCoord2dvARB) - GL_STUB(glMultiTexCoord2fARB, _gloffset_MultiTexCoord2fARB) - GL_STUB(glMultiTexCoord2fvARB, _gloffset_MultiTexCoord2fvARB) - GL_STUB(glMultiTexCoord2iARB, _gloffset_MultiTexCoord2iARB) - GL_STUB(glMultiTexCoord2ivARB, _gloffset_MultiTexCoord2ivARB) - GL_STUB(glMultiTexCoord2sARB, _gloffset_MultiTexCoord2sARB) - GL_STUB(glMultiTexCoord2svARB, _gloffset_MultiTexCoord2svARB) - GL_STUB(glMultiTexCoord3dARB, _gloffset_MultiTexCoord3dARB) - GL_STUB(glMultiTexCoord3dvARB, _gloffset_MultiTexCoord3dvARB) - GL_STUB(glMultiTexCoord3fARB, _gloffset_MultiTexCoord3fARB) - GL_STUB(glMultiTexCoord3fvARB, _gloffset_MultiTexCoord3fvARB) - GL_STUB(glMultiTexCoord3iARB, _gloffset_MultiTexCoord3iARB) - GL_STUB(glMultiTexCoord3ivARB, _gloffset_MultiTexCoord3ivARB) - GL_STUB(glMultiTexCoord3sARB, _gloffset_MultiTexCoord3sARB) - GL_STUB(glMultiTexCoord3svARB, _gloffset_MultiTexCoord3svARB) - GL_STUB(glMultiTexCoord4dARB, _gloffset_MultiTexCoord4dARB) - GL_STUB(glMultiTexCoord4dvARB, _gloffset_MultiTexCoord4dvARB) - GL_STUB(glMultiTexCoord4fARB, _gloffset_MultiTexCoord4fARB) - GL_STUB(glMultiTexCoord4fvARB, _gloffset_MultiTexCoord4fvARB) - GL_STUB(glMultiTexCoord4iARB, _gloffset_MultiTexCoord4iARB) - 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(glDrawArraysInstanced, _gloffset_DrawArraysInstanced) - GL_STUB(glDrawElementsInstanced, _gloffset_DrawElementsInstanced) - GL_STUB(glLoadTransposeMatrixdARB, _gloffset_LoadTransposeMatrixdARB) - GL_STUB(glLoadTransposeMatrixfARB, _gloffset_LoadTransposeMatrixfARB) - GL_STUB(glMultTransposeMatrixdARB, _gloffset_MultTransposeMatrixdARB) - GL_STUB(glMultTransposeMatrixfARB, _gloffset_MultTransposeMatrixfARB) - GL_STUB(glSampleCoverageARB, _gloffset_SampleCoverageARB) - GL_STUB(glCompressedTexImage1DARB, _gloffset_CompressedTexImage1DARB) - GL_STUB(glCompressedTexImage2DARB, _gloffset_CompressedTexImage2DARB) - GL_STUB(glCompressedTexImage3DARB, _gloffset_CompressedTexImage3DARB) - GL_STUB(glCompressedTexSubImage1DARB, _gloffset_CompressedTexSubImage1DARB) - GL_STUB(glCompressedTexSubImage2DARB, _gloffset_CompressedTexSubImage2DARB) - GL_STUB(glCompressedTexSubImage3DARB, _gloffset_CompressedTexSubImage3DARB) - GL_STUB(glGetCompressedTexImageARB, _gloffset_GetCompressedTexImageARB) - GL_STUB(glDisableVertexAttribArrayARB, _gloffset_DisableVertexAttribArrayARB) - GL_STUB(glEnableVertexAttribArrayARB, _gloffset_EnableVertexAttribArrayARB) - GL_STUB(glGetProgramEnvParameterdvARB, _gloffset_GetProgramEnvParameterdvARB) - GL_STUB(glGetProgramEnvParameterfvARB, _gloffset_GetProgramEnvParameterfvARB) - GL_STUB(glGetProgramLocalParameterdvARB, _gloffset_GetProgramLocalParameterdvARB) - GL_STUB(glGetProgramLocalParameterfvARB, _gloffset_GetProgramLocalParameterfvARB) - GL_STUB(glGetProgramStringARB, _gloffset_GetProgramStringARB) - GL_STUB(glGetProgramivARB, _gloffset_GetProgramivARB) - GL_STUB(glGetVertexAttribdvARB, _gloffset_GetVertexAttribdvARB) - GL_STUB(glGetVertexAttribfvARB, _gloffset_GetVertexAttribfvARB) - GL_STUB(glGetVertexAttribivARB, _gloffset_GetVertexAttribivARB) - GL_STUB(glProgramEnvParameter4dARB, _gloffset_ProgramEnvParameter4dARB) - GL_STUB(glProgramEnvParameter4dvARB, _gloffset_ProgramEnvParameter4dvARB) - GL_STUB(glProgramEnvParameter4fARB, _gloffset_ProgramEnvParameter4fARB) - GL_STUB(glProgramEnvParameter4fvARB, _gloffset_ProgramEnvParameter4fvARB) - GL_STUB(glProgramLocalParameter4dARB, _gloffset_ProgramLocalParameter4dARB) - GL_STUB(glProgramLocalParameter4dvARB, _gloffset_ProgramLocalParameter4dvARB) - GL_STUB(glProgramLocalParameter4fARB, _gloffset_ProgramLocalParameter4fARB) - GL_STUB(glProgramLocalParameter4fvARB, _gloffset_ProgramLocalParameter4fvARB) - GL_STUB(glProgramStringARB, _gloffset_ProgramStringARB) - GL_STUB(glVertexAttrib1dARB, _gloffset_VertexAttrib1dARB) - GL_STUB(glVertexAttrib1dvARB, _gloffset_VertexAttrib1dvARB) - GL_STUB(glVertexAttrib1fARB, _gloffset_VertexAttrib1fARB) - GL_STUB(glVertexAttrib1fvARB, _gloffset_VertexAttrib1fvARB) - GL_STUB(glVertexAttrib1sARB, _gloffset_VertexAttrib1sARB) - GL_STUB(glVertexAttrib1svARB, _gloffset_VertexAttrib1svARB) - GL_STUB(glVertexAttrib2dARB, _gloffset_VertexAttrib2dARB) - GL_STUB(glVertexAttrib2dvARB, _gloffset_VertexAttrib2dvARB) - GL_STUB(glVertexAttrib2fARB, _gloffset_VertexAttrib2fARB) - GL_STUB(glVertexAttrib2fvARB, _gloffset_VertexAttrib2fvARB) - GL_STUB(glVertexAttrib2sARB, _gloffset_VertexAttrib2sARB) - GL_STUB(glVertexAttrib2svARB, _gloffset_VertexAttrib2svARB) - GL_STUB(glVertexAttrib3dARB, _gloffset_VertexAttrib3dARB) - GL_STUB(glVertexAttrib3dvARB, _gloffset_VertexAttrib3dvARB) - GL_STUB(glVertexAttrib3fARB, _gloffset_VertexAttrib3fARB) - GL_STUB(glVertexAttrib3fvARB, _gloffset_VertexAttrib3fvARB) - GL_STUB(glVertexAttrib3sARB, _gloffset_VertexAttrib3sARB) - GL_STUB(glVertexAttrib3svARB, _gloffset_VertexAttrib3svARB) - GL_STUB(glVertexAttrib4NbvARB, _gloffset_VertexAttrib4NbvARB) - GL_STUB(glVertexAttrib4NivARB, _gloffset_VertexAttrib4NivARB) - GL_STUB(glVertexAttrib4NsvARB, _gloffset_VertexAttrib4NsvARB) - GL_STUB(glVertexAttrib4NubARB, _gloffset_VertexAttrib4NubARB) - GL_STUB(glVertexAttrib4NubvARB, _gloffset_VertexAttrib4NubvARB) - GL_STUB(glVertexAttrib4NuivARB, _gloffset_VertexAttrib4NuivARB) - GL_STUB(glVertexAttrib4NusvARB, _gloffset_VertexAttrib4NusvARB) - GL_STUB(glVertexAttrib4bvARB, _gloffset_VertexAttrib4bvARB) - GL_STUB(glVertexAttrib4dARB, _gloffset_VertexAttrib4dARB) - GL_STUB(glVertexAttrib4dvARB, _gloffset_VertexAttrib4dvARB) - GL_STUB(glVertexAttrib4fARB, _gloffset_VertexAttrib4fARB) - GL_STUB(glVertexAttrib4fvARB, _gloffset_VertexAttrib4fvARB) - GL_STUB(glVertexAttrib4ivARB, _gloffset_VertexAttrib4ivARB) - GL_STUB(glVertexAttrib4sARB, _gloffset_VertexAttrib4sARB) - GL_STUB(glVertexAttrib4svARB, _gloffset_VertexAttrib4svARB) - GL_STUB(glVertexAttrib4ubvARB, _gloffset_VertexAttrib4ubvARB) - GL_STUB(glVertexAttrib4uivARB, _gloffset_VertexAttrib4uivARB) - GL_STUB(glVertexAttrib4usvARB, _gloffset_VertexAttrib4usvARB) - GL_STUB(glVertexAttribPointerARB, _gloffset_VertexAttribPointerARB) - GL_STUB(glBindBufferARB, _gloffset_BindBufferARB) - GL_STUB(glBufferDataARB, _gloffset_BufferDataARB) - GL_STUB(glBufferSubDataARB, _gloffset_BufferSubDataARB) - GL_STUB(glDeleteBuffersARB, _gloffset_DeleteBuffersARB) - GL_STUB(glGenBuffersARB, _gloffset_GenBuffersARB) - GL_STUB(glGetBufferParameterivARB, _gloffset_GetBufferParameterivARB) - GL_STUB(glGetBufferPointervARB, _gloffset_GetBufferPointervARB) - GL_STUB(glGetBufferSubDataARB, _gloffset_GetBufferSubDataARB) - GL_STUB(glIsBufferARB, _gloffset_IsBufferARB) - GL_STUB(glMapBufferARB, _gloffset_MapBufferARB) - GL_STUB(glUnmapBufferARB, _gloffset_UnmapBufferARB) - GL_STUB(glBeginQueryARB, _gloffset_BeginQueryARB) - GL_STUB(glDeleteQueriesARB, _gloffset_DeleteQueriesARB) - GL_STUB(glEndQueryARB, _gloffset_EndQueryARB) - GL_STUB(glGenQueriesARB, _gloffset_GenQueriesARB) - GL_STUB(glGetQueryObjectivARB, _gloffset_GetQueryObjectivARB) - GL_STUB(glGetQueryObjectuivARB, _gloffset_GetQueryObjectuivARB) - GL_STUB(glGetQueryivARB, _gloffset_GetQueryivARB) - GL_STUB(glIsQueryARB, _gloffset_IsQueryARB) - GL_STUB(glAttachObjectARB, _gloffset_AttachObjectARB) - GL_STUB(glCompileShaderARB, _gloffset_CompileShaderARB) - GL_STUB(glCreateProgramObjectARB, _gloffset_CreateProgramObjectARB) - GL_STUB(glCreateShaderObjectARB, _gloffset_CreateShaderObjectARB) - GL_STUB(glDeleteObjectARB, _gloffset_DeleteObjectARB) - GL_STUB(glDetachObjectARB, _gloffset_DetachObjectARB) - GL_STUB(glGetActiveUniformARB, _gloffset_GetActiveUniformARB) - GL_STUB(glGetAttachedObjectsARB, _gloffset_GetAttachedObjectsARB) - GL_STUB(glGetHandleARB, _gloffset_GetHandleARB) - GL_STUB(glGetInfoLogARB, _gloffset_GetInfoLogARB) - GL_STUB(glGetObjectParameterfvARB, _gloffset_GetObjectParameterfvARB) - GL_STUB(glGetObjectParameterivARB, _gloffset_GetObjectParameterivARB) - GL_STUB(glGetShaderSourceARB, _gloffset_GetShaderSourceARB) - GL_STUB(glGetUniformLocationARB, _gloffset_GetUniformLocationARB) - GL_STUB(glGetUniformfvARB, _gloffset_GetUniformfvARB) - GL_STUB(glGetUniformivARB, _gloffset_GetUniformivARB) - GL_STUB(glLinkProgramARB, _gloffset_LinkProgramARB) - GL_STUB(glShaderSourceARB, _gloffset_ShaderSourceARB) - GL_STUB(glUniform1fARB, _gloffset_Uniform1fARB) - GL_STUB(glUniform1fvARB, _gloffset_Uniform1fvARB) - GL_STUB(glUniform1iARB, _gloffset_Uniform1iARB) - GL_STUB(glUniform1ivARB, _gloffset_Uniform1ivARB) - GL_STUB(glUniform2fARB, _gloffset_Uniform2fARB) - GL_STUB(glUniform2fvARB, _gloffset_Uniform2fvARB) - GL_STUB(glUniform2iARB, _gloffset_Uniform2iARB) - GL_STUB(glUniform2ivARB, _gloffset_Uniform2ivARB) - GL_STUB(glUniform3fARB, _gloffset_Uniform3fARB) - GL_STUB(glUniform3fvARB, _gloffset_Uniform3fvARB) - GL_STUB(glUniform3iARB, _gloffset_Uniform3iARB) - GL_STUB(glUniform3ivARB, _gloffset_Uniform3ivARB) - GL_STUB(glUniform4fARB, _gloffset_Uniform4fARB) - GL_STUB(glUniform4fvARB, _gloffset_Uniform4fvARB) - GL_STUB(glUniform4iARB, _gloffset_Uniform4iARB) - GL_STUB(glUniform4ivARB, _gloffset_Uniform4ivARB) - GL_STUB(glUniformMatrix2fvARB, _gloffset_UniformMatrix2fvARB) - GL_STUB(glUniformMatrix3fvARB, _gloffset_UniformMatrix3fvARB) - GL_STUB(glUniformMatrix4fvARB, _gloffset_UniformMatrix4fvARB) - GL_STUB(glUseProgramObjectARB, _gloffset_UseProgramObjectARB) - GL_STUB(glValidateProgramARB, _gloffset_ValidateProgramARB) - GL_STUB(glBindAttribLocationARB, _gloffset_BindAttribLocationARB) - GL_STUB(glGetActiveAttribARB, _gloffset_GetActiveAttribARB) - GL_STUB(glGetAttribLocationARB, _gloffset_GetAttribLocationARB) - GL_STUB(glDrawBuffersARB, _gloffset_DrawBuffersARB) - GL_STUB(glRenderbufferStorageMultisample, _gloffset_RenderbufferStorageMultisample) - GL_STUB(glFramebufferTextureARB, _gloffset_FramebufferTextureARB) - GL_STUB(glFramebufferTextureFaceARB, _gloffset_FramebufferTextureFaceARB) - GL_STUB(glProgramParameteriARB, _gloffset_ProgramParameteriARB) - GL_STUB(glFlushMappedBufferRange, _gloffset_FlushMappedBufferRange) - GL_STUB(glMapBufferRange, _gloffset_MapBufferRange) - GL_STUB(glBindVertexArray, _gloffset_BindVertexArray) - GL_STUB(glGenVertexArrays, _gloffset_GenVertexArrays) - GL_STUB(glCopyBufferSubData, _gloffset_CopyBufferSubData) - GL_STUB(glClientWaitSync, _gloffset_ClientWaitSync) - GL_STUB(glDeleteSync, _gloffset_DeleteSync) - GL_STUB(glFenceSync, _gloffset_FenceSync) - GL_STUB(glGetInteger64v, _gloffset_GetInteger64v) - GL_STUB(glGetSynciv, _gloffset_GetSynciv) - GL_STUB(glIsSync, _gloffset_IsSync) - GL_STUB(glWaitSync, _gloffset_WaitSync) - GL_STUB(glDrawElementsBaseVertex, _gloffset_DrawElementsBaseVertex) - GL_STUB(glDrawRangeElementsBaseVertex, _gloffset_DrawRangeElementsBaseVertex) - GL_STUB(glMultiDrawElementsBaseVertex, _gloffset_MultiDrawElementsBaseVertex) - GL_STUB(glBindTransformFeedback, _gloffset_BindTransformFeedback) - GL_STUB(glDeleteTransformFeedbacks, _gloffset_DeleteTransformFeedbacks) - GL_STUB(glDrawTransformFeedback, _gloffset_DrawTransformFeedback) - GL_STUB(glGenTransformFeedbacks, _gloffset_GenTransformFeedbacks) - GL_STUB(glIsTransformFeedback, _gloffset_IsTransformFeedback) - GL_STUB(glPauseTransformFeedback, _gloffset_PauseTransformFeedback) - GL_STUB(glResumeTransformFeedback, _gloffset_ResumeTransformFeedback) - GL_STUB(glPolygonOffsetEXT, _gloffset_PolygonOffsetEXT) - GL_STUB(gl_dispatch_stub_590, _gloffset_GetPixelTexGenParameterfvSGIS) + GL_STUB(glNewList, 0) + GL_STUB(glEndList, 1) + GL_STUB(glCallList, 2) + GL_STUB(glCallLists, 3) + GL_STUB(glDeleteLists, 4) + GL_STUB(glGenLists, 5) + GL_STUB(glListBase, 6) + GL_STUB(glBegin, 7) + GL_STUB(glBitmap, 8) + GL_STUB(glColor3b, 9) + GL_STUB(glColor3bv, 10) + GL_STUB(glColor3d, 11) + GL_STUB(glColor3dv, 12) + GL_STUB(glColor3f, 13) + GL_STUB(glColor3fv, 14) + GL_STUB(glColor3i, 15) + GL_STUB(glColor3iv, 16) + GL_STUB(glColor3s, 17) + GL_STUB(glColor3sv, 18) + GL_STUB(glColor3ub, 19) + GL_STUB(glColor3ubv, 20) + GL_STUB(glColor3ui, 21) + GL_STUB(glColor3uiv, 22) + GL_STUB(glColor3us, 23) + GL_STUB(glColor3usv, 24) + GL_STUB(glColor4b, 25) + GL_STUB(glColor4bv, 26) + GL_STUB(glColor4d, 27) + GL_STUB(glColor4dv, 28) + GL_STUB(glColor4f, 29) + GL_STUB(glColor4fv, 30) + GL_STUB(glColor4i, 31) + GL_STUB(glColor4iv, 32) + GL_STUB(glColor4s, 33) + GL_STUB(glColor4sv, 34) + GL_STUB(glColor4ub, 35) + GL_STUB(glColor4ubv, 36) + GL_STUB(glColor4ui, 37) + GL_STUB(glColor4uiv, 38) + GL_STUB(glColor4us, 39) + GL_STUB(glColor4usv, 40) + GL_STUB(glEdgeFlag, 41) + GL_STUB(glEdgeFlagv, 42) + GL_STUB(glEnd, 43) + GL_STUB(glIndexd, 44) + GL_STUB(glIndexdv, 45) + GL_STUB(glIndexf, 46) + GL_STUB(glIndexfv, 47) + GL_STUB(glIndexi, 48) + GL_STUB(glIndexiv, 49) + GL_STUB(glIndexs, 50) + GL_STUB(glIndexsv, 51) + GL_STUB(glNormal3b, 52) + GL_STUB(glNormal3bv, 53) + GL_STUB(glNormal3d, 54) + GL_STUB(glNormal3dv, 55) + GL_STUB(glNormal3f, 56) + GL_STUB(glNormal3fv, 57) + GL_STUB(glNormal3i, 58) + GL_STUB(glNormal3iv, 59) + GL_STUB(glNormal3s, 60) + GL_STUB(glNormal3sv, 61) + GL_STUB(glRasterPos2d, 62) + GL_STUB(glRasterPos2dv, 63) + GL_STUB(glRasterPos2f, 64) + GL_STUB(glRasterPos2fv, 65) + GL_STUB(glRasterPos2i, 66) + GL_STUB(glRasterPos2iv, 67) + GL_STUB(glRasterPos2s, 68) + GL_STUB(glRasterPos2sv, 69) + GL_STUB(glRasterPos3d, 70) + GL_STUB(glRasterPos3dv, 71) + GL_STUB(glRasterPos3f, 72) + GL_STUB(glRasterPos3fv, 73) + GL_STUB(glRasterPos3i, 74) + GL_STUB(glRasterPos3iv, 75) + GL_STUB(glRasterPos3s, 76) + GL_STUB(glRasterPos3sv, 77) + GL_STUB(glRasterPos4d, 78) + GL_STUB(glRasterPos4dv, 79) + GL_STUB(glRasterPos4f, 80) + GL_STUB(glRasterPos4fv, 81) + GL_STUB(glRasterPos4i, 82) + GL_STUB(glRasterPos4iv, 83) + GL_STUB(glRasterPos4s, 84) + GL_STUB(glRasterPos4sv, 85) + GL_STUB(glRectd, 86) + GL_STUB(glRectdv, 87) + GL_STUB(glRectf, 88) + GL_STUB(glRectfv, 89) + GL_STUB(glRecti, 90) + GL_STUB(glRectiv, 91) + GL_STUB(glRects, 92) + GL_STUB(glRectsv, 93) + GL_STUB(glTexCoord1d, 94) + GL_STUB(glTexCoord1dv, 95) + GL_STUB(glTexCoord1f, 96) + GL_STUB(glTexCoord1fv, 97) + GL_STUB(glTexCoord1i, 98) + GL_STUB(glTexCoord1iv, 99) + GL_STUB(glTexCoord1s, 100) + GL_STUB(glTexCoord1sv, 101) + GL_STUB(glTexCoord2d, 102) + GL_STUB(glTexCoord2dv, 103) + GL_STUB(glTexCoord2f, 104) + GL_STUB(glTexCoord2fv, 105) + GL_STUB(glTexCoord2i, 106) + GL_STUB(glTexCoord2iv, 107) + GL_STUB(glTexCoord2s, 108) + GL_STUB(glTexCoord2sv, 109) + GL_STUB(glTexCoord3d, 110) + GL_STUB(glTexCoord3dv, 111) + GL_STUB(glTexCoord3f, 112) + GL_STUB(glTexCoord3fv, 113) + GL_STUB(glTexCoord3i, 114) + GL_STUB(glTexCoord3iv, 115) + GL_STUB(glTexCoord3s, 116) + GL_STUB(glTexCoord3sv, 117) + GL_STUB(glTexCoord4d, 118) + GL_STUB(glTexCoord4dv, 119) + GL_STUB(glTexCoord4f, 120) + GL_STUB(glTexCoord4fv, 121) + GL_STUB(glTexCoord4i, 122) + GL_STUB(glTexCoord4iv, 123) + GL_STUB(glTexCoord4s, 124) + GL_STUB(glTexCoord4sv, 125) + GL_STUB(glVertex2d, 126) + GL_STUB(glVertex2dv, 127) + GL_STUB(glVertex2f, 128) + GL_STUB(glVertex2fv, 129) + GL_STUB(glVertex2i, 130) + GL_STUB(glVertex2iv, 131) + GL_STUB(glVertex2s, 132) + GL_STUB(glVertex2sv, 133) + GL_STUB(glVertex3d, 134) + GL_STUB(glVertex3dv, 135) + GL_STUB(glVertex3f, 136) + GL_STUB(glVertex3fv, 137) + GL_STUB(glVertex3i, 138) + GL_STUB(glVertex3iv, 139) + GL_STUB(glVertex3s, 140) + GL_STUB(glVertex3sv, 141) + GL_STUB(glVertex4d, 142) + GL_STUB(glVertex4dv, 143) + GL_STUB(glVertex4f, 144) + GL_STUB(glVertex4fv, 145) + GL_STUB(glVertex4i, 146) + GL_STUB(glVertex4iv, 147) + GL_STUB(glVertex4s, 148) + GL_STUB(glVertex4sv, 149) + GL_STUB(glClipPlane, 150) + GL_STUB(glColorMaterial, 151) + GL_STUB(glCullFace, 152) + GL_STUB(glFogf, 153) + GL_STUB(glFogfv, 154) + GL_STUB(glFogi, 155) + GL_STUB(glFogiv, 156) + GL_STUB(glFrontFace, 157) + GL_STUB(glHint, 158) + GL_STUB(glLightf, 159) + GL_STUB(glLightfv, 160) + GL_STUB(glLighti, 161) + GL_STUB(glLightiv, 162) + GL_STUB(glLightModelf, 163) + GL_STUB(glLightModelfv, 164) + GL_STUB(glLightModeli, 165) + GL_STUB(glLightModeliv, 166) + GL_STUB(glLineStipple, 167) + GL_STUB(glLineWidth, 168) + GL_STUB(glMaterialf, 169) + GL_STUB(glMaterialfv, 170) + GL_STUB(glMateriali, 171) + GL_STUB(glMaterialiv, 172) + GL_STUB(glPointSize, 173) + GL_STUB(glPolygonMode, 174) + GL_STUB(glPolygonStipple, 175) + GL_STUB(glScissor, 176) + GL_STUB(glShadeModel, 177) + GL_STUB(glTexParameterf, 178) + GL_STUB(glTexParameterfv, 179) + GL_STUB(glTexParameteri, 180) + GL_STUB(glTexParameteriv, 181) + GL_STUB(glTexImage1D, 182) + GL_STUB(glTexImage2D, 183) + GL_STUB(glTexEnvf, 184) + GL_STUB(glTexEnvfv, 185) + GL_STUB(glTexEnvi, 186) + GL_STUB(glTexEnviv, 187) + GL_STUB(glTexGend, 188) + GL_STUB(glTexGendv, 189) + GL_STUB(glTexGenf, 190) + GL_STUB(glTexGenfv, 191) + GL_STUB(glTexGeni, 192) + GL_STUB(glTexGeniv, 193) + GL_STUB(glFeedbackBuffer, 194) + GL_STUB(glSelectBuffer, 195) + GL_STUB(glRenderMode, 196) + GL_STUB(glInitNames, 197) + GL_STUB(glLoadName, 198) + GL_STUB(glPassThrough, 199) + GL_STUB(glPopName, 200) + GL_STUB(glPushName, 201) + GL_STUB(glDrawBuffer, 202) + GL_STUB(glClear, 203) + GL_STUB(glClearAccum, 204) + GL_STUB(glClearIndex, 205) + GL_STUB(glClearColor, 206) + GL_STUB(glClearStencil, 207) + GL_STUB(glClearDepth, 208) + GL_STUB(glStencilMask, 209) + GL_STUB(glColorMask, 210) + GL_STUB(glDepthMask, 211) + GL_STUB(glIndexMask, 212) + GL_STUB(glAccum, 213) + GL_STUB(glDisable, 214) + GL_STUB(glEnable, 215) + GL_STUB(glFinish, 216) + GL_STUB(glFlush, 217) + GL_STUB(glPopAttrib, 218) + GL_STUB(glPushAttrib, 219) + GL_STUB(glMap1d, 220) + GL_STUB(glMap1f, 221) + GL_STUB(glMap2d, 222) + GL_STUB(glMap2f, 223) + GL_STUB(glMapGrid1d, 224) + GL_STUB(glMapGrid1f, 225) + GL_STUB(glMapGrid2d, 226) + GL_STUB(glMapGrid2f, 227) + GL_STUB(glEvalCoord1d, 228) + GL_STUB(glEvalCoord1dv, 229) + GL_STUB(glEvalCoord1f, 230) + GL_STUB(glEvalCoord1fv, 231) + GL_STUB(glEvalCoord2d, 232) + GL_STUB(glEvalCoord2dv, 233) + GL_STUB(glEvalCoord2f, 234) + GL_STUB(glEvalCoord2fv, 235) + GL_STUB(glEvalMesh1, 236) + GL_STUB(glEvalPoint1, 237) + GL_STUB(glEvalMesh2, 238) + GL_STUB(glEvalPoint2, 239) + GL_STUB(glAlphaFunc, 240) + GL_STUB(glBlendFunc, 241) + GL_STUB(glLogicOp, 242) + GL_STUB(glStencilFunc, 243) + GL_STUB(glStencilOp, 244) + GL_STUB(glDepthFunc, 245) + GL_STUB(glPixelZoom, 246) + GL_STUB(glPixelTransferf, 247) + GL_STUB(glPixelTransferi, 248) + GL_STUB(glPixelStoref, 249) + GL_STUB(glPixelStorei, 250) + GL_STUB(glPixelMapfv, 251) + GL_STUB(glPixelMapuiv, 252) + GL_STUB(glPixelMapusv, 253) + GL_STUB(glReadBuffer, 254) + GL_STUB(glCopyPixels, 255) + GL_STUB(glReadPixels, 256) + GL_STUB(glDrawPixels, 257) + GL_STUB(glGetBooleanv, 258) + GL_STUB(glGetClipPlane, 259) + GL_STUB(glGetDoublev, 260) + GL_STUB(glGetError, 261) + GL_STUB(glGetFloatv, 262) + GL_STUB(glGetIntegerv, 263) + GL_STUB(glGetLightfv, 264) + GL_STUB(glGetLightiv, 265) + GL_STUB(glGetMapdv, 266) + GL_STUB(glGetMapfv, 267) + GL_STUB(glGetMapiv, 268) + GL_STUB(glGetMaterialfv, 269) + GL_STUB(glGetMaterialiv, 270) + GL_STUB(glGetPixelMapfv, 271) + GL_STUB(glGetPixelMapuiv, 272) + GL_STUB(glGetPixelMapusv, 273) + GL_STUB(glGetPolygonStipple, 274) + GL_STUB(glGetString, 275) + GL_STUB(glGetTexEnvfv, 276) + GL_STUB(glGetTexEnviv, 277) + GL_STUB(glGetTexGendv, 278) + GL_STUB(glGetTexGenfv, 279) + GL_STUB(glGetTexGeniv, 280) + GL_STUB(glGetTexImage, 281) + GL_STUB(glGetTexParameterfv, 282) + GL_STUB(glGetTexParameteriv, 283) + GL_STUB(glGetTexLevelParameterfv, 284) + GL_STUB(glGetTexLevelParameteriv, 285) + GL_STUB(glIsEnabled, 286) + GL_STUB(glIsList, 287) + GL_STUB(glDepthRange, 288) + GL_STUB(glFrustum, 289) + GL_STUB(glLoadIdentity, 290) + GL_STUB(glLoadMatrixf, 291) + GL_STUB(glLoadMatrixd, 292) + GL_STUB(glMatrixMode, 293) + GL_STUB(glMultMatrixf, 294) + GL_STUB(glMultMatrixd, 295) + GL_STUB(glOrtho, 296) + GL_STUB(glPopMatrix, 297) + GL_STUB(glPushMatrix, 298) + GL_STUB(glRotated, 299) + GL_STUB(glRotatef, 300) + GL_STUB(glScaled, 301) + GL_STUB(glScalef, 302) + GL_STUB(glTranslated, 303) + GL_STUB(glTranslatef, 304) + GL_STUB(glViewport, 305) + GL_STUB(glArrayElement, 306) + GL_STUB(glBindTexture, 307) + GL_STUB(glColorPointer, 308) + GL_STUB(glDisableClientState, 309) + GL_STUB(glDrawArrays, 310) + GL_STUB(glDrawElements, 311) + GL_STUB(glEdgeFlagPointer, 312) + GL_STUB(glEnableClientState, 313) + GL_STUB(glIndexPointer, 314) + GL_STUB(glIndexub, 315) + GL_STUB(glIndexubv, 316) + GL_STUB(glInterleavedArrays, 317) + GL_STUB(glNormalPointer, 318) + GL_STUB(glPolygonOffset, 319) + GL_STUB(glTexCoordPointer, 320) + GL_STUB(glVertexPointer, 321) + GL_STUB(glAreTexturesResident, 322) + GL_STUB(glCopyTexImage1D, 323) + GL_STUB(glCopyTexImage2D, 324) + GL_STUB(glCopyTexSubImage1D, 325) + GL_STUB(glCopyTexSubImage2D, 326) + GL_STUB(glDeleteTextures, 327) + GL_STUB(glGenTextures, 328) + GL_STUB(glGetPointerv, 329) + GL_STUB(glIsTexture, 330) + GL_STUB(glPrioritizeTextures, 331) + GL_STUB(glTexSubImage1D, 332) + GL_STUB(glTexSubImage2D, 333) + GL_STUB(glPopClientAttrib, 334) + GL_STUB(glPushClientAttrib, 335) + GL_STUB(glBlendColor, 336) + GL_STUB(glBlendEquation, 337) + GL_STUB(glDrawRangeElements, 338) + GL_STUB(glColorTable, 339) + GL_STUB(glColorTableParameterfv, 340) + GL_STUB(glColorTableParameteriv, 341) + GL_STUB(glCopyColorTable, 342) + GL_STUB(glGetColorTable, 343) + GL_STUB(glGetColorTableParameterfv, 344) + GL_STUB(glGetColorTableParameteriv, 345) + GL_STUB(glColorSubTable, 346) + GL_STUB(glCopyColorSubTable, 347) + GL_STUB(glConvolutionFilter1D, 348) + GL_STUB(glConvolutionFilter2D, 349) + GL_STUB(glConvolutionParameterf, 350) + GL_STUB(glConvolutionParameterfv, 351) + GL_STUB(glConvolutionParameteri, 352) + GL_STUB(glConvolutionParameteriv, 353) + GL_STUB(glCopyConvolutionFilter1D, 354) + GL_STUB(glCopyConvolutionFilter2D, 355) + GL_STUB(glGetConvolutionFilter, 356) + GL_STUB(glGetConvolutionParameterfv, 357) + GL_STUB(glGetConvolutionParameteriv, 358) + GL_STUB(glGetSeparableFilter, 359) + GL_STUB(glSeparableFilter2D, 360) + GL_STUB(glGetHistogram, 361) + GL_STUB(glGetHistogramParameterfv, 362) + GL_STUB(glGetHistogramParameteriv, 363) + GL_STUB(glGetMinmax, 364) + GL_STUB(glGetMinmaxParameterfv, 365) + GL_STUB(glGetMinmaxParameteriv, 366) + GL_STUB(glHistogram, 367) + GL_STUB(glMinmax, 368) + GL_STUB(glResetHistogram, 369) + GL_STUB(glResetMinmax, 370) + GL_STUB(glTexImage3D, 371) + GL_STUB(glTexSubImage3D, 372) + GL_STUB(glCopyTexSubImage3D, 373) + GL_STUB(glActiveTextureARB, 374) + GL_STUB(glClientActiveTextureARB, 375) + GL_STUB(glMultiTexCoord1dARB, 376) + GL_STUB(glMultiTexCoord1dvARB, 377) + GL_STUB(glMultiTexCoord1fARB, 378) + GL_STUB(glMultiTexCoord1fvARB, 379) + GL_STUB(glMultiTexCoord1iARB, 380) + GL_STUB(glMultiTexCoord1ivARB, 381) + GL_STUB(glMultiTexCoord1sARB, 382) + GL_STUB(glMultiTexCoord1svARB, 383) + GL_STUB(glMultiTexCoord2dARB, 384) + GL_STUB(glMultiTexCoord2dvARB, 385) + GL_STUB(glMultiTexCoord2fARB, 386) + GL_STUB(glMultiTexCoord2fvARB, 387) + GL_STUB(glMultiTexCoord2iARB, 388) + GL_STUB(glMultiTexCoord2ivARB, 389) + GL_STUB(glMultiTexCoord2sARB, 390) + GL_STUB(glMultiTexCoord2svARB, 391) + GL_STUB(glMultiTexCoord3dARB, 392) + GL_STUB(glMultiTexCoord3dvARB, 393) + GL_STUB(glMultiTexCoord3fARB, 394) + GL_STUB(glMultiTexCoord3fvARB, 395) + GL_STUB(glMultiTexCoord3iARB, 396) + GL_STUB(glMultiTexCoord3ivARB, 397) + GL_STUB(glMultiTexCoord3sARB, 398) + GL_STUB(glMultiTexCoord3svARB, 399) + GL_STUB(glMultiTexCoord4dARB, 400) + GL_STUB(glMultiTexCoord4dvARB, 401) + GL_STUB(glMultiTexCoord4fARB, 402) + GL_STUB(glMultiTexCoord4fvARB, 403) + GL_STUB(glMultiTexCoord4iARB, 404) + GL_STUB(glMultiTexCoord4ivARB, 405) + GL_STUB(glMultiTexCoord4sARB, 406) + GL_STUB(glMultiTexCoord4svARB, 407) + GL_STUB(glAttachShader, 408) + GL_STUB(glCreateProgram, 409) + GL_STUB(glCreateShader, 410) + GL_STUB(glDeleteProgram, 411) + GL_STUB(glDeleteShader, 412) + GL_STUB(glDetachShader, 413) + GL_STUB(glGetAttachedShaders, 414) + GL_STUB(glGetProgramInfoLog, 415) + GL_STUB(glGetProgramiv, 416) + GL_STUB(glGetShaderInfoLog, 417) + GL_STUB(glGetShaderiv, 418) + GL_STUB(glIsProgram, 419) + GL_STUB(glIsShader, 420) + GL_STUB(glStencilFuncSeparate, 421) + GL_STUB(glStencilMaskSeparate, 422) + GL_STUB(glStencilOpSeparate, 423) + GL_STUB(glUniformMatrix2x3fv, 424) + GL_STUB(glUniformMatrix2x4fv, 425) + GL_STUB(glUniformMatrix3x2fv, 426) + GL_STUB(glUniformMatrix3x4fv, 427) + GL_STUB(glUniformMatrix4x2fv, 428) + GL_STUB(glUniformMatrix4x3fv, 429) + GL_STUB(glDrawArraysInstanced, 430) + GL_STUB(glDrawElementsInstanced, 431) + GL_STUB(glLoadTransposeMatrixdARB, 432) + GL_STUB(glLoadTransposeMatrixfARB, 433) + GL_STUB(glMultTransposeMatrixdARB, 434) + GL_STUB(glMultTransposeMatrixfARB, 435) + GL_STUB(glSampleCoverageARB, 436) + GL_STUB(glCompressedTexImage1DARB, 437) + GL_STUB(glCompressedTexImage2DARB, 438) + GL_STUB(glCompressedTexImage3DARB, 439) + GL_STUB(glCompressedTexSubImage1DARB, 440) + GL_STUB(glCompressedTexSubImage2DARB, 441) + GL_STUB(glCompressedTexSubImage3DARB, 442) + GL_STUB(glGetCompressedTexImageARB, 443) + GL_STUB(glDisableVertexAttribArrayARB, 444) + GL_STUB(glEnableVertexAttribArrayARB, 445) + GL_STUB(glGetProgramEnvParameterdvARB, 446) + GL_STUB(glGetProgramEnvParameterfvARB, 447) + GL_STUB(glGetProgramLocalParameterdvARB, 448) + GL_STUB(glGetProgramLocalParameterfvARB, 449) + GL_STUB(glGetProgramStringARB, 450) + GL_STUB(glGetProgramivARB, 451) + GL_STUB(glGetVertexAttribdvARB, 452) + GL_STUB(glGetVertexAttribfvARB, 453) + GL_STUB(glGetVertexAttribivARB, 454) + GL_STUB(glProgramEnvParameter4dARB, 455) + GL_STUB(glProgramEnvParameter4dvARB, 456) + GL_STUB(glProgramEnvParameter4fARB, 457) + GL_STUB(glProgramEnvParameter4fvARB, 458) + GL_STUB(glProgramLocalParameter4dARB, 459) + GL_STUB(glProgramLocalParameter4dvARB, 460) + GL_STUB(glProgramLocalParameter4fARB, 461) + GL_STUB(glProgramLocalParameter4fvARB, 462) + GL_STUB(glProgramStringARB, 463) + GL_STUB(glVertexAttrib1dARB, 464) + GL_STUB(glVertexAttrib1dvARB, 465) + GL_STUB(glVertexAttrib1fARB, 466) + GL_STUB(glVertexAttrib1fvARB, 467) + GL_STUB(glVertexAttrib1sARB, 468) + GL_STUB(glVertexAttrib1svARB, 469) + GL_STUB(glVertexAttrib2dARB, 470) + GL_STUB(glVertexAttrib2dvARB, 471) + GL_STUB(glVertexAttrib2fARB, 472) + GL_STUB(glVertexAttrib2fvARB, 473) + GL_STUB(glVertexAttrib2sARB, 474) + GL_STUB(glVertexAttrib2svARB, 475) + GL_STUB(glVertexAttrib3dARB, 476) + GL_STUB(glVertexAttrib3dvARB, 477) + GL_STUB(glVertexAttrib3fARB, 478) + GL_STUB(glVertexAttrib3fvARB, 479) + GL_STUB(glVertexAttrib3sARB, 480) + GL_STUB(glVertexAttrib3svARB, 481) + GL_STUB(glVertexAttrib4NbvARB, 482) + GL_STUB(glVertexAttrib4NivARB, 483) + GL_STUB(glVertexAttrib4NsvARB, 484) + GL_STUB(glVertexAttrib4NubARB, 485) + GL_STUB(glVertexAttrib4NubvARB, 486) + GL_STUB(glVertexAttrib4NuivARB, 487) + GL_STUB(glVertexAttrib4NusvARB, 488) + GL_STUB(glVertexAttrib4bvARB, 489) + GL_STUB(glVertexAttrib4dARB, 490) + GL_STUB(glVertexAttrib4dvARB, 491) + GL_STUB(glVertexAttrib4fARB, 492) + GL_STUB(glVertexAttrib4fvARB, 493) + GL_STUB(glVertexAttrib4ivARB, 494) + GL_STUB(glVertexAttrib4sARB, 495) + GL_STUB(glVertexAttrib4svARB, 496) + GL_STUB(glVertexAttrib4ubvARB, 497) + GL_STUB(glVertexAttrib4uivARB, 498) + GL_STUB(glVertexAttrib4usvARB, 499) + GL_STUB(glVertexAttribPointerARB, 500) + GL_STUB(glBindBufferARB, 501) + GL_STUB(glBufferDataARB, 502) + GL_STUB(glBufferSubDataARB, 503) + GL_STUB(glDeleteBuffersARB, 504) + GL_STUB(glGenBuffersARB, 505) + GL_STUB(glGetBufferParameterivARB, 506) + GL_STUB(glGetBufferPointervARB, 507) + GL_STUB(glGetBufferSubDataARB, 508) + GL_STUB(glIsBufferARB, 509) + GL_STUB(glMapBufferARB, 510) + GL_STUB(glUnmapBufferARB, 511) + GL_STUB(glBeginQueryARB, 512) + GL_STUB(glDeleteQueriesARB, 513) + GL_STUB(glEndQueryARB, 514) + GL_STUB(glGenQueriesARB, 515) + GL_STUB(glGetQueryObjectivARB, 516) + GL_STUB(glGetQueryObjectuivARB, 517) + GL_STUB(glGetQueryivARB, 518) + GL_STUB(glIsQueryARB, 519) + GL_STUB(glAttachObjectARB, 520) + GL_STUB(glCompileShaderARB, 521) + GL_STUB(glCreateProgramObjectARB, 522) + GL_STUB(glCreateShaderObjectARB, 523) + GL_STUB(glDeleteObjectARB, 524) + GL_STUB(glDetachObjectARB, 525) + GL_STUB(glGetActiveUniformARB, 526) + GL_STUB(glGetAttachedObjectsARB, 527) + GL_STUB(glGetHandleARB, 528) + GL_STUB(glGetInfoLogARB, 529) + GL_STUB(glGetObjectParameterfvARB, 530) + GL_STUB(glGetObjectParameterivARB, 531) + GL_STUB(glGetShaderSourceARB, 532) + GL_STUB(glGetUniformLocationARB, 533) + GL_STUB(glGetUniformfvARB, 534) + GL_STUB(glGetUniformivARB, 535) + GL_STUB(glLinkProgramARB, 536) + GL_STUB(glShaderSourceARB, 537) + GL_STUB(glUniform1fARB, 538) + GL_STUB(glUniform1fvARB, 539) + GL_STUB(glUniform1iARB, 540) + GL_STUB(glUniform1ivARB, 541) + GL_STUB(glUniform2fARB, 542) + GL_STUB(glUniform2fvARB, 543) + GL_STUB(glUniform2iARB, 544) + GL_STUB(glUniform2ivARB, 545) + GL_STUB(glUniform3fARB, 546) + GL_STUB(glUniform3fvARB, 547) + GL_STUB(glUniform3iARB, 548) + GL_STUB(glUniform3ivARB, 549) + GL_STUB(glUniform4fARB, 550) + GL_STUB(glUniform4fvARB, 551) + GL_STUB(glUniform4iARB, 552) + GL_STUB(glUniform4ivARB, 553) + GL_STUB(glUniformMatrix2fvARB, 554) + GL_STUB(glUniformMatrix3fvARB, 555) + GL_STUB(glUniformMatrix4fvARB, 556) + GL_STUB(glUseProgramObjectARB, 557) + GL_STUB(glValidateProgramARB, 558) + GL_STUB(glBindAttribLocationARB, 559) + GL_STUB(glGetActiveAttribARB, 560) + GL_STUB(glGetAttribLocationARB, 561) + GL_STUB(glDrawBuffersARB, 562) + GL_STUB(glRenderbufferStorageMultisample, 563) + GL_STUB(glFramebufferTextureARB, 564) + GL_STUB(glFramebufferTextureFaceARB, 565) + GL_STUB(glProgramParameteriARB, 566) + GL_STUB(glFlushMappedBufferRange, 567) + GL_STUB(glMapBufferRange, 568) + GL_STUB(glBindVertexArray, 569) + GL_STUB(glGenVertexArrays, 570) + GL_STUB(glCopyBufferSubData, 571) + GL_STUB(glClientWaitSync, 572) + GL_STUB(glDeleteSync, 573) + GL_STUB(glFenceSync, 574) + GL_STUB(glGetInteger64v, 575) + GL_STUB(glGetSynciv, 576) + GL_STUB(glIsSync, 577) + GL_STUB(glWaitSync, 578) + GL_STUB(glDrawElementsBaseVertex, 579) + GL_STUB(glDrawRangeElementsBaseVertex, 580) + GL_STUB(glMultiDrawElementsBaseVertex, 581) + GL_STUB(glBindTransformFeedback, 582) + GL_STUB(glDeleteTransformFeedbacks, 583) + GL_STUB(glDrawTransformFeedback, 584) + GL_STUB(glGenTransformFeedbacks, 585) + GL_STUB(glIsTransformFeedback, 586) + GL_STUB(glPauseTransformFeedback, 587) + GL_STUB(glResumeTransformFeedback, 588) + GL_STUB(glPolygonOffsetEXT, 589) + GL_STUB(gl_dispatch_stub_590, 590) HIDDEN(gl_dispatch_stub_590) - GL_STUB(gl_dispatch_stub_591, _gloffset_GetPixelTexGenParameterivSGIS) + GL_STUB(gl_dispatch_stub_591, 591) HIDDEN(gl_dispatch_stub_591) - GL_STUB(gl_dispatch_stub_592, _gloffset_PixelTexGenParameterfSGIS) + GL_STUB(gl_dispatch_stub_592, 592) HIDDEN(gl_dispatch_stub_592) - GL_STUB(gl_dispatch_stub_593, _gloffset_PixelTexGenParameterfvSGIS) + GL_STUB(gl_dispatch_stub_593, 593) HIDDEN(gl_dispatch_stub_593) - GL_STUB(gl_dispatch_stub_594, _gloffset_PixelTexGenParameteriSGIS) + GL_STUB(gl_dispatch_stub_594, 594) HIDDEN(gl_dispatch_stub_594) - GL_STUB(gl_dispatch_stub_595, _gloffset_PixelTexGenParameterivSGIS) + GL_STUB(gl_dispatch_stub_595, 595) HIDDEN(gl_dispatch_stub_595) - GL_STUB(gl_dispatch_stub_596, _gloffset_SampleMaskSGIS) + GL_STUB(gl_dispatch_stub_596, 596) HIDDEN(gl_dispatch_stub_596) - GL_STUB(gl_dispatch_stub_597, _gloffset_SamplePatternSGIS) + GL_STUB(gl_dispatch_stub_597, 597) HIDDEN(gl_dispatch_stub_597) - GL_STUB(glColorPointerEXT, _gloffset_ColorPointerEXT) - GL_STUB(glEdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT) - GL_STUB(glIndexPointerEXT, _gloffset_IndexPointerEXT) - GL_STUB(glNormalPointerEXT, _gloffset_NormalPointerEXT) - GL_STUB(glTexCoordPointerEXT, _gloffset_TexCoordPointerEXT) - GL_STUB(glVertexPointerEXT, _gloffset_VertexPointerEXT) - GL_STUB(glPointParameterfEXT, _gloffset_PointParameterfEXT) - GL_STUB(glPointParameterfvEXT, _gloffset_PointParameterfvEXT) - GL_STUB(glLockArraysEXT, _gloffset_LockArraysEXT) - GL_STUB(glUnlockArraysEXT, _gloffset_UnlockArraysEXT) - GL_STUB(glSecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT) - GL_STUB(glSecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT) - GL_STUB(glSecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT) - GL_STUB(glSecondaryColor3dvEXT, _gloffset_SecondaryColor3dvEXT) - GL_STUB(glSecondaryColor3fEXT, _gloffset_SecondaryColor3fEXT) - GL_STUB(glSecondaryColor3fvEXT, _gloffset_SecondaryColor3fvEXT) - GL_STUB(glSecondaryColor3iEXT, _gloffset_SecondaryColor3iEXT) - GL_STUB(glSecondaryColor3ivEXT, _gloffset_SecondaryColor3ivEXT) - GL_STUB(glSecondaryColor3sEXT, _gloffset_SecondaryColor3sEXT) - GL_STUB(glSecondaryColor3svEXT, _gloffset_SecondaryColor3svEXT) - GL_STUB(glSecondaryColor3ubEXT, _gloffset_SecondaryColor3ubEXT) - GL_STUB(glSecondaryColor3ubvEXT, _gloffset_SecondaryColor3ubvEXT) - GL_STUB(glSecondaryColor3uiEXT, _gloffset_SecondaryColor3uiEXT) - GL_STUB(glSecondaryColor3uivEXT, _gloffset_SecondaryColor3uivEXT) - GL_STUB(glSecondaryColor3usEXT, _gloffset_SecondaryColor3usEXT) - GL_STUB(glSecondaryColor3usvEXT, _gloffset_SecondaryColor3usvEXT) - GL_STUB(glSecondaryColorPointerEXT, _gloffset_SecondaryColorPointerEXT) - GL_STUB(glMultiDrawArraysEXT, _gloffset_MultiDrawArraysEXT) - GL_STUB(glMultiDrawElementsEXT, _gloffset_MultiDrawElementsEXT) - GL_STUB(glFogCoordPointerEXT, _gloffset_FogCoordPointerEXT) - GL_STUB(glFogCoorddEXT, _gloffset_FogCoorddEXT) - GL_STUB(glFogCoorddvEXT, _gloffset_FogCoorddvEXT) - GL_STUB(glFogCoordfEXT, _gloffset_FogCoordfEXT) - GL_STUB(glFogCoordfvEXT, _gloffset_FogCoordfvEXT) - GL_STUB(gl_dispatch_stub_632, _gloffset_PixelTexGenSGIX) + GL_STUB(glColorPointerEXT, 598) + GL_STUB(glEdgeFlagPointerEXT, 599) + GL_STUB(glIndexPointerEXT, 600) + GL_STUB(glNormalPointerEXT, 601) + GL_STUB(glTexCoordPointerEXT, 602) + GL_STUB(glVertexPointerEXT, 603) + GL_STUB(glPointParameterfEXT, 604) + GL_STUB(glPointParameterfvEXT, 605) + GL_STUB(glLockArraysEXT, 606) + GL_STUB(glUnlockArraysEXT, 607) + GL_STUB(glSecondaryColor3bEXT, 608) + GL_STUB(glSecondaryColor3bvEXT, 609) + GL_STUB(glSecondaryColor3dEXT, 610) + GL_STUB(glSecondaryColor3dvEXT, 611) + GL_STUB(glSecondaryColor3fEXT, 612) + GL_STUB(glSecondaryColor3fvEXT, 613) + GL_STUB(glSecondaryColor3iEXT, 614) + GL_STUB(glSecondaryColor3ivEXT, 615) + GL_STUB(glSecondaryColor3sEXT, 616) + GL_STUB(glSecondaryColor3svEXT, 617) + GL_STUB(glSecondaryColor3ubEXT, 618) + GL_STUB(glSecondaryColor3ubvEXT, 619) + GL_STUB(glSecondaryColor3uiEXT, 620) + GL_STUB(glSecondaryColor3uivEXT, 621) + GL_STUB(glSecondaryColor3usEXT, 622) + GL_STUB(glSecondaryColor3usvEXT, 623) + GL_STUB(glSecondaryColorPointerEXT, 624) + GL_STUB(glMultiDrawArraysEXT, 625) + GL_STUB(glMultiDrawElementsEXT, 626) + GL_STUB(glFogCoordPointerEXT, 627) + GL_STUB(glFogCoorddEXT, 628) + GL_STUB(glFogCoorddvEXT, 629) + GL_STUB(glFogCoordfEXT, 630) + GL_STUB(glFogCoordfvEXT, 631) + GL_STUB(gl_dispatch_stub_632, 632) HIDDEN(gl_dispatch_stub_632) - GL_STUB(glBlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT) - GL_STUB(glFlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV) - GL_STUB(glVertexArrayRangeNV, _gloffset_VertexArrayRangeNV) - GL_STUB(glCombinerInputNV, _gloffset_CombinerInputNV) - GL_STUB(glCombinerOutputNV, _gloffset_CombinerOutputNV) - GL_STUB(glCombinerParameterfNV, _gloffset_CombinerParameterfNV) - GL_STUB(glCombinerParameterfvNV, _gloffset_CombinerParameterfvNV) - GL_STUB(glCombinerParameteriNV, _gloffset_CombinerParameteriNV) - GL_STUB(glCombinerParameterivNV, _gloffset_CombinerParameterivNV) - GL_STUB(glFinalCombinerInputNV, _gloffset_FinalCombinerInputNV) - GL_STUB(glGetCombinerInputParameterfvNV, _gloffset_GetCombinerInputParameterfvNV) - GL_STUB(glGetCombinerInputParameterivNV, _gloffset_GetCombinerInputParameterivNV) - GL_STUB(glGetCombinerOutputParameterfvNV, _gloffset_GetCombinerOutputParameterfvNV) - GL_STUB(glGetCombinerOutputParameterivNV, _gloffset_GetCombinerOutputParameterivNV) - GL_STUB(glGetFinalCombinerInputParameterfvNV, _gloffset_GetFinalCombinerInputParameterfvNV) - GL_STUB(glGetFinalCombinerInputParameterivNV, _gloffset_GetFinalCombinerInputParameterivNV) - GL_STUB(glResizeBuffersMESA, _gloffset_ResizeBuffersMESA) - GL_STUB(glWindowPos2dMESA, _gloffset_WindowPos2dMESA) - GL_STUB(glWindowPos2dvMESA, _gloffset_WindowPos2dvMESA) - GL_STUB(glWindowPos2fMESA, _gloffset_WindowPos2fMESA) - GL_STUB(glWindowPos2fvMESA, _gloffset_WindowPos2fvMESA) - GL_STUB(glWindowPos2iMESA, _gloffset_WindowPos2iMESA) - GL_STUB(glWindowPos2ivMESA, _gloffset_WindowPos2ivMESA) - GL_STUB(glWindowPos2sMESA, _gloffset_WindowPos2sMESA) - GL_STUB(glWindowPos2svMESA, _gloffset_WindowPos2svMESA) - GL_STUB(glWindowPos3dMESA, _gloffset_WindowPos3dMESA) - GL_STUB(glWindowPos3dvMESA, _gloffset_WindowPos3dvMESA) - GL_STUB(glWindowPos3fMESA, _gloffset_WindowPos3fMESA) - GL_STUB(glWindowPos3fvMESA, _gloffset_WindowPos3fvMESA) - GL_STUB(glWindowPos3iMESA, _gloffset_WindowPos3iMESA) - GL_STUB(glWindowPos3ivMESA, _gloffset_WindowPos3ivMESA) - GL_STUB(glWindowPos3sMESA, _gloffset_WindowPos3sMESA) - GL_STUB(glWindowPos3svMESA, _gloffset_WindowPos3svMESA) - GL_STUB(glWindowPos4dMESA, _gloffset_WindowPos4dMESA) - GL_STUB(glWindowPos4dvMESA, _gloffset_WindowPos4dvMESA) - GL_STUB(glWindowPos4fMESA, _gloffset_WindowPos4fMESA) - GL_STUB(glWindowPos4fvMESA, _gloffset_WindowPos4fvMESA) - GL_STUB(glWindowPos4iMESA, _gloffset_WindowPos4iMESA) - GL_STUB(glWindowPos4ivMESA, _gloffset_WindowPos4ivMESA) - GL_STUB(glWindowPos4sMESA, _gloffset_WindowPos4sMESA) - GL_STUB(glWindowPos4svMESA, _gloffset_WindowPos4svMESA) - GL_STUB(gl_dispatch_stub_674, _gloffset_MultiModeDrawArraysIBM) + GL_STUB(glBlendFuncSeparateEXT, 633) + GL_STUB(glFlushVertexArrayRangeNV, 634) + GL_STUB(glVertexArrayRangeNV, 635) + GL_STUB(glCombinerInputNV, 636) + GL_STUB(glCombinerOutputNV, 637) + GL_STUB(glCombinerParameterfNV, 638) + GL_STUB(glCombinerParameterfvNV, 639) + GL_STUB(glCombinerParameteriNV, 640) + GL_STUB(glCombinerParameterivNV, 641) + GL_STUB(glFinalCombinerInputNV, 642) + GL_STUB(glGetCombinerInputParameterfvNV, 643) + GL_STUB(glGetCombinerInputParameterivNV, 644) + GL_STUB(glGetCombinerOutputParameterfvNV, 645) + GL_STUB(glGetCombinerOutputParameterivNV, 646) + GL_STUB(glGetFinalCombinerInputParameterfvNV, 647) + GL_STUB(glGetFinalCombinerInputParameterivNV, 648) + GL_STUB(glResizeBuffersMESA, 649) + GL_STUB(glWindowPos2dMESA, 650) + GL_STUB(glWindowPos2dvMESA, 651) + GL_STUB(glWindowPos2fMESA, 652) + GL_STUB(glWindowPos2fvMESA, 653) + GL_STUB(glWindowPos2iMESA, 654) + GL_STUB(glWindowPos2ivMESA, 655) + GL_STUB(glWindowPos2sMESA, 656) + GL_STUB(glWindowPos2svMESA, 657) + GL_STUB(glWindowPos3dMESA, 658) + GL_STUB(glWindowPos3dvMESA, 659) + GL_STUB(glWindowPos3fMESA, 660) + GL_STUB(glWindowPos3fvMESA, 661) + GL_STUB(glWindowPos3iMESA, 662) + GL_STUB(glWindowPos3ivMESA, 663) + GL_STUB(glWindowPos3sMESA, 664) + GL_STUB(glWindowPos3svMESA, 665) + GL_STUB(glWindowPos4dMESA, 666) + GL_STUB(glWindowPos4dvMESA, 667) + GL_STUB(glWindowPos4fMESA, 668) + GL_STUB(glWindowPos4fvMESA, 669) + GL_STUB(glWindowPos4iMESA, 670) + GL_STUB(glWindowPos4ivMESA, 671) + GL_STUB(glWindowPos4sMESA, 672) + GL_STUB(glWindowPos4svMESA, 673) + GL_STUB(gl_dispatch_stub_674, 674) HIDDEN(gl_dispatch_stub_674) - GL_STUB(gl_dispatch_stub_675, _gloffset_MultiModeDrawElementsIBM) + GL_STUB(gl_dispatch_stub_675, 675) HIDDEN(gl_dispatch_stub_675) - GL_STUB(gl_dispatch_stub_676, _gloffset_DeleteFencesNV) + GL_STUB(gl_dispatch_stub_676, 676) HIDDEN(gl_dispatch_stub_676) - GL_STUB(gl_dispatch_stub_677, _gloffset_FinishFenceNV) + GL_STUB(gl_dispatch_stub_677, 677) HIDDEN(gl_dispatch_stub_677) - GL_STUB(gl_dispatch_stub_678, _gloffset_GenFencesNV) + GL_STUB(gl_dispatch_stub_678, 678) HIDDEN(gl_dispatch_stub_678) - GL_STUB(gl_dispatch_stub_679, _gloffset_GetFenceivNV) + GL_STUB(gl_dispatch_stub_679, 679) HIDDEN(gl_dispatch_stub_679) - GL_STUB(gl_dispatch_stub_680, _gloffset_IsFenceNV) + GL_STUB(gl_dispatch_stub_680, 680) HIDDEN(gl_dispatch_stub_680) - GL_STUB(gl_dispatch_stub_681, _gloffset_SetFenceNV) + GL_STUB(gl_dispatch_stub_681, 681) HIDDEN(gl_dispatch_stub_681) - GL_STUB(gl_dispatch_stub_682, _gloffset_TestFenceNV) + GL_STUB(gl_dispatch_stub_682, 682) HIDDEN(gl_dispatch_stub_682) - GL_STUB(glAreProgramsResidentNV, _gloffset_AreProgramsResidentNV) - GL_STUB(glBindProgramNV, _gloffset_BindProgramNV) - GL_STUB(glDeleteProgramsNV, _gloffset_DeleteProgramsNV) - GL_STUB(glExecuteProgramNV, _gloffset_ExecuteProgramNV) - GL_STUB(glGenProgramsNV, _gloffset_GenProgramsNV) - GL_STUB(glGetProgramParameterdvNV, _gloffset_GetProgramParameterdvNV) - GL_STUB(glGetProgramParameterfvNV, _gloffset_GetProgramParameterfvNV) - GL_STUB(glGetProgramStringNV, _gloffset_GetProgramStringNV) - GL_STUB(glGetProgramivNV, _gloffset_GetProgramivNV) - GL_STUB(glGetTrackMatrixivNV, _gloffset_GetTrackMatrixivNV) - GL_STUB(glGetVertexAttribPointervNV, _gloffset_GetVertexAttribPointervNV) - GL_STUB(glGetVertexAttribdvNV, _gloffset_GetVertexAttribdvNV) - GL_STUB(glGetVertexAttribfvNV, _gloffset_GetVertexAttribfvNV) - GL_STUB(glGetVertexAttribivNV, _gloffset_GetVertexAttribivNV) - GL_STUB(glIsProgramNV, _gloffset_IsProgramNV) - GL_STUB(glLoadProgramNV, _gloffset_LoadProgramNV) - GL_STUB(glProgramParameters4dvNV, _gloffset_ProgramParameters4dvNV) - GL_STUB(glProgramParameters4fvNV, _gloffset_ProgramParameters4fvNV) - GL_STUB(glRequestResidentProgramsNV, _gloffset_RequestResidentProgramsNV) - GL_STUB(glTrackMatrixNV, _gloffset_TrackMatrixNV) - GL_STUB(glVertexAttrib1dNV, _gloffset_VertexAttrib1dNV) - GL_STUB(glVertexAttrib1dvNV, _gloffset_VertexAttrib1dvNV) - GL_STUB(glVertexAttrib1fNV, _gloffset_VertexAttrib1fNV) - GL_STUB(glVertexAttrib1fvNV, _gloffset_VertexAttrib1fvNV) - GL_STUB(glVertexAttrib1sNV, _gloffset_VertexAttrib1sNV) - GL_STUB(glVertexAttrib1svNV, _gloffset_VertexAttrib1svNV) - GL_STUB(glVertexAttrib2dNV, _gloffset_VertexAttrib2dNV) - GL_STUB(glVertexAttrib2dvNV, _gloffset_VertexAttrib2dvNV) - GL_STUB(glVertexAttrib2fNV, _gloffset_VertexAttrib2fNV) - GL_STUB(glVertexAttrib2fvNV, _gloffset_VertexAttrib2fvNV) - GL_STUB(glVertexAttrib2sNV, _gloffset_VertexAttrib2sNV) - GL_STUB(glVertexAttrib2svNV, _gloffset_VertexAttrib2svNV) - GL_STUB(glVertexAttrib3dNV, _gloffset_VertexAttrib3dNV) - GL_STUB(glVertexAttrib3dvNV, _gloffset_VertexAttrib3dvNV) - GL_STUB(glVertexAttrib3fNV, _gloffset_VertexAttrib3fNV) - GL_STUB(glVertexAttrib3fvNV, _gloffset_VertexAttrib3fvNV) - GL_STUB(glVertexAttrib3sNV, _gloffset_VertexAttrib3sNV) - GL_STUB(glVertexAttrib3svNV, _gloffset_VertexAttrib3svNV) - GL_STUB(glVertexAttrib4dNV, _gloffset_VertexAttrib4dNV) - GL_STUB(glVertexAttrib4dvNV, _gloffset_VertexAttrib4dvNV) - GL_STUB(glVertexAttrib4fNV, _gloffset_VertexAttrib4fNV) - GL_STUB(glVertexAttrib4fvNV, _gloffset_VertexAttrib4fvNV) - GL_STUB(glVertexAttrib4sNV, _gloffset_VertexAttrib4sNV) - GL_STUB(glVertexAttrib4svNV, _gloffset_VertexAttrib4svNV) - GL_STUB(glVertexAttrib4ubNV, _gloffset_VertexAttrib4ubNV) - GL_STUB(glVertexAttrib4ubvNV, _gloffset_VertexAttrib4ubvNV) - GL_STUB(glVertexAttribPointerNV, _gloffset_VertexAttribPointerNV) - GL_STUB(glVertexAttribs1dvNV, _gloffset_VertexAttribs1dvNV) - GL_STUB(glVertexAttribs1fvNV, _gloffset_VertexAttribs1fvNV) - GL_STUB(glVertexAttribs1svNV, _gloffset_VertexAttribs1svNV) - GL_STUB(glVertexAttribs2dvNV, _gloffset_VertexAttribs2dvNV) - GL_STUB(glVertexAttribs2fvNV, _gloffset_VertexAttribs2fvNV) - GL_STUB(glVertexAttribs2svNV, _gloffset_VertexAttribs2svNV) - GL_STUB(glVertexAttribs3dvNV, _gloffset_VertexAttribs3dvNV) - GL_STUB(glVertexAttribs3fvNV, _gloffset_VertexAttribs3fvNV) - GL_STUB(glVertexAttribs3svNV, _gloffset_VertexAttribs3svNV) - GL_STUB(glVertexAttribs4dvNV, _gloffset_VertexAttribs4dvNV) - GL_STUB(glVertexAttribs4fvNV, _gloffset_VertexAttribs4fvNV) - GL_STUB(glVertexAttribs4svNV, _gloffset_VertexAttribs4svNV) - GL_STUB(glVertexAttribs4ubvNV, _gloffset_VertexAttribs4ubvNV) - GL_STUB(glGetTexBumpParameterfvATI, _gloffset_GetTexBumpParameterfvATI) - GL_STUB(glGetTexBumpParameterivATI, _gloffset_GetTexBumpParameterivATI) - GL_STUB(glTexBumpParameterfvATI, _gloffset_TexBumpParameterfvATI) - GL_STUB(glTexBumpParameterivATI, _gloffset_TexBumpParameterivATI) - GL_STUB(glAlphaFragmentOp1ATI, _gloffset_AlphaFragmentOp1ATI) - GL_STUB(glAlphaFragmentOp2ATI, _gloffset_AlphaFragmentOp2ATI) - GL_STUB(glAlphaFragmentOp3ATI, _gloffset_AlphaFragmentOp3ATI) - GL_STUB(glBeginFragmentShaderATI, _gloffset_BeginFragmentShaderATI) - GL_STUB(glBindFragmentShaderATI, _gloffset_BindFragmentShaderATI) - GL_STUB(glColorFragmentOp1ATI, _gloffset_ColorFragmentOp1ATI) - GL_STUB(glColorFragmentOp2ATI, _gloffset_ColorFragmentOp2ATI) - GL_STUB(glColorFragmentOp3ATI, _gloffset_ColorFragmentOp3ATI) - GL_STUB(glDeleteFragmentShaderATI, _gloffset_DeleteFragmentShaderATI) - GL_STUB(glEndFragmentShaderATI, _gloffset_EndFragmentShaderATI) - GL_STUB(glGenFragmentShadersATI, _gloffset_GenFragmentShadersATI) - GL_STUB(glPassTexCoordATI, _gloffset_PassTexCoordATI) - GL_STUB(glSampleMapATI, _gloffset_SampleMapATI) - GL_STUB(glSetFragmentShaderConstantATI, _gloffset_SetFragmentShaderConstantATI) - GL_STUB(glPointParameteriNV, _gloffset_PointParameteriNV) - GL_STUB(glPointParameterivNV, _gloffset_PointParameterivNV) - GL_STUB(gl_dispatch_stub_763, _gloffset_ActiveStencilFaceEXT) + GL_STUB(glAreProgramsResidentNV, 683) + GL_STUB(glBindProgramNV, 684) + GL_STUB(glDeleteProgramsNV, 685) + GL_STUB(glExecuteProgramNV, 686) + GL_STUB(glGenProgramsNV, 687) + GL_STUB(glGetProgramParameterdvNV, 688) + GL_STUB(glGetProgramParameterfvNV, 689) + GL_STUB(glGetProgramStringNV, 690) + GL_STUB(glGetProgramivNV, 691) + GL_STUB(glGetTrackMatrixivNV, 692) + GL_STUB(glGetVertexAttribPointervNV, 693) + GL_STUB(glGetVertexAttribdvNV, 694) + GL_STUB(glGetVertexAttribfvNV, 695) + GL_STUB(glGetVertexAttribivNV, 696) + GL_STUB(glIsProgramNV, 697) + GL_STUB(glLoadProgramNV, 698) + GL_STUB(glProgramParameters4dvNV, 699) + GL_STUB(glProgramParameters4fvNV, 700) + GL_STUB(glRequestResidentProgramsNV, 701) + GL_STUB(glTrackMatrixNV, 702) + GL_STUB(glVertexAttrib1dNV, 703) + GL_STUB(glVertexAttrib1dvNV, 704) + GL_STUB(glVertexAttrib1fNV, 705) + GL_STUB(glVertexAttrib1fvNV, 706) + GL_STUB(glVertexAttrib1sNV, 707) + GL_STUB(glVertexAttrib1svNV, 708) + GL_STUB(glVertexAttrib2dNV, 709) + GL_STUB(glVertexAttrib2dvNV, 710) + GL_STUB(glVertexAttrib2fNV, 711) + GL_STUB(glVertexAttrib2fvNV, 712) + GL_STUB(glVertexAttrib2sNV, 713) + GL_STUB(glVertexAttrib2svNV, 714) + GL_STUB(glVertexAttrib3dNV, 715) + GL_STUB(glVertexAttrib3dvNV, 716) + GL_STUB(glVertexAttrib3fNV, 717) + GL_STUB(glVertexAttrib3fvNV, 718) + GL_STUB(glVertexAttrib3sNV, 719) + GL_STUB(glVertexAttrib3svNV, 720) + GL_STUB(glVertexAttrib4dNV, 721) + GL_STUB(glVertexAttrib4dvNV, 722) + GL_STUB(glVertexAttrib4fNV, 723) + GL_STUB(glVertexAttrib4fvNV, 724) + GL_STUB(glVertexAttrib4sNV, 725) + GL_STUB(glVertexAttrib4svNV, 726) + GL_STUB(glVertexAttrib4ubNV, 727) + GL_STUB(glVertexAttrib4ubvNV, 728) + GL_STUB(glVertexAttribPointerNV, 729) + GL_STUB(glVertexAttribs1dvNV, 730) + GL_STUB(glVertexAttribs1fvNV, 731) + GL_STUB(glVertexAttribs1svNV, 732) + GL_STUB(glVertexAttribs2dvNV, 733) + GL_STUB(glVertexAttribs2fvNV, 734) + GL_STUB(glVertexAttribs2svNV, 735) + GL_STUB(glVertexAttribs3dvNV, 736) + GL_STUB(glVertexAttribs3fvNV, 737) + GL_STUB(glVertexAttribs3svNV, 738) + GL_STUB(glVertexAttribs4dvNV, 739) + GL_STUB(glVertexAttribs4fvNV, 740) + GL_STUB(glVertexAttribs4svNV, 741) + GL_STUB(glVertexAttribs4ubvNV, 742) + GL_STUB(glGetTexBumpParameterfvATI, 743) + GL_STUB(glGetTexBumpParameterivATI, 744) + GL_STUB(glTexBumpParameterfvATI, 745) + GL_STUB(glTexBumpParameterivATI, 746) + GL_STUB(glAlphaFragmentOp1ATI, 747) + GL_STUB(glAlphaFragmentOp2ATI, 748) + GL_STUB(glAlphaFragmentOp3ATI, 749) + GL_STUB(glBeginFragmentShaderATI, 750) + GL_STUB(glBindFragmentShaderATI, 751) + GL_STUB(glColorFragmentOp1ATI, 752) + GL_STUB(glColorFragmentOp2ATI, 753) + GL_STUB(glColorFragmentOp3ATI, 754) + GL_STUB(glDeleteFragmentShaderATI, 755) + GL_STUB(glEndFragmentShaderATI, 756) + GL_STUB(glGenFragmentShadersATI, 757) + GL_STUB(glPassTexCoordATI, 758) + GL_STUB(glSampleMapATI, 759) + GL_STUB(glSetFragmentShaderConstantATI, 760) + GL_STUB(glPointParameteriNV, 761) + GL_STUB(glPointParameterivNV, 762) + GL_STUB(gl_dispatch_stub_763, 763) HIDDEN(gl_dispatch_stub_763) - GL_STUB(gl_dispatch_stub_764, _gloffset_BindVertexArrayAPPLE) + GL_STUB(gl_dispatch_stub_764, 764) HIDDEN(gl_dispatch_stub_764) - GL_STUB(gl_dispatch_stub_765, _gloffset_DeleteVertexArraysAPPLE) + GL_STUB(gl_dispatch_stub_765, 765) HIDDEN(gl_dispatch_stub_765) - GL_STUB(gl_dispatch_stub_766, _gloffset_GenVertexArraysAPPLE) + GL_STUB(gl_dispatch_stub_766, 766) HIDDEN(gl_dispatch_stub_766) - GL_STUB(gl_dispatch_stub_767, _gloffset_IsVertexArrayAPPLE) + GL_STUB(gl_dispatch_stub_767, 767) HIDDEN(gl_dispatch_stub_767) - 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(glPrimitiveRestartIndexNV, _gloffset_PrimitiveRestartIndexNV) - GL_STUB(glPrimitiveRestartNV, _gloffset_PrimitiveRestartNV) - GL_STUB(gl_dispatch_stub_776, _gloffset_DepthBoundsEXT) + GL_STUB(glGetProgramNamedParameterdvNV, 768) + GL_STUB(glGetProgramNamedParameterfvNV, 769) + GL_STUB(glProgramNamedParameter4dNV, 770) + GL_STUB(glProgramNamedParameter4dvNV, 771) + GL_STUB(glProgramNamedParameter4fNV, 772) + GL_STUB(glProgramNamedParameter4fvNV, 773) + GL_STUB(glPrimitiveRestartIndexNV, 774) + GL_STUB(glPrimitiveRestartNV, 775) + GL_STUB(gl_dispatch_stub_776, 776) HIDDEN(gl_dispatch_stub_776) - GL_STUB(gl_dispatch_stub_777, _gloffset_BlendEquationSeparateEXT) + GL_STUB(gl_dispatch_stub_777, 777) HIDDEN(gl_dispatch_stub_777) - GL_STUB(glBindFramebufferEXT, _gloffset_BindFramebufferEXT) - GL_STUB(glBindRenderbufferEXT, _gloffset_BindRenderbufferEXT) - GL_STUB(glCheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT) - GL_STUB(glDeleteFramebuffersEXT, _gloffset_DeleteFramebuffersEXT) - GL_STUB(glDeleteRenderbuffersEXT, _gloffset_DeleteRenderbuffersEXT) - GL_STUB(glFramebufferRenderbufferEXT, _gloffset_FramebufferRenderbufferEXT) - GL_STUB(glFramebufferTexture1DEXT, _gloffset_FramebufferTexture1DEXT) - GL_STUB(glFramebufferTexture2DEXT, _gloffset_FramebufferTexture2DEXT) - GL_STUB(glFramebufferTexture3DEXT, _gloffset_FramebufferTexture3DEXT) - GL_STUB(glGenFramebuffersEXT, _gloffset_GenFramebuffersEXT) - GL_STUB(glGenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT) - GL_STUB(glGenerateMipmapEXT, _gloffset_GenerateMipmapEXT) - GL_STUB(glGetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT) - 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_795, _gloffset_BlitFramebufferEXT) + GL_STUB(glBindFramebufferEXT, 778) + GL_STUB(glBindRenderbufferEXT, 779) + GL_STUB(glCheckFramebufferStatusEXT, 780) + GL_STUB(glDeleteFramebuffersEXT, 781) + GL_STUB(glDeleteRenderbuffersEXT, 782) + GL_STUB(glFramebufferRenderbufferEXT, 783) + GL_STUB(glFramebufferTexture1DEXT, 784) + GL_STUB(glFramebufferTexture2DEXT, 785) + GL_STUB(glFramebufferTexture3DEXT, 786) + GL_STUB(glGenFramebuffersEXT, 787) + GL_STUB(glGenRenderbuffersEXT, 788) + GL_STUB(glGenerateMipmapEXT, 789) + GL_STUB(glGetFramebufferAttachmentParameterivEXT, 790) + GL_STUB(glGetRenderbufferParameterivEXT, 791) + GL_STUB(glIsFramebufferEXT, 792) + GL_STUB(glIsRenderbufferEXT, 793) + GL_STUB(glRenderbufferStorageEXT, 794) + GL_STUB(gl_dispatch_stub_795, 795) HIDDEN(gl_dispatch_stub_795) - GL_STUB(gl_dispatch_stub_796, _gloffset_BufferParameteriAPPLE) + GL_STUB(gl_dispatch_stub_796, 796) HIDDEN(gl_dispatch_stub_796) - GL_STUB(gl_dispatch_stub_797, _gloffset_FlushMappedBufferRangeAPPLE) + GL_STUB(gl_dispatch_stub_797, 797) HIDDEN(gl_dispatch_stub_797) - GL_STUB(glFramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT) - GL_STUB(glColorMaskIndexedEXT, _gloffset_ColorMaskIndexedEXT) - GL_STUB(glDisableIndexedEXT, _gloffset_DisableIndexedEXT) - GL_STUB(glEnableIndexedEXT, _gloffset_EnableIndexedEXT) - GL_STUB(glGetBooleanIndexedvEXT, _gloffset_GetBooleanIndexedvEXT) - GL_STUB(glGetIntegerIndexedvEXT, _gloffset_GetIntegerIndexedvEXT) - GL_STUB(glIsEnabledIndexedEXT, _gloffset_IsEnabledIndexedEXT) - GL_STUB(glClearColorIiEXT, _gloffset_ClearColorIiEXT) - GL_STUB(glClearColorIuiEXT, _gloffset_ClearColorIuiEXT) - GL_STUB(glGetTexParameterIivEXT, _gloffset_GetTexParameterIivEXT) - GL_STUB(glGetTexParameterIuivEXT, _gloffset_GetTexParameterIuivEXT) - GL_STUB(glTexParameterIivEXT, _gloffset_TexParameterIivEXT) - GL_STUB(glTexParameterIuivEXT, _gloffset_TexParameterIuivEXT) - GL_STUB(glBeginConditionalRenderNV, _gloffset_BeginConditionalRenderNV) - GL_STUB(glEndConditionalRenderNV, _gloffset_EndConditionalRenderNV) - GL_STUB(glBeginTransformFeedbackEXT, _gloffset_BeginTransformFeedbackEXT) - GL_STUB(glBindBufferBaseEXT, _gloffset_BindBufferBaseEXT) - GL_STUB(glBindBufferOffsetEXT, _gloffset_BindBufferOffsetEXT) - GL_STUB(glBindBufferRangeEXT, _gloffset_BindBufferRangeEXT) - GL_STUB(glEndTransformFeedbackEXT, _gloffset_EndTransformFeedbackEXT) - GL_STUB(glGetTransformFeedbackVaryingEXT, _gloffset_GetTransformFeedbackVaryingEXT) - GL_STUB(glTransformFeedbackVaryingsEXT, _gloffset_TransformFeedbackVaryingsEXT) - GL_STUB(glProvokingVertexEXT, _gloffset_ProvokingVertexEXT) - GL_STUB(gl_dispatch_stub_821, _gloffset_GetTexParameterPointervAPPLE) - HIDDEN(gl_dispatch_stub_821) - GL_STUB(gl_dispatch_stub_822, _gloffset_TextureRangeAPPLE) - HIDDEN(gl_dispatch_stub_822) - GL_STUB(glGetObjectParameterivAPPLE, _gloffset_GetObjectParameterivAPPLE) - GL_STUB(glObjectPurgeableAPPLE, _gloffset_ObjectPurgeableAPPLE) - GL_STUB(glObjectUnpurgeableAPPLE, _gloffset_ObjectUnpurgeableAPPLE) - GL_STUB(glActiveProgramEXT, _gloffset_ActiveProgramEXT) - GL_STUB(glCreateShaderProgramEXT, _gloffset_CreateShaderProgramEXT) - GL_STUB(glUseShaderProgramEXT, _gloffset_UseShaderProgramEXT) - GL_STUB(gl_dispatch_stub_829, _gloffset_StencilFuncSeparateATI) - HIDDEN(gl_dispatch_stub_829) - GL_STUB(gl_dispatch_stub_830, _gloffset_ProgramEnvParameters4fvEXT) - HIDDEN(gl_dispatch_stub_830) - GL_STUB(gl_dispatch_stub_831, _gloffset_ProgramLocalParameters4fvEXT) - HIDDEN(gl_dispatch_stub_831) - GL_STUB(gl_dispatch_stub_832, _gloffset_GetQueryObjecti64vEXT) - HIDDEN(gl_dispatch_stub_832) - GL_STUB(gl_dispatch_stub_833, _gloffset_GetQueryObjectui64vEXT) - HIDDEN(gl_dispatch_stub_833) - GL_STUB(glEGLImageTargetRenderbufferStorageOES, _gloffset_EGLImageTargetRenderbufferStorageOES) - GL_STUB(glEGLImageTargetTexture2DOES, _gloffset_EGLImageTargetTexture2DOES) + GL_STUB(glBindFragDataLocationEXT, 798) + GL_STUB(glGetFragDataLocationEXT, 799) + GL_STUB(glGetUniformuivEXT, 800) + GL_STUB(glGetVertexAttribIivEXT, 801) + GL_STUB(glGetVertexAttribIuivEXT, 802) + GL_STUB(glUniform1uiEXT, 803) + GL_STUB(glUniform1uivEXT, 804) + GL_STUB(glUniform2uiEXT, 805) + GL_STUB(glUniform2uivEXT, 806) + GL_STUB(glUniform3uiEXT, 807) + GL_STUB(glUniform3uivEXT, 808) + GL_STUB(glUniform4uiEXT, 809) + GL_STUB(glUniform4uivEXT, 810) + GL_STUB(glVertexAttribI1iEXT, 811) + GL_STUB(glVertexAttribI1ivEXT, 812) + GL_STUB(glVertexAttribI1uiEXT, 813) + GL_STUB(glVertexAttribI1uivEXT, 814) + GL_STUB(glVertexAttribI2iEXT, 815) + GL_STUB(glVertexAttribI2ivEXT, 816) + GL_STUB(glVertexAttribI2uiEXT, 817) + GL_STUB(glVertexAttribI2uivEXT, 818) + GL_STUB(glVertexAttribI3iEXT, 819) + GL_STUB(glVertexAttribI3ivEXT, 820) + GL_STUB(glVertexAttribI3uiEXT, 821) + GL_STUB(glVertexAttribI3uivEXT, 822) + GL_STUB(glVertexAttribI4bvEXT, 823) + GL_STUB(glVertexAttribI4iEXT, 824) + GL_STUB(glVertexAttribI4ivEXT, 825) + GL_STUB(glVertexAttribI4svEXT, 826) + GL_STUB(glVertexAttribI4ubvEXT, 827) + GL_STUB(glVertexAttribI4uiEXT, 828) + GL_STUB(glVertexAttribI4uivEXT, 829) + GL_STUB(glVertexAttribI4usvEXT, 830) + GL_STUB(glVertexAttribIPointerEXT, 831) + GL_STUB(glFramebufferTextureLayerEXT, 832) + GL_STUB(glColorMaskIndexedEXT, 833) + GL_STUB(glDisableIndexedEXT, 834) + GL_STUB(glEnableIndexedEXT, 835) + GL_STUB(glGetBooleanIndexedvEXT, 836) + GL_STUB(glGetIntegerIndexedvEXT, 837) + GL_STUB(glIsEnabledIndexedEXT, 838) + GL_STUB(glClearColorIiEXT, 839) + GL_STUB(glClearColorIuiEXT, 840) + GL_STUB(glGetTexParameterIivEXT, 841) + GL_STUB(glGetTexParameterIuivEXT, 842) + GL_STUB(glTexParameterIivEXT, 843) + GL_STUB(glTexParameterIuivEXT, 844) + GL_STUB(glBeginConditionalRenderNV, 845) + GL_STUB(glEndConditionalRenderNV, 846) + GL_STUB(glBeginTransformFeedbackEXT, 847) + GL_STUB(glBindBufferBaseEXT, 848) + GL_STUB(glBindBufferOffsetEXT, 849) + GL_STUB(glBindBufferRangeEXT, 850) + GL_STUB(glEndTransformFeedbackEXT, 851) + GL_STUB(glGetTransformFeedbackVaryingEXT, 852) + GL_STUB(glTransformFeedbackVaryingsEXT, 853) + GL_STUB(glProvokingVertexEXT, 854) + GL_STUB(gl_dispatch_stub_855, 855) + HIDDEN(gl_dispatch_stub_855) + GL_STUB(gl_dispatch_stub_856, 856) + HIDDEN(gl_dispatch_stub_856) + GL_STUB(glGetObjectParameterivAPPLE, 857) + GL_STUB(glObjectPurgeableAPPLE, 858) + GL_STUB(glObjectUnpurgeableAPPLE, 859) + GL_STUB(glActiveProgramEXT, 860) + GL_STUB(glCreateShaderProgramEXT, 861) + GL_STUB(glUseShaderProgramEXT, 862) + GL_STUB(gl_dispatch_stub_863, 863) + HIDDEN(gl_dispatch_stub_863) + GL_STUB(gl_dispatch_stub_864, 864) + HIDDEN(gl_dispatch_stub_864) + GL_STUB(gl_dispatch_stub_865, 865) + HIDDEN(gl_dispatch_stub_865) + GL_STUB(gl_dispatch_stub_866, 866) + HIDDEN(gl_dispatch_stub_866) + GL_STUB(gl_dispatch_stub_867, 867) + HIDDEN(gl_dispatch_stub_867) + GL_STUB(glEGLImageTargetRenderbufferStorageOES, 868) + GL_STUB(glEGLImageTargetTexture2DOES, 869) GL_STUB_ALIAS(glArrayElementEXT, glArrayElement) GL_STUB_ALIAS(glBindTextureEXT, glBindTexture) GL_STUB_ALIAS(glDrawArraysEXT, glDrawArrays) diff --git a/src/mapi/glapi/glapi_x86-64.S b/src/mapi/glapi/glapi_x86-64.S index 6d8de05ede8..b5d867872e7 100644 --- a/src/mapi/glapi/glapi_x86-64.S +++ b/src/mapi/glapi/glapi_x86-64.S @@ -30189,12 +30189,1326 @@ GL_PREFIX(_dispatch_stub_797): .size GL_PREFIX(_dispatch_stub_797), .-GL_PREFIX(_dispatch_stub_797) .p2align 4,,15 + .globl GL_PREFIX(BindFragDataLocationEXT) + .type GL_PREFIX(BindFragDataLocationEXT), @function +GL_PREFIX(BindFragDataLocationEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6384(%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 6384(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6384(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6384(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(BindFragDataLocationEXT), .-GL_PREFIX(BindFragDataLocationEXT) + + .p2align 4,,15 + .globl GL_PREFIX(GetFragDataLocationEXT) + .type GL_PREFIX(GetFragDataLocationEXT), @function +GL_PREFIX(GetFragDataLocationEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6392(%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 6392(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6392(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6392(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetFragDataLocationEXT), .-GL_PREFIX(GetFragDataLocationEXT) + + .p2align 4,,15 + .globl GL_PREFIX(GetUniformuivEXT) + .type GL_PREFIX(GetUniformuivEXT), @function +GL_PREFIX(GetUniformuivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6400(%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 6400(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6400(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6400(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetUniformuivEXT), .-GL_PREFIX(GetUniformuivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(GetVertexAttribIivEXT) + .type GL_PREFIX(GetVertexAttribIivEXT), @function +GL_PREFIX(GetVertexAttribIivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6408(%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 6408(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6408(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6408(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetVertexAttribIivEXT), .-GL_PREFIX(GetVertexAttribIivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(GetVertexAttribIuivEXT) + .type GL_PREFIX(GetVertexAttribIuivEXT), @function +GL_PREFIX(GetVertexAttribIuivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6416(%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 6416(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6416(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6416(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetVertexAttribIuivEXT), .-GL_PREFIX(GetVertexAttribIuivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform1uiEXT) + .type GL_PREFIX(Uniform1uiEXT), @function +GL_PREFIX(Uniform1uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6424(%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 6424(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6424(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6424(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform1uiEXT), .-GL_PREFIX(Uniform1uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform1uivEXT) + .type GL_PREFIX(Uniform1uivEXT), @function +GL_PREFIX(Uniform1uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6432(%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 6432(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6432(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6432(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform1uivEXT), .-GL_PREFIX(Uniform1uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform2uiEXT) + .type GL_PREFIX(Uniform2uiEXT), @function +GL_PREFIX(Uniform2uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6440(%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 6440(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6440(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6440(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform2uiEXT), .-GL_PREFIX(Uniform2uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform2uivEXT) + .type GL_PREFIX(Uniform2uivEXT), @function +GL_PREFIX(Uniform2uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6448(%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 6448(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6448(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6448(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform2uivEXT), .-GL_PREFIX(Uniform2uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform3uiEXT) + .type GL_PREFIX(Uniform3uiEXT), @function +GL_PREFIX(Uniform3uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6456(%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 6456(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6456(%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 6456(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform3uiEXT), .-GL_PREFIX(Uniform3uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform3uivEXT) + .type GL_PREFIX(Uniform3uivEXT), @function +GL_PREFIX(Uniform3uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6464(%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 6464(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6464(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6464(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform3uivEXT), .-GL_PREFIX(Uniform3uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform4uiEXT) + .type GL_PREFIX(Uniform4uiEXT), @function +GL_PREFIX(Uniform4uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6472(%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 6472(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6472(%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 6472(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform4uiEXT), .-GL_PREFIX(Uniform4uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(Uniform4uivEXT) + .type GL_PREFIX(Uniform4uivEXT), @function +GL_PREFIX(Uniform4uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6480(%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 6480(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6480(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6480(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(Uniform4uivEXT), .-GL_PREFIX(Uniform4uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI1iEXT) + .type GL_PREFIX(VertexAttribI1iEXT), @function +GL_PREFIX(VertexAttribI1iEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6488(%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 6488(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6488(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6488(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI1iEXT), .-GL_PREFIX(VertexAttribI1iEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI1ivEXT) + .type GL_PREFIX(VertexAttribI1ivEXT), @function +GL_PREFIX(VertexAttribI1ivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6496(%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 6496(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6496(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6496(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI1ivEXT), .-GL_PREFIX(VertexAttribI1ivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI1uiEXT) + .type GL_PREFIX(VertexAttribI1uiEXT), @function +GL_PREFIX(VertexAttribI1uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6504(%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 6504(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6504(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6504(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI1uiEXT), .-GL_PREFIX(VertexAttribI1uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI1uivEXT) + .type GL_PREFIX(VertexAttribI1uivEXT), @function +GL_PREFIX(VertexAttribI1uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6512(%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 6512(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6512(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6512(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI1uivEXT), .-GL_PREFIX(VertexAttribI1uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI2iEXT) + .type GL_PREFIX(VertexAttribI2iEXT), @function +GL_PREFIX(VertexAttribI2iEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6520(%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 6520(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6520(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6520(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI2iEXT), .-GL_PREFIX(VertexAttribI2iEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI2ivEXT) + .type GL_PREFIX(VertexAttribI2ivEXT), @function +GL_PREFIX(VertexAttribI2ivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6528(%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 6528(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6528(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6528(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI2ivEXT), .-GL_PREFIX(VertexAttribI2ivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI2uiEXT) + .type GL_PREFIX(VertexAttribI2uiEXT), @function +GL_PREFIX(VertexAttribI2uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6536(%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 6536(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6536(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 6536(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI2uiEXT), .-GL_PREFIX(VertexAttribI2uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI2uivEXT) + .type GL_PREFIX(VertexAttribI2uivEXT), @function +GL_PREFIX(VertexAttribI2uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6544(%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 6544(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6544(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6544(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI2uivEXT), .-GL_PREFIX(VertexAttribI2uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI3iEXT) + .type GL_PREFIX(VertexAttribI3iEXT), @function +GL_PREFIX(VertexAttribI3iEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6552(%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 6552(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6552(%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 6552(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI3iEXT), .-GL_PREFIX(VertexAttribI3iEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI3ivEXT) + .type GL_PREFIX(VertexAttribI3ivEXT), @function +GL_PREFIX(VertexAttribI3ivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6560(%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 6560(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6560(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6560(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI3ivEXT), .-GL_PREFIX(VertexAttribI3ivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI3uiEXT) + .type GL_PREFIX(VertexAttribI3uiEXT), @function +GL_PREFIX(VertexAttribI3uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6568(%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 6568(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6568(%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 6568(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI3uiEXT), .-GL_PREFIX(VertexAttribI3uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI3uivEXT) + .type GL_PREFIX(VertexAttribI3uivEXT), @function +GL_PREFIX(VertexAttribI3uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6576(%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 6576(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6576(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6576(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI3uivEXT), .-GL_PREFIX(VertexAttribI3uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4bvEXT) + .type GL_PREFIX(VertexAttribI4bvEXT), @function +GL_PREFIX(VertexAttribI4bvEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6584(%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 6584(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6584(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6584(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4bvEXT), .-GL_PREFIX(VertexAttribI4bvEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4iEXT) + .type GL_PREFIX(VertexAttribI4iEXT), @function +GL_PREFIX(VertexAttribI4iEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6592(%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 6592(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6592(%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 6592(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4iEXT), .-GL_PREFIX(VertexAttribI4iEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4ivEXT) + .type GL_PREFIX(VertexAttribI4ivEXT), @function +GL_PREFIX(VertexAttribI4ivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6600(%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 6600(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6600(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6600(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4ivEXT), .-GL_PREFIX(VertexAttribI4ivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4svEXT) + .type GL_PREFIX(VertexAttribI4svEXT), @function +GL_PREFIX(VertexAttribI4svEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6608(%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 6608(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6608(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6608(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4svEXT), .-GL_PREFIX(VertexAttribI4svEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4ubvEXT) + .type GL_PREFIX(VertexAttribI4ubvEXT), @function +GL_PREFIX(VertexAttribI4ubvEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6616(%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 6616(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6616(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6616(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4ubvEXT), .-GL_PREFIX(VertexAttribI4ubvEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4uiEXT) + .type GL_PREFIX(VertexAttribI4uiEXT), @function +GL_PREFIX(VertexAttribI4uiEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6624(%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 6624(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6624(%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 6624(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4uiEXT), .-GL_PREFIX(VertexAttribI4uiEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4uivEXT) + .type GL_PREFIX(VertexAttribI4uivEXT), @function +GL_PREFIX(VertexAttribI4uivEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6632(%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 6632(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6632(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6632(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4uivEXT), .-GL_PREFIX(VertexAttribI4uivEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribI4usvEXT) + .type GL_PREFIX(VertexAttribI4usvEXT), @function +GL_PREFIX(VertexAttribI4usvEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6640(%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 6640(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6640(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 6640(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribI4usvEXT), .-GL_PREFIX(VertexAttribI4usvEXT) + + .p2align 4,,15 + .globl GL_PREFIX(VertexAttribIPointerEXT) + .type GL_PREFIX(VertexAttribIPointerEXT), @function +GL_PREFIX(VertexAttribIPointerEXT): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6648(%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 6648(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6648(%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 6648(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribIPointerEXT), .-GL_PREFIX(VertexAttribIPointerEXT) + + .p2align 4,,15 .globl GL_PREFIX(FramebufferTextureLayerEXT) .type GL_PREFIX(FramebufferTextureLayerEXT), @function GL_PREFIX(FramebufferTextureLayerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6384(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30208,13 +31522,13 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6384(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30228,7 +31542,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT) @@ -30239,7 +31553,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): GL_PREFIX(ColorMaskIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6392(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30253,13 +31567,13 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6392(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30273,7 +31587,7 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorMaskIndexedEXT), .-GL_PREFIX(ColorMaskIndexedEXT) @@ -30284,7 +31598,7 @@ GL_PREFIX(ColorMaskIndexedEXT): GL_PREFIX(DisableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6400(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30294,13 +31608,13 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6400(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30310,7 +31624,7 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DisableIndexedEXT), .-GL_PREFIX(DisableIndexedEXT) @@ -30321,7 +31635,7 @@ GL_PREFIX(DisableIndexedEXT): GL_PREFIX(EnableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6408(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30331,13 +31645,13 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6408(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6408(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30347,7 +31661,7 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6408(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EnableIndexedEXT), .-GL_PREFIX(EnableIndexedEXT) @@ -30358,7 +31672,7 @@ GL_PREFIX(EnableIndexedEXT): GL_PREFIX(GetBooleanIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6416(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30368,13 +31682,13 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6416(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30384,7 +31698,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBooleanIndexedvEXT), .-GL_PREFIX(GetBooleanIndexedvEXT) @@ -30395,7 +31709,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): GL_PREFIX(GetIntegerIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6424(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30405,13 +31719,13 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6424(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30421,7 +31735,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetIntegerIndexedvEXT), .-GL_PREFIX(GetIntegerIndexedvEXT) @@ -30432,7 +31746,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): GL_PREFIX(IsEnabledIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6432(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30442,13 +31756,13 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6432(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6432(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30458,7 +31772,7 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6432(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsEnabledIndexedEXT), .-GL_PREFIX(IsEnabledIndexedEXT) @@ -30469,7 +31783,7 @@ GL_PREFIX(IsEnabledIndexedEXT): GL_PREFIX(ClearColorIiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6440(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30483,13 +31797,13 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6440(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30503,7 +31817,7 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIiEXT), .-GL_PREFIX(ClearColorIiEXT) @@ -30514,7 +31828,7 @@ GL_PREFIX(ClearColorIiEXT): GL_PREFIX(ClearColorIuiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6448(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30528,13 +31842,13 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6448(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30548,7 +31862,7 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIuiEXT), .-GL_PREFIX(ClearColorIuiEXT) @@ -30559,7 +31873,7 @@ GL_PREFIX(ClearColorIuiEXT): GL_PREFIX(GetTexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6456(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30569,13 +31883,13 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6456(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6456(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30585,7 +31899,7 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6456(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIivEXT), .-GL_PREFIX(GetTexParameterIivEXT) @@ -30596,7 +31910,7 @@ GL_PREFIX(GetTexParameterIivEXT): GL_PREFIX(GetTexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6464(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30606,13 +31920,13 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6464(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30622,7 +31936,7 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIuivEXT), .-GL_PREFIX(GetTexParameterIuivEXT) @@ -30633,7 +31947,7 @@ GL_PREFIX(GetTexParameterIuivEXT): GL_PREFIX(TexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6472(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30643,13 +31957,13 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6472(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30659,7 +31973,7 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIivEXT), .-GL_PREFIX(TexParameterIivEXT) @@ -30670,7 +31984,7 @@ GL_PREFIX(TexParameterIivEXT): GL_PREFIX(TexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6480(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30680,13 +31994,13 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6480(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30696,7 +32010,7 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIuivEXT), .-GL_PREFIX(TexParameterIuivEXT) @@ -30707,7 +32021,7 @@ GL_PREFIX(TexParameterIuivEXT): GL_PREFIX(BeginConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6488(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30717,13 +32031,13 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6488(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30733,7 +32047,7 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginConditionalRenderNV), .-GL_PREFIX(BeginConditionalRenderNV) @@ -30744,25 +32058,25 @@ GL_PREFIX(BeginConditionalRenderNV): GL_PREFIX(EndConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6496(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6496(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6496(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6496(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndConditionalRenderNV), .-GL_PREFIX(EndConditionalRenderNV) @@ -30773,25 +32087,25 @@ GL_PREFIX(EndConditionalRenderNV): GL_PREFIX(BeginTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6504(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6504(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6504(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6504(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginTransformFeedbackEXT), .-GL_PREFIX(BeginTransformFeedbackEXT) @@ -30802,7 +32116,7 @@ GL_PREFIX(BeginTransformFeedbackEXT): GL_PREFIX(BindBufferBaseEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6512(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30812,13 +32126,13 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6512(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30828,7 +32142,7 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferBaseEXT), .-GL_PREFIX(BindBufferBaseEXT) @@ -30839,7 +32153,7 @@ GL_PREFIX(BindBufferBaseEXT): GL_PREFIX(BindBufferOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6520(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30853,13 +32167,13 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6520(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30873,7 +32187,7 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferOffsetEXT), .-GL_PREFIX(BindBufferOffsetEXT) @@ -30884,7 +32198,7 @@ GL_PREFIX(BindBufferOffsetEXT): GL_PREFIX(BindBufferRangeEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6528(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30898,13 +32212,13 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6528(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30918,7 +32232,7 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferRangeEXT), .-GL_PREFIX(BindBufferRangeEXT) @@ -30929,25 +32243,25 @@ GL_PREFIX(BindBufferRangeEXT): GL_PREFIX(EndTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6536(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6536(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6536(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6536(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndTransformFeedbackEXT), .-GL_PREFIX(EndTransformFeedbackEXT) @@ -30958,7 +32272,7 @@ GL_PREFIX(EndTransformFeedbackEXT): GL_PREFIX(GetTransformFeedbackVaryingEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6544(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30976,13 +32290,13 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6544(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31000,7 +32314,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTransformFeedbackVaryingEXT), .-GL_PREFIX(GetTransformFeedbackVaryingEXT) @@ -31011,7 +32325,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): GL_PREFIX(TransformFeedbackVaryingsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6552(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31025,13 +32339,13 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 6552(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6552(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31045,7 +32359,7 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 6552(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TransformFeedbackVaryingsEXT), .-GL_PREFIX(TransformFeedbackVaryingsEXT) @@ -31056,37 +32370,37 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): GL_PREFIX(ProvokingVertexEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6560(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6560(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6560(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6560(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_821) - .type GL_PREFIX(_dispatch_stub_821), @function - HIDDEN(GL_PREFIX(_dispatch_stub_821)) -GL_PREFIX(_dispatch_stub_821): + .globl GL_PREFIX(_dispatch_stub_855) + .type GL_PREFIX(_dispatch_stub_855), @function + HIDDEN(GL_PREFIX(_dispatch_stub_855)) +GL_PREFIX(_dispatch_stub_855): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6568(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31096,13 +32410,13 @@ GL_PREFIX(_dispatch_stub_821): popq %rdx popq %rsi popq %rdi - movq 6568(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6568(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31112,19 +32426,19 @@ GL_PREFIX(_dispatch_stub_821): popq %rdx popq %rsi popq %rdi - movq 6568(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_821), .-GL_PREFIX(_dispatch_stub_821) + .size GL_PREFIX(_dispatch_stub_855), .-GL_PREFIX(_dispatch_stub_855) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_822) - .type GL_PREFIX(_dispatch_stub_822), @function - HIDDEN(GL_PREFIX(_dispatch_stub_822)) -GL_PREFIX(_dispatch_stub_822): + .globl GL_PREFIX(_dispatch_stub_856) + .type GL_PREFIX(_dispatch_stub_856), @function + HIDDEN(GL_PREFIX(_dispatch_stub_856)) +GL_PREFIX(_dispatch_stub_856): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6576(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31134,13 +32448,13 @@ GL_PREFIX(_dispatch_stub_822): popq %rdx popq %rsi popq %rdi - movq 6576(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6576(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31150,10 +32464,10 @@ GL_PREFIX(_dispatch_stub_822): popq %rdx popq %rsi popq %rdi - movq 6576(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_822), .-GL_PREFIX(_dispatch_stub_822) + .size GL_PREFIX(_dispatch_stub_856), .-GL_PREFIX(_dispatch_stub_856) .p2align 4,,15 .globl GL_PREFIX(GetObjectParameterivAPPLE) @@ -31161,7 +32475,7 @@ GL_PREFIX(_dispatch_stub_822): GL_PREFIX(GetObjectParameterivAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6584(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31175,13 +32489,13 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 6584(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6584(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31195,7 +32509,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 6584(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetObjectParameterivAPPLE), .-GL_PREFIX(GetObjectParameterivAPPLE) @@ -31206,7 +32520,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): GL_PREFIX(ObjectPurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6592(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31216,13 +32530,13 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6592(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6592(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31232,7 +32546,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6592(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectPurgeableAPPLE), .-GL_PREFIX(ObjectPurgeableAPPLE) @@ -31243,7 +32557,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): GL_PREFIX(ObjectUnpurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6600(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31253,13 +32567,13 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6600(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31269,7 +32583,7 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectUnpurgeableAPPLE), .-GL_PREFIX(ObjectUnpurgeableAPPLE) @@ -31280,25 +32594,25 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): GL_PREFIX(ActiveProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6608(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6608(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6608(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6608(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ActiveProgramEXT), .-GL_PREFIX(ActiveProgramEXT) @@ -31309,7 +32623,7 @@ GL_PREFIX(ActiveProgramEXT): GL_PREFIX(CreateShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6616(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31319,13 +32633,13 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6616(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6616(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31335,7 +32649,7 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6616(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CreateShaderProgramEXT), .-GL_PREFIX(CreateShaderProgramEXT) @@ -31346,7 +32660,7 @@ GL_PREFIX(CreateShaderProgramEXT): GL_PREFIX(UseShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6624(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31356,13 +32670,13 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6624(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31372,19 +32686,19 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UseShaderProgramEXT), .-GL_PREFIX(UseShaderProgramEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_829) - .type GL_PREFIX(_dispatch_stub_829), @function - HIDDEN(GL_PREFIX(_dispatch_stub_829)) -GL_PREFIX(_dispatch_stub_829): + .globl GL_PREFIX(_dispatch_stub_863) + .type GL_PREFIX(_dispatch_stub_863), @function + HIDDEN(GL_PREFIX(_dispatch_stub_863)) +GL_PREFIX(_dispatch_stub_863): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6632(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31398,13 +32712,13 @@ GL_PREFIX(_dispatch_stub_829): popq %rdx popq %rsi popq %rdi - movq 6632(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6632(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31418,19 +32732,19 @@ GL_PREFIX(_dispatch_stub_829): popq %rdx popq %rsi popq %rdi - movq 6632(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_829), .-GL_PREFIX(_dispatch_stub_829) + .size GL_PREFIX(_dispatch_stub_863), .-GL_PREFIX(_dispatch_stub_863) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_830) - .type GL_PREFIX(_dispatch_stub_830), @function - HIDDEN(GL_PREFIX(_dispatch_stub_830)) -GL_PREFIX(_dispatch_stub_830): + .globl GL_PREFIX(_dispatch_stub_864) + .type GL_PREFIX(_dispatch_stub_864), @function + HIDDEN(GL_PREFIX(_dispatch_stub_864)) +GL_PREFIX(_dispatch_stub_864): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6640(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31444,13 +32758,13 @@ GL_PREFIX(_dispatch_stub_830): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6640(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31464,19 +32778,19 @@ GL_PREFIX(_dispatch_stub_830): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_830), .-GL_PREFIX(_dispatch_stub_830) + .size GL_PREFIX(_dispatch_stub_864), .-GL_PREFIX(_dispatch_stub_864) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_831) - .type GL_PREFIX(_dispatch_stub_831), @function - HIDDEN(GL_PREFIX(_dispatch_stub_831)) -GL_PREFIX(_dispatch_stub_831): + .globl GL_PREFIX(_dispatch_stub_865) + .type GL_PREFIX(_dispatch_stub_865), @function + HIDDEN(GL_PREFIX(_dispatch_stub_865)) +GL_PREFIX(_dispatch_stub_865): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6648(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31490,13 +32804,13 @@ GL_PREFIX(_dispatch_stub_831): popq %rdx popq %rsi popq %rdi - movq 6648(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6648(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31510,19 +32824,19 @@ GL_PREFIX(_dispatch_stub_831): popq %rdx popq %rsi popq %rdi - movq 6648(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_831), .-GL_PREFIX(_dispatch_stub_831) + .size GL_PREFIX(_dispatch_stub_865), .-GL_PREFIX(_dispatch_stub_865) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_832) - .type GL_PREFIX(_dispatch_stub_832), @function - HIDDEN(GL_PREFIX(_dispatch_stub_832)) -GL_PREFIX(_dispatch_stub_832): + .globl GL_PREFIX(_dispatch_stub_866) + .type GL_PREFIX(_dispatch_stub_866), @function + HIDDEN(GL_PREFIX(_dispatch_stub_866)) +GL_PREFIX(_dispatch_stub_866): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6656(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31532,13 +32846,13 @@ GL_PREFIX(_dispatch_stub_832): popq %rdx popq %rsi popq %rdi - movq 6656(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6656(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31548,19 +32862,19 @@ GL_PREFIX(_dispatch_stub_832): popq %rdx popq %rsi popq %rdi - movq 6656(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_832), .-GL_PREFIX(_dispatch_stub_832) + .size GL_PREFIX(_dispatch_stub_866), .-GL_PREFIX(_dispatch_stub_866) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_833) - .type GL_PREFIX(_dispatch_stub_833), @function - HIDDEN(GL_PREFIX(_dispatch_stub_833)) -GL_PREFIX(_dispatch_stub_833): + .globl GL_PREFIX(_dispatch_stub_867) + .type GL_PREFIX(_dispatch_stub_867), @function + HIDDEN(GL_PREFIX(_dispatch_stub_867)) +GL_PREFIX(_dispatch_stub_867): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6664(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31570,13 +32884,13 @@ GL_PREFIX(_dispatch_stub_833): popq %rdx popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6664(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31586,10 +32900,10 @@ GL_PREFIX(_dispatch_stub_833): popq %rdx popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_833), .-GL_PREFIX(_dispatch_stub_833) + .size GL_PREFIX(_dispatch_stub_867), .-GL_PREFIX(_dispatch_stub_867) .p2align 4,,15 .globl GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -31597,7 +32911,7 @@ GL_PREFIX(_dispatch_stub_833): GL_PREFIX(EGLImageTargetRenderbufferStorageOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6672(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31607,13 +32921,13 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6672(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31623,7 +32937,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetRenderbufferStorageOES), .-GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -31634,7 +32948,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): GL_PREFIX(EGLImageTargetTexture2DOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6680(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31644,13 +32958,13 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6680(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31660,7 +32974,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetTexture2DOES), .-GL_PREFIX(EGLImageTargetTexture2DOES) diff --git a/src/mapi/glapi/glapi_x86.S b/src/mapi/glapi/glapi_x86.S index 8c9af0f37ab..670a45f83b5 100644 --- a/src/mapi/glapi/glapi_x86.S +++ b/src/mapi/glapi/glapi_x86.S @@ -27,7 +27,6 @@ */ #include "x86/assyntax.h" -#include "glapi/glapioffsets.h" #if defined(STDCALL_API) # if defined(USE_MGL_NAMESPACE) @@ -151,1164 +150,1198 @@ EXTERN GLNAME(_glapi_get_dispatch) HIDDEN(GLNAME(gl_dispatch_functions_start)) GLNAME(gl_dispatch_functions_start): - GL_STUB(NewList, _gloffset_NewList, NewList@8) - GL_STUB(EndList, _gloffset_EndList, EndList@0) - GL_STUB(CallList, _gloffset_CallList, CallList@4) - GL_STUB(CallLists, _gloffset_CallLists, CallLists@12) - GL_STUB(DeleteLists, _gloffset_DeleteLists, DeleteLists@8) - GL_STUB(GenLists, _gloffset_GenLists, GenLists@4) - GL_STUB(ListBase, _gloffset_ListBase, ListBase@4) - GL_STUB(Begin, _gloffset_Begin, Begin@4) - GL_STUB(Bitmap, _gloffset_Bitmap, Bitmap@28) - GL_STUB(Color3b, _gloffset_Color3b, Color3b@12) - GL_STUB(Color3bv, _gloffset_Color3bv, Color3bv@4) - GL_STUB(Color3d, _gloffset_Color3d, Color3d@24) - GL_STUB(Color3dv, _gloffset_Color3dv, Color3dv@4) - GL_STUB(Color3f, _gloffset_Color3f, Color3f@12) - GL_STUB(Color3fv, _gloffset_Color3fv, Color3fv@4) - GL_STUB(Color3i, _gloffset_Color3i, Color3i@12) - GL_STUB(Color3iv, _gloffset_Color3iv, Color3iv@4) - GL_STUB(Color3s, _gloffset_Color3s, Color3s@12) - GL_STUB(Color3sv, _gloffset_Color3sv, Color3sv@4) - GL_STUB(Color3ub, _gloffset_Color3ub, Color3ub@12) - GL_STUB(Color3ubv, _gloffset_Color3ubv, Color3ubv@4) - GL_STUB(Color3ui, _gloffset_Color3ui, Color3ui@12) - GL_STUB(Color3uiv, _gloffset_Color3uiv, Color3uiv@4) - GL_STUB(Color3us, _gloffset_Color3us, Color3us@12) - GL_STUB(Color3usv, _gloffset_Color3usv, Color3usv@4) - GL_STUB(Color4b, _gloffset_Color4b, Color4b@16) - GL_STUB(Color4bv, _gloffset_Color4bv, Color4bv@4) - GL_STUB(Color4d, _gloffset_Color4d, Color4d@32) - GL_STUB(Color4dv, _gloffset_Color4dv, Color4dv@4) - GL_STUB(Color4f, _gloffset_Color4f, Color4f@16) - GL_STUB(Color4fv, _gloffset_Color4fv, Color4fv@4) - GL_STUB(Color4i, _gloffset_Color4i, Color4i@16) - GL_STUB(Color4iv, _gloffset_Color4iv, Color4iv@4) - GL_STUB(Color4s, _gloffset_Color4s, Color4s@16) - GL_STUB(Color4sv, _gloffset_Color4sv, Color4sv@4) - GL_STUB(Color4ub, _gloffset_Color4ub, Color4ub@16) - GL_STUB(Color4ubv, _gloffset_Color4ubv, Color4ubv@4) - GL_STUB(Color4ui, _gloffset_Color4ui, Color4ui@16) - GL_STUB(Color4uiv, _gloffset_Color4uiv, Color4uiv@4) - GL_STUB(Color4us, _gloffset_Color4us, Color4us@16) - GL_STUB(Color4usv, _gloffset_Color4usv, Color4usv@4) - GL_STUB(EdgeFlag, _gloffset_EdgeFlag, EdgeFlag@4) - GL_STUB(EdgeFlagv, _gloffset_EdgeFlagv, EdgeFlagv@4) - GL_STUB(End, _gloffset_End, End@0) - GL_STUB(Indexd, _gloffset_Indexd, Indexd@8) - GL_STUB(Indexdv, _gloffset_Indexdv, Indexdv@4) - GL_STUB(Indexf, _gloffset_Indexf, Indexf@4) - GL_STUB(Indexfv, _gloffset_Indexfv, Indexfv@4) - GL_STUB(Indexi, _gloffset_Indexi, Indexi@4) - GL_STUB(Indexiv, _gloffset_Indexiv, Indexiv@4) - GL_STUB(Indexs, _gloffset_Indexs, Indexs@4) - GL_STUB(Indexsv, _gloffset_Indexsv, Indexsv@4) - GL_STUB(Normal3b, _gloffset_Normal3b, Normal3b@12) - GL_STUB(Normal3bv, _gloffset_Normal3bv, Normal3bv@4) - GL_STUB(Normal3d, _gloffset_Normal3d, Normal3d@24) - GL_STUB(Normal3dv, _gloffset_Normal3dv, Normal3dv@4) - GL_STUB(Normal3f, _gloffset_Normal3f, Normal3f@12) - GL_STUB(Normal3fv, _gloffset_Normal3fv, Normal3fv@4) - GL_STUB(Normal3i, _gloffset_Normal3i, Normal3i@12) - GL_STUB(Normal3iv, _gloffset_Normal3iv, Normal3iv@4) - GL_STUB(Normal3s, _gloffset_Normal3s, Normal3s@12) - GL_STUB(Normal3sv, _gloffset_Normal3sv, Normal3sv@4) - GL_STUB(RasterPos2d, _gloffset_RasterPos2d, RasterPos2d@16) - GL_STUB(RasterPos2dv, _gloffset_RasterPos2dv, RasterPos2dv@4) - GL_STUB(RasterPos2f, _gloffset_RasterPos2f, RasterPos2f@8) - GL_STUB(RasterPos2fv, _gloffset_RasterPos2fv, RasterPos2fv@4) - GL_STUB(RasterPos2i, _gloffset_RasterPos2i, RasterPos2i@8) - GL_STUB(RasterPos2iv, _gloffset_RasterPos2iv, RasterPos2iv@4) - GL_STUB(RasterPos2s, _gloffset_RasterPos2s, RasterPos2s@8) - GL_STUB(RasterPos2sv, _gloffset_RasterPos2sv, RasterPos2sv@4) - GL_STUB(RasterPos3d, _gloffset_RasterPos3d, RasterPos3d@24) - GL_STUB(RasterPos3dv, _gloffset_RasterPos3dv, RasterPos3dv@4) - GL_STUB(RasterPos3f, _gloffset_RasterPos3f, RasterPos3f@12) - GL_STUB(RasterPos3fv, _gloffset_RasterPos3fv, RasterPos3fv@4) - GL_STUB(RasterPos3i, _gloffset_RasterPos3i, RasterPos3i@12) - GL_STUB(RasterPos3iv, _gloffset_RasterPos3iv, RasterPos3iv@4) - GL_STUB(RasterPos3s, _gloffset_RasterPos3s, RasterPos3s@12) - GL_STUB(RasterPos3sv, _gloffset_RasterPos3sv, RasterPos3sv@4) - GL_STUB(RasterPos4d, _gloffset_RasterPos4d, RasterPos4d@32) - GL_STUB(RasterPos4dv, _gloffset_RasterPos4dv, RasterPos4dv@4) - GL_STUB(RasterPos4f, _gloffset_RasterPos4f, RasterPos4f@16) - GL_STUB(RasterPos4fv, _gloffset_RasterPos4fv, RasterPos4fv@4) - GL_STUB(RasterPos4i, _gloffset_RasterPos4i, RasterPos4i@16) - GL_STUB(RasterPos4iv, _gloffset_RasterPos4iv, RasterPos4iv@4) - GL_STUB(RasterPos4s, _gloffset_RasterPos4s, RasterPos4s@16) - GL_STUB(RasterPos4sv, _gloffset_RasterPos4sv, RasterPos4sv@4) - GL_STUB(Rectd, _gloffset_Rectd, Rectd@32) - GL_STUB(Rectdv, _gloffset_Rectdv, Rectdv@8) - GL_STUB(Rectf, _gloffset_Rectf, Rectf@16) - GL_STUB(Rectfv, _gloffset_Rectfv, Rectfv@8) - GL_STUB(Recti, _gloffset_Recti, Recti@16) - GL_STUB(Rectiv, _gloffset_Rectiv, Rectiv@8) - GL_STUB(Rects, _gloffset_Rects, Rects@16) - GL_STUB(Rectsv, _gloffset_Rectsv, Rectsv@8) - GL_STUB(TexCoord1d, _gloffset_TexCoord1d, TexCoord1d@8) - GL_STUB(TexCoord1dv, _gloffset_TexCoord1dv, TexCoord1dv@4) - GL_STUB(TexCoord1f, _gloffset_TexCoord1f, TexCoord1f@4) - GL_STUB(TexCoord1fv, _gloffset_TexCoord1fv, TexCoord1fv@4) - GL_STUB(TexCoord1i, _gloffset_TexCoord1i, TexCoord1i@4) - GL_STUB(TexCoord1iv, _gloffset_TexCoord1iv, TexCoord1iv@4) - GL_STUB(TexCoord1s, _gloffset_TexCoord1s, TexCoord1s@4) - GL_STUB(TexCoord1sv, _gloffset_TexCoord1sv, TexCoord1sv@4) - GL_STUB(TexCoord2d, _gloffset_TexCoord2d, TexCoord2d@16) - GL_STUB(TexCoord2dv, _gloffset_TexCoord2dv, TexCoord2dv@4) - GL_STUB(TexCoord2f, _gloffset_TexCoord2f, TexCoord2f@8) - GL_STUB(TexCoord2fv, _gloffset_TexCoord2fv, TexCoord2fv@4) - GL_STUB(TexCoord2i, _gloffset_TexCoord2i, TexCoord2i@8) - GL_STUB(TexCoord2iv, _gloffset_TexCoord2iv, TexCoord2iv@4) - GL_STUB(TexCoord2s, _gloffset_TexCoord2s, TexCoord2s@8) - GL_STUB(TexCoord2sv, _gloffset_TexCoord2sv, TexCoord2sv@4) - GL_STUB(TexCoord3d, _gloffset_TexCoord3d, TexCoord3d@24) - GL_STUB(TexCoord3dv, _gloffset_TexCoord3dv, TexCoord3dv@4) - GL_STUB(TexCoord3f, _gloffset_TexCoord3f, TexCoord3f@12) - GL_STUB(TexCoord3fv, _gloffset_TexCoord3fv, TexCoord3fv@4) - GL_STUB(TexCoord3i, _gloffset_TexCoord3i, TexCoord3i@12) - GL_STUB(TexCoord3iv, _gloffset_TexCoord3iv, TexCoord3iv@4) - GL_STUB(TexCoord3s, _gloffset_TexCoord3s, TexCoord3s@12) - GL_STUB(TexCoord3sv, _gloffset_TexCoord3sv, TexCoord3sv@4) - GL_STUB(TexCoord4d, _gloffset_TexCoord4d, TexCoord4d@32) - GL_STUB(TexCoord4dv, _gloffset_TexCoord4dv, TexCoord4dv@4) - GL_STUB(TexCoord4f, _gloffset_TexCoord4f, TexCoord4f@16) - GL_STUB(TexCoord4fv, _gloffset_TexCoord4fv, TexCoord4fv@4) - GL_STUB(TexCoord4i, _gloffset_TexCoord4i, TexCoord4i@16) - GL_STUB(TexCoord4iv, _gloffset_TexCoord4iv, TexCoord4iv@4) - GL_STUB(TexCoord4s, _gloffset_TexCoord4s, TexCoord4s@16) - GL_STUB(TexCoord4sv, _gloffset_TexCoord4sv, TexCoord4sv@4) - GL_STUB(Vertex2d, _gloffset_Vertex2d, Vertex2d@16) - GL_STUB(Vertex2dv, _gloffset_Vertex2dv, Vertex2dv@4) - GL_STUB(Vertex2f, _gloffset_Vertex2f, Vertex2f@8) - GL_STUB(Vertex2fv, _gloffset_Vertex2fv, Vertex2fv@4) - GL_STUB(Vertex2i, _gloffset_Vertex2i, Vertex2i@8) - GL_STUB(Vertex2iv, _gloffset_Vertex2iv, Vertex2iv@4) - GL_STUB(Vertex2s, _gloffset_Vertex2s, Vertex2s@8) - GL_STUB(Vertex2sv, _gloffset_Vertex2sv, Vertex2sv@4) - GL_STUB(Vertex3d, _gloffset_Vertex3d, Vertex3d@24) - GL_STUB(Vertex3dv, _gloffset_Vertex3dv, Vertex3dv@4) - GL_STUB(Vertex3f, _gloffset_Vertex3f, Vertex3f@12) - GL_STUB(Vertex3fv, _gloffset_Vertex3fv, Vertex3fv@4) - GL_STUB(Vertex3i, _gloffset_Vertex3i, Vertex3i@12) - GL_STUB(Vertex3iv, _gloffset_Vertex3iv, Vertex3iv@4) - GL_STUB(Vertex3s, _gloffset_Vertex3s, Vertex3s@12) - GL_STUB(Vertex3sv, _gloffset_Vertex3sv, Vertex3sv@4) - GL_STUB(Vertex4d, _gloffset_Vertex4d, Vertex4d@32) - GL_STUB(Vertex4dv, _gloffset_Vertex4dv, Vertex4dv@4) - GL_STUB(Vertex4f, _gloffset_Vertex4f, Vertex4f@16) - GL_STUB(Vertex4fv, _gloffset_Vertex4fv, Vertex4fv@4) - GL_STUB(Vertex4i, _gloffset_Vertex4i, Vertex4i@16) - GL_STUB(Vertex4iv, _gloffset_Vertex4iv, Vertex4iv@4) - GL_STUB(Vertex4s, _gloffset_Vertex4s, Vertex4s@16) - GL_STUB(Vertex4sv, _gloffset_Vertex4sv, Vertex4sv@4) - GL_STUB(ClipPlane, _gloffset_ClipPlane, ClipPlane@8) - GL_STUB(ColorMaterial, _gloffset_ColorMaterial, ColorMaterial@8) - GL_STUB(CullFace, _gloffset_CullFace, CullFace@4) - GL_STUB(Fogf, _gloffset_Fogf, Fogf@8) - GL_STUB(Fogfv, _gloffset_Fogfv, Fogfv@8) - GL_STUB(Fogi, _gloffset_Fogi, Fogi@8) - GL_STUB(Fogiv, _gloffset_Fogiv, Fogiv@8) - GL_STUB(FrontFace, _gloffset_FrontFace, FrontFace@4) - GL_STUB(Hint, _gloffset_Hint, Hint@8) - GL_STUB(Lightf, _gloffset_Lightf, Lightf@12) - GL_STUB(Lightfv, _gloffset_Lightfv, Lightfv@12) - GL_STUB(Lighti, _gloffset_Lighti, Lighti@12) - GL_STUB(Lightiv, _gloffset_Lightiv, Lightiv@12) - GL_STUB(LightModelf, _gloffset_LightModelf, LightModelf@8) - GL_STUB(LightModelfv, _gloffset_LightModelfv, LightModelfv@8) - GL_STUB(LightModeli, _gloffset_LightModeli, LightModeli@8) - GL_STUB(LightModeliv, _gloffset_LightModeliv, LightModeliv@8) - GL_STUB(LineStipple, _gloffset_LineStipple, LineStipple@8) - GL_STUB(LineWidth, _gloffset_LineWidth, LineWidth@4) - GL_STUB(Materialf, _gloffset_Materialf, Materialf@12) - GL_STUB(Materialfv, _gloffset_Materialfv, Materialfv@12) - GL_STUB(Materiali, _gloffset_Materiali, Materiali@12) - GL_STUB(Materialiv, _gloffset_Materialiv, Materialiv@12) - GL_STUB(PointSize, _gloffset_PointSize, PointSize@4) - GL_STUB(PolygonMode, _gloffset_PolygonMode, PolygonMode@8) - GL_STUB(PolygonStipple, _gloffset_PolygonStipple, PolygonStipple@4) - GL_STUB(Scissor, _gloffset_Scissor, Scissor@16) - GL_STUB(ShadeModel, _gloffset_ShadeModel, ShadeModel@4) - GL_STUB(TexParameterf, _gloffset_TexParameterf, TexParameterf@12) - GL_STUB(TexParameterfv, _gloffset_TexParameterfv, TexParameterfv@12) - GL_STUB(TexParameteri, _gloffset_TexParameteri, TexParameteri@12) - GL_STUB(TexParameteriv, _gloffset_TexParameteriv, TexParameteriv@12) - GL_STUB(TexImage1D, _gloffset_TexImage1D, TexImage1D@32) - GL_STUB(TexImage2D, _gloffset_TexImage2D, TexImage2D@36) - GL_STUB(TexEnvf, _gloffset_TexEnvf, TexEnvf@12) - GL_STUB(TexEnvfv, _gloffset_TexEnvfv, TexEnvfv@12) - GL_STUB(TexEnvi, _gloffset_TexEnvi, TexEnvi@12) - GL_STUB(TexEnviv, _gloffset_TexEnviv, TexEnviv@12) - GL_STUB(TexGend, _gloffset_TexGend, TexGend@16) - GL_STUB(TexGendv, _gloffset_TexGendv, TexGendv@12) - GL_STUB(TexGenf, _gloffset_TexGenf, TexGenf@12) - GL_STUB(TexGenfv, _gloffset_TexGenfv, TexGenfv@12) - GL_STUB(TexGeni, _gloffset_TexGeni, TexGeni@12) - GL_STUB(TexGeniv, _gloffset_TexGeniv, TexGeniv@12) - GL_STUB(FeedbackBuffer, _gloffset_FeedbackBuffer, FeedbackBuffer@12) - GL_STUB(SelectBuffer, _gloffset_SelectBuffer, SelectBuffer@8) - GL_STUB(RenderMode, _gloffset_RenderMode, RenderMode@4) - GL_STUB(InitNames, _gloffset_InitNames, InitNames@0) - GL_STUB(LoadName, _gloffset_LoadName, LoadName@4) - GL_STUB(PassThrough, _gloffset_PassThrough, PassThrough@4) - GL_STUB(PopName, _gloffset_PopName, PopName@0) - GL_STUB(PushName, _gloffset_PushName, PushName@4) - GL_STUB(DrawBuffer, _gloffset_DrawBuffer, DrawBuffer@4) - GL_STUB(Clear, _gloffset_Clear, Clear@4) - GL_STUB(ClearAccum, _gloffset_ClearAccum, ClearAccum@16) - GL_STUB(ClearIndex, _gloffset_ClearIndex, ClearIndex@4) - GL_STUB(ClearColor, _gloffset_ClearColor, ClearColor@16) - GL_STUB(ClearStencil, _gloffset_ClearStencil, ClearStencil@4) - GL_STUB(ClearDepth, _gloffset_ClearDepth, ClearDepth@8) - GL_STUB(StencilMask, _gloffset_StencilMask, StencilMask@4) - GL_STUB(ColorMask, _gloffset_ColorMask, ColorMask@16) - GL_STUB(DepthMask, _gloffset_DepthMask, DepthMask@4) - GL_STUB(IndexMask, _gloffset_IndexMask, IndexMask@4) - GL_STUB(Accum, _gloffset_Accum, Accum@8) - GL_STUB(Disable, _gloffset_Disable, Disable@4) - GL_STUB(Enable, _gloffset_Enable, Enable@4) - GL_STUB(Finish, _gloffset_Finish, Finish@0) - GL_STUB(Flush, _gloffset_Flush, Flush@0) - GL_STUB(PopAttrib, _gloffset_PopAttrib, PopAttrib@0) - GL_STUB(PushAttrib, _gloffset_PushAttrib, PushAttrib@4) - GL_STUB(Map1d, _gloffset_Map1d, Map1d@32) - GL_STUB(Map1f, _gloffset_Map1f, Map1f@24) - GL_STUB(Map2d, _gloffset_Map2d, Map2d@56) - GL_STUB(Map2f, _gloffset_Map2f, Map2f@40) - GL_STUB(MapGrid1d, _gloffset_MapGrid1d, MapGrid1d@20) - GL_STUB(MapGrid1f, _gloffset_MapGrid1f, MapGrid1f@12) - GL_STUB(MapGrid2d, _gloffset_MapGrid2d, MapGrid2d@40) - GL_STUB(MapGrid2f, _gloffset_MapGrid2f, MapGrid2f@24) - GL_STUB(EvalCoord1d, _gloffset_EvalCoord1d, EvalCoord1d@8) - GL_STUB(EvalCoord1dv, _gloffset_EvalCoord1dv, EvalCoord1dv@4) - GL_STUB(EvalCoord1f, _gloffset_EvalCoord1f, EvalCoord1f@4) - GL_STUB(EvalCoord1fv, _gloffset_EvalCoord1fv, EvalCoord1fv@4) - GL_STUB(EvalCoord2d, _gloffset_EvalCoord2d, EvalCoord2d@16) - GL_STUB(EvalCoord2dv, _gloffset_EvalCoord2dv, EvalCoord2dv@4) - GL_STUB(EvalCoord2f, _gloffset_EvalCoord2f, EvalCoord2f@8) - GL_STUB(EvalCoord2fv, _gloffset_EvalCoord2fv, EvalCoord2fv@4) - GL_STUB(EvalMesh1, _gloffset_EvalMesh1, EvalMesh1@12) - GL_STUB(EvalPoint1, _gloffset_EvalPoint1, EvalPoint1@4) - GL_STUB(EvalMesh2, _gloffset_EvalMesh2, EvalMesh2@20) - GL_STUB(EvalPoint2, _gloffset_EvalPoint2, EvalPoint2@8) - GL_STUB(AlphaFunc, _gloffset_AlphaFunc, AlphaFunc@8) - GL_STUB(BlendFunc, _gloffset_BlendFunc, BlendFunc@8) - GL_STUB(LogicOp, _gloffset_LogicOp, LogicOp@4) - GL_STUB(StencilFunc, _gloffset_StencilFunc, StencilFunc@12) - GL_STUB(StencilOp, _gloffset_StencilOp, StencilOp@12) - GL_STUB(DepthFunc, _gloffset_DepthFunc, DepthFunc@4) - GL_STUB(PixelZoom, _gloffset_PixelZoom, PixelZoom@8) - GL_STUB(PixelTransferf, _gloffset_PixelTransferf, PixelTransferf@8) - GL_STUB(PixelTransferi, _gloffset_PixelTransferi, PixelTransferi@8) - GL_STUB(PixelStoref, _gloffset_PixelStoref, PixelStoref@8) - GL_STUB(PixelStorei, _gloffset_PixelStorei, PixelStorei@8) - GL_STUB(PixelMapfv, _gloffset_PixelMapfv, PixelMapfv@12) - GL_STUB(PixelMapuiv, _gloffset_PixelMapuiv, PixelMapuiv@12) - GL_STUB(PixelMapusv, _gloffset_PixelMapusv, PixelMapusv@12) - GL_STUB(ReadBuffer, _gloffset_ReadBuffer, ReadBuffer@4) - GL_STUB(CopyPixels, _gloffset_CopyPixels, CopyPixels@20) - GL_STUB(ReadPixels, _gloffset_ReadPixels, ReadPixels@28) - GL_STUB(DrawPixels, _gloffset_DrawPixels, DrawPixels@20) - GL_STUB(GetBooleanv, _gloffset_GetBooleanv, GetBooleanv@8) - GL_STUB(GetClipPlane, _gloffset_GetClipPlane, GetClipPlane@8) - GL_STUB(GetDoublev, _gloffset_GetDoublev, GetDoublev@8) - GL_STUB(GetError, _gloffset_GetError, GetError@0) - GL_STUB(GetFloatv, _gloffset_GetFloatv, GetFloatv@8) - GL_STUB(GetIntegerv, _gloffset_GetIntegerv, GetIntegerv@8) - GL_STUB(GetLightfv, _gloffset_GetLightfv, GetLightfv@12) - GL_STUB(GetLightiv, _gloffset_GetLightiv, GetLightiv@12) - GL_STUB(GetMapdv, _gloffset_GetMapdv, GetMapdv@12) - GL_STUB(GetMapfv, _gloffset_GetMapfv, GetMapfv@12) - GL_STUB(GetMapiv, _gloffset_GetMapiv, GetMapiv@12) - GL_STUB(GetMaterialfv, _gloffset_GetMaterialfv, GetMaterialfv@12) - GL_STUB(GetMaterialiv, _gloffset_GetMaterialiv, GetMaterialiv@12) - GL_STUB(GetPixelMapfv, _gloffset_GetPixelMapfv, GetPixelMapfv@8) - GL_STUB(GetPixelMapuiv, _gloffset_GetPixelMapuiv, GetPixelMapuiv@8) - GL_STUB(GetPixelMapusv, _gloffset_GetPixelMapusv, GetPixelMapusv@8) - GL_STUB(GetPolygonStipple, _gloffset_GetPolygonStipple, GetPolygonStipple@4) - GL_STUB(GetString, _gloffset_GetString, GetString@4) - GL_STUB(GetTexEnvfv, _gloffset_GetTexEnvfv, GetTexEnvfv@12) - GL_STUB(GetTexEnviv, _gloffset_GetTexEnviv, GetTexEnviv@12) - GL_STUB(GetTexGendv, _gloffset_GetTexGendv, GetTexGendv@12) - GL_STUB(GetTexGenfv, _gloffset_GetTexGenfv, GetTexGenfv@12) - GL_STUB(GetTexGeniv, _gloffset_GetTexGeniv, GetTexGeniv@12) - GL_STUB(GetTexImage, _gloffset_GetTexImage, GetTexImage@20) - GL_STUB(GetTexParameterfv, _gloffset_GetTexParameterfv, GetTexParameterfv@12) - GL_STUB(GetTexParameteriv, _gloffset_GetTexParameteriv, GetTexParameteriv@12) - GL_STUB(GetTexLevelParameterfv, _gloffset_GetTexLevelParameterfv, GetTexLevelParameterfv@16) - GL_STUB(GetTexLevelParameteriv, _gloffset_GetTexLevelParameteriv, GetTexLevelParameteriv@16) - GL_STUB(IsEnabled, _gloffset_IsEnabled, IsEnabled@4) - GL_STUB(IsList, _gloffset_IsList, IsList@4) - GL_STUB(DepthRange, _gloffset_DepthRange, DepthRange@16) - GL_STUB(Frustum, _gloffset_Frustum, Frustum@48) - GL_STUB(LoadIdentity, _gloffset_LoadIdentity, LoadIdentity@0) - GL_STUB(LoadMatrixf, _gloffset_LoadMatrixf, LoadMatrixf@4) - GL_STUB(LoadMatrixd, _gloffset_LoadMatrixd, LoadMatrixd@4) - GL_STUB(MatrixMode, _gloffset_MatrixMode, MatrixMode@4) - GL_STUB(MultMatrixf, _gloffset_MultMatrixf, MultMatrixf@4) - GL_STUB(MultMatrixd, _gloffset_MultMatrixd, MultMatrixd@4) - GL_STUB(Ortho, _gloffset_Ortho, Ortho@48) - GL_STUB(PopMatrix, _gloffset_PopMatrix, PopMatrix@0) - GL_STUB(PushMatrix, _gloffset_PushMatrix, PushMatrix@0) - GL_STUB(Rotated, _gloffset_Rotated, Rotated@32) - GL_STUB(Rotatef, _gloffset_Rotatef, Rotatef@16) - GL_STUB(Scaled, _gloffset_Scaled, Scaled@24) - GL_STUB(Scalef, _gloffset_Scalef, Scalef@12) - GL_STUB(Translated, _gloffset_Translated, Translated@24) - GL_STUB(Translatef, _gloffset_Translatef, Translatef@12) - GL_STUB(Viewport, _gloffset_Viewport, Viewport@16) - GL_STUB(ArrayElement, _gloffset_ArrayElement, ArrayElement@4) - GL_STUB(BindTexture, _gloffset_BindTexture, BindTexture@8) - GL_STUB(ColorPointer, _gloffset_ColorPointer, ColorPointer@16) - GL_STUB(DisableClientState, _gloffset_DisableClientState, DisableClientState@4) - GL_STUB(DrawArrays, _gloffset_DrawArrays, DrawArrays@12) - GL_STUB(DrawElements, _gloffset_DrawElements, DrawElements@16) - GL_STUB(EdgeFlagPointer, _gloffset_EdgeFlagPointer, EdgeFlagPointer@8) - GL_STUB(EnableClientState, _gloffset_EnableClientState, EnableClientState@4) - GL_STUB(IndexPointer, _gloffset_IndexPointer, IndexPointer@12) - GL_STUB(Indexub, _gloffset_Indexub, Indexub@4) - GL_STUB(Indexubv, _gloffset_Indexubv, Indexubv@4) - GL_STUB(InterleavedArrays, _gloffset_InterleavedArrays, InterleavedArrays@12) - GL_STUB(NormalPointer, _gloffset_NormalPointer, NormalPointer@12) - GL_STUB(PolygonOffset, _gloffset_PolygonOffset, PolygonOffset@8) - GL_STUB(TexCoordPointer, _gloffset_TexCoordPointer, TexCoordPointer@16) - GL_STUB(VertexPointer, _gloffset_VertexPointer, VertexPointer@16) - GL_STUB(AreTexturesResident, _gloffset_AreTexturesResident, AreTexturesResident@12) - GL_STUB(CopyTexImage1D, _gloffset_CopyTexImage1D, CopyTexImage1D@28) - GL_STUB(CopyTexImage2D, _gloffset_CopyTexImage2D, CopyTexImage2D@32) - GL_STUB(CopyTexSubImage1D, _gloffset_CopyTexSubImage1D, CopyTexSubImage1D@24) - GL_STUB(CopyTexSubImage2D, _gloffset_CopyTexSubImage2D, CopyTexSubImage2D@32) - GL_STUB(DeleteTextures, _gloffset_DeleteTextures, DeleteTextures@8) - GL_STUB(GenTextures, _gloffset_GenTextures, GenTextures@8) - GL_STUB(GetPointerv, _gloffset_GetPointerv, GetPointerv@8) - GL_STUB(IsTexture, _gloffset_IsTexture, IsTexture@4) - GL_STUB(PrioritizeTextures, _gloffset_PrioritizeTextures, PrioritizeTextures@12) - GL_STUB(TexSubImage1D, _gloffset_TexSubImage1D, TexSubImage1D@28) - GL_STUB(TexSubImage2D, _gloffset_TexSubImage2D, TexSubImage2D@36) - GL_STUB(PopClientAttrib, _gloffset_PopClientAttrib, PopClientAttrib@0) - GL_STUB(PushClientAttrib, _gloffset_PushClientAttrib, PushClientAttrib@4) - GL_STUB(BlendColor, _gloffset_BlendColor, BlendColor@16) - GL_STUB(BlendEquation, _gloffset_BlendEquation, BlendEquation@4) - GL_STUB(DrawRangeElements, _gloffset_DrawRangeElements, DrawRangeElements@24) - GL_STUB(ColorTable, _gloffset_ColorTable, ColorTable@24) - GL_STUB(ColorTableParameterfv, _gloffset_ColorTableParameterfv, ColorTableParameterfv@12) - GL_STUB(ColorTableParameteriv, _gloffset_ColorTableParameteriv, ColorTableParameteriv@12) - GL_STUB(CopyColorTable, _gloffset_CopyColorTable, CopyColorTable@20) - GL_STUB(GetColorTable, _gloffset_GetColorTable, GetColorTable@16) - GL_STUB(GetColorTableParameterfv, _gloffset_GetColorTableParameterfv, GetColorTableParameterfv@12) - GL_STUB(GetColorTableParameteriv, _gloffset_GetColorTableParameteriv, GetColorTableParameteriv@12) - GL_STUB(ColorSubTable, _gloffset_ColorSubTable, ColorSubTable@24) - GL_STUB(CopyColorSubTable, _gloffset_CopyColorSubTable, CopyColorSubTable@20) - GL_STUB(ConvolutionFilter1D, _gloffset_ConvolutionFilter1D, ConvolutionFilter1D@24) - GL_STUB(ConvolutionFilter2D, _gloffset_ConvolutionFilter2D, ConvolutionFilter2D@28) - GL_STUB(ConvolutionParameterf, _gloffset_ConvolutionParameterf, ConvolutionParameterf@12) - GL_STUB(ConvolutionParameterfv, _gloffset_ConvolutionParameterfv, ConvolutionParameterfv@12) - GL_STUB(ConvolutionParameteri, _gloffset_ConvolutionParameteri, ConvolutionParameteri@12) - GL_STUB(ConvolutionParameteriv, _gloffset_ConvolutionParameteriv, ConvolutionParameteriv@12) - GL_STUB(CopyConvolutionFilter1D, _gloffset_CopyConvolutionFilter1D, CopyConvolutionFilter1D@20) - GL_STUB(CopyConvolutionFilter2D, _gloffset_CopyConvolutionFilter2D, CopyConvolutionFilter2D@24) - GL_STUB(GetConvolutionFilter, _gloffset_GetConvolutionFilter, GetConvolutionFilter@16) - GL_STUB(GetConvolutionParameterfv, _gloffset_GetConvolutionParameterfv, GetConvolutionParameterfv@12) - GL_STUB(GetConvolutionParameteriv, _gloffset_GetConvolutionParameteriv, GetConvolutionParameteriv@12) - GL_STUB(GetSeparableFilter, _gloffset_GetSeparableFilter, GetSeparableFilter@24) - GL_STUB(SeparableFilter2D, _gloffset_SeparableFilter2D, SeparableFilter2D@32) - GL_STUB(GetHistogram, _gloffset_GetHistogram, GetHistogram@20) - GL_STUB(GetHistogramParameterfv, _gloffset_GetHistogramParameterfv, GetHistogramParameterfv@12) - GL_STUB(GetHistogramParameteriv, _gloffset_GetHistogramParameteriv, GetHistogramParameteriv@12) - GL_STUB(GetMinmax, _gloffset_GetMinmax, GetMinmax@20) - GL_STUB(GetMinmaxParameterfv, _gloffset_GetMinmaxParameterfv, GetMinmaxParameterfv@12) - GL_STUB(GetMinmaxParameteriv, _gloffset_GetMinmaxParameteriv, GetMinmaxParameteriv@12) - GL_STUB(Histogram, _gloffset_Histogram, Histogram@16) - GL_STUB(Minmax, _gloffset_Minmax, Minmax@12) - GL_STUB(ResetHistogram, _gloffset_ResetHistogram, ResetHistogram@4) - GL_STUB(ResetMinmax, _gloffset_ResetMinmax, ResetMinmax@4) - GL_STUB(TexImage3D, _gloffset_TexImage3D, TexImage3D@40) - GL_STUB(TexSubImage3D, _gloffset_TexSubImage3D, TexSubImage3D@44) - GL_STUB(CopyTexSubImage3D, _gloffset_CopyTexSubImage3D, CopyTexSubImage3D@36) - GL_STUB(ActiveTextureARB, _gloffset_ActiveTextureARB, ActiveTextureARB@4) - GL_STUB(ClientActiveTextureARB, _gloffset_ClientActiveTextureARB, ClientActiveTextureARB@4) - GL_STUB(MultiTexCoord1dARB, _gloffset_MultiTexCoord1dARB, MultiTexCoord1dARB@12) - GL_STUB(MultiTexCoord1dvARB, _gloffset_MultiTexCoord1dvARB, MultiTexCoord1dvARB@8) - GL_STUB(MultiTexCoord1fARB, _gloffset_MultiTexCoord1fARB, MultiTexCoord1fARB@8) - GL_STUB(MultiTexCoord1fvARB, _gloffset_MultiTexCoord1fvARB, MultiTexCoord1fvARB@8) - GL_STUB(MultiTexCoord1iARB, _gloffset_MultiTexCoord1iARB, MultiTexCoord1iARB@8) - GL_STUB(MultiTexCoord1ivARB, _gloffset_MultiTexCoord1ivARB, MultiTexCoord1ivARB@8) - GL_STUB(MultiTexCoord1sARB, _gloffset_MultiTexCoord1sARB, MultiTexCoord1sARB@8) - GL_STUB(MultiTexCoord1svARB, _gloffset_MultiTexCoord1svARB, MultiTexCoord1svARB@8) - GL_STUB(MultiTexCoord2dARB, _gloffset_MultiTexCoord2dARB, MultiTexCoord2dARB@20) - GL_STUB(MultiTexCoord2dvARB, _gloffset_MultiTexCoord2dvARB, MultiTexCoord2dvARB@8) - GL_STUB(MultiTexCoord2fARB, _gloffset_MultiTexCoord2fARB, MultiTexCoord2fARB@12) - GL_STUB(MultiTexCoord2fvARB, _gloffset_MultiTexCoord2fvARB, MultiTexCoord2fvARB@8) - GL_STUB(MultiTexCoord2iARB, _gloffset_MultiTexCoord2iARB, MultiTexCoord2iARB@12) - GL_STUB(MultiTexCoord2ivARB, _gloffset_MultiTexCoord2ivARB, MultiTexCoord2ivARB@8) - GL_STUB(MultiTexCoord2sARB, _gloffset_MultiTexCoord2sARB, MultiTexCoord2sARB@12) - GL_STUB(MultiTexCoord2svARB, _gloffset_MultiTexCoord2svARB, MultiTexCoord2svARB@8) - GL_STUB(MultiTexCoord3dARB, _gloffset_MultiTexCoord3dARB, MultiTexCoord3dARB@28) - GL_STUB(MultiTexCoord3dvARB, _gloffset_MultiTexCoord3dvARB, MultiTexCoord3dvARB@8) - GL_STUB(MultiTexCoord3fARB, _gloffset_MultiTexCoord3fARB, MultiTexCoord3fARB@16) - GL_STUB(MultiTexCoord3fvARB, _gloffset_MultiTexCoord3fvARB, MultiTexCoord3fvARB@8) - GL_STUB(MultiTexCoord3iARB, _gloffset_MultiTexCoord3iARB, MultiTexCoord3iARB@16) - GL_STUB(MultiTexCoord3ivARB, _gloffset_MultiTexCoord3ivARB, MultiTexCoord3ivARB@8) - GL_STUB(MultiTexCoord3sARB, _gloffset_MultiTexCoord3sARB, MultiTexCoord3sARB@16) - GL_STUB(MultiTexCoord3svARB, _gloffset_MultiTexCoord3svARB, MultiTexCoord3svARB@8) - GL_STUB(MultiTexCoord4dARB, _gloffset_MultiTexCoord4dARB, MultiTexCoord4dARB@36) - GL_STUB(MultiTexCoord4dvARB, _gloffset_MultiTexCoord4dvARB, MultiTexCoord4dvARB@8) - GL_STUB(MultiTexCoord4fARB, _gloffset_MultiTexCoord4fARB, MultiTexCoord4fARB@20) - GL_STUB(MultiTexCoord4fvARB, _gloffset_MultiTexCoord4fvARB, MultiTexCoord4fvARB@8) - GL_STUB(MultiTexCoord4iARB, _gloffset_MultiTexCoord4iARB, MultiTexCoord4iARB@20) - 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(DrawArraysInstanced, _gloffset_DrawArraysInstanced, DrawArraysInstanced@16) - GL_STUB(DrawElementsInstanced, _gloffset_DrawElementsInstanced, DrawElementsInstanced@20) - GL_STUB(LoadTransposeMatrixdARB, _gloffset_LoadTransposeMatrixdARB, LoadTransposeMatrixdARB@4) - GL_STUB(LoadTransposeMatrixfARB, _gloffset_LoadTransposeMatrixfARB, LoadTransposeMatrixfARB@4) - GL_STUB(MultTransposeMatrixdARB, _gloffset_MultTransposeMatrixdARB, MultTransposeMatrixdARB@4) - GL_STUB(MultTransposeMatrixfARB, _gloffset_MultTransposeMatrixfARB, MultTransposeMatrixfARB@4) - GL_STUB(SampleCoverageARB, _gloffset_SampleCoverageARB, SampleCoverageARB@8) - GL_STUB(CompressedTexImage1DARB, _gloffset_CompressedTexImage1DARB, CompressedTexImage1DARB@28) - GL_STUB(CompressedTexImage2DARB, _gloffset_CompressedTexImage2DARB, CompressedTexImage2DARB@32) - GL_STUB(CompressedTexImage3DARB, _gloffset_CompressedTexImage3DARB, CompressedTexImage3DARB@36) - GL_STUB(CompressedTexSubImage1DARB, _gloffset_CompressedTexSubImage1DARB, CompressedTexSubImage1DARB@28) - GL_STUB(CompressedTexSubImage2DARB, _gloffset_CompressedTexSubImage2DARB, CompressedTexSubImage2DARB@36) - GL_STUB(CompressedTexSubImage3DARB, _gloffset_CompressedTexSubImage3DARB, CompressedTexSubImage3DARB@44) - GL_STUB(GetCompressedTexImageARB, _gloffset_GetCompressedTexImageARB, GetCompressedTexImageARB@12) - GL_STUB(DisableVertexAttribArrayARB, _gloffset_DisableVertexAttribArrayARB, DisableVertexAttribArrayARB@4) - GL_STUB(EnableVertexAttribArrayARB, _gloffset_EnableVertexAttribArrayARB, EnableVertexAttribArrayARB@4) - GL_STUB(GetProgramEnvParameterdvARB, _gloffset_GetProgramEnvParameterdvARB, GetProgramEnvParameterdvARB@12) - GL_STUB(GetProgramEnvParameterfvARB, _gloffset_GetProgramEnvParameterfvARB, GetProgramEnvParameterfvARB@12) - GL_STUB(GetProgramLocalParameterdvARB, _gloffset_GetProgramLocalParameterdvARB, GetProgramLocalParameterdvARB@12) - GL_STUB(GetProgramLocalParameterfvARB, _gloffset_GetProgramLocalParameterfvARB, GetProgramLocalParameterfvARB@12) - GL_STUB(GetProgramStringARB, _gloffset_GetProgramStringARB, GetProgramStringARB@12) - GL_STUB(GetProgramivARB, _gloffset_GetProgramivARB, GetProgramivARB@12) - GL_STUB(GetVertexAttribdvARB, _gloffset_GetVertexAttribdvARB, GetVertexAttribdvARB@12) - GL_STUB(GetVertexAttribfvARB, _gloffset_GetVertexAttribfvARB, GetVertexAttribfvARB@12) - GL_STUB(GetVertexAttribivARB, _gloffset_GetVertexAttribivARB, GetVertexAttribivARB@12) - GL_STUB(ProgramEnvParameter4dARB, _gloffset_ProgramEnvParameter4dARB, ProgramEnvParameter4dARB@40) - GL_STUB(ProgramEnvParameter4dvARB, _gloffset_ProgramEnvParameter4dvARB, ProgramEnvParameter4dvARB@12) - GL_STUB(ProgramEnvParameter4fARB, _gloffset_ProgramEnvParameter4fARB, ProgramEnvParameter4fARB@24) - GL_STUB(ProgramEnvParameter4fvARB, _gloffset_ProgramEnvParameter4fvARB, ProgramEnvParameter4fvARB@12) - GL_STUB(ProgramLocalParameter4dARB, _gloffset_ProgramLocalParameter4dARB, ProgramLocalParameter4dARB@40) - GL_STUB(ProgramLocalParameter4dvARB, _gloffset_ProgramLocalParameter4dvARB, ProgramLocalParameter4dvARB@12) - GL_STUB(ProgramLocalParameter4fARB, _gloffset_ProgramLocalParameter4fARB, ProgramLocalParameter4fARB@24) - GL_STUB(ProgramLocalParameter4fvARB, _gloffset_ProgramLocalParameter4fvARB, ProgramLocalParameter4fvARB@12) - GL_STUB(ProgramStringARB, _gloffset_ProgramStringARB, ProgramStringARB@16) - GL_STUB(VertexAttrib1dARB, _gloffset_VertexAttrib1dARB, VertexAttrib1dARB@12) - GL_STUB(VertexAttrib1dvARB, _gloffset_VertexAttrib1dvARB, VertexAttrib1dvARB@8) - GL_STUB(VertexAttrib1fARB, _gloffset_VertexAttrib1fARB, VertexAttrib1fARB@8) - GL_STUB(VertexAttrib1fvARB, _gloffset_VertexAttrib1fvARB, VertexAttrib1fvARB@8) - GL_STUB(VertexAttrib1sARB, _gloffset_VertexAttrib1sARB, VertexAttrib1sARB@8) - GL_STUB(VertexAttrib1svARB, _gloffset_VertexAttrib1svARB, VertexAttrib1svARB@8) - GL_STUB(VertexAttrib2dARB, _gloffset_VertexAttrib2dARB, VertexAttrib2dARB@20) - GL_STUB(VertexAttrib2dvARB, _gloffset_VertexAttrib2dvARB, VertexAttrib2dvARB@8) - GL_STUB(VertexAttrib2fARB, _gloffset_VertexAttrib2fARB, VertexAttrib2fARB@12) - GL_STUB(VertexAttrib2fvARB, _gloffset_VertexAttrib2fvARB, VertexAttrib2fvARB@8) - GL_STUB(VertexAttrib2sARB, _gloffset_VertexAttrib2sARB, VertexAttrib2sARB@12) - GL_STUB(VertexAttrib2svARB, _gloffset_VertexAttrib2svARB, VertexAttrib2svARB@8) - GL_STUB(VertexAttrib3dARB, _gloffset_VertexAttrib3dARB, VertexAttrib3dARB@28) - GL_STUB(VertexAttrib3dvARB, _gloffset_VertexAttrib3dvARB, VertexAttrib3dvARB@8) - GL_STUB(VertexAttrib3fARB, _gloffset_VertexAttrib3fARB, VertexAttrib3fARB@16) - GL_STUB(VertexAttrib3fvARB, _gloffset_VertexAttrib3fvARB, VertexAttrib3fvARB@8) - GL_STUB(VertexAttrib3sARB, _gloffset_VertexAttrib3sARB, VertexAttrib3sARB@16) - GL_STUB(VertexAttrib3svARB, _gloffset_VertexAttrib3svARB, VertexAttrib3svARB@8) - GL_STUB(VertexAttrib4NbvARB, _gloffset_VertexAttrib4NbvARB, VertexAttrib4NbvARB@8) - GL_STUB(VertexAttrib4NivARB, _gloffset_VertexAttrib4NivARB, VertexAttrib4NivARB@8) - GL_STUB(VertexAttrib4NsvARB, _gloffset_VertexAttrib4NsvARB, VertexAttrib4NsvARB@8) - GL_STUB(VertexAttrib4NubARB, _gloffset_VertexAttrib4NubARB, VertexAttrib4NubARB@20) - GL_STUB(VertexAttrib4NubvARB, _gloffset_VertexAttrib4NubvARB, VertexAttrib4NubvARB@8) - GL_STUB(VertexAttrib4NuivARB, _gloffset_VertexAttrib4NuivARB, VertexAttrib4NuivARB@8) - GL_STUB(VertexAttrib4NusvARB, _gloffset_VertexAttrib4NusvARB, VertexAttrib4NusvARB@8) - GL_STUB(VertexAttrib4bvARB, _gloffset_VertexAttrib4bvARB, VertexAttrib4bvARB@8) - GL_STUB(VertexAttrib4dARB, _gloffset_VertexAttrib4dARB, VertexAttrib4dARB@36) - GL_STUB(VertexAttrib4dvARB, _gloffset_VertexAttrib4dvARB, VertexAttrib4dvARB@8) - GL_STUB(VertexAttrib4fARB, _gloffset_VertexAttrib4fARB, VertexAttrib4fARB@20) - GL_STUB(VertexAttrib4fvARB, _gloffset_VertexAttrib4fvARB, VertexAttrib4fvARB@8) - GL_STUB(VertexAttrib4ivARB, _gloffset_VertexAttrib4ivARB, VertexAttrib4ivARB@8) - GL_STUB(VertexAttrib4sARB, _gloffset_VertexAttrib4sARB, VertexAttrib4sARB@20) - GL_STUB(VertexAttrib4svARB, _gloffset_VertexAttrib4svARB, VertexAttrib4svARB@8) - GL_STUB(VertexAttrib4ubvARB, _gloffset_VertexAttrib4ubvARB, VertexAttrib4ubvARB@8) - GL_STUB(VertexAttrib4uivARB, _gloffset_VertexAttrib4uivARB, VertexAttrib4uivARB@8) - GL_STUB(VertexAttrib4usvARB, _gloffset_VertexAttrib4usvARB, VertexAttrib4usvARB@8) - GL_STUB(VertexAttribPointerARB, _gloffset_VertexAttribPointerARB, VertexAttribPointerARB@24) - GL_STUB(BindBufferARB, _gloffset_BindBufferARB, BindBufferARB@8) - GL_STUB(BufferDataARB, _gloffset_BufferDataARB, BufferDataARB@16) - GL_STUB(BufferSubDataARB, _gloffset_BufferSubDataARB, BufferSubDataARB@16) - GL_STUB(DeleteBuffersARB, _gloffset_DeleteBuffersARB, DeleteBuffersARB@8) - GL_STUB(GenBuffersARB, _gloffset_GenBuffersARB, GenBuffersARB@8) - GL_STUB(GetBufferParameterivARB, _gloffset_GetBufferParameterivARB, GetBufferParameterivARB@12) - GL_STUB(GetBufferPointervARB, _gloffset_GetBufferPointervARB, GetBufferPointervARB@12) - GL_STUB(GetBufferSubDataARB, _gloffset_GetBufferSubDataARB, GetBufferSubDataARB@16) - GL_STUB(IsBufferARB, _gloffset_IsBufferARB, IsBufferARB@4) - GL_STUB(MapBufferARB, _gloffset_MapBufferARB, MapBufferARB@8) - GL_STUB(UnmapBufferARB, _gloffset_UnmapBufferARB, UnmapBufferARB@4) - GL_STUB(BeginQueryARB, _gloffset_BeginQueryARB, BeginQueryARB@8) - GL_STUB(DeleteQueriesARB, _gloffset_DeleteQueriesARB, DeleteQueriesARB@8) - GL_STUB(EndQueryARB, _gloffset_EndQueryARB, EndQueryARB@4) - GL_STUB(GenQueriesARB, _gloffset_GenQueriesARB, GenQueriesARB@8) - GL_STUB(GetQueryObjectivARB, _gloffset_GetQueryObjectivARB, GetQueryObjectivARB@12) - GL_STUB(GetQueryObjectuivARB, _gloffset_GetQueryObjectuivARB, GetQueryObjectuivARB@12) - GL_STUB(GetQueryivARB, _gloffset_GetQueryivARB, GetQueryivARB@12) - GL_STUB(IsQueryARB, _gloffset_IsQueryARB, IsQueryARB@4) - GL_STUB(AttachObjectARB, _gloffset_AttachObjectARB, AttachObjectARB@8) - GL_STUB(CompileShaderARB, _gloffset_CompileShaderARB, CompileShaderARB@4) - GL_STUB(CreateProgramObjectARB, _gloffset_CreateProgramObjectARB, CreateProgramObjectARB@0) - GL_STUB(CreateShaderObjectARB, _gloffset_CreateShaderObjectARB, CreateShaderObjectARB@4) - GL_STUB(DeleteObjectARB, _gloffset_DeleteObjectARB, DeleteObjectARB@4) - GL_STUB(DetachObjectARB, _gloffset_DetachObjectARB, DetachObjectARB@8) - GL_STUB(GetActiveUniformARB, _gloffset_GetActiveUniformARB, GetActiveUniformARB@28) - GL_STUB(GetAttachedObjectsARB, _gloffset_GetAttachedObjectsARB, GetAttachedObjectsARB@16) - GL_STUB(GetHandleARB, _gloffset_GetHandleARB, GetHandleARB@4) - GL_STUB(GetInfoLogARB, _gloffset_GetInfoLogARB, GetInfoLogARB@16) - GL_STUB(GetObjectParameterfvARB, _gloffset_GetObjectParameterfvARB, GetObjectParameterfvARB@12) - GL_STUB(GetObjectParameterivARB, _gloffset_GetObjectParameterivARB, GetObjectParameterivARB@12) - GL_STUB(GetShaderSourceARB, _gloffset_GetShaderSourceARB, GetShaderSourceARB@16) - GL_STUB(GetUniformLocationARB, _gloffset_GetUniformLocationARB, GetUniformLocationARB@8) - GL_STUB(GetUniformfvARB, _gloffset_GetUniformfvARB, GetUniformfvARB@12) - GL_STUB(GetUniformivARB, _gloffset_GetUniformivARB, GetUniformivARB@12) - GL_STUB(LinkProgramARB, _gloffset_LinkProgramARB, LinkProgramARB@4) - GL_STUB(ShaderSourceARB, _gloffset_ShaderSourceARB, ShaderSourceARB@16) - GL_STUB(Uniform1fARB, _gloffset_Uniform1fARB, Uniform1fARB@8) - GL_STUB(Uniform1fvARB, _gloffset_Uniform1fvARB, Uniform1fvARB@12) - GL_STUB(Uniform1iARB, _gloffset_Uniform1iARB, Uniform1iARB@8) - GL_STUB(Uniform1ivARB, _gloffset_Uniform1ivARB, Uniform1ivARB@12) - GL_STUB(Uniform2fARB, _gloffset_Uniform2fARB, Uniform2fARB@12) - GL_STUB(Uniform2fvARB, _gloffset_Uniform2fvARB, Uniform2fvARB@12) - GL_STUB(Uniform2iARB, _gloffset_Uniform2iARB, Uniform2iARB@12) - GL_STUB(Uniform2ivARB, _gloffset_Uniform2ivARB, Uniform2ivARB@12) - GL_STUB(Uniform3fARB, _gloffset_Uniform3fARB, Uniform3fARB@16) - GL_STUB(Uniform3fvARB, _gloffset_Uniform3fvARB, Uniform3fvARB@12) - GL_STUB(Uniform3iARB, _gloffset_Uniform3iARB, Uniform3iARB@16) - GL_STUB(Uniform3ivARB, _gloffset_Uniform3ivARB, Uniform3ivARB@12) - GL_STUB(Uniform4fARB, _gloffset_Uniform4fARB, Uniform4fARB@20) - GL_STUB(Uniform4fvARB, _gloffset_Uniform4fvARB, Uniform4fvARB@12) - GL_STUB(Uniform4iARB, _gloffset_Uniform4iARB, Uniform4iARB@20) - GL_STUB(Uniform4ivARB, _gloffset_Uniform4ivARB, Uniform4ivARB@12) - GL_STUB(UniformMatrix2fvARB, _gloffset_UniformMatrix2fvARB, UniformMatrix2fvARB@16) - GL_STUB(UniformMatrix3fvARB, _gloffset_UniformMatrix3fvARB, UniformMatrix3fvARB@16) - GL_STUB(UniformMatrix4fvARB, _gloffset_UniformMatrix4fvARB, UniformMatrix4fvARB@16) - GL_STUB(UseProgramObjectARB, _gloffset_UseProgramObjectARB, UseProgramObjectARB@4) - GL_STUB(ValidateProgramARB, _gloffset_ValidateProgramARB, ValidateProgramARB@4) - GL_STUB(BindAttribLocationARB, _gloffset_BindAttribLocationARB, BindAttribLocationARB@12) - GL_STUB(GetActiveAttribARB, _gloffset_GetActiveAttribARB, GetActiveAttribARB@28) - GL_STUB(GetAttribLocationARB, _gloffset_GetAttribLocationARB, GetAttribLocationARB@8) - GL_STUB(DrawBuffersARB, _gloffset_DrawBuffersARB, DrawBuffersARB@8) - GL_STUB(RenderbufferStorageMultisample, _gloffset_RenderbufferStorageMultisample, RenderbufferStorageMultisample@20) - GL_STUB(FramebufferTextureARB, _gloffset_FramebufferTextureARB, FramebufferTextureARB@16) - GL_STUB(FramebufferTextureFaceARB, _gloffset_FramebufferTextureFaceARB, FramebufferTextureFaceARB@20) - GL_STUB(ProgramParameteriARB, _gloffset_ProgramParameteriARB, ProgramParameteriARB@12) - GL_STUB(FlushMappedBufferRange, _gloffset_FlushMappedBufferRange, FlushMappedBufferRange@12) - GL_STUB(MapBufferRange, _gloffset_MapBufferRange, MapBufferRange@16) - GL_STUB(BindVertexArray, _gloffset_BindVertexArray, BindVertexArray@4) - GL_STUB(GenVertexArrays, _gloffset_GenVertexArrays, GenVertexArrays@8) - GL_STUB(CopyBufferSubData, _gloffset_CopyBufferSubData, CopyBufferSubData@20) - GL_STUB(ClientWaitSync, _gloffset_ClientWaitSync, ClientWaitSync@12) - GL_STUB(DeleteSync, _gloffset_DeleteSync, DeleteSync@4) - GL_STUB(FenceSync, _gloffset_FenceSync, FenceSync@8) - GL_STUB(GetInteger64v, _gloffset_GetInteger64v, GetInteger64v@8) - GL_STUB(GetSynciv, _gloffset_GetSynciv, GetSynciv@20) - GL_STUB(IsSync, _gloffset_IsSync, IsSync@4) - GL_STUB(WaitSync, _gloffset_WaitSync, WaitSync@12) - GL_STUB(DrawElementsBaseVertex, _gloffset_DrawElementsBaseVertex, DrawElementsBaseVertex@20) - GL_STUB(DrawRangeElementsBaseVertex, _gloffset_DrawRangeElementsBaseVertex, DrawRangeElementsBaseVertex@28) - GL_STUB(MultiDrawElementsBaseVertex, _gloffset_MultiDrawElementsBaseVertex, MultiDrawElementsBaseVertex@24) - GL_STUB(BindTransformFeedback, _gloffset_BindTransformFeedback, BindTransformFeedback@8) - GL_STUB(DeleteTransformFeedbacks, _gloffset_DeleteTransformFeedbacks, DeleteTransformFeedbacks@8) - GL_STUB(DrawTransformFeedback, _gloffset_DrawTransformFeedback, DrawTransformFeedback@8) - GL_STUB(GenTransformFeedbacks, _gloffset_GenTransformFeedbacks, GenTransformFeedbacks@8) - GL_STUB(IsTransformFeedback, _gloffset_IsTransformFeedback, IsTransformFeedback@4) - GL_STUB(PauseTransformFeedback, _gloffset_PauseTransformFeedback, PauseTransformFeedback@0) - GL_STUB(ResumeTransformFeedback, _gloffset_ResumeTransformFeedback, ResumeTransformFeedback@0) - GL_STUB(PolygonOffsetEXT, _gloffset_PolygonOffsetEXT, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_590, _gloffset_GetPixelTexGenParameterfvSGIS, _dispatch_stub_590@8) + GL_STUB(NewList, 0, NewList@8) + GL_STUB(EndList, 1, EndList@0) + GL_STUB(CallList, 2, CallList@4) + GL_STUB(CallLists, 3, CallLists@12) + GL_STUB(DeleteLists, 4, DeleteLists@8) + GL_STUB(GenLists, 5, GenLists@4) + GL_STUB(ListBase, 6, ListBase@4) + GL_STUB(Begin, 7, Begin@4) + GL_STUB(Bitmap, 8, Bitmap@28) + GL_STUB(Color3b, 9, Color3b@12) + GL_STUB(Color3bv, 10, Color3bv@4) + GL_STUB(Color3d, 11, Color3d@24) + GL_STUB(Color3dv, 12, Color3dv@4) + GL_STUB(Color3f, 13, Color3f@12) + GL_STUB(Color3fv, 14, Color3fv@4) + GL_STUB(Color3i, 15, Color3i@12) + GL_STUB(Color3iv, 16, Color3iv@4) + GL_STUB(Color3s, 17, Color3s@12) + GL_STUB(Color3sv, 18, Color3sv@4) + GL_STUB(Color3ub, 19, Color3ub@12) + GL_STUB(Color3ubv, 20, Color3ubv@4) + GL_STUB(Color3ui, 21, Color3ui@12) + GL_STUB(Color3uiv, 22, Color3uiv@4) + GL_STUB(Color3us, 23, Color3us@12) + GL_STUB(Color3usv, 24, Color3usv@4) + GL_STUB(Color4b, 25, Color4b@16) + GL_STUB(Color4bv, 26, Color4bv@4) + GL_STUB(Color4d, 27, Color4d@32) + GL_STUB(Color4dv, 28, Color4dv@4) + GL_STUB(Color4f, 29, Color4f@16) + GL_STUB(Color4fv, 30, Color4fv@4) + GL_STUB(Color4i, 31, Color4i@16) + GL_STUB(Color4iv, 32, Color4iv@4) + GL_STUB(Color4s, 33, Color4s@16) + GL_STUB(Color4sv, 34, Color4sv@4) + GL_STUB(Color4ub, 35, Color4ub@16) + GL_STUB(Color4ubv, 36, Color4ubv@4) + GL_STUB(Color4ui, 37, Color4ui@16) + GL_STUB(Color4uiv, 38, Color4uiv@4) + GL_STUB(Color4us, 39, Color4us@16) + GL_STUB(Color4usv, 40, Color4usv@4) + GL_STUB(EdgeFlag, 41, EdgeFlag@4) + GL_STUB(EdgeFlagv, 42, EdgeFlagv@4) + GL_STUB(End, 43, End@0) + GL_STUB(Indexd, 44, Indexd@8) + GL_STUB(Indexdv, 45, Indexdv@4) + GL_STUB(Indexf, 46, Indexf@4) + GL_STUB(Indexfv, 47, Indexfv@4) + GL_STUB(Indexi, 48, Indexi@4) + GL_STUB(Indexiv, 49, Indexiv@4) + GL_STUB(Indexs, 50, Indexs@4) + GL_STUB(Indexsv, 51, Indexsv@4) + GL_STUB(Normal3b, 52, Normal3b@12) + GL_STUB(Normal3bv, 53, Normal3bv@4) + GL_STUB(Normal3d, 54, Normal3d@24) + GL_STUB(Normal3dv, 55, Normal3dv@4) + GL_STUB(Normal3f, 56, Normal3f@12) + GL_STUB(Normal3fv, 57, Normal3fv@4) + GL_STUB(Normal3i, 58, Normal3i@12) + GL_STUB(Normal3iv, 59, Normal3iv@4) + GL_STUB(Normal3s, 60, Normal3s@12) + GL_STUB(Normal3sv, 61, Normal3sv@4) + GL_STUB(RasterPos2d, 62, RasterPos2d@16) + GL_STUB(RasterPos2dv, 63, RasterPos2dv@4) + GL_STUB(RasterPos2f, 64, RasterPos2f@8) + GL_STUB(RasterPos2fv, 65, RasterPos2fv@4) + GL_STUB(RasterPos2i, 66, RasterPos2i@8) + GL_STUB(RasterPos2iv, 67, RasterPos2iv@4) + GL_STUB(RasterPos2s, 68, RasterPos2s@8) + GL_STUB(RasterPos2sv, 69, RasterPos2sv@4) + GL_STUB(RasterPos3d, 70, RasterPos3d@24) + GL_STUB(RasterPos3dv, 71, RasterPos3dv@4) + GL_STUB(RasterPos3f, 72, RasterPos3f@12) + GL_STUB(RasterPos3fv, 73, RasterPos3fv@4) + GL_STUB(RasterPos3i, 74, RasterPos3i@12) + GL_STUB(RasterPos3iv, 75, RasterPos3iv@4) + GL_STUB(RasterPos3s, 76, RasterPos3s@12) + GL_STUB(RasterPos3sv, 77, RasterPos3sv@4) + GL_STUB(RasterPos4d, 78, RasterPos4d@32) + GL_STUB(RasterPos4dv, 79, RasterPos4dv@4) + GL_STUB(RasterPos4f, 80, RasterPos4f@16) + GL_STUB(RasterPos4fv, 81, RasterPos4fv@4) + GL_STUB(RasterPos4i, 82, RasterPos4i@16) + GL_STUB(RasterPos4iv, 83, RasterPos4iv@4) + GL_STUB(RasterPos4s, 84, RasterPos4s@16) + GL_STUB(RasterPos4sv, 85, RasterPos4sv@4) + GL_STUB(Rectd, 86, Rectd@32) + GL_STUB(Rectdv, 87, Rectdv@8) + GL_STUB(Rectf, 88, Rectf@16) + GL_STUB(Rectfv, 89, Rectfv@8) + GL_STUB(Recti, 90, Recti@16) + GL_STUB(Rectiv, 91, Rectiv@8) + GL_STUB(Rects, 92, Rects@16) + GL_STUB(Rectsv, 93, Rectsv@8) + GL_STUB(TexCoord1d, 94, TexCoord1d@8) + GL_STUB(TexCoord1dv, 95, TexCoord1dv@4) + GL_STUB(TexCoord1f, 96, TexCoord1f@4) + GL_STUB(TexCoord1fv, 97, TexCoord1fv@4) + GL_STUB(TexCoord1i, 98, TexCoord1i@4) + GL_STUB(TexCoord1iv, 99, TexCoord1iv@4) + GL_STUB(TexCoord1s, 100, TexCoord1s@4) + GL_STUB(TexCoord1sv, 101, TexCoord1sv@4) + GL_STUB(TexCoord2d, 102, TexCoord2d@16) + GL_STUB(TexCoord2dv, 103, TexCoord2dv@4) + GL_STUB(TexCoord2f, 104, TexCoord2f@8) + GL_STUB(TexCoord2fv, 105, TexCoord2fv@4) + GL_STUB(TexCoord2i, 106, TexCoord2i@8) + GL_STUB(TexCoord2iv, 107, TexCoord2iv@4) + GL_STUB(TexCoord2s, 108, TexCoord2s@8) + GL_STUB(TexCoord2sv, 109, TexCoord2sv@4) + GL_STUB(TexCoord3d, 110, TexCoord3d@24) + GL_STUB(TexCoord3dv, 111, TexCoord3dv@4) + GL_STUB(TexCoord3f, 112, TexCoord3f@12) + GL_STUB(TexCoord3fv, 113, TexCoord3fv@4) + GL_STUB(TexCoord3i, 114, TexCoord3i@12) + GL_STUB(TexCoord3iv, 115, TexCoord3iv@4) + GL_STUB(TexCoord3s, 116, TexCoord3s@12) + GL_STUB(TexCoord3sv, 117, TexCoord3sv@4) + GL_STUB(TexCoord4d, 118, TexCoord4d@32) + GL_STUB(TexCoord4dv, 119, TexCoord4dv@4) + GL_STUB(TexCoord4f, 120, TexCoord4f@16) + GL_STUB(TexCoord4fv, 121, TexCoord4fv@4) + GL_STUB(TexCoord4i, 122, TexCoord4i@16) + GL_STUB(TexCoord4iv, 123, TexCoord4iv@4) + GL_STUB(TexCoord4s, 124, TexCoord4s@16) + GL_STUB(TexCoord4sv, 125, TexCoord4sv@4) + GL_STUB(Vertex2d, 126, Vertex2d@16) + GL_STUB(Vertex2dv, 127, Vertex2dv@4) + GL_STUB(Vertex2f, 128, Vertex2f@8) + GL_STUB(Vertex2fv, 129, Vertex2fv@4) + GL_STUB(Vertex2i, 130, Vertex2i@8) + GL_STUB(Vertex2iv, 131, Vertex2iv@4) + GL_STUB(Vertex2s, 132, Vertex2s@8) + GL_STUB(Vertex2sv, 133, Vertex2sv@4) + GL_STUB(Vertex3d, 134, Vertex3d@24) + GL_STUB(Vertex3dv, 135, Vertex3dv@4) + GL_STUB(Vertex3f, 136, Vertex3f@12) + GL_STUB(Vertex3fv, 137, Vertex3fv@4) + GL_STUB(Vertex3i, 138, Vertex3i@12) + GL_STUB(Vertex3iv, 139, Vertex3iv@4) + GL_STUB(Vertex3s, 140, Vertex3s@12) + GL_STUB(Vertex3sv, 141, Vertex3sv@4) + GL_STUB(Vertex4d, 142, Vertex4d@32) + GL_STUB(Vertex4dv, 143, Vertex4dv@4) + GL_STUB(Vertex4f, 144, Vertex4f@16) + GL_STUB(Vertex4fv, 145, Vertex4fv@4) + GL_STUB(Vertex4i, 146, Vertex4i@16) + GL_STUB(Vertex4iv, 147, Vertex4iv@4) + GL_STUB(Vertex4s, 148, Vertex4s@16) + GL_STUB(Vertex4sv, 149, Vertex4sv@4) + GL_STUB(ClipPlane, 150, ClipPlane@8) + GL_STUB(ColorMaterial, 151, ColorMaterial@8) + GL_STUB(CullFace, 152, CullFace@4) + GL_STUB(Fogf, 153, Fogf@8) + GL_STUB(Fogfv, 154, Fogfv@8) + GL_STUB(Fogi, 155, Fogi@8) + GL_STUB(Fogiv, 156, Fogiv@8) + GL_STUB(FrontFace, 157, FrontFace@4) + GL_STUB(Hint, 158, Hint@8) + GL_STUB(Lightf, 159, Lightf@12) + GL_STUB(Lightfv, 160, Lightfv@12) + GL_STUB(Lighti, 161, Lighti@12) + GL_STUB(Lightiv, 162, Lightiv@12) + GL_STUB(LightModelf, 163, LightModelf@8) + GL_STUB(LightModelfv, 164, LightModelfv@8) + GL_STUB(LightModeli, 165, LightModeli@8) + GL_STUB(LightModeliv, 166, LightModeliv@8) + GL_STUB(LineStipple, 167, LineStipple@8) + GL_STUB(LineWidth, 168, LineWidth@4) + GL_STUB(Materialf, 169, Materialf@12) + GL_STUB(Materialfv, 170, Materialfv@12) + GL_STUB(Materiali, 171, Materiali@12) + GL_STUB(Materialiv, 172, Materialiv@12) + GL_STUB(PointSize, 173, PointSize@4) + GL_STUB(PolygonMode, 174, PolygonMode@8) + GL_STUB(PolygonStipple, 175, PolygonStipple@4) + GL_STUB(Scissor, 176, Scissor@16) + GL_STUB(ShadeModel, 177, ShadeModel@4) + GL_STUB(TexParameterf, 178, TexParameterf@12) + GL_STUB(TexParameterfv, 179, TexParameterfv@12) + GL_STUB(TexParameteri, 180, TexParameteri@12) + GL_STUB(TexParameteriv, 181, TexParameteriv@12) + GL_STUB(TexImage1D, 182, TexImage1D@32) + GL_STUB(TexImage2D, 183, TexImage2D@36) + GL_STUB(TexEnvf, 184, TexEnvf@12) + GL_STUB(TexEnvfv, 185, TexEnvfv@12) + GL_STUB(TexEnvi, 186, TexEnvi@12) + GL_STUB(TexEnviv, 187, TexEnviv@12) + GL_STUB(TexGend, 188, TexGend@16) + GL_STUB(TexGendv, 189, TexGendv@12) + GL_STUB(TexGenf, 190, TexGenf@12) + GL_STUB(TexGenfv, 191, TexGenfv@12) + GL_STUB(TexGeni, 192, TexGeni@12) + GL_STUB(TexGeniv, 193, TexGeniv@12) + GL_STUB(FeedbackBuffer, 194, FeedbackBuffer@12) + GL_STUB(SelectBuffer, 195, SelectBuffer@8) + GL_STUB(RenderMode, 196, RenderMode@4) + GL_STUB(InitNames, 197, InitNames@0) + GL_STUB(LoadName, 198, LoadName@4) + GL_STUB(PassThrough, 199, PassThrough@4) + GL_STUB(PopName, 200, PopName@0) + GL_STUB(PushName, 201, PushName@4) + GL_STUB(DrawBuffer, 202, DrawBuffer@4) + GL_STUB(Clear, 203, Clear@4) + GL_STUB(ClearAccum, 204, ClearAccum@16) + GL_STUB(ClearIndex, 205, ClearIndex@4) + GL_STUB(ClearColor, 206, ClearColor@16) + GL_STUB(ClearStencil, 207, ClearStencil@4) + GL_STUB(ClearDepth, 208, ClearDepth@8) + GL_STUB(StencilMask, 209, StencilMask@4) + GL_STUB(ColorMask, 210, ColorMask@16) + GL_STUB(DepthMask, 211, DepthMask@4) + GL_STUB(IndexMask, 212, IndexMask@4) + GL_STUB(Accum, 213, Accum@8) + GL_STUB(Disable, 214, Disable@4) + GL_STUB(Enable, 215, Enable@4) + GL_STUB(Finish, 216, Finish@0) + GL_STUB(Flush, 217, Flush@0) + GL_STUB(PopAttrib, 218, PopAttrib@0) + GL_STUB(PushAttrib, 219, PushAttrib@4) + GL_STUB(Map1d, 220, Map1d@32) + GL_STUB(Map1f, 221, Map1f@24) + GL_STUB(Map2d, 222, Map2d@56) + GL_STUB(Map2f, 223, Map2f@40) + GL_STUB(MapGrid1d, 224, MapGrid1d@20) + GL_STUB(MapGrid1f, 225, MapGrid1f@12) + GL_STUB(MapGrid2d, 226, MapGrid2d@40) + GL_STUB(MapGrid2f, 227, MapGrid2f@24) + GL_STUB(EvalCoord1d, 228, EvalCoord1d@8) + GL_STUB(EvalCoord1dv, 229, EvalCoord1dv@4) + GL_STUB(EvalCoord1f, 230, EvalCoord1f@4) + GL_STUB(EvalCoord1fv, 231, EvalCoord1fv@4) + GL_STUB(EvalCoord2d, 232, EvalCoord2d@16) + GL_STUB(EvalCoord2dv, 233, EvalCoord2dv@4) + GL_STUB(EvalCoord2f, 234, EvalCoord2f@8) + GL_STUB(EvalCoord2fv, 235, EvalCoord2fv@4) + GL_STUB(EvalMesh1, 236, EvalMesh1@12) + GL_STUB(EvalPoint1, 237, EvalPoint1@4) + GL_STUB(EvalMesh2, 238, EvalMesh2@20) + GL_STUB(EvalPoint2, 239, EvalPoint2@8) + GL_STUB(AlphaFunc, 240, AlphaFunc@8) + GL_STUB(BlendFunc, 241, BlendFunc@8) + GL_STUB(LogicOp, 242, LogicOp@4) + GL_STUB(StencilFunc, 243, StencilFunc@12) + GL_STUB(StencilOp, 244, StencilOp@12) + GL_STUB(DepthFunc, 245, DepthFunc@4) + GL_STUB(PixelZoom, 246, PixelZoom@8) + GL_STUB(PixelTransferf, 247, PixelTransferf@8) + GL_STUB(PixelTransferi, 248, PixelTransferi@8) + GL_STUB(PixelStoref, 249, PixelStoref@8) + GL_STUB(PixelStorei, 250, PixelStorei@8) + GL_STUB(PixelMapfv, 251, PixelMapfv@12) + GL_STUB(PixelMapuiv, 252, PixelMapuiv@12) + GL_STUB(PixelMapusv, 253, PixelMapusv@12) + GL_STUB(ReadBuffer, 254, ReadBuffer@4) + GL_STUB(CopyPixels, 255, CopyPixels@20) + GL_STUB(ReadPixels, 256, ReadPixels@28) + GL_STUB(DrawPixels, 257, DrawPixels@20) + GL_STUB(GetBooleanv, 258, GetBooleanv@8) + GL_STUB(GetClipPlane, 259, GetClipPlane@8) + GL_STUB(GetDoublev, 260, GetDoublev@8) + GL_STUB(GetError, 261, GetError@0) + GL_STUB(GetFloatv, 262, GetFloatv@8) + GL_STUB(GetIntegerv, 263, GetIntegerv@8) + GL_STUB(GetLightfv, 264, GetLightfv@12) + GL_STUB(GetLightiv, 265, GetLightiv@12) + GL_STUB(GetMapdv, 266, GetMapdv@12) + GL_STUB(GetMapfv, 267, GetMapfv@12) + GL_STUB(GetMapiv, 268, GetMapiv@12) + GL_STUB(GetMaterialfv, 269, GetMaterialfv@12) + GL_STUB(GetMaterialiv, 270, GetMaterialiv@12) + GL_STUB(GetPixelMapfv, 271, GetPixelMapfv@8) + GL_STUB(GetPixelMapuiv, 272, GetPixelMapuiv@8) + GL_STUB(GetPixelMapusv, 273, GetPixelMapusv@8) + GL_STUB(GetPolygonStipple, 274, GetPolygonStipple@4) + GL_STUB(GetString, 275, GetString@4) + GL_STUB(GetTexEnvfv, 276, GetTexEnvfv@12) + GL_STUB(GetTexEnviv, 277, GetTexEnviv@12) + GL_STUB(GetTexGendv, 278, GetTexGendv@12) + GL_STUB(GetTexGenfv, 279, GetTexGenfv@12) + GL_STUB(GetTexGeniv, 280, GetTexGeniv@12) + GL_STUB(GetTexImage, 281, GetTexImage@20) + GL_STUB(GetTexParameterfv, 282, GetTexParameterfv@12) + GL_STUB(GetTexParameteriv, 283, GetTexParameteriv@12) + GL_STUB(GetTexLevelParameterfv, 284, GetTexLevelParameterfv@16) + GL_STUB(GetTexLevelParameteriv, 285, GetTexLevelParameteriv@16) + GL_STUB(IsEnabled, 286, IsEnabled@4) + GL_STUB(IsList, 287, IsList@4) + GL_STUB(DepthRange, 288, DepthRange@16) + GL_STUB(Frustum, 289, Frustum@48) + GL_STUB(LoadIdentity, 290, LoadIdentity@0) + GL_STUB(LoadMatrixf, 291, LoadMatrixf@4) + GL_STUB(LoadMatrixd, 292, LoadMatrixd@4) + GL_STUB(MatrixMode, 293, MatrixMode@4) + GL_STUB(MultMatrixf, 294, MultMatrixf@4) + GL_STUB(MultMatrixd, 295, MultMatrixd@4) + GL_STUB(Ortho, 296, Ortho@48) + GL_STUB(PopMatrix, 297, PopMatrix@0) + GL_STUB(PushMatrix, 298, PushMatrix@0) + GL_STUB(Rotated, 299, Rotated@32) + GL_STUB(Rotatef, 300, Rotatef@16) + GL_STUB(Scaled, 301, Scaled@24) + GL_STUB(Scalef, 302, Scalef@12) + GL_STUB(Translated, 303, Translated@24) + GL_STUB(Translatef, 304, Translatef@12) + GL_STUB(Viewport, 305, Viewport@16) + GL_STUB(ArrayElement, 306, ArrayElement@4) + GL_STUB(BindTexture, 307, BindTexture@8) + GL_STUB(ColorPointer, 308, ColorPointer@16) + GL_STUB(DisableClientState, 309, DisableClientState@4) + GL_STUB(DrawArrays, 310, DrawArrays@12) + GL_STUB(DrawElements, 311, DrawElements@16) + GL_STUB(EdgeFlagPointer, 312, EdgeFlagPointer@8) + GL_STUB(EnableClientState, 313, EnableClientState@4) + GL_STUB(IndexPointer, 314, IndexPointer@12) + GL_STUB(Indexub, 315, Indexub@4) + GL_STUB(Indexubv, 316, Indexubv@4) + GL_STUB(InterleavedArrays, 317, InterleavedArrays@12) + GL_STUB(NormalPointer, 318, NormalPointer@12) + GL_STUB(PolygonOffset, 319, PolygonOffset@8) + GL_STUB(TexCoordPointer, 320, TexCoordPointer@16) + GL_STUB(VertexPointer, 321, VertexPointer@16) + GL_STUB(AreTexturesResident, 322, AreTexturesResident@12) + GL_STUB(CopyTexImage1D, 323, CopyTexImage1D@28) + GL_STUB(CopyTexImage2D, 324, CopyTexImage2D@32) + GL_STUB(CopyTexSubImage1D, 325, CopyTexSubImage1D@24) + GL_STUB(CopyTexSubImage2D, 326, CopyTexSubImage2D@32) + GL_STUB(DeleteTextures, 327, DeleteTextures@8) + GL_STUB(GenTextures, 328, GenTextures@8) + GL_STUB(GetPointerv, 329, GetPointerv@8) + GL_STUB(IsTexture, 330, IsTexture@4) + GL_STUB(PrioritizeTextures, 331, PrioritizeTextures@12) + GL_STUB(TexSubImage1D, 332, TexSubImage1D@28) + GL_STUB(TexSubImage2D, 333, TexSubImage2D@36) + GL_STUB(PopClientAttrib, 334, PopClientAttrib@0) + GL_STUB(PushClientAttrib, 335, PushClientAttrib@4) + GL_STUB(BlendColor, 336, BlendColor@16) + GL_STUB(BlendEquation, 337, BlendEquation@4) + GL_STUB(DrawRangeElements, 338, DrawRangeElements@24) + GL_STUB(ColorTable, 339, ColorTable@24) + GL_STUB(ColorTableParameterfv, 340, ColorTableParameterfv@12) + GL_STUB(ColorTableParameteriv, 341, ColorTableParameteriv@12) + GL_STUB(CopyColorTable, 342, CopyColorTable@20) + GL_STUB(GetColorTable, 343, GetColorTable@16) + GL_STUB(GetColorTableParameterfv, 344, GetColorTableParameterfv@12) + GL_STUB(GetColorTableParameteriv, 345, GetColorTableParameteriv@12) + GL_STUB(ColorSubTable, 346, ColorSubTable@24) + GL_STUB(CopyColorSubTable, 347, CopyColorSubTable@20) + GL_STUB(ConvolutionFilter1D, 348, ConvolutionFilter1D@24) + GL_STUB(ConvolutionFilter2D, 349, ConvolutionFilter2D@28) + GL_STUB(ConvolutionParameterf, 350, ConvolutionParameterf@12) + GL_STUB(ConvolutionParameterfv, 351, ConvolutionParameterfv@12) + GL_STUB(ConvolutionParameteri, 352, ConvolutionParameteri@12) + GL_STUB(ConvolutionParameteriv, 353, ConvolutionParameteriv@12) + GL_STUB(CopyConvolutionFilter1D, 354, CopyConvolutionFilter1D@20) + GL_STUB(CopyConvolutionFilter2D, 355, CopyConvolutionFilter2D@24) + GL_STUB(GetConvolutionFilter, 356, GetConvolutionFilter@16) + GL_STUB(GetConvolutionParameterfv, 357, GetConvolutionParameterfv@12) + GL_STUB(GetConvolutionParameteriv, 358, GetConvolutionParameteriv@12) + GL_STUB(GetSeparableFilter, 359, GetSeparableFilter@24) + GL_STUB(SeparableFilter2D, 360, SeparableFilter2D@32) + GL_STUB(GetHistogram, 361, GetHistogram@20) + GL_STUB(GetHistogramParameterfv, 362, GetHistogramParameterfv@12) + GL_STUB(GetHistogramParameteriv, 363, GetHistogramParameteriv@12) + GL_STUB(GetMinmax, 364, GetMinmax@20) + GL_STUB(GetMinmaxParameterfv, 365, GetMinmaxParameterfv@12) + GL_STUB(GetMinmaxParameteriv, 366, GetMinmaxParameteriv@12) + GL_STUB(Histogram, 367, Histogram@16) + GL_STUB(Minmax, 368, Minmax@12) + GL_STUB(ResetHistogram, 369, ResetHistogram@4) + GL_STUB(ResetMinmax, 370, ResetMinmax@4) + GL_STUB(TexImage3D, 371, TexImage3D@40) + GL_STUB(TexSubImage3D, 372, TexSubImage3D@44) + GL_STUB(CopyTexSubImage3D, 373, CopyTexSubImage3D@36) + GL_STUB(ActiveTextureARB, 374, ActiveTextureARB@4) + GL_STUB(ClientActiveTextureARB, 375, ClientActiveTextureARB@4) + GL_STUB(MultiTexCoord1dARB, 376, MultiTexCoord1dARB@12) + GL_STUB(MultiTexCoord1dvARB, 377, MultiTexCoord1dvARB@8) + GL_STUB(MultiTexCoord1fARB, 378, MultiTexCoord1fARB@8) + GL_STUB(MultiTexCoord1fvARB, 379, MultiTexCoord1fvARB@8) + GL_STUB(MultiTexCoord1iARB, 380, MultiTexCoord1iARB@8) + GL_STUB(MultiTexCoord1ivARB, 381, MultiTexCoord1ivARB@8) + GL_STUB(MultiTexCoord1sARB, 382, MultiTexCoord1sARB@8) + GL_STUB(MultiTexCoord1svARB, 383, MultiTexCoord1svARB@8) + GL_STUB(MultiTexCoord2dARB, 384, MultiTexCoord2dARB@20) + GL_STUB(MultiTexCoord2dvARB, 385, MultiTexCoord2dvARB@8) + GL_STUB(MultiTexCoord2fARB, 386, MultiTexCoord2fARB@12) + GL_STUB(MultiTexCoord2fvARB, 387, MultiTexCoord2fvARB@8) + GL_STUB(MultiTexCoord2iARB, 388, MultiTexCoord2iARB@12) + GL_STUB(MultiTexCoord2ivARB, 389, MultiTexCoord2ivARB@8) + GL_STUB(MultiTexCoord2sARB, 390, MultiTexCoord2sARB@12) + GL_STUB(MultiTexCoord2svARB, 391, MultiTexCoord2svARB@8) + GL_STUB(MultiTexCoord3dARB, 392, MultiTexCoord3dARB@28) + GL_STUB(MultiTexCoord3dvARB, 393, MultiTexCoord3dvARB@8) + GL_STUB(MultiTexCoord3fARB, 394, MultiTexCoord3fARB@16) + GL_STUB(MultiTexCoord3fvARB, 395, MultiTexCoord3fvARB@8) + GL_STUB(MultiTexCoord3iARB, 396, MultiTexCoord3iARB@16) + GL_STUB(MultiTexCoord3ivARB, 397, MultiTexCoord3ivARB@8) + GL_STUB(MultiTexCoord3sARB, 398, MultiTexCoord3sARB@16) + GL_STUB(MultiTexCoord3svARB, 399, MultiTexCoord3svARB@8) + GL_STUB(MultiTexCoord4dARB, 400, MultiTexCoord4dARB@36) + GL_STUB(MultiTexCoord4dvARB, 401, MultiTexCoord4dvARB@8) + GL_STUB(MultiTexCoord4fARB, 402, MultiTexCoord4fARB@20) + GL_STUB(MultiTexCoord4fvARB, 403, MultiTexCoord4fvARB@8) + GL_STUB(MultiTexCoord4iARB, 404, MultiTexCoord4iARB@20) + GL_STUB(MultiTexCoord4ivARB, 405, MultiTexCoord4ivARB@8) + GL_STUB(MultiTexCoord4sARB, 406, MultiTexCoord4sARB@20) + GL_STUB(MultiTexCoord4svARB, 407, MultiTexCoord4svARB@8) + GL_STUB(AttachShader, 408, AttachShader@8) + GL_STUB(CreateProgram, 409, CreateProgram@0) + GL_STUB(CreateShader, 410, CreateShader@4) + GL_STUB(DeleteProgram, 411, DeleteProgram@4) + GL_STUB(DeleteShader, 412, DeleteShader@4) + GL_STUB(DetachShader, 413, DetachShader@8) + GL_STUB(GetAttachedShaders, 414, GetAttachedShaders@16) + GL_STUB(GetProgramInfoLog, 415, GetProgramInfoLog@16) + GL_STUB(GetProgramiv, 416, GetProgramiv@12) + GL_STUB(GetShaderInfoLog, 417, GetShaderInfoLog@16) + GL_STUB(GetShaderiv, 418, GetShaderiv@12) + GL_STUB(IsProgram, 419, IsProgram@4) + GL_STUB(IsShader, 420, IsShader@4) + GL_STUB(StencilFuncSeparate, 421, StencilFuncSeparate@16) + GL_STUB(StencilMaskSeparate, 422, StencilMaskSeparate@8) + GL_STUB(StencilOpSeparate, 423, StencilOpSeparate@16) + GL_STUB(UniformMatrix2x3fv, 424, UniformMatrix2x3fv@16) + GL_STUB(UniformMatrix2x4fv, 425, UniformMatrix2x4fv@16) + GL_STUB(UniformMatrix3x2fv, 426, UniformMatrix3x2fv@16) + GL_STUB(UniformMatrix3x4fv, 427, UniformMatrix3x4fv@16) + GL_STUB(UniformMatrix4x2fv, 428, UniformMatrix4x2fv@16) + GL_STUB(UniformMatrix4x3fv, 429, UniformMatrix4x3fv@16) + GL_STUB(DrawArraysInstanced, 430, DrawArraysInstanced@16) + GL_STUB(DrawElementsInstanced, 431, DrawElementsInstanced@20) + GL_STUB(LoadTransposeMatrixdARB, 432, LoadTransposeMatrixdARB@4) + GL_STUB(LoadTransposeMatrixfARB, 433, LoadTransposeMatrixfARB@4) + GL_STUB(MultTransposeMatrixdARB, 434, MultTransposeMatrixdARB@4) + GL_STUB(MultTransposeMatrixfARB, 435, MultTransposeMatrixfARB@4) + GL_STUB(SampleCoverageARB, 436, SampleCoverageARB@8) + GL_STUB(CompressedTexImage1DARB, 437, CompressedTexImage1DARB@28) + GL_STUB(CompressedTexImage2DARB, 438, CompressedTexImage2DARB@32) + GL_STUB(CompressedTexImage3DARB, 439, CompressedTexImage3DARB@36) + GL_STUB(CompressedTexSubImage1DARB, 440, CompressedTexSubImage1DARB@28) + GL_STUB(CompressedTexSubImage2DARB, 441, CompressedTexSubImage2DARB@36) + GL_STUB(CompressedTexSubImage3DARB, 442, CompressedTexSubImage3DARB@44) + GL_STUB(GetCompressedTexImageARB, 443, GetCompressedTexImageARB@12) + GL_STUB(DisableVertexAttribArrayARB, 444, DisableVertexAttribArrayARB@4) + GL_STUB(EnableVertexAttribArrayARB, 445, EnableVertexAttribArrayARB@4) + GL_STUB(GetProgramEnvParameterdvARB, 446, GetProgramEnvParameterdvARB@12) + GL_STUB(GetProgramEnvParameterfvARB, 447, GetProgramEnvParameterfvARB@12) + GL_STUB(GetProgramLocalParameterdvARB, 448, GetProgramLocalParameterdvARB@12) + GL_STUB(GetProgramLocalParameterfvARB, 449, GetProgramLocalParameterfvARB@12) + GL_STUB(GetProgramStringARB, 450, GetProgramStringARB@12) + GL_STUB(GetProgramivARB, 451, GetProgramivARB@12) + GL_STUB(GetVertexAttribdvARB, 452, GetVertexAttribdvARB@12) + GL_STUB(GetVertexAttribfvARB, 453, GetVertexAttribfvARB@12) + GL_STUB(GetVertexAttribivARB, 454, GetVertexAttribivARB@12) + GL_STUB(ProgramEnvParameter4dARB, 455, ProgramEnvParameter4dARB@40) + GL_STUB(ProgramEnvParameter4dvARB, 456, ProgramEnvParameter4dvARB@12) + GL_STUB(ProgramEnvParameter4fARB, 457, ProgramEnvParameter4fARB@24) + GL_STUB(ProgramEnvParameter4fvARB, 458, ProgramEnvParameter4fvARB@12) + GL_STUB(ProgramLocalParameter4dARB, 459, ProgramLocalParameter4dARB@40) + GL_STUB(ProgramLocalParameter4dvARB, 460, ProgramLocalParameter4dvARB@12) + GL_STUB(ProgramLocalParameter4fARB, 461, ProgramLocalParameter4fARB@24) + GL_STUB(ProgramLocalParameter4fvARB, 462, ProgramLocalParameter4fvARB@12) + GL_STUB(ProgramStringARB, 463, ProgramStringARB@16) + GL_STUB(VertexAttrib1dARB, 464, VertexAttrib1dARB@12) + GL_STUB(VertexAttrib1dvARB, 465, VertexAttrib1dvARB@8) + GL_STUB(VertexAttrib1fARB, 466, VertexAttrib1fARB@8) + GL_STUB(VertexAttrib1fvARB, 467, VertexAttrib1fvARB@8) + GL_STUB(VertexAttrib1sARB, 468, VertexAttrib1sARB@8) + GL_STUB(VertexAttrib1svARB, 469, VertexAttrib1svARB@8) + GL_STUB(VertexAttrib2dARB, 470, VertexAttrib2dARB@20) + GL_STUB(VertexAttrib2dvARB, 471, VertexAttrib2dvARB@8) + GL_STUB(VertexAttrib2fARB, 472, VertexAttrib2fARB@12) + GL_STUB(VertexAttrib2fvARB, 473, VertexAttrib2fvARB@8) + GL_STUB(VertexAttrib2sARB, 474, VertexAttrib2sARB@12) + GL_STUB(VertexAttrib2svARB, 475, VertexAttrib2svARB@8) + GL_STUB(VertexAttrib3dARB, 476, VertexAttrib3dARB@28) + GL_STUB(VertexAttrib3dvARB, 477, VertexAttrib3dvARB@8) + GL_STUB(VertexAttrib3fARB, 478, VertexAttrib3fARB@16) + GL_STUB(VertexAttrib3fvARB, 479, VertexAttrib3fvARB@8) + GL_STUB(VertexAttrib3sARB, 480, VertexAttrib3sARB@16) + GL_STUB(VertexAttrib3svARB, 481, VertexAttrib3svARB@8) + GL_STUB(VertexAttrib4NbvARB, 482, VertexAttrib4NbvARB@8) + GL_STUB(VertexAttrib4NivARB, 483, VertexAttrib4NivARB@8) + GL_STUB(VertexAttrib4NsvARB, 484, VertexAttrib4NsvARB@8) + GL_STUB(VertexAttrib4NubARB, 485, VertexAttrib4NubARB@20) + GL_STUB(VertexAttrib4NubvARB, 486, VertexAttrib4NubvARB@8) + GL_STUB(VertexAttrib4NuivARB, 487, VertexAttrib4NuivARB@8) + GL_STUB(VertexAttrib4NusvARB, 488, VertexAttrib4NusvARB@8) + GL_STUB(VertexAttrib4bvARB, 489, VertexAttrib4bvARB@8) + GL_STUB(VertexAttrib4dARB, 490, VertexAttrib4dARB@36) + GL_STUB(VertexAttrib4dvARB, 491, VertexAttrib4dvARB@8) + GL_STUB(VertexAttrib4fARB, 492, VertexAttrib4fARB@20) + GL_STUB(VertexAttrib4fvARB, 493, VertexAttrib4fvARB@8) + GL_STUB(VertexAttrib4ivARB, 494, VertexAttrib4ivARB@8) + GL_STUB(VertexAttrib4sARB, 495, VertexAttrib4sARB@20) + GL_STUB(VertexAttrib4svARB, 496, VertexAttrib4svARB@8) + GL_STUB(VertexAttrib4ubvARB, 497, VertexAttrib4ubvARB@8) + GL_STUB(VertexAttrib4uivARB, 498, VertexAttrib4uivARB@8) + GL_STUB(VertexAttrib4usvARB, 499, VertexAttrib4usvARB@8) + GL_STUB(VertexAttribPointerARB, 500, VertexAttribPointerARB@24) + GL_STUB(BindBufferARB, 501, BindBufferARB@8) + GL_STUB(BufferDataARB, 502, BufferDataARB@16) + GL_STUB(BufferSubDataARB, 503, BufferSubDataARB@16) + GL_STUB(DeleteBuffersARB, 504, DeleteBuffersARB@8) + GL_STUB(GenBuffersARB, 505, GenBuffersARB@8) + GL_STUB(GetBufferParameterivARB, 506, GetBufferParameterivARB@12) + GL_STUB(GetBufferPointervARB, 507, GetBufferPointervARB@12) + GL_STUB(GetBufferSubDataARB, 508, GetBufferSubDataARB@16) + GL_STUB(IsBufferARB, 509, IsBufferARB@4) + GL_STUB(MapBufferARB, 510, MapBufferARB@8) + GL_STUB(UnmapBufferARB, 511, UnmapBufferARB@4) + GL_STUB(BeginQueryARB, 512, BeginQueryARB@8) + GL_STUB(DeleteQueriesARB, 513, DeleteQueriesARB@8) + GL_STUB(EndQueryARB, 514, EndQueryARB@4) + GL_STUB(GenQueriesARB, 515, GenQueriesARB@8) + GL_STUB(GetQueryObjectivARB, 516, GetQueryObjectivARB@12) + GL_STUB(GetQueryObjectuivARB, 517, GetQueryObjectuivARB@12) + GL_STUB(GetQueryivARB, 518, GetQueryivARB@12) + GL_STUB(IsQueryARB, 519, IsQueryARB@4) + GL_STUB(AttachObjectARB, 520, AttachObjectARB@8) + GL_STUB(CompileShaderARB, 521, CompileShaderARB@4) + GL_STUB(CreateProgramObjectARB, 522, CreateProgramObjectARB@0) + GL_STUB(CreateShaderObjectARB, 523, CreateShaderObjectARB@4) + GL_STUB(DeleteObjectARB, 524, DeleteObjectARB@4) + GL_STUB(DetachObjectARB, 525, DetachObjectARB@8) + GL_STUB(GetActiveUniformARB, 526, GetActiveUniformARB@28) + GL_STUB(GetAttachedObjectsARB, 527, GetAttachedObjectsARB@16) + GL_STUB(GetHandleARB, 528, GetHandleARB@4) + GL_STUB(GetInfoLogARB, 529, GetInfoLogARB@16) + GL_STUB(GetObjectParameterfvARB, 530, GetObjectParameterfvARB@12) + GL_STUB(GetObjectParameterivARB, 531, GetObjectParameterivARB@12) + GL_STUB(GetShaderSourceARB, 532, GetShaderSourceARB@16) + GL_STUB(GetUniformLocationARB, 533, GetUniformLocationARB@8) + GL_STUB(GetUniformfvARB, 534, GetUniformfvARB@12) + GL_STUB(GetUniformivARB, 535, GetUniformivARB@12) + GL_STUB(LinkProgramARB, 536, LinkProgramARB@4) + GL_STUB(ShaderSourceARB, 537, ShaderSourceARB@16) + GL_STUB(Uniform1fARB, 538, Uniform1fARB@8) + GL_STUB(Uniform1fvARB, 539, Uniform1fvARB@12) + GL_STUB(Uniform1iARB, 540, Uniform1iARB@8) + GL_STUB(Uniform1ivARB, 541, Uniform1ivARB@12) + GL_STUB(Uniform2fARB, 542, Uniform2fARB@12) + GL_STUB(Uniform2fvARB, 543, Uniform2fvARB@12) + GL_STUB(Uniform2iARB, 544, Uniform2iARB@12) + GL_STUB(Uniform2ivARB, 545, Uniform2ivARB@12) + GL_STUB(Uniform3fARB, 546, Uniform3fARB@16) + GL_STUB(Uniform3fvARB, 547, Uniform3fvARB@12) + GL_STUB(Uniform3iARB, 548, Uniform3iARB@16) + GL_STUB(Uniform3ivARB, 549, Uniform3ivARB@12) + GL_STUB(Uniform4fARB, 550, Uniform4fARB@20) + GL_STUB(Uniform4fvARB, 551, Uniform4fvARB@12) + GL_STUB(Uniform4iARB, 552, Uniform4iARB@20) + GL_STUB(Uniform4ivARB, 553, Uniform4ivARB@12) + GL_STUB(UniformMatrix2fvARB, 554, UniformMatrix2fvARB@16) + GL_STUB(UniformMatrix3fvARB, 555, UniformMatrix3fvARB@16) + GL_STUB(UniformMatrix4fvARB, 556, UniformMatrix4fvARB@16) + GL_STUB(UseProgramObjectARB, 557, UseProgramObjectARB@4) + GL_STUB(ValidateProgramARB, 558, ValidateProgramARB@4) + GL_STUB(BindAttribLocationARB, 559, BindAttribLocationARB@12) + GL_STUB(GetActiveAttribARB, 560, GetActiveAttribARB@28) + GL_STUB(GetAttribLocationARB, 561, GetAttribLocationARB@8) + GL_STUB(DrawBuffersARB, 562, DrawBuffersARB@8) + GL_STUB(RenderbufferStorageMultisample, 563, RenderbufferStorageMultisample@20) + GL_STUB(FramebufferTextureARB, 564, FramebufferTextureARB@16) + GL_STUB(FramebufferTextureFaceARB, 565, FramebufferTextureFaceARB@20) + GL_STUB(ProgramParameteriARB, 566, ProgramParameteriARB@12) + GL_STUB(FlushMappedBufferRange, 567, FlushMappedBufferRange@12) + GL_STUB(MapBufferRange, 568, MapBufferRange@16) + GL_STUB(BindVertexArray, 569, BindVertexArray@4) + GL_STUB(GenVertexArrays, 570, GenVertexArrays@8) + GL_STUB(CopyBufferSubData, 571, CopyBufferSubData@20) + GL_STUB(ClientWaitSync, 572, ClientWaitSync@12) + GL_STUB(DeleteSync, 573, DeleteSync@4) + GL_STUB(FenceSync, 574, FenceSync@8) + GL_STUB(GetInteger64v, 575, GetInteger64v@8) + GL_STUB(GetSynciv, 576, GetSynciv@20) + GL_STUB(IsSync, 577, IsSync@4) + GL_STUB(WaitSync, 578, WaitSync@12) + GL_STUB(DrawElementsBaseVertex, 579, DrawElementsBaseVertex@20) + GL_STUB(DrawRangeElementsBaseVertex, 580, DrawRangeElementsBaseVertex@28) + GL_STUB(MultiDrawElementsBaseVertex, 581, MultiDrawElementsBaseVertex@24) + GL_STUB(BindTransformFeedback, 582, BindTransformFeedback@8) + GL_STUB(DeleteTransformFeedbacks, 583, DeleteTransformFeedbacks@8) + GL_STUB(DrawTransformFeedback, 584, DrawTransformFeedback@8) + GL_STUB(GenTransformFeedbacks, 585, GenTransformFeedbacks@8) + GL_STUB(IsTransformFeedback, 586, IsTransformFeedback@4) + GL_STUB(PauseTransformFeedback, 587, PauseTransformFeedback@0) + GL_STUB(ResumeTransformFeedback, 588, ResumeTransformFeedback@0) + GL_STUB(PolygonOffsetEXT, 589, PolygonOffsetEXT@8) + GL_STUB(_dispatch_stub_590, 590, _dispatch_stub_590@8) HIDDEN(GL_PREFIX(_dispatch_stub_590, _dispatch_stub_590@8)) - GL_STUB(_dispatch_stub_591, _gloffset_GetPixelTexGenParameterivSGIS, _dispatch_stub_591@8) + GL_STUB(_dispatch_stub_591, 591, _dispatch_stub_591@8) HIDDEN(GL_PREFIX(_dispatch_stub_591, _dispatch_stub_591@8)) - GL_STUB(_dispatch_stub_592, _gloffset_PixelTexGenParameterfSGIS, _dispatch_stub_592@8) + GL_STUB(_dispatch_stub_592, 592, _dispatch_stub_592@8) HIDDEN(GL_PREFIX(_dispatch_stub_592, _dispatch_stub_592@8)) - GL_STUB(_dispatch_stub_593, _gloffset_PixelTexGenParameterfvSGIS, _dispatch_stub_593@8) + GL_STUB(_dispatch_stub_593, 593, _dispatch_stub_593@8) HIDDEN(GL_PREFIX(_dispatch_stub_593, _dispatch_stub_593@8)) - GL_STUB(_dispatch_stub_594, _gloffset_PixelTexGenParameteriSGIS, _dispatch_stub_594@8) + GL_STUB(_dispatch_stub_594, 594, _dispatch_stub_594@8) HIDDEN(GL_PREFIX(_dispatch_stub_594, _dispatch_stub_594@8)) - GL_STUB(_dispatch_stub_595, _gloffset_PixelTexGenParameterivSGIS, _dispatch_stub_595@8) + GL_STUB(_dispatch_stub_595, 595, _dispatch_stub_595@8) HIDDEN(GL_PREFIX(_dispatch_stub_595, _dispatch_stub_595@8)) - GL_STUB(_dispatch_stub_596, _gloffset_SampleMaskSGIS, _dispatch_stub_596@8) + GL_STUB(_dispatch_stub_596, 596, _dispatch_stub_596@8) HIDDEN(GL_PREFIX(_dispatch_stub_596, _dispatch_stub_596@8)) - GL_STUB(_dispatch_stub_597, _gloffset_SamplePatternSGIS, _dispatch_stub_597@4) + GL_STUB(_dispatch_stub_597, 597, _dispatch_stub_597@4) HIDDEN(GL_PREFIX(_dispatch_stub_597, _dispatch_stub_597@4)) - GL_STUB(ColorPointerEXT, _gloffset_ColorPointerEXT, ColorPointerEXT@20) - GL_STUB(EdgeFlagPointerEXT, _gloffset_EdgeFlagPointerEXT, EdgeFlagPointerEXT@12) - GL_STUB(IndexPointerEXT, _gloffset_IndexPointerEXT, IndexPointerEXT@16) - GL_STUB(NormalPointerEXT, _gloffset_NormalPointerEXT, NormalPointerEXT@16) - GL_STUB(TexCoordPointerEXT, _gloffset_TexCoordPointerEXT, TexCoordPointerEXT@20) - GL_STUB(VertexPointerEXT, _gloffset_VertexPointerEXT, VertexPointerEXT@20) - GL_STUB(PointParameterfEXT, _gloffset_PointParameterfEXT, PointParameterfEXT@8) - GL_STUB(PointParameterfvEXT, _gloffset_PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB(LockArraysEXT, _gloffset_LockArraysEXT, LockArraysEXT@8) - GL_STUB(UnlockArraysEXT, _gloffset_UnlockArraysEXT, UnlockArraysEXT@0) - GL_STUB(SecondaryColor3bEXT, _gloffset_SecondaryColor3bEXT, SecondaryColor3bEXT@12) - GL_STUB(SecondaryColor3bvEXT, _gloffset_SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) - GL_STUB(SecondaryColor3dEXT, _gloffset_SecondaryColor3dEXT, SecondaryColor3dEXT@24) - GL_STUB(SecondaryColor3dvEXT, _gloffset_SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) - GL_STUB(SecondaryColor3fEXT, _gloffset_SecondaryColor3fEXT, SecondaryColor3fEXT@12) - GL_STUB(SecondaryColor3fvEXT, _gloffset_SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) - GL_STUB(SecondaryColor3iEXT, _gloffset_SecondaryColor3iEXT, SecondaryColor3iEXT@12) - GL_STUB(SecondaryColor3ivEXT, _gloffset_SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) - GL_STUB(SecondaryColor3sEXT, _gloffset_SecondaryColor3sEXT, SecondaryColor3sEXT@12) - GL_STUB(SecondaryColor3svEXT, _gloffset_SecondaryColor3svEXT, SecondaryColor3svEXT@4) - GL_STUB(SecondaryColor3ubEXT, _gloffset_SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) - GL_STUB(SecondaryColor3ubvEXT, _gloffset_SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) - GL_STUB(SecondaryColor3uiEXT, _gloffset_SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) - GL_STUB(SecondaryColor3uivEXT, _gloffset_SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) - GL_STUB(SecondaryColor3usEXT, _gloffset_SecondaryColor3usEXT, SecondaryColor3usEXT@12) - GL_STUB(SecondaryColor3usvEXT, _gloffset_SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) - GL_STUB(SecondaryColorPointerEXT, _gloffset_SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) - GL_STUB(MultiDrawArraysEXT, _gloffset_MultiDrawArraysEXT, MultiDrawArraysEXT@16) - GL_STUB(MultiDrawElementsEXT, _gloffset_MultiDrawElementsEXT, MultiDrawElementsEXT@20) - GL_STUB(FogCoordPointerEXT, _gloffset_FogCoordPointerEXT, FogCoordPointerEXT@12) - GL_STUB(FogCoorddEXT, _gloffset_FogCoorddEXT, FogCoorddEXT@8) - 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_632, _gloffset_PixelTexGenSGIX, _dispatch_stub_632@4) + GL_STUB(ColorPointerEXT, 598, ColorPointerEXT@20) + GL_STUB(EdgeFlagPointerEXT, 599, EdgeFlagPointerEXT@12) + GL_STUB(IndexPointerEXT, 600, IndexPointerEXT@16) + GL_STUB(NormalPointerEXT, 601, NormalPointerEXT@16) + GL_STUB(TexCoordPointerEXT, 602, TexCoordPointerEXT@20) + GL_STUB(VertexPointerEXT, 603, VertexPointerEXT@20) + GL_STUB(PointParameterfEXT, 604, PointParameterfEXT@8) + GL_STUB(PointParameterfvEXT, 605, PointParameterfvEXT@8) + GL_STUB(LockArraysEXT, 606, LockArraysEXT@8) + GL_STUB(UnlockArraysEXT, 607, UnlockArraysEXT@0) + GL_STUB(SecondaryColor3bEXT, 608, SecondaryColor3bEXT@12) + GL_STUB(SecondaryColor3bvEXT, 609, SecondaryColor3bvEXT@4) + GL_STUB(SecondaryColor3dEXT, 610, SecondaryColor3dEXT@24) + GL_STUB(SecondaryColor3dvEXT, 611, SecondaryColor3dvEXT@4) + GL_STUB(SecondaryColor3fEXT, 612, SecondaryColor3fEXT@12) + GL_STUB(SecondaryColor3fvEXT, 613, SecondaryColor3fvEXT@4) + GL_STUB(SecondaryColor3iEXT, 614, SecondaryColor3iEXT@12) + GL_STUB(SecondaryColor3ivEXT, 615, SecondaryColor3ivEXT@4) + GL_STUB(SecondaryColor3sEXT, 616, SecondaryColor3sEXT@12) + GL_STUB(SecondaryColor3svEXT, 617, SecondaryColor3svEXT@4) + GL_STUB(SecondaryColor3ubEXT, 618, SecondaryColor3ubEXT@12) + GL_STUB(SecondaryColor3ubvEXT, 619, SecondaryColor3ubvEXT@4) + GL_STUB(SecondaryColor3uiEXT, 620, SecondaryColor3uiEXT@12) + GL_STUB(SecondaryColor3uivEXT, 621, SecondaryColor3uivEXT@4) + GL_STUB(SecondaryColor3usEXT, 622, SecondaryColor3usEXT@12) + GL_STUB(SecondaryColor3usvEXT, 623, SecondaryColor3usvEXT@4) + GL_STUB(SecondaryColorPointerEXT, 624, SecondaryColorPointerEXT@16) + GL_STUB(MultiDrawArraysEXT, 625, MultiDrawArraysEXT@16) + GL_STUB(MultiDrawElementsEXT, 626, MultiDrawElementsEXT@20) + GL_STUB(FogCoordPointerEXT, 627, FogCoordPointerEXT@12) + GL_STUB(FogCoorddEXT, 628, FogCoorddEXT@8) + GL_STUB(FogCoorddvEXT, 629, FogCoorddvEXT@4) + GL_STUB(FogCoordfEXT, 630, FogCoordfEXT@4) + GL_STUB(FogCoordfvEXT, 631, FogCoordfvEXT@4) + GL_STUB(_dispatch_stub_632, 632, _dispatch_stub_632@4) HIDDEN(GL_PREFIX(_dispatch_stub_632, _dispatch_stub_632@4)) - GL_STUB(BlendFuncSeparateEXT, _gloffset_BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) - GL_STUB(FlushVertexArrayRangeNV, _gloffset_FlushVertexArrayRangeNV, FlushVertexArrayRangeNV@0) - GL_STUB(VertexArrayRangeNV, _gloffset_VertexArrayRangeNV, VertexArrayRangeNV@8) - GL_STUB(CombinerInputNV, _gloffset_CombinerInputNV, CombinerInputNV@24) - GL_STUB(CombinerOutputNV, _gloffset_CombinerOutputNV, CombinerOutputNV@40) - GL_STUB(CombinerParameterfNV, _gloffset_CombinerParameterfNV, CombinerParameterfNV@8) - GL_STUB(CombinerParameterfvNV, _gloffset_CombinerParameterfvNV, CombinerParameterfvNV@8) - GL_STUB(CombinerParameteriNV, _gloffset_CombinerParameteriNV, CombinerParameteriNV@8) - GL_STUB(CombinerParameterivNV, _gloffset_CombinerParameterivNV, CombinerParameterivNV@8) - GL_STUB(FinalCombinerInputNV, _gloffset_FinalCombinerInputNV, FinalCombinerInputNV@16) - GL_STUB(GetCombinerInputParameterfvNV, _gloffset_GetCombinerInputParameterfvNV, GetCombinerInputParameterfvNV@20) - GL_STUB(GetCombinerInputParameterivNV, _gloffset_GetCombinerInputParameterivNV, GetCombinerInputParameterivNV@20) - GL_STUB(GetCombinerOutputParameterfvNV, _gloffset_GetCombinerOutputParameterfvNV, GetCombinerOutputParameterfvNV@16) - GL_STUB(GetCombinerOutputParameterivNV, _gloffset_GetCombinerOutputParameterivNV, GetCombinerOutputParameterivNV@16) - GL_STUB(GetFinalCombinerInputParameterfvNV, _gloffset_GetFinalCombinerInputParameterfvNV, GetFinalCombinerInputParameterfvNV@12) - GL_STUB(GetFinalCombinerInputParameterivNV, _gloffset_GetFinalCombinerInputParameterivNV, GetFinalCombinerInputParameterivNV@12) - GL_STUB(ResizeBuffersMESA, _gloffset_ResizeBuffersMESA, ResizeBuffersMESA@0) - GL_STUB(WindowPos2dMESA, _gloffset_WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB(WindowPos2dvMESA, _gloffset_WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB(WindowPos2fMESA, _gloffset_WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB(WindowPos2fvMESA, _gloffset_WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB(WindowPos2iMESA, _gloffset_WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB(WindowPos2ivMESA, _gloffset_WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB(WindowPos2sMESA, _gloffset_WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB(WindowPos2svMESA, _gloffset_WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB(WindowPos3dMESA, _gloffset_WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB(WindowPos3dvMESA, _gloffset_WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB(WindowPos3fMESA, _gloffset_WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB(WindowPos3fvMESA, _gloffset_WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB(WindowPos3iMESA, _gloffset_WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB(WindowPos3ivMESA, _gloffset_WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB(WindowPos3sMESA, _gloffset_WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB(WindowPos3svMESA, _gloffset_WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB(WindowPos4dMESA, _gloffset_WindowPos4dMESA, WindowPos4dMESA@32) - GL_STUB(WindowPos4dvMESA, _gloffset_WindowPos4dvMESA, WindowPos4dvMESA@4) - GL_STUB(WindowPos4fMESA, _gloffset_WindowPos4fMESA, WindowPos4fMESA@16) - GL_STUB(WindowPos4fvMESA, _gloffset_WindowPos4fvMESA, WindowPos4fvMESA@4) - GL_STUB(WindowPos4iMESA, _gloffset_WindowPos4iMESA, WindowPos4iMESA@16) - 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_674, _gloffset_MultiModeDrawArraysIBM, _dispatch_stub_674@20) + GL_STUB(BlendFuncSeparateEXT, 633, BlendFuncSeparateEXT@16) + GL_STUB(FlushVertexArrayRangeNV, 634, FlushVertexArrayRangeNV@0) + GL_STUB(VertexArrayRangeNV, 635, VertexArrayRangeNV@8) + GL_STUB(CombinerInputNV, 636, CombinerInputNV@24) + GL_STUB(CombinerOutputNV, 637, CombinerOutputNV@40) + GL_STUB(CombinerParameterfNV, 638, CombinerParameterfNV@8) + GL_STUB(CombinerParameterfvNV, 639, CombinerParameterfvNV@8) + GL_STUB(CombinerParameteriNV, 640, CombinerParameteriNV@8) + GL_STUB(CombinerParameterivNV, 641, CombinerParameterivNV@8) + GL_STUB(FinalCombinerInputNV, 642, FinalCombinerInputNV@16) + GL_STUB(GetCombinerInputParameterfvNV, 643, GetCombinerInputParameterfvNV@20) + GL_STUB(GetCombinerInputParameterivNV, 644, GetCombinerInputParameterivNV@20) + GL_STUB(GetCombinerOutputParameterfvNV, 645, GetCombinerOutputParameterfvNV@16) + GL_STUB(GetCombinerOutputParameterivNV, 646, GetCombinerOutputParameterivNV@16) + GL_STUB(GetFinalCombinerInputParameterfvNV, 647, GetFinalCombinerInputParameterfvNV@12) + GL_STUB(GetFinalCombinerInputParameterivNV, 648, GetFinalCombinerInputParameterivNV@12) + GL_STUB(ResizeBuffersMESA, 649, ResizeBuffersMESA@0) + GL_STUB(WindowPos2dMESA, 650, WindowPos2dMESA@16) + GL_STUB(WindowPos2dvMESA, 651, WindowPos2dvMESA@4) + GL_STUB(WindowPos2fMESA, 652, WindowPos2fMESA@8) + GL_STUB(WindowPos2fvMESA, 653, WindowPos2fvMESA@4) + GL_STUB(WindowPos2iMESA, 654, WindowPos2iMESA@8) + GL_STUB(WindowPos2ivMESA, 655, WindowPos2ivMESA@4) + GL_STUB(WindowPos2sMESA, 656, WindowPos2sMESA@8) + GL_STUB(WindowPos2svMESA, 657, WindowPos2svMESA@4) + GL_STUB(WindowPos3dMESA, 658, WindowPos3dMESA@24) + GL_STUB(WindowPos3dvMESA, 659, WindowPos3dvMESA@4) + GL_STUB(WindowPos3fMESA, 660, WindowPos3fMESA@12) + GL_STUB(WindowPos3fvMESA, 661, WindowPos3fvMESA@4) + GL_STUB(WindowPos3iMESA, 662, WindowPos3iMESA@12) + GL_STUB(WindowPos3ivMESA, 663, WindowPos3ivMESA@4) + GL_STUB(WindowPos3sMESA, 664, WindowPos3sMESA@12) + GL_STUB(WindowPos3svMESA, 665, WindowPos3svMESA@4) + GL_STUB(WindowPos4dMESA, 666, WindowPos4dMESA@32) + GL_STUB(WindowPos4dvMESA, 667, WindowPos4dvMESA@4) + GL_STUB(WindowPos4fMESA, 668, WindowPos4fMESA@16) + GL_STUB(WindowPos4fvMESA, 669, WindowPos4fvMESA@4) + GL_STUB(WindowPos4iMESA, 670, WindowPos4iMESA@16) + GL_STUB(WindowPos4ivMESA, 671, WindowPos4ivMESA@4) + GL_STUB(WindowPos4sMESA, 672, WindowPos4sMESA@16) + GL_STUB(WindowPos4svMESA, 673, WindowPos4svMESA@4) + GL_STUB(_dispatch_stub_674, 674, _dispatch_stub_674@20) HIDDEN(GL_PREFIX(_dispatch_stub_674, _dispatch_stub_674@20)) - GL_STUB(_dispatch_stub_675, _gloffset_MultiModeDrawElementsIBM, _dispatch_stub_675@24) + GL_STUB(_dispatch_stub_675, 675, _dispatch_stub_675@24) HIDDEN(GL_PREFIX(_dispatch_stub_675, _dispatch_stub_675@24)) - GL_STUB(_dispatch_stub_676, _gloffset_DeleteFencesNV, _dispatch_stub_676@8) + GL_STUB(_dispatch_stub_676, 676, _dispatch_stub_676@8) HIDDEN(GL_PREFIX(_dispatch_stub_676, _dispatch_stub_676@8)) - GL_STUB(_dispatch_stub_677, _gloffset_FinishFenceNV, _dispatch_stub_677@4) + GL_STUB(_dispatch_stub_677, 677, _dispatch_stub_677@4) HIDDEN(GL_PREFIX(_dispatch_stub_677, _dispatch_stub_677@4)) - GL_STUB(_dispatch_stub_678, _gloffset_GenFencesNV, _dispatch_stub_678@8) + GL_STUB(_dispatch_stub_678, 678, _dispatch_stub_678@8) HIDDEN(GL_PREFIX(_dispatch_stub_678, _dispatch_stub_678@8)) - GL_STUB(_dispatch_stub_679, _gloffset_GetFenceivNV, _dispatch_stub_679@12) + GL_STUB(_dispatch_stub_679, 679, _dispatch_stub_679@12) HIDDEN(GL_PREFIX(_dispatch_stub_679, _dispatch_stub_679@12)) - GL_STUB(_dispatch_stub_680, _gloffset_IsFenceNV, _dispatch_stub_680@4) + GL_STUB(_dispatch_stub_680, 680, _dispatch_stub_680@4) HIDDEN(GL_PREFIX(_dispatch_stub_680, _dispatch_stub_680@4)) - GL_STUB(_dispatch_stub_681, _gloffset_SetFenceNV, _dispatch_stub_681@8) + GL_STUB(_dispatch_stub_681, 681, _dispatch_stub_681@8) HIDDEN(GL_PREFIX(_dispatch_stub_681, _dispatch_stub_681@8)) - GL_STUB(_dispatch_stub_682, _gloffset_TestFenceNV, _dispatch_stub_682@4) + GL_STUB(_dispatch_stub_682, 682, _dispatch_stub_682@4) HIDDEN(GL_PREFIX(_dispatch_stub_682, _dispatch_stub_682@4)) - GL_STUB(AreProgramsResidentNV, _gloffset_AreProgramsResidentNV, AreProgramsResidentNV@12) - GL_STUB(BindProgramNV, _gloffset_BindProgramNV, BindProgramNV@8) - GL_STUB(DeleteProgramsNV, _gloffset_DeleteProgramsNV, DeleteProgramsNV@8) - GL_STUB(ExecuteProgramNV, _gloffset_ExecuteProgramNV, ExecuteProgramNV@12) - GL_STUB(GenProgramsNV, _gloffset_GenProgramsNV, GenProgramsNV@8) - GL_STUB(GetProgramParameterdvNV, _gloffset_GetProgramParameterdvNV, GetProgramParameterdvNV@16) - GL_STUB(GetProgramParameterfvNV, _gloffset_GetProgramParameterfvNV, GetProgramParameterfvNV@16) - GL_STUB(GetProgramStringNV, _gloffset_GetProgramStringNV, GetProgramStringNV@12) - GL_STUB(GetProgramivNV, _gloffset_GetProgramivNV, GetProgramivNV@12) - GL_STUB(GetTrackMatrixivNV, _gloffset_GetTrackMatrixivNV, GetTrackMatrixivNV@16) - GL_STUB(GetVertexAttribPointervNV, _gloffset_GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) - GL_STUB(GetVertexAttribdvNV, _gloffset_GetVertexAttribdvNV, GetVertexAttribdvNV@12) - GL_STUB(GetVertexAttribfvNV, _gloffset_GetVertexAttribfvNV, GetVertexAttribfvNV@12) - GL_STUB(GetVertexAttribivNV, _gloffset_GetVertexAttribivNV, GetVertexAttribivNV@12) - GL_STUB(IsProgramNV, _gloffset_IsProgramNV, IsProgramNV@4) - GL_STUB(LoadProgramNV, _gloffset_LoadProgramNV, LoadProgramNV@16) - GL_STUB(ProgramParameters4dvNV, _gloffset_ProgramParameters4dvNV, ProgramParameters4dvNV@16) - GL_STUB(ProgramParameters4fvNV, _gloffset_ProgramParameters4fvNV, ProgramParameters4fvNV@16) - GL_STUB(RequestResidentProgramsNV, _gloffset_RequestResidentProgramsNV, RequestResidentProgramsNV@8) - GL_STUB(TrackMatrixNV, _gloffset_TrackMatrixNV, TrackMatrixNV@16) - GL_STUB(VertexAttrib1dNV, _gloffset_VertexAttrib1dNV, VertexAttrib1dNV@12) - GL_STUB(VertexAttrib1dvNV, _gloffset_VertexAttrib1dvNV, VertexAttrib1dvNV@8) - GL_STUB(VertexAttrib1fNV, _gloffset_VertexAttrib1fNV, VertexAttrib1fNV@8) - GL_STUB(VertexAttrib1fvNV, _gloffset_VertexAttrib1fvNV, VertexAttrib1fvNV@8) - GL_STUB(VertexAttrib1sNV, _gloffset_VertexAttrib1sNV, VertexAttrib1sNV@8) - GL_STUB(VertexAttrib1svNV, _gloffset_VertexAttrib1svNV, VertexAttrib1svNV@8) - GL_STUB(VertexAttrib2dNV, _gloffset_VertexAttrib2dNV, VertexAttrib2dNV@20) - GL_STUB(VertexAttrib2dvNV, _gloffset_VertexAttrib2dvNV, VertexAttrib2dvNV@8) - GL_STUB(VertexAttrib2fNV, _gloffset_VertexAttrib2fNV, VertexAttrib2fNV@12) - GL_STUB(VertexAttrib2fvNV, _gloffset_VertexAttrib2fvNV, VertexAttrib2fvNV@8) - GL_STUB(VertexAttrib2sNV, _gloffset_VertexAttrib2sNV, VertexAttrib2sNV@12) - GL_STUB(VertexAttrib2svNV, _gloffset_VertexAttrib2svNV, VertexAttrib2svNV@8) - GL_STUB(VertexAttrib3dNV, _gloffset_VertexAttrib3dNV, VertexAttrib3dNV@28) - GL_STUB(VertexAttrib3dvNV, _gloffset_VertexAttrib3dvNV, VertexAttrib3dvNV@8) - GL_STUB(VertexAttrib3fNV, _gloffset_VertexAttrib3fNV, VertexAttrib3fNV@16) - GL_STUB(VertexAttrib3fvNV, _gloffset_VertexAttrib3fvNV, VertexAttrib3fvNV@8) - GL_STUB(VertexAttrib3sNV, _gloffset_VertexAttrib3sNV, VertexAttrib3sNV@16) - GL_STUB(VertexAttrib3svNV, _gloffset_VertexAttrib3svNV, VertexAttrib3svNV@8) - GL_STUB(VertexAttrib4dNV, _gloffset_VertexAttrib4dNV, VertexAttrib4dNV@36) - GL_STUB(VertexAttrib4dvNV, _gloffset_VertexAttrib4dvNV, VertexAttrib4dvNV@8) - GL_STUB(VertexAttrib4fNV, _gloffset_VertexAttrib4fNV, VertexAttrib4fNV@20) - GL_STUB(VertexAttrib4fvNV, _gloffset_VertexAttrib4fvNV, VertexAttrib4fvNV@8) - GL_STUB(VertexAttrib4sNV, _gloffset_VertexAttrib4sNV, VertexAttrib4sNV@20) - GL_STUB(VertexAttrib4svNV, _gloffset_VertexAttrib4svNV, VertexAttrib4svNV@8) - GL_STUB(VertexAttrib4ubNV, _gloffset_VertexAttrib4ubNV, VertexAttrib4ubNV@20) - GL_STUB(VertexAttrib4ubvNV, _gloffset_VertexAttrib4ubvNV, VertexAttrib4ubvNV@8) - GL_STUB(VertexAttribPointerNV, _gloffset_VertexAttribPointerNV, VertexAttribPointerNV@20) - GL_STUB(VertexAttribs1dvNV, _gloffset_VertexAttribs1dvNV, VertexAttribs1dvNV@12) - GL_STUB(VertexAttribs1fvNV, _gloffset_VertexAttribs1fvNV, VertexAttribs1fvNV@12) - GL_STUB(VertexAttribs1svNV, _gloffset_VertexAttribs1svNV, VertexAttribs1svNV@12) - GL_STUB(VertexAttribs2dvNV, _gloffset_VertexAttribs2dvNV, VertexAttribs2dvNV@12) - GL_STUB(VertexAttribs2fvNV, _gloffset_VertexAttribs2fvNV, VertexAttribs2fvNV@12) - GL_STUB(VertexAttribs2svNV, _gloffset_VertexAttribs2svNV, VertexAttribs2svNV@12) - GL_STUB(VertexAttribs3dvNV, _gloffset_VertexAttribs3dvNV, VertexAttribs3dvNV@12) - GL_STUB(VertexAttribs3fvNV, _gloffset_VertexAttribs3fvNV, VertexAttribs3fvNV@12) - GL_STUB(VertexAttribs3svNV, _gloffset_VertexAttribs3svNV, VertexAttribs3svNV@12) - GL_STUB(VertexAttribs4dvNV, _gloffset_VertexAttribs4dvNV, VertexAttribs4dvNV@12) - GL_STUB(VertexAttribs4fvNV, _gloffset_VertexAttribs4fvNV, VertexAttribs4fvNV@12) - GL_STUB(VertexAttribs4svNV, _gloffset_VertexAttribs4svNV, VertexAttribs4svNV@12) - GL_STUB(VertexAttribs4ubvNV, _gloffset_VertexAttribs4ubvNV, VertexAttribs4ubvNV@12) - GL_STUB(GetTexBumpParameterfvATI, _gloffset_GetTexBumpParameterfvATI, GetTexBumpParameterfvATI@8) - GL_STUB(GetTexBumpParameterivATI, _gloffset_GetTexBumpParameterivATI, GetTexBumpParameterivATI@8) - GL_STUB(TexBumpParameterfvATI, _gloffset_TexBumpParameterfvATI, TexBumpParameterfvATI@8) - GL_STUB(TexBumpParameterivATI, _gloffset_TexBumpParameterivATI, TexBumpParameterivATI@8) - GL_STUB(AlphaFragmentOp1ATI, _gloffset_AlphaFragmentOp1ATI, AlphaFragmentOp1ATI@24) - GL_STUB(AlphaFragmentOp2ATI, _gloffset_AlphaFragmentOp2ATI, AlphaFragmentOp2ATI@36) - GL_STUB(AlphaFragmentOp3ATI, _gloffset_AlphaFragmentOp3ATI, AlphaFragmentOp3ATI@48) - GL_STUB(BeginFragmentShaderATI, _gloffset_BeginFragmentShaderATI, BeginFragmentShaderATI@0) - GL_STUB(BindFragmentShaderATI, _gloffset_BindFragmentShaderATI, BindFragmentShaderATI@4) - GL_STUB(ColorFragmentOp1ATI, _gloffset_ColorFragmentOp1ATI, ColorFragmentOp1ATI@28) - GL_STUB(ColorFragmentOp2ATI, _gloffset_ColorFragmentOp2ATI, ColorFragmentOp2ATI@40) - GL_STUB(ColorFragmentOp3ATI, _gloffset_ColorFragmentOp3ATI, ColorFragmentOp3ATI@52) - GL_STUB(DeleteFragmentShaderATI, _gloffset_DeleteFragmentShaderATI, DeleteFragmentShaderATI@4) - GL_STUB(EndFragmentShaderATI, _gloffset_EndFragmentShaderATI, EndFragmentShaderATI@0) - GL_STUB(GenFragmentShadersATI, _gloffset_GenFragmentShadersATI, GenFragmentShadersATI@4) - GL_STUB(PassTexCoordATI, _gloffset_PassTexCoordATI, PassTexCoordATI@12) - GL_STUB(SampleMapATI, _gloffset_SampleMapATI, SampleMapATI@12) - 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_763, _gloffset_ActiveStencilFaceEXT, _dispatch_stub_763@4) + GL_STUB(AreProgramsResidentNV, 683, AreProgramsResidentNV@12) + GL_STUB(BindProgramNV, 684, BindProgramNV@8) + GL_STUB(DeleteProgramsNV, 685, DeleteProgramsNV@8) + GL_STUB(ExecuteProgramNV, 686, ExecuteProgramNV@12) + GL_STUB(GenProgramsNV, 687, GenProgramsNV@8) + GL_STUB(GetProgramParameterdvNV, 688, GetProgramParameterdvNV@16) + GL_STUB(GetProgramParameterfvNV, 689, GetProgramParameterfvNV@16) + GL_STUB(GetProgramStringNV, 690, GetProgramStringNV@12) + GL_STUB(GetProgramivNV, 691, GetProgramivNV@12) + GL_STUB(GetTrackMatrixivNV, 692, GetTrackMatrixivNV@16) + GL_STUB(GetVertexAttribPointervNV, 693, GetVertexAttribPointervNV@12) + GL_STUB(GetVertexAttribdvNV, 694, GetVertexAttribdvNV@12) + GL_STUB(GetVertexAttribfvNV, 695, GetVertexAttribfvNV@12) + GL_STUB(GetVertexAttribivNV, 696, GetVertexAttribivNV@12) + GL_STUB(IsProgramNV, 697, IsProgramNV@4) + GL_STUB(LoadProgramNV, 698, LoadProgramNV@16) + GL_STUB(ProgramParameters4dvNV, 699, ProgramParameters4dvNV@16) + GL_STUB(ProgramParameters4fvNV, 700, ProgramParameters4fvNV@16) + GL_STUB(RequestResidentProgramsNV, 701, RequestResidentProgramsNV@8) + GL_STUB(TrackMatrixNV, 702, TrackMatrixNV@16) + GL_STUB(VertexAttrib1dNV, 703, VertexAttrib1dNV@12) + GL_STUB(VertexAttrib1dvNV, 704, VertexAttrib1dvNV@8) + GL_STUB(VertexAttrib1fNV, 705, VertexAttrib1fNV@8) + GL_STUB(VertexAttrib1fvNV, 706, VertexAttrib1fvNV@8) + GL_STUB(VertexAttrib1sNV, 707, VertexAttrib1sNV@8) + GL_STUB(VertexAttrib1svNV, 708, VertexAttrib1svNV@8) + GL_STUB(VertexAttrib2dNV, 709, VertexAttrib2dNV@20) + GL_STUB(VertexAttrib2dvNV, 710, VertexAttrib2dvNV@8) + GL_STUB(VertexAttrib2fNV, 711, VertexAttrib2fNV@12) + GL_STUB(VertexAttrib2fvNV, 712, VertexAttrib2fvNV@8) + GL_STUB(VertexAttrib2sNV, 713, VertexAttrib2sNV@12) + GL_STUB(VertexAttrib2svNV, 714, VertexAttrib2svNV@8) + GL_STUB(VertexAttrib3dNV, 715, VertexAttrib3dNV@28) + GL_STUB(VertexAttrib3dvNV, 716, VertexAttrib3dvNV@8) + GL_STUB(VertexAttrib3fNV, 717, VertexAttrib3fNV@16) + GL_STUB(VertexAttrib3fvNV, 718, VertexAttrib3fvNV@8) + GL_STUB(VertexAttrib3sNV, 719, VertexAttrib3sNV@16) + GL_STUB(VertexAttrib3svNV, 720, VertexAttrib3svNV@8) + GL_STUB(VertexAttrib4dNV, 721, VertexAttrib4dNV@36) + GL_STUB(VertexAttrib4dvNV, 722, VertexAttrib4dvNV@8) + GL_STUB(VertexAttrib4fNV, 723, VertexAttrib4fNV@20) + GL_STUB(VertexAttrib4fvNV, 724, VertexAttrib4fvNV@8) + GL_STUB(VertexAttrib4sNV, 725, VertexAttrib4sNV@20) + GL_STUB(VertexAttrib4svNV, 726, VertexAttrib4svNV@8) + GL_STUB(VertexAttrib4ubNV, 727, VertexAttrib4ubNV@20) + GL_STUB(VertexAttrib4ubvNV, 728, VertexAttrib4ubvNV@8) + GL_STUB(VertexAttribPointerNV, 729, VertexAttribPointerNV@20) + GL_STUB(VertexAttribs1dvNV, 730, VertexAttribs1dvNV@12) + GL_STUB(VertexAttribs1fvNV, 731, VertexAttribs1fvNV@12) + GL_STUB(VertexAttribs1svNV, 732, VertexAttribs1svNV@12) + GL_STUB(VertexAttribs2dvNV, 733, VertexAttribs2dvNV@12) + GL_STUB(VertexAttribs2fvNV, 734, VertexAttribs2fvNV@12) + GL_STUB(VertexAttribs2svNV, 735, VertexAttribs2svNV@12) + GL_STUB(VertexAttribs3dvNV, 736, VertexAttribs3dvNV@12) + GL_STUB(VertexAttribs3fvNV, 737, VertexAttribs3fvNV@12) + GL_STUB(VertexAttribs3svNV, 738, VertexAttribs3svNV@12) + GL_STUB(VertexAttribs4dvNV, 739, VertexAttribs4dvNV@12) + GL_STUB(VertexAttribs4fvNV, 740, VertexAttribs4fvNV@12) + GL_STUB(VertexAttribs4svNV, 741, VertexAttribs4svNV@12) + GL_STUB(VertexAttribs4ubvNV, 742, VertexAttribs4ubvNV@12) + GL_STUB(GetTexBumpParameterfvATI, 743, GetTexBumpParameterfvATI@8) + GL_STUB(GetTexBumpParameterivATI, 744, GetTexBumpParameterivATI@8) + GL_STUB(TexBumpParameterfvATI, 745, TexBumpParameterfvATI@8) + GL_STUB(TexBumpParameterivATI, 746, TexBumpParameterivATI@8) + GL_STUB(AlphaFragmentOp1ATI, 747, AlphaFragmentOp1ATI@24) + GL_STUB(AlphaFragmentOp2ATI, 748, AlphaFragmentOp2ATI@36) + GL_STUB(AlphaFragmentOp3ATI, 749, AlphaFragmentOp3ATI@48) + GL_STUB(BeginFragmentShaderATI, 750, BeginFragmentShaderATI@0) + GL_STUB(BindFragmentShaderATI, 751, BindFragmentShaderATI@4) + GL_STUB(ColorFragmentOp1ATI, 752, ColorFragmentOp1ATI@28) + GL_STUB(ColorFragmentOp2ATI, 753, ColorFragmentOp2ATI@40) + GL_STUB(ColorFragmentOp3ATI, 754, ColorFragmentOp3ATI@52) + GL_STUB(DeleteFragmentShaderATI, 755, DeleteFragmentShaderATI@4) + GL_STUB(EndFragmentShaderATI, 756, EndFragmentShaderATI@0) + GL_STUB(GenFragmentShadersATI, 757, GenFragmentShadersATI@4) + GL_STUB(PassTexCoordATI, 758, PassTexCoordATI@12) + GL_STUB(SampleMapATI, 759, SampleMapATI@12) + GL_STUB(SetFragmentShaderConstantATI, 760, SetFragmentShaderConstantATI@8) + GL_STUB(PointParameteriNV, 761, PointParameteriNV@8) + GL_STUB(PointParameterivNV, 762, PointParameterivNV@8) + GL_STUB(_dispatch_stub_763, 763, _dispatch_stub_763@4) HIDDEN(GL_PREFIX(_dispatch_stub_763, _dispatch_stub_763@4)) - GL_STUB(_dispatch_stub_764, _gloffset_BindVertexArrayAPPLE, _dispatch_stub_764@4) + GL_STUB(_dispatch_stub_764, 764, _dispatch_stub_764@4) HIDDEN(GL_PREFIX(_dispatch_stub_764, _dispatch_stub_764@4)) - GL_STUB(_dispatch_stub_765, _gloffset_DeleteVertexArraysAPPLE, _dispatch_stub_765@8) + GL_STUB(_dispatch_stub_765, 765, _dispatch_stub_765@8) HIDDEN(GL_PREFIX(_dispatch_stub_765, _dispatch_stub_765@8)) - GL_STUB(_dispatch_stub_766, _gloffset_GenVertexArraysAPPLE, _dispatch_stub_766@8) + GL_STUB(_dispatch_stub_766, 766, _dispatch_stub_766@8) HIDDEN(GL_PREFIX(_dispatch_stub_766, _dispatch_stub_766@8)) - GL_STUB(_dispatch_stub_767, _gloffset_IsVertexArrayAPPLE, _dispatch_stub_767@4) + GL_STUB(_dispatch_stub_767, 767, _dispatch_stub_767@4) HIDDEN(GL_PREFIX(_dispatch_stub_767, _dispatch_stub_767@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(PrimitiveRestartIndexNV, _gloffset_PrimitiveRestartIndexNV, PrimitiveRestartIndexNV@4) - GL_STUB(PrimitiveRestartNV, _gloffset_PrimitiveRestartNV, PrimitiveRestartNV@0) - GL_STUB(_dispatch_stub_776, _gloffset_DepthBoundsEXT, _dispatch_stub_776@16) + GL_STUB(GetProgramNamedParameterdvNV, 768, GetProgramNamedParameterdvNV@16) + GL_STUB(GetProgramNamedParameterfvNV, 769, GetProgramNamedParameterfvNV@16) + GL_STUB(ProgramNamedParameter4dNV, 770, ProgramNamedParameter4dNV@44) + GL_STUB(ProgramNamedParameter4dvNV, 771, ProgramNamedParameter4dvNV@16) + GL_STUB(ProgramNamedParameter4fNV, 772, ProgramNamedParameter4fNV@28) + GL_STUB(ProgramNamedParameter4fvNV, 773, ProgramNamedParameter4fvNV@16) + GL_STUB(PrimitiveRestartIndexNV, 774, PrimitiveRestartIndexNV@4) + GL_STUB(PrimitiveRestartNV, 775, PrimitiveRestartNV@0) + GL_STUB(_dispatch_stub_776, 776, _dispatch_stub_776@16) HIDDEN(GL_PREFIX(_dispatch_stub_776, _dispatch_stub_776@16)) - GL_STUB(_dispatch_stub_777, _gloffset_BlendEquationSeparateEXT, _dispatch_stub_777@8) + GL_STUB(_dispatch_stub_777, 777, _dispatch_stub_777@8) HIDDEN(GL_PREFIX(_dispatch_stub_777, _dispatch_stub_777@8)) - GL_STUB(BindFramebufferEXT, _gloffset_BindFramebufferEXT, BindFramebufferEXT@8) - GL_STUB(BindRenderbufferEXT, _gloffset_BindRenderbufferEXT, BindRenderbufferEXT@8) - GL_STUB(CheckFramebufferStatusEXT, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) - GL_STUB(DeleteFramebuffersEXT, _gloffset_DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) - GL_STUB(DeleteRenderbuffersEXT, _gloffset_DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) - GL_STUB(FramebufferRenderbufferEXT, _gloffset_FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) - GL_STUB(FramebufferTexture1DEXT, _gloffset_FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) - GL_STUB(FramebufferTexture2DEXT, _gloffset_FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) - GL_STUB(FramebufferTexture3DEXT, _gloffset_FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) - GL_STUB(GenFramebuffersEXT, _gloffset_GenFramebuffersEXT, GenFramebuffersEXT@8) - GL_STUB(GenRenderbuffersEXT, _gloffset_GenRenderbuffersEXT, GenRenderbuffersEXT@8) - GL_STUB(GenerateMipmapEXT, _gloffset_GenerateMipmapEXT, GenerateMipmapEXT@4) - GL_STUB(GetFramebufferAttachmentParameterivEXT, _gloffset_GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) - 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_795, _gloffset_BlitFramebufferEXT, _dispatch_stub_795@40) + GL_STUB(BindFramebufferEXT, 778, BindFramebufferEXT@8) + GL_STUB(BindRenderbufferEXT, 779, BindRenderbufferEXT@8) + GL_STUB(CheckFramebufferStatusEXT, 780, CheckFramebufferStatusEXT@4) + GL_STUB(DeleteFramebuffersEXT, 781, DeleteFramebuffersEXT@8) + GL_STUB(DeleteRenderbuffersEXT, 782, DeleteRenderbuffersEXT@8) + GL_STUB(FramebufferRenderbufferEXT, 783, FramebufferRenderbufferEXT@16) + GL_STUB(FramebufferTexture1DEXT, 784, FramebufferTexture1DEXT@20) + GL_STUB(FramebufferTexture2DEXT, 785, FramebufferTexture2DEXT@20) + GL_STUB(FramebufferTexture3DEXT, 786, FramebufferTexture3DEXT@24) + GL_STUB(GenFramebuffersEXT, 787, GenFramebuffersEXT@8) + GL_STUB(GenRenderbuffersEXT, 788, GenRenderbuffersEXT@8) + GL_STUB(GenerateMipmapEXT, 789, GenerateMipmapEXT@4) + GL_STUB(GetFramebufferAttachmentParameterivEXT, 790, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB(GetRenderbufferParameterivEXT, 791, GetRenderbufferParameterivEXT@12) + GL_STUB(IsFramebufferEXT, 792, IsFramebufferEXT@4) + GL_STUB(IsRenderbufferEXT, 793, IsRenderbufferEXT@4) + GL_STUB(RenderbufferStorageEXT, 794, RenderbufferStorageEXT@16) + GL_STUB(_dispatch_stub_795, 795, _dispatch_stub_795@40) HIDDEN(GL_PREFIX(_dispatch_stub_795, _dispatch_stub_795@40)) - GL_STUB(_dispatch_stub_796, _gloffset_BufferParameteriAPPLE, _dispatch_stub_796@12) + GL_STUB(_dispatch_stub_796, 796, _dispatch_stub_796@12) HIDDEN(GL_PREFIX(_dispatch_stub_796, _dispatch_stub_796@12)) - GL_STUB(_dispatch_stub_797, _gloffset_FlushMappedBufferRangeAPPLE, _dispatch_stub_797@12) + GL_STUB(_dispatch_stub_797, 797, _dispatch_stub_797@12) HIDDEN(GL_PREFIX(_dispatch_stub_797, _dispatch_stub_797@12)) - GL_STUB(FramebufferTextureLayerEXT, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) - GL_STUB(ColorMaskIndexedEXT, _gloffset_ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) - GL_STUB(DisableIndexedEXT, _gloffset_DisableIndexedEXT, DisableIndexedEXT@8) - GL_STUB(EnableIndexedEXT, _gloffset_EnableIndexedEXT, EnableIndexedEXT@8) - GL_STUB(GetBooleanIndexedvEXT, _gloffset_GetBooleanIndexedvEXT, GetBooleanIndexedvEXT@12) - GL_STUB(GetIntegerIndexedvEXT, _gloffset_GetIntegerIndexedvEXT, GetIntegerIndexedvEXT@12) - GL_STUB(IsEnabledIndexedEXT, _gloffset_IsEnabledIndexedEXT, IsEnabledIndexedEXT@8) - GL_STUB(ClearColorIiEXT, _gloffset_ClearColorIiEXT, ClearColorIiEXT@16) - GL_STUB(ClearColorIuiEXT, _gloffset_ClearColorIuiEXT, ClearColorIuiEXT@16) - GL_STUB(GetTexParameterIivEXT, _gloffset_GetTexParameterIivEXT, GetTexParameterIivEXT@12) - GL_STUB(GetTexParameterIuivEXT, _gloffset_GetTexParameterIuivEXT, GetTexParameterIuivEXT@12) - GL_STUB(TexParameterIivEXT, _gloffset_TexParameterIivEXT, TexParameterIivEXT@12) - GL_STUB(TexParameterIuivEXT, _gloffset_TexParameterIuivEXT, TexParameterIuivEXT@12) - GL_STUB(BeginConditionalRenderNV, _gloffset_BeginConditionalRenderNV, BeginConditionalRenderNV@8) - GL_STUB(EndConditionalRenderNV, _gloffset_EndConditionalRenderNV, EndConditionalRenderNV@0) - GL_STUB(BeginTransformFeedbackEXT, _gloffset_BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) - GL_STUB(BindBufferBaseEXT, _gloffset_BindBufferBaseEXT, BindBufferBaseEXT@12) - GL_STUB(BindBufferOffsetEXT, _gloffset_BindBufferOffsetEXT, BindBufferOffsetEXT@16) - GL_STUB(BindBufferRangeEXT, _gloffset_BindBufferRangeEXT, BindBufferRangeEXT@20) - GL_STUB(EndTransformFeedbackEXT, _gloffset_EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) - GL_STUB(GetTransformFeedbackVaryingEXT, _gloffset_GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) - GL_STUB(TransformFeedbackVaryingsEXT, _gloffset_TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) - GL_STUB(ProvokingVertexEXT, _gloffset_ProvokingVertexEXT, ProvokingVertexEXT@4) - GL_STUB(_dispatch_stub_821, _gloffset_GetTexParameterPointervAPPLE, _dispatch_stub_821@12) - HIDDEN(GL_PREFIX(_dispatch_stub_821, _dispatch_stub_821@12)) - GL_STUB(_dispatch_stub_822, _gloffset_TextureRangeAPPLE, _dispatch_stub_822@12) - HIDDEN(GL_PREFIX(_dispatch_stub_822, _dispatch_stub_822@12)) - GL_STUB(GetObjectParameterivAPPLE, _gloffset_GetObjectParameterivAPPLE, GetObjectParameterivAPPLE@16) - GL_STUB(ObjectPurgeableAPPLE, _gloffset_ObjectPurgeableAPPLE, ObjectPurgeableAPPLE@12) - GL_STUB(ObjectUnpurgeableAPPLE, _gloffset_ObjectUnpurgeableAPPLE, ObjectUnpurgeableAPPLE@12) - GL_STUB(ActiveProgramEXT, _gloffset_ActiveProgramEXT, ActiveProgramEXT@4) - GL_STUB(CreateShaderProgramEXT, _gloffset_CreateShaderProgramEXT, CreateShaderProgramEXT@8) - GL_STUB(UseShaderProgramEXT, _gloffset_UseShaderProgramEXT, UseShaderProgramEXT@8) - GL_STUB(_dispatch_stub_829, _gloffset_StencilFuncSeparateATI, _dispatch_stub_829@16) - HIDDEN(GL_PREFIX(_dispatch_stub_829, _dispatch_stub_829@16)) - GL_STUB(_dispatch_stub_830, _gloffset_ProgramEnvParameters4fvEXT, _dispatch_stub_830@16) - HIDDEN(GL_PREFIX(_dispatch_stub_830, _dispatch_stub_830@16)) - GL_STUB(_dispatch_stub_831, _gloffset_ProgramLocalParameters4fvEXT, _dispatch_stub_831@16) - HIDDEN(GL_PREFIX(_dispatch_stub_831, _dispatch_stub_831@16)) - GL_STUB(_dispatch_stub_832, _gloffset_GetQueryObjecti64vEXT, _dispatch_stub_832@12) - HIDDEN(GL_PREFIX(_dispatch_stub_832, _dispatch_stub_832@12)) - GL_STUB(_dispatch_stub_833, _gloffset_GetQueryObjectui64vEXT, _dispatch_stub_833@12) - HIDDEN(GL_PREFIX(_dispatch_stub_833, _dispatch_stub_833@12)) - GL_STUB(EGLImageTargetRenderbufferStorageOES, _gloffset_EGLImageTargetRenderbufferStorageOES, EGLImageTargetRenderbufferStorageOES@8) - GL_STUB(EGLImageTargetTexture2DOES, _gloffset_EGLImageTargetTexture2DOES, EGLImageTargetTexture2DOES@8) - 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) + GL_STUB(BindFragDataLocationEXT, 798, BindFragDataLocationEXT@12) + GL_STUB(GetFragDataLocationEXT, 799, GetFragDataLocationEXT@8) + GL_STUB(GetUniformuivEXT, 800, GetUniformuivEXT@12) + GL_STUB(GetVertexAttribIivEXT, 801, GetVertexAttribIivEXT@12) + GL_STUB(GetVertexAttribIuivEXT, 802, GetVertexAttribIuivEXT@12) + GL_STUB(Uniform1uiEXT, 803, Uniform1uiEXT@8) + GL_STUB(Uniform1uivEXT, 804, Uniform1uivEXT@12) + GL_STUB(Uniform2uiEXT, 805, Uniform2uiEXT@12) + GL_STUB(Uniform2uivEXT, 806, Uniform2uivEXT@12) + GL_STUB(Uniform3uiEXT, 807, Uniform3uiEXT@16) + GL_STUB(Uniform3uivEXT, 808, Uniform3uivEXT@12) + GL_STUB(Uniform4uiEXT, 809, Uniform4uiEXT@20) + GL_STUB(Uniform4uivEXT, 810, Uniform4uivEXT@12) + GL_STUB(VertexAttribI1iEXT, 811, VertexAttribI1iEXT@8) + GL_STUB(VertexAttribI1ivEXT, 812, VertexAttribI1ivEXT@8) + GL_STUB(VertexAttribI1uiEXT, 813, VertexAttribI1uiEXT@8) + GL_STUB(VertexAttribI1uivEXT, 814, VertexAttribI1uivEXT@8) + GL_STUB(VertexAttribI2iEXT, 815, VertexAttribI2iEXT@12) + GL_STUB(VertexAttribI2ivEXT, 816, VertexAttribI2ivEXT@8) + GL_STUB(VertexAttribI2uiEXT, 817, VertexAttribI2uiEXT@12) + GL_STUB(VertexAttribI2uivEXT, 818, VertexAttribI2uivEXT@8) + GL_STUB(VertexAttribI3iEXT, 819, VertexAttribI3iEXT@16) + GL_STUB(VertexAttribI3ivEXT, 820, VertexAttribI3ivEXT@8) + GL_STUB(VertexAttribI3uiEXT, 821, VertexAttribI3uiEXT@16) + GL_STUB(VertexAttribI3uivEXT, 822, VertexAttribI3uivEXT@8) + GL_STUB(VertexAttribI4bvEXT, 823, VertexAttribI4bvEXT@8) + GL_STUB(VertexAttribI4iEXT, 824, VertexAttribI4iEXT@20) + GL_STUB(VertexAttribI4ivEXT, 825, VertexAttribI4ivEXT@8) + GL_STUB(VertexAttribI4svEXT, 826, VertexAttribI4svEXT@8) + GL_STUB(VertexAttribI4ubvEXT, 827, VertexAttribI4ubvEXT@8) + GL_STUB(VertexAttribI4uiEXT, 828, VertexAttribI4uiEXT@20) + GL_STUB(VertexAttribI4uivEXT, 829, VertexAttribI4uivEXT@8) + GL_STUB(VertexAttribI4usvEXT, 830, VertexAttribI4usvEXT@8) + GL_STUB(VertexAttribIPointerEXT, 831, VertexAttribIPointerEXT@20) + GL_STUB(FramebufferTextureLayerEXT, 832, FramebufferTextureLayerEXT@20) + GL_STUB(ColorMaskIndexedEXT, 833, ColorMaskIndexedEXT@20) + GL_STUB(DisableIndexedEXT, 834, DisableIndexedEXT@8) + GL_STUB(EnableIndexedEXT, 835, EnableIndexedEXT@8) + GL_STUB(GetBooleanIndexedvEXT, 836, GetBooleanIndexedvEXT@12) + GL_STUB(GetIntegerIndexedvEXT, 837, GetIntegerIndexedvEXT@12) + GL_STUB(IsEnabledIndexedEXT, 838, IsEnabledIndexedEXT@8) + GL_STUB(ClearColorIiEXT, 839, ClearColorIiEXT@16) + GL_STUB(ClearColorIuiEXT, 840, ClearColorIuiEXT@16) + GL_STUB(GetTexParameterIivEXT, 841, GetTexParameterIivEXT@12) + GL_STUB(GetTexParameterIuivEXT, 842, GetTexParameterIuivEXT@12) + GL_STUB(TexParameterIivEXT, 843, TexParameterIivEXT@12) + GL_STUB(TexParameterIuivEXT, 844, TexParameterIuivEXT@12) + GL_STUB(BeginConditionalRenderNV, 845, BeginConditionalRenderNV@8) + GL_STUB(EndConditionalRenderNV, 846, EndConditionalRenderNV@0) + GL_STUB(BeginTransformFeedbackEXT, 847, BeginTransformFeedbackEXT@4) + GL_STUB(BindBufferBaseEXT, 848, BindBufferBaseEXT@12) + GL_STUB(BindBufferOffsetEXT, 849, BindBufferOffsetEXT@16) + GL_STUB(BindBufferRangeEXT, 850, BindBufferRangeEXT@20) + GL_STUB(EndTransformFeedbackEXT, 851, EndTransformFeedbackEXT@0) + GL_STUB(GetTransformFeedbackVaryingEXT, 852, GetTransformFeedbackVaryingEXT@28) + GL_STUB(TransformFeedbackVaryingsEXT, 853, TransformFeedbackVaryingsEXT@16) + GL_STUB(ProvokingVertexEXT, 854, ProvokingVertexEXT@4) + GL_STUB(_dispatch_stub_855, 855, _dispatch_stub_855@12) + HIDDEN(GL_PREFIX(_dispatch_stub_855, _dispatch_stub_855@12)) + GL_STUB(_dispatch_stub_856, 856, _dispatch_stub_856@12) + HIDDEN(GL_PREFIX(_dispatch_stub_856, _dispatch_stub_856@12)) + GL_STUB(GetObjectParameterivAPPLE, 857, GetObjectParameterivAPPLE@16) + GL_STUB(ObjectPurgeableAPPLE, 858, ObjectPurgeableAPPLE@12) + GL_STUB(ObjectUnpurgeableAPPLE, 859, ObjectUnpurgeableAPPLE@12) + GL_STUB(ActiveProgramEXT, 860, ActiveProgramEXT@4) + GL_STUB(CreateShaderProgramEXT, 861, CreateShaderProgramEXT@8) + GL_STUB(UseShaderProgramEXT, 862, UseShaderProgramEXT@8) + GL_STUB(_dispatch_stub_863, 863, _dispatch_stub_863@16) + HIDDEN(GL_PREFIX(_dispatch_stub_863, _dispatch_stub_863@16)) + GL_STUB(_dispatch_stub_864, 864, _dispatch_stub_864@16) + HIDDEN(GL_PREFIX(_dispatch_stub_864, _dispatch_stub_864@16)) + GL_STUB(_dispatch_stub_865, 865, _dispatch_stub_865@16) + HIDDEN(GL_PREFIX(_dispatch_stub_865, _dispatch_stub_865@16)) + GL_STUB(_dispatch_stub_866, 866, _dispatch_stub_866@12) + HIDDEN(GL_PREFIX(_dispatch_stub_866, _dispatch_stub_866@12)) + GL_STUB(_dispatch_stub_867, 867, _dispatch_stub_867@12) + HIDDEN(GL_PREFIX(_dispatch_stub_867, _dispatch_stub_867@12)) + GL_STUB(EGLImageTargetRenderbufferStorageOES, 868, EGLImageTargetRenderbufferStorageOES@8) + GL_STUB(EGLImageTargetTexture2DOES, 869, EGLImageTargetTexture2DOES@8) + GL_STUB_ALIAS(ArrayElementEXT, 306, ArrayElementEXT@4, ArrayElement, ArrayElement@4) + GL_STUB_ALIAS(BindTextureEXT, 307, BindTextureEXT@8, BindTexture, BindTexture@8) + GL_STUB_ALIAS(DrawArraysEXT, 310, DrawArraysEXT@12, DrawArrays, DrawArrays@12) #ifndef GLX_INDIRECT_RENDERING - GL_STUB_ALIAS(AreTexturesResidentEXT, _gloffset_AreTexturesResident, AreTexturesResidentEXT@12, AreTexturesResident, AreTexturesResident@12) + GL_STUB_ALIAS(AreTexturesResidentEXT, 322, 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) + GL_STUB_ALIAS(CopyTexImage1DEXT, 323, CopyTexImage1DEXT@28, CopyTexImage1D, CopyTexImage1D@28) + GL_STUB_ALIAS(CopyTexImage2DEXT, 324, CopyTexImage2DEXT@32, CopyTexImage2D, CopyTexImage2D@32) + GL_STUB_ALIAS(CopyTexSubImage1DEXT, 325, CopyTexSubImage1DEXT@24, CopyTexSubImage1D, CopyTexSubImage1D@24) + GL_STUB_ALIAS(CopyTexSubImage2DEXT, 326, CopyTexSubImage2DEXT@32, CopyTexSubImage2D, CopyTexSubImage2D@32) #ifndef GLX_INDIRECT_RENDERING - GL_STUB_ALIAS(DeleteTexturesEXT, _gloffset_DeleteTextures, DeleteTexturesEXT@8, DeleteTextures, DeleteTextures@8) + GL_STUB_ALIAS(DeleteTexturesEXT, 327, DeleteTexturesEXT@8, DeleteTextures, DeleteTextures@8) #endif #ifndef GLX_INDIRECT_RENDERING - GL_STUB_ALIAS(GenTexturesEXT, _gloffset_GenTextures, GenTexturesEXT@8, GenTextures, GenTextures@8) + GL_STUB_ALIAS(GenTexturesEXT, 328, GenTexturesEXT@8, GenTextures, GenTextures@8) #endif - GL_STUB_ALIAS(GetPointervEXT, _gloffset_GetPointerv, GetPointervEXT@8, GetPointerv, GetPointerv@8) + GL_STUB_ALIAS(GetPointervEXT, 329, GetPointervEXT@8, GetPointerv, GetPointerv@8) #ifndef GLX_INDIRECT_RENDERING - GL_STUB_ALIAS(IsTextureEXT, _gloffset_IsTexture, IsTextureEXT@4, IsTexture, IsTexture@4) + GL_STUB_ALIAS(IsTextureEXT, 330, 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) - GL_STUB_ALIAS(BlendColorEXT, _gloffset_BlendColor, BlendColorEXT@16, BlendColor, BlendColor@16) - GL_STUB_ALIAS(BlendEquationEXT, _gloffset_BlendEquation, BlendEquationEXT@4, BlendEquation, BlendEquation@4) - GL_STUB_ALIAS(DrawRangeElementsEXT, _gloffset_DrawRangeElements, DrawRangeElementsEXT@24, DrawRangeElements, DrawRangeElements@24) - GL_STUB_ALIAS(ColorTableEXT, _gloffset_ColorTable, ColorTableEXT@24, ColorTable, ColorTable@24) + GL_STUB_ALIAS(PrioritizeTexturesEXT, 331, PrioritizeTexturesEXT@12, PrioritizeTextures, PrioritizeTextures@12) + GL_STUB_ALIAS(TexSubImage1DEXT, 332, TexSubImage1DEXT@28, TexSubImage1D, TexSubImage1D@28) + GL_STUB_ALIAS(TexSubImage2DEXT, 333, TexSubImage2DEXT@36, TexSubImage2D, TexSubImage2D@36) + GL_STUB_ALIAS(BlendColorEXT, 336, BlendColorEXT@16, BlendColor, BlendColor@16) + GL_STUB_ALIAS(BlendEquationEXT, 337, BlendEquationEXT@4, BlendEquation, BlendEquation@4) + GL_STUB_ALIAS(DrawRangeElementsEXT, 338, DrawRangeElementsEXT@24, DrawRangeElements, DrawRangeElements@24) + GL_STUB_ALIAS(ColorTableEXT, 339, ColorTableEXT@24, ColorTable, ColorTable@24) #ifndef GLX_INDIRECT_RENDERING - GL_STUB_ALIAS(GetColorTableEXT, _gloffset_GetColorTable, GetColorTableEXT@16, GetColorTable, GetColorTable@16) + GL_STUB_ALIAS(GetColorTableEXT, 343, GetColorTableEXT@16, GetColorTable, GetColorTable@16) #endif #ifndef GLX_INDIRECT_RENDERING - GL_STUB_ALIAS(GetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv, GetColorTableParameterfvEXT@12, GetColorTableParameterfv, GetColorTableParameterfv@12) + GL_STUB_ALIAS(GetColorTableParameterfvEXT, 344, GetColorTableParameterfvEXT@12, GetColorTableParameterfv, GetColorTableParameterfv@12) #endif #ifndef GLX_INDIRECT_RENDERING - GL_STUB_ALIAS(GetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv, GetColorTableParameterivEXT@12, GetColorTableParameteriv, GetColorTableParameteriv@12) + GL_STUB_ALIAS(GetColorTableParameterivEXT, 345, GetColorTableParameterivEXT@12, GetColorTableParameteriv, GetColorTableParameteriv@12) #endif - GL_STUB_ALIAS(TexImage3DEXT, _gloffset_TexImage3D, TexImage3DEXT@40, TexImage3D, TexImage3D@40) - GL_STUB_ALIAS(TexSubImage3DEXT, _gloffset_TexSubImage3D, TexSubImage3DEXT@44, TexSubImage3D, TexSubImage3D@44) - GL_STUB_ALIAS(CopyTexSubImage3DEXT, _gloffset_CopyTexSubImage3D, CopyTexSubImage3DEXT@36, CopyTexSubImage3D, CopyTexSubImage3D@36) - GL_STUB_ALIAS(ActiveTexture, _gloffset_ActiveTextureARB, ActiveTexture@4, ActiveTextureARB, ActiveTextureARB@4) - GL_STUB_ALIAS(ClientActiveTexture, _gloffset_ClientActiveTextureARB, ClientActiveTexture@4, ClientActiveTextureARB, ClientActiveTextureARB@4) - GL_STUB_ALIAS(MultiTexCoord1d, _gloffset_MultiTexCoord1dARB, MultiTexCoord1d@12, MultiTexCoord1dARB, MultiTexCoord1dARB@12) - GL_STUB_ALIAS(MultiTexCoord1dv, _gloffset_MultiTexCoord1dvARB, MultiTexCoord1dv@8, MultiTexCoord1dvARB, MultiTexCoord1dvARB@8) - GL_STUB_ALIAS(MultiTexCoord1f, _gloffset_MultiTexCoord1fARB, MultiTexCoord1f@8, MultiTexCoord1fARB, MultiTexCoord1fARB@8) - GL_STUB_ALIAS(MultiTexCoord1fv, _gloffset_MultiTexCoord1fvARB, MultiTexCoord1fv@8, MultiTexCoord1fvARB, MultiTexCoord1fvARB@8) - GL_STUB_ALIAS(MultiTexCoord1i, _gloffset_MultiTexCoord1iARB, MultiTexCoord1i@8, MultiTexCoord1iARB, MultiTexCoord1iARB@8) - GL_STUB_ALIAS(MultiTexCoord1iv, _gloffset_MultiTexCoord1ivARB, MultiTexCoord1iv@8, MultiTexCoord1ivARB, MultiTexCoord1ivARB@8) - GL_STUB_ALIAS(MultiTexCoord1s, _gloffset_MultiTexCoord1sARB, MultiTexCoord1s@8, MultiTexCoord1sARB, MultiTexCoord1sARB@8) - GL_STUB_ALIAS(MultiTexCoord1sv, _gloffset_MultiTexCoord1svARB, MultiTexCoord1sv@8, MultiTexCoord1svARB, MultiTexCoord1svARB@8) - GL_STUB_ALIAS(MultiTexCoord2d, _gloffset_MultiTexCoord2dARB, MultiTexCoord2d@20, MultiTexCoord2dARB, MultiTexCoord2dARB@20) - GL_STUB_ALIAS(MultiTexCoord2dv, _gloffset_MultiTexCoord2dvARB, MultiTexCoord2dv@8, MultiTexCoord2dvARB, MultiTexCoord2dvARB@8) - GL_STUB_ALIAS(MultiTexCoord2f, _gloffset_MultiTexCoord2fARB, MultiTexCoord2f@12, MultiTexCoord2fARB, MultiTexCoord2fARB@12) - GL_STUB_ALIAS(MultiTexCoord2fv, _gloffset_MultiTexCoord2fvARB, MultiTexCoord2fv@8, MultiTexCoord2fvARB, MultiTexCoord2fvARB@8) - GL_STUB_ALIAS(MultiTexCoord2i, _gloffset_MultiTexCoord2iARB, MultiTexCoord2i@12, MultiTexCoord2iARB, MultiTexCoord2iARB@12) - GL_STUB_ALIAS(MultiTexCoord2iv, _gloffset_MultiTexCoord2ivARB, MultiTexCoord2iv@8, MultiTexCoord2ivARB, MultiTexCoord2ivARB@8) - GL_STUB_ALIAS(MultiTexCoord2s, _gloffset_MultiTexCoord2sARB, MultiTexCoord2s@12, MultiTexCoord2sARB, MultiTexCoord2sARB@12) - GL_STUB_ALIAS(MultiTexCoord2sv, _gloffset_MultiTexCoord2svARB, MultiTexCoord2sv@8, MultiTexCoord2svARB, MultiTexCoord2svARB@8) - GL_STUB_ALIAS(MultiTexCoord3d, _gloffset_MultiTexCoord3dARB, MultiTexCoord3d@28, MultiTexCoord3dARB, MultiTexCoord3dARB@28) - GL_STUB_ALIAS(MultiTexCoord3dv, _gloffset_MultiTexCoord3dvARB, MultiTexCoord3dv@8, MultiTexCoord3dvARB, MultiTexCoord3dvARB@8) - GL_STUB_ALIAS(MultiTexCoord3f, _gloffset_MultiTexCoord3fARB, MultiTexCoord3f@16, MultiTexCoord3fARB, MultiTexCoord3fARB@16) - GL_STUB_ALIAS(MultiTexCoord3fv, _gloffset_MultiTexCoord3fvARB, MultiTexCoord3fv@8, MultiTexCoord3fvARB, MultiTexCoord3fvARB@8) - GL_STUB_ALIAS(MultiTexCoord3i, _gloffset_MultiTexCoord3iARB, MultiTexCoord3i@16, MultiTexCoord3iARB, MultiTexCoord3iARB@16) - GL_STUB_ALIAS(MultiTexCoord3iv, _gloffset_MultiTexCoord3ivARB, MultiTexCoord3iv@8, MultiTexCoord3ivARB, MultiTexCoord3ivARB@8) - GL_STUB_ALIAS(MultiTexCoord3s, _gloffset_MultiTexCoord3sARB, MultiTexCoord3s@16, MultiTexCoord3sARB, MultiTexCoord3sARB@16) - GL_STUB_ALIAS(MultiTexCoord3sv, _gloffset_MultiTexCoord3svARB, MultiTexCoord3sv@8, MultiTexCoord3svARB, MultiTexCoord3svARB@8) - GL_STUB_ALIAS(MultiTexCoord4d, _gloffset_MultiTexCoord4dARB, MultiTexCoord4d@36, MultiTexCoord4dARB, MultiTexCoord4dARB@36) - GL_STUB_ALIAS(MultiTexCoord4dv, _gloffset_MultiTexCoord4dvARB, MultiTexCoord4dv@8, MultiTexCoord4dvARB, MultiTexCoord4dvARB@8) - GL_STUB_ALIAS(MultiTexCoord4f, _gloffset_MultiTexCoord4fARB, MultiTexCoord4f@20, MultiTexCoord4fARB, MultiTexCoord4fARB@20) - GL_STUB_ALIAS(MultiTexCoord4fv, _gloffset_MultiTexCoord4fvARB, MultiTexCoord4fv@8, MultiTexCoord4fvARB, MultiTexCoord4fvARB@8) - GL_STUB_ALIAS(MultiTexCoord4i, _gloffset_MultiTexCoord4iARB, MultiTexCoord4i@20, MultiTexCoord4iARB, MultiTexCoord4iARB@20) - 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(DrawArraysInstancedARB, _gloffset_DrawArraysInstanced, DrawArraysInstancedARB@16, DrawArraysInstanced, DrawArraysInstanced@16) - GL_STUB_ALIAS(DrawArraysInstancedEXT, _gloffset_DrawArraysInstanced, DrawArraysInstancedEXT@16, DrawArraysInstanced, DrawArraysInstanced@16) - GL_STUB_ALIAS(DrawElementsInstancedARB, _gloffset_DrawElementsInstanced, DrawElementsInstancedARB@20, DrawElementsInstanced, DrawElementsInstanced@20) - GL_STUB_ALIAS(DrawElementsInstancedEXT, _gloffset_DrawElementsInstanced, DrawElementsInstancedEXT@20, DrawElementsInstanced, DrawElementsInstanced@20) - 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) - GL_STUB_ALIAS(MultTransposeMatrixf, _gloffset_MultTransposeMatrixfARB, MultTransposeMatrixf@4, MultTransposeMatrixfARB, MultTransposeMatrixfARB@4) - GL_STUB_ALIAS(SampleCoverage, _gloffset_SampleCoverageARB, SampleCoverage@8, SampleCoverageARB, SampleCoverageARB@8) - GL_STUB_ALIAS(CompressedTexImage1D, _gloffset_CompressedTexImage1DARB, CompressedTexImage1D@28, CompressedTexImage1DARB, CompressedTexImage1DARB@28) - GL_STUB_ALIAS(CompressedTexImage2D, _gloffset_CompressedTexImage2DARB, CompressedTexImage2D@32, CompressedTexImage2DARB, CompressedTexImage2DARB@32) - GL_STUB_ALIAS(CompressedTexImage3D, _gloffset_CompressedTexImage3DARB, CompressedTexImage3D@36, CompressedTexImage3DARB, CompressedTexImage3DARB@36) - GL_STUB_ALIAS(CompressedTexSubImage1D, _gloffset_CompressedTexSubImage1DARB, CompressedTexSubImage1D@28, CompressedTexSubImage1DARB, CompressedTexSubImage1DARB@28) - 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(ProgramParameter4dNV, _gloffset_ProgramEnvParameter4dARB, ProgramParameter4dNV@40, ProgramEnvParameter4dARB, ProgramEnvParameter4dARB@40) - GL_STUB_ALIAS(ProgramParameter4dvNV, _gloffset_ProgramEnvParameter4dvARB, ProgramParameter4dvNV@12, ProgramEnvParameter4dvARB, ProgramEnvParameter4dvARB@12) - GL_STUB_ALIAS(ProgramParameter4fNV, _gloffset_ProgramEnvParameter4fARB, ProgramParameter4fNV@24, ProgramEnvParameter4fARB, ProgramEnvParameter4fARB@24) - GL_STUB_ALIAS(ProgramParameter4fvNV, _gloffset_ProgramEnvParameter4fvARB, ProgramParameter4fvNV@12, ProgramEnvParameter4fvARB, ProgramEnvParameter4fvARB@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) - GL_STUB_ALIAS(DeleteBuffers, _gloffset_DeleteBuffersARB, DeleteBuffers@8, DeleteBuffersARB, DeleteBuffersARB@8) - GL_STUB_ALIAS(GenBuffers, _gloffset_GenBuffersARB, GenBuffers@8, GenBuffersARB, GenBuffersARB@8) - GL_STUB_ALIAS(GetBufferParameteriv, _gloffset_GetBufferParameterivARB, GetBufferParameteriv@12, GetBufferParameterivARB, GetBufferParameterivARB@12) - GL_STUB_ALIAS(GetBufferPointerv, _gloffset_GetBufferPointervARB, GetBufferPointerv@12, GetBufferPointervARB, GetBufferPointervARB@12) - GL_STUB_ALIAS(GetBufferSubData, _gloffset_GetBufferSubDataARB, GetBufferSubData@16, GetBufferSubDataARB, GetBufferSubDataARB@16) - GL_STUB_ALIAS(IsBuffer, _gloffset_IsBufferARB, IsBuffer@4, IsBufferARB, IsBufferARB@4) - GL_STUB_ALIAS(MapBuffer, _gloffset_MapBufferARB, MapBuffer@8, MapBufferARB, MapBufferARB@8) - GL_STUB_ALIAS(UnmapBuffer, _gloffset_UnmapBufferARB, UnmapBuffer@4, UnmapBufferARB, UnmapBufferARB@4) - GL_STUB_ALIAS(BeginQuery, _gloffset_BeginQueryARB, BeginQuery@8, BeginQueryARB, BeginQueryARB@8) - GL_STUB_ALIAS(DeleteQueries, _gloffset_DeleteQueriesARB, DeleteQueries@8, DeleteQueriesARB, DeleteQueriesARB@8) - GL_STUB_ALIAS(EndQuery, _gloffset_EndQueryARB, EndQuery@4, EndQueryARB, EndQueryARB@4) - GL_STUB_ALIAS(GenQueries, _gloffset_GenQueriesARB, GenQueries@8, GenQueriesARB, GenQueriesARB@8) - GL_STUB_ALIAS(GetQueryObjectiv, _gloffset_GetQueryObjectivARB, GetQueryObjectiv@12, GetQueryObjectivARB, GetQueryObjectivARB@12) - 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(RenderbufferStorageMultisampleEXT, _gloffset_RenderbufferStorageMultisample, RenderbufferStorageMultisampleEXT@20, RenderbufferStorageMultisample, RenderbufferStorageMultisample@20) - GL_STUB_ALIAS(PointParameterf, _gloffset_PointParameterfEXT, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfARB, _gloffset_PointParameterfEXT, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfv, _gloffset_PointParameterfvEXT, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(PointParameterfvARB, _gloffset_PointParameterfvEXT, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(SecondaryColor3b, _gloffset_SecondaryColor3bEXT, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) - GL_STUB_ALIAS(SecondaryColor3bv, _gloffset_SecondaryColor3bvEXT, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) - GL_STUB_ALIAS(SecondaryColor3d, _gloffset_SecondaryColor3dEXT, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) - GL_STUB_ALIAS(SecondaryColor3dv, _gloffset_SecondaryColor3dvEXT, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) - GL_STUB_ALIAS(SecondaryColor3f, _gloffset_SecondaryColor3fEXT, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) - GL_STUB_ALIAS(SecondaryColor3fv, _gloffset_SecondaryColor3fvEXT, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) - GL_STUB_ALIAS(SecondaryColor3i, _gloffset_SecondaryColor3iEXT, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) - GL_STUB_ALIAS(SecondaryColor3iv, _gloffset_SecondaryColor3ivEXT, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) - GL_STUB_ALIAS(SecondaryColor3s, _gloffset_SecondaryColor3sEXT, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) - GL_STUB_ALIAS(SecondaryColor3sv, _gloffset_SecondaryColor3svEXT, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) - GL_STUB_ALIAS(SecondaryColor3ub, _gloffset_SecondaryColor3ubEXT, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) - GL_STUB_ALIAS(SecondaryColor3ubv, _gloffset_SecondaryColor3ubvEXT, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) - GL_STUB_ALIAS(SecondaryColor3ui, _gloffset_SecondaryColor3uiEXT, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) - GL_STUB_ALIAS(SecondaryColor3uiv, _gloffset_SecondaryColor3uivEXT, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) - GL_STUB_ALIAS(SecondaryColor3us, _gloffset_SecondaryColor3usEXT, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) - GL_STUB_ALIAS(SecondaryColor3usv, _gloffset_SecondaryColor3usvEXT, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) - GL_STUB_ALIAS(SecondaryColorPointer, _gloffset_SecondaryColorPointerEXT, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) - GL_STUB_ALIAS(MultiDrawArrays, _gloffset_MultiDrawArraysEXT, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) - GL_STUB_ALIAS(MultiDrawElements, _gloffset_MultiDrawElementsEXT, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) - GL_STUB_ALIAS(FogCoordPointer, _gloffset_FogCoordPointerEXT, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) - GL_STUB_ALIAS(FogCoordd, _gloffset_FogCoorddEXT, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) - GL_STUB_ALIAS(FogCoorddv, _gloffset_FogCoorddvEXT, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) - GL_STUB_ALIAS(FogCoordf, _gloffset_FogCoordfEXT, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) - GL_STUB_ALIAS(FogCoordfv, _gloffset_FogCoordfvEXT, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB_ALIAS(BlendFuncSeparate, _gloffset_BlendFuncSeparateEXT, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) - GL_STUB_ALIAS(WindowPos2d, _gloffset_WindowPos2dMESA, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dARB, _gloffset_WindowPos2dMESA, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dv, _gloffset_WindowPos2dvMESA, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2dvARB, _gloffset_WindowPos2dvMESA, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2f, _gloffset_WindowPos2fMESA, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fARB, _gloffset_WindowPos2fMESA, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fv, _gloffset_WindowPos2fvMESA, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2fvARB, _gloffset_WindowPos2fvMESA, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2i, _gloffset_WindowPos2iMESA, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iARB, _gloffset_WindowPos2iMESA, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iv, _gloffset_WindowPos2ivMESA, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2ivARB, _gloffset_WindowPos2ivMESA, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2s, _gloffset_WindowPos2sMESA, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sARB, _gloffset_WindowPos2sMESA, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sv, _gloffset_WindowPos2svMESA, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos2svARB, _gloffset_WindowPos2svMESA, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos3d, _gloffset_WindowPos3dMESA, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dARB, _gloffset_WindowPos3dMESA, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dv, _gloffset_WindowPos3dvMESA, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3dvARB, _gloffset_WindowPos3dvMESA, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3f, _gloffset_WindowPos3fMESA, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fARB, _gloffset_WindowPos3fMESA, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fv, _gloffset_WindowPos3fvMESA, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3fvARB, _gloffset_WindowPos3fvMESA, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3i, _gloffset_WindowPos3iMESA, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iARB, _gloffset_WindowPos3iMESA, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iv, _gloffset_WindowPos3ivMESA, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3ivARB, _gloffset_WindowPos3ivMESA, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3s, _gloffset_WindowPos3sMESA, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sARB, _gloffset_WindowPos3sMESA, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sv, _gloffset_WindowPos3svMESA, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB_ALIAS(WindowPos3svARB, _gloffset_WindowPos3svMESA, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) - 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) - GL_STUB_ALIAS(PointParameteriv, _gloffset_PointParameterivNV, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) - GL_STUB_ALIAS(DeleteVertexArrays, _gloffset_DeleteVertexArraysAPPLE, DeleteVertexArrays@8, _dispatch_stub_765, _dispatch_stub_765@8) - GL_STUB_ALIAS(IsVertexArray, _gloffset_IsVertexArrayAPPLE, IsVertexArray@4, _dispatch_stub_767, _dispatch_stub_767@4) - GL_STUB_ALIAS(BlendEquationSeparate, _gloffset_BlendEquationSeparateEXT, BlendEquationSeparate@8, _dispatch_stub_777, _dispatch_stub_777@8) - GL_STUB_ALIAS(BindFramebuffer, _gloffset_BindFramebufferEXT, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) - GL_STUB_ALIAS(BindRenderbuffer, _gloffset_BindRenderbufferEXT, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) - GL_STUB_ALIAS(CheckFramebufferStatus, _gloffset_CheckFramebufferStatusEXT, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) - GL_STUB_ALIAS(DeleteFramebuffers, _gloffset_DeleteFramebuffersEXT, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) - GL_STUB_ALIAS(DeleteRenderbuffers, _gloffset_DeleteRenderbuffersEXT, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) - GL_STUB_ALIAS(FramebufferRenderbuffer, _gloffset_FramebufferRenderbufferEXT, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) - GL_STUB_ALIAS(FramebufferTexture1D, _gloffset_FramebufferTexture1DEXT, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) - GL_STUB_ALIAS(FramebufferTexture2D, _gloffset_FramebufferTexture2DEXT, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) - GL_STUB_ALIAS(FramebufferTexture3D, _gloffset_FramebufferTexture3DEXT, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) - GL_STUB_ALIAS(GenFramebuffers, _gloffset_GenFramebuffersEXT, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) - GL_STUB_ALIAS(GenRenderbuffers, _gloffset_GenRenderbuffersEXT, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) - GL_STUB_ALIAS(GenerateMipmap, _gloffset_GenerateMipmapEXT, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) - GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, _gloffset_GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB_ALIAS(GetRenderbufferParameteriv, _gloffset_GetRenderbufferParameterivEXT, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) - GL_STUB_ALIAS(IsFramebuffer, _gloffset_IsFramebufferEXT, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) - GL_STUB_ALIAS(IsRenderbuffer, _gloffset_IsRenderbufferEXT, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) - GL_STUB_ALIAS(RenderbufferStorage, _gloffset_RenderbufferStorageEXT, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB_ALIAS(BlitFramebuffer, _gloffset_BlitFramebufferEXT, BlitFramebuffer@40, _dispatch_stub_795, _dispatch_stub_795@40) - GL_STUB_ALIAS(FramebufferTextureLayer, _gloffset_FramebufferTextureLayerEXT, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) - GL_STUB_ALIAS(BeginTransformFeedback, _gloffset_BeginTransformFeedbackEXT, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) - GL_STUB_ALIAS(BindBufferBase, _gloffset_BindBufferBaseEXT, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) - GL_STUB_ALIAS(BindBufferRange, _gloffset_BindBufferRangeEXT, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) - GL_STUB_ALIAS(EndTransformFeedback, _gloffset_EndTransformFeedbackEXT, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) - GL_STUB_ALIAS(GetTransformFeedbackVarying, _gloffset_GetTransformFeedbackVaryingEXT, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) - GL_STUB_ALIAS(TransformFeedbackVaryings, _gloffset_TransformFeedbackVaryingsEXT, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) - GL_STUB_ALIAS(ProvokingVertex, _gloffset_ProvokingVertexEXT, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) + GL_STUB_ALIAS(TexImage3DEXT, 371, TexImage3DEXT@40, TexImage3D, TexImage3D@40) + GL_STUB_ALIAS(TexSubImage3DEXT, 372, TexSubImage3DEXT@44, TexSubImage3D, TexSubImage3D@44) + GL_STUB_ALIAS(CopyTexSubImage3DEXT, 373, CopyTexSubImage3DEXT@36, CopyTexSubImage3D, CopyTexSubImage3D@36) + GL_STUB_ALIAS(ActiveTexture, 374, ActiveTexture@4, ActiveTextureARB, ActiveTextureARB@4) + GL_STUB_ALIAS(ClientActiveTexture, 375, ClientActiveTexture@4, ClientActiveTextureARB, ClientActiveTextureARB@4) + GL_STUB_ALIAS(MultiTexCoord1d, 376, MultiTexCoord1d@12, MultiTexCoord1dARB, MultiTexCoord1dARB@12) + GL_STUB_ALIAS(MultiTexCoord1dv, 377, MultiTexCoord1dv@8, MultiTexCoord1dvARB, MultiTexCoord1dvARB@8) + GL_STUB_ALIAS(MultiTexCoord1f, 378, MultiTexCoord1f@8, MultiTexCoord1fARB, MultiTexCoord1fARB@8) + GL_STUB_ALIAS(MultiTexCoord1fv, 379, MultiTexCoord1fv@8, MultiTexCoord1fvARB, MultiTexCoord1fvARB@8) + GL_STUB_ALIAS(MultiTexCoord1i, 380, MultiTexCoord1i@8, MultiTexCoord1iARB, MultiTexCoord1iARB@8) + GL_STUB_ALIAS(MultiTexCoord1iv, 381, MultiTexCoord1iv@8, MultiTexCoord1ivARB, MultiTexCoord1ivARB@8) + GL_STUB_ALIAS(MultiTexCoord1s, 382, MultiTexCoord1s@8, MultiTexCoord1sARB, MultiTexCoord1sARB@8) + GL_STUB_ALIAS(MultiTexCoord1sv, 383, MultiTexCoord1sv@8, MultiTexCoord1svARB, MultiTexCoord1svARB@8) + GL_STUB_ALIAS(MultiTexCoord2d, 384, MultiTexCoord2d@20, MultiTexCoord2dARB, MultiTexCoord2dARB@20) + GL_STUB_ALIAS(MultiTexCoord2dv, 385, MultiTexCoord2dv@8, MultiTexCoord2dvARB, MultiTexCoord2dvARB@8) + GL_STUB_ALIAS(MultiTexCoord2f, 386, MultiTexCoord2f@12, MultiTexCoord2fARB, MultiTexCoord2fARB@12) + GL_STUB_ALIAS(MultiTexCoord2fv, 387, MultiTexCoord2fv@8, MultiTexCoord2fvARB, MultiTexCoord2fvARB@8) + GL_STUB_ALIAS(MultiTexCoord2i, 388, MultiTexCoord2i@12, MultiTexCoord2iARB, MultiTexCoord2iARB@12) + GL_STUB_ALIAS(MultiTexCoord2iv, 389, MultiTexCoord2iv@8, MultiTexCoord2ivARB, MultiTexCoord2ivARB@8) + GL_STUB_ALIAS(MultiTexCoord2s, 390, MultiTexCoord2s@12, MultiTexCoord2sARB, MultiTexCoord2sARB@12) + GL_STUB_ALIAS(MultiTexCoord2sv, 391, MultiTexCoord2sv@8, MultiTexCoord2svARB, MultiTexCoord2svARB@8) + GL_STUB_ALIAS(MultiTexCoord3d, 392, MultiTexCoord3d@28, MultiTexCoord3dARB, MultiTexCoord3dARB@28) + GL_STUB_ALIAS(MultiTexCoord3dv, 393, MultiTexCoord3dv@8, MultiTexCoord3dvARB, MultiTexCoord3dvARB@8) + GL_STUB_ALIAS(MultiTexCoord3f, 394, MultiTexCoord3f@16, MultiTexCoord3fARB, MultiTexCoord3fARB@16) + GL_STUB_ALIAS(MultiTexCoord3fv, 395, MultiTexCoord3fv@8, MultiTexCoord3fvARB, MultiTexCoord3fvARB@8) + GL_STUB_ALIAS(MultiTexCoord3i, 396, MultiTexCoord3i@16, MultiTexCoord3iARB, MultiTexCoord3iARB@16) + GL_STUB_ALIAS(MultiTexCoord3iv, 397, MultiTexCoord3iv@8, MultiTexCoord3ivARB, MultiTexCoord3ivARB@8) + GL_STUB_ALIAS(MultiTexCoord3s, 398, MultiTexCoord3s@16, MultiTexCoord3sARB, MultiTexCoord3sARB@16) + GL_STUB_ALIAS(MultiTexCoord3sv, 399, MultiTexCoord3sv@8, MultiTexCoord3svARB, MultiTexCoord3svARB@8) + GL_STUB_ALIAS(MultiTexCoord4d, 400, MultiTexCoord4d@36, MultiTexCoord4dARB, MultiTexCoord4dARB@36) + GL_STUB_ALIAS(MultiTexCoord4dv, 401, MultiTexCoord4dv@8, MultiTexCoord4dvARB, MultiTexCoord4dvARB@8) + GL_STUB_ALIAS(MultiTexCoord4f, 402, MultiTexCoord4f@20, MultiTexCoord4fARB, MultiTexCoord4fARB@20) + GL_STUB_ALIAS(MultiTexCoord4fv, 403, MultiTexCoord4fv@8, MultiTexCoord4fvARB, MultiTexCoord4fvARB@8) + GL_STUB_ALIAS(MultiTexCoord4i, 404, MultiTexCoord4i@20, MultiTexCoord4iARB, MultiTexCoord4iARB@20) + GL_STUB_ALIAS(MultiTexCoord4iv, 405, MultiTexCoord4iv@8, MultiTexCoord4ivARB, MultiTexCoord4ivARB@8) + GL_STUB_ALIAS(MultiTexCoord4s, 406, MultiTexCoord4s@20, MultiTexCoord4sARB, MultiTexCoord4sARB@20) + GL_STUB_ALIAS(MultiTexCoord4sv, 407, MultiTexCoord4sv@8, MultiTexCoord4svARB, MultiTexCoord4svARB@8) + GL_STUB_ALIAS(DrawArraysInstancedARB, 430, DrawArraysInstancedARB@16, DrawArraysInstanced, DrawArraysInstanced@16) + GL_STUB_ALIAS(DrawArraysInstancedEXT, 430, DrawArraysInstancedEXT@16, DrawArraysInstanced, DrawArraysInstanced@16) + GL_STUB_ALIAS(DrawElementsInstancedARB, 431, DrawElementsInstancedARB@20, DrawElementsInstanced, DrawElementsInstanced@20) + GL_STUB_ALIAS(DrawElementsInstancedEXT, 431, DrawElementsInstancedEXT@20, DrawElementsInstanced, DrawElementsInstanced@20) + GL_STUB_ALIAS(LoadTransposeMatrixd, 432, LoadTransposeMatrixd@4, LoadTransposeMatrixdARB, LoadTransposeMatrixdARB@4) + GL_STUB_ALIAS(LoadTransposeMatrixf, 433, LoadTransposeMatrixf@4, LoadTransposeMatrixfARB, LoadTransposeMatrixfARB@4) + GL_STUB_ALIAS(MultTransposeMatrixd, 434, MultTransposeMatrixd@4, MultTransposeMatrixdARB, MultTransposeMatrixdARB@4) + GL_STUB_ALIAS(MultTransposeMatrixf, 435, MultTransposeMatrixf@4, MultTransposeMatrixfARB, MultTransposeMatrixfARB@4) + GL_STUB_ALIAS(SampleCoverage, 436, SampleCoverage@8, SampleCoverageARB, SampleCoverageARB@8) + GL_STUB_ALIAS(CompressedTexImage1D, 437, CompressedTexImage1D@28, CompressedTexImage1DARB, CompressedTexImage1DARB@28) + GL_STUB_ALIAS(CompressedTexImage2D, 438, CompressedTexImage2D@32, CompressedTexImage2DARB, CompressedTexImage2DARB@32) + GL_STUB_ALIAS(CompressedTexImage3D, 439, CompressedTexImage3D@36, CompressedTexImage3DARB, CompressedTexImage3DARB@36) + GL_STUB_ALIAS(CompressedTexSubImage1D, 440, CompressedTexSubImage1D@28, CompressedTexSubImage1DARB, CompressedTexSubImage1DARB@28) + GL_STUB_ALIAS(CompressedTexSubImage2D, 441, CompressedTexSubImage2D@36, CompressedTexSubImage2DARB, CompressedTexSubImage2DARB@36) + GL_STUB_ALIAS(CompressedTexSubImage3D, 442, CompressedTexSubImage3D@44, CompressedTexSubImage3DARB, CompressedTexSubImage3DARB@44) + GL_STUB_ALIAS(GetCompressedTexImage, 443, GetCompressedTexImage@12, GetCompressedTexImageARB, GetCompressedTexImageARB@12) + GL_STUB_ALIAS(DisableVertexAttribArray, 444, DisableVertexAttribArray@4, DisableVertexAttribArrayARB, DisableVertexAttribArrayARB@4) + GL_STUB_ALIAS(EnableVertexAttribArray, 445, EnableVertexAttribArray@4, EnableVertexAttribArrayARB, EnableVertexAttribArrayARB@4) + GL_STUB_ALIAS(GetVertexAttribdv, 452, GetVertexAttribdv@12, GetVertexAttribdvARB, GetVertexAttribdvARB@12) + GL_STUB_ALIAS(GetVertexAttribfv, 453, GetVertexAttribfv@12, GetVertexAttribfvARB, GetVertexAttribfvARB@12) + GL_STUB_ALIAS(GetVertexAttribiv, 454, GetVertexAttribiv@12, GetVertexAttribivARB, GetVertexAttribivARB@12) + GL_STUB_ALIAS(ProgramParameter4dNV, 455, ProgramParameter4dNV@40, ProgramEnvParameter4dARB, ProgramEnvParameter4dARB@40) + GL_STUB_ALIAS(ProgramParameter4dvNV, 456, ProgramParameter4dvNV@12, ProgramEnvParameter4dvARB, ProgramEnvParameter4dvARB@12) + GL_STUB_ALIAS(ProgramParameter4fNV, 457, ProgramParameter4fNV@24, ProgramEnvParameter4fARB, ProgramEnvParameter4fARB@24) + GL_STUB_ALIAS(ProgramParameter4fvNV, 458, ProgramParameter4fvNV@12, ProgramEnvParameter4fvARB, ProgramEnvParameter4fvARB@12) + GL_STUB_ALIAS(VertexAttrib1d, 464, VertexAttrib1d@12, VertexAttrib1dARB, VertexAttrib1dARB@12) + GL_STUB_ALIAS(VertexAttrib1dv, 465, VertexAttrib1dv@8, VertexAttrib1dvARB, VertexAttrib1dvARB@8) + GL_STUB_ALIAS(VertexAttrib1f, 466, VertexAttrib1f@8, VertexAttrib1fARB, VertexAttrib1fARB@8) + GL_STUB_ALIAS(VertexAttrib1fv, 467, VertexAttrib1fv@8, VertexAttrib1fvARB, VertexAttrib1fvARB@8) + GL_STUB_ALIAS(VertexAttrib1s, 468, VertexAttrib1s@8, VertexAttrib1sARB, VertexAttrib1sARB@8) + GL_STUB_ALIAS(VertexAttrib1sv, 469, VertexAttrib1sv@8, VertexAttrib1svARB, VertexAttrib1svARB@8) + GL_STUB_ALIAS(VertexAttrib2d, 470, VertexAttrib2d@20, VertexAttrib2dARB, VertexAttrib2dARB@20) + GL_STUB_ALIAS(VertexAttrib2dv, 471, VertexAttrib2dv@8, VertexAttrib2dvARB, VertexAttrib2dvARB@8) + GL_STUB_ALIAS(VertexAttrib2f, 472, VertexAttrib2f@12, VertexAttrib2fARB, VertexAttrib2fARB@12) + GL_STUB_ALIAS(VertexAttrib2fv, 473, VertexAttrib2fv@8, VertexAttrib2fvARB, VertexAttrib2fvARB@8) + GL_STUB_ALIAS(VertexAttrib2s, 474, VertexAttrib2s@12, VertexAttrib2sARB, VertexAttrib2sARB@12) + GL_STUB_ALIAS(VertexAttrib2sv, 475, VertexAttrib2sv@8, VertexAttrib2svARB, VertexAttrib2svARB@8) + GL_STUB_ALIAS(VertexAttrib3d, 476, VertexAttrib3d@28, VertexAttrib3dARB, VertexAttrib3dARB@28) + GL_STUB_ALIAS(VertexAttrib3dv, 477, VertexAttrib3dv@8, VertexAttrib3dvARB, VertexAttrib3dvARB@8) + GL_STUB_ALIAS(VertexAttrib3f, 478, VertexAttrib3f@16, VertexAttrib3fARB, VertexAttrib3fARB@16) + GL_STUB_ALIAS(VertexAttrib3fv, 479, VertexAttrib3fv@8, VertexAttrib3fvARB, VertexAttrib3fvARB@8) + GL_STUB_ALIAS(VertexAttrib3s, 480, VertexAttrib3s@16, VertexAttrib3sARB, VertexAttrib3sARB@16) + GL_STUB_ALIAS(VertexAttrib3sv, 481, VertexAttrib3sv@8, VertexAttrib3svARB, VertexAttrib3svARB@8) + GL_STUB_ALIAS(VertexAttrib4Nbv, 482, VertexAttrib4Nbv@8, VertexAttrib4NbvARB, VertexAttrib4NbvARB@8) + GL_STUB_ALIAS(VertexAttrib4Niv, 483, VertexAttrib4Niv@8, VertexAttrib4NivARB, VertexAttrib4NivARB@8) + GL_STUB_ALIAS(VertexAttrib4Nsv, 484, VertexAttrib4Nsv@8, VertexAttrib4NsvARB, VertexAttrib4NsvARB@8) + GL_STUB_ALIAS(VertexAttrib4Nub, 485, VertexAttrib4Nub@20, VertexAttrib4NubARB, VertexAttrib4NubARB@20) + GL_STUB_ALIAS(VertexAttrib4Nubv, 486, VertexAttrib4Nubv@8, VertexAttrib4NubvARB, VertexAttrib4NubvARB@8) + GL_STUB_ALIAS(VertexAttrib4Nuiv, 487, VertexAttrib4Nuiv@8, VertexAttrib4NuivARB, VertexAttrib4NuivARB@8) + GL_STUB_ALIAS(VertexAttrib4Nusv, 488, VertexAttrib4Nusv@8, VertexAttrib4NusvARB, VertexAttrib4NusvARB@8) + GL_STUB_ALIAS(VertexAttrib4bv, 489, VertexAttrib4bv@8, VertexAttrib4bvARB, VertexAttrib4bvARB@8) + GL_STUB_ALIAS(VertexAttrib4d, 490, VertexAttrib4d@36, VertexAttrib4dARB, VertexAttrib4dARB@36) + GL_STUB_ALIAS(VertexAttrib4dv, 491, VertexAttrib4dv@8, VertexAttrib4dvARB, VertexAttrib4dvARB@8) + GL_STUB_ALIAS(VertexAttrib4f, 492, VertexAttrib4f@20, VertexAttrib4fARB, VertexAttrib4fARB@20) + GL_STUB_ALIAS(VertexAttrib4fv, 493, VertexAttrib4fv@8, VertexAttrib4fvARB, VertexAttrib4fvARB@8) + GL_STUB_ALIAS(VertexAttrib4iv, 494, VertexAttrib4iv@8, VertexAttrib4ivARB, VertexAttrib4ivARB@8) + GL_STUB_ALIAS(VertexAttrib4s, 495, VertexAttrib4s@20, VertexAttrib4sARB, VertexAttrib4sARB@20) + GL_STUB_ALIAS(VertexAttrib4sv, 496, VertexAttrib4sv@8, VertexAttrib4svARB, VertexAttrib4svARB@8) + GL_STUB_ALIAS(VertexAttrib4ubv, 497, VertexAttrib4ubv@8, VertexAttrib4ubvARB, VertexAttrib4ubvARB@8) + GL_STUB_ALIAS(VertexAttrib4uiv, 498, VertexAttrib4uiv@8, VertexAttrib4uivARB, VertexAttrib4uivARB@8) + GL_STUB_ALIAS(VertexAttrib4usv, 499, VertexAttrib4usv@8, VertexAttrib4usvARB, VertexAttrib4usvARB@8) + GL_STUB_ALIAS(VertexAttribPointer, 500, VertexAttribPointer@24, VertexAttribPointerARB, VertexAttribPointerARB@24) + GL_STUB_ALIAS(BindBuffer, 501, BindBuffer@8, BindBufferARB, BindBufferARB@8) + GL_STUB_ALIAS(BufferData, 502, BufferData@16, BufferDataARB, BufferDataARB@16) + GL_STUB_ALIAS(BufferSubData, 503, BufferSubData@16, BufferSubDataARB, BufferSubDataARB@16) + GL_STUB_ALIAS(DeleteBuffers, 504, DeleteBuffers@8, DeleteBuffersARB, DeleteBuffersARB@8) + GL_STUB_ALIAS(GenBuffers, 505, GenBuffers@8, GenBuffersARB, GenBuffersARB@8) + GL_STUB_ALIAS(GetBufferParameteriv, 506, GetBufferParameteriv@12, GetBufferParameterivARB, GetBufferParameterivARB@12) + GL_STUB_ALIAS(GetBufferPointerv, 507, GetBufferPointerv@12, GetBufferPointervARB, GetBufferPointervARB@12) + GL_STUB_ALIAS(GetBufferSubData, 508, GetBufferSubData@16, GetBufferSubDataARB, GetBufferSubDataARB@16) + GL_STUB_ALIAS(IsBuffer, 509, IsBuffer@4, IsBufferARB, IsBufferARB@4) + GL_STUB_ALIAS(MapBuffer, 510, MapBuffer@8, MapBufferARB, MapBufferARB@8) + GL_STUB_ALIAS(UnmapBuffer, 511, UnmapBuffer@4, UnmapBufferARB, UnmapBufferARB@4) + GL_STUB_ALIAS(BeginQuery, 512, BeginQuery@8, BeginQueryARB, BeginQueryARB@8) + GL_STUB_ALIAS(DeleteQueries, 513, DeleteQueries@8, DeleteQueriesARB, DeleteQueriesARB@8) + GL_STUB_ALIAS(EndQuery, 514, EndQuery@4, EndQueryARB, EndQueryARB@4) + GL_STUB_ALIAS(GenQueries, 515, GenQueries@8, GenQueriesARB, GenQueriesARB@8) + GL_STUB_ALIAS(GetQueryObjectiv, 516, GetQueryObjectiv@12, GetQueryObjectivARB, GetQueryObjectivARB@12) + GL_STUB_ALIAS(GetQueryObjectuiv, 517, GetQueryObjectuiv@12, GetQueryObjectuivARB, GetQueryObjectuivARB@12) + GL_STUB_ALIAS(GetQueryiv, 518, GetQueryiv@12, GetQueryivARB, GetQueryivARB@12) + GL_STUB_ALIAS(IsQuery, 519, IsQuery@4, IsQueryARB, IsQueryARB@4) + GL_STUB_ALIAS(CompileShader, 521, CompileShader@4, CompileShaderARB, CompileShaderARB@4) + GL_STUB_ALIAS(GetActiveUniform, 526, GetActiveUniform@28, GetActiveUniformARB, GetActiveUniformARB@28) + GL_STUB_ALIAS(GetShaderSource, 532, GetShaderSource@16, GetShaderSourceARB, GetShaderSourceARB@16) + GL_STUB_ALIAS(GetUniformLocation, 533, GetUniformLocation@8, GetUniformLocationARB, GetUniformLocationARB@8) + GL_STUB_ALIAS(GetUniformfv, 534, GetUniformfv@12, GetUniformfvARB, GetUniformfvARB@12) + GL_STUB_ALIAS(GetUniformiv, 535, GetUniformiv@12, GetUniformivARB, GetUniformivARB@12) + GL_STUB_ALIAS(LinkProgram, 536, LinkProgram@4, LinkProgramARB, LinkProgramARB@4) + GL_STUB_ALIAS(ShaderSource, 537, ShaderSource@16, ShaderSourceARB, ShaderSourceARB@16) + GL_STUB_ALIAS(Uniform1f, 538, Uniform1f@8, Uniform1fARB, Uniform1fARB@8) + GL_STUB_ALIAS(Uniform1fv, 539, Uniform1fv@12, Uniform1fvARB, Uniform1fvARB@12) + GL_STUB_ALIAS(Uniform1i, 540, Uniform1i@8, Uniform1iARB, Uniform1iARB@8) + GL_STUB_ALIAS(Uniform1iv, 541, Uniform1iv@12, Uniform1ivARB, Uniform1ivARB@12) + GL_STUB_ALIAS(Uniform2f, 542, Uniform2f@12, Uniform2fARB, Uniform2fARB@12) + GL_STUB_ALIAS(Uniform2fv, 543, Uniform2fv@12, Uniform2fvARB, Uniform2fvARB@12) + GL_STUB_ALIAS(Uniform2i, 544, Uniform2i@12, Uniform2iARB, Uniform2iARB@12) + GL_STUB_ALIAS(Uniform2iv, 545, Uniform2iv@12, Uniform2ivARB, Uniform2ivARB@12) + GL_STUB_ALIAS(Uniform3f, 546, Uniform3f@16, Uniform3fARB, Uniform3fARB@16) + GL_STUB_ALIAS(Uniform3fv, 547, Uniform3fv@12, Uniform3fvARB, Uniform3fvARB@12) + GL_STUB_ALIAS(Uniform3i, 548, Uniform3i@16, Uniform3iARB, Uniform3iARB@16) + GL_STUB_ALIAS(Uniform3iv, 549, Uniform3iv@12, Uniform3ivARB, Uniform3ivARB@12) + GL_STUB_ALIAS(Uniform4f, 550, Uniform4f@20, Uniform4fARB, Uniform4fARB@20) + GL_STUB_ALIAS(Uniform4fv, 551, Uniform4fv@12, Uniform4fvARB, Uniform4fvARB@12) + GL_STUB_ALIAS(Uniform4i, 552, Uniform4i@20, Uniform4iARB, Uniform4iARB@20) + GL_STUB_ALIAS(Uniform4iv, 553, Uniform4iv@12, Uniform4ivARB, Uniform4ivARB@12) + GL_STUB_ALIAS(UniformMatrix2fv, 554, UniformMatrix2fv@16, UniformMatrix2fvARB, UniformMatrix2fvARB@16) + GL_STUB_ALIAS(UniformMatrix3fv, 555, UniformMatrix3fv@16, UniformMatrix3fvARB, UniformMatrix3fvARB@16) + GL_STUB_ALIAS(UniformMatrix4fv, 556, UniformMatrix4fv@16, UniformMatrix4fvARB, UniformMatrix4fvARB@16) + GL_STUB_ALIAS(UseProgram, 557, UseProgram@4, UseProgramObjectARB, UseProgramObjectARB@4) + GL_STUB_ALIAS(ValidateProgram, 558, ValidateProgram@4, ValidateProgramARB, ValidateProgramARB@4) + GL_STUB_ALIAS(BindAttribLocation, 559, BindAttribLocation@12, BindAttribLocationARB, BindAttribLocationARB@12) + GL_STUB_ALIAS(GetActiveAttrib, 560, GetActiveAttrib@28, GetActiveAttribARB, GetActiveAttribARB@28) + GL_STUB_ALIAS(GetAttribLocation, 561, GetAttribLocation@8, GetAttribLocationARB, GetAttribLocationARB@8) + GL_STUB_ALIAS(DrawBuffers, 562, DrawBuffers@8, DrawBuffersARB, DrawBuffersARB@8) + GL_STUB_ALIAS(DrawBuffersATI, 562, DrawBuffersATI@8, DrawBuffersARB, DrawBuffersARB@8) + GL_STUB_ALIAS(RenderbufferStorageMultisampleEXT, 563, RenderbufferStorageMultisampleEXT@20, RenderbufferStorageMultisample, RenderbufferStorageMultisample@20) + GL_STUB_ALIAS(PointParameterf, 604, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfARB, 604, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfv, 605, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(PointParameterfvARB, 605, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(SecondaryColor3b, 608, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) + GL_STUB_ALIAS(SecondaryColor3bv, 609, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) + GL_STUB_ALIAS(SecondaryColor3d, 610, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) + GL_STUB_ALIAS(SecondaryColor3dv, 611, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) + GL_STUB_ALIAS(SecondaryColor3f, 612, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) + GL_STUB_ALIAS(SecondaryColor3fv, 613, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) + GL_STUB_ALIAS(SecondaryColor3i, 614, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) + GL_STUB_ALIAS(SecondaryColor3iv, 615, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) + GL_STUB_ALIAS(SecondaryColor3s, 616, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) + GL_STUB_ALIAS(SecondaryColor3sv, 617, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) + GL_STUB_ALIAS(SecondaryColor3ub, 618, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) + GL_STUB_ALIAS(SecondaryColor3ubv, 619, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) + GL_STUB_ALIAS(SecondaryColor3ui, 620, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) + GL_STUB_ALIAS(SecondaryColor3uiv, 621, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) + GL_STUB_ALIAS(SecondaryColor3us, 622, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) + GL_STUB_ALIAS(SecondaryColor3usv, 623, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) + GL_STUB_ALIAS(SecondaryColorPointer, 624, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) + GL_STUB_ALIAS(MultiDrawArrays, 625, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) + GL_STUB_ALIAS(MultiDrawElements, 626, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) + GL_STUB_ALIAS(FogCoordPointer, 627, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) + GL_STUB_ALIAS(FogCoordd, 628, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) + GL_STUB_ALIAS(FogCoorddv, 629, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) + GL_STUB_ALIAS(FogCoordf, 630, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) + GL_STUB_ALIAS(FogCoordfv, 631, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) + GL_STUB_ALIAS(BlendFuncSeparate, 633, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) + GL_STUB_ALIAS(WindowPos2d, 650, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dARB, 650, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dv, 651, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2dvARB, 651, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2f, 652, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fARB, 652, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fv, 653, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2fvARB, 653, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2i, 654, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iARB, 654, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iv, 655, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2ivARB, 655, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2s, 656, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sARB, 656, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sv, 657, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos2svARB, 657, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos3d, 658, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dARB, 658, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dv, 659, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3dvARB, 659, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3f, 660, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fARB, 660, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fv, 661, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3fvARB, 661, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3i, 662, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iARB, 662, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iv, 663, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3ivARB, 663, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3s, 664, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sARB, 664, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sv, 665, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(WindowPos3svARB, 665, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(BindProgramARB, 684, BindProgramARB@8, BindProgramNV, BindProgramNV@8) + GL_STUB_ALIAS(DeleteProgramsARB, 685, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) + GL_STUB_ALIAS(GenProgramsARB, 687, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) + GL_STUB_ALIAS(GetVertexAttribPointerv, 693, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(GetVertexAttribPointervARB, 693, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(IsProgramARB, 697, IsProgramARB@4, IsProgramNV, IsProgramNV@4) + GL_STUB_ALIAS(PointParameteri, 761, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) + GL_STUB_ALIAS(PointParameteriv, 762, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) + GL_STUB_ALIAS(DeleteVertexArrays, 765, DeleteVertexArrays@8, _dispatch_stub_765, _dispatch_stub_765@8) + GL_STUB_ALIAS(IsVertexArray, 767, IsVertexArray@4, _dispatch_stub_767, _dispatch_stub_767@4) + GL_STUB_ALIAS(BlendEquationSeparate, 777, BlendEquationSeparate@8, _dispatch_stub_777, _dispatch_stub_777@8) + GL_STUB_ALIAS(BindFramebuffer, 778, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) + GL_STUB_ALIAS(BindRenderbuffer, 779, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) + GL_STUB_ALIAS(CheckFramebufferStatus, 780, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) + GL_STUB_ALIAS(DeleteFramebuffers, 781, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) + GL_STUB_ALIAS(DeleteRenderbuffers, 782, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) + GL_STUB_ALIAS(FramebufferRenderbuffer, 783, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) + GL_STUB_ALIAS(FramebufferTexture1D, 784, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) + GL_STUB_ALIAS(FramebufferTexture2D, 785, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) + GL_STUB_ALIAS(FramebufferTexture3D, 786, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) + GL_STUB_ALIAS(GenFramebuffers, 787, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) + GL_STUB_ALIAS(GenRenderbuffers, 788, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) + GL_STUB_ALIAS(GenerateMipmap, 789, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) + GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, 790, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB_ALIAS(GetRenderbufferParameteriv, 791, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) + GL_STUB_ALIAS(IsFramebuffer, 792, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) + GL_STUB_ALIAS(IsRenderbuffer, 793, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) + GL_STUB_ALIAS(RenderbufferStorage, 794, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) + GL_STUB_ALIAS(BlitFramebuffer, 795, BlitFramebuffer@40, _dispatch_stub_795, _dispatch_stub_795@40) + GL_STUB_ALIAS(FramebufferTextureLayer, 832, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) + GL_STUB_ALIAS(BeginTransformFeedback, 847, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) + GL_STUB_ALIAS(BindBufferBase, 848, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) + GL_STUB_ALIAS(BindBufferRange, 850, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) + GL_STUB_ALIAS(EndTransformFeedback, 851, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) + GL_STUB_ALIAS(GetTransformFeedbackVarying, 852, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) + GL_STUB_ALIAS(TransformFeedbackVaryings, 853, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) + GL_STUB_ALIAS(ProvokingVertex, 854, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) GLOBL GLNAME(gl_dispatch_functions_end) HIDDEN(GLNAME(gl_dispatch_functions_end)) diff --git a/src/mapi/glapi/glapidispatch.h b/src/mapi/glapi/glapidispatch.h deleted file mode 100644 index 60f216b4a99..00000000000 --- a/src/mapi/glapi/glapidispatch.h +++ /dev/null @@ -1,4294 +0,0 @@ -/* DO NOT EDIT - This file generated automatically by gl_table.py (from Mesa) script */ - -/* - * (C) Copyright IBM Corporation 2005 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sub license, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * IBM, - * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#if !defined( _GLAPI_DISPATCH_H_ ) -# define _GLAPI_DISPATCH_H_ - - -/* this file should not be included directly in mesa */ - -/** - * \file glapidispatch.h - * Macros for handling GL dispatch tables. - * - * For each known GL function, there are 3 macros in this file. The first - * macro is named CALL_FuncName and is used to call that GL function using - * the specified dispatch table. The other 2 macros, called GET_FuncName - * can SET_FuncName, are used to get and set the dispatch pointer for the - * named function in the specified dispatch table. - */ - -#define CALL_by_offset(disp, cast, offset, parameters) \ - (*(cast (GET_by_offset(disp, offset)))) parameters -#define GET_by_offset(disp, offset) \ - (offset >= 0) ? (((_glapi_proc *)(disp))[offset]) : NULL -#define SET_by_offset(disp, offset, fn) \ - do { \ - if ( (offset) < 0 ) { \ - /* fprintf( stderr, "[%s:%u] SET_by_offset(%p, %d, %s)!\n", */ \ - /* __func__, __LINE__, disp, offset, # fn); */ \ - /* abort(); */ \ - } \ - else { \ - ( (_glapi_proc *) (disp) )[offset] = (_glapi_proc) fn; \ - } \ - } while(0) - -#define CALL_NewList(disp, parameters) (*((disp)->NewList)) parameters -#define GET_NewList(disp) ((disp)->NewList) -#define SET_NewList(disp, fn) ((disp)->NewList = fn) -#define CALL_EndList(disp, parameters) (*((disp)->EndList)) parameters -#define GET_EndList(disp) ((disp)->EndList) -#define SET_EndList(disp, fn) ((disp)->EndList = fn) -#define CALL_CallList(disp, parameters) (*((disp)->CallList)) parameters -#define GET_CallList(disp) ((disp)->CallList) -#define SET_CallList(disp, fn) ((disp)->CallList = fn) -#define CALL_CallLists(disp, parameters) (*((disp)->CallLists)) parameters -#define GET_CallLists(disp) ((disp)->CallLists) -#define SET_CallLists(disp, fn) ((disp)->CallLists = fn) -#define CALL_DeleteLists(disp, parameters) (*((disp)->DeleteLists)) parameters -#define GET_DeleteLists(disp) ((disp)->DeleteLists) -#define SET_DeleteLists(disp, fn) ((disp)->DeleteLists = fn) -#define CALL_GenLists(disp, parameters) (*((disp)->GenLists)) parameters -#define GET_GenLists(disp) ((disp)->GenLists) -#define SET_GenLists(disp, fn) ((disp)->GenLists = fn) -#define CALL_ListBase(disp, parameters) (*((disp)->ListBase)) parameters -#define GET_ListBase(disp) ((disp)->ListBase) -#define SET_ListBase(disp, fn) ((disp)->ListBase = fn) -#define CALL_Begin(disp, parameters) (*((disp)->Begin)) parameters -#define GET_Begin(disp) ((disp)->Begin) -#define SET_Begin(disp, fn) ((disp)->Begin = fn) -#define CALL_Bitmap(disp, parameters) (*((disp)->Bitmap)) parameters -#define GET_Bitmap(disp) ((disp)->Bitmap) -#define SET_Bitmap(disp, fn) ((disp)->Bitmap = fn) -#define CALL_Color3b(disp, parameters) (*((disp)->Color3b)) parameters -#define GET_Color3b(disp) ((disp)->Color3b) -#define SET_Color3b(disp, fn) ((disp)->Color3b = fn) -#define CALL_Color3bv(disp, parameters) (*((disp)->Color3bv)) parameters -#define GET_Color3bv(disp) ((disp)->Color3bv) -#define SET_Color3bv(disp, fn) ((disp)->Color3bv = fn) -#define CALL_Color3d(disp, parameters) (*((disp)->Color3d)) parameters -#define GET_Color3d(disp) ((disp)->Color3d) -#define SET_Color3d(disp, fn) ((disp)->Color3d = fn) -#define CALL_Color3dv(disp, parameters) (*((disp)->Color3dv)) parameters -#define GET_Color3dv(disp) ((disp)->Color3dv) -#define SET_Color3dv(disp, fn) ((disp)->Color3dv = fn) -#define CALL_Color3f(disp, parameters) (*((disp)->Color3f)) parameters -#define GET_Color3f(disp) ((disp)->Color3f) -#define SET_Color3f(disp, fn) ((disp)->Color3f = fn) -#define CALL_Color3fv(disp, parameters) (*((disp)->Color3fv)) parameters -#define GET_Color3fv(disp) ((disp)->Color3fv) -#define SET_Color3fv(disp, fn) ((disp)->Color3fv = fn) -#define CALL_Color3i(disp, parameters) (*((disp)->Color3i)) parameters -#define GET_Color3i(disp) ((disp)->Color3i) -#define SET_Color3i(disp, fn) ((disp)->Color3i = fn) -#define CALL_Color3iv(disp, parameters) (*((disp)->Color3iv)) parameters -#define GET_Color3iv(disp) ((disp)->Color3iv) -#define SET_Color3iv(disp, fn) ((disp)->Color3iv = fn) -#define CALL_Color3s(disp, parameters) (*((disp)->Color3s)) parameters -#define GET_Color3s(disp) ((disp)->Color3s) -#define SET_Color3s(disp, fn) ((disp)->Color3s = fn) -#define CALL_Color3sv(disp, parameters) (*((disp)->Color3sv)) parameters -#define GET_Color3sv(disp) ((disp)->Color3sv) -#define SET_Color3sv(disp, fn) ((disp)->Color3sv = fn) -#define CALL_Color3ub(disp, parameters) (*((disp)->Color3ub)) parameters -#define GET_Color3ub(disp) ((disp)->Color3ub) -#define SET_Color3ub(disp, fn) ((disp)->Color3ub = fn) -#define CALL_Color3ubv(disp, parameters) (*((disp)->Color3ubv)) parameters -#define GET_Color3ubv(disp) ((disp)->Color3ubv) -#define SET_Color3ubv(disp, fn) ((disp)->Color3ubv = fn) -#define CALL_Color3ui(disp, parameters) (*((disp)->Color3ui)) parameters -#define GET_Color3ui(disp) ((disp)->Color3ui) -#define SET_Color3ui(disp, fn) ((disp)->Color3ui = fn) -#define CALL_Color3uiv(disp, parameters) (*((disp)->Color3uiv)) parameters -#define GET_Color3uiv(disp) ((disp)->Color3uiv) -#define SET_Color3uiv(disp, fn) ((disp)->Color3uiv = fn) -#define CALL_Color3us(disp, parameters) (*((disp)->Color3us)) parameters -#define GET_Color3us(disp) ((disp)->Color3us) -#define SET_Color3us(disp, fn) ((disp)->Color3us = fn) -#define CALL_Color3usv(disp, parameters) (*((disp)->Color3usv)) parameters -#define GET_Color3usv(disp) ((disp)->Color3usv) -#define SET_Color3usv(disp, fn) ((disp)->Color3usv = fn) -#define CALL_Color4b(disp, parameters) (*((disp)->Color4b)) parameters -#define GET_Color4b(disp) ((disp)->Color4b) -#define SET_Color4b(disp, fn) ((disp)->Color4b = fn) -#define CALL_Color4bv(disp, parameters) (*((disp)->Color4bv)) parameters -#define GET_Color4bv(disp) ((disp)->Color4bv) -#define SET_Color4bv(disp, fn) ((disp)->Color4bv = fn) -#define CALL_Color4d(disp, parameters) (*((disp)->Color4d)) parameters -#define GET_Color4d(disp) ((disp)->Color4d) -#define SET_Color4d(disp, fn) ((disp)->Color4d = fn) -#define CALL_Color4dv(disp, parameters) (*((disp)->Color4dv)) parameters -#define GET_Color4dv(disp) ((disp)->Color4dv) -#define SET_Color4dv(disp, fn) ((disp)->Color4dv = fn) -#define CALL_Color4f(disp, parameters) (*((disp)->Color4f)) parameters -#define GET_Color4f(disp) ((disp)->Color4f) -#define SET_Color4f(disp, fn) ((disp)->Color4f = fn) -#define CALL_Color4fv(disp, parameters) (*((disp)->Color4fv)) parameters -#define GET_Color4fv(disp) ((disp)->Color4fv) -#define SET_Color4fv(disp, fn) ((disp)->Color4fv = fn) -#define CALL_Color4i(disp, parameters) (*((disp)->Color4i)) parameters -#define GET_Color4i(disp) ((disp)->Color4i) -#define SET_Color4i(disp, fn) ((disp)->Color4i = fn) -#define CALL_Color4iv(disp, parameters) (*((disp)->Color4iv)) parameters -#define GET_Color4iv(disp) ((disp)->Color4iv) -#define SET_Color4iv(disp, fn) ((disp)->Color4iv = fn) -#define CALL_Color4s(disp, parameters) (*((disp)->Color4s)) parameters -#define GET_Color4s(disp) ((disp)->Color4s) -#define SET_Color4s(disp, fn) ((disp)->Color4s = fn) -#define CALL_Color4sv(disp, parameters) (*((disp)->Color4sv)) parameters -#define GET_Color4sv(disp) ((disp)->Color4sv) -#define SET_Color4sv(disp, fn) ((disp)->Color4sv = fn) -#define CALL_Color4ub(disp, parameters) (*((disp)->Color4ub)) parameters -#define GET_Color4ub(disp) ((disp)->Color4ub) -#define SET_Color4ub(disp, fn) ((disp)->Color4ub = fn) -#define CALL_Color4ubv(disp, parameters) (*((disp)->Color4ubv)) parameters -#define GET_Color4ubv(disp) ((disp)->Color4ubv) -#define SET_Color4ubv(disp, fn) ((disp)->Color4ubv = fn) -#define CALL_Color4ui(disp, parameters) (*((disp)->Color4ui)) parameters -#define GET_Color4ui(disp) ((disp)->Color4ui) -#define SET_Color4ui(disp, fn) ((disp)->Color4ui = fn) -#define CALL_Color4uiv(disp, parameters) (*((disp)->Color4uiv)) parameters -#define GET_Color4uiv(disp) ((disp)->Color4uiv) -#define SET_Color4uiv(disp, fn) ((disp)->Color4uiv = fn) -#define CALL_Color4us(disp, parameters) (*((disp)->Color4us)) parameters -#define GET_Color4us(disp) ((disp)->Color4us) -#define SET_Color4us(disp, fn) ((disp)->Color4us = fn) -#define CALL_Color4usv(disp, parameters) (*((disp)->Color4usv)) parameters -#define GET_Color4usv(disp) ((disp)->Color4usv) -#define SET_Color4usv(disp, fn) ((disp)->Color4usv = fn) -#define CALL_EdgeFlag(disp, parameters) (*((disp)->EdgeFlag)) parameters -#define GET_EdgeFlag(disp) ((disp)->EdgeFlag) -#define SET_EdgeFlag(disp, fn) ((disp)->EdgeFlag = fn) -#define CALL_EdgeFlagv(disp, parameters) (*((disp)->EdgeFlagv)) parameters -#define GET_EdgeFlagv(disp) ((disp)->EdgeFlagv) -#define SET_EdgeFlagv(disp, fn) ((disp)->EdgeFlagv = fn) -#define CALL_End(disp, parameters) (*((disp)->End)) parameters -#define GET_End(disp) ((disp)->End) -#define SET_End(disp, fn) ((disp)->End = fn) -#define CALL_Indexd(disp, parameters) (*((disp)->Indexd)) parameters -#define GET_Indexd(disp) ((disp)->Indexd) -#define SET_Indexd(disp, fn) ((disp)->Indexd = fn) -#define CALL_Indexdv(disp, parameters) (*((disp)->Indexdv)) parameters -#define GET_Indexdv(disp) ((disp)->Indexdv) -#define SET_Indexdv(disp, fn) ((disp)->Indexdv = fn) -#define CALL_Indexf(disp, parameters) (*((disp)->Indexf)) parameters -#define GET_Indexf(disp) ((disp)->Indexf) -#define SET_Indexf(disp, fn) ((disp)->Indexf = fn) -#define CALL_Indexfv(disp, parameters) (*((disp)->Indexfv)) parameters -#define GET_Indexfv(disp) ((disp)->Indexfv) -#define SET_Indexfv(disp, fn) ((disp)->Indexfv = fn) -#define CALL_Indexi(disp, parameters) (*((disp)->Indexi)) parameters -#define GET_Indexi(disp) ((disp)->Indexi) -#define SET_Indexi(disp, fn) ((disp)->Indexi = fn) -#define CALL_Indexiv(disp, parameters) (*((disp)->Indexiv)) parameters -#define GET_Indexiv(disp) ((disp)->Indexiv) -#define SET_Indexiv(disp, fn) ((disp)->Indexiv = fn) -#define CALL_Indexs(disp, parameters) (*((disp)->Indexs)) parameters -#define GET_Indexs(disp) ((disp)->Indexs) -#define SET_Indexs(disp, fn) ((disp)->Indexs = fn) -#define CALL_Indexsv(disp, parameters) (*((disp)->Indexsv)) parameters -#define GET_Indexsv(disp) ((disp)->Indexsv) -#define SET_Indexsv(disp, fn) ((disp)->Indexsv = fn) -#define CALL_Normal3b(disp, parameters) (*((disp)->Normal3b)) parameters -#define GET_Normal3b(disp) ((disp)->Normal3b) -#define SET_Normal3b(disp, fn) ((disp)->Normal3b = fn) -#define CALL_Normal3bv(disp, parameters) (*((disp)->Normal3bv)) parameters -#define GET_Normal3bv(disp) ((disp)->Normal3bv) -#define SET_Normal3bv(disp, fn) ((disp)->Normal3bv = fn) -#define CALL_Normal3d(disp, parameters) (*((disp)->Normal3d)) parameters -#define GET_Normal3d(disp) ((disp)->Normal3d) -#define SET_Normal3d(disp, fn) ((disp)->Normal3d = fn) -#define CALL_Normal3dv(disp, parameters) (*((disp)->Normal3dv)) parameters -#define GET_Normal3dv(disp) ((disp)->Normal3dv) -#define SET_Normal3dv(disp, fn) ((disp)->Normal3dv = fn) -#define CALL_Normal3f(disp, parameters) (*((disp)->Normal3f)) parameters -#define GET_Normal3f(disp) ((disp)->Normal3f) -#define SET_Normal3f(disp, fn) ((disp)->Normal3f = fn) -#define CALL_Normal3fv(disp, parameters) (*((disp)->Normal3fv)) parameters -#define GET_Normal3fv(disp) ((disp)->Normal3fv) -#define SET_Normal3fv(disp, fn) ((disp)->Normal3fv = fn) -#define CALL_Normal3i(disp, parameters) (*((disp)->Normal3i)) parameters -#define GET_Normal3i(disp) ((disp)->Normal3i) -#define SET_Normal3i(disp, fn) ((disp)->Normal3i = fn) -#define CALL_Normal3iv(disp, parameters) (*((disp)->Normal3iv)) parameters -#define GET_Normal3iv(disp) ((disp)->Normal3iv) -#define SET_Normal3iv(disp, fn) ((disp)->Normal3iv = fn) -#define CALL_Normal3s(disp, parameters) (*((disp)->Normal3s)) parameters -#define GET_Normal3s(disp) ((disp)->Normal3s) -#define SET_Normal3s(disp, fn) ((disp)->Normal3s = fn) -#define CALL_Normal3sv(disp, parameters) (*((disp)->Normal3sv)) parameters -#define GET_Normal3sv(disp) ((disp)->Normal3sv) -#define SET_Normal3sv(disp, fn) ((disp)->Normal3sv = fn) -#define CALL_RasterPos2d(disp, parameters) (*((disp)->RasterPos2d)) parameters -#define GET_RasterPos2d(disp) ((disp)->RasterPos2d) -#define SET_RasterPos2d(disp, fn) ((disp)->RasterPos2d = fn) -#define CALL_RasterPos2dv(disp, parameters) (*((disp)->RasterPos2dv)) parameters -#define GET_RasterPos2dv(disp) ((disp)->RasterPos2dv) -#define SET_RasterPos2dv(disp, fn) ((disp)->RasterPos2dv = fn) -#define CALL_RasterPos2f(disp, parameters) (*((disp)->RasterPos2f)) parameters -#define GET_RasterPos2f(disp) ((disp)->RasterPos2f) -#define SET_RasterPos2f(disp, fn) ((disp)->RasterPos2f = fn) -#define CALL_RasterPos2fv(disp, parameters) (*((disp)->RasterPos2fv)) parameters -#define GET_RasterPos2fv(disp) ((disp)->RasterPos2fv) -#define SET_RasterPos2fv(disp, fn) ((disp)->RasterPos2fv = fn) -#define CALL_RasterPos2i(disp, parameters) (*((disp)->RasterPos2i)) parameters -#define GET_RasterPos2i(disp) ((disp)->RasterPos2i) -#define SET_RasterPos2i(disp, fn) ((disp)->RasterPos2i = fn) -#define CALL_RasterPos2iv(disp, parameters) (*((disp)->RasterPos2iv)) parameters -#define GET_RasterPos2iv(disp) ((disp)->RasterPos2iv) -#define SET_RasterPos2iv(disp, fn) ((disp)->RasterPos2iv = fn) -#define CALL_RasterPos2s(disp, parameters) (*((disp)->RasterPos2s)) parameters -#define GET_RasterPos2s(disp) ((disp)->RasterPos2s) -#define SET_RasterPos2s(disp, fn) ((disp)->RasterPos2s = fn) -#define CALL_RasterPos2sv(disp, parameters) (*((disp)->RasterPos2sv)) parameters -#define GET_RasterPos2sv(disp) ((disp)->RasterPos2sv) -#define SET_RasterPos2sv(disp, fn) ((disp)->RasterPos2sv = fn) -#define CALL_RasterPos3d(disp, parameters) (*((disp)->RasterPos3d)) parameters -#define GET_RasterPos3d(disp) ((disp)->RasterPos3d) -#define SET_RasterPos3d(disp, fn) ((disp)->RasterPos3d = fn) -#define CALL_RasterPos3dv(disp, parameters) (*((disp)->RasterPos3dv)) parameters -#define GET_RasterPos3dv(disp) ((disp)->RasterPos3dv) -#define SET_RasterPos3dv(disp, fn) ((disp)->RasterPos3dv = fn) -#define CALL_RasterPos3f(disp, parameters) (*((disp)->RasterPos3f)) parameters -#define GET_RasterPos3f(disp) ((disp)->RasterPos3f) -#define SET_RasterPos3f(disp, fn) ((disp)->RasterPos3f = fn) -#define CALL_RasterPos3fv(disp, parameters) (*((disp)->RasterPos3fv)) parameters -#define GET_RasterPos3fv(disp) ((disp)->RasterPos3fv) -#define SET_RasterPos3fv(disp, fn) ((disp)->RasterPos3fv = fn) -#define CALL_RasterPos3i(disp, parameters) (*((disp)->RasterPos3i)) parameters -#define GET_RasterPos3i(disp) ((disp)->RasterPos3i) -#define SET_RasterPos3i(disp, fn) ((disp)->RasterPos3i = fn) -#define CALL_RasterPos3iv(disp, parameters) (*((disp)->RasterPos3iv)) parameters -#define GET_RasterPos3iv(disp) ((disp)->RasterPos3iv) -#define SET_RasterPos3iv(disp, fn) ((disp)->RasterPos3iv = fn) -#define CALL_RasterPos3s(disp, parameters) (*((disp)->RasterPos3s)) parameters -#define GET_RasterPos3s(disp) ((disp)->RasterPos3s) -#define SET_RasterPos3s(disp, fn) ((disp)->RasterPos3s = fn) -#define CALL_RasterPos3sv(disp, parameters) (*((disp)->RasterPos3sv)) parameters -#define GET_RasterPos3sv(disp) ((disp)->RasterPos3sv) -#define SET_RasterPos3sv(disp, fn) ((disp)->RasterPos3sv = fn) -#define CALL_RasterPos4d(disp, parameters) (*((disp)->RasterPos4d)) parameters -#define GET_RasterPos4d(disp) ((disp)->RasterPos4d) -#define SET_RasterPos4d(disp, fn) ((disp)->RasterPos4d = fn) -#define CALL_RasterPos4dv(disp, parameters) (*((disp)->RasterPos4dv)) parameters -#define GET_RasterPos4dv(disp) ((disp)->RasterPos4dv) -#define SET_RasterPos4dv(disp, fn) ((disp)->RasterPos4dv = fn) -#define CALL_RasterPos4f(disp, parameters) (*((disp)->RasterPos4f)) parameters -#define GET_RasterPos4f(disp) ((disp)->RasterPos4f) -#define SET_RasterPos4f(disp, fn) ((disp)->RasterPos4f = fn) -#define CALL_RasterPos4fv(disp, parameters) (*((disp)->RasterPos4fv)) parameters -#define GET_RasterPos4fv(disp) ((disp)->RasterPos4fv) -#define SET_RasterPos4fv(disp, fn) ((disp)->RasterPos4fv = fn) -#define CALL_RasterPos4i(disp, parameters) (*((disp)->RasterPos4i)) parameters -#define GET_RasterPos4i(disp) ((disp)->RasterPos4i) -#define SET_RasterPos4i(disp, fn) ((disp)->RasterPos4i = fn) -#define CALL_RasterPos4iv(disp, parameters) (*((disp)->RasterPos4iv)) parameters -#define GET_RasterPos4iv(disp) ((disp)->RasterPos4iv) -#define SET_RasterPos4iv(disp, fn) ((disp)->RasterPos4iv = fn) -#define CALL_RasterPos4s(disp, parameters) (*((disp)->RasterPos4s)) parameters -#define GET_RasterPos4s(disp) ((disp)->RasterPos4s) -#define SET_RasterPos4s(disp, fn) ((disp)->RasterPos4s = fn) -#define CALL_RasterPos4sv(disp, parameters) (*((disp)->RasterPos4sv)) parameters -#define GET_RasterPos4sv(disp) ((disp)->RasterPos4sv) -#define SET_RasterPos4sv(disp, fn) ((disp)->RasterPos4sv = fn) -#define CALL_Rectd(disp, parameters) (*((disp)->Rectd)) parameters -#define GET_Rectd(disp) ((disp)->Rectd) -#define SET_Rectd(disp, fn) ((disp)->Rectd = fn) -#define CALL_Rectdv(disp, parameters) (*((disp)->Rectdv)) parameters -#define GET_Rectdv(disp) ((disp)->Rectdv) -#define SET_Rectdv(disp, fn) ((disp)->Rectdv = fn) -#define CALL_Rectf(disp, parameters) (*((disp)->Rectf)) parameters -#define GET_Rectf(disp) ((disp)->Rectf) -#define SET_Rectf(disp, fn) ((disp)->Rectf = fn) -#define CALL_Rectfv(disp, parameters) (*((disp)->Rectfv)) parameters -#define GET_Rectfv(disp) ((disp)->Rectfv) -#define SET_Rectfv(disp, fn) ((disp)->Rectfv = fn) -#define CALL_Recti(disp, parameters) (*((disp)->Recti)) parameters -#define GET_Recti(disp) ((disp)->Recti) -#define SET_Recti(disp, fn) ((disp)->Recti = fn) -#define CALL_Rectiv(disp, parameters) (*((disp)->Rectiv)) parameters -#define GET_Rectiv(disp) ((disp)->Rectiv) -#define SET_Rectiv(disp, fn) ((disp)->Rectiv = fn) -#define CALL_Rects(disp, parameters) (*((disp)->Rects)) parameters -#define GET_Rects(disp) ((disp)->Rects) -#define SET_Rects(disp, fn) ((disp)->Rects = fn) -#define CALL_Rectsv(disp, parameters) (*((disp)->Rectsv)) parameters -#define GET_Rectsv(disp) ((disp)->Rectsv) -#define SET_Rectsv(disp, fn) ((disp)->Rectsv = fn) -#define CALL_TexCoord1d(disp, parameters) (*((disp)->TexCoord1d)) parameters -#define GET_TexCoord1d(disp) ((disp)->TexCoord1d) -#define SET_TexCoord1d(disp, fn) ((disp)->TexCoord1d = fn) -#define CALL_TexCoord1dv(disp, parameters) (*((disp)->TexCoord1dv)) parameters -#define GET_TexCoord1dv(disp) ((disp)->TexCoord1dv) -#define SET_TexCoord1dv(disp, fn) ((disp)->TexCoord1dv = fn) -#define CALL_TexCoord1f(disp, parameters) (*((disp)->TexCoord1f)) parameters -#define GET_TexCoord1f(disp) ((disp)->TexCoord1f) -#define SET_TexCoord1f(disp, fn) ((disp)->TexCoord1f = fn) -#define CALL_TexCoord1fv(disp, parameters) (*((disp)->TexCoord1fv)) parameters -#define GET_TexCoord1fv(disp) ((disp)->TexCoord1fv) -#define SET_TexCoord1fv(disp, fn) ((disp)->TexCoord1fv = fn) -#define CALL_TexCoord1i(disp, parameters) (*((disp)->TexCoord1i)) parameters -#define GET_TexCoord1i(disp) ((disp)->TexCoord1i) -#define SET_TexCoord1i(disp, fn) ((disp)->TexCoord1i = fn) -#define CALL_TexCoord1iv(disp, parameters) (*((disp)->TexCoord1iv)) parameters -#define GET_TexCoord1iv(disp) ((disp)->TexCoord1iv) -#define SET_TexCoord1iv(disp, fn) ((disp)->TexCoord1iv = fn) -#define CALL_TexCoord1s(disp, parameters) (*((disp)->TexCoord1s)) parameters -#define GET_TexCoord1s(disp) ((disp)->TexCoord1s) -#define SET_TexCoord1s(disp, fn) ((disp)->TexCoord1s = fn) -#define CALL_TexCoord1sv(disp, parameters) (*((disp)->TexCoord1sv)) parameters -#define GET_TexCoord1sv(disp) ((disp)->TexCoord1sv) -#define SET_TexCoord1sv(disp, fn) ((disp)->TexCoord1sv = fn) -#define CALL_TexCoord2d(disp, parameters) (*((disp)->TexCoord2d)) parameters -#define GET_TexCoord2d(disp) ((disp)->TexCoord2d) -#define SET_TexCoord2d(disp, fn) ((disp)->TexCoord2d = fn) -#define CALL_TexCoord2dv(disp, parameters) (*((disp)->TexCoord2dv)) parameters -#define GET_TexCoord2dv(disp) ((disp)->TexCoord2dv) -#define SET_TexCoord2dv(disp, fn) ((disp)->TexCoord2dv = fn) -#define CALL_TexCoord2f(disp, parameters) (*((disp)->TexCoord2f)) parameters -#define GET_TexCoord2f(disp) ((disp)->TexCoord2f) -#define SET_TexCoord2f(disp, fn) ((disp)->TexCoord2f = fn) -#define CALL_TexCoord2fv(disp, parameters) (*((disp)->TexCoord2fv)) parameters -#define GET_TexCoord2fv(disp) ((disp)->TexCoord2fv) -#define SET_TexCoord2fv(disp, fn) ((disp)->TexCoord2fv = fn) -#define CALL_TexCoord2i(disp, parameters) (*((disp)->TexCoord2i)) parameters -#define GET_TexCoord2i(disp) ((disp)->TexCoord2i) -#define SET_TexCoord2i(disp, fn) ((disp)->TexCoord2i = fn) -#define CALL_TexCoord2iv(disp, parameters) (*((disp)->TexCoord2iv)) parameters -#define GET_TexCoord2iv(disp) ((disp)->TexCoord2iv) -#define SET_TexCoord2iv(disp, fn) ((disp)->TexCoord2iv = fn) -#define CALL_TexCoord2s(disp, parameters) (*((disp)->TexCoord2s)) parameters -#define GET_TexCoord2s(disp) ((disp)->TexCoord2s) -#define SET_TexCoord2s(disp, fn) ((disp)->TexCoord2s = fn) -#define CALL_TexCoord2sv(disp, parameters) (*((disp)->TexCoord2sv)) parameters -#define GET_TexCoord2sv(disp) ((disp)->TexCoord2sv) -#define SET_TexCoord2sv(disp, fn) ((disp)->TexCoord2sv = fn) -#define CALL_TexCoord3d(disp, parameters) (*((disp)->TexCoord3d)) parameters -#define GET_TexCoord3d(disp) ((disp)->TexCoord3d) -#define SET_TexCoord3d(disp, fn) ((disp)->TexCoord3d = fn) -#define CALL_TexCoord3dv(disp, parameters) (*((disp)->TexCoord3dv)) parameters -#define GET_TexCoord3dv(disp) ((disp)->TexCoord3dv) -#define SET_TexCoord3dv(disp, fn) ((disp)->TexCoord3dv = fn) -#define CALL_TexCoord3f(disp, parameters) (*((disp)->TexCoord3f)) parameters -#define GET_TexCoord3f(disp) ((disp)->TexCoord3f) -#define SET_TexCoord3f(disp, fn) ((disp)->TexCoord3f = fn) -#define CALL_TexCoord3fv(disp, parameters) (*((disp)->TexCoord3fv)) parameters -#define GET_TexCoord3fv(disp) ((disp)->TexCoord3fv) -#define SET_TexCoord3fv(disp, fn) ((disp)->TexCoord3fv = fn) -#define CALL_TexCoord3i(disp, parameters) (*((disp)->TexCoord3i)) parameters -#define GET_TexCoord3i(disp) ((disp)->TexCoord3i) -#define SET_TexCoord3i(disp, fn) ((disp)->TexCoord3i = fn) -#define CALL_TexCoord3iv(disp, parameters) (*((disp)->TexCoord3iv)) parameters -#define GET_TexCoord3iv(disp) ((disp)->TexCoord3iv) -#define SET_TexCoord3iv(disp, fn) ((disp)->TexCoord3iv = fn) -#define CALL_TexCoord3s(disp, parameters) (*((disp)->TexCoord3s)) parameters -#define GET_TexCoord3s(disp) ((disp)->TexCoord3s) -#define SET_TexCoord3s(disp, fn) ((disp)->TexCoord3s = fn) -#define CALL_TexCoord3sv(disp, parameters) (*((disp)->TexCoord3sv)) parameters -#define GET_TexCoord3sv(disp) ((disp)->TexCoord3sv) -#define SET_TexCoord3sv(disp, fn) ((disp)->TexCoord3sv = fn) -#define CALL_TexCoord4d(disp, parameters) (*((disp)->TexCoord4d)) parameters -#define GET_TexCoord4d(disp) ((disp)->TexCoord4d) -#define SET_TexCoord4d(disp, fn) ((disp)->TexCoord4d = fn) -#define CALL_TexCoord4dv(disp, parameters) (*((disp)->TexCoord4dv)) parameters -#define GET_TexCoord4dv(disp) ((disp)->TexCoord4dv) -#define SET_TexCoord4dv(disp, fn) ((disp)->TexCoord4dv = fn) -#define CALL_TexCoord4f(disp, parameters) (*((disp)->TexCoord4f)) parameters -#define GET_TexCoord4f(disp) ((disp)->TexCoord4f) -#define SET_TexCoord4f(disp, fn) ((disp)->TexCoord4f = fn) -#define CALL_TexCoord4fv(disp, parameters) (*((disp)->TexCoord4fv)) parameters -#define GET_TexCoord4fv(disp) ((disp)->TexCoord4fv) -#define SET_TexCoord4fv(disp, fn) ((disp)->TexCoord4fv = fn) -#define CALL_TexCoord4i(disp, parameters) (*((disp)->TexCoord4i)) parameters -#define GET_TexCoord4i(disp) ((disp)->TexCoord4i) -#define SET_TexCoord4i(disp, fn) ((disp)->TexCoord4i = fn) -#define CALL_TexCoord4iv(disp, parameters) (*((disp)->TexCoord4iv)) parameters -#define GET_TexCoord4iv(disp) ((disp)->TexCoord4iv) -#define SET_TexCoord4iv(disp, fn) ((disp)->TexCoord4iv = fn) -#define CALL_TexCoord4s(disp, parameters) (*((disp)->TexCoord4s)) parameters -#define GET_TexCoord4s(disp) ((disp)->TexCoord4s) -#define SET_TexCoord4s(disp, fn) ((disp)->TexCoord4s = fn) -#define CALL_TexCoord4sv(disp, parameters) (*((disp)->TexCoord4sv)) parameters -#define GET_TexCoord4sv(disp) ((disp)->TexCoord4sv) -#define SET_TexCoord4sv(disp, fn) ((disp)->TexCoord4sv = fn) -#define CALL_Vertex2d(disp, parameters) (*((disp)->Vertex2d)) parameters -#define GET_Vertex2d(disp) ((disp)->Vertex2d) -#define SET_Vertex2d(disp, fn) ((disp)->Vertex2d = fn) -#define CALL_Vertex2dv(disp, parameters) (*((disp)->Vertex2dv)) parameters -#define GET_Vertex2dv(disp) ((disp)->Vertex2dv) -#define SET_Vertex2dv(disp, fn) ((disp)->Vertex2dv = fn) -#define CALL_Vertex2f(disp, parameters) (*((disp)->Vertex2f)) parameters -#define GET_Vertex2f(disp) ((disp)->Vertex2f) -#define SET_Vertex2f(disp, fn) ((disp)->Vertex2f = fn) -#define CALL_Vertex2fv(disp, parameters) (*((disp)->Vertex2fv)) parameters -#define GET_Vertex2fv(disp) ((disp)->Vertex2fv) -#define SET_Vertex2fv(disp, fn) ((disp)->Vertex2fv = fn) -#define CALL_Vertex2i(disp, parameters) (*((disp)->Vertex2i)) parameters -#define GET_Vertex2i(disp) ((disp)->Vertex2i) -#define SET_Vertex2i(disp, fn) ((disp)->Vertex2i = fn) -#define CALL_Vertex2iv(disp, parameters) (*((disp)->Vertex2iv)) parameters -#define GET_Vertex2iv(disp) ((disp)->Vertex2iv) -#define SET_Vertex2iv(disp, fn) ((disp)->Vertex2iv = fn) -#define CALL_Vertex2s(disp, parameters) (*((disp)->Vertex2s)) parameters -#define GET_Vertex2s(disp) ((disp)->Vertex2s) -#define SET_Vertex2s(disp, fn) ((disp)->Vertex2s = fn) -#define CALL_Vertex2sv(disp, parameters) (*((disp)->Vertex2sv)) parameters -#define GET_Vertex2sv(disp) ((disp)->Vertex2sv) -#define SET_Vertex2sv(disp, fn) ((disp)->Vertex2sv = fn) -#define CALL_Vertex3d(disp, parameters) (*((disp)->Vertex3d)) parameters -#define GET_Vertex3d(disp) ((disp)->Vertex3d) -#define SET_Vertex3d(disp, fn) ((disp)->Vertex3d = fn) -#define CALL_Vertex3dv(disp, parameters) (*((disp)->Vertex3dv)) parameters -#define GET_Vertex3dv(disp) ((disp)->Vertex3dv) -#define SET_Vertex3dv(disp, fn) ((disp)->Vertex3dv = fn) -#define CALL_Vertex3f(disp, parameters) (*((disp)->Vertex3f)) parameters -#define GET_Vertex3f(disp) ((disp)->Vertex3f) -#define SET_Vertex3f(disp, fn) ((disp)->Vertex3f = fn) -#define CALL_Vertex3fv(disp, parameters) (*((disp)->Vertex3fv)) parameters -#define GET_Vertex3fv(disp) ((disp)->Vertex3fv) -#define SET_Vertex3fv(disp, fn) ((disp)->Vertex3fv = fn) -#define CALL_Vertex3i(disp, parameters) (*((disp)->Vertex3i)) parameters -#define GET_Vertex3i(disp) ((disp)->Vertex3i) -#define SET_Vertex3i(disp, fn) ((disp)->Vertex3i = fn) -#define CALL_Vertex3iv(disp, parameters) (*((disp)->Vertex3iv)) parameters -#define GET_Vertex3iv(disp) ((disp)->Vertex3iv) -#define SET_Vertex3iv(disp, fn) ((disp)->Vertex3iv = fn) -#define CALL_Vertex3s(disp, parameters) (*((disp)->Vertex3s)) parameters -#define GET_Vertex3s(disp) ((disp)->Vertex3s) -#define SET_Vertex3s(disp, fn) ((disp)->Vertex3s = fn) -#define CALL_Vertex3sv(disp, parameters) (*((disp)->Vertex3sv)) parameters -#define GET_Vertex3sv(disp) ((disp)->Vertex3sv) -#define SET_Vertex3sv(disp, fn) ((disp)->Vertex3sv = fn) -#define CALL_Vertex4d(disp, parameters) (*((disp)->Vertex4d)) parameters -#define GET_Vertex4d(disp) ((disp)->Vertex4d) -#define SET_Vertex4d(disp, fn) ((disp)->Vertex4d = fn) -#define CALL_Vertex4dv(disp, parameters) (*((disp)->Vertex4dv)) parameters -#define GET_Vertex4dv(disp) ((disp)->Vertex4dv) -#define SET_Vertex4dv(disp, fn) ((disp)->Vertex4dv = fn) -#define CALL_Vertex4f(disp, parameters) (*((disp)->Vertex4f)) parameters -#define GET_Vertex4f(disp) ((disp)->Vertex4f) -#define SET_Vertex4f(disp, fn) ((disp)->Vertex4f = fn) -#define CALL_Vertex4fv(disp, parameters) (*((disp)->Vertex4fv)) parameters -#define GET_Vertex4fv(disp) ((disp)->Vertex4fv) -#define SET_Vertex4fv(disp, fn) ((disp)->Vertex4fv = fn) -#define CALL_Vertex4i(disp, parameters) (*((disp)->Vertex4i)) parameters -#define GET_Vertex4i(disp) ((disp)->Vertex4i) -#define SET_Vertex4i(disp, fn) ((disp)->Vertex4i = fn) -#define CALL_Vertex4iv(disp, parameters) (*((disp)->Vertex4iv)) parameters -#define GET_Vertex4iv(disp) ((disp)->Vertex4iv) -#define SET_Vertex4iv(disp, fn) ((disp)->Vertex4iv = fn) -#define CALL_Vertex4s(disp, parameters) (*((disp)->Vertex4s)) parameters -#define GET_Vertex4s(disp) ((disp)->Vertex4s) -#define SET_Vertex4s(disp, fn) ((disp)->Vertex4s = fn) -#define CALL_Vertex4sv(disp, parameters) (*((disp)->Vertex4sv)) parameters -#define GET_Vertex4sv(disp) ((disp)->Vertex4sv) -#define SET_Vertex4sv(disp, fn) ((disp)->Vertex4sv = fn) -#define CALL_ClipPlane(disp, parameters) (*((disp)->ClipPlane)) parameters -#define GET_ClipPlane(disp) ((disp)->ClipPlane) -#define SET_ClipPlane(disp, fn) ((disp)->ClipPlane = fn) -#define CALL_ColorMaterial(disp, parameters) (*((disp)->ColorMaterial)) parameters -#define GET_ColorMaterial(disp) ((disp)->ColorMaterial) -#define SET_ColorMaterial(disp, fn) ((disp)->ColorMaterial = fn) -#define CALL_CullFace(disp, parameters) (*((disp)->CullFace)) parameters -#define GET_CullFace(disp) ((disp)->CullFace) -#define SET_CullFace(disp, fn) ((disp)->CullFace = fn) -#define CALL_Fogf(disp, parameters) (*((disp)->Fogf)) parameters -#define GET_Fogf(disp) ((disp)->Fogf) -#define SET_Fogf(disp, fn) ((disp)->Fogf = fn) -#define CALL_Fogfv(disp, parameters) (*((disp)->Fogfv)) parameters -#define GET_Fogfv(disp) ((disp)->Fogfv) -#define SET_Fogfv(disp, fn) ((disp)->Fogfv = fn) -#define CALL_Fogi(disp, parameters) (*((disp)->Fogi)) parameters -#define GET_Fogi(disp) ((disp)->Fogi) -#define SET_Fogi(disp, fn) ((disp)->Fogi = fn) -#define CALL_Fogiv(disp, parameters) (*((disp)->Fogiv)) parameters -#define GET_Fogiv(disp) ((disp)->Fogiv) -#define SET_Fogiv(disp, fn) ((disp)->Fogiv = fn) -#define CALL_FrontFace(disp, parameters) (*((disp)->FrontFace)) parameters -#define GET_FrontFace(disp) ((disp)->FrontFace) -#define SET_FrontFace(disp, fn) ((disp)->FrontFace = fn) -#define CALL_Hint(disp, parameters) (*((disp)->Hint)) parameters -#define GET_Hint(disp) ((disp)->Hint) -#define SET_Hint(disp, fn) ((disp)->Hint = fn) -#define CALL_Lightf(disp, parameters) (*((disp)->Lightf)) parameters -#define GET_Lightf(disp) ((disp)->Lightf) -#define SET_Lightf(disp, fn) ((disp)->Lightf = fn) -#define CALL_Lightfv(disp, parameters) (*((disp)->Lightfv)) parameters -#define GET_Lightfv(disp) ((disp)->Lightfv) -#define SET_Lightfv(disp, fn) ((disp)->Lightfv = fn) -#define CALL_Lighti(disp, parameters) (*((disp)->Lighti)) parameters -#define GET_Lighti(disp) ((disp)->Lighti) -#define SET_Lighti(disp, fn) ((disp)->Lighti = fn) -#define CALL_Lightiv(disp, parameters) (*((disp)->Lightiv)) parameters -#define GET_Lightiv(disp) ((disp)->Lightiv) -#define SET_Lightiv(disp, fn) ((disp)->Lightiv = fn) -#define CALL_LightModelf(disp, parameters) (*((disp)->LightModelf)) parameters -#define GET_LightModelf(disp) ((disp)->LightModelf) -#define SET_LightModelf(disp, fn) ((disp)->LightModelf = fn) -#define CALL_LightModelfv(disp, parameters) (*((disp)->LightModelfv)) parameters -#define GET_LightModelfv(disp) ((disp)->LightModelfv) -#define SET_LightModelfv(disp, fn) ((disp)->LightModelfv = fn) -#define CALL_LightModeli(disp, parameters) (*((disp)->LightModeli)) parameters -#define GET_LightModeli(disp) ((disp)->LightModeli) -#define SET_LightModeli(disp, fn) ((disp)->LightModeli = fn) -#define CALL_LightModeliv(disp, parameters) (*((disp)->LightModeliv)) parameters -#define GET_LightModeliv(disp) ((disp)->LightModeliv) -#define SET_LightModeliv(disp, fn) ((disp)->LightModeliv = fn) -#define CALL_LineStipple(disp, parameters) (*((disp)->LineStipple)) parameters -#define GET_LineStipple(disp) ((disp)->LineStipple) -#define SET_LineStipple(disp, fn) ((disp)->LineStipple = fn) -#define CALL_LineWidth(disp, parameters) (*((disp)->LineWidth)) parameters -#define GET_LineWidth(disp) ((disp)->LineWidth) -#define SET_LineWidth(disp, fn) ((disp)->LineWidth = fn) -#define CALL_Materialf(disp, parameters) (*((disp)->Materialf)) parameters -#define GET_Materialf(disp) ((disp)->Materialf) -#define SET_Materialf(disp, fn) ((disp)->Materialf = fn) -#define CALL_Materialfv(disp, parameters) (*((disp)->Materialfv)) parameters -#define GET_Materialfv(disp) ((disp)->Materialfv) -#define SET_Materialfv(disp, fn) ((disp)->Materialfv = fn) -#define CALL_Materiali(disp, parameters) (*((disp)->Materiali)) parameters -#define GET_Materiali(disp) ((disp)->Materiali) -#define SET_Materiali(disp, fn) ((disp)->Materiali = fn) -#define CALL_Materialiv(disp, parameters) (*((disp)->Materialiv)) parameters -#define GET_Materialiv(disp) ((disp)->Materialiv) -#define SET_Materialiv(disp, fn) ((disp)->Materialiv = fn) -#define CALL_PointSize(disp, parameters) (*((disp)->PointSize)) parameters -#define GET_PointSize(disp) ((disp)->PointSize) -#define SET_PointSize(disp, fn) ((disp)->PointSize = fn) -#define CALL_PolygonMode(disp, parameters) (*((disp)->PolygonMode)) parameters -#define GET_PolygonMode(disp) ((disp)->PolygonMode) -#define SET_PolygonMode(disp, fn) ((disp)->PolygonMode = fn) -#define CALL_PolygonStipple(disp, parameters) (*((disp)->PolygonStipple)) parameters -#define GET_PolygonStipple(disp) ((disp)->PolygonStipple) -#define SET_PolygonStipple(disp, fn) ((disp)->PolygonStipple = fn) -#define CALL_Scissor(disp, parameters) (*((disp)->Scissor)) parameters -#define GET_Scissor(disp) ((disp)->Scissor) -#define SET_Scissor(disp, fn) ((disp)->Scissor = fn) -#define CALL_ShadeModel(disp, parameters) (*((disp)->ShadeModel)) parameters -#define GET_ShadeModel(disp) ((disp)->ShadeModel) -#define SET_ShadeModel(disp, fn) ((disp)->ShadeModel = fn) -#define CALL_TexParameterf(disp, parameters) (*((disp)->TexParameterf)) parameters -#define GET_TexParameterf(disp) ((disp)->TexParameterf) -#define SET_TexParameterf(disp, fn) ((disp)->TexParameterf = fn) -#define CALL_TexParameterfv(disp, parameters) (*((disp)->TexParameterfv)) parameters -#define GET_TexParameterfv(disp) ((disp)->TexParameterfv) -#define SET_TexParameterfv(disp, fn) ((disp)->TexParameterfv = fn) -#define CALL_TexParameteri(disp, parameters) (*((disp)->TexParameteri)) parameters -#define GET_TexParameteri(disp) ((disp)->TexParameteri) -#define SET_TexParameteri(disp, fn) ((disp)->TexParameteri = fn) -#define CALL_TexParameteriv(disp, parameters) (*((disp)->TexParameteriv)) parameters -#define GET_TexParameteriv(disp) ((disp)->TexParameteriv) -#define SET_TexParameteriv(disp, fn) ((disp)->TexParameteriv = fn) -#define CALL_TexImage1D(disp, parameters) (*((disp)->TexImage1D)) parameters -#define GET_TexImage1D(disp) ((disp)->TexImage1D) -#define SET_TexImage1D(disp, fn) ((disp)->TexImage1D = fn) -#define CALL_TexImage2D(disp, parameters) (*((disp)->TexImage2D)) parameters -#define GET_TexImage2D(disp) ((disp)->TexImage2D) -#define SET_TexImage2D(disp, fn) ((disp)->TexImage2D = fn) -#define CALL_TexEnvf(disp, parameters) (*((disp)->TexEnvf)) parameters -#define GET_TexEnvf(disp) ((disp)->TexEnvf) -#define SET_TexEnvf(disp, fn) ((disp)->TexEnvf = fn) -#define CALL_TexEnvfv(disp, parameters) (*((disp)->TexEnvfv)) parameters -#define GET_TexEnvfv(disp) ((disp)->TexEnvfv) -#define SET_TexEnvfv(disp, fn) ((disp)->TexEnvfv = fn) -#define CALL_TexEnvi(disp, parameters) (*((disp)->TexEnvi)) parameters -#define GET_TexEnvi(disp) ((disp)->TexEnvi) -#define SET_TexEnvi(disp, fn) ((disp)->TexEnvi = fn) -#define CALL_TexEnviv(disp, parameters) (*((disp)->TexEnviv)) parameters -#define GET_TexEnviv(disp) ((disp)->TexEnviv) -#define SET_TexEnviv(disp, fn) ((disp)->TexEnviv = fn) -#define CALL_TexGend(disp, parameters) (*((disp)->TexGend)) parameters -#define GET_TexGend(disp) ((disp)->TexGend) -#define SET_TexGend(disp, fn) ((disp)->TexGend = fn) -#define CALL_TexGendv(disp, parameters) (*((disp)->TexGendv)) parameters -#define GET_TexGendv(disp) ((disp)->TexGendv) -#define SET_TexGendv(disp, fn) ((disp)->TexGendv = fn) -#define CALL_TexGenf(disp, parameters) (*((disp)->TexGenf)) parameters -#define GET_TexGenf(disp) ((disp)->TexGenf) -#define SET_TexGenf(disp, fn) ((disp)->TexGenf = fn) -#define CALL_TexGenfv(disp, parameters) (*((disp)->TexGenfv)) parameters -#define GET_TexGenfv(disp) ((disp)->TexGenfv) -#define SET_TexGenfv(disp, fn) ((disp)->TexGenfv = fn) -#define CALL_TexGeni(disp, parameters) (*((disp)->TexGeni)) parameters -#define GET_TexGeni(disp) ((disp)->TexGeni) -#define SET_TexGeni(disp, fn) ((disp)->TexGeni = fn) -#define CALL_TexGeniv(disp, parameters) (*((disp)->TexGeniv)) parameters -#define GET_TexGeniv(disp) ((disp)->TexGeniv) -#define SET_TexGeniv(disp, fn) ((disp)->TexGeniv = fn) -#define CALL_FeedbackBuffer(disp, parameters) (*((disp)->FeedbackBuffer)) parameters -#define GET_FeedbackBuffer(disp) ((disp)->FeedbackBuffer) -#define SET_FeedbackBuffer(disp, fn) ((disp)->FeedbackBuffer = fn) -#define CALL_SelectBuffer(disp, parameters) (*((disp)->SelectBuffer)) parameters -#define GET_SelectBuffer(disp) ((disp)->SelectBuffer) -#define SET_SelectBuffer(disp, fn) ((disp)->SelectBuffer = fn) -#define CALL_RenderMode(disp, parameters) (*((disp)->RenderMode)) parameters -#define GET_RenderMode(disp) ((disp)->RenderMode) -#define SET_RenderMode(disp, fn) ((disp)->RenderMode = fn) -#define CALL_InitNames(disp, parameters) (*((disp)->InitNames)) parameters -#define GET_InitNames(disp) ((disp)->InitNames) -#define SET_InitNames(disp, fn) ((disp)->InitNames = fn) -#define CALL_LoadName(disp, parameters) (*((disp)->LoadName)) parameters -#define GET_LoadName(disp) ((disp)->LoadName) -#define SET_LoadName(disp, fn) ((disp)->LoadName = fn) -#define CALL_PassThrough(disp, parameters) (*((disp)->PassThrough)) parameters -#define GET_PassThrough(disp) ((disp)->PassThrough) -#define SET_PassThrough(disp, fn) ((disp)->PassThrough = fn) -#define CALL_PopName(disp, parameters) (*((disp)->PopName)) parameters -#define GET_PopName(disp) ((disp)->PopName) -#define SET_PopName(disp, fn) ((disp)->PopName = fn) -#define CALL_PushName(disp, parameters) (*((disp)->PushName)) parameters -#define GET_PushName(disp) ((disp)->PushName) -#define SET_PushName(disp, fn) ((disp)->PushName = fn) -#define CALL_DrawBuffer(disp, parameters) (*((disp)->DrawBuffer)) parameters -#define GET_DrawBuffer(disp) ((disp)->DrawBuffer) -#define SET_DrawBuffer(disp, fn) ((disp)->DrawBuffer = fn) -#define CALL_Clear(disp, parameters) (*((disp)->Clear)) parameters -#define GET_Clear(disp) ((disp)->Clear) -#define SET_Clear(disp, fn) ((disp)->Clear = fn) -#define CALL_ClearAccum(disp, parameters) (*((disp)->ClearAccum)) parameters -#define GET_ClearAccum(disp) ((disp)->ClearAccum) -#define SET_ClearAccum(disp, fn) ((disp)->ClearAccum = fn) -#define CALL_ClearIndex(disp, parameters) (*((disp)->ClearIndex)) parameters -#define GET_ClearIndex(disp) ((disp)->ClearIndex) -#define SET_ClearIndex(disp, fn) ((disp)->ClearIndex = fn) -#define CALL_ClearColor(disp, parameters) (*((disp)->ClearColor)) parameters -#define GET_ClearColor(disp) ((disp)->ClearColor) -#define SET_ClearColor(disp, fn) ((disp)->ClearColor = fn) -#define CALL_ClearStencil(disp, parameters) (*((disp)->ClearStencil)) parameters -#define GET_ClearStencil(disp) ((disp)->ClearStencil) -#define SET_ClearStencil(disp, fn) ((disp)->ClearStencil = fn) -#define CALL_ClearDepth(disp, parameters) (*((disp)->ClearDepth)) parameters -#define GET_ClearDepth(disp) ((disp)->ClearDepth) -#define SET_ClearDepth(disp, fn) ((disp)->ClearDepth = fn) -#define CALL_StencilMask(disp, parameters) (*((disp)->StencilMask)) parameters -#define GET_StencilMask(disp) ((disp)->StencilMask) -#define SET_StencilMask(disp, fn) ((disp)->StencilMask = fn) -#define CALL_ColorMask(disp, parameters) (*((disp)->ColorMask)) parameters -#define GET_ColorMask(disp) ((disp)->ColorMask) -#define SET_ColorMask(disp, fn) ((disp)->ColorMask = fn) -#define CALL_DepthMask(disp, parameters) (*((disp)->DepthMask)) parameters -#define GET_DepthMask(disp) ((disp)->DepthMask) -#define SET_DepthMask(disp, fn) ((disp)->DepthMask = fn) -#define CALL_IndexMask(disp, parameters) (*((disp)->IndexMask)) parameters -#define GET_IndexMask(disp) ((disp)->IndexMask) -#define SET_IndexMask(disp, fn) ((disp)->IndexMask = fn) -#define CALL_Accum(disp, parameters) (*((disp)->Accum)) parameters -#define GET_Accum(disp) ((disp)->Accum) -#define SET_Accum(disp, fn) ((disp)->Accum = fn) -#define CALL_Disable(disp, parameters) (*((disp)->Disable)) parameters -#define GET_Disable(disp) ((disp)->Disable) -#define SET_Disable(disp, fn) ((disp)->Disable = fn) -#define CALL_Enable(disp, parameters) (*((disp)->Enable)) parameters -#define GET_Enable(disp) ((disp)->Enable) -#define SET_Enable(disp, fn) ((disp)->Enable = fn) -#define CALL_Finish(disp, parameters) (*((disp)->Finish)) parameters -#define GET_Finish(disp) ((disp)->Finish) -#define SET_Finish(disp, fn) ((disp)->Finish = fn) -#define CALL_Flush(disp, parameters) (*((disp)->Flush)) parameters -#define GET_Flush(disp) ((disp)->Flush) -#define SET_Flush(disp, fn) ((disp)->Flush = fn) -#define CALL_PopAttrib(disp, parameters) (*((disp)->PopAttrib)) parameters -#define GET_PopAttrib(disp) ((disp)->PopAttrib) -#define SET_PopAttrib(disp, fn) ((disp)->PopAttrib = fn) -#define CALL_PushAttrib(disp, parameters) (*((disp)->PushAttrib)) parameters -#define GET_PushAttrib(disp) ((disp)->PushAttrib) -#define SET_PushAttrib(disp, fn) ((disp)->PushAttrib = fn) -#define CALL_Map1d(disp, parameters) (*((disp)->Map1d)) parameters -#define GET_Map1d(disp) ((disp)->Map1d) -#define SET_Map1d(disp, fn) ((disp)->Map1d = fn) -#define CALL_Map1f(disp, parameters) (*((disp)->Map1f)) parameters -#define GET_Map1f(disp) ((disp)->Map1f) -#define SET_Map1f(disp, fn) ((disp)->Map1f = fn) -#define CALL_Map2d(disp, parameters) (*((disp)->Map2d)) parameters -#define GET_Map2d(disp) ((disp)->Map2d) -#define SET_Map2d(disp, fn) ((disp)->Map2d = fn) -#define CALL_Map2f(disp, parameters) (*((disp)->Map2f)) parameters -#define GET_Map2f(disp) ((disp)->Map2f) -#define SET_Map2f(disp, fn) ((disp)->Map2f = fn) -#define CALL_MapGrid1d(disp, parameters) (*((disp)->MapGrid1d)) parameters -#define GET_MapGrid1d(disp) ((disp)->MapGrid1d) -#define SET_MapGrid1d(disp, fn) ((disp)->MapGrid1d = fn) -#define CALL_MapGrid1f(disp, parameters) (*((disp)->MapGrid1f)) parameters -#define GET_MapGrid1f(disp) ((disp)->MapGrid1f) -#define SET_MapGrid1f(disp, fn) ((disp)->MapGrid1f = fn) -#define CALL_MapGrid2d(disp, parameters) (*((disp)->MapGrid2d)) parameters -#define GET_MapGrid2d(disp) ((disp)->MapGrid2d) -#define SET_MapGrid2d(disp, fn) ((disp)->MapGrid2d = fn) -#define CALL_MapGrid2f(disp, parameters) (*((disp)->MapGrid2f)) parameters -#define GET_MapGrid2f(disp) ((disp)->MapGrid2f) -#define SET_MapGrid2f(disp, fn) ((disp)->MapGrid2f = fn) -#define CALL_EvalCoord1d(disp, parameters) (*((disp)->EvalCoord1d)) parameters -#define GET_EvalCoord1d(disp) ((disp)->EvalCoord1d) -#define SET_EvalCoord1d(disp, fn) ((disp)->EvalCoord1d = fn) -#define CALL_EvalCoord1dv(disp, parameters) (*((disp)->EvalCoord1dv)) parameters -#define GET_EvalCoord1dv(disp) ((disp)->EvalCoord1dv) -#define SET_EvalCoord1dv(disp, fn) ((disp)->EvalCoord1dv = fn) -#define CALL_EvalCoord1f(disp, parameters) (*((disp)->EvalCoord1f)) parameters -#define GET_EvalCoord1f(disp) ((disp)->EvalCoord1f) -#define SET_EvalCoord1f(disp, fn) ((disp)->EvalCoord1f = fn) -#define CALL_EvalCoord1fv(disp, parameters) (*((disp)->EvalCoord1fv)) parameters -#define GET_EvalCoord1fv(disp) ((disp)->EvalCoord1fv) -#define SET_EvalCoord1fv(disp, fn) ((disp)->EvalCoord1fv = fn) -#define CALL_EvalCoord2d(disp, parameters) (*((disp)->EvalCoord2d)) parameters -#define GET_EvalCoord2d(disp) ((disp)->EvalCoord2d) -#define SET_EvalCoord2d(disp, fn) ((disp)->EvalCoord2d = fn) -#define CALL_EvalCoord2dv(disp, parameters) (*((disp)->EvalCoord2dv)) parameters -#define GET_EvalCoord2dv(disp) ((disp)->EvalCoord2dv) -#define SET_EvalCoord2dv(disp, fn) ((disp)->EvalCoord2dv = fn) -#define CALL_EvalCoord2f(disp, parameters) (*((disp)->EvalCoord2f)) parameters -#define GET_EvalCoord2f(disp) ((disp)->EvalCoord2f) -#define SET_EvalCoord2f(disp, fn) ((disp)->EvalCoord2f = fn) -#define CALL_EvalCoord2fv(disp, parameters) (*((disp)->EvalCoord2fv)) parameters -#define GET_EvalCoord2fv(disp) ((disp)->EvalCoord2fv) -#define SET_EvalCoord2fv(disp, fn) ((disp)->EvalCoord2fv = fn) -#define CALL_EvalMesh1(disp, parameters) (*((disp)->EvalMesh1)) parameters -#define GET_EvalMesh1(disp) ((disp)->EvalMesh1) -#define SET_EvalMesh1(disp, fn) ((disp)->EvalMesh1 = fn) -#define CALL_EvalPoint1(disp, parameters) (*((disp)->EvalPoint1)) parameters -#define GET_EvalPoint1(disp) ((disp)->EvalPoint1) -#define SET_EvalPoint1(disp, fn) ((disp)->EvalPoint1 = fn) -#define CALL_EvalMesh2(disp, parameters) (*((disp)->EvalMesh2)) parameters -#define GET_EvalMesh2(disp) ((disp)->EvalMesh2) -#define SET_EvalMesh2(disp, fn) ((disp)->EvalMesh2 = fn) -#define CALL_EvalPoint2(disp, parameters) (*((disp)->EvalPoint2)) parameters -#define GET_EvalPoint2(disp) ((disp)->EvalPoint2) -#define SET_EvalPoint2(disp, fn) ((disp)->EvalPoint2 = fn) -#define CALL_AlphaFunc(disp, parameters) (*((disp)->AlphaFunc)) parameters -#define GET_AlphaFunc(disp) ((disp)->AlphaFunc) -#define SET_AlphaFunc(disp, fn) ((disp)->AlphaFunc = fn) -#define CALL_BlendFunc(disp, parameters) (*((disp)->BlendFunc)) parameters -#define GET_BlendFunc(disp) ((disp)->BlendFunc) -#define SET_BlendFunc(disp, fn) ((disp)->BlendFunc = fn) -#define CALL_LogicOp(disp, parameters) (*((disp)->LogicOp)) parameters -#define GET_LogicOp(disp) ((disp)->LogicOp) -#define SET_LogicOp(disp, fn) ((disp)->LogicOp = fn) -#define CALL_StencilFunc(disp, parameters) (*((disp)->StencilFunc)) parameters -#define GET_StencilFunc(disp) ((disp)->StencilFunc) -#define SET_StencilFunc(disp, fn) ((disp)->StencilFunc = fn) -#define CALL_StencilOp(disp, parameters) (*((disp)->StencilOp)) parameters -#define GET_StencilOp(disp) ((disp)->StencilOp) -#define SET_StencilOp(disp, fn) ((disp)->StencilOp = fn) -#define CALL_DepthFunc(disp, parameters) (*((disp)->DepthFunc)) parameters -#define GET_DepthFunc(disp) ((disp)->DepthFunc) -#define SET_DepthFunc(disp, fn) ((disp)->DepthFunc = fn) -#define CALL_PixelZoom(disp, parameters) (*((disp)->PixelZoom)) parameters -#define GET_PixelZoom(disp) ((disp)->PixelZoom) -#define SET_PixelZoom(disp, fn) ((disp)->PixelZoom = fn) -#define CALL_PixelTransferf(disp, parameters) (*((disp)->PixelTransferf)) parameters -#define GET_PixelTransferf(disp) ((disp)->PixelTransferf) -#define SET_PixelTransferf(disp, fn) ((disp)->PixelTransferf = fn) -#define CALL_PixelTransferi(disp, parameters) (*((disp)->PixelTransferi)) parameters -#define GET_PixelTransferi(disp) ((disp)->PixelTransferi) -#define SET_PixelTransferi(disp, fn) ((disp)->PixelTransferi = fn) -#define CALL_PixelStoref(disp, parameters) (*((disp)->PixelStoref)) parameters -#define GET_PixelStoref(disp) ((disp)->PixelStoref) -#define SET_PixelStoref(disp, fn) ((disp)->PixelStoref = fn) -#define CALL_PixelStorei(disp, parameters) (*((disp)->PixelStorei)) parameters -#define GET_PixelStorei(disp) ((disp)->PixelStorei) -#define SET_PixelStorei(disp, fn) ((disp)->PixelStorei = fn) -#define CALL_PixelMapfv(disp, parameters) (*((disp)->PixelMapfv)) parameters -#define GET_PixelMapfv(disp) ((disp)->PixelMapfv) -#define SET_PixelMapfv(disp, fn) ((disp)->PixelMapfv = fn) -#define CALL_PixelMapuiv(disp, parameters) (*((disp)->PixelMapuiv)) parameters -#define GET_PixelMapuiv(disp) ((disp)->PixelMapuiv) -#define SET_PixelMapuiv(disp, fn) ((disp)->PixelMapuiv = fn) -#define CALL_PixelMapusv(disp, parameters) (*((disp)->PixelMapusv)) parameters -#define GET_PixelMapusv(disp) ((disp)->PixelMapusv) -#define SET_PixelMapusv(disp, fn) ((disp)->PixelMapusv = fn) -#define CALL_ReadBuffer(disp, parameters) (*((disp)->ReadBuffer)) parameters -#define GET_ReadBuffer(disp) ((disp)->ReadBuffer) -#define SET_ReadBuffer(disp, fn) ((disp)->ReadBuffer = fn) -#define CALL_CopyPixels(disp, parameters) (*((disp)->CopyPixels)) parameters -#define GET_CopyPixels(disp) ((disp)->CopyPixels) -#define SET_CopyPixels(disp, fn) ((disp)->CopyPixels = fn) -#define CALL_ReadPixels(disp, parameters) (*((disp)->ReadPixels)) parameters -#define GET_ReadPixels(disp) ((disp)->ReadPixels) -#define SET_ReadPixels(disp, fn) ((disp)->ReadPixels = fn) -#define CALL_DrawPixels(disp, parameters) (*((disp)->DrawPixels)) parameters -#define GET_DrawPixels(disp) ((disp)->DrawPixels) -#define SET_DrawPixels(disp, fn) ((disp)->DrawPixels = fn) -#define CALL_GetBooleanv(disp, parameters) (*((disp)->GetBooleanv)) parameters -#define GET_GetBooleanv(disp) ((disp)->GetBooleanv) -#define SET_GetBooleanv(disp, fn) ((disp)->GetBooleanv = fn) -#define CALL_GetClipPlane(disp, parameters) (*((disp)->GetClipPlane)) parameters -#define GET_GetClipPlane(disp) ((disp)->GetClipPlane) -#define SET_GetClipPlane(disp, fn) ((disp)->GetClipPlane = fn) -#define CALL_GetDoublev(disp, parameters) (*((disp)->GetDoublev)) parameters -#define GET_GetDoublev(disp) ((disp)->GetDoublev) -#define SET_GetDoublev(disp, fn) ((disp)->GetDoublev = fn) -#define CALL_GetError(disp, parameters) (*((disp)->GetError)) parameters -#define GET_GetError(disp) ((disp)->GetError) -#define SET_GetError(disp, fn) ((disp)->GetError = fn) -#define CALL_GetFloatv(disp, parameters) (*((disp)->GetFloatv)) parameters -#define GET_GetFloatv(disp) ((disp)->GetFloatv) -#define SET_GetFloatv(disp, fn) ((disp)->GetFloatv = fn) -#define CALL_GetIntegerv(disp, parameters) (*((disp)->GetIntegerv)) parameters -#define GET_GetIntegerv(disp) ((disp)->GetIntegerv) -#define SET_GetIntegerv(disp, fn) ((disp)->GetIntegerv = fn) -#define CALL_GetLightfv(disp, parameters) (*((disp)->GetLightfv)) parameters -#define GET_GetLightfv(disp) ((disp)->GetLightfv) -#define SET_GetLightfv(disp, fn) ((disp)->GetLightfv = fn) -#define CALL_GetLightiv(disp, parameters) (*((disp)->GetLightiv)) parameters -#define GET_GetLightiv(disp) ((disp)->GetLightiv) -#define SET_GetLightiv(disp, fn) ((disp)->GetLightiv = fn) -#define CALL_GetMapdv(disp, parameters) (*((disp)->GetMapdv)) parameters -#define GET_GetMapdv(disp) ((disp)->GetMapdv) -#define SET_GetMapdv(disp, fn) ((disp)->GetMapdv = fn) -#define CALL_GetMapfv(disp, parameters) (*((disp)->GetMapfv)) parameters -#define GET_GetMapfv(disp) ((disp)->GetMapfv) -#define SET_GetMapfv(disp, fn) ((disp)->GetMapfv = fn) -#define CALL_GetMapiv(disp, parameters) (*((disp)->GetMapiv)) parameters -#define GET_GetMapiv(disp) ((disp)->GetMapiv) -#define SET_GetMapiv(disp, fn) ((disp)->GetMapiv = fn) -#define CALL_GetMaterialfv(disp, parameters) (*((disp)->GetMaterialfv)) parameters -#define GET_GetMaterialfv(disp) ((disp)->GetMaterialfv) -#define SET_GetMaterialfv(disp, fn) ((disp)->GetMaterialfv = fn) -#define CALL_GetMaterialiv(disp, parameters) (*((disp)->GetMaterialiv)) parameters -#define GET_GetMaterialiv(disp) ((disp)->GetMaterialiv) -#define SET_GetMaterialiv(disp, fn) ((disp)->GetMaterialiv = fn) -#define CALL_GetPixelMapfv(disp, parameters) (*((disp)->GetPixelMapfv)) parameters -#define GET_GetPixelMapfv(disp) ((disp)->GetPixelMapfv) -#define SET_GetPixelMapfv(disp, fn) ((disp)->GetPixelMapfv = fn) -#define CALL_GetPixelMapuiv(disp, parameters) (*((disp)->GetPixelMapuiv)) parameters -#define GET_GetPixelMapuiv(disp) ((disp)->GetPixelMapuiv) -#define SET_GetPixelMapuiv(disp, fn) ((disp)->GetPixelMapuiv = fn) -#define CALL_GetPixelMapusv(disp, parameters) (*((disp)->GetPixelMapusv)) parameters -#define GET_GetPixelMapusv(disp) ((disp)->GetPixelMapusv) -#define SET_GetPixelMapusv(disp, fn) ((disp)->GetPixelMapusv = fn) -#define CALL_GetPolygonStipple(disp, parameters) (*((disp)->GetPolygonStipple)) parameters -#define GET_GetPolygonStipple(disp) ((disp)->GetPolygonStipple) -#define SET_GetPolygonStipple(disp, fn) ((disp)->GetPolygonStipple = fn) -#define CALL_GetString(disp, parameters) (*((disp)->GetString)) parameters -#define GET_GetString(disp) ((disp)->GetString) -#define SET_GetString(disp, fn) ((disp)->GetString = fn) -#define CALL_GetTexEnvfv(disp, parameters) (*((disp)->GetTexEnvfv)) parameters -#define GET_GetTexEnvfv(disp) ((disp)->GetTexEnvfv) -#define SET_GetTexEnvfv(disp, fn) ((disp)->GetTexEnvfv = fn) -#define CALL_GetTexEnviv(disp, parameters) (*((disp)->GetTexEnviv)) parameters -#define GET_GetTexEnviv(disp) ((disp)->GetTexEnviv) -#define SET_GetTexEnviv(disp, fn) ((disp)->GetTexEnviv = fn) -#define CALL_GetTexGendv(disp, parameters) (*((disp)->GetTexGendv)) parameters -#define GET_GetTexGendv(disp) ((disp)->GetTexGendv) -#define SET_GetTexGendv(disp, fn) ((disp)->GetTexGendv = fn) -#define CALL_GetTexGenfv(disp, parameters) (*((disp)->GetTexGenfv)) parameters -#define GET_GetTexGenfv(disp) ((disp)->GetTexGenfv) -#define SET_GetTexGenfv(disp, fn) ((disp)->GetTexGenfv = fn) -#define CALL_GetTexGeniv(disp, parameters) (*((disp)->GetTexGeniv)) parameters -#define GET_GetTexGeniv(disp) ((disp)->GetTexGeniv) -#define SET_GetTexGeniv(disp, fn) ((disp)->GetTexGeniv = fn) -#define CALL_GetTexImage(disp, parameters) (*((disp)->GetTexImage)) parameters -#define GET_GetTexImage(disp) ((disp)->GetTexImage) -#define SET_GetTexImage(disp, fn) ((disp)->GetTexImage = fn) -#define CALL_GetTexParameterfv(disp, parameters) (*((disp)->GetTexParameterfv)) parameters -#define GET_GetTexParameterfv(disp) ((disp)->GetTexParameterfv) -#define SET_GetTexParameterfv(disp, fn) ((disp)->GetTexParameterfv = fn) -#define CALL_GetTexParameteriv(disp, parameters) (*((disp)->GetTexParameteriv)) parameters -#define GET_GetTexParameteriv(disp) ((disp)->GetTexParameteriv) -#define SET_GetTexParameteriv(disp, fn) ((disp)->GetTexParameteriv = fn) -#define CALL_GetTexLevelParameterfv(disp, parameters) (*((disp)->GetTexLevelParameterfv)) parameters -#define GET_GetTexLevelParameterfv(disp) ((disp)->GetTexLevelParameterfv) -#define SET_GetTexLevelParameterfv(disp, fn) ((disp)->GetTexLevelParameterfv = fn) -#define CALL_GetTexLevelParameteriv(disp, parameters) (*((disp)->GetTexLevelParameteriv)) parameters -#define GET_GetTexLevelParameteriv(disp) ((disp)->GetTexLevelParameteriv) -#define SET_GetTexLevelParameteriv(disp, fn) ((disp)->GetTexLevelParameteriv = fn) -#define CALL_IsEnabled(disp, parameters) (*((disp)->IsEnabled)) parameters -#define GET_IsEnabled(disp) ((disp)->IsEnabled) -#define SET_IsEnabled(disp, fn) ((disp)->IsEnabled = fn) -#define CALL_IsList(disp, parameters) (*((disp)->IsList)) parameters -#define GET_IsList(disp) ((disp)->IsList) -#define SET_IsList(disp, fn) ((disp)->IsList = fn) -#define CALL_DepthRange(disp, parameters) (*((disp)->DepthRange)) parameters -#define GET_DepthRange(disp) ((disp)->DepthRange) -#define SET_DepthRange(disp, fn) ((disp)->DepthRange = fn) -#define CALL_Frustum(disp, parameters) (*((disp)->Frustum)) parameters -#define GET_Frustum(disp) ((disp)->Frustum) -#define SET_Frustum(disp, fn) ((disp)->Frustum = fn) -#define CALL_LoadIdentity(disp, parameters) (*((disp)->LoadIdentity)) parameters -#define GET_LoadIdentity(disp) ((disp)->LoadIdentity) -#define SET_LoadIdentity(disp, fn) ((disp)->LoadIdentity = fn) -#define CALL_LoadMatrixf(disp, parameters) (*((disp)->LoadMatrixf)) parameters -#define GET_LoadMatrixf(disp) ((disp)->LoadMatrixf) -#define SET_LoadMatrixf(disp, fn) ((disp)->LoadMatrixf = fn) -#define CALL_LoadMatrixd(disp, parameters) (*((disp)->LoadMatrixd)) parameters -#define GET_LoadMatrixd(disp) ((disp)->LoadMatrixd) -#define SET_LoadMatrixd(disp, fn) ((disp)->LoadMatrixd = fn) -#define CALL_MatrixMode(disp, parameters) (*((disp)->MatrixMode)) parameters -#define GET_MatrixMode(disp) ((disp)->MatrixMode) -#define SET_MatrixMode(disp, fn) ((disp)->MatrixMode = fn) -#define CALL_MultMatrixf(disp, parameters) (*((disp)->MultMatrixf)) parameters -#define GET_MultMatrixf(disp) ((disp)->MultMatrixf) -#define SET_MultMatrixf(disp, fn) ((disp)->MultMatrixf = fn) -#define CALL_MultMatrixd(disp, parameters) (*((disp)->MultMatrixd)) parameters -#define GET_MultMatrixd(disp) ((disp)->MultMatrixd) -#define SET_MultMatrixd(disp, fn) ((disp)->MultMatrixd = fn) -#define CALL_Ortho(disp, parameters) (*((disp)->Ortho)) parameters -#define GET_Ortho(disp) ((disp)->Ortho) -#define SET_Ortho(disp, fn) ((disp)->Ortho = fn) -#define CALL_PopMatrix(disp, parameters) (*((disp)->PopMatrix)) parameters -#define GET_PopMatrix(disp) ((disp)->PopMatrix) -#define SET_PopMatrix(disp, fn) ((disp)->PopMatrix = fn) -#define CALL_PushMatrix(disp, parameters) (*((disp)->PushMatrix)) parameters -#define GET_PushMatrix(disp) ((disp)->PushMatrix) -#define SET_PushMatrix(disp, fn) ((disp)->PushMatrix = fn) -#define CALL_Rotated(disp, parameters) (*((disp)->Rotated)) parameters -#define GET_Rotated(disp) ((disp)->Rotated) -#define SET_Rotated(disp, fn) ((disp)->Rotated = fn) -#define CALL_Rotatef(disp, parameters) (*((disp)->Rotatef)) parameters -#define GET_Rotatef(disp) ((disp)->Rotatef) -#define SET_Rotatef(disp, fn) ((disp)->Rotatef = fn) -#define CALL_Scaled(disp, parameters) (*((disp)->Scaled)) parameters -#define GET_Scaled(disp) ((disp)->Scaled) -#define SET_Scaled(disp, fn) ((disp)->Scaled = fn) -#define CALL_Scalef(disp, parameters) (*((disp)->Scalef)) parameters -#define GET_Scalef(disp) ((disp)->Scalef) -#define SET_Scalef(disp, fn) ((disp)->Scalef = fn) -#define CALL_Translated(disp, parameters) (*((disp)->Translated)) parameters -#define GET_Translated(disp) ((disp)->Translated) -#define SET_Translated(disp, fn) ((disp)->Translated = fn) -#define CALL_Translatef(disp, parameters) (*((disp)->Translatef)) parameters -#define GET_Translatef(disp) ((disp)->Translatef) -#define SET_Translatef(disp, fn) ((disp)->Translatef = fn) -#define CALL_Viewport(disp, parameters) (*((disp)->Viewport)) parameters -#define GET_Viewport(disp) ((disp)->Viewport) -#define SET_Viewport(disp, fn) ((disp)->Viewport = fn) -#define CALL_ArrayElement(disp, parameters) (*((disp)->ArrayElement)) parameters -#define GET_ArrayElement(disp) ((disp)->ArrayElement) -#define SET_ArrayElement(disp, fn) ((disp)->ArrayElement = fn) -#define CALL_BindTexture(disp, parameters) (*((disp)->BindTexture)) parameters -#define GET_BindTexture(disp) ((disp)->BindTexture) -#define SET_BindTexture(disp, fn) ((disp)->BindTexture = fn) -#define CALL_ColorPointer(disp, parameters) (*((disp)->ColorPointer)) parameters -#define GET_ColorPointer(disp) ((disp)->ColorPointer) -#define SET_ColorPointer(disp, fn) ((disp)->ColorPointer = fn) -#define CALL_DisableClientState(disp, parameters) (*((disp)->DisableClientState)) parameters -#define GET_DisableClientState(disp) ((disp)->DisableClientState) -#define SET_DisableClientState(disp, fn) ((disp)->DisableClientState = fn) -#define CALL_DrawArrays(disp, parameters) (*((disp)->DrawArrays)) parameters -#define GET_DrawArrays(disp) ((disp)->DrawArrays) -#define SET_DrawArrays(disp, fn) ((disp)->DrawArrays = fn) -#define CALL_DrawElements(disp, parameters) (*((disp)->DrawElements)) parameters -#define GET_DrawElements(disp) ((disp)->DrawElements) -#define SET_DrawElements(disp, fn) ((disp)->DrawElements = fn) -#define CALL_EdgeFlagPointer(disp, parameters) (*((disp)->EdgeFlagPointer)) parameters -#define GET_EdgeFlagPointer(disp) ((disp)->EdgeFlagPointer) -#define SET_EdgeFlagPointer(disp, fn) ((disp)->EdgeFlagPointer = fn) -#define CALL_EnableClientState(disp, parameters) (*((disp)->EnableClientState)) parameters -#define GET_EnableClientState(disp) ((disp)->EnableClientState) -#define SET_EnableClientState(disp, fn) ((disp)->EnableClientState = fn) -#define CALL_IndexPointer(disp, parameters) (*((disp)->IndexPointer)) parameters -#define GET_IndexPointer(disp) ((disp)->IndexPointer) -#define SET_IndexPointer(disp, fn) ((disp)->IndexPointer = fn) -#define CALL_Indexub(disp, parameters) (*((disp)->Indexub)) parameters -#define GET_Indexub(disp) ((disp)->Indexub) -#define SET_Indexub(disp, fn) ((disp)->Indexub = fn) -#define CALL_Indexubv(disp, parameters) (*((disp)->Indexubv)) parameters -#define GET_Indexubv(disp) ((disp)->Indexubv) -#define SET_Indexubv(disp, fn) ((disp)->Indexubv = fn) -#define CALL_InterleavedArrays(disp, parameters) (*((disp)->InterleavedArrays)) parameters -#define GET_InterleavedArrays(disp) ((disp)->InterleavedArrays) -#define SET_InterleavedArrays(disp, fn) ((disp)->InterleavedArrays = fn) -#define CALL_NormalPointer(disp, parameters) (*((disp)->NormalPointer)) parameters -#define GET_NormalPointer(disp) ((disp)->NormalPointer) -#define SET_NormalPointer(disp, fn) ((disp)->NormalPointer = fn) -#define CALL_PolygonOffset(disp, parameters) (*((disp)->PolygonOffset)) parameters -#define GET_PolygonOffset(disp) ((disp)->PolygonOffset) -#define SET_PolygonOffset(disp, fn) ((disp)->PolygonOffset = fn) -#define CALL_TexCoordPointer(disp, parameters) (*((disp)->TexCoordPointer)) parameters -#define GET_TexCoordPointer(disp) ((disp)->TexCoordPointer) -#define SET_TexCoordPointer(disp, fn) ((disp)->TexCoordPointer = fn) -#define CALL_VertexPointer(disp, parameters) (*((disp)->VertexPointer)) parameters -#define GET_VertexPointer(disp) ((disp)->VertexPointer) -#define SET_VertexPointer(disp, fn) ((disp)->VertexPointer = fn) -#define CALL_AreTexturesResident(disp, parameters) (*((disp)->AreTexturesResident)) parameters -#define GET_AreTexturesResident(disp) ((disp)->AreTexturesResident) -#define SET_AreTexturesResident(disp, fn) ((disp)->AreTexturesResident = fn) -#define CALL_CopyTexImage1D(disp, parameters) (*((disp)->CopyTexImage1D)) parameters -#define GET_CopyTexImage1D(disp) ((disp)->CopyTexImage1D) -#define SET_CopyTexImage1D(disp, fn) ((disp)->CopyTexImage1D = fn) -#define CALL_CopyTexImage2D(disp, parameters) (*((disp)->CopyTexImage2D)) parameters -#define GET_CopyTexImage2D(disp) ((disp)->CopyTexImage2D) -#define SET_CopyTexImage2D(disp, fn) ((disp)->CopyTexImage2D = fn) -#define CALL_CopyTexSubImage1D(disp, parameters) (*((disp)->CopyTexSubImage1D)) parameters -#define GET_CopyTexSubImage1D(disp) ((disp)->CopyTexSubImage1D) -#define SET_CopyTexSubImage1D(disp, fn) ((disp)->CopyTexSubImage1D = fn) -#define CALL_CopyTexSubImage2D(disp, parameters) (*((disp)->CopyTexSubImage2D)) parameters -#define GET_CopyTexSubImage2D(disp) ((disp)->CopyTexSubImage2D) -#define SET_CopyTexSubImage2D(disp, fn) ((disp)->CopyTexSubImage2D = fn) -#define CALL_DeleteTextures(disp, parameters) (*((disp)->DeleteTextures)) parameters -#define GET_DeleteTextures(disp) ((disp)->DeleteTextures) -#define SET_DeleteTextures(disp, fn) ((disp)->DeleteTextures = fn) -#define CALL_GenTextures(disp, parameters) (*((disp)->GenTextures)) parameters -#define GET_GenTextures(disp) ((disp)->GenTextures) -#define SET_GenTextures(disp, fn) ((disp)->GenTextures = fn) -#define CALL_GetPointerv(disp, parameters) (*((disp)->GetPointerv)) parameters -#define GET_GetPointerv(disp) ((disp)->GetPointerv) -#define SET_GetPointerv(disp, fn) ((disp)->GetPointerv = fn) -#define CALL_IsTexture(disp, parameters) (*((disp)->IsTexture)) parameters -#define GET_IsTexture(disp) ((disp)->IsTexture) -#define SET_IsTexture(disp, fn) ((disp)->IsTexture = fn) -#define CALL_PrioritizeTextures(disp, parameters) (*((disp)->PrioritizeTextures)) parameters -#define GET_PrioritizeTextures(disp) ((disp)->PrioritizeTextures) -#define SET_PrioritizeTextures(disp, fn) ((disp)->PrioritizeTextures = fn) -#define CALL_TexSubImage1D(disp, parameters) (*((disp)->TexSubImage1D)) parameters -#define GET_TexSubImage1D(disp) ((disp)->TexSubImage1D) -#define SET_TexSubImage1D(disp, fn) ((disp)->TexSubImage1D = fn) -#define CALL_TexSubImage2D(disp, parameters) (*((disp)->TexSubImage2D)) parameters -#define GET_TexSubImage2D(disp) ((disp)->TexSubImage2D) -#define SET_TexSubImage2D(disp, fn) ((disp)->TexSubImage2D = fn) -#define CALL_PopClientAttrib(disp, parameters) (*((disp)->PopClientAttrib)) parameters -#define GET_PopClientAttrib(disp) ((disp)->PopClientAttrib) -#define SET_PopClientAttrib(disp, fn) ((disp)->PopClientAttrib = fn) -#define CALL_PushClientAttrib(disp, parameters) (*((disp)->PushClientAttrib)) parameters -#define GET_PushClientAttrib(disp) ((disp)->PushClientAttrib) -#define SET_PushClientAttrib(disp, fn) ((disp)->PushClientAttrib = fn) -#define CALL_BlendColor(disp, parameters) (*((disp)->BlendColor)) parameters -#define GET_BlendColor(disp) ((disp)->BlendColor) -#define SET_BlendColor(disp, fn) ((disp)->BlendColor = fn) -#define CALL_BlendEquation(disp, parameters) (*((disp)->BlendEquation)) parameters -#define GET_BlendEquation(disp) ((disp)->BlendEquation) -#define SET_BlendEquation(disp, fn) ((disp)->BlendEquation = fn) -#define CALL_DrawRangeElements(disp, parameters) (*((disp)->DrawRangeElements)) parameters -#define GET_DrawRangeElements(disp) ((disp)->DrawRangeElements) -#define SET_DrawRangeElements(disp, fn) ((disp)->DrawRangeElements = fn) -#define CALL_ColorTable(disp, parameters) (*((disp)->ColorTable)) parameters -#define GET_ColorTable(disp) ((disp)->ColorTable) -#define SET_ColorTable(disp, fn) ((disp)->ColorTable = fn) -#define CALL_ColorTableParameterfv(disp, parameters) (*((disp)->ColorTableParameterfv)) parameters -#define GET_ColorTableParameterfv(disp) ((disp)->ColorTableParameterfv) -#define SET_ColorTableParameterfv(disp, fn) ((disp)->ColorTableParameterfv = fn) -#define CALL_ColorTableParameteriv(disp, parameters) (*((disp)->ColorTableParameteriv)) parameters -#define GET_ColorTableParameteriv(disp) ((disp)->ColorTableParameteriv) -#define SET_ColorTableParameteriv(disp, fn) ((disp)->ColorTableParameteriv = fn) -#define CALL_CopyColorTable(disp, parameters) (*((disp)->CopyColorTable)) parameters -#define GET_CopyColorTable(disp) ((disp)->CopyColorTable) -#define SET_CopyColorTable(disp, fn) ((disp)->CopyColorTable = fn) -#define CALL_GetColorTable(disp, parameters) (*((disp)->GetColorTable)) parameters -#define GET_GetColorTable(disp) ((disp)->GetColorTable) -#define SET_GetColorTable(disp, fn) ((disp)->GetColorTable = fn) -#define CALL_GetColorTableParameterfv(disp, parameters) (*((disp)->GetColorTableParameterfv)) parameters -#define GET_GetColorTableParameterfv(disp) ((disp)->GetColorTableParameterfv) -#define SET_GetColorTableParameterfv(disp, fn) ((disp)->GetColorTableParameterfv = fn) -#define CALL_GetColorTableParameteriv(disp, parameters) (*((disp)->GetColorTableParameteriv)) parameters -#define GET_GetColorTableParameteriv(disp) ((disp)->GetColorTableParameteriv) -#define SET_GetColorTableParameteriv(disp, fn) ((disp)->GetColorTableParameteriv = fn) -#define CALL_ColorSubTable(disp, parameters) (*((disp)->ColorSubTable)) parameters -#define GET_ColorSubTable(disp) ((disp)->ColorSubTable) -#define SET_ColorSubTable(disp, fn) ((disp)->ColorSubTable = fn) -#define CALL_CopyColorSubTable(disp, parameters) (*((disp)->CopyColorSubTable)) parameters -#define GET_CopyColorSubTable(disp) ((disp)->CopyColorSubTable) -#define SET_CopyColorSubTable(disp, fn) ((disp)->CopyColorSubTable = fn) -#define CALL_ConvolutionFilter1D(disp, parameters) (*((disp)->ConvolutionFilter1D)) parameters -#define GET_ConvolutionFilter1D(disp) ((disp)->ConvolutionFilter1D) -#define SET_ConvolutionFilter1D(disp, fn) ((disp)->ConvolutionFilter1D = fn) -#define CALL_ConvolutionFilter2D(disp, parameters) (*((disp)->ConvolutionFilter2D)) parameters -#define GET_ConvolutionFilter2D(disp) ((disp)->ConvolutionFilter2D) -#define SET_ConvolutionFilter2D(disp, fn) ((disp)->ConvolutionFilter2D = fn) -#define CALL_ConvolutionParameterf(disp, parameters) (*((disp)->ConvolutionParameterf)) parameters -#define GET_ConvolutionParameterf(disp) ((disp)->ConvolutionParameterf) -#define SET_ConvolutionParameterf(disp, fn) ((disp)->ConvolutionParameterf = fn) -#define CALL_ConvolutionParameterfv(disp, parameters) (*((disp)->ConvolutionParameterfv)) parameters -#define GET_ConvolutionParameterfv(disp) ((disp)->ConvolutionParameterfv) -#define SET_ConvolutionParameterfv(disp, fn) ((disp)->ConvolutionParameterfv = fn) -#define CALL_ConvolutionParameteri(disp, parameters) (*((disp)->ConvolutionParameteri)) parameters -#define GET_ConvolutionParameteri(disp) ((disp)->ConvolutionParameteri) -#define SET_ConvolutionParameteri(disp, fn) ((disp)->ConvolutionParameteri = fn) -#define CALL_ConvolutionParameteriv(disp, parameters) (*((disp)->ConvolutionParameteriv)) parameters -#define GET_ConvolutionParameteriv(disp) ((disp)->ConvolutionParameteriv) -#define SET_ConvolutionParameteriv(disp, fn) ((disp)->ConvolutionParameteriv = fn) -#define CALL_CopyConvolutionFilter1D(disp, parameters) (*((disp)->CopyConvolutionFilter1D)) parameters -#define GET_CopyConvolutionFilter1D(disp) ((disp)->CopyConvolutionFilter1D) -#define SET_CopyConvolutionFilter1D(disp, fn) ((disp)->CopyConvolutionFilter1D = fn) -#define CALL_CopyConvolutionFilter2D(disp, parameters) (*((disp)->CopyConvolutionFilter2D)) parameters -#define GET_CopyConvolutionFilter2D(disp) ((disp)->CopyConvolutionFilter2D) -#define SET_CopyConvolutionFilter2D(disp, fn) ((disp)->CopyConvolutionFilter2D = fn) -#define CALL_GetConvolutionFilter(disp, parameters) (*((disp)->GetConvolutionFilter)) parameters -#define GET_GetConvolutionFilter(disp) ((disp)->GetConvolutionFilter) -#define SET_GetConvolutionFilter(disp, fn) ((disp)->GetConvolutionFilter = fn) -#define CALL_GetConvolutionParameterfv(disp, parameters) (*((disp)->GetConvolutionParameterfv)) parameters -#define GET_GetConvolutionParameterfv(disp) ((disp)->GetConvolutionParameterfv) -#define SET_GetConvolutionParameterfv(disp, fn) ((disp)->GetConvolutionParameterfv = fn) -#define CALL_GetConvolutionParameteriv(disp, parameters) (*((disp)->GetConvolutionParameteriv)) parameters -#define GET_GetConvolutionParameteriv(disp) ((disp)->GetConvolutionParameteriv) -#define SET_GetConvolutionParameteriv(disp, fn) ((disp)->GetConvolutionParameteriv = fn) -#define CALL_GetSeparableFilter(disp, parameters) (*((disp)->GetSeparableFilter)) parameters -#define GET_GetSeparableFilter(disp) ((disp)->GetSeparableFilter) -#define SET_GetSeparableFilter(disp, fn) ((disp)->GetSeparableFilter = fn) -#define CALL_SeparableFilter2D(disp, parameters) (*((disp)->SeparableFilter2D)) parameters -#define GET_SeparableFilter2D(disp) ((disp)->SeparableFilter2D) -#define SET_SeparableFilter2D(disp, fn) ((disp)->SeparableFilter2D = fn) -#define CALL_GetHistogram(disp, parameters) (*((disp)->GetHistogram)) parameters -#define GET_GetHistogram(disp) ((disp)->GetHistogram) -#define SET_GetHistogram(disp, fn) ((disp)->GetHistogram = fn) -#define CALL_GetHistogramParameterfv(disp, parameters) (*((disp)->GetHistogramParameterfv)) parameters -#define GET_GetHistogramParameterfv(disp) ((disp)->GetHistogramParameterfv) -#define SET_GetHistogramParameterfv(disp, fn) ((disp)->GetHistogramParameterfv = fn) -#define CALL_GetHistogramParameteriv(disp, parameters) (*((disp)->GetHistogramParameteriv)) parameters -#define GET_GetHistogramParameteriv(disp) ((disp)->GetHistogramParameteriv) -#define SET_GetHistogramParameteriv(disp, fn) ((disp)->GetHistogramParameteriv = fn) -#define CALL_GetMinmax(disp, parameters) (*((disp)->GetMinmax)) parameters -#define GET_GetMinmax(disp) ((disp)->GetMinmax) -#define SET_GetMinmax(disp, fn) ((disp)->GetMinmax = fn) -#define CALL_GetMinmaxParameterfv(disp, parameters) (*((disp)->GetMinmaxParameterfv)) parameters -#define GET_GetMinmaxParameterfv(disp) ((disp)->GetMinmaxParameterfv) -#define SET_GetMinmaxParameterfv(disp, fn) ((disp)->GetMinmaxParameterfv = fn) -#define CALL_GetMinmaxParameteriv(disp, parameters) (*((disp)->GetMinmaxParameteriv)) parameters -#define GET_GetMinmaxParameteriv(disp) ((disp)->GetMinmaxParameteriv) -#define SET_GetMinmaxParameteriv(disp, fn) ((disp)->GetMinmaxParameteriv = fn) -#define CALL_Histogram(disp, parameters) (*((disp)->Histogram)) parameters -#define GET_Histogram(disp) ((disp)->Histogram) -#define SET_Histogram(disp, fn) ((disp)->Histogram = fn) -#define CALL_Minmax(disp, parameters) (*((disp)->Minmax)) parameters -#define GET_Minmax(disp) ((disp)->Minmax) -#define SET_Minmax(disp, fn) ((disp)->Minmax = fn) -#define CALL_ResetHistogram(disp, parameters) (*((disp)->ResetHistogram)) parameters -#define GET_ResetHistogram(disp) ((disp)->ResetHistogram) -#define SET_ResetHistogram(disp, fn) ((disp)->ResetHistogram = fn) -#define CALL_ResetMinmax(disp, parameters) (*((disp)->ResetMinmax)) parameters -#define GET_ResetMinmax(disp) ((disp)->ResetMinmax) -#define SET_ResetMinmax(disp, fn) ((disp)->ResetMinmax = fn) -#define CALL_TexImage3D(disp, parameters) (*((disp)->TexImage3D)) parameters -#define GET_TexImage3D(disp) ((disp)->TexImage3D) -#define SET_TexImage3D(disp, fn) ((disp)->TexImage3D = fn) -#define CALL_TexSubImage3D(disp, parameters) (*((disp)->TexSubImage3D)) parameters -#define GET_TexSubImage3D(disp) ((disp)->TexSubImage3D) -#define SET_TexSubImage3D(disp, fn) ((disp)->TexSubImage3D = fn) -#define CALL_CopyTexSubImage3D(disp, parameters) (*((disp)->CopyTexSubImage3D)) parameters -#define GET_CopyTexSubImage3D(disp) ((disp)->CopyTexSubImage3D) -#define SET_CopyTexSubImage3D(disp, fn) ((disp)->CopyTexSubImage3D = fn) -#define CALL_ActiveTextureARB(disp, parameters) (*((disp)->ActiveTextureARB)) parameters -#define GET_ActiveTextureARB(disp) ((disp)->ActiveTextureARB) -#define SET_ActiveTextureARB(disp, fn) ((disp)->ActiveTextureARB = fn) -#define CALL_ClientActiveTextureARB(disp, parameters) (*((disp)->ClientActiveTextureARB)) parameters -#define GET_ClientActiveTextureARB(disp) ((disp)->ClientActiveTextureARB) -#define SET_ClientActiveTextureARB(disp, fn) ((disp)->ClientActiveTextureARB = fn) -#define CALL_MultiTexCoord1dARB(disp, parameters) (*((disp)->MultiTexCoord1dARB)) parameters -#define GET_MultiTexCoord1dARB(disp) ((disp)->MultiTexCoord1dARB) -#define SET_MultiTexCoord1dARB(disp, fn) ((disp)->MultiTexCoord1dARB = fn) -#define CALL_MultiTexCoord1dvARB(disp, parameters) (*((disp)->MultiTexCoord1dvARB)) parameters -#define GET_MultiTexCoord1dvARB(disp) ((disp)->MultiTexCoord1dvARB) -#define SET_MultiTexCoord1dvARB(disp, fn) ((disp)->MultiTexCoord1dvARB = fn) -#define CALL_MultiTexCoord1fARB(disp, parameters) (*((disp)->MultiTexCoord1fARB)) parameters -#define GET_MultiTexCoord1fARB(disp) ((disp)->MultiTexCoord1fARB) -#define SET_MultiTexCoord1fARB(disp, fn) ((disp)->MultiTexCoord1fARB = fn) -#define CALL_MultiTexCoord1fvARB(disp, parameters) (*((disp)->MultiTexCoord1fvARB)) parameters -#define GET_MultiTexCoord1fvARB(disp) ((disp)->MultiTexCoord1fvARB) -#define SET_MultiTexCoord1fvARB(disp, fn) ((disp)->MultiTexCoord1fvARB = fn) -#define CALL_MultiTexCoord1iARB(disp, parameters) (*((disp)->MultiTexCoord1iARB)) parameters -#define GET_MultiTexCoord1iARB(disp) ((disp)->MultiTexCoord1iARB) -#define SET_MultiTexCoord1iARB(disp, fn) ((disp)->MultiTexCoord1iARB = fn) -#define CALL_MultiTexCoord1ivARB(disp, parameters) (*((disp)->MultiTexCoord1ivARB)) parameters -#define GET_MultiTexCoord1ivARB(disp) ((disp)->MultiTexCoord1ivARB) -#define SET_MultiTexCoord1ivARB(disp, fn) ((disp)->MultiTexCoord1ivARB = fn) -#define CALL_MultiTexCoord1sARB(disp, parameters) (*((disp)->MultiTexCoord1sARB)) parameters -#define GET_MultiTexCoord1sARB(disp) ((disp)->MultiTexCoord1sARB) -#define SET_MultiTexCoord1sARB(disp, fn) ((disp)->MultiTexCoord1sARB = fn) -#define CALL_MultiTexCoord1svARB(disp, parameters) (*((disp)->MultiTexCoord1svARB)) parameters -#define GET_MultiTexCoord1svARB(disp) ((disp)->MultiTexCoord1svARB) -#define SET_MultiTexCoord1svARB(disp, fn) ((disp)->MultiTexCoord1svARB = fn) -#define CALL_MultiTexCoord2dARB(disp, parameters) (*((disp)->MultiTexCoord2dARB)) parameters -#define GET_MultiTexCoord2dARB(disp) ((disp)->MultiTexCoord2dARB) -#define SET_MultiTexCoord2dARB(disp, fn) ((disp)->MultiTexCoord2dARB = fn) -#define CALL_MultiTexCoord2dvARB(disp, parameters) (*((disp)->MultiTexCoord2dvARB)) parameters -#define GET_MultiTexCoord2dvARB(disp) ((disp)->MultiTexCoord2dvARB) -#define SET_MultiTexCoord2dvARB(disp, fn) ((disp)->MultiTexCoord2dvARB = fn) -#define CALL_MultiTexCoord2fARB(disp, parameters) (*((disp)->MultiTexCoord2fARB)) parameters -#define GET_MultiTexCoord2fARB(disp) ((disp)->MultiTexCoord2fARB) -#define SET_MultiTexCoord2fARB(disp, fn) ((disp)->MultiTexCoord2fARB = fn) -#define CALL_MultiTexCoord2fvARB(disp, parameters) (*((disp)->MultiTexCoord2fvARB)) parameters -#define GET_MultiTexCoord2fvARB(disp) ((disp)->MultiTexCoord2fvARB) -#define SET_MultiTexCoord2fvARB(disp, fn) ((disp)->MultiTexCoord2fvARB = fn) -#define CALL_MultiTexCoord2iARB(disp, parameters) (*((disp)->MultiTexCoord2iARB)) parameters -#define GET_MultiTexCoord2iARB(disp) ((disp)->MultiTexCoord2iARB) -#define SET_MultiTexCoord2iARB(disp, fn) ((disp)->MultiTexCoord2iARB = fn) -#define CALL_MultiTexCoord2ivARB(disp, parameters) (*((disp)->MultiTexCoord2ivARB)) parameters -#define GET_MultiTexCoord2ivARB(disp) ((disp)->MultiTexCoord2ivARB) -#define SET_MultiTexCoord2ivARB(disp, fn) ((disp)->MultiTexCoord2ivARB = fn) -#define CALL_MultiTexCoord2sARB(disp, parameters) (*((disp)->MultiTexCoord2sARB)) parameters -#define GET_MultiTexCoord2sARB(disp) ((disp)->MultiTexCoord2sARB) -#define SET_MultiTexCoord2sARB(disp, fn) ((disp)->MultiTexCoord2sARB = fn) -#define CALL_MultiTexCoord2svARB(disp, parameters) (*((disp)->MultiTexCoord2svARB)) parameters -#define GET_MultiTexCoord2svARB(disp) ((disp)->MultiTexCoord2svARB) -#define SET_MultiTexCoord2svARB(disp, fn) ((disp)->MultiTexCoord2svARB = fn) -#define CALL_MultiTexCoord3dARB(disp, parameters) (*((disp)->MultiTexCoord3dARB)) parameters -#define GET_MultiTexCoord3dARB(disp) ((disp)->MultiTexCoord3dARB) -#define SET_MultiTexCoord3dARB(disp, fn) ((disp)->MultiTexCoord3dARB = fn) -#define CALL_MultiTexCoord3dvARB(disp, parameters) (*((disp)->MultiTexCoord3dvARB)) parameters -#define GET_MultiTexCoord3dvARB(disp) ((disp)->MultiTexCoord3dvARB) -#define SET_MultiTexCoord3dvARB(disp, fn) ((disp)->MultiTexCoord3dvARB = fn) -#define CALL_MultiTexCoord3fARB(disp, parameters) (*((disp)->MultiTexCoord3fARB)) parameters -#define GET_MultiTexCoord3fARB(disp) ((disp)->MultiTexCoord3fARB) -#define SET_MultiTexCoord3fARB(disp, fn) ((disp)->MultiTexCoord3fARB = fn) -#define CALL_MultiTexCoord3fvARB(disp, parameters) (*((disp)->MultiTexCoord3fvARB)) parameters -#define GET_MultiTexCoord3fvARB(disp) ((disp)->MultiTexCoord3fvARB) -#define SET_MultiTexCoord3fvARB(disp, fn) ((disp)->MultiTexCoord3fvARB = fn) -#define CALL_MultiTexCoord3iARB(disp, parameters) (*((disp)->MultiTexCoord3iARB)) parameters -#define GET_MultiTexCoord3iARB(disp) ((disp)->MultiTexCoord3iARB) -#define SET_MultiTexCoord3iARB(disp, fn) ((disp)->MultiTexCoord3iARB = fn) -#define CALL_MultiTexCoord3ivARB(disp, parameters) (*((disp)->MultiTexCoord3ivARB)) parameters -#define GET_MultiTexCoord3ivARB(disp) ((disp)->MultiTexCoord3ivARB) -#define SET_MultiTexCoord3ivARB(disp, fn) ((disp)->MultiTexCoord3ivARB = fn) -#define CALL_MultiTexCoord3sARB(disp, parameters) (*((disp)->MultiTexCoord3sARB)) parameters -#define GET_MultiTexCoord3sARB(disp) ((disp)->MultiTexCoord3sARB) -#define SET_MultiTexCoord3sARB(disp, fn) ((disp)->MultiTexCoord3sARB = fn) -#define CALL_MultiTexCoord3svARB(disp, parameters) (*((disp)->MultiTexCoord3svARB)) parameters -#define GET_MultiTexCoord3svARB(disp) ((disp)->MultiTexCoord3svARB) -#define SET_MultiTexCoord3svARB(disp, fn) ((disp)->MultiTexCoord3svARB = fn) -#define CALL_MultiTexCoord4dARB(disp, parameters) (*((disp)->MultiTexCoord4dARB)) parameters -#define GET_MultiTexCoord4dARB(disp) ((disp)->MultiTexCoord4dARB) -#define SET_MultiTexCoord4dARB(disp, fn) ((disp)->MultiTexCoord4dARB = fn) -#define CALL_MultiTexCoord4dvARB(disp, parameters) (*((disp)->MultiTexCoord4dvARB)) parameters -#define GET_MultiTexCoord4dvARB(disp) ((disp)->MultiTexCoord4dvARB) -#define SET_MultiTexCoord4dvARB(disp, fn) ((disp)->MultiTexCoord4dvARB = fn) -#define CALL_MultiTexCoord4fARB(disp, parameters) (*((disp)->MultiTexCoord4fARB)) parameters -#define GET_MultiTexCoord4fARB(disp) ((disp)->MultiTexCoord4fARB) -#define SET_MultiTexCoord4fARB(disp, fn) ((disp)->MultiTexCoord4fARB = fn) -#define CALL_MultiTexCoord4fvARB(disp, parameters) (*((disp)->MultiTexCoord4fvARB)) parameters -#define GET_MultiTexCoord4fvARB(disp) ((disp)->MultiTexCoord4fvARB) -#define SET_MultiTexCoord4fvARB(disp, fn) ((disp)->MultiTexCoord4fvARB = fn) -#define CALL_MultiTexCoord4iARB(disp, parameters) (*((disp)->MultiTexCoord4iARB)) parameters -#define GET_MultiTexCoord4iARB(disp) ((disp)->MultiTexCoord4iARB) -#define SET_MultiTexCoord4iARB(disp, fn) ((disp)->MultiTexCoord4iARB = fn) -#define CALL_MultiTexCoord4ivARB(disp, parameters) (*((disp)->MultiTexCoord4ivARB)) parameters -#define GET_MultiTexCoord4ivARB(disp) ((disp)->MultiTexCoord4ivARB) -#define SET_MultiTexCoord4ivARB(disp, fn) ((disp)->MultiTexCoord4ivARB = fn) -#define CALL_MultiTexCoord4sARB(disp, parameters) (*((disp)->MultiTexCoord4sARB)) parameters -#define GET_MultiTexCoord4sARB(disp) ((disp)->MultiTexCoord4sARB) -#define SET_MultiTexCoord4sARB(disp, fn) ((disp)->MultiTexCoord4sARB = fn) -#define CALL_MultiTexCoord4svARB(disp, parameters) (*((disp)->MultiTexCoord4svARB)) parameters -#define GET_MultiTexCoord4svARB(disp) ((disp)->MultiTexCoord4svARB) -#define SET_MultiTexCoord4svARB(disp, fn) ((disp)->MultiTexCoord4svARB = fn) - -#if !defined(_GLAPI_USE_REMAP_TABLE) - -#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) -#define CALL_StencilMaskSeparate(disp, parameters) (*((disp)->StencilMaskSeparate)) parameters -#define GET_StencilMaskSeparate(disp) ((disp)->StencilMaskSeparate) -#define SET_StencilMaskSeparate(disp, fn) ((disp)->StencilMaskSeparate = fn) -#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_DrawArraysInstanced(disp, parameters) (*((disp)->DrawArraysInstanced)) parameters -#define GET_DrawArraysInstanced(disp) ((disp)->DrawArraysInstanced) -#define SET_DrawArraysInstanced(disp, fn) ((disp)->DrawArraysInstanced = fn) -#define CALL_DrawElementsInstanced(disp, parameters) (*((disp)->DrawElementsInstanced)) parameters -#define GET_DrawElementsInstanced(disp) ((disp)->DrawElementsInstanced) -#define SET_DrawElementsInstanced(disp, fn) ((disp)->DrawElementsInstanced = fn) -#define CALL_LoadTransposeMatrixdARB(disp, parameters) (*((disp)->LoadTransposeMatrixdARB)) parameters -#define GET_LoadTransposeMatrixdARB(disp) ((disp)->LoadTransposeMatrixdARB) -#define SET_LoadTransposeMatrixdARB(disp, fn) ((disp)->LoadTransposeMatrixdARB = fn) -#define CALL_LoadTransposeMatrixfARB(disp, parameters) (*((disp)->LoadTransposeMatrixfARB)) parameters -#define GET_LoadTransposeMatrixfARB(disp) ((disp)->LoadTransposeMatrixfARB) -#define SET_LoadTransposeMatrixfARB(disp, fn) ((disp)->LoadTransposeMatrixfARB = fn) -#define CALL_MultTransposeMatrixdARB(disp, parameters) (*((disp)->MultTransposeMatrixdARB)) parameters -#define GET_MultTransposeMatrixdARB(disp) ((disp)->MultTransposeMatrixdARB) -#define SET_MultTransposeMatrixdARB(disp, fn) ((disp)->MultTransposeMatrixdARB = fn) -#define CALL_MultTransposeMatrixfARB(disp, parameters) (*((disp)->MultTransposeMatrixfARB)) parameters -#define GET_MultTransposeMatrixfARB(disp) ((disp)->MultTransposeMatrixfARB) -#define SET_MultTransposeMatrixfARB(disp, fn) ((disp)->MultTransposeMatrixfARB = fn) -#define CALL_SampleCoverageARB(disp, parameters) (*((disp)->SampleCoverageARB)) parameters -#define GET_SampleCoverageARB(disp) ((disp)->SampleCoverageARB) -#define SET_SampleCoverageARB(disp, fn) ((disp)->SampleCoverageARB = fn) -#define CALL_CompressedTexImage1DARB(disp, parameters) (*((disp)->CompressedTexImage1DARB)) parameters -#define GET_CompressedTexImage1DARB(disp) ((disp)->CompressedTexImage1DARB) -#define SET_CompressedTexImage1DARB(disp, fn) ((disp)->CompressedTexImage1DARB = fn) -#define CALL_CompressedTexImage2DARB(disp, parameters) (*((disp)->CompressedTexImage2DARB)) parameters -#define GET_CompressedTexImage2DARB(disp) ((disp)->CompressedTexImage2DARB) -#define SET_CompressedTexImage2DARB(disp, fn) ((disp)->CompressedTexImage2DARB = fn) -#define CALL_CompressedTexImage3DARB(disp, parameters) (*((disp)->CompressedTexImage3DARB)) parameters -#define GET_CompressedTexImage3DARB(disp) ((disp)->CompressedTexImage3DARB) -#define SET_CompressedTexImage3DARB(disp, fn) ((disp)->CompressedTexImage3DARB = fn) -#define CALL_CompressedTexSubImage1DARB(disp, parameters) (*((disp)->CompressedTexSubImage1DARB)) parameters -#define GET_CompressedTexSubImage1DARB(disp) ((disp)->CompressedTexSubImage1DARB) -#define SET_CompressedTexSubImage1DARB(disp, fn) ((disp)->CompressedTexSubImage1DARB = fn) -#define CALL_CompressedTexSubImage2DARB(disp, parameters) (*((disp)->CompressedTexSubImage2DARB)) parameters -#define GET_CompressedTexSubImage2DARB(disp) ((disp)->CompressedTexSubImage2DARB) -#define SET_CompressedTexSubImage2DARB(disp, fn) ((disp)->CompressedTexSubImage2DARB = fn) -#define CALL_CompressedTexSubImage3DARB(disp, parameters) (*((disp)->CompressedTexSubImage3DARB)) parameters -#define GET_CompressedTexSubImage3DARB(disp) ((disp)->CompressedTexSubImage3DARB) -#define SET_CompressedTexSubImage3DARB(disp, fn) ((disp)->CompressedTexSubImage3DARB = fn) -#define CALL_GetCompressedTexImageARB(disp, parameters) (*((disp)->GetCompressedTexImageARB)) parameters -#define GET_GetCompressedTexImageARB(disp) ((disp)->GetCompressedTexImageARB) -#define SET_GetCompressedTexImageARB(disp, fn) ((disp)->GetCompressedTexImageARB = fn) -#define CALL_DisableVertexAttribArrayARB(disp, parameters) (*((disp)->DisableVertexAttribArrayARB)) parameters -#define GET_DisableVertexAttribArrayARB(disp) ((disp)->DisableVertexAttribArrayARB) -#define SET_DisableVertexAttribArrayARB(disp, fn) ((disp)->DisableVertexAttribArrayARB = fn) -#define CALL_EnableVertexAttribArrayARB(disp, parameters) (*((disp)->EnableVertexAttribArrayARB)) parameters -#define GET_EnableVertexAttribArrayARB(disp) ((disp)->EnableVertexAttribArrayARB) -#define SET_EnableVertexAttribArrayARB(disp, fn) ((disp)->EnableVertexAttribArrayARB = fn) -#define CALL_GetProgramEnvParameterdvARB(disp, parameters) (*((disp)->GetProgramEnvParameterdvARB)) parameters -#define GET_GetProgramEnvParameterdvARB(disp) ((disp)->GetProgramEnvParameterdvARB) -#define SET_GetProgramEnvParameterdvARB(disp, fn) ((disp)->GetProgramEnvParameterdvARB = fn) -#define CALL_GetProgramEnvParameterfvARB(disp, parameters) (*((disp)->GetProgramEnvParameterfvARB)) parameters -#define GET_GetProgramEnvParameterfvARB(disp) ((disp)->GetProgramEnvParameterfvARB) -#define SET_GetProgramEnvParameterfvARB(disp, fn) ((disp)->GetProgramEnvParameterfvARB = fn) -#define CALL_GetProgramLocalParameterdvARB(disp, parameters) (*((disp)->GetProgramLocalParameterdvARB)) parameters -#define GET_GetProgramLocalParameterdvARB(disp) ((disp)->GetProgramLocalParameterdvARB) -#define SET_GetProgramLocalParameterdvARB(disp, fn) ((disp)->GetProgramLocalParameterdvARB = fn) -#define CALL_GetProgramLocalParameterfvARB(disp, parameters) (*((disp)->GetProgramLocalParameterfvARB)) parameters -#define GET_GetProgramLocalParameterfvARB(disp) ((disp)->GetProgramLocalParameterfvARB) -#define SET_GetProgramLocalParameterfvARB(disp, fn) ((disp)->GetProgramLocalParameterfvARB = fn) -#define CALL_GetProgramStringARB(disp, parameters) (*((disp)->GetProgramStringARB)) parameters -#define GET_GetProgramStringARB(disp) ((disp)->GetProgramStringARB) -#define SET_GetProgramStringARB(disp, fn) ((disp)->GetProgramStringARB = fn) -#define CALL_GetProgramivARB(disp, parameters) (*((disp)->GetProgramivARB)) parameters -#define GET_GetProgramivARB(disp) ((disp)->GetProgramivARB) -#define SET_GetProgramivARB(disp, fn) ((disp)->GetProgramivARB = fn) -#define CALL_GetVertexAttribdvARB(disp, parameters) (*((disp)->GetVertexAttribdvARB)) parameters -#define GET_GetVertexAttribdvARB(disp) ((disp)->GetVertexAttribdvARB) -#define SET_GetVertexAttribdvARB(disp, fn) ((disp)->GetVertexAttribdvARB = fn) -#define CALL_GetVertexAttribfvARB(disp, parameters) (*((disp)->GetVertexAttribfvARB)) parameters -#define GET_GetVertexAttribfvARB(disp) ((disp)->GetVertexAttribfvARB) -#define SET_GetVertexAttribfvARB(disp, fn) ((disp)->GetVertexAttribfvARB = fn) -#define CALL_GetVertexAttribivARB(disp, parameters) (*((disp)->GetVertexAttribivARB)) parameters -#define GET_GetVertexAttribivARB(disp) ((disp)->GetVertexAttribivARB) -#define SET_GetVertexAttribivARB(disp, fn) ((disp)->GetVertexAttribivARB = fn) -#define CALL_ProgramEnvParameter4dARB(disp, parameters) (*((disp)->ProgramEnvParameter4dARB)) parameters -#define GET_ProgramEnvParameter4dARB(disp) ((disp)->ProgramEnvParameter4dARB) -#define SET_ProgramEnvParameter4dARB(disp, fn) ((disp)->ProgramEnvParameter4dARB = fn) -#define CALL_ProgramEnvParameter4dvARB(disp, parameters) (*((disp)->ProgramEnvParameter4dvARB)) parameters -#define GET_ProgramEnvParameter4dvARB(disp) ((disp)->ProgramEnvParameter4dvARB) -#define SET_ProgramEnvParameter4dvARB(disp, fn) ((disp)->ProgramEnvParameter4dvARB = fn) -#define CALL_ProgramEnvParameter4fARB(disp, parameters) (*((disp)->ProgramEnvParameter4fARB)) parameters -#define GET_ProgramEnvParameter4fARB(disp) ((disp)->ProgramEnvParameter4fARB) -#define SET_ProgramEnvParameter4fARB(disp, fn) ((disp)->ProgramEnvParameter4fARB = fn) -#define CALL_ProgramEnvParameter4fvARB(disp, parameters) (*((disp)->ProgramEnvParameter4fvARB)) parameters -#define GET_ProgramEnvParameter4fvARB(disp) ((disp)->ProgramEnvParameter4fvARB) -#define SET_ProgramEnvParameter4fvARB(disp, fn) ((disp)->ProgramEnvParameter4fvARB = fn) -#define CALL_ProgramLocalParameter4dARB(disp, parameters) (*((disp)->ProgramLocalParameter4dARB)) parameters -#define GET_ProgramLocalParameter4dARB(disp) ((disp)->ProgramLocalParameter4dARB) -#define SET_ProgramLocalParameter4dARB(disp, fn) ((disp)->ProgramLocalParameter4dARB = fn) -#define CALL_ProgramLocalParameter4dvARB(disp, parameters) (*((disp)->ProgramLocalParameter4dvARB)) parameters -#define GET_ProgramLocalParameter4dvARB(disp) ((disp)->ProgramLocalParameter4dvARB) -#define SET_ProgramLocalParameter4dvARB(disp, fn) ((disp)->ProgramLocalParameter4dvARB = fn) -#define CALL_ProgramLocalParameter4fARB(disp, parameters) (*((disp)->ProgramLocalParameter4fARB)) parameters -#define GET_ProgramLocalParameter4fARB(disp) ((disp)->ProgramLocalParameter4fARB) -#define SET_ProgramLocalParameter4fARB(disp, fn) ((disp)->ProgramLocalParameter4fARB = fn) -#define CALL_ProgramLocalParameter4fvARB(disp, parameters) (*((disp)->ProgramLocalParameter4fvARB)) parameters -#define GET_ProgramLocalParameter4fvARB(disp) ((disp)->ProgramLocalParameter4fvARB) -#define SET_ProgramLocalParameter4fvARB(disp, fn) ((disp)->ProgramLocalParameter4fvARB = fn) -#define CALL_ProgramStringARB(disp, parameters) (*((disp)->ProgramStringARB)) parameters -#define GET_ProgramStringARB(disp) ((disp)->ProgramStringARB) -#define SET_ProgramStringARB(disp, fn) ((disp)->ProgramStringARB = fn) -#define CALL_VertexAttrib1dARB(disp, parameters) (*((disp)->VertexAttrib1dARB)) parameters -#define GET_VertexAttrib1dARB(disp) ((disp)->VertexAttrib1dARB) -#define SET_VertexAttrib1dARB(disp, fn) ((disp)->VertexAttrib1dARB = fn) -#define CALL_VertexAttrib1dvARB(disp, parameters) (*((disp)->VertexAttrib1dvARB)) parameters -#define GET_VertexAttrib1dvARB(disp) ((disp)->VertexAttrib1dvARB) -#define SET_VertexAttrib1dvARB(disp, fn) ((disp)->VertexAttrib1dvARB = fn) -#define CALL_VertexAttrib1fARB(disp, parameters) (*((disp)->VertexAttrib1fARB)) parameters -#define GET_VertexAttrib1fARB(disp) ((disp)->VertexAttrib1fARB) -#define SET_VertexAttrib1fARB(disp, fn) ((disp)->VertexAttrib1fARB = fn) -#define CALL_VertexAttrib1fvARB(disp, parameters) (*((disp)->VertexAttrib1fvARB)) parameters -#define GET_VertexAttrib1fvARB(disp) ((disp)->VertexAttrib1fvARB) -#define SET_VertexAttrib1fvARB(disp, fn) ((disp)->VertexAttrib1fvARB = fn) -#define CALL_VertexAttrib1sARB(disp, parameters) (*((disp)->VertexAttrib1sARB)) parameters -#define GET_VertexAttrib1sARB(disp) ((disp)->VertexAttrib1sARB) -#define SET_VertexAttrib1sARB(disp, fn) ((disp)->VertexAttrib1sARB = fn) -#define CALL_VertexAttrib1svARB(disp, parameters) (*((disp)->VertexAttrib1svARB)) parameters -#define GET_VertexAttrib1svARB(disp) ((disp)->VertexAttrib1svARB) -#define SET_VertexAttrib1svARB(disp, fn) ((disp)->VertexAttrib1svARB = fn) -#define CALL_VertexAttrib2dARB(disp, parameters) (*((disp)->VertexAttrib2dARB)) parameters -#define GET_VertexAttrib2dARB(disp) ((disp)->VertexAttrib2dARB) -#define SET_VertexAttrib2dARB(disp, fn) ((disp)->VertexAttrib2dARB = fn) -#define CALL_VertexAttrib2dvARB(disp, parameters) (*((disp)->VertexAttrib2dvARB)) parameters -#define GET_VertexAttrib2dvARB(disp) ((disp)->VertexAttrib2dvARB) -#define SET_VertexAttrib2dvARB(disp, fn) ((disp)->VertexAttrib2dvARB = fn) -#define CALL_VertexAttrib2fARB(disp, parameters) (*((disp)->VertexAttrib2fARB)) parameters -#define GET_VertexAttrib2fARB(disp) ((disp)->VertexAttrib2fARB) -#define SET_VertexAttrib2fARB(disp, fn) ((disp)->VertexAttrib2fARB = fn) -#define CALL_VertexAttrib2fvARB(disp, parameters) (*((disp)->VertexAttrib2fvARB)) parameters -#define GET_VertexAttrib2fvARB(disp) ((disp)->VertexAttrib2fvARB) -#define SET_VertexAttrib2fvARB(disp, fn) ((disp)->VertexAttrib2fvARB = fn) -#define CALL_VertexAttrib2sARB(disp, parameters) (*((disp)->VertexAttrib2sARB)) parameters -#define GET_VertexAttrib2sARB(disp) ((disp)->VertexAttrib2sARB) -#define SET_VertexAttrib2sARB(disp, fn) ((disp)->VertexAttrib2sARB = fn) -#define CALL_VertexAttrib2svARB(disp, parameters) (*((disp)->VertexAttrib2svARB)) parameters -#define GET_VertexAttrib2svARB(disp) ((disp)->VertexAttrib2svARB) -#define SET_VertexAttrib2svARB(disp, fn) ((disp)->VertexAttrib2svARB = fn) -#define CALL_VertexAttrib3dARB(disp, parameters) (*((disp)->VertexAttrib3dARB)) parameters -#define GET_VertexAttrib3dARB(disp) ((disp)->VertexAttrib3dARB) -#define SET_VertexAttrib3dARB(disp, fn) ((disp)->VertexAttrib3dARB = fn) -#define CALL_VertexAttrib3dvARB(disp, parameters) (*((disp)->VertexAttrib3dvARB)) parameters -#define GET_VertexAttrib3dvARB(disp) ((disp)->VertexAttrib3dvARB) -#define SET_VertexAttrib3dvARB(disp, fn) ((disp)->VertexAttrib3dvARB = fn) -#define CALL_VertexAttrib3fARB(disp, parameters) (*((disp)->VertexAttrib3fARB)) parameters -#define GET_VertexAttrib3fARB(disp) ((disp)->VertexAttrib3fARB) -#define SET_VertexAttrib3fARB(disp, fn) ((disp)->VertexAttrib3fARB = fn) -#define CALL_VertexAttrib3fvARB(disp, parameters) (*((disp)->VertexAttrib3fvARB)) parameters -#define GET_VertexAttrib3fvARB(disp) ((disp)->VertexAttrib3fvARB) -#define SET_VertexAttrib3fvARB(disp, fn) ((disp)->VertexAttrib3fvARB = fn) -#define CALL_VertexAttrib3sARB(disp, parameters) (*((disp)->VertexAttrib3sARB)) parameters -#define GET_VertexAttrib3sARB(disp) ((disp)->VertexAttrib3sARB) -#define SET_VertexAttrib3sARB(disp, fn) ((disp)->VertexAttrib3sARB = fn) -#define CALL_VertexAttrib3svARB(disp, parameters) (*((disp)->VertexAttrib3svARB)) parameters -#define GET_VertexAttrib3svARB(disp) ((disp)->VertexAttrib3svARB) -#define SET_VertexAttrib3svARB(disp, fn) ((disp)->VertexAttrib3svARB = fn) -#define CALL_VertexAttrib4NbvARB(disp, parameters) (*((disp)->VertexAttrib4NbvARB)) parameters -#define GET_VertexAttrib4NbvARB(disp) ((disp)->VertexAttrib4NbvARB) -#define SET_VertexAttrib4NbvARB(disp, fn) ((disp)->VertexAttrib4NbvARB = fn) -#define CALL_VertexAttrib4NivARB(disp, parameters) (*((disp)->VertexAttrib4NivARB)) parameters -#define GET_VertexAttrib4NivARB(disp) ((disp)->VertexAttrib4NivARB) -#define SET_VertexAttrib4NivARB(disp, fn) ((disp)->VertexAttrib4NivARB = fn) -#define CALL_VertexAttrib4NsvARB(disp, parameters) (*((disp)->VertexAttrib4NsvARB)) parameters -#define GET_VertexAttrib4NsvARB(disp) ((disp)->VertexAttrib4NsvARB) -#define SET_VertexAttrib4NsvARB(disp, fn) ((disp)->VertexAttrib4NsvARB = fn) -#define CALL_VertexAttrib4NubARB(disp, parameters) (*((disp)->VertexAttrib4NubARB)) parameters -#define GET_VertexAttrib4NubARB(disp) ((disp)->VertexAttrib4NubARB) -#define SET_VertexAttrib4NubARB(disp, fn) ((disp)->VertexAttrib4NubARB = fn) -#define CALL_VertexAttrib4NubvARB(disp, parameters) (*((disp)->VertexAttrib4NubvARB)) parameters -#define GET_VertexAttrib4NubvARB(disp) ((disp)->VertexAttrib4NubvARB) -#define SET_VertexAttrib4NubvARB(disp, fn) ((disp)->VertexAttrib4NubvARB = fn) -#define CALL_VertexAttrib4NuivARB(disp, parameters) (*((disp)->VertexAttrib4NuivARB)) parameters -#define GET_VertexAttrib4NuivARB(disp) ((disp)->VertexAttrib4NuivARB) -#define SET_VertexAttrib4NuivARB(disp, fn) ((disp)->VertexAttrib4NuivARB = fn) -#define CALL_VertexAttrib4NusvARB(disp, parameters) (*((disp)->VertexAttrib4NusvARB)) parameters -#define GET_VertexAttrib4NusvARB(disp) ((disp)->VertexAttrib4NusvARB) -#define SET_VertexAttrib4NusvARB(disp, fn) ((disp)->VertexAttrib4NusvARB = fn) -#define CALL_VertexAttrib4bvARB(disp, parameters) (*((disp)->VertexAttrib4bvARB)) parameters -#define GET_VertexAttrib4bvARB(disp) ((disp)->VertexAttrib4bvARB) -#define SET_VertexAttrib4bvARB(disp, fn) ((disp)->VertexAttrib4bvARB = fn) -#define CALL_VertexAttrib4dARB(disp, parameters) (*((disp)->VertexAttrib4dARB)) parameters -#define GET_VertexAttrib4dARB(disp) ((disp)->VertexAttrib4dARB) -#define SET_VertexAttrib4dARB(disp, fn) ((disp)->VertexAttrib4dARB = fn) -#define CALL_VertexAttrib4dvARB(disp, parameters) (*((disp)->VertexAttrib4dvARB)) parameters -#define GET_VertexAttrib4dvARB(disp) ((disp)->VertexAttrib4dvARB) -#define SET_VertexAttrib4dvARB(disp, fn) ((disp)->VertexAttrib4dvARB = fn) -#define CALL_VertexAttrib4fARB(disp, parameters) (*((disp)->VertexAttrib4fARB)) parameters -#define GET_VertexAttrib4fARB(disp) ((disp)->VertexAttrib4fARB) -#define SET_VertexAttrib4fARB(disp, fn) ((disp)->VertexAttrib4fARB = fn) -#define CALL_VertexAttrib4fvARB(disp, parameters) (*((disp)->VertexAttrib4fvARB)) parameters -#define GET_VertexAttrib4fvARB(disp) ((disp)->VertexAttrib4fvARB) -#define SET_VertexAttrib4fvARB(disp, fn) ((disp)->VertexAttrib4fvARB = fn) -#define CALL_VertexAttrib4ivARB(disp, parameters) (*((disp)->VertexAttrib4ivARB)) parameters -#define GET_VertexAttrib4ivARB(disp) ((disp)->VertexAttrib4ivARB) -#define SET_VertexAttrib4ivARB(disp, fn) ((disp)->VertexAttrib4ivARB = fn) -#define CALL_VertexAttrib4sARB(disp, parameters) (*((disp)->VertexAttrib4sARB)) parameters -#define GET_VertexAttrib4sARB(disp) ((disp)->VertexAttrib4sARB) -#define SET_VertexAttrib4sARB(disp, fn) ((disp)->VertexAttrib4sARB = fn) -#define CALL_VertexAttrib4svARB(disp, parameters) (*((disp)->VertexAttrib4svARB)) parameters -#define GET_VertexAttrib4svARB(disp) ((disp)->VertexAttrib4svARB) -#define SET_VertexAttrib4svARB(disp, fn) ((disp)->VertexAttrib4svARB = fn) -#define CALL_VertexAttrib4ubvARB(disp, parameters) (*((disp)->VertexAttrib4ubvARB)) parameters -#define GET_VertexAttrib4ubvARB(disp) ((disp)->VertexAttrib4ubvARB) -#define SET_VertexAttrib4ubvARB(disp, fn) ((disp)->VertexAttrib4ubvARB = fn) -#define CALL_VertexAttrib4uivARB(disp, parameters) (*((disp)->VertexAttrib4uivARB)) parameters -#define GET_VertexAttrib4uivARB(disp) ((disp)->VertexAttrib4uivARB) -#define SET_VertexAttrib4uivARB(disp, fn) ((disp)->VertexAttrib4uivARB = fn) -#define CALL_VertexAttrib4usvARB(disp, parameters) (*((disp)->VertexAttrib4usvARB)) parameters -#define GET_VertexAttrib4usvARB(disp) ((disp)->VertexAttrib4usvARB) -#define SET_VertexAttrib4usvARB(disp, fn) ((disp)->VertexAttrib4usvARB = fn) -#define CALL_VertexAttribPointerARB(disp, parameters) (*((disp)->VertexAttribPointerARB)) parameters -#define GET_VertexAttribPointerARB(disp) ((disp)->VertexAttribPointerARB) -#define SET_VertexAttribPointerARB(disp, fn) ((disp)->VertexAttribPointerARB = fn) -#define CALL_BindBufferARB(disp, parameters) (*((disp)->BindBufferARB)) parameters -#define GET_BindBufferARB(disp) ((disp)->BindBufferARB) -#define SET_BindBufferARB(disp, fn) ((disp)->BindBufferARB = fn) -#define CALL_BufferDataARB(disp, parameters) (*((disp)->BufferDataARB)) parameters -#define GET_BufferDataARB(disp) ((disp)->BufferDataARB) -#define SET_BufferDataARB(disp, fn) ((disp)->BufferDataARB = fn) -#define CALL_BufferSubDataARB(disp, parameters) (*((disp)->BufferSubDataARB)) parameters -#define GET_BufferSubDataARB(disp) ((disp)->BufferSubDataARB) -#define SET_BufferSubDataARB(disp, fn) ((disp)->BufferSubDataARB = fn) -#define CALL_DeleteBuffersARB(disp, parameters) (*((disp)->DeleteBuffersARB)) parameters -#define GET_DeleteBuffersARB(disp) ((disp)->DeleteBuffersARB) -#define SET_DeleteBuffersARB(disp, fn) ((disp)->DeleteBuffersARB = fn) -#define CALL_GenBuffersARB(disp, parameters) (*((disp)->GenBuffersARB)) parameters -#define GET_GenBuffersARB(disp) ((disp)->GenBuffersARB) -#define SET_GenBuffersARB(disp, fn) ((disp)->GenBuffersARB = fn) -#define CALL_GetBufferParameterivARB(disp, parameters) (*((disp)->GetBufferParameterivARB)) parameters -#define GET_GetBufferParameterivARB(disp) ((disp)->GetBufferParameterivARB) -#define SET_GetBufferParameterivARB(disp, fn) ((disp)->GetBufferParameterivARB = fn) -#define CALL_GetBufferPointervARB(disp, parameters) (*((disp)->GetBufferPointervARB)) parameters -#define GET_GetBufferPointervARB(disp) ((disp)->GetBufferPointervARB) -#define SET_GetBufferPointervARB(disp, fn) ((disp)->GetBufferPointervARB = fn) -#define CALL_GetBufferSubDataARB(disp, parameters) (*((disp)->GetBufferSubDataARB)) parameters -#define GET_GetBufferSubDataARB(disp) ((disp)->GetBufferSubDataARB) -#define SET_GetBufferSubDataARB(disp, fn) ((disp)->GetBufferSubDataARB = fn) -#define CALL_IsBufferARB(disp, parameters) (*((disp)->IsBufferARB)) parameters -#define GET_IsBufferARB(disp) ((disp)->IsBufferARB) -#define SET_IsBufferARB(disp, fn) ((disp)->IsBufferARB = fn) -#define CALL_MapBufferARB(disp, parameters) (*((disp)->MapBufferARB)) parameters -#define GET_MapBufferARB(disp) ((disp)->MapBufferARB) -#define SET_MapBufferARB(disp, fn) ((disp)->MapBufferARB = fn) -#define CALL_UnmapBufferARB(disp, parameters) (*((disp)->UnmapBufferARB)) parameters -#define GET_UnmapBufferARB(disp) ((disp)->UnmapBufferARB) -#define SET_UnmapBufferARB(disp, fn) ((disp)->UnmapBufferARB = fn) -#define CALL_BeginQueryARB(disp, parameters) (*((disp)->BeginQueryARB)) parameters -#define GET_BeginQueryARB(disp) ((disp)->BeginQueryARB) -#define SET_BeginQueryARB(disp, fn) ((disp)->BeginQueryARB = fn) -#define CALL_DeleteQueriesARB(disp, parameters) (*((disp)->DeleteQueriesARB)) parameters -#define GET_DeleteQueriesARB(disp) ((disp)->DeleteQueriesARB) -#define SET_DeleteQueriesARB(disp, fn) ((disp)->DeleteQueriesARB = fn) -#define CALL_EndQueryARB(disp, parameters) (*((disp)->EndQueryARB)) parameters -#define GET_EndQueryARB(disp) ((disp)->EndQueryARB) -#define SET_EndQueryARB(disp, fn) ((disp)->EndQueryARB = fn) -#define CALL_GenQueriesARB(disp, parameters) (*((disp)->GenQueriesARB)) parameters -#define GET_GenQueriesARB(disp) ((disp)->GenQueriesARB) -#define SET_GenQueriesARB(disp, fn) ((disp)->GenQueriesARB = fn) -#define CALL_GetQueryObjectivARB(disp, parameters) (*((disp)->GetQueryObjectivARB)) parameters -#define GET_GetQueryObjectivARB(disp) ((disp)->GetQueryObjectivARB) -#define SET_GetQueryObjectivARB(disp, fn) ((disp)->GetQueryObjectivARB = fn) -#define CALL_GetQueryObjectuivARB(disp, parameters) (*((disp)->GetQueryObjectuivARB)) parameters -#define GET_GetQueryObjectuivARB(disp) ((disp)->GetQueryObjectuivARB) -#define SET_GetQueryObjectuivARB(disp, fn) ((disp)->GetQueryObjectuivARB = fn) -#define CALL_GetQueryivARB(disp, parameters) (*((disp)->GetQueryivARB)) parameters -#define GET_GetQueryivARB(disp) ((disp)->GetQueryivARB) -#define SET_GetQueryivARB(disp, fn) ((disp)->GetQueryivARB = fn) -#define CALL_IsQueryARB(disp, parameters) (*((disp)->IsQueryARB)) parameters -#define GET_IsQueryARB(disp) ((disp)->IsQueryARB) -#define SET_IsQueryARB(disp, fn) ((disp)->IsQueryARB = fn) -#define CALL_AttachObjectARB(disp, parameters) (*((disp)->AttachObjectARB)) parameters -#define GET_AttachObjectARB(disp) ((disp)->AttachObjectARB) -#define SET_AttachObjectARB(disp, fn) ((disp)->AttachObjectARB = fn) -#define CALL_CompileShaderARB(disp, parameters) (*((disp)->CompileShaderARB)) parameters -#define GET_CompileShaderARB(disp) ((disp)->CompileShaderARB) -#define SET_CompileShaderARB(disp, fn) ((disp)->CompileShaderARB = fn) -#define CALL_CreateProgramObjectARB(disp, parameters) (*((disp)->CreateProgramObjectARB)) parameters -#define GET_CreateProgramObjectARB(disp) ((disp)->CreateProgramObjectARB) -#define SET_CreateProgramObjectARB(disp, fn) ((disp)->CreateProgramObjectARB = fn) -#define CALL_CreateShaderObjectARB(disp, parameters) (*((disp)->CreateShaderObjectARB)) parameters -#define GET_CreateShaderObjectARB(disp) ((disp)->CreateShaderObjectARB) -#define SET_CreateShaderObjectARB(disp, fn) ((disp)->CreateShaderObjectARB = fn) -#define CALL_DeleteObjectARB(disp, parameters) (*((disp)->DeleteObjectARB)) parameters -#define GET_DeleteObjectARB(disp) ((disp)->DeleteObjectARB) -#define SET_DeleteObjectARB(disp, fn) ((disp)->DeleteObjectARB = fn) -#define CALL_DetachObjectARB(disp, parameters) (*((disp)->DetachObjectARB)) parameters -#define GET_DetachObjectARB(disp) ((disp)->DetachObjectARB) -#define SET_DetachObjectARB(disp, fn) ((disp)->DetachObjectARB = fn) -#define CALL_GetActiveUniformARB(disp, parameters) (*((disp)->GetActiveUniformARB)) parameters -#define GET_GetActiveUniformARB(disp) ((disp)->GetActiveUniformARB) -#define SET_GetActiveUniformARB(disp, fn) ((disp)->GetActiveUniformARB = fn) -#define CALL_GetAttachedObjectsARB(disp, parameters) (*((disp)->GetAttachedObjectsARB)) parameters -#define GET_GetAttachedObjectsARB(disp) ((disp)->GetAttachedObjectsARB) -#define SET_GetAttachedObjectsARB(disp, fn) ((disp)->GetAttachedObjectsARB = fn) -#define CALL_GetHandleARB(disp, parameters) (*((disp)->GetHandleARB)) parameters -#define GET_GetHandleARB(disp) ((disp)->GetHandleARB) -#define SET_GetHandleARB(disp, fn) ((disp)->GetHandleARB = fn) -#define CALL_GetInfoLogARB(disp, parameters) (*((disp)->GetInfoLogARB)) parameters -#define GET_GetInfoLogARB(disp) ((disp)->GetInfoLogARB) -#define SET_GetInfoLogARB(disp, fn) ((disp)->GetInfoLogARB = fn) -#define CALL_GetObjectParameterfvARB(disp, parameters) (*((disp)->GetObjectParameterfvARB)) parameters -#define GET_GetObjectParameterfvARB(disp) ((disp)->GetObjectParameterfvARB) -#define SET_GetObjectParameterfvARB(disp, fn) ((disp)->GetObjectParameterfvARB = fn) -#define CALL_GetObjectParameterivARB(disp, parameters) (*((disp)->GetObjectParameterivARB)) parameters -#define GET_GetObjectParameterivARB(disp) ((disp)->GetObjectParameterivARB) -#define SET_GetObjectParameterivARB(disp, fn) ((disp)->GetObjectParameterivARB = fn) -#define CALL_GetShaderSourceARB(disp, parameters) (*((disp)->GetShaderSourceARB)) parameters -#define GET_GetShaderSourceARB(disp) ((disp)->GetShaderSourceARB) -#define SET_GetShaderSourceARB(disp, fn) ((disp)->GetShaderSourceARB = fn) -#define CALL_GetUniformLocationARB(disp, parameters) (*((disp)->GetUniformLocationARB)) parameters -#define GET_GetUniformLocationARB(disp) ((disp)->GetUniformLocationARB) -#define SET_GetUniformLocationARB(disp, fn) ((disp)->GetUniformLocationARB = fn) -#define CALL_GetUniformfvARB(disp, parameters) (*((disp)->GetUniformfvARB)) parameters -#define GET_GetUniformfvARB(disp) ((disp)->GetUniformfvARB) -#define SET_GetUniformfvARB(disp, fn) ((disp)->GetUniformfvARB = fn) -#define CALL_GetUniformivARB(disp, parameters) (*((disp)->GetUniformivARB)) parameters -#define GET_GetUniformivARB(disp) ((disp)->GetUniformivARB) -#define SET_GetUniformivARB(disp, fn) ((disp)->GetUniformivARB = fn) -#define CALL_LinkProgramARB(disp, parameters) (*((disp)->LinkProgramARB)) parameters -#define GET_LinkProgramARB(disp) ((disp)->LinkProgramARB) -#define SET_LinkProgramARB(disp, fn) ((disp)->LinkProgramARB = fn) -#define CALL_ShaderSourceARB(disp, parameters) (*((disp)->ShaderSourceARB)) parameters -#define GET_ShaderSourceARB(disp) ((disp)->ShaderSourceARB) -#define SET_ShaderSourceARB(disp, fn) ((disp)->ShaderSourceARB = fn) -#define CALL_Uniform1fARB(disp, parameters) (*((disp)->Uniform1fARB)) parameters -#define GET_Uniform1fARB(disp) ((disp)->Uniform1fARB) -#define SET_Uniform1fARB(disp, fn) ((disp)->Uniform1fARB = fn) -#define CALL_Uniform1fvARB(disp, parameters) (*((disp)->Uniform1fvARB)) parameters -#define GET_Uniform1fvARB(disp) ((disp)->Uniform1fvARB) -#define SET_Uniform1fvARB(disp, fn) ((disp)->Uniform1fvARB = fn) -#define CALL_Uniform1iARB(disp, parameters) (*((disp)->Uniform1iARB)) parameters -#define GET_Uniform1iARB(disp) ((disp)->Uniform1iARB) -#define SET_Uniform1iARB(disp, fn) ((disp)->Uniform1iARB = fn) -#define CALL_Uniform1ivARB(disp, parameters) (*((disp)->Uniform1ivARB)) parameters -#define GET_Uniform1ivARB(disp) ((disp)->Uniform1ivARB) -#define SET_Uniform1ivARB(disp, fn) ((disp)->Uniform1ivARB = fn) -#define CALL_Uniform2fARB(disp, parameters) (*((disp)->Uniform2fARB)) parameters -#define GET_Uniform2fARB(disp) ((disp)->Uniform2fARB) -#define SET_Uniform2fARB(disp, fn) ((disp)->Uniform2fARB = fn) -#define CALL_Uniform2fvARB(disp, parameters) (*((disp)->Uniform2fvARB)) parameters -#define GET_Uniform2fvARB(disp) ((disp)->Uniform2fvARB) -#define SET_Uniform2fvARB(disp, fn) ((disp)->Uniform2fvARB = fn) -#define CALL_Uniform2iARB(disp, parameters) (*((disp)->Uniform2iARB)) parameters -#define GET_Uniform2iARB(disp) ((disp)->Uniform2iARB) -#define SET_Uniform2iARB(disp, fn) ((disp)->Uniform2iARB = fn) -#define CALL_Uniform2ivARB(disp, parameters) (*((disp)->Uniform2ivARB)) parameters -#define GET_Uniform2ivARB(disp) ((disp)->Uniform2ivARB) -#define SET_Uniform2ivARB(disp, fn) ((disp)->Uniform2ivARB = fn) -#define CALL_Uniform3fARB(disp, parameters) (*((disp)->Uniform3fARB)) parameters -#define GET_Uniform3fARB(disp) ((disp)->Uniform3fARB) -#define SET_Uniform3fARB(disp, fn) ((disp)->Uniform3fARB = fn) -#define CALL_Uniform3fvARB(disp, parameters) (*((disp)->Uniform3fvARB)) parameters -#define GET_Uniform3fvARB(disp) ((disp)->Uniform3fvARB) -#define SET_Uniform3fvARB(disp, fn) ((disp)->Uniform3fvARB = fn) -#define CALL_Uniform3iARB(disp, parameters) (*((disp)->Uniform3iARB)) parameters -#define GET_Uniform3iARB(disp) ((disp)->Uniform3iARB) -#define SET_Uniform3iARB(disp, fn) ((disp)->Uniform3iARB = fn) -#define CALL_Uniform3ivARB(disp, parameters) (*((disp)->Uniform3ivARB)) parameters -#define GET_Uniform3ivARB(disp) ((disp)->Uniform3ivARB) -#define SET_Uniform3ivARB(disp, fn) ((disp)->Uniform3ivARB = fn) -#define CALL_Uniform4fARB(disp, parameters) (*((disp)->Uniform4fARB)) parameters -#define GET_Uniform4fARB(disp) ((disp)->Uniform4fARB) -#define SET_Uniform4fARB(disp, fn) ((disp)->Uniform4fARB = fn) -#define CALL_Uniform4fvARB(disp, parameters) (*((disp)->Uniform4fvARB)) parameters -#define GET_Uniform4fvARB(disp) ((disp)->Uniform4fvARB) -#define SET_Uniform4fvARB(disp, fn) ((disp)->Uniform4fvARB = fn) -#define CALL_Uniform4iARB(disp, parameters) (*((disp)->Uniform4iARB)) parameters -#define GET_Uniform4iARB(disp) ((disp)->Uniform4iARB) -#define SET_Uniform4iARB(disp, fn) ((disp)->Uniform4iARB = fn) -#define CALL_Uniform4ivARB(disp, parameters) (*((disp)->Uniform4ivARB)) parameters -#define GET_Uniform4ivARB(disp) ((disp)->Uniform4ivARB) -#define SET_Uniform4ivARB(disp, fn) ((disp)->Uniform4ivARB = fn) -#define CALL_UniformMatrix2fvARB(disp, parameters) (*((disp)->UniformMatrix2fvARB)) parameters -#define GET_UniformMatrix2fvARB(disp) ((disp)->UniformMatrix2fvARB) -#define SET_UniformMatrix2fvARB(disp, fn) ((disp)->UniformMatrix2fvARB = fn) -#define CALL_UniformMatrix3fvARB(disp, parameters) (*((disp)->UniformMatrix3fvARB)) parameters -#define GET_UniformMatrix3fvARB(disp) ((disp)->UniformMatrix3fvARB) -#define SET_UniformMatrix3fvARB(disp, fn) ((disp)->UniformMatrix3fvARB = fn) -#define CALL_UniformMatrix4fvARB(disp, parameters) (*((disp)->UniformMatrix4fvARB)) parameters -#define GET_UniformMatrix4fvARB(disp) ((disp)->UniformMatrix4fvARB) -#define SET_UniformMatrix4fvARB(disp, fn) ((disp)->UniformMatrix4fvARB = fn) -#define CALL_UseProgramObjectARB(disp, parameters) (*((disp)->UseProgramObjectARB)) parameters -#define GET_UseProgramObjectARB(disp) ((disp)->UseProgramObjectARB) -#define SET_UseProgramObjectARB(disp, fn) ((disp)->UseProgramObjectARB = fn) -#define CALL_ValidateProgramARB(disp, parameters) (*((disp)->ValidateProgramARB)) parameters -#define GET_ValidateProgramARB(disp) ((disp)->ValidateProgramARB) -#define SET_ValidateProgramARB(disp, fn) ((disp)->ValidateProgramARB = fn) -#define CALL_BindAttribLocationARB(disp, parameters) (*((disp)->BindAttribLocationARB)) parameters -#define GET_BindAttribLocationARB(disp) ((disp)->BindAttribLocationARB) -#define SET_BindAttribLocationARB(disp, fn) ((disp)->BindAttribLocationARB = fn) -#define CALL_GetActiveAttribARB(disp, parameters) (*((disp)->GetActiveAttribARB)) parameters -#define GET_GetActiveAttribARB(disp) ((disp)->GetActiveAttribARB) -#define SET_GetActiveAttribARB(disp, fn) ((disp)->GetActiveAttribARB = fn) -#define CALL_GetAttribLocationARB(disp, parameters) (*((disp)->GetAttribLocationARB)) parameters -#define GET_GetAttribLocationARB(disp) ((disp)->GetAttribLocationARB) -#define SET_GetAttribLocationARB(disp, fn) ((disp)->GetAttribLocationARB = fn) -#define CALL_DrawBuffersARB(disp, parameters) (*((disp)->DrawBuffersARB)) parameters -#define GET_DrawBuffersARB(disp) ((disp)->DrawBuffersARB) -#define SET_DrawBuffersARB(disp, fn) ((disp)->DrawBuffersARB = fn) -#define CALL_RenderbufferStorageMultisample(disp, parameters) (*((disp)->RenderbufferStorageMultisample)) parameters -#define GET_RenderbufferStorageMultisample(disp) ((disp)->RenderbufferStorageMultisample) -#define SET_RenderbufferStorageMultisample(disp, fn) ((disp)->RenderbufferStorageMultisample = fn) -#define CALL_FramebufferTextureARB(disp, parameters) (*((disp)->FramebufferTextureARB)) parameters -#define GET_FramebufferTextureARB(disp) ((disp)->FramebufferTextureARB) -#define SET_FramebufferTextureARB(disp, fn) ((disp)->FramebufferTextureARB = fn) -#define CALL_FramebufferTextureFaceARB(disp, parameters) (*((disp)->FramebufferTextureFaceARB)) parameters -#define GET_FramebufferTextureFaceARB(disp) ((disp)->FramebufferTextureFaceARB) -#define SET_FramebufferTextureFaceARB(disp, fn) ((disp)->FramebufferTextureFaceARB = fn) -#define CALL_ProgramParameteriARB(disp, parameters) (*((disp)->ProgramParameteriARB)) parameters -#define GET_ProgramParameteriARB(disp) ((disp)->ProgramParameteriARB) -#define SET_ProgramParameteriARB(disp, fn) ((disp)->ProgramParameteriARB = fn) -#define CALL_FlushMappedBufferRange(disp, parameters) (*((disp)->FlushMappedBufferRange)) parameters -#define GET_FlushMappedBufferRange(disp) ((disp)->FlushMappedBufferRange) -#define SET_FlushMappedBufferRange(disp, fn) ((disp)->FlushMappedBufferRange = fn) -#define CALL_MapBufferRange(disp, parameters) (*((disp)->MapBufferRange)) parameters -#define GET_MapBufferRange(disp) ((disp)->MapBufferRange) -#define SET_MapBufferRange(disp, fn) ((disp)->MapBufferRange = fn) -#define CALL_BindVertexArray(disp, parameters) (*((disp)->BindVertexArray)) parameters -#define GET_BindVertexArray(disp) ((disp)->BindVertexArray) -#define SET_BindVertexArray(disp, fn) ((disp)->BindVertexArray = fn) -#define CALL_GenVertexArrays(disp, parameters) (*((disp)->GenVertexArrays)) parameters -#define GET_GenVertexArrays(disp) ((disp)->GenVertexArrays) -#define SET_GenVertexArrays(disp, fn) ((disp)->GenVertexArrays = fn) -#define CALL_CopyBufferSubData(disp, parameters) (*((disp)->CopyBufferSubData)) parameters -#define GET_CopyBufferSubData(disp) ((disp)->CopyBufferSubData) -#define SET_CopyBufferSubData(disp, fn) ((disp)->CopyBufferSubData = fn) -#define CALL_ClientWaitSync(disp, parameters) (*((disp)->ClientWaitSync)) parameters -#define GET_ClientWaitSync(disp) ((disp)->ClientWaitSync) -#define SET_ClientWaitSync(disp, fn) ((disp)->ClientWaitSync = fn) -#define CALL_DeleteSync(disp, parameters) (*((disp)->DeleteSync)) parameters -#define GET_DeleteSync(disp) ((disp)->DeleteSync) -#define SET_DeleteSync(disp, fn) ((disp)->DeleteSync = fn) -#define CALL_FenceSync(disp, parameters) (*((disp)->FenceSync)) parameters -#define GET_FenceSync(disp) ((disp)->FenceSync) -#define SET_FenceSync(disp, fn) ((disp)->FenceSync = fn) -#define CALL_GetInteger64v(disp, parameters) (*((disp)->GetInteger64v)) parameters -#define GET_GetInteger64v(disp) ((disp)->GetInteger64v) -#define SET_GetInteger64v(disp, fn) ((disp)->GetInteger64v = fn) -#define CALL_GetSynciv(disp, parameters) (*((disp)->GetSynciv)) parameters -#define GET_GetSynciv(disp) ((disp)->GetSynciv) -#define SET_GetSynciv(disp, fn) ((disp)->GetSynciv = fn) -#define CALL_IsSync(disp, parameters) (*((disp)->IsSync)) parameters -#define GET_IsSync(disp) ((disp)->IsSync) -#define SET_IsSync(disp, fn) ((disp)->IsSync = fn) -#define CALL_WaitSync(disp, parameters) (*((disp)->WaitSync)) parameters -#define GET_WaitSync(disp) ((disp)->WaitSync) -#define SET_WaitSync(disp, fn) ((disp)->WaitSync = fn) -#define CALL_DrawElementsBaseVertex(disp, parameters) (*((disp)->DrawElementsBaseVertex)) parameters -#define GET_DrawElementsBaseVertex(disp) ((disp)->DrawElementsBaseVertex) -#define SET_DrawElementsBaseVertex(disp, fn) ((disp)->DrawElementsBaseVertex = fn) -#define CALL_DrawRangeElementsBaseVertex(disp, parameters) (*((disp)->DrawRangeElementsBaseVertex)) parameters -#define GET_DrawRangeElementsBaseVertex(disp) ((disp)->DrawRangeElementsBaseVertex) -#define SET_DrawRangeElementsBaseVertex(disp, fn) ((disp)->DrawRangeElementsBaseVertex = fn) -#define CALL_MultiDrawElementsBaseVertex(disp, parameters) (*((disp)->MultiDrawElementsBaseVertex)) parameters -#define GET_MultiDrawElementsBaseVertex(disp) ((disp)->MultiDrawElementsBaseVertex) -#define SET_MultiDrawElementsBaseVertex(disp, fn) ((disp)->MultiDrawElementsBaseVertex = fn) -#define CALL_BindTransformFeedback(disp, parameters) (*((disp)->BindTransformFeedback)) parameters -#define GET_BindTransformFeedback(disp) ((disp)->BindTransformFeedback) -#define SET_BindTransformFeedback(disp, fn) ((disp)->BindTransformFeedback = fn) -#define CALL_DeleteTransformFeedbacks(disp, parameters) (*((disp)->DeleteTransformFeedbacks)) parameters -#define GET_DeleteTransformFeedbacks(disp) ((disp)->DeleteTransformFeedbacks) -#define SET_DeleteTransformFeedbacks(disp, fn) ((disp)->DeleteTransformFeedbacks = fn) -#define CALL_DrawTransformFeedback(disp, parameters) (*((disp)->DrawTransformFeedback)) parameters -#define GET_DrawTransformFeedback(disp) ((disp)->DrawTransformFeedback) -#define SET_DrawTransformFeedback(disp, fn) ((disp)->DrawTransformFeedback = fn) -#define CALL_GenTransformFeedbacks(disp, parameters) (*((disp)->GenTransformFeedbacks)) parameters -#define GET_GenTransformFeedbacks(disp) ((disp)->GenTransformFeedbacks) -#define SET_GenTransformFeedbacks(disp, fn) ((disp)->GenTransformFeedbacks = fn) -#define CALL_IsTransformFeedback(disp, parameters) (*((disp)->IsTransformFeedback)) parameters -#define GET_IsTransformFeedback(disp) ((disp)->IsTransformFeedback) -#define SET_IsTransformFeedback(disp, fn) ((disp)->IsTransformFeedback = fn) -#define CALL_PauseTransformFeedback(disp, parameters) (*((disp)->PauseTransformFeedback)) parameters -#define GET_PauseTransformFeedback(disp) ((disp)->PauseTransformFeedback) -#define SET_PauseTransformFeedback(disp, fn) ((disp)->PauseTransformFeedback = fn) -#define CALL_ResumeTransformFeedback(disp, parameters) (*((disp)->ResumeTransformFeedback)) parameters -#define GET_ResumeTransformFeedback(disp) ((disp)->ResumeTransformFeedback) -#define SET_ResumeTransformFeedback(disp, fn) ((disp)->ResumeTransformFeedback = fn) -#define CALL_PolygonOffsetEXT(disp, parameters) (*((disp)->PolygonOffsetEXT)) parameters -#define GET_PolygonOffsetEXT(disp) ((disp)->PolygonOffsetEXT) -#define SET_PolygonOffsetEXT(disp, fn) ((disp)->PolygonOffsetEXT = fn) -#define CALL_GetPixelTexGenParameterfvSGIS(disp, parameters) (*((disp)->GetPixelTexGenParameterfvSGIS)) parameters -#define GET_GetPixelTexGenParameterfvSGIS(disp) ((disp)->GetPixelTexGenParameterfvSGIS) -#define SET_GetPixelTexGenParameterfvSGIS(disp, fn) ((disp)->GetPixelTexGenParameterfvSGIS = fn) -#define CALL_GetPixelTexGenParameterivSGIS(disp, parameters) (*((disp)->GetPixelTexGenParameterivSGIS)) parameters -#define GET_GetPixelTexGenParameterivSGIS(disp) ((disp)->GetPixelTexGenParameterivSGIS) -#define SET_GetPixelTexGenParameterivSGIS(disp, fn) ((disp)->GetPixelTexGenParameterivSGIS = fn) -#define CALL_PixelTexGenParameterfSGIS(disp, parameters) (*((disp)->PixelTexGenParameterfSGIS)) parameters -#define GET_PixelTexGenParameterfSGIS(disp) ((disp)->PixelTexGenParameterfSGIS) -#define SET_PixelTexGenParameterfSGIS(disp, fn) ((disp)->PixelTexGenParameterfSGIS = fn) -#define CALL_PixelTexGenParameterfvSGIS(disp, parameters) (*((disp)->PixelTexGenParameterfvSGIS)) parameters -#define GET_PixelTexGenParameterfvSGIS(disp) ((disp)->PixelTexGenParameterfvSGIS) -#define SET_PixelTexGenParameterfvSGIS(disp, fn) ((disp)->PixelTexGenParameterfvSGIS = fn) -#define CALL_PixelTexGenParameteriSGIS(disp, parameters) (*((disp)->PixelTexGenParameteriSGIS)) parameters -#define GET_PixelTexGenParameteriSGIS(disp) ((disp)->PixelTexGenParameteriSGIS) -#define SET_PixelTexGenParameteriSGIS(disp, fn) ((disp)->PixelTexGenParameteriSGIS = fn) -#define CALL_PixelTexGenParameterivSGIS(disp, parameters) (*((disp)->PixelTexGenParameterivSGIS)) parameters -#define GET_PixelTexGenParameterivSGIS(disp) ((disp)->PixelTexGenParameterivSGIS) -#define SET_PixelTexGenParameterivSGIS(disp, fn) ((disp)->PixelTexGenParameterivSGIS = fn) -#define CALL_SampleMaskSGIS(disp, parameters) (*((disp)->SampleMaskSGIS)) parameters -#define GET_SampleMaskSGIS(disp) ((disp)->SampleMaskSGIS) -#define SET_SampleMaskSGIS(disp, fn) ((disp)->SampleMaskSGIS = fn) -#define CALL_SamplePatternSGIS(disp, parameters) (*((disp)->SamplePatternSGIS)) parameters -#define GET_SamplePatternSGIS(disp) ((disp)->SamplePatternSGIS) -#define SET_SamplePatternSGIS(disp, fn) ((disp)->SamplePatternSGIS = fn) -#define CALL_ColorPointerEXT(disp, parameters) (*((disp)->ColorPointerEXT)) parameters -#define GET_ColorPointerEXT(disp) ((disp)->ColorPointerEXT) -#define SET_ColorPointerEXT(disp, fn) ((disp)->ColorPointerEXT = fn) -#define CALL_EdgeFlagPointerEXT(disp, parameters) (*((disp)->EdgeFlagPointerEXT)) parameters -#define GET_EdgeFlagPointerEXT(disp) ((disp)->EdgeFlagPointerEXT) -#define SET_EdgeFlagPointerEXT(disp, fn) ((disp)->EdgeFlagPointerEXT = fn) -#define CALL_IndexPointerEXT(disp, parameters) (*((disp)->IndexPointerEXT)) parameters -#define GET_IndexPointerEXT(disp) ((disp)->IndexPointerEXT) -#define SET_IndexPointerEXT(disp, fn) ((disp)->IndexPointerEXT = fn) -#define CALL_NormalPointerEXT(disp, parameters) (*((disp)->NormalPointerEXT)) parameters -#define GET_NormalPointerEXT(disp) ((disp)->NormalPointerEXT) -#define SET_NormalPointerEXT(disp, fn) ((disp)->NormalPointerEXT = fn) -#define CALL_TexCoordPointerEXT(disp, parameters) (*((disp)->TexCoordPointerEXT)) parameters -#define GET_TexCoordPointerEXT(disp) ((disp)->TexCoordPointerEXT) -#define SET_TexCoordPointerEXT(disp, fn) ((disp)->TexCoordPointerEXT = fn) -#define CALL_VertexPointerEXT(disp, parameters) (*((disp)->VertexPointerEXT)) parameters -#define GET_VertexPointerEXT(disp) ((disp)->VertexPointerEXT) -#define SET_VertexPointerEXT(disp, fn) ((disp)->VertexPointerEXT = fn) -#define CALL_PointParameterfEXT(disp, parameters) (*((disp)->PointParameterfEXT)) parameters -#define GET_PointParameterfEXT(disp) ((disp)->PointParameterfEXT) -#define SET_PointParameterfEXT(disp, fn) ((disp)->PointParameterfEXT = fn) -#define CALL_PointParameterfvEXT(disp, parameters) (*((disp)->PointParameterfvEXT)) parameters -#define GET_PointParameterfvEXT(disp) ((disp)->PointParameterfvEXT) -#define SET_PointParameterfvEXT(disp, fn) ((disp)->PointParameterfvEXT = fn) -#define CALL_LockArraysEXT(disp, parameters) (*((disp)->LockArraysEXT)) parameters -#define GET_LockArraysEXT(disp) ((disp)->LockArraysEXT) -#define SET_LockArraysEXT(disp, fn) ((disp)->LockArraysEXT = fn) -#define CALL_UnlockArraysEXT(disp, parameters) (*((disp)->UnlockArraysEXT)) parameters -#define GET_UnlockArraysEXT(disp) ((disp)->UnlockArraysEXT) -#define SET_UnlockArraysEXT(disp, fn) ((disp)->UnlockArraysEXT = fn) -#define CALL_SecondaryColor3bEXT(disp, parameters) (*((disp)->SecondaryColor3bEXT)) parameters -#define GET_SecondaryColor3bEXT(disp) ((disp)->SecondaryColor3bEXT) -#define SET_SecondaryColor3bEXT(disp, fn) ((disp)->SecondaryColor3bEXT = fn) -#define CALL_SecondaryColor3bvEXT(disp, parameters) (*((disp)->SecondaryColor3bvEXT)) parameters -#define GET_SecondaryColor3bvEXT(disp) ((disp)->SecondaryColor3bvEXT) -#define SET_SecondaryColor3bvEXT(disp, fn) ((disp)->SecondaryColor3bvEXT = fn) -#define CALL_SecondaryColor3dEXT(disp, parameters) (*((disp)->SecondaryColor3dEXT)) parameters -#define GET_SecondaryColor3dEXT(disp) ((disp)->SecondaryColor3dEXT) -#define SET_SecondaryColor3dEXT(disp, fn) ((disp)->SecondaryColor3dEXT = fn) -#define CALL_SecondaryColor3dvEXT(disp, parameters) (*((disp)->SecondaryColor3dvEXT)) parameters -#define GET_SecondaryColor3dvEXT(disp) ((disp)->SecondaryColor3dvEXT) -#define SET_SecondaryColor3dvEXT(disp, fn) ((disp)->SecondaryColor3dvEXT = fn) -#define CALL_SecondaryColor3fEXT(disp, parameters) (*((disp)->SecondaryColor3fEXT)) parameters -#define GET_SecondaryColor3fEXT(disp) ((disp)->SecondaryColor3fEXT) -#define SET_SecondaryColor3fEXT(disp, fn) ((disp)->SecondaryColor3fEXT = fn) -#define CALL_SecondaryColor3fvEXT(disp, parameters) (*((disp)->SecondaryColor3fvEXT)) parameters -#define GET_SecondaryColor3fvEXT(disp) ((disp)->SecondaryColor3fvEXT) -#define SET_SecondaryColor3fvEXT(disp, fn) ((disp)->SecondaryColor3fvEXT = fn) -#define CALL_SecondaryColor3iEXT(disp, parameters) (*((disp)->SecondaryColor3iEXT)) parameters -#define GET_SecondaryColor3iEXT(disp) ((disp)->SecondaryColor3iEXT) -#define SET_SecondaryColor3iEXT(disp, fn) ((disp)->SecondaryColor3iEXT = fn) -#define CALL_SecondaryColor3ivEXT(disp, parameters) (*((disp)->SecondaryColor3ivEXT)) parameters -#define GET_SecondaryColor3ivEXT(disp) ((disp)->SecondaryColor3ivEXT) -#define SET_SecondaryColor3ivEXT(disp, fn) ((disp)->SecondaryColor3ivEXT = fn) -#define CALL_SecondaryColor3sEXT(disp, parameters) (*((disp)->SecondaryColor3sEXT)) parameters -#define GET_SecondaryColor3sEXT(disp) ((disp)->SecondaryColor3sEXT) -#define SET_SecondaryColor3sEXT(disp, fn) ((disp)->SecondaryColor3sEXT = fn) -#define CALL_SecondaryColor3svEXT(disp, parameters) (*((disp)->SecondaryColor3svEXT)) parameters -#define GET_SecondaryColor3svEXT(disp) ((disp)->SecondaryColor3svEXT) -#define SET_SecondaryColor3svEXT(disp, fn) ((disp)->SecondaryColor3svEXT = fn) -#define CALL_SecondaryColor3ubEXT(disp, parameters) (*((disp)->SecondaryColor3ubEXT)) parameters -#define GET_SecondaryColor3ubEXT(disp) ((disp)->SecondaryColor3ubEXT) -#define SET_SecondaryColor3ubEXT(disp, fn) ((disp)->SecondaryColor3ubEXT = fn) -#define CALL_SecondaryColor3ubvEXT(disp, parameters) (*((disp)->SecondaryColor3ubvEXT)) parameters -#define GET_SecondaryColor3ubvEXT(disp) ((disp)->SecondaryColor3ubvEXT) -#define SET_SecondaryColor3ubvEXT(disp, fn) ((disp)->SecondaryColor3ubvEXT = fn) -#define CALL_SecondaryColor3uiEXT(disp, parameters) (*((disp)->SecondaryColor3uiEXT)) parameters -#define GET_SecondaryColor3uiEXT(disp) ((disp)->SecondaryColor3uiEXT) -#define SET_SecondaryColor3uiEXT(disp, fn) ((disp)->SecondaryColor3uiEXT = fn) -#define CALL_SecondaryColor3uivEXT(disp, parameters) (*((disp)->SecondaryColor3uivEXT)) parameters -#define GET_SecondaryColor3uivEXT(disp) ((disp)->SecondaryColor3uivEXT) -#define SET_SecondaryColor3uivEXT(disp, fn) ((disp)->SecondaryColor3uivEXT = fn) -#define CALL_SecondaryColor3usEXT(disp, parameters) (*((disp)->SecondaryColor3usEXT)) parameters -#define GET_SecondaryColor3usEXT(disp) ((disp)->SecondaryColor3usEXT) -#define SET_SecondaryColor3usEXT(disp, fn) ((disp)->SecondaryColor3usEXT = fn) -#define CALL_SecondaryColor3usvEXT(disp, parameters) (*((disp)->SecondaryColor3usvEXT)) parameters -#define GET_SecondaryColor3usvEXT(disp) ((disp)->SecondaryColor3usvEXT) -#define SET_SecondaryColor3usvEXT(disp, fn) ((disp)->SecondaryColor3usvEXT = fn) -#define CALL_SecondaryColorPointerEXT(disp, parameters) (*((disp)->SecondaryColorPointerEXT)) parameters -#define GET_SecondaryColorPointerEXT(disp) ((disp)->SecondaryColorPointerEXT) -#define SET_SecondaryColorPointerEXT(disp, fn) ((disp)->SecondaryColorPointerEXT = fn) -#define CALL_MultiDrawArraysEXT(disp, parameters) (*((disp)->MultiDrawArraysEXT)) parameters -#define GET_MultiDrawArraysEXT(disp) ((disp)->MultiDrawArraysEXT) -#define SET_MultiDrawArraysEXT(disp, fn) ((disp)->MultiDrawArraysEXT = fn) -#define CALL_MultiDrawElementsEXT(disp, parameters) (*((disp)->MultiDrawElementsEXT)) parameters -#define GET_MultiDrawElementsEXT(disp) ((disp)->MultiDrawElementsEXT) -#define SET_MultiDrawElementsEXT(disp, fn) ((disp)->MultiDrawElementsEXT = fn) -#define CALL_FogCoordPointerEXT(disp, parameters) (*((disp)->FogCoordPointerEXT)) parameters -#define GET_FogCoordPointerEXT(disp) ((disp)->FogCoordPointerEXT) -#define SET_FogCoordPointerEXT(disp, fn) ((disp)->FogCoordPointerEXT = fn) -#define CALL_FogCoorddEXT(disp, parameters) (*((disp)->FogCoorddEXT)) parameters -#define GET_FogCoorddEXT(disp) ((disp)->FogCoorddEXT) -#define SET_FogCoorddEXT(disp, fn) ((disp)->FogCoorddEXT = fn) -#define CALL_FogCoorddvEXT(disp, parameters) (*((disp)->FogCoorddvEXT)) parameters -#define GET_FogCoorddvEXT(disp) ((disp)->FogCoorddvEXT) -#define SET_FogCoorddvEXT(disp, fn) ((disp)->FogCoorddvEXT = fn) -#define CALL_FogCoordfEXT(disp, parameters) (*((disp)->FogCoordfEXT)) parameters -#define GET_FogCoordfEXT(disp) ((disp)->FogCoordfEXT) -#define SET_FogCoordfEXT(disp, fn) ((disp)->FogCoordfEXT = fn) -#define CALL_FogCoordfvEXT(disp, parameters) (*((disp)->FogCoordfvEXT)) parameters -#define GET_FogCoordfvEXT(disp) ((disp)->FogCoordfvEXT) -#define SET_FogCoordfvEXT(disp, fn) ((disp)->FogCoordfvEXT = fn) -#define CALL_PixelTexGenSGIX(disp, parameters) (*((disp)->PixelTexGenSGIX)) parameters -#define GET_PixelTexGenSGIX(disp) ((disp)->PixelTexGenSGIX) -#define SET_PixelTexGenSGIX(disp, fn) ((disp)->PixelTexGenSGIX = fn) -#define CALL_BlendFuncSeparateEXT(disp, parameters) (*((disp)->BlendFuncSeparateEXT)) parameters -#define GET_BlendFuncSeparateEXT(disp) ((disp)->BlendFuncSeparateEXT) -#define SET_BlendFuncSeparateEXT(disp, fn) ((disp)->BlendFuncSeparateEXT = fn) -#define CALL_FlushVertexArrayRangeNV(disp, parameters) (*((disp)->FlushVertexArrayRangeNV)) parameters -#define GET_FlushVertexArrayRangeNV(disp) ((disp)->FlushVertexArrayRangeNV) -#define SET_FlushVertexArrayRangeNV(disp, fn) ((disp)->FlushVertexArrayRangeNV = fn) -#define CALL_VertexArrayRangeNV(disp, parameters) (*((disp)->VertexArrayRangeNV)) parameters -#define GET_VertexArrayRangeNV(disp) ((disp)->VertexArrayRangeNV) -#define SET_VertexArrayRangeNV(disp, fn) ((disp)->VertexArrayRangeNV = fn) -#define CALL_CombinerInputNV(disp, parameters) (*((disp)->CombinerInputNV)) parameters -#define GET_CombinerInputNV(disp) ((disp)->CombinerInputNV) -#define SET_CombinerInputNV(disp, fn) ((disp)->CombinerInputNV = fn) -#define CALL_CombinerOutputNV(disp, parameters) (*((disp)->CombinerOutputNV)) parameters -#define GET_CombinerOutputNV(disp) ((disp)->CombinerOutputNV) -#define SET_CombinerOutputNV(disp, fn) ((disp)->CombinerOutputNV = fn) -#define CALL_CombinerParameterfNV(disp, parameters) (*((disp)->CombinerParameterfNV)) parameters -#define GET_CombinerParameterfNV(disp) ((disp)->CombinerParameterfNV) -#define SET_CombinerParameterfNV(disp, fn) ((disp)->CombinerParameterfNV = fn) -#define CALL_CombinerParameterfvNV(disp, parameters) (*((disp)->CombinerParameterfvNV)) parameters -#define GET_CombinerParameterfvNV(disp) ((disp)->CombinerParameterfvNV) -#define SET_CombinerParameterfvNV(disp, fn) ((disp)->CombinerParameterfvNV = fn) -#define CALL_CombinerParameteriNV(disp, parameters) (*((disp)->CombinerParameteriNV)) parameters -#define GET_CombinerParameteriNV(disp) ((disp)->CombinerParameteriNV) -#define SET_CombinerParameteriNV(disp, fn) ((disp)->CombinerParameteriNV = fn) -#define CALL_CombinerParameterivNV(disp, parameters) (*((disp)->CombinerParameterivNV)) parameters -#define GET_CombinerParameterivNV(disp) ((disp)->CombinerParameterivNV) -#define SET_CombinerParameterivNV(disp, fn) ((disp)->CombinerParameterivNV = fn) -#define CALL_FinalCombinerInputNV(disp, parameters) (*((disp)->FinalCombinerInputNV)) parameters -#define GET_FinalCombinerInputNV(disp) ((disp)->FinalCombinerInputNV) -#define SET_FinalCombinerInputNV(disp, fn) ((disp)->FinalCombinerInputNV = fn) -#define CALL_GetCombinerInputParameterfvNV(disp, parameters) (*((disp)->GetCombinerInputParameterfvNV)) parameters -#define GET_GetCombinerInputParameterfvNV(disp) ((disp)->GetCombinerInputParameterfvNV) -#define SET_GetCombinerInputParameterfvNV(disp, fn) ((disp)->GetCombinerInputParameterfvNV = fn) -#define CALL_GetCombinerInputParameterivNV(disp, parameters) (*((disp)->GetCombinerInputParameterivNV)) parameters -#define GET_GetCombinerInputParameterivNV(disp) ((disp)->GetCombinerInputParameterivNV) -#define SET_GetCombinerInputParameterivNV(disp, fn) ((disp)->GetCombinerInputParameterivNV = fn) -#define CALL_GetCombinerOutputParameterfvNV(disp, parameters) (*((disp)->GetCombinerOutputParameterfvNV)) parameters -#define GET_GetCombinerOutputParameterfvNV(disp) ((disp)->GetCombinerOutputParameterfvNV) -#define SET_GetCombinerOutputParameterfvNV(disp, fn) ((disp)->GetCombinerOutputParameterfvNV = fn) -#define CALL_GetCombinerOutputParameterivNV(disp, parameters) (*((disp)->GetCombinerOutputParameterivNV)) parameters -#define GET_GetCombinerOutputParameterivNV(disp) ((disp)->GetCombinerOutputParameterivNV) -#define SET_GetCombinerOutputParameterivNV(disp, fn) ((disp)->GetCombinerOutputParameterivNV = fn) -#define CALL_GetFinalCombinerInputParameterfvNV(disp, parameters) (*((disp)->GetFinalCombinerInputParameterfvNV)) parameters -#define GET_GetFinalCombinerInputParameterfvNV(disp) ((disp)->GetFinalCombinerInputParameterfvNV) -#define SET_GetFinalCombinerInputParameterfvNV(disp, fn) ((disp)->GetFinalCombinerInputParameterfvNV = fn) -#define CALL_GetFinalCombinerInputParameterivNV(disp, parameters) (*((disp)->GetFinalCombinerInputParameterivNV)) parameters -#define GET_GetFinalCombinerInputParameterivNV(disp) ((disp)->GetFinalCombinerInputParameterivNV) -#define SET_GetFinalCombinerInputParameterivNV(disp, fn) ((disp)->GetFinalCombinerInputParameterivNV = fn) -#define CALL_ResizeBuffersMESA(disp, parameters) (*((disp)->ResizeBuffersMESA)) parameters -#define GET_ResizeBuffersMESA(disp) ((disp)->ResizeBuffersMESA) -#define SET_ResizeBuffersMESA(disp, fn) ((disp)->ResizeBuffersMESA = fn) -#define CALL_WindowPos2dMESA(disp, parameters) (*((disp)->WindowPos2dMESA)) parameters -#define GET_WindowPos2dMESA(disp) ((disp)->WindowPos2dMESA) -#define SET_WindowPos2dMESA(disp, fn) ((disp)->WindowPos2dMESA = fn) -#define CALL_WindowPos2dvMESA(disp, parameters) (*((disp)->WindowPos2dvMESA)) parameters -#define GET_WindowPos2dvMESA(disp) ((disp)->WindowPos2dvMESA) -#define SET_WindowPos2dvMESA(disp, fn) ((disp)->WindowPos2dvMESA = fn) -#define CALL_WindowPos2fMESA(disp, parameters) (*((disp)->WindowPos2fMESA)) parameters -#define GET_WindowPos2fMESA(disp) ((disp)->WindowPos2fMESA) -#define SET_WindowPos2fMESA(disp, fn) ((disp)->WindowPos2fMESA = fn) -#define CALL_WindowPos2fvMESA(disp, parameters) (*((disp)->WindowPos2fvMESA)) parameters -#define GET_WindowPos2fvMESA(disp) ((disp)->WindowPos2fvMESA) -#define SET_WindowPos2fvMESA(disp, fn) ((disp)->WindowPos2fvMESA = fn) -#define CALL_WindowPos2iMESA(disp, parameters) (*((disp)->WindowPos2iMESA)) parameters -#define GET_WindowPos2iMESA(disp) ((disp)->WindowPos2iMESA) -#define SET_WindowPos2iMESA(disp, fn) ((disp)->WindowPos2iMESA = fn) -#define CALL_WindowPos2ivMESA(disp, parameters) (*((disp)->WindowPos2ivMESA)) parameters -#define GET_WindowPos2ivMESA(disp) ((disp)->WindowPos2ivMESA) -#define SET_WindowPos2ivMESA(disp, fn) ((disp)->WindowPos2ivMESA = fn) -#define CALL_WindowPos2sMESA(disp, parameters) (*((disp)->WindowPos2sMESA)) parameters -#define GET_WindowPos2sMESA(disp) ((disp)->WindowPos2sMESA) -#define SET_WindowPos2sMESA(disp, fn) ((disp)->WindowPos2sMESA = fn) -#define CALL_WindowPos2svMESA(disp, parameters) (*((disp)->WindowPos2svMESA)) parameters -#define GET_WindowPos2svMESA(disp) ((disp)->WindowPos2svMESA) -#define SET_WindowPos2svMESA(disp, fn) ((disp)->WindowPos2svMESA = fn) -#define CALL_WindowPos3dMESA(disp, parameters) (*((disp)->WindowPos3dMESA)) parameters -#define GET_WindowPos3dMESA(disp) ((disp)->WindowPos3dMESA) -#define SET_WindowPos3dMESA(disp, fn) ((disp)->WindowPos3dMESA = fn) -#define CALL_WindowPos3dvMESA(disp, parameters) (*((disp)->WindowPos3dvMESA)) parameters -#define GET_WindowPos3dvMESA(disp) ((disp)->WindowPos3dvMESA) -#define SET_WindowPos3dvMESA(disp, fn) ((disp)->WindowPos3dvMESA = fn) -#define CALL_WindowPos3fMESA(disp, parameters) (*((disp)->WindowPos3fMESA)) parameters -#define GET_WindowPos3fMESA(disp) ((disp)->WindowPos3fMESA) -#define SET_WindowPos3fMESA(disp, fn) ((disp)->WindowPos3fMESA = fn) -#define CALL_WindowPos3fvMESA(disp, parameters) (*((disp)->WindowPos3fvMESA)) parameters -#define GET_WindowPos3fvMESA(disp) ((disp)->WindowPos3fvMESA) -#define SET_WindowPos3fvMESA(disp, fn) ((disp)->WindowPos3fvMESA = fn) -#define CALL_WindowPos3iMESA(disp, parameters) (*((disp)->WindowPos3iMESA)) parameters -#define GET_WindowPos3iMESA(disp) ((disp)->WindowPos3iMESA) -#define SET_WindowPos3iMESA(disp, fn) ((disp)->WindowPos3iMESA = fn) -#define CALL_WindowPos3ivMESA(disp, parameters) (*((disp)->WindowPos3ivMESA)) parameters -#define GET_WindowPos3ivMESA(disp) ((disp)->WindowPos3ivMESA) -#define SET_WindowPos3ivMESA(disp, fn) ((disp)->WindowPos3ivMESA = fn) -#define CALL_WindowPos3sMESA(disp, parameters) (*((disp)->WindowPos3sMESA)) parameters -#define GET_WindowPos3sMESA(disp) ((disp)->WindowPos3sMESA) -#define SET_WindowPos3sMESA(disp, fn) ((disp)->WindowPos3sMESA = fn) -#define CALL_WindowPos3svMESA(disp, parameters) (*((disp)->WindowPos3svMESA)) parameters -#define GET_WindowPos3svMESA(disp) ((disp)->WindowPos3svMESA) -#define SET_WindowPos3svMESA(disp, fn) ((disp)->WindowPos3svMESA = fn) -#define CALL_WindowPos4dMESA(disp, parameters) (*((disp)->WindowPos4dMESA)) parameters -#define GET_WindowPos4dMESA(disp) ((disp)->WindowPos4dMESA) -#define SET_WindowPos4dMESA(disp, fn) ((disp)->WindowPos4dMESA = fn) -#define CALL_WindowPos4dvMESA(disp, parameters) (*((disp)->WindowPos4dvMESA)) parameters -#define GET_WindowPos4dvMESA(disp) ((disp)->WindowPos4dvMESA) -#define SET_WindowPos4dvMESA(disp, fn) ((disp)->WindowPos4dvMESA = fn) -#define CALL_WindowPos4fMESA(disp, parameters) (*((disp)->WindowPos4fMESA)) parameters -#define GET_WindowPos4fMESA(disp) ((disp)->WindowPos4fMESA) -#define SET_WindowPos4fMESA(disp, fn) ((disp)->WindowPos4fMESA = fn) -#define CALL_WindowPos4fvMESA(disp, parameters) (*((disp)->WindowPos4fvMESA)) parameters -#define GET_WindowPos4fvMESA(disp) ((disp)->WindowPos4fvMESA) -#define SET_WindowPos4fvMESA(disp, fn) ((disp)->WindowPos4fvMESA = fn) -#define CALL_WindowPos4iMESA(disp, parameters) (*((disp)->WindowPos4iMESA)) parameters -#define GET_WindowPos4iMESA(disp) ((disp)->WindowPos4iMESA) -#define SET_WindowPos4iMESA(disp, fn) ((disp)->WindowPos4iMESA = fn) -#define CALL_WindowPos4ivMESA(disp, parameters) (*((disp)->WindowPos4ivMESA)) parameters -#define GET_WindowPos4ivMESA(disp) ((disp)->WindowPos4ivMESA) -#define SET_WindowPos4ivMESA(disp, fn) ((disp)->WindowPos4ivMESA = fn) -#define CALL_WindowPos4sMESA(disp, parameters) (*((disp)->WindowPos4sMESA)) parameters -#define GET_WindowPos4sMESA(disp) ((disp)->WindowPos4sMESA) -#define SET_WindowPos4sMESA(disp, fn) ((disp)->WindowPos4sMESA = fn) -#define CALL_WindowPos4svMESA(disp, parameters) (*((disp)->WindowPos4svMESA)) parameters -#define GET_WindowPos4svMESA(disp) ((disp)->WindowPos4svMESA) -#define SET_WindowPos4svMESA(disp, fn) ((disp)->WindowPos4svMESA = fn) -#define CALL_MultiModeDrawArraysIBM(disp, parameters) (*((disp)->MultiModeDrawArraysIBM)) parameters -#define GET_MultiModeDrawArraysIBM(disp) ((disp)->MultiModeDrawArraysIBM) -#define SET_MultiModeDrawArraysIBM(disp, fn) ((disp)->MultiModeDrawArraysIBM = fn) -#define CALL_MultiModeDrawElementsIBM(disp, parameters) (*((disp)->MultiModeDrawElementsIBM)) parameters -#define GET_MultiModeDrawElementsIBM(disp) ((disp)->MultiModeDrawElementsIBM) -#define SET_MultiModeDrawElementsIBM(disp, fn) ((disp)->MultiModeDrawElementsIBM = fn) -#define CALL_DeleteFencesNV(disp, parameters) (*((disp)->DeleteFencesNV)) parameters -#define GET_DeleteFencesNV(disp) ((disp)->DeleteFencesNV) -#define SET_DeleteFencesNV(disp, fn) ((disp)->DeleteFencesNV = fn) -#define CALL_FinishFenceNV(disp, parameters) (*((disp)->FinishFenceNV)) parameters -#define GET_FinishFenceNV(disp) ((disp)->FinishFenceNV) -#define SET_FinishFenceNV(disp, fn) ((disp)->FinishFenceNV = fn) -#define CALL_GenFencesNV(disp, parameters) (*((disp)->GenFencesNV)) parameters -#define GET_GenFencesNV(disp) ((disp)->GenFencesNV) -#define SET_GenFencesNV(disp, fn) ((disp)->GenFencesNV = fn) -#define CALL_GetFenceivNV(disp, parameters) (*((disp)->GetFenceivNV)) parameters -#define GET_GetFenceivNV(disp) ((disp)->GetFenceivNV) -#define SET_GetFenceivNV(disp, fn) ((disp)->GetFenceivNV = fn) -#define CALL_IsFenceNV(disp, parameters) (*((disp)->IsFenceNV)) parameters -#define GET_IsFenceNV(disp) ((disp)->IsFenceNV) -#define SET_IsFenceNV(disp, fn) ((disp)->IsFenceNV = fn) -#define CALL_SetFenceNV(disp, parameters) (*((disp)->SetFenceNV)) parameters -#define GET_SetFenceNV(disp) ((disp)->SetFenceNV) -#define SET_SetFenceNV(disp, fn) ((disp)->SetFenceNV = fn) -#define CALL_TestFenceNV(disp, parameters) (*((disp)->TestFenceNV)) parameters -#define GET_TestFenceNV(disp) ((disp)->TestFenceNV) -#define SET_TestFenceNV(disp, fn) ((disp)->TestFenceNV = fn) -#define CALL_AreProgramsResidentNV(disp, parameters) (*((disp)->AreProgramsResidentNV)) parameters -#define GET_AreProgramsResidentNV(disp) ((disp)->AreProgramsResidentNV) -#define SET_AreProgramsResidentNV(disp, fn) ((disp)->AreProgramsResidentNV = fn) -#define CALL_BindProgramNV(disp, parameters) (*((disp)->BindProgramNV)) parameters -#define GET_BindProgramNV(disp) ((disp)->BindProgramNV) -#define SET_BindProgramNV(disp, fn) ((disp)->BindProgramNV = fn) -#define CALL_DeleteProgramsNV(disp, parameters) (*((disp)->DeleteProgramsNV)) parameters -#define GET_DeleteProgramsNV(disp) ((disp)->DeleteProgramsNV) -#define SET_DeleteProgramsNV(disp, fn) ((disp)->DeleteProgramsNV = fn) -#define CALL_ExecuteProgramNV(disp, parameters) (*((disp)->ExecuteProgramNV)) parameters -#define GET_ExecuteProgramNV(disp) ((disp)->ExecuteProgramNV) -#define SET_ExecuteProgramNV(disp, fn) ((disp)->ExecuteProgramNV = fn) -#define CALL_GenProgramsNV(disp, parameters) (*((disp)->GenProgramsNV)) parameters -#define GET_GenProgramsNV(disp) ((disp)->GenProgramsNV) -#define SET_GenProgramsNV(disp, fn) ((disp)->GenProgramsNV = fn) -#define CALL_GetProgramParameterdvNV(disp, parameters) (*((disp)->GetProgramParameterdvNV)) parameters -#define GET_GetProgramParameterdvNV(disp) ((disp)->GetProgramParameterdvNV) -#define SET_GetProgramParameterdvNV(disp, fn) ((disp)->GetProgramParameterdvNV = fn) -#define CALL_GetProgramParameterfvNV(disp, parameters) (*((disp)->GetProgramParameterfvNV)) parameters -#define GET_GetProgramParameterfvNV(disp) ((disp)->GetProgramParameterfvNV) -#define SET_GetProgramParameterfvNV(disp, fn) ((disp)->GetProgramParameterfvNV = fn) -#define CALL_GetProgramStringNV(disp, parameters) (*((disp)->GetProgramStringNV)) parameters -#define GET_GetProgramStringNV(disp) ((disp)->GetProgramStringNV) -#define SET_GetProgramStringNV(disp, fn) ((disp)->GetProgramStringNV = fn) -#define CALL_GetProgramivNV(disp, parameters) (*((disp)->GetProgramivNV)) parameters -#define GET_GetProgramivNV(disp) ((disp)->GetProgramivNV) -#define SET_GetProgramivNV(disp, fn) ((disp)->GetProgramivNV = fn) -#define CALL_GetTrackMatrixivNV(disp, parameters) (*((disp)->GetTrackMatrixivNV)) parameters -#define GET_GetTrackMatrixivNV(disp) ((disp)->GetTrackMatrixivNV) -#define SET_GetTrackMatrixivNV(disp, fn) ((disp)->GetTrackMatrixivNV = fn) -#define CALL_GetVertexAttribPointervNV(disp, parameters) (*((disp)->GetVertexAttribPointervNV)) parameters -#define GET_GetVertexAttribPointervNV(disp) ((disp)->GetVertexAttribPointervNV) -#define SET_GetVertexAttribPointervNV(disp, fn) ((disp)->GetVertexAttribPointervNV = fn) -#define CALL_GetVertexAttribdvNV(disp, parameters) (*((disp)->GetVertexAttribdvNV)) parameters -#define GET_GetVertexAttribdvNV(disp) ((disp)->GetVertexAttribdvNV) -#define SET_GetVertexAttribdvNV(disp, fn) ((disp)->GetVertexAttribdvNV = fn) -#define CALL_GetVertexAttribfvNV(disp, parameters) (*((disp)->GetVertexAttribfvNV)) parameters -#define GET_GetVertexAttribfvNV(disp) ((disp)->GetVertexAttribfvNV) -#define SET_GetVertexAttribfvNV(disp, fn) ((disp)->GetVertexAttribfvNV = fn) -#define CALL_GetVertexAttribivNV(disp, parameters) (*((disp)->GetVertexAttribivNV)) parameters -#define GET_GetVertexAttribivNV(disp) ((disp)->GetVertexAttribivNV) -#define SET_GetVertexAttribivNV(disp, fn) ((disp)->GetVertexAttribivNV = fn) -#define CALL_IsProgramNV(disp, parameters) (*((disp)->IsProgramNV)) parameters -#define GET_IsProgramNV(disp) ((disp)->IsProgramNV) -#define SET_IsProgramNV(disp, fn) ((disp)->IsProgramNV = fn) -#define CALL_LoadProgramNV(disp, parameters) (*((disp)->LoadProgramNV)) parameters -#define GET_LoadProgramNV(disp) ((disp)->LoadProgramNV) -#define SET_LoadProgramNV(disp, fn) ((disp)->LoadProgramNV = fn) -#define CALL_ProgramParameters4dvNV(disp, parameters) (*((disp)->ProgramParameters4dvNV)) parameters -#define GET_ProgramParameters4dvNV(disp) ((disp)->ProgramParameters4dvNV) -#define SET_ProgramParameters4dvNV(disp, fn) ((disp)->ProgramParameters4dvNV = fn) -#define CALL_ProgramParameters4fvNV(disp, parameters) (*((disp)->ProgramParameters4fvNV)) parameters -#define GET_ProgramParameters4fvNV(disp) ((disp)->ProgramParameters4fvNV) -#define SET_ProgramParameters4fvNV(disp, fn) ((disp)->ProgramParameters4fvNV = fn) -#define CALL_RequestResidentProgramsNV(disp, parameters) (*((disp)->RequestResidentProgramsNV)) parameters -#define GET_RequestResidentProgramsNV(disp) ((disp)->RequestResidentProgramsNV) -#define SET_RequestResidentProgramsNV(disp, fn) ((disp)->RequestResidentProgramsNV = fn) -#define CALL_TrackMatrixNV(disp, parameters) (*((disp)->TrackMatrixNV)) parameters -#define GET_TrackMatrixNV(disp) ((disp)->TrackMatrixNV) -#define SET_TrackMatrixNV(disp, fn) ((disp)->TrackMatrixNV = fn) -#define CALL_VertexAttrib1dNV(disp, parameters) (*((disp)->VertexAttrib1dNV)) parameters -#define GET_VertexAttrib1dNV(disp) ((disp)->VertexAttrib1dNV) -#define SET_VertexAttrib1dNV(disp, fn) ((disp)->VertexAttrib1dNV = fn) -#define CALL_VertexAttrib1dvNV(disp, parameters) (*((disp)->VertexAttrib1dvNV)) parameters -#define GET_VertexAttrib1dvNV(disp) ((disp)->VertexAttrib1dvNV) -#define SET_VertexAttrib1dvNV(disp, fn) ((disp)->VertexAttrib1dvNV = fn) -#define CALL_VertexAttrib1fNV(disp, parameters) (*((disp)->VertexAttrib1fNV)) parameters -#define GET_VertexAttrib1fNV(disp) ((disp)->VertexAttrib1fNV) -#define SET_VertexAttrib1fNV(disp, fn) ((disp)->VertexAttrib1fNV = fn) -#define CALL_VertexAttrib1fvNV(disp, parameters) (*((disp)->VertexAttrib1fvNV)) parameters -#define GET_VertexAttrib1fvNV(disp) ((disp)->VertexAttrib1fvNV) -#define SET_VertexAttrib1fvNV(disp, fn) ((disp)->VertexAttrib1fvNV = fn) -#define CALL_VertexAttrib1sNV(disp, parameters) (*((disp)->VertexAttrib1sNV)) parameters -#define GET_VertexAttrib1sNV(disp) ((disp)->VertexAttrib1sNV) -#define SET_VertexAttrib1sNV(disp, fn) ((disp)->VertexAttrib1sNV = fn) -#define CALL_VertexAttrib1svNV(disp, parameters) (*((disp)->VertexAttrib1svNV)) parameters -#define GET_VertexAttrib1svNV(disp) ((disp)->VertexAttrib1svNV) -#define SET_VertexAttrib1svNV(disp, fn) ((disp)->VertexAttrib1svNV = fn) -#define CALL_VertexAttrib2dNV(disp, parameters) (*((disp)->VertexAttrib2dNV)) parameters -#define GET_VertexAttrib2dNV(disp) ((disp)->VertexAttrib2dNV) -#define SET_VertexAttrib2dNV(disp, fn) ((disp)->VertexAttrib2dNV = fn) -#define CALL_VertexAttrib2dvNV(disp, parameters) (*((disp)->VertexAttrib2dvNV)) parameters -#define GET_VertexAttrib2dvNV(disp) ((disp)->VertexAttrib2dvNV) -#define SET_VertexAttrib2dvNV(disp, fn) ((disp)->VertexAttrib2dvNV = fn) -#define CALL_VertexAttrib2fNV(disp, parameters) (*((disp)->VertexAttrib2fNV)) parameters -#define GET_VertexAttrib2fNV(disp) ((disp)->VertexAttrib2fNV) -#define SET_VertexAttrib2fNV(disp, fn) ((disp)->VertexAttrib2fNV = fn) -#define CALL_VertexAttrib2fvNV(disp, parameters) (*((disp)->VertexAttrib2fvNV)) parameters -#define GET_VertexAttrib2fvNV(disp) ((disp)->VertexAttrib2fvNV) -#define SET_VertexAttrib2fvNV(disp, fn) ((disp)->VertexAttrib2fvNV = fn) -#define CALL_VertexAttrib2sNV(disp, parameters) (*((disp)->VertexAttrib2sNV)) parameters -#define GET_VertexAttrib2sNV(disp) ((disp)->VertexAttrib2sNV) -#define SET_VertexAttrib2sNV(disp, fn) ((disp)->VertexAttrib2sNV = fn) -#define CALL_VertexAttrib2svNV(disp, parameters) (*((disp)->VertexAttrib2svNV)) parameters -#define GET_VertexAttrib2svNV(disp) ((disp)->VertexAttrib2svNV) -#define SET_VertexAttrib2svNV(disp, fn) ((disp)->VertexAttrib2svNV = fn) -#define CALL_VertexAttrib3dNV(disp, parameters) (*((disp)->VertexAttrib3dNV)) parameters -#define GET_VertexAttrib3dNV(disp) ((disp)->VertexAttrib3dNV) -#define SET_VertexAttrib3dNV(disp, fn) ((disp)->VertexAttrib3dNV = fn) -#define CALL_VertexAttrib3dvNV(disp, parameters) (*((disp)->VertexAttrib3dvNV)) parameters -#define GET_VertexAttrib3dvNV(disp) ((disp)->VertexAttrib3dvNV) -#define SET_VertexAttrib3dvNV(disp, fn) ((disp)->VertexAttrib3dvNV = fn) -#define CALL_VertexAttrib3fNV(disp, parameters) (*((disp)->VertexAttrib3fNV)) parameters -#define GET_VertexAttrib3fNV(disp) ((disp)->VertexAttrib3fNV) -#define SET_VertexAttrib3fNV(disp, fn) ((disp)->VertexAttrib3fNV = fn) -#define CALL_VertexAttrib3fvNV(disp, parameters) (*((disp)->VertexAttrib3fvNV)) parameters -#define GET_VertexAttrib3fvNV(disp) ((disp)->VertexAttrib3fvNV) -#define SET_VertexAttrib3fvNV(disp, fn) ((disp)->VertexAttrib3fvNV = fn) -#define CALL_VertexAttrib3sNV(disp, parameters) (*((disp)->VertexAttrib3sNV)) parameters -#define GET_VertexAttrib3sNV(disp) ((disp)->VertexAttrib3sNV) -#define SET_VertexAttrib3sNV(disp, fn) ((disp)->VertexAttrib3sNV = fn) -#define CALL_VertexAttrib3svNV(disp, parameters) (*((disp)->VertexAttrib3svNV)) parameters -#define GET_VertexAttrib3svNV(disp) ((disp)->VertexAttrib3svNV) -#define SET_VertexAttrib3svNV(disp, fn) ((disp)->VertexAttrib3svNV = fn) -#define CALL_VertexAttrib4dNV(disp, parameters) (*((disp)->VertexAttrib4dNV)) parameters -#define GET_VertexAttrib4dNV(disp) ((disp)->VertexAttrib4dNV) -#define SET_VertexAttrib4dNV(disp, fn) ((disp)->VertexAttrib4dNV = fn) -#define CALL_VertexAttrib4dvNV(disp, parameters) (*((disp)->VertexAttrib4dvNV)) parameters -#define GET_VertexAttrib4dvNV(disp) ((disp)->VertexAttrib4dvNV) -#define SET_VertexAttrib4dvNV(disp, fn) ((disp)->VertexAttrib4dvNV = fn) -#define CALL_VertexAttrib4fNV(disp, parameters) (*((disp)->VertexAttrib4fNV)) parameters -#define GET_VertexAttrib4fNV(disp) ((disp)->VertexAttrib4fNV) -#define SET_VertexAttrib4fNV(disp, fn) ((disp)->VertexAttrib4fNV = fn) -#define CALL_VertexAttrib4fvNV(disp, parameters) (*((disp)->VertexAttrib4fvNV)) parameters -#define GET_VertexAttrib4fvNV(disp) ((disp)->VertexAttrib4fvNV) -#define SET_VertexAttrib4fvNV(disp, fn) ((disp)->VertexAttrib4fvNV = fn) -#define CALL_VertexAttrib4sNV(disp, parameters) (*((disp)->VertexAttrib4sNV)) parameters -#define GET_VertexAttrib4sNV(disp) ((disp)->VertexAttrib4sNV) -#define SET_VertexAttrib4sNV(disp, fn) ((disp)->VertexAttrib4sNV = fn) -#define CALL_VertexAttrib4svNV(disp, parameters) (*((disp)->VertexAttrib4svNV)) parameters -#define GET_VertexAttrib4svNV(disp) ((disp)->VertexAttrib4svNV) -#define SET_VertexAttrib4svNV(disp, fn) ((disp)->VertexAttrib4svNV = fn) -#define CALL_VertexAttrib4ubNV(disp, parameters) (*((disp)->VertexAttrib4ubNV)) parameters -#define GET_VertexAttrib4ubNV(disp) ((disp)->VertexAttrib4ubNV) -#define SET_VertexAttrib4ubNV(disp, fn) ((disp)->VertexAttrib4ubNV = fn) -#define CALL_VertexAttrib4ubvNV(disp, parameters) (*((disp)->VertexAttrib4ubvNV)) parameters -#define GET_VertexAttrib4ubvNV(disp) ((disp)->VertexAttrib4ubvNV) -#define SET_VertexAttrib4ubvNV(disp, fn) ((disp)->VertexAttrib4ubvNV = fn) -#define CALL_VertexAttribPointerNV(disp, parameters) (*((disp)->VertexAttribPointerNV)) parameters -#define GET_VertexAttribPointerNV(disp) ((disp)->VertexAttribPointerNV) -#define SET_VertexAttribPointerNV(disp, fn) ((disp)->VertexAttribPointerNV = fn) -#define CALL_VertexAttribs1dvNV(disp, parameters) (*((disp)->VertexAttribs1dvNV)) parameters -#define GET_VertexAttribs1dvNV(disp) ((disp)->VertexAttribs1dvNV) -#define SET_VertexAttribs1dvNV(disp, fn) ((disp)->VertexAttribs1dvNV = fn) -#define CALL_VertexAttribs1fvNV(disp, parameters) (*((disp)->VertexAttribs1fvNV)) parameters -#define GET_VertexAttribs1fvNV(disp) ((disp)->VertexAttribs1fvNV) -#define SET_VertexAttribs1fvNV(disp, fn) ((disp)->VertexAttribs1fvNV = fn) -#define CALL_VertexAttribs1svNV(disp, parameters) (*((disp)->VertexAttribs1svNV)) parameters -#define GET_VertexAttribs1svNV(disp) ((disp)->VertexAttribs1svNV) -#define SET_VertexAttribs1svNV(disp, fn) ((disp)->VertexAttribs1svNV = fn) -#define CALL_VertexAttribs2dvNV(disp, parameters) (*((disp)->VertexAttribs2dvNV)) parameters -#define GET_VertexAttribs2dvNV(disp) ((disp)->VertexAttribs2dvNV) -#define SET_VertexAttribs2dvNV(disp, fn) ((disp)->VertexAttribs2dvNV = fn) -#define CALL_VertexAttribs2fvNV(disp, parameters) (*((disp)->VertexAttribs2fvNV)) parameters -#define GET_VertexAttribs2fvNV(disp) ((disp)->VertexAttribs2fvNV) -#define SET_VertexAttribs2fvNV(disp, fn) ((disp)->VertexAttribs2fvNV = fn) -#define CALL_VertexAttribs2svNV(disp, parameters) (*((disp)->VertexAttribs2svNV)) parameters -#define GET_VertexAttribs2svNV(disp) ((disp)->VertexAttribs2svNV) -#define SET_VertexAttribs2svNV(disp, fn) ((disp)->VertexAttribs2svNV = fn) -#define CALL_VertexAttribs3dvNV(disp, parameters) (*((disp)->VertexAttribs3dvNV)) parameters -#define GET_VertexAttribs3dvNV(disp) ((disp)->VertexAttribs3dvNV) -#define SET_VertexAttribs3dvNV(disp, fn) ((disp)->VertexAttribs3dvNV = fn) -#define CALL_VertexAttribs3fvNV(disp, parameters) (*((disp)->VertexAttribs3fvNV)) parameters -#define GET_VertexAttribs3fvNV(disp) ((disp)->VertexAttribs3fvNV) -#define SET_VertexAttribs3fvNV(disp, fn) ((disp)->VertexAttribs3fvNV = fn) -#define CALL_VertexAttribs3svNV(disp, parameters) (*((disp)->VertexAttribs3svNV)) parameters -#define GET_VertexAttribs3svNV(disp) ((disp)->VertexAttribs3svNV) -#define SET_VertexAttribs3svNV(disp, fn) ((disp)->VertexAttribs3svNV = fn) -#define CALL_VertexAttribs4dvNV(disp, parameters) (*((disp)->VertexAttribs4dvNV)) parameters -#define GET_VertexAttribs4dvNV(disp) ((disp)->VertexAttribs4dvNV) -#define SET_VertexAttribs4dvNV(disp, fn) ((disp)->VertexAttribs4dvNV = fn) -#define CALL_VertexAttribs4fvNV(disp, parameters) (*((disp)->VertexAttribs4fvNV)) parameters -#define GET_VertexAttribs4fvNV(disp) ((disp)->VertexAttribs4fvNV) -#define SET_VertexAttribs4fvNV(disp, fn) ((disp)->VertexAttribs4fvNV = fn) -#define CALL_VertexAttribs4svNV(disp, parameters) (*((disp)->VertexAttribs4svNV)) parameters -#define GET_VertexAttribs4svNV(disp) ((disp)->VertexAttribs4svNV) -#define SET_VertexAttribs4svNV(disp, fn) ((disp)->VertexAttribs4svNV = fn) -#define CALL_VertexAttribs4ubvNV(disp, parameters) (*((disp)->VertexAttribs4ubvNV)) parameters -#define GET_VertexAttribs4ubvNV(disp) ((disp)->VertexAttribs4ubvNV) -#define SET_VertexAttribs4ubvNV(disp, fn) ((disp)->VertexAttribs4ubvNV = fn) -#define CALL_GetTexBumpParameterfvATI(disp, parameters) (*((disp)->GetTexBumpParameterfvATI)) parameters -#define GET_GetTexBumpParameterfvATI(disp) ((disp)->GetTexBumpParameterfvATI) -#define SET_GetTexBumpParameterfvATI(disp, fn) ((disp)->GetTexBumpParameterfvATI = fn) -#define CALL_GetTexBumpParameterivATI(disp, parameters) (*((disp)->GetTexBumpParameterivATI)) parameters -#define GET_GetTexBumpParameterivATI(disp) ((disp)->GetTexBumpParameterivATI) -#define SET_GetTexBumpParameterivATI(disp, fn) ((disp)->GetTexBumpParameterivATI = fn) -#define CALL_TexBumpParameterfvATI(disp, parameters) (*((disp)->TexBumpParameterfvATI)) parameters -#define GET_TexBumpParameterfvATI(disp) ((disp)->TexBumpParameterfvATI) -#define SET_TexBumpParameterfvATI(disp, fn) ((disp)->TexBumpParameterfvATI = fn) -#define CALL_TexBumpParameterivATI(disp, parameters) (*((disp)->TexBumpParameterivATI)) parameters -#define GET_TexBumpParameterivATI(disp) ((disp)->TexBumpParameterivATI) -#define SET_TexBumpParameterivATI(disp, fn) ((disp)->TexBumpParameterivATI = fn) -#define CALL_AlphaFragmentOp1ATI(disp, parameters) (*((disp)->AlphaFragmentOp1ATI)) parameters -#define GET_AlphaFragmentOp1ATI(disp) ((disp)->AlphaFragmentOp1ATI) -#define SET_AlphaFragmentOp1ATI(disp, fn) ((disp)->AlphaFragmentOp1ATI = fn) -#define CALL_AlphaFragmentOp2ATI(disp, parameters) (*((disp)->AlphaFragmentOp2ATI)) parameters -#define GET_AlphaFragmentOp2ATI(disp) ((disp)->AlphaFragmentOp2ATI) -#define SET_AlphaFragmentOp2ATI(disp, fn) ((disp)->AlphaFragmentOp2ATI = fn) -#define CALL_AlphaFragmentOp3ATI(disp, parameters) (*((disp)->AlphaFragmentOp3ATI)) parameters -#define GET_AlphaFragmentOp3ATI(disp) ((disp)->AlphaFragmentOp3ATI) -#define SET_AlphaFragmentOp3ATI(disp, fn) ((disp)->AlphaFragmentOp3ATI = fn) -#define CALL_BeginFragmentShaderATI(disp, parameters) (*((disp)->BeginFragmentShaderATI)) parameters -#define GET_BeginFragmentShaderATI(disp) ((disp)->BeginFragmentShaderATI) -#define SET_BeginFragmentShaderATI(disp, fn) ((disp)->BeginFragmentShaderATI = fn) -#define CALL_BindFragmentShaderATI(disp, parameters) (*((disp)->BindFragmentShaderATI)) parameters -#define GET_BindFragmentShaderATI(disp) ((disp)->BindFragmentShaderATI) -#define SET_BindFragmentShaderATI(disp, fn) ((disp)->BindFragmentShaderATI = fn) -#define CALL_ColorFragmentOp1ATI(disp, parameters) (*((disp)->ColorFragmentOp1ATI)) parameters -#define GET_ColorFragmentOp1ATI(disp) ((disp)->ColorFragmentOp1ATI) -#define SET_ColorFragmentOp1ATI(disp, fn) ((disp)->ColorFragmentOp1ATI = fn) -#define CALL_ColorFragmentOp2ATI(disp, parameters) (*((disp)->ColorFragmentOp2ATI)) parameters -#define GET_ColorFragmentOp2ATI(disp) ((disp)->ColorFragmentOp2ATI) -#define SET_ColorFragmentOp2ATI(disp, fn) ((disp)->ColorFragmentOp2ATI = fn) -#define CALL_ColorFragmentOp3ATI(disp, parameters) (*((disp)->ColorFragmentOp3ATI)) parameters -#define GET_ColorFragmentOp3ATI(disp) ((disp)->ColorFragmentOp3ATI) -#define SET_ColorFragmentOp3ATI(disp, fn) ((disp)->ColorFragmentOp3ATI = fn) -#define CALL_DeleteFragmentShaderATI(disp, parameters) (*((disp)->DeleteFragmentShaderATI)) parameters -#define GET_DeleteFragmentShaderATI(disp) ((disp)->DeleteFragmentShaderATI) -#define SET_DeleteFragmentShaderATI(disp, fn) ((disp)->DeleteFragmentShaderATI = fn) -#define CALL_EndFragmentShaderATI(disp, parameters) (*((disp)->EndFragmentShaderATI)) parameters -#define GET_EndFragmentShaderATI(disp) ((disp)->EndFragmentShaderATI) -#define SET_EndFragmentShaderATI(disp, fn) ((disp)->EndFragmentShaderATI = fn) -#define CALL_GenFragmentShadersATI(disp, parameters) (*((disp)->GenFragmentShadersATI)) parameters -#define GET_GenFragmentShadersATI(disp) ((disp)->GenFragmentShadersATI) -#define SET_GenFragmentShadersATI(disp, fn) ((disp)->GenFragmentShadersATI = fn) -#define CALL_PassTexCoordATI(disp, parameters) (*((disp)->PassTexCoordATI)) parameters -#define GET_PassTexCoordATI(disp) ((disp)->PassTexCoordATI) -#define SET_PassTexCoordATI(disp, fn) ((disp)->PassTexCoordATI = fn) -#define CALL_SampleMapATI(disp, parameters) (*((disp)->SampleMapATI)) parameters -#define GET_SampleMapATI(disp) ((disp)->SampleMapATI) -#define SET_SampleMapATI(disp, fn) ((disp)->SampleMapATI = fn) -#define CALL_SetFragmentShaderConstantATI(disp, parameters) (*((disp)->SetFragmentShaderConstantATI)) parameters -#define GET_SetFragmentShaderConstantATI(disp) ((disp)->SetFragmentShaderConstantATI) -#define SET_SetFragmentShaderConstantATI(disp, fn) ((disp)->SetFragmentShaderConstantATI = fn) -#define CALL_PointParameteriNV(disp, parameters) (*((disp)->PointParameteriNV)) parameters -#define GET_PointParameteriNV(disp) ((disp)->PointParameteriNV) -#define SET_PointParameteriNV(disp, fn) ((disp)->PointParameteriNV = fn) -#define CALL_PointParameterivNV(disp, parameters) (*((disp)->PointParameterivNV)) parameters -#define GET_PointParameterivNV(disp) ((disp)->PointParameterivNV) -#define SET_PointParameterivNV(disp, fn) ((disp)->PointParameterivNV = fn) -#define CALL_ActiveStencilFaceEXT(disp, parameters) (*((disp)->ActiveStencilFaceEXT)) parameters -#define GET_ActiveStencilFaceEXT(disp) ((disp)->ActiveStencilFaceEXT) -#define SET_ActiveStencilFaceEXT(disp, fn) ((disp)->ActiveStencilFaceEXT = fn) -#define CALL_BindVertexArrayAPPLE(disp, parameters) (*((disp)->BindVertexArrayAPPLE)) parameters -#define GET_BindVertexArrayAPPLE(disp) ((disp)->BindVertexArrayAPPLE) -#define SET_BindVertexArrayAPPLE(disp, fn) ((disp)->BindVertexArrayAPPLE = fn) -#define CALL_DeleteVertexArraysAPPLE(disp, parameters) (*((disp)->DeleteVertexArraysAPPLE)) parameters -#define GET_DeleteVertexArraysAPPLE(disp) ((disp)->DeleteVertexArraysAPPLE) -#define SET_DeleteVertexArraysAPPLE(disp, fn) ((disp)->DeleteVertexArraysAPPLE = fn) -#define CALL_GenVertexArraysAPPLE(disp, parameters) (*((disp)->GenVertexArraysAPPLE)) parameters -#define GET_GenVertexArraysAPPLE(disp) ((disp)->GenVertexArraysAPPLE) -#define SET_GenVertexArraysAPPLE(disp, fn) ((disp)->GenVertexArraysAPPLE = fn) -#define CALL_IsVertexArrayAPPLE(disp, parameters) (*((disp)->IsVertexArrayAPPLE)) parameters -#define GET_IsVertexArrayAPPLE(disp) ((disp)->IsVertexArrayAPPLE) -#define SET_IsVertexArrayAPPLE(disp, fn) ((disp)->IsVertexArrayAPPLE = fn) -#define CALL_GetProgramNamedParameterdvNV(disp, parameters) (*((disp)->GetProgramNamedParameterdvNV)) parameters -#define GET_GetProgramNamedParameterdvNV(disp) ((disp)->GetProgramNamedParameterdvNV) -#define SET_GetProgramNamedParameterdvNV(disp, fn) ((disp)->GetProgramNamedParameterdvNV = fn) -#define CALL_GetProgramNamedParameterfvNV(disp, parameters) (*((disp)->GetProgramNamedParameterfvNV)) parameters -#define GET_GetProgramNamedParameterfvNV(disp) ((disp)->GetProgramNamedParameterfvNV) -#define SET_GetProgramNamedParameterfvNV(disp, fn) ((disp)->GetProgramNamedParameterfvNV = fn) -#define CALL_ProgramNamedParameter4dNV(disp, parameters) (*((disp)->ProgramNamedParameter4dNV)) parameters -#define GET_ProgramNamedParameter4dNV(disp) ((disp)->ProgramNamedParameter4dNV) -#define SET_ProgramNamedParameter4dNV(disp, fn) ((disp)->ProgramNamedParameter4dNV = fn) -#define CALL_ProgramNamedParameter4dvNV(disp, parameters) (*((disp)->ProgramNamedParameter4dvNV)) parameters -#define GET_ProgramNamedParameter4dvNV(disp) ((disp)->ProgramNamedParameter4dvNV) -#define SET_ProgramNamedParameter4dvNV(disp, fn) ((disp)->ProgramNamedParameter4dvNV = fn) -#define CALL_ProgramNamedParameter4fNV(disp, parameters) (*((disp)->ProgramNamedParameter4fNV)) parameters -#define GET_ProgramNamedParameter4fNV(disp) ((disp)->ProgramNamedParameter4fNV) -#define SET_ProgramNamedParameter4fNV(disp, fn) ((disp)->ProgramNamedParameter4fNV = fn) -#define CALL_ProgramNamedParameter4fvNV(disp, parameters) (*((disp)->ProgramNamedParameter4fvNV)) parameters -#define GET_ProgramNamedParameter4fvNV(disp) ((disp)->ProgramNamedParameter4fvNV) -#define SET_ProgramNamedParameter4fvNV(disp, fn) ((disp)->ProgramNamedParameter4fvNV = fn) -#define CALL_PrimitiveRestartIndexNV(disp, parameters) (*((disp)->PrimitiveRestartIndexNV)) parameters -#define GET_PrimitiveRestartIndexNV(disp) ((disp)->PrimitiveRestartIndexNV) -#define SET_PrimitiveRestartIndexNV(disp, fn) ((disp)->PrimitiveRestartIndexNV = fn) -#define CALL_PrimitiveRestartNV(disp, parameters) (*((disp)->PrimitiveRestartNV)) parameters -#define GET_PrimitiveRestartNV(disp) ((disp)->PrimitiveRestartNV) -#define SET_PrimitiveRestartNV(disp, fn) ((disp)->PrimitiveRestartNV = fn) -#define CALL_DepthBoundsEXT(disp, parameters) (*((disp)->DepthBoundsEXT)) parameters -#define GET_DepthBoundsEXT(disp) ((disp)->DepthBoundsEXT) -#define SET_DepthBoundsEXT(disp, fn) ((disp)->DepthBoundsEXT = fn) -#define CALL_BlendEquationSeparateEXT(disp, parameters) (*((disp)->BlendEquationSeparateEXT)) parameters -#define GET_BlendEquationSeparateEXT(disp) ((disp)->BlendEquationSeparateEXT) -#define SET_BlendEquationSeparateEXT(disp, fn) ((disp)->BlendEquationSeparateEXT = fn) -#define CALL_BindFramebufferEXT(disp, parameters) (*((disp)->BindFramebufferEXT)) parameters -#define GET_BindFramebufferEXT(disp) ((disp)->BindFramebufferEXT) -#define SET_BindFramebufferEXT(disp, fn) ((disp)->BindFramebufferEXT = fn) -#define CALL_BindRenderbufferEXT(disp, parameters) (*((disp)->BindRenderbufferEXT)) parameters -#define GET_BindRenderbufferEXT(disp) ((disp)->BindRenderbufferEXT) -#define SET_BindRenderbufferEXT(disp, fn) ((disp)->BindRenderbufferEXT = fn) -#define CALL_CheckFramebufferStatusEXT(disp, parameters) (*((disp)->CheckFramebufferStatusEXT)) parameters -#define GET_CheckFramebufferStatusEXT(disp) ((disp)->CheckFramebufferStatusEXT) -#define SET_CheckFramebufferStatusEXT(disp, fn) ((disp)->CheckFramebufferStatusEXT = fn) -#define CALL_DeleteFramebuffersEXT(disp, parameters) (*((disp)->DeleteFramebuffersEXT)) parameters -#define GET_DeleteFramebuffersEXT(disp) ((disp)->DeleteFramebuffersEXT) -#define SET_DeleteFramebuffersEXT(disp, fn) ((disp)->DeleteFramebuffersEXT = fn) -#define CALL_DeleteRenderbuffersEXT(disp, parameters) (*((disp)->DeleteRenderbuffersEXT)) parameters -#define GET_DeleteRenderbuffersEXT(disp) ((disp)->DeleteRenderbuffersEXT) -#define SET_DeleteRenderbuffersEXT(disp, fn) ((disp)->DeleteRenderbuffersEXT = fn) -#define CALL_FramebufferRenderbufferEXT(disp, parameters) (*((disp)->FramebufferRenderbufferEXT)) parameters -#define GET_FramebufferRenderbufferEXT(disp) ((disp)->FramebufferRenderbufferEXT) -#define SET_FramebufferRenderbufferEXT(disp, fn) ((disp)->FramebufferRenderbufferEXT = fn) -#define CALL_FramebufferTexture1DEXT(disp, parameters) (*((disp)->FramebufferTexture1DEXT)) parameters -#define GET_FramebufferTexture1DEXT(disp) ((disp)->FramebufferTexture1DEXT) -#define SET_FramebufferTexture1DEXT(disp, fn) ((disp)->FramebufferTexture1DEXT = fn) -#define CALL_FramebufferTexture2DEXT(disp, parameters) (*((disp)->FramebufferTexture2DEXT)) parameters -#define GET_FramebufferTexture2DEXT(disp) ((disp)->FramebufferTexture2DEXT) -#define SET_FramebufferTexture2DEXT(disp, fn) ((disp)->FramebufferTexture2DEXT = fn) -#define CALL_FramebufferTexture3DEXT(disp, parameters) (*((disp)->FramebufferTexture3DEXT)) parameters -#define GET_FramebufferTexture3DEXT(disp) ((disp)->FramebufferTexture3DEXT) -#define SET_FramebufferTexture3DEXT(disp, fn) ((disp)->FramebufferTexture3DEXT = fn) -#define CALL_GenFramebuffersEXT(disp, parameters) (*((disp)->GenFramebuffersEXT)) parameters -#define GET_GenFramebuffersEXT(disp) ((disp)->GenFramebuffersEXT) -#define SET_GenFramebuffersEXT(disp, fn) ((disp)->GenFramebuffersEXT = fn) -#define CALL_GenRenderbuffersEXT(disp, parameters) (*((disp)->GenRenderbuffersEXT)) parameters -#define GET_GenRenderbuffersEXT(disp) ((disp)->GenRenderbuffersEXT) -#define SET_GenRenderbuffersEXT(disp, fn) ((disp)->GenRenderbuffersEXT = fn) -#define CALL_GenerateMipmapEXT(disp, parameters) (*((disp)->GenerateMipmapEXT)) parameters -#define GET_GenerateMipmapEXT(disp) ((disp)->GenerateMipmapEXT) -#define SET_GenerateMipmapEXT(disp, fn) ((disp)->GenerateMipmapEXT = fn) -#define CALL_GetFramebufferAttachmentParameterivEXT(disp, parameters) (*((disp)->GetFramebufferAttachmentParameterivEXT)) parameters -#define GET_GetFramebufferAttachmentParameterivEXT(disp) ((disp)->GetFramebufferAttachmentParameterivEXT) -#define SET_GetFramebufferAttachmentParameterivEXT(disp, fn) ((disp)->GetFramebufferAttachmentParameterivEXT = fn) -#define CALL_GetRenderbufferParameterivEXT(disp, parameters) (*((disp)->GetRenderbufferParameterivEXT)) parameters -#define GET_GetRenderbufferParameterivEXT(disp) ((disp)->GetRenderbufferParameterivEXT) -#define SET_GetRenderbufferParameterivEXT(disp, fn) ((disp)->GetRenderbufferParameterivEXT = fn) -#define CALL_IsFramebufferEXT(disp, parameters) (*((disp)->IsFramebufferEXT)) parameters -#define GET_IsFramebufferEXT(disp) ((disp)->IsFramebufferEXT) -#define SET_IsFramebufferEXT(disp, fn) ((disp)->IsFramebufferEXT = fn) -#define CALL_IsRenderbufferEXT(disp, parameters) (*((disp)->IsRenderbufferEXT)) parameters -#define GET_IsRenderbufferEXT(disp) ((disp)->IsRenderbufferEXT) -#define SET_IsRenderbufferEXT(disp, fn) ((disp)->IsRenderbufferEXT = fn) -#define CALL_RenderbufferStorageEXT(disp, parameters) (*((disp)->RenderbufferStorageEXT)) parameters -#define GET_RenderbufferStorageEXT(disp) ((disp)->RenderbufferStorageEXT) -#define SET_RenderbufferStorageEXT(disp, fn) ((disp)->RenderbufferStorageEXT = fn) -#define CALL_BlitFramebufferEXT(disp, parameters) (*((disp)->BlitFramebufferEXT)) parameters -#define GET_BlitFramebufferEXT(disp) ((disp)->BlitFramebufferEXT) -#define SET_BlitFramebufferEXT(disp, fn) ((disp)->BlitFramebufferEXT = fn) -#define CALL_BufferParameteriAPPLE(disp, parameters) (*((disp)->BufferParameteriAPPLE)) parameters -#define GET_BufferParameteriAPPLE(disp) ((disp)->BufferParameteriAPPLE) -#define SET_BufferParameteriAPPLE(disp, fn) ((disp)->BufferParameteriAPPLE = fn) -#define CALL_FlushMappedBufferRangeAPPLE(disp, parameters) (*((disp)->FlushMappedBufferRangeAPPLE)) parameters -#define GET_FlushMappedBufferRangeAPPLE(disp) ((disp)->FlushMappedBufferRangeAPPLE) -#define SET_FlushMappedBufferRangeAPPLE(disp, fn) ((disp)->FlushMappedBufferRangeAPPLE = fn) -#define CALL_FramebufferTextureLayerEXT(disp, parameters) (*((disp)->FramebufferTextureLayerEXT)) parameters -#define GET_FramebufferTextureLayerEXT(disp) ((disp)->FramebufferTextureLayerEXT) -#define SET_FramebufferTextureLayerEXT(disp, fn) ((disp)->FramebufferTextureLayerEXT = fn) -#define CALL_ColorMaskIndexedEXT(disp, parameters) (*((disp)->ColorMaskIndexedEXT)) parameters -#define GET_ColorMaskIndexedEXT(disp) ((disp)->ColorMaskIndexedEXT) -#define SET_ColorMaskIndexedEXT(disp, fn) ((disp)->ColorMaskIndexedEXT = fn) -#define CALL_DisableIndexedEXT(disp, parameters) (*((disp)->DisableIndexedEXT)) parameters -#define GET_DisableIndexedEXT(disp) ((disp)->DisableIndexedEXT) -#define SET_DisableIndexedEXT(disp, fn) ((disp)->DisableIndexedEXT = fn) -#define CALL_EnableIndexedEXT(disp, parameters) (*((disp)->EnableIndexedEXT)) parameters -#define GET_EnableIndexedEXT(disp) ((disp)->EnableIndexedEXT) -#define SET_EnableIndexedEXT(disp, fn) ((disp)->EnableIndexedEXT = fn) -#define CALL_GetBooleanIndexedvEXT(disp, parameters) (*((disp)->GetBooleanIndexedvEXT)) parameters -#define GET_GetBooleanIndexedvEXT(disp) ((disp)->GetBooleanIndexedvEXT) -#define SET_GetBooleanIndexedvEXT(disp, fn) ((disp)->GetBooleanIndexedvEXT = fn) -#define CALL_GetIntegerIndexedvEXT(disp, parameters) (*((disp)->GetIntegerIndexedvEXT)) parameters -#define GET_GetIntegerIndexedvEXT(disp) ((disp)->GetIntegerIndexedvEXT) -#define SET_GetIntegerIndexedvEXT(disp, fn) ((disp)->GetIntegerIndexedvEXT = fn) -#define CALL_IsEnabledIndexedEXT(disp, parameters) (*((disp)->IsEnabledIndexedEXT)) parameters -#define GET_IsEnabledIndexedEXT(disp) ((disp)->IsEnabledIndexedEXT) -#define SET_IsEnabledIndexedEXT(disp, fn) ((disp)->IsEnabledIndexedEXT = fn) -#define CALL_ClearColorIiEXT(disp, parameters) (*((disp)->ClearColorIiEXT)) parameters -#define GET_ClearColorIiEXT(disp) ((disp)->ClearColorIiEXT) -#define SET_ClearColorIiEXT(disp, fn) ((disp)->ClearColorIiEXT = fn) -#define CALL_ClearColorIuiEXT(disp, parameters) (*((disp)->ClearColorIuiEXT)) parameters -#define GET_ClearColorIuiEXT(disp) ((disp)->ClearColorIuiEXT) -#define SET_ClearColorIuiEXT(disp, fn) ((disp)->ClearColorIuiEXT = fn) -#define CALL_GetTexParameterIivEXT(disp, parameters) (*((disp)->GetTexParameterIivEXT)) parameters -#define GET_GetTexParameterIivEXT(disp) ((disp)->GetTexParameterIivEXT) -#define SET_GetTexParameterIivEXT(disp, fn) ((disp)->GetTexParameterIivEXT = fn) -#define CALL_GetTexParameterIuivEXT(disp, parameters) (*((disp)->GetTexParameterIuivEXT)) parameters -#define GET_GetTexParameterIuivEXT(disp) ((disp)->GetTexParameterIuivEXT) -#define SET_GetTexParameterIuivEXT(disp, fn) ((disp)->GetTexParameterIuivEXT = fn) -#define CALL_TexParameterIivEXT(disp, parameters) (*((disp)->TexParameterIivEXT)) parameters -#define GET_TexParameterIivEXT(disp) ((disp)->TexParameterIivEXT) -#define SET_TexParameterIivEXT(disp, fn) ((disp)->TexParameterIivEXT = fn) -#define CALL_TexParameterIuivEXT(disp, parameters) (*((disp)->TexParameterIuivEXT)) parameters -#define GET_TexParameterIuivEXT(disp) ((disp)->TexParameterIuivEXT) -#define SET_TexParameterIuivEXT(disp, fn) ((disp)->TexParameterIuivEXT = fn) -#define CALL_BeginConditionalRenderNV(disp, parameters) (*((disp)->BeginConditionalRenderNV)) parameters -#define GET_BeginConditionalRenderNV(disp) ((disp)->BeginConditionalRenderNV) -#define SET_BeginConditionalRenderNV(disp, fn) ((disp)->BeginConditionalRenderNV = fn) -#define CALL_EndConditionalRenderNV(disp, parameters) (*((disp)->EndConditionalRenderNV)) parameters -#define GET_EndConditionalRenderNV(disp) ((disp)->EndConditionalRenderNV) -#define SET_EndConditionalRenderNV(disp, fn) ((disp)->EndConditionalRenderNV = fn) -#define CALL_BeginTransformFeedbackEXT(disp, parameters) (*((disp)->BeginTransformFeedbackEXT)) parameters -#define GET_BeginTransformFeedbackEXT(disp) ((disp)->BeginTransformFeedbackEXT) -#define SET_BeginTransformFeedbackEXT(disp, fn) ((disp)->BeginTransformFeedbackEXT = fn) -#define CALL_BindBufferBaseEXT(disp, parameters) (*((disp)->BindBufferBaseEXT)) parameters -#define GET_BindBufferBaseEXT(disp) ((disp)->BindBufferBaseEXT) -#define SET_BindBufferBaseEXT(disp, fn) ((disp)->BindBufferBaseEXT = fn) -#define CALL_BindBufferOffsetEXT(disp, parameters) (*((disp)->BindBufferOffsetEXT)) parameters -#define GET_BindBufferOffsetEXT(disp) ((disp)->BindBufferOffsetEXT) -#define SET_BindBufferOffsetEXT(disp, fn) ((disp)->BindBufferOffsetEXT = fn) -#define CALL_BindBufferRangeEXT(disp, parameters) (*((disp)->BindBufferRangeEXT)) parameters -#define GET_BindBufferRangeEXT(disp) ((disp)->BindBufferRangeEXT) -#define SET_BindBufferRangeEXT(disp, fn) ((disp)->BindBufferRangeEXT = fn) -#define CALL_EndTransformFeedbackEXT(disp, parameters) (*((disp)->EndTransformFeedbackEXT)) parameters -#define GET_EndTransformFeedbackEXT(disp) ((disp)->EndTransformFeedbackEXT) -#define SET_EndTransformFeedbackEXT(disp, fn) ((disp)->EndTransformFeedbackEXT = fn) -#define CALL_GetTransformFeedbackVaryingEXT(disp, parameters) (*((disp)->GetTransformFeedbackVaryingEXT)) parameters -#define GET_GetTransformFeedbackVaryingEXT(disp) ((disp)->GetTransformFeedbackVaryingEXT) -#define SET_GetTransformFeedbackVaryingEXT(disp, fn) ((disp)->GetTransformFeedbackVaryingEXT = fn) -#define CALL_TransformFeedbackVaryingsEXT(disp, parameters) (*((disp)->TransformFeedbackVaryingsEXT)) parameters -#define GET_TransformFeedbackVaryingsEXT(disp) ((disp)->TransformFeedbackVaryingsEXT) -#define SET_TransformFeedbackVaryingsEXT(disp, fn) ((disp)->TransformFeedbackVaryingsEXT = fn) -#define CALL_ProvokingVertexEXT(disp, parameters) (*((disp)->ProvokingVertexEXT)) parameters -#define GET_ProvokingVertexEXT(disp) ((disp)->ProvokingVertexEXT) -#define SET_ProvokingVertexEXT(disp, fn) ((disp)->ProvokingVertexEXT = fn) -#define CALL_GetTexParameterPointervAPPLE(disp, parameters) (*((disp)->GetTexParameterPointervAPPLE)) parameters -#define GET_GetTexParameterPointervAPPLE(disp) ((disp)->GetTexParameterPointervAPPLE) -#define SET_GetTexParameterPointervAPPLE(disp, fn) ((disp)->GetTexParameterPointervAPPLE = fn) -#define CALL_TextureRangeAPPLE(disp, parameters) (*((disp)->TextureRangeAPPLE)) parameters -#define GET_TextureRangeAPPLE(disp) ((disp)->TextureRangeAPPLE) -#define SET_TextureRangeAPPLE(disp, fn) ((disp)->TextureRangeAPPLE = fn) -#define CALL_GetObjectParameterivAPPLE(disp, parameters) (*((disp)->GetObjectParameterivAPPLE)) parameters -#define GET_GetObjectParameterivAPPLE(disp) ((disp)->GetObjectParameterivAPPLE) -#define SET_GetObjectParameterivAPPLE(disp, fn) ((disp)->GetObjectParameterivAPPLE = fn) -#define CALL_ObjectPurgeableAPPLE(disp, parameters) (*((disp)->ObjectPurgeableAPPLE)) parameters -#define GET_ObjectPurgeableAPPLE(disp) ((disp)->ObjectPurgeableAPPLE) -#define SET_ObjectPurgeableAPPLE(disp, fn) ((disp)->ObjectPurgeableAPPLE = fn) -#define CALL_ObjectUnpurgeableAPPLE(disp, parameters) (*((disp)->ObjectUnpurgeableAPPLE)) parameters -#define GET_ObjectUnpurgeableAPPLE(disp) ((disp)->ObjectUnpurgeableAPPLE) -#define SET_ObjectUnpurgeableAPPLE(disp, fn) ((disp)->ObjectUnpurgeableAPPLE = fn) -#define CALL_ActiveProgramEXT(disp, parameters) (*((disp)->ActiveProgramEXT)) parameters -#define GET_ActiveProgramEXT(disp) ((disp)->ActiveProgramEXT) -#define SET_ActiveProgramEXT(disp, fn) ((disp)->ActiveProgramEXT = fn) -#define CALL_CreateShaderProgramEXT(disp, parameters) (*((disp)->CreateShaderProgramEXT)) parameters -#define GET_CreateShaderProgramEXT(disp) ((disp)->CreateShaderProgramEXT) -#define SET_CreateShaderProgramEXT(disp, fn) ((disp)->CreateShaderProgramEXT = fn) -#define CALL_UseShaderProgramEXT(disp, parameters) (*((disp)->UseShaderProgramEXT)) parameters -#define GET_UseShaderProgramEXT(disp) ((disp)->UseShaderProgramEXT) -#define SET_UseShaderProgramEXT(disp, fn) ((disp)->UseShaderProgramEXT = 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) -#define CALL_EGLImageTargetRenderbufferStorageOES(disp, parameters) (*((disp)->EGLImageTargetRenderbufferStorageOES)) parameters -#define GET_EGLImageTargetRenderbufferStorageOES(disp) ((disp)->EGLImageTargetRenderbufferStorageOES) -#define SET_EGLImageTargetRenderbufferStorageOES(disp, fn) ((disp)->EGLImageTargetRenderbufferStorageOES = fn) -#define CALL_EGLImageTargetTexture2DOES(disp, parameters) (*((disp)->EGLImageTargetTexture2DOES)) parameters -#define GET_EGLImageTargetTexture2DOES(disp) ((disp)->EGLImageTargetTexture2DOES) -#define SET_EGLImageTargetTexture2DOES(disp, fn) ((disp)->EGLImageTargetTexture2DOES = fn) - -#else - -#define driDispatchRemapTable_size 428 -extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; - -#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 DrawArraysInstanced_remap_index 22 -#define DrawElementsInstanced_remap_index 23 -#define LoadTransposeMatrixdARB_remap_index 24 -#define LoadTransposeMatrixfARB_remap_index 25 -#define MultTransposeMatrixdARB_remap_index 26 -#define MultTransposeMatrixfARB_remap_index 27 -#define SampleCoverageARB_remap_index 28 -#define CompressedTexImage1DARB_remap_index 29 -#define CompressedTexImage2DARB_remap_index 30 -#define CompressedTexImage3DARB_remap_index 31 -#define CompressedTexSubImage1DARB_remap_index 32 -#define CompressedTexSubImage2DARB_remap_index 33 -#define CompressedTexSubImage3DARB_remap_index 34 -#define GetCompressedTexImageARB_remap_index 35 -#define DisableVertexAttribArrayARB_remap_index 36 -#define EnableVertexAttribArrayARB_remap_index 37 -#define GetProgramEnvParameterdvARB_remap_index 38 -#define GetProgramEnvParameterfvARB_remap_index 39 -#define GetProgramLocalParameterdvARB_remap_index 40 -#define GetProgramLocalParameterfvARB_remap_index 41 -#define GetProgramStringARB_remap_index 42 -#define GetProgramivARB_remap_index 43 -#define GetVertexAttribdvARB_remap_index 44 -#define GetVertexAttribfvARB_remap_index 45 -#define GetVertexAttribivARB_remap_index 46 -#define ProgramEnvParameter4dARB_remap_index 47 -#define ProgramEnvParameter4dvARB_remap_index 48 -#define ProgramEnvParameter4fARB_remap_index 49 -#define ProgramEnvParameter4fvARB_remap_index 50 -#define ProgramLocalParameter4dARB_remap_index 51 -#define ProgramLocalParameter4dvARB_remap_index 52 -#define ProgramLocalParameter4fARB_remap_index 53 -#define ProgramLocalParameter4fvARB_remap_index 54 -#define ProgramStringARB_remap_index 55 -#define VertexAttrib1dARB_remap_index 56 -#define VertexAttrib1dvARB_remap_index 57 -#define VertexAttrib1fARB_remap_index 58 -#define VertexAttrib1fvARB_remap_index 59 -#define VertexAttrib1sARB_remap_index 60 -#define VertexAttrib1svARB_remap_index 61 -#define VertexAttrib2dARB_remap_index 62 -#define VertexAttrib2dvARB_remap_index 63 -#define VertexAttrib2fARB_remap_index 64 -#define VertexAttrib2fvARB_remap_index 65 -#define VertexAttrib2sARB_remap_index 66 -#define VertexAttrib2svARB_remap_index 67 -#define VertexAttrib3dARB_remap_index 68 -#define VertexAttrib3dvARB_remap_index 69 -#define VertexAttrib3fARB_remap_index 70 -#define VertexAttrib3fvARB_remap_index 71 -#define VertexAttrib3sARB_remap_index 72 -#define VertexAttrib3svARB_remap_index 73 -#define VertexAttrib4NbvARB_remap_index 74 -#define VertexAttrib4NivARB_remap_index 75 -#define VertexAttrib4NsvARB_remap_index 76 -#define VertexAttrib4NubARB_remap_index 77 -#define VertexAttrib4NubvARB_remap_index 78 -#define VertexAttrib4NuivARB_remap_index 79 -#define VertexAttrib4NusvARB_remap_index 80 -#define VertexAttrib4bvARB_remap_index 81 -#define VertexAttrib4dARB_remap_index 82 -#define VertexAttrib4dvARB_remap_index 83 -#define VertexAttrib4fARB_remap_index 84 -#define VertexAttrib4fvARB_remap_index 85 -#define VertexAttrib4ivARB_remap_index 86 -#define VertexAttrib4sARB_remap_index 87 -#define VertexAttrib4svARB_remap_index 88 -#define VertexAttrib4ubvARB_remap_index 89 -#define VertexAttrib4uivARB_remap_index 90 -#define VertexAttrib4usvARB_remap_index 91 -#define VertexAttribPointerARB_remap_index 92 -#define BindBufferARB_remap_index 93 -#define BufferDataARB_remap_index 94 -#define BufferSubDataARB_remap_index 95 -#define DeleteBuffersARB_remap_index 96 -#define GenBuffersARB_remap_index 97 -#define GetBufferParameterivARB_remap_index 98 -#define GetBufferPointervARB_remap_index 99 -#define GetBufferSubDataARB_remap_index 100 -#define IsBufferARB_remap_index 101 -#define MapBufferARB_remap_index 102 -#define UnmapBufferARB_remap_index 103 -#define BeginQueryARB_remap_index 104 -#define DeleteQueriesARB_remap_index 105 -#define EndQueryARB_remap_index 106 -#define GenQueriesARB_remap_index 107 -#define GetQueryObjectivARB_remap_index 108 -#define GetQueryObjectuivARB_remap_index 109 -#define GetQueryivARB_remap_index 110 -#define IsQueryARB_remap_index 111 -#define AttachObjectARB_remap_index 112 -#define CompileShaderARB_remap_index 113 -#define CreateProgramObjectARB_remap_index 114 -#define CreateShaderObjectARB_remap_index 115 -#define DeleteObjectARB_remap_index 116 -#define DetachObjectARB_remap_index 117 -#define GetActiveUniformARB_remap_index 118 -#define GetAttachedObjectsARB_remap_index 119 -#define GetHandleARB_remap_index 120 -#define GetInfoLogARB_remap_index 121 -#define GetObjectParameterfvARB_remap_index 122 -#define GetObjectParameterivARB_remap_index 123 -#define GetShaderSourceARB_remap_index 124 -#define GetUniformLocationARB_remap_index 125 -#define GetUniformfvARB_remap_index 126 -#define GetUniformivARB_remap_index 127 -#define LinkProgramARB_remap_index 128 -#define ShaderSourceARB_remap_index 129 -#define Uniform1fARB_remap_index 130 -#define Uniform1fvARB_remap_index 131 -#define Uniform1iARB_remap_index 132 -#define Uniform1ivARB_remap_index 133 -#define Uniform2fARB_remap_index 134 -#define Uniform2fvARB_remap_index 135 -#define Uniform2iARB_remap_index 136 -#define Uniform2ivARB_remap_index 137 -#define Uniform3fARB_remap_index 138 -#define Uniform3fvARB_remap_index 139 -#define Uniform3iARB_remap_index 140 -#define Uniform3ivARB_remap_index 141 -#define Uniform4fARB_remap_index 142 -#define Uniform4fvARB_remap_index 143 -#define Uniform4iARB_remap_index 144 -#define Uniform4ivARB_remap_index 145 -#define UniformMatrix2fvARB_remap_index 146 -#define UniformMatrix3fvARB_remap_index 147 -#define UniformMatrix4fvARB_remap_index 148 -#define UseProgramObjectARB_remap_index 149 -#define ValidateProgramARB_remap_index 150 -#define BindAttribLocationARB_remap_index 151 -#define GetActiveAttribARB_remap_index 152 -#define GetAttribLocationARB_remap_index 153 -#define DrawBuffersARB_remap_index 154 -#define RenderbufferStorageMultisample_remap_index 155 -#define FramebufferTextureARB_remap_index 156 -#define FramebufferTextureFaceARB_remap_index 157 -#define ProgramParameteriARB_remap_index 158 -#define FlushMappedBufferRange_remap_index 159 -#define MapBufferRange_remap_index 160 -#define BindVertexArray_remap_index 161 -#define GenVertexArrays_remap_index 162 -#define CopyBufferSubData_remap_index 163 -#define ClientWaitSync_remap_index 164 -#define DeleteSync_remap_index 165 -#define FenceSync_remap_index 166 -#define GetInteger64v_remap_index 167 -#define GetSynciv_remap_index 168 -#define IsSync_remap_index 169 -#define WaitSync_remap_index 170 -#define DrawElementsBaseVertex_remap_index 171 -#define DrawRangeElementsBaseVertex_remap_index 172 -#define MultiDrawElementsBaseVertex_remap_index 173 -#define BindTransformFeedback_remap_index 174 -#define DeleteTransformFeedbacks_remap_index 175 -#define DrawTransformFeedback_remap_index 176 -#define GenTransformFeedbacks_remap_index 177 -#define IsTransformFeedback_remap_index 178 -#define PauseTransformFeedback_remap_index 179 -#define ResumeTransformFeedback_remap_index 180 -#define PolygonOffsetEXT_remap_index 181 -#define GetPixelTexGenParameterfvSGIS_remap_index 182 -#define GetPixelTexGenParameterivSGIS_remap_index 183 -#define PixelTexGenParameterfSGIS_remap_index 184 -#define PixelTexGenParameterfvSGIS_remap_index 185 -#define PixelTexGenParameteriSGIS_remap_index 186 -#define PixelTexGenParameterivSGIS_remap_index 187 -#define SampleMaskSGIS_remap_index 188 -#define SamplePatternSGIS_remap_index 189 -#define ColorPointerEXT_remap_index 190 -#define EdgeFlagPointerEXT_remap_index 191 -#define IndexPointerEXT_remap_index 192 -#define NormalPointerEXT_remap_index 193 -#define TexCoordPointerEXT_remap_index 194 -#define VertexPointerEXT_remap_index 195 -#define PointParameterfEXT_remap_index 196 -#define PointParameterfvEXT_remap_index 197 -#define LockArraysEXT_remap_index 198 -#define UnlockArraysEXT_remap_index 199 -#define SecondaryColor3bEXT_remap_index 200 -#define SecondaryColor3bvEXT_remap_index 201 -#define SecondaryColor3dEXT_remap_index 202 -#define SecondaryColor3dvEXT_remap_index 203 -#define SecondaryColor3fEXT_remap_index 204 -#define SecondaryColor3fvEXT_remap_index 205 -#define SecondaryColor3iEXT_remap_index 206 -#define SecondaryColor3ivEXT_remap_index 207 -#define SecondaryColor3sEXT_remap_index 208 -#define SecondaryColor3svEXT_remap_index 209 -#define SecondaryColor3ubEXT_remap_index 210 -#define SecondaryColor3ubvEXT_remap_index 211 -#define SecondaryColor3uiEXT_remap_index 212 -#define SecondaryColor3uivEXT_remap_index 213 -#define SecondaryColor3usEXT_remap_index 214 -#define SecondaryColor3usvEXT_remap_index 215 -#define SecondaryColorPointerEXT_remap_index 216 -#define MultiDrawArraysEXT_remap_index 217 -#define MultiDrawElementsEXT_remap_index 218 -#define FogCoordPointerEXT_remap_index 219 -#define FogCoorddEXT_remap_index 220 -#define FogCoorddvEXT_remap_index 221 -#define FogCoordfEXT_remap_index 222 -#define FogCoordfvEXT_remap_index 223 -#define PixelTexGenSGIX_remap_index 224 -#define BlendFuncSeparateEXT_remap_index 225 -#define FlushVertexArrayRangeNV_remap_index 226 -#define VertexArrayRangeNV_remap_index 227 -#define CombinerInputNV_remap_index 228 -#define CombinerOutputNV_remap_index 229 -#define CombinerParameterfNV_remap_index 230 -#define CombinerParameterfvNV_remap_index 231 -#define CombinerParameteriNV_remap_index 232 -#define CombinerParameterivNV_remap_index 233 -#define FinalCombinerInputNV_remap_index 234 -#define GetCombinerInputParameterfvNV_remap_index 235 -#define GetCombinerInputParameterivNV_remap_index 236 -#define GetCombinerOutputParameterfvNV_remap_index 237 -#define GetCombinerOutputParameterivNV_remap_index 238 -#define GetFinalCombinerInputParameterfvNV_remap_index 239 -#define GetFinalCombinerInputParameterivNV_remap_index 240 -#define ResizeBuffersMESA_remap_index 241 -#define WindowPos2dMESA_remap_index 242 -#define WindowPos2dvMESA_remap_index 243 -#define WindowPos2fMESA_remap_index 244 -#define WindowPos2fvMESA_remap_index 245 -#define WindowPos2iMESA_remap_index 246 -#define WindowPos2ivMESA_remap_index 247 -#define WindowPos2sMESA_remap_index 248 -#define WindowPos2svMESA_remap_index 249 -#define WindowPos3dMESA_remap_index 250 -#define WindowPos3dvMESA_remap_index 251 -#define WindowPos3fMESA_remap_index 252 -#define WindowPos3fvMESA_remap_index 253 -#define WindowPos3iMESA_remap_index 254 -#define WindowPos3ivMESA_remap_index 255 -#define WindowPos3sMESA_remap_index 256 -#define WindowPos3svMESA_remap_index 257 -#define WindowPos4dMESA_remap_index 258 -#define WindowPos4dvMESA_remap_index 259 -#define WindowPos4fMESA_remap_index 260 -#define WindowPos4fvMESA_remap_index 261 -#define WindowPos4iMESA_remap_index 262 -#define WindowPos4ivMESA_remap_index 263 -#define WindowPos4sMESA_remap_index 264 -#define WindowPos4svMESA_remap_index 265 -#define MultiModeDrawArraysIBM_remap_index 266 -#define MultiModeDrawElementsIBM_remap_index 267 -#define DeleteFencesNV_remap_index 268 -#define FinishFenceNV_remap_index 269 -#define GenFencesNV_remap_index 270 -#define GetFenceivNV_remap_index 271 -#define IsFenceNV_remap_index 272 -#define SetFenceNV_remap_index 273 -#define TestFenceNV_remap_index 274 -#define AreProgramsResidentNV_remap_index 275 -#define BindProgramNV_remap_index 276 -#define DeleteProgramsNV_remap_index 277 -#define ExecuteProgramNV_remap_index 278 -#define GenProgramsNV_remap_index 279 -#define GetProgramParameterdvNV_remap_index 280 -#define GetProgramParameterfvNV_remap_index 281 -#define GetProgramStringNV_remap_index 282 -#define GetProgramivNV_remap_index 283 -#define GetTrackMatrixivNV_remap_index 284 -#define GetVertexAttribPointervNV_remap_index 285 -#define GetVertexAttribdvNV_remap_index 286 -#define GetVertexAttribfvNV_remap_index 287 -#define GetVertexAttribivNV_remap_index 288 -#define IsProgramNV_remap_index 289 -#define LoadProgramNV_remap_index 290 -#define ProgramParameters4dvNV_remap_index 291 -#define ProgramParameters4fvNV_remap_index 292 -#define RequestResidentProgramsNV_remap_index 293 -#define TrackMatrixNV_remap_index 294 -#define VertexAttrib1dNV_remap_index 295 -#define VertexAttrib1dvNV_remap_index 296 -#define VertexAttrib1fNV_remap_index 297 -#define VertexAttrib1fvNV_remap_index 298 -#define VertexAttrib1sNV_remap_index 299 -#define VertexAttrib1svNV_remap_index 300 -#define VertexAttrib2dNV_remap_index 301 -#define VertexAttrib2dvNV_remap_index 302 -#define VertexAttrib2fNV_remap_index 303 -#define VertexAttrib2fvNV_remap_index 304 -#define VertexAttrib2sNV_remap_index 305 -#define VertexAttrib2svNV_remap_index 306 -#define VertexAttrib3dNV_remap_index 307 -#define VertexAttrib3dvNV_remap_index 308 -#define VertexAttrib3fNV_remap_index 309 -#define VertexAttrib3fvNV_remap_index 310 -#define VertexAttrib3sNV_remap_index 311 -#define VertexAttrib3svNV_remap_index 312 -#define VertexAttrib4dNV_remap_index 313 -#define VertexAttrib4dvNV_remap_index 314 -#define VertexAttrib4fNV_remap_index 315 -#define VertexAttrib4fvNV_remap_index 316 -#define VertexAttrib4sNV_remap_index 317 -#define VertexAttrib4svNV_remap_index 318 -#define VertexAttrib4ubNV_remap_index 319 -#define VertexAttrib4ubvNV_remap_index 320 -#define VertexAttribPointerNV_remap_index 321 -#define VertexAttribs1dvNV_remap_index 322 -#define VertexAttribs1fvNV_remap_index 323 -#define VertexAttribs1svNV_remap_index 324 -#define VertexAttribs2dvNV_remap_index 325 -#define VertexAttribs2fvNV_remap_index 326 -#define VertexAttribs2svNV_remap_index 327 -#define VertexAttribs3dvNV_remap_index 328 -#define VertexAttribs3fvNV_remap_index 329 -#define VertexAttribs3svNV_remap_index 330 -#define VertexAttribs4dvNV_remap_index 331 -#define VertexAttribs4fvNV_remap_index 332 -#define VertexAttribs4svNV_remap_index 333 -#define VertexAttribs4ubvNV_remap_index 334 -#define GetTexBumpParameterfvATI_remap_index 335 -#define GetTexBumpParameterivATI_remap_index 336 -#define TexBumpParameterfvATI_remap_index 337 -#define TexBumpParameterivATI_remap_index 338 -#define AlphaFragmentOp1ATI_remap_index 339 -#define AlphaFragmentOp2ATI_remap_index 340 -#define AlphaFragmentOp3ATI_remap_index 341 -#define BeginFragmentShaderATI_remap_index 342 -#define BindFragmentShaderATI_remap_index 343 -#define ColorFragmentOp1ATI_remap_index 344 -#define ColorFragmentOp2ATI_remap_index 345 -#define ColorFragmentOp3ATI_remap_index 346 -#define DeleteFragmentShaderATI_remap_index 347 -#define EndFragmentShaderATI_remap_index 348 -#define GenFragmentShadersATI_remap_index 349 -#define PassTexCoordATI_remap_index 350 -#define SampleMapATI_remap_index 351 -#define SetFragmentShaderConstantATI_remap_index 352 -#define PointParameteriNV_remap_index 353 -#define PointParameterivNV_remap_index 354 -#define ActiveStencilFaceEXT_remap_index 355 -#define BindVertexArrayAPPLE_remap_index 356 -#define DeleteVertexArraysAPPLE_remap_index 357 -#define GenVertexArraysAPPLE_remap_index 358 -#define IsVertexArrayAPPLE_remap_index 359 -#define GetProgramNamedParameterdvNV_remap_index 360 -#define GetProgramNamedParameterfvNV_remap_index 361 -#define ProgramNamedParameter4dNV_remap_index 362 -#define ProgramNamedParameter4dvNV_remap_index 363 -#define ProgramNamedParameter4fNV_remap_index 364 -#define ProgramNamedParameter4fvNV_remap_index 365 -#define PrimitiveRestartIndexNV_remap_index 366 -#define PrimitiveRestartNV_remap_index 367 -#define DepthBoundsEXT_remap_index 368 -#define BlendEquationSeparateEXT_remap_index 369 -#define BindFramebufferEXT_remap_index 370 -#define BindRenderbufferEXT_remap_index 371 -#define CheckFramebufferStatusEXT_remap_index 372 -#define DeleteFramebuffersEXT_remap_index 373 -#define DeleteRenderbuffersEXT_remap_index 374 -#define FramebufferRenderbufferEXT_remap_index 375 -#define FramebufferTexture1DEXT_remap_index 376 -#define FramebufferTexture2DEXT_remap_index 377 -#define FramebufferTexture3DEXT_remap_index 378 -#define GenFramebuffersEXT_remap_index 379 -#define GenRenderbuffersEXT_remap_index 380 -#define GenerateMipmapEXT_remap_index 381 -#define GetFramebufferAttachmentParameterivEXT_remap_index 382 -#define GetRenderbufferParameterivEXT_remap_index 383 -#define IsFramebufferEXT_remap_index 384 -#define IsRenderbufferEXT_remap_index 385 -#define RenderbufferStorageEXT_remap_index 386 -#define BlitFramebufferEXT_remap_index 387 -#define BufferParameteriAPPLE_remap_index 388 -#define FlushMappedBufferRangeAPPLE_remap_index 389 -#define FramebufferTextureLayerEXT_remap_index 390 -#define ColorMaskIndexedEXT_remap_index 391 -#define DisableIndexedEXT_remap_index 392 -#define EnableIndexedEXT_remap_index 393 -#define GetBooleanIndexedvEXT_remap_index 394 -#define GetIntegerIndexedvEXT_remap_index 395 -#define IsEnabledIndexedEXT_remap_index 396 -#define ClearColorIiEXT_remap_index 397 -#define ClearColorIuiEXT_remap_index 398 -#define GetTexParameterIivEXT_remap_index 399 -#define GetTexParameterIuivEXT_remap_index 400 -#define TexParameterIivEXT_remap_index 401 -#define TexParameterIuivEXT_remap_index 402 -#define BeginConditionalRenderNV_remap_index 403 -#define EndConditionalRenderNV_remap_index 404 -#define BeginTransformFeedbackEXT_remap_index 405 -#define BindBufferBaseEXT_remap_index 406 -#define BindBufferOffsetEXT_remap_index 407 -#define BindBufferRangeEXT_remap_index 408 -#define EndTransformFeedbackEXT_remap_index 409 -#define GetTransformFeedbackVaryingEXT_remap_index 410 -#define TransformFeedbackVaryingsEXT_remap_index 411 -#define ProvokingVertexEXT_remap_index 412 -#define GetTexParameterPointervAPPLE_remap_index 413 -#define TextureRangeAPPLE_remap_index 414 -#define GetObjectParameterivAPPLE_remap_index 415 -#define ObjectPurgeableAPPLE_remap_index 416 -#define ObjectUnpurgeableAPPLE_remap_index 417 -#define ActiveProgramEXT_remap_index 418 -#define CreateShaderProgramEXT_remap_index 419 -#define UseShaderProgramEXT_remap_index 420 -#define StencilFuncSeparateATI_remap_index 421 -#define ProgramEnvParameters4fvEXT_remap_index 422 -#define ProgramLocalParameters4fvEXT_remap_index 423 -#define GetQueryObjecti64vEXT_remap_index 424 -#define GetQueryObjectui64vEXT_remap_index 425 -#define EGLImageTargetRenderbufferStorageOES_remap_index 426 -#define EGLImageTargetTexture2DOES_remap_index 427 - -#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) -#define CALL_StencilMaskSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[StencilMaskSeparate_remap_index], parameters) -#define GET_StencilMaskSeparate(disp) GET_by_offset(disp, driDispatchRemapTable[StencilMaskSeparate_remap_index]) -#define SET_StencilMaskSeparate(disp, fn) SET_by_offset(disp, driDispatchRemapTable[StencilMaskSeparate_remap_index], fn) -#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_DrawArraysInstanced(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLsizei, GLsizei)), driDispatchRemapTable[DrawArraysInstanced_remap_index], parameters) -#define GET_DrawArraysInstanced(disp) GET_by_offset(disp, driDispatchRemapTable[DrawArraysInstanced_remap_index]) -#define SET_DrawArraysInstanced(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawArraysInstanced_remap_index], fn) -#define CALL_DrawElementsInstanced(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei)), driDispatchRemapTable[DrawElementsInstanced_remap_index], parameters) -#define GET_DrawElementsInstanced(disp) GET_by_offset(disp, driDispatchRemapTable[DrawElementsInstanced_remap_index]) -#define SET_DrawElementsInstanced(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawElementsInstanced_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) -#define CALL_LoadTransposeMatrixfARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index], parameters) -#define GET_LoadTransposeMatrixfARB(disp) GET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index]) -#define SET_LoadTransposeMatrixfARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index], fn) -#define CALL_MultTransposeMatrixdARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[MultTransposeMatrixdARB_remap_index], parameters) -#define GET_MultTransposeMatrixdARB(disp) GET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixdARB_remap_index]) -#define SET_MultTransposeMatrixdARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixdARB_remap_index], fn) -#define CALL_MultTransposeMatrixfARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[MultTransposeMatrixfARB_remap_index], parameters) -#define GET_MultTransposeMatrixfARB(disp) GET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixfARB_remap_index]) -#define SET_MultTransposeMatrixfARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultTransposeMatrixfARB_remap_index], fn) -#define CALL_SampleCoverageARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLboolean)), driDispatchRemapTable[SampleCoverageARB_remap_index], parameters) -#define GET_SampleCoverageARB(disp) GET_by_offset(disp, driDispatchRemapTable[SampleCoverageARB_remap_index]) -#define SET_SampleCoverageARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SampleCoverageARB_remap_index], fn) -#define CALL_CompressedTexImage1DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexImage1DARB_remap_index], parameters) -#define GET_CompressedTexImage1DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexImage1DARB_remap_index]) -#define SET_CompressedTexImage1DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexImage1DARB_remap_index], fn) -#define CALL_CompressedTexImage2DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexImage2DARB_remap_index], parameters) -#define GET_CompressedTexImage2DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexImage2DARB_remap_index]) -#define SET_CompressedTexImage2DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexImage2DARB_remap_index], fn) -#define CALL_CompressedTexImage3DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexImage3DARB_remap_index], parameters) -#define GET_CompressedTexImage3DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexImage3DARB_remap_index]) -#define SET_CompressedTexImage3DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexImage3DARB_remap_index], fn) -#define CALL_CompressedTexSubImage1DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index], parameters) -#define GET_CompressedTexSubImage1DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index]) -#define SET_CompressedTexSubImage1DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index], fn) -#define CALL_CompressedTexSubImage2DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index], parameters) -#define GET_CompressedTexSubImage2DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index]) -#define SET_CompressedTexSubImage2DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index], fn) -#define CALL_CompressedTexSubImage3DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index], parameters) -#define GET_CompressedTexSubImage3DARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index]) -#define SET_CompressedTexSubImage3DARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index], fn) -#define CALL_GetCompressedTexImageARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLvoid *)), driDispatchRemapTable[GetCompressedTexImageARB_remap_index], parameters) -#define GET_GetCompressedTexImageARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetCompressedTexImageARB_remap_index]) -#define SET_GetCompressedTexImageARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCompressedTexImageARB_remap_index], fn) -#define CALL_DisableVertexAttribArrayARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index], parameters) -#define GET_DisableVertexAttribArrayARB(disp) GET_by_offset(disp, driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index]) -#define SET_DisableVertexAttribArrayARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index], fn) -#define CALL_EnableVertexAttribArrayARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index], parameters) -#define GET_EnableVertexAttribArrayARB(disp) GET_by_offset(disp, driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index]) -#define SET_EnableVertexAttribArrayARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index], fn) -#define CALL_GetProgramEnvParameterdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble *)), driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index], parameters) -#define GET_GetProgramEnvParameterdvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index]) -#define SET_GetProgramEnvParameterdvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index], fn) -#define CALL_GetProgramEnvParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat *)), driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index], parameters) -#define GET_GetProgramEnvParameterfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index]) -#define SET_GetProgramEnvParameterfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index], fn) -#define CALL_GetProgramLocalParameterdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble *)), driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index], parameters) -#define GET_GetProgramLocalParameterdvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index]) -#define SET_GetProgramLocalParameterdvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index], fn) -#define CALL_GetProgramLocalParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat *)), driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index], parameters) -#define GET_GetProgramLocalParameterfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index]) -#define SET_GetProgramLocalParameterfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index], fn) -#define CALL_GetProgramStringARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid *)), driDispatchRemapTable[GetProgramStringARB_remap_index], parameters) -#define GET_GetProgramStringARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramStringARB_remap_index]) -#define SET_GetProgramStringARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramStringARB_remap_index], fn) -#define CALL_GetProgramivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetProgramivARB_remap_index], parameters) -#define GET_GetProgramivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramivARB_remap_index]) -#define SET_GetProgramivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramivARB_remap_index], fn) -#define CALL_GetVertexAttribdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLdouble *)), driDispatchRemapTable[GetVertexAttribdvARB_remap_index], parameters) -#define GET_GetVertexAttribdvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvARB_remap_index]) -#define SET_GetVertexAttribdvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvARB_remap_index], fn) -#define CALL_GetVertexAttribfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLfloat *)), driDispatchRemapTable[GetVertexAttribfvARB_remap_index], parameters) -#define GET_GetVertexAttribfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvARB_remap_index]) -#define SET_GetVertexAttribfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvARB_remap_index], fn) -#define CALL_GetVertexAttribivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetVertexAttribivARB_remap_index], parameters) -#define GET_GetVertexAttribivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivARB_remap_index]) -#define SET_GetVertexAttribivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivARB_remap_index], fn) -#define CALL_ProgramEnvParameter4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index], parameters) -#define GET_ProgramEnvParameter4dARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index]) -#define SET_ProgramEnvParameter4dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index], fn) -#define CALL_ProgramEnvParameter4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLdouble *)), driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index], parameters) -#define GET_ProgramEnvParameter4dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index]) -#define SET_ProgramEnvParameter4dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index], fn) -#define CALL_ProgramEnvParameter4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index], parameters) -#define GET_ProgramEnvParameter4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index]) -#define SET_ProgramEnvParameter4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index], fn) -#define CALL_ProgramEnvParameter4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index], parameters) -#define GET_ProgramEnvParameter4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index]) -#define SET_ProgramEnvParameter4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index], fn) -#define CALL_ProgramLocalParameter4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index], parameters) -#define GET_ProgramLocalParameter4dARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index]) -#define SET_ProgramLocalParameter4dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index], fn) -#define CALL_ProgramLocalParameter4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLdouble *)), driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index], parameters) -#define GET_ProgramLocalParameter4dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index]) -#define SET_ProgramLocalParameter4dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index], fn) -#define CALL_ProgramLocalParameter4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index], parameters) -#define GET_ProgramLocalParameter4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index]) -#define SET_ProgramLocalParameter4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index], fn) -#define CALL_ProgramLocalParameter4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index], parameters) -#define GET_ProgramLocalParameter4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index]) -#define SET_ProgramLocalParameter4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index], fn) -#define CALL_ProgramStringARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[ProgramStringARB_remap_index], parameters) -#define GET_ProgramStringARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramStringARB_remap_index]) -#define SET_ProgramStringARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramStringARB_remap_index], fn) -#define CALL_VertexAttrib1dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble)), driDispatchRemapTable[VertexAttrib1dARB_remap_index], parameters) -#define GET_VertexAttrib1dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dARB_remap_index]) -#define SET_VertexAttrib1dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dARB_remap_index], fn) -#define CALL_VertexAttrib1dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib1dvARB_remap_index], parameters) -#define GET_VertexAttrib1dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvARB_remap_index]) -#define SET_VertexAttrib1dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvARB_remap_index], fn) -#define CALL_VertexAttrib1fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat)), driDispatchRemapTable[VertexAttrib1fARB_remap_index], parameters) -#define GET_VertexAttrib1fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fARB_remap_index]) -#define SET_VertexAttrib1fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fARB_remap_index], fn) -#define CALL_VertexAttrib1fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib1fvARB_remap_index], parameters) -#define GET_VertexAttrib1fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvARB_remap_index]) -#define SET_VertexAttrib1fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvARB_remap_index], fn) -#define CALL_VertexAttrib1sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort)), driDispatchRemapTable[VertexAttrib1sARB_remap_index], parameters) -#define GET_VertexAttrib1sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sARB_remap_index]) -#define SET_VertexAttrib1sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sARB_remap_index], fn) -#define CALL_VertexAttrib1svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib1svARB_remap_index], parameters) -#define GET_VertexAttrib1svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svARB_remap_index]) -#define SET_VertexAttrib1svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svARB_remap_index], fn) -#define CALL_VertexAttrib2dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib2dARB_remap_index], parameters) -#define GET_VertexAttrib2dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dARB_remap_index]) -#define SET_VertexAttrib2dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dARB_remap_index], fn) -#define CALL_VertexAttrib2dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib2dvARB_remap_index], parameters) -#define GET_VertexAttrib2dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvARB_remap_index]) -#define SET_VertexAttrib2dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvARB_remap_index], fn) -#define CALL_VertexAttrib2fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib2fARB_remap_index], parameters) -#define GET_VertexAttrib2fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fARB_remap_index]) -#define SET_VertexAttrib2fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fARB_remap_index], fn) -#define CALL_VertexAttrib2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib2fvARB_remap_index], parameters) -#define GET_VertexAttrib2fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvARB_remap_index]) -#define SET_VertexAttrib2fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvARB_remap_index], fn) -#define CALL_VertexAttrib2sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib2sARB_remap_index], parameters) -#define GET_VertexAttrib2sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sARB_remap_index]) -#define SET_VertexAttrib2sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sARB_remap_index], fn) -#define CALL_VertexAttrib2svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib2svARB_remap_index], parameters) -#define GET_VertexAttrib2svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svARB_remap_index]) -#define SET_VertexAttrib2svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svARB_remap_index], fn) -#define CALL_VertexAttrib3dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib3dARB_remap_index], parameters) -#define GET_VertexAttrib3dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dARB_remap_index]) -#define SET_VertexAttrib3dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dARB_remap_index], fn) -#define CALL_VertexAttrib3dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib3dvARB_remap_index], parameters) -#define GET_VertexAttrib3dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvARB_remap_index]) -#define SET_VertexAttrib3dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvARB_remap_index], fn) -#define CALL_VertexAttrib3fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib3fARB_remap_index], parameters) -#define GET_VertexAttrib3fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fARB_remap_index]) -#define SET_VertexAttrib3fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fARB_remap_index], fn) -#define CALL_VertexAttrib3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib3fvARB_remap_index], parameters) -#define GET_VertexAttrib3fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvARB_remap_index]) -#define SET_VertexAttrib3fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvARB_remap_index], fn) -#define CALL_VertexAttrib3sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib3sARB_remap_index], parameters) -#define GET_VertexAttrib3sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sARB_remap_index]) -#define SET_VertexAttrib3sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sARB_remap_index], fn) -#define CALL_VertexAttrib3svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib3svARB_remap_index], parameters) -#define GET_VertexAttrib3svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svARB_remap_index]) -#define SET_VertexAttrib3svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svARB_remap_index], fn) -#define CALL_VertexAttrib4NbvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLbyte *)), driDispatchRemapTable[VertexAttrib4NbvARB_remap_index], parameters) -#define GET_VertexAttrib4NbvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NbvARB_remap_index]) -#define SET_VertexAttrib4NbvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NbvARB_remap_index], fn) -#define CALL_VertexAttrib4NivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), driDispatchRemapTable[VertexAttrib4NivARB_remap_index], parameters) -#define GET_VertexAttrib4NivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NivARB_remap_index]) -#define SET_VertexAttrib4NivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NivARB_remap_index], fn) -#define CALL_VertexAttrib4NsvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib4NsvARB_remap_index], parameters) -#define GET_VertexAttrib4NsvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NsvARB_remap_index]) -#define SET_VertexAttrib4NsvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NsvARB_remap_index], fn) -#define CALL_VertexAttrib4NubARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)), driDispatchRemapTable[VertexAttrib4NubARB_remap_index], parameters) -#define GET_VertexAttrib4NubARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubARB_remap_index]) -#define SET_VertexAttrib4NubARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubARB_remap_index], fn) -#define CALL_VertexAttrib4NubvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), driDispatchRemapTable[VertexAttrib4NubvARB_remap_index], parameters) -#define GET_VertexAttrib4NubvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubvARB_remap_index]) -#define SET_VertexAttrib4NubvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NubvARB_remap_index], fn) -#define CALL_VertexAttrib4NuivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), driDispatchRemapTable[VertexAttrib4NuivARB_remap_index], parameters) -#define GET_VertexAttrib4NuivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NuivARB_remap_index]) -#define SET_VertexAttrib4NuivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NuivARB_remap_index], fn) -#define CALL_VertexAttrib4NusvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLushort *)), driDispatchRemapTable[VertexAttrib4NusvARB_remap_index], parameters) -#define GET_VertexAttrib4NusvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NusvARB_remap_index]) -#define SET_VertexAttrib4NusvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4NusvARB_remap_index], fn) -#define CALL_VertexAttrib4bvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLbyte *)), driDispatchRemapTable[VertexAttrib4bvARB_remap_index], parameters) -#define GET_VertexAttrib4bvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4bvARB_remap_index]) -#define SET_VertexAttrib4bvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4bvARB_remap_index], fn) -#define CALL_VertexAttrib4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib4dARB_remap_index], parameters) -#define GET_VertexAttrib4dARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dARB_remap_index]) -#define SET_VertexAttrib4dARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dARB_remap_index], fn) -#define CALL_VertexAttrib4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib4dvARB_remap_index], parameters) -#define GET_VertexAttrib4dvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvARB_remap_index]) -#define SET_VertexAttrib4dvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvARB_remap_index], fn) -#define CALL_VertexAttrib4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib4fARB_remap_index], parameters) -#define GET_VertexAttrib4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fARB_remap_index]) -#define SET_VertexAttrib4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fARB_remap_index], fn) -#define CALL_VertexAttrib4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib4fvARB_remap_index], parameters) -#define GET_VertexAttrib4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvARB_remap_index]) -#define SET_VertexAttrib4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvARB_remap_index], fn) -#define CALL_VertexAttrib4ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), driDispatchRemapTable[VertexAttrib4ivARB_remap_index], parameters) -#define GET_VertexAttrib4ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ivARB_remap_index]) -#define SET_VertexAttrib4ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ivARB_remap_index], fn) -#define CALL_VertexAttrib4sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib4sARB_remap_index], parameters) -#define GET_VertexAttrib4sARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sARB_remap_index]) -#define SET_VertexAttrib4sARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sARB_remap_index], fn) -#define CALL_VertexAttrib4svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib4svARB_remap_index], parameters) -#define GET_VertexAttrib4svARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svARB_remap_index]) -#define SET_VertexAttrib4svARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svARB_remap_index], fn) -#define CALL_VertexAttrib4ubvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), driDispatchRemapTable[VertexAttrib4ubvARB_remap_index], parameters) -#define GET_VertexAttrib4ubvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvARB_remap_index]) -#define SET_VertexAttrib4ubvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvARB_remap_index], fn) -#define CALL_VertexAttrib4uivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), driDispatchRemapTable[VertexAttrib4uivARB_remap_index], parameters) -#define GET_VertexAttrib4uivARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4uivARB_remap_index]) -#define SET_VertexAttrib4uivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4uivARB_remap_index], fn) -#define CALL_VertexAttrib4usvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLushort *)), driDispatchRemapTable[VertexAttrib4usvARB_remap_index], parameters) -#define GET_VertexAttrib4usvARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4usvARB_remap_index]) -#define SET_VertexAttrib4usvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4usvARB_remap_index], fn) -#define CALL_VertexAttribPointerARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *)), driDispatchRemapTable[VertexAttribPointerARB_remap_index], parameters) -#define GET_VertexAttribPointerARB(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerARB_remap_index]) -#define SET_VertexAttribPointerARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerARB_remap_index], fn) -#define CALL_BindBufferARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindBufferARB_remap_index], parameters) -#define GET_BindBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[BindBufferARB_remap_index]) -#define SET_BindBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindBufferARB_remap_index], fn) -#define CALL_BufferDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizeiptrARB, const GLvoid *, GLenum)), driDispatchRemapTable[BufferDataARB_remap_index], parameters) -#define GET_BufferDataARB(disp) GET_by_offset(disp, driDispatchRemapTable[BufferDataARB_remap_index]) -#define SET_BufferDataARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BufferDataARB_remap_index], fn) -#define CALL_BufferSubDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *)), driDispatchRemapTable[BufferSubDataARB_remap_index], parameters) -#define GET_BufferSubDataARB(disp) GET_by_offset(disp, driDispatchRemapTable[BufferSubDataARB_remap_index]) -#define SET_BufferSubDataARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BufferSubDataARB_remap_index], fn) -#define CALL_DeleteBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteBuffersARB_remap_index], parameters) -#define GET_DeleteBuffersARB(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteBuffersARB_remap_index]) -#define SET_DeleteBuffersARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteBuffersARB_remap_index], fn) -#define CALL_GenBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenBuffersARB_remap_index], parameters) -#define GET_GenBuffersARB(disp) GET_by_offset(disp, driDispatchRemapTable[GenBuffersARB_remap_index]) -#define SET_GenBuffersARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenBuffersARB_remap_index], fn) -#define CALL_GetBufferParameterivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetBufferParameterivARB_remap_index], parameters) -#define GET_GetBufferParameterivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetBufferParameterivARB_remap_index]) -#define SET_GetBufferParameterivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetBufferParameterivARB_remap_index], fn) -#define CALL_GetBufferPointervARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid **)), driDispatchRemapTable[GetBufferPointervARB_remap_index], parameters) -#define GET_GetBufferPointervARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetBufferPointervARB_remap_index]) -#define SET_GetBufferPointervARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetBufferPointervARB_remap_index], fn) -#define CALL_GetBufferSubDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *)), driDispatchRemapTable[GetBufferSubDataARB_remap_index], parameters) -#define GET_GetBufferSubDataARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetBufferSubDataARB_remap_index]) -#define SET_GetBufferSubDataARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetBufferSubDataARB_remap_index], fn) -#define CALL_IsBufferARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsBufferARB_remap_index], parameters) -#define GET_IsBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[IsBufferARB_remap_index]) -#define SET_IsBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsBufferARB_remap_index], fn) -#define CALL_MapBufferARB(disp, parameters) CALL_by_offset(disp, (GLvoid * (GLAPIENTRYP)(GLenum, GLenum)), driDispatchRemapTable[MapBufferARB_remap_index], parameters) -#define GET_MapBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[MapBufferARB_remap_index]) -#define SET_MapBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MapBufferARB_remap_index], fn) -#define CALL_UnmapBufferARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[UnmapBufferARB_remap_index], parameters) -#define GET_UnmapBufferARB(disp) GET_by_offset(disp, driDispatchRemapTable[UnmapBufferARB_remap_index]) -#define SET_UnmapBufferARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UnmapBufferARB_remap_index], fn) -#define CALL_BeginQueryARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BeginQueryARB_remap_index], parameters) -#define GET_BeginQueryARB(disp) GET_by_offset(disp, driDispatchRemapTable[BeginQueryARB_remap_index]) -#define SET_BeginQueryARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BeginQueryARB_remap_index], fn) -#define CALL_DeleteQueriesARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteQueriesARB_remap_index], parameters) -#define GET_DeleteQueriesARB(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteQueriesARB_remap_index]) -#define SET_DeleteQueriesARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteQueriesARB_remap_index], fn) -#define CALL_EndQueryARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[EndQueryARB_remap_index], parameters) -#define GET_EndQueryARB(disp) GET_by_offset(disp, driDispatchRemapTable[EndQueryARB_remap_index]) -#define SET_EndQueryARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EndQueryARB_remap_index], fn) -#define CALL_GenQueriesARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenQueriesARB_remap_index], parameters) -#define GET_GenQueriesARB(disp) GET_by_offset(disp, driDispatchRemapTable[GenQueriesARB_remap_index]) -#define SET_GenQueriesARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenQueriesARB_remap_index], fn) -#define CALL_GetQueryObjectivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetQueryObjectivARB_remap_index], parameters) -#define GET_GetQueryObjectivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectivARB_remap_index]) -#define SET_GetQueryObjectivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectivARB_remap_index], fn) -#define CALL_GetQueryObjectuivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint *)), driDispatchRemapTable[GetQueryObjectuivARB_remap_index], parameters) -#define GET_GetQueryObjectuivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryObjectuivARB_remap_index]) -#define SET_GetQueryObjectuivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryObjectuivARB_remap_index], fn) -#define CALL_GetQueryivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetQueryivARB_remap_index], parameters) -#define GET_GetQueryivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetQueryivARB_remap_index]) -#define SET_GetQueryivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetQueryivARB_remap_index], fn) -#define CALL_IsQueryARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsQueryARB_remap_index], parameters) -#define GET_IsQueryARB(disp) GET_by_offset(disp, driDispatchRemapTable[IsQueryARB_remap_index]) -#define SET_IsQueryARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsQueryARB_remap_index], fn) -#define CALL_AttachObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLhandleARB)), driDispatchRemapTable[AttachObjectARB_remap_index], parameters) -#define GET_AttachObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[AttachObjectARB_remap_index]) -#define SET_AttachObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AttachObjectARB_remap_index], fn) -#define CALL_CompileShaderARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[CompileShaderARB_remap_index], parameters) -#define GET_CompileShaderARB(disp) GET_by_offset(disp, driDispatchRemapTable[CompileShaderARB_remap_index]) -#define SET_CompileShaderARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CompileShaderARB_remap_index], fn) -#define CALL_CreateProgramObjectARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(void)), driDispatchRemapTable[CreateProgramObjectARB_remap_index], parameters) -#define GET_CreateProgramObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[CreateProgramObjectARB_remap_index]) -#define SET_CreateProgramObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateProgramObjectARB_remap_index], fn) -#define CALL_CreateShaderObjectARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[CreateShaderObjectARB_remap_index], parameters) -#define GET_CreateShaderObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[CreateShaderObjectARB_remap_index]) -#define SET_CreateShaderObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateShaderObjectARB_remap_index], fn) -#define CALL_DeleteObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[DeleteObjectARB_remap_index], parameters) -#define GET_DeleteObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteObjectARB_remap_index]) -#define SET_DeleteObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteObjectARB_remap_index], fn) -#define CALL_DetachObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLhandleARB)), driDispatchRemapTable[DetachObjectARB_remap_index], parameters) -#define GET_DetachObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[DetachObjectARB_remap_index]) -#define SET_DetachObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DetachObjectARB_remap_index], fn) -#define CALL_GetActiveUniformARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)), driDispatchRemapTable[GetActiveUniformARB_remap_index], parameters) -#define GET_GetActiveUniformARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetActiveUniformARB_remap_index]) -#define SET_GetActiveUniformARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetActiveUniformARB_remap_index], fn) -#define CALL_GetAttachedObjectsARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *)), driDispatchRemapTable[GetAttachedObjectsARB_remap_index], parameters) -#define GET_GetAttachedObjectsARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetAttachedObjectsARB_remap_index]) -#define SET_GetAttachedObjectsARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetAttachedObjectsARB_remap_index], fn) -#define CALL_GetHandleARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[GetHandleARB_remap_index], parameters) -#define GET_GetHandleARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetHandleARB_remap_index]) -#define SET_GetHandleARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetHandleARB_remap_index], fn) -#define CALL_GetInfoLogARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)), driDispatchRemapTable[GetInfoLogARB_remap_index], parameters) -#define GET_GetInfoLogARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetInfoLogARB_remap_index]) -#define SET_GetInfoLogARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetInfoLogARB_remap_index], fn) -#define CALL_GetObjectParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLenum, GLfloat *)), driDispatchRemapTable[GetObjectParameterfvARB_remap_index], parameters) -#define GET_GetObjectParameterfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetObjectParameterfvARB_remap_index]) -#define SET_GetObjectParameterfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetObjectParameterfvARB_remap_index], fn) -#define CALL_GetObjectParameterivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLenum, GLint *)), driDispatchRemapTable[GetObjectParameterivARB_remap_index], parameters) -#define GET_GetObjectParameterivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetObjectParameterivARB_remap_index]) -#define SET_GetObjectParameterivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetObjectParameterivARB_remap_index], fn) -#define CALL_GetShaderSourceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)), driDispatchRemapTable[GetShaderSourceARB_remap_index], parameters) -#define GET_GetShaderSourceARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetShaderSourceARB_remap_index]) -#define SET_GetShaderSourceARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetShaderSourceARB_remap_index], fn) -#define CALL_GetUniformLocationARB(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLhandleARB, const GLcharARB *)), driDispatchRemapTable[GetUniformLocationARB_remap_index], parameters) -#define GET_GetUniformLocationARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetUniformLocationARB_remap_index]) -#define SET_GetUniformLocationARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetUniformLocationARB_remap_index], fn) -#define CALL_GetUniformfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLint, GLfloat *)), driDispatchRemapTable[GetUniformfvARB_remap_index], parameters) -#define GET_GetUniformfvARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetUniformfvARB_remap_index]) -#define SET_GetUniformfvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetUniformfvARB_remap_index], fn) -#define CALL_GetUniformivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLint, GLint *)), driDispatchRemapTable[GetUniformivARB_remap_index], parameters) -#define GET_GetUniformivARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetUniformivARB_remap_index]) -#define SET_GetUniformivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetUniformivARB_remap_index], fn) -#define CALL_LinkProgramARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[LinkProgramARB_remap_index], parameters) -#define GET_LinkProgramARB(disp) GET_by_offset(disp, driDispatchRemapTable[LinkProgramARB_remap_index]) -#define SET_LinkProgramARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LinkProgramARB_remap_index], fn) -#define CALL_ShaderSourceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *)), driDispatchRemapTable[ShaderSourceARB_remap_index], parameters) -#define GET_ShaderSourceARB(disp) GET_by_offset(disp, driDispatchRemapTable[ShaderSourceARB_remap_index]) -#define SET_ShaderSourceARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ShaderSourceARB_remap_index], fn) -#define CALL_Uniform1fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat)), driDispatchRemapTable[Uniform1fARB_remap_index], parameters) -#define GET_Uniform1fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1fARB_remap_index]) -#define SET_Uniform1fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1fARB_remap_index], fn) -#define CALL_Uniform1fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform1fvARB_remap_index], parameters) -#define GET_Uniform1fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1fvARB_remap_index]) -#define SET_Uniform1fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1fvARB_remap_index], fn) -#define CALL_Uniform1iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), driDispatchRemapTable[Uniform1iARB_remap_index], parameters) -#define GET_Uniform1iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1iARB_remap_index]) -#define SET_Uniform1iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1iARB_remap_index], fn) -#define CALL_Uniform1ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform1ivARB_remap_index], parameters) -#define GET_Uniform1ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform1ivARB_remap_index]) -#define SET_Uniform1ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform1ivARB_remap_index], fn) -#define CALL_Uniform2fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat)), driDispatchRemapTable[Uniform2fARB_remap_index], parameters) -#define GET_Uniform2fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2fARB_remap_index]) -#define SET_Uniform2fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2fARB_remap_index], fn) -#define CALL_Uniform2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform2fvARB_remap_index], parameters) -#define GET_Uniform2fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2fvARB_remap_index]) -#define SET_Uniform2fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2fvARB_remap_index], fn) -#define CALL_Uniform2iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), driDispatchRemapTable[Uniform2iARB_remap_index], parameters) -#define GET_Uniform2iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2iARB_remap_index]) -#define SET_Uniform2iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2iARB_remap_index], fn) -#define CALL_Uniform2ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform2ivARB_remap_index], parameters) -#define GET_Uniform2ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform2ivARB_remap_index]) -#define SET_Uniform2ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform2ivARB_remap_index], fn) -#define CALL_Uniform3fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[Uniform3fARB_remap_index], parameters) -#define GET_Uniform3fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3fARB_remap_index]) -#define SET_Uniform3fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3fARB_remap_index], fn) -#define CALL_Uniform3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform3fvARB_remap_index], parameters) -#define GET_Uniform3fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3fvARB_remap_index]) -#define SET_Uniform3fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3fvARB_remap_index], fn) -#define CALL_Uniform3iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), driDispatchRemapTable[Uniform3iARB_remap_index], parameters) -#define GET_Uniform3iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3iARB_remap_index]) -#define SET_Uniform3iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3iARB_remap_index], fn) -#define CALL_Uniform3ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform3ivARB_remap_index], parameters) -#define GET_Uniform3ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform3ivARB_remap_index]) -#define SET_Uniform3ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform3ivARB_remap_index], fn) -#define CALL_Uniform4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[Uniform4fARB_remap_index], parameters) -#define GET_Uniform4fARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4fARB_remap_index]) -#define SET_Uniform4fARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4fARB_remap_index], fn) -#define CALL_Uniform4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), driDispatchRemapTable[Uniform4fvARB_remap_index], parameters) -#define GET_Uniform4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4fvARB_remap_index]) -#define SET_Uniform4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4fvARB_remap_index], fn) -#define CALL_Uniform4iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint)), driDispatchRemapTable[Uniform4iARB_remap_index], parameters) -#define GET_Uniform4iARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4iARB_remap_index]) -#define SET_Uniform4iARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4iARB_remap_index], fn) -#define CALL_Uniform4ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), driDispatchRemapTable[Uniform4ivARB_remap_index], parameters) -#define GET_Uniform4ivARB(disp) GET_by_offset(disp, driDispatchRemapTable[Uniform4ivARB_remap_index]) -#define SET_Uniform4ivARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[Uniform4ivARB_remap_index], fn) -#define CALL_UniformMatrix2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix2fvARB_remap_index], parameters) -#define GET_UniformMatrix2fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix2fvARB_remap_index]) -#define SET_UniformMatrix2fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix2fvARB_remap_index], fn) -#define CALL_UniformMatrix3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix3fvARB_remap_index], parameters) -#define GET_UniformMatrix3fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix3fvARB_remap_index]) -#define SET_UniformMatrix3fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix3fvARB_remap_index], fn) -#define CALL_UniformMatrix4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), driDispatchRemapTable[UniformMatrix4fvARB_remap_index], parameters) -#define GET_UniformMatrix4fvARB(disp) GET_by_offset(disp, driDispatchRemapTable[UniformMatrix4fvARB_remap_index]) -#define SET_UniformMatrix4fvARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UniformMatrix4fvARB_remap_index], fn) -#define CALL_UseProgramObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[UseProgramObjectARB_remap_index], parameters) -#define GET_UseProgramObjectARB(disp) GET_by_offset(disp, driDispatchRemapTable[UseProgramObjectARB_remap_index]) -#define SET_UseProgramObjectARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UseProgramObjectARB_remap_index], fn) -#define CALL_ValidateProgramARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), driDispatchRemapTable[ValidateProgramARB_remap_index], parameters) -#define GET_ValidateProgramARB(disp) GET_by_offset(disp, driDispatchRemapTable[ValidateProgramARB_remap_index]) -#define SET_ValidateProgramARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ValidateProgramARB_remap_index], fn) -#define CALL_BindAttribLocationARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, const GLcharARB *)), driDispatchRemapTable[BindAttribLocationARB_remap_index], parameters) -#define GET_BindAttribLocationARB(disp) GET_by_offset(disp, driDispatchRemapTable[BindAttribLocationARB_remap_index]) -#define SET_BindAttribLocationARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindAttribLocationARB_remap_index], fn) -#define CALL_GetActiveAttribARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)), driDispatchRemapTable[GetActiveAttribARB_remap_index], parameters) -#define GET_GetActiveAttribARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetActiveAttribARB_remap_index]) -#define SET_GetActiveAttribARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetActiveAttribARB_remap_index], fn) -#define CALL_GetAttribLocationARB(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLhandleARB, const GLcharARB *)), driDispatchRemapTable[GetAttribLocationARB_remap_index], parameters) -#define GET_GetAttribLocationARB(disp) GET_by_offset(disp, driDispatchRemapTable[GetAttribLocationARB_remap_index]) -#define SET_GetAttribLocationARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetAttribLocationARB_remap_index], fn) -#define CALL_DrawBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLenum *)), driDispatchRemapTable[DrawBuffersARB_remap_index], parameters) -#define GET_DrawBuffersARB(disp) GET_by_offset(disp, driDispatchRemapTable[DrawBuffersARB_remap_index]) -#define SET_DrawBuffersARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawBuffersARB_remap_index], fn) -#define CALL_RenderbufferStorageMultisample(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, GLsizei, GLsizei)), driDispatchRemapTable[RenderbufferStorageMultisample_remap_index], parameters) -#define GET_RenderbufferStorageMultisample(disp) GET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageMultisample_remap_index]) -#define SET_RenderbufferStorageMultisample(disp, fn) SET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageMultisample_remap_index], fn) -#define CALL_FramebufferTextureARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint)), driDispatchRemapTable[FramebufferTextureARB_remap_index], parameters) -#define GET_FramebufferTextureARB(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureARB_remap_index]) -#define SET_FramebufferTextureARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureARB_remap_index], fn) -#define CALL_FramebufferTextureFaceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLenum)), driDispatchRemapTable[FramebufferTextureFaceARB_remap_index], parameters) -#define GET_FramebufferTextureFaceARB(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureFaceARB_remap_index]) -#define SET_FramebufferTextureFaceARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureFaceARB_remap_index], fn) -#define CALL_ProgramParameteriARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint)), driDispatchRemapTable[ProgramParameteriARB_remap_index], parameters) -#define GET_ProgramParameteriARB(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramParameteriARB_remap_index]) -#define SET_ProgramParameteriARB(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramParameteriARB_remap_index], fn) -#define CALL_FlushMappedBufferRange(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptr, GLsizeiptr)), driDispatchRemapTable[FlushMappedBufferRange_remap_index], parameters) -#define GET_FlushMappedBufferRange(disp) GET_by_offset(disp, driDispatchRemapTable[FlushMappedBufferRange_remap_index]) -#define SET_FlushMappedBufferRange(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FlushMappedBufferRange_remap_index], fn) -#define CALL_MapBufferRange(disp, parameters) CALL_by_offset(disp, (GLvoid * (GLAPIENTRYP)(GLenum, GLintptr, GLsizeiptr, GLbitfield)), driDispatchRemapTable[MapBufferRange_remap_index], parameters) -#define GET_MapBufferRange(disp) GET_by_offset(disp, driDispatchRemapTable[MapBufferRange_remap_index]) -#define SET_MapBufferRange(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MapBufferRange_remap_index], fn) -#define CALL_BindVertexArray(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[BindVertexArray_remap_index], parameters) -#define GET_BindVertexArray(disp) GET_by_offset(disp, driDispatchRemapTable[BindVertexArray_remap_index]) -#define SET_BindVertexArray(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindVertexArray_remap_index], fn) -#define CALL_GenVertexArrays(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenVertexArrays_remap_index], parameters) -#define GET_GenVertexArrays(disp) GET_by_offset(disp, driDispatchRemapTable[GenVertexArrays_remap_index]) -#define SET_GenVertexArrays(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenVertexArrays_remap_index], fn) -#define CALL_CopyBufferSubData(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)), driDispatchRemapTable[CopyBufferSubData_remap_index], parameters) -#define GET_CopyBufferSubData(disp) GET_by_offset(disp, driDispatchRemapTable[CopyBufferSubData_remap_index]) -#define SET_CopyBufferSubData(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CopyBufferSubData_remap_index], fn) -#define CALL_ClientWaitSync(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), driDispatchRemapTable[ClientWaitSync_remap_index], parameters) -#define GET_ClientWaitSync(disp) GET_by_offset(disp, driDispatchRemapTable[ClientWaitSync_remap_index]) -#define SET_ClientWaitSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ClientWaitSync_remap_index], fn) -#define CALL_DeleteSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync)), driDispatchRemapTable[DeleteSync_remap_index], parameters) -#define GET_DeleteSync(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteSync_remap_index]) -#define SET_DeleteSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteSync_remap_index], fn) -#define CALL_FenceSync(disp, parameters) CALL_by_offset(disp, (GLsync (GLAPIENTRYP)(GLenum, GLbitfield)), driDispatchRemapTable[FenceSync_remap_index], parameters) -#define GET_FenceSync(disp) GET_by_offset(disp, driDispatchRemapTable[FenceSync_remap_index]) -#define SET_FenceSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FenceSync_remap_index], fn) -#define CALL_GetInteger64v(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint64 *)), driDispatchRemapTable[GetInteger64v_remap_index], parameters) -#define GET_GetInteger64v(disp) GET_by_offset(disp, driDispatchRemapTable[GetInteger64v_remap_index]) -#define SET_GetInteger64v(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetInteger64v_remap_index], fn) -#define CALL_GetSynciv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLenum, GLsizei, GLsizei *, GLint *)), driDispatchRemapTable[GetSynciv_remap_index], parameters) -#define GET_GetSynciv(disp) GET_by_offset(disp, driDispatchRemapTable[GetSynciv_remap_index]) -#define SET_GetSynciv(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetSynciv_remap_index], fn) -#define CALL_IsSync(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsync)), driDispatchRemapTable[IsSync_remap_index], parameters) -#define GET_IsSync(disp) GET_by_offset(disp, driDispatchRemapTable[IsSync_remap_index]) -#define SET_IsSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsSync_remap_index], fn) -#define CALL_WaitSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), driDispatchRemapTable[WaitSync_remap_index], parameters) -#define GET_WaitSync(disp) GET_by_offset(disp, driDispatchRemapTable[WaitSync_remap_index]) -#define SET_WaitSync(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WaitSync_remap_index], fn) -#define CALL_DrawElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, const GLvoid *, GLint)), driDispatchRemapTable[DrawElementsBaseVertex_remap_index], parameters) -#define GET_DrawElementsBaseVertex(disp) GET_by_offset(disp, driDispatchRemapTable[DrawElementsBaseVertex_remap_index]) -#define SET_DrawElementsBaseVertex(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawElementsBaseVertex_remap_index], fn) -#define CALL_DrawRangeElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint)), driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index], parameters) -#define GET_DrawRangeElementsBaseVertex(disp) GET_by_offset(disp, driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index]) -#define SET_DrawRangeElementsBaseVertex(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index], fn) -#define CALL_MultiDrawElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei, const GLint *)), driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index], parameters) -#define GET_MultiDrawElementsBaseVertex(disp) GET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index]) -#define SET_MultiDrawElementsBaseVertex(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index], fn) -#define CALL_BindTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindTransformFeedback_remap_index], parameters) -#define GET_BindTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[BindTransformFeedback_remap_index]) -#define SET_BindTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindTransformFeedback_remap_index], fn) -#define CALL_DeleteTransformFeedbacks(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteTransformFeedbacks_remap_index], parameters) -#define GET_DeleteTransformFeedbacks(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteTransformFeedbacks_remap_index]) -#define SET_DeleteTransformFeedbacks(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteTransformFeedbacks_remap_index], fn) -#define CALL_DrawTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[DrawTransformFeedback_remap_index], parameters) -#define GET_DrawTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[DrawTransformFeedback_remap_index]) -#define SET_DrawTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DrawTransformFeedback_remap_index], fn) -#define CALL_GenTransformFeedbacks(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenTransformFeedbacks_remap_index], parameters) -#define GET_GenTransformFeedbacks(disp) GET_by_offset(disp, driDispatchRemapTable[GenTransformFeedbacks_remap_index]) -#define SET_GenTransformFeedbacks(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenTransformFeedbacks_remap_index], fn) -#define CALL_IsTransformFeedback(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsTransformFeedback_remap_index], parameters) -#define GET_IsTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[IsTransformFeedback_remap_index]) -#define SET_IsTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsTransformFeedback_remap_index], fn) -#define CALL_PauseTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[PauseTransformFeedback_remap_index], parameters) -#define GET_PauseTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[PauseTransformFeedback_remap_index]) -#define SET_PauseTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PauseTransformFeedback_remap_index], fn) -#define CALL_ResumeTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[ResumeTransformFeedback_remap_index], parameters) -#define GET_ResumeTransformFeedback(disp) GET_by_offset(disp, driDispatchRemapTable[ResumeTransformFeedback_remap_index]) -#define SET_ResumeTransformFeedback(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ResumeTransformFeedback_remap_index], fn) -#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_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) -#define CALL_GetPixelTexGenParameterivSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint *)), driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index], parameters) -#define GET_GetPixelTexGenParameterivSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index]) -#define SET_GetPixelTexGenParameterivSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index], fn) -#define CALL_PixelTexGenParameterfSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index], parameters) -#define GET_PixelTexGenParameterfSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index]) -#define SET_PixelTexGenParameterfSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfSGIS_remap_index], fn) -#define CALL_PixelTexGenParameterfvSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index], parameters) -#define GET_PixelTexGenParameterfvSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index]) -#define SET_PixelTexGenParameterfvSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameterfvSGIS_remap_index], fn) -#define CALL_PixelTexGenParameteriSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index], parameters) -#define GET_PixelTexGenParameteriSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index]) -#define SET_PixelTexGenParameteriSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenParameteriSGIS_remap_index], fn) -#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_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) -#define CALL_SamplePatternSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[SamplePatternSGIS_remap_index], parameters) -#define GET_SamplePatternSGIS(disp) GET_by_offset(disp, driDispatchRemapTable[SamplePatternSGIS_remap_index]) -#define SET_SamplePatternSGIS(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SamplePatternSGIS_remap_index], fn) -#define CALL_ColorPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[ColorPointerEXT_remap_index], parameters) -#define GET_ColorPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ColorPointerEXT_remap_index]) -#define SET_ColorPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorPointerEXT_remap_index], fn) -#define CALL_EdgeFlagPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLsizei, const GLboolean *)), driDispatchRemapTable[EdgeFlagPointerEXT_remap_index], parameters) -#define GET_EdgeFlagPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[EdgeFlagPointerEXT_remap_index]) -#define SET_EdgeFlagPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EdgeFlagPointerEXT_remap_index], fn) -#define CALL_IndexPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[IndexPointerEXT_remap_index], parameters) -#define GET_IndexPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IndexPointerEXT_remap_index]) -#define SET_IndexPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IndexPointerEXT_remap_index], fn) -#define CALL_NormalPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[NormalPointerEXT_remap_index], parameters) -#define GET_NormalPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[NormalPointerEXT_remap_index]) -#define SET_NormalPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[NormalPointerEXT_remap_index], fn) -#define CALL_TexCoordPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[TexCoordPointerEXT_remap_index], parameters) -#define GET_TexCoordPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[TexCoordPointerEXT_remap_index]) -#define SET_TexCoordPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TexCoordPointerEXT_remap_index], fn) -#define CALL_VertexPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), driDispatchRemapTable[VertexPointerEXT_remap_index], parameters) -#define GET_VertexPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[VertexPointerEXT_remap_index]) -#define SET_VertexPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexPointerEXT_remap_index], fn) -#define CALL_PointParameterfEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), driDispatchRemapTable[PointParameterfEXT_remap_index], parameters) -#define GET_PointParameterfEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameterfEXT_remap_index]) -#define SET_PointParameterfEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameterfEXT_remap_index], fn) -#define CALL_PointParameterfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), driDispatchRemapTable[PointParameterfvEXT_remap_index], parameters) -#define GET_PointParameterfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameterfvEXT_remap_index]) -#define SET_PointParameterfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameterfvEXT_remap_index], fn) -#define CALL_LockArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei)), driDispatchRemapTable[LockArraysEXT_remap_index], parameters) -#define GET_LockArraysEXT(disp) GET_by_offset(disp, driDispatchRemapTable[LockArraysEXT_remap_index]) -#define SET_LockArraysEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LockArraysEXT_remap_index], fn) -#define CALL_UnlockArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[UnlockArraysEXT_remap_index], parameters) -#define GET_UnlockArraysEXT(disp) GET_by_offset(disp, driDispatchRemapTable[UnlockArraysEXT_remap_index]) -#define SET_UnlockArraysEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UnlockArraysEXT_remap_index], fn) -#define CALL_SecondaryColor3bEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbyte, GLbyte, GLbyte)), driDispatchRemapTable[SecondaryColor3bEXT_remap_index], parameters) -#define GET_SecondaryColor3bEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bEXT_remap_index]) -#define SET_SecondaryColor3bEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bEXT_remap_index], fn) -#define CALL_SecondaryColor3bvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLbyte *)), driDispatchRemapTable[SecondaryColor3bvEXT_remap_index], parameters) -#define GET_SecondaryColor3bvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bvEXT_remap_index]) -#define SET_SecondaryColor3bvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3bvEXT_remap_index], fn) -#define CALL_SecondaryColor3dEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[SecondaryColor3dEXT_remap_index], parameters) -#define GET_SecondaryColor3dEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dEXT_remap_index]) -#define SET_SecondaryColor3dEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dEXT_remap_index], fn) -#define CALL_SecondaryColor3dvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[SecondaryColor3dvEXT_remap_index], parameters) -#define GET_SecondaryColor3dvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dvEXT_remap_index]) -#define SET_SecondaryColor3dvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3dvEXT_remap_index], fn) -#define CALL_SecondaryColor3fEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[SecondaryColor3fEXT_remap_index], parameters) -#define GET_SecondaryColor3fEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fEXT_remap_index]) -#define SET_SecondaryColor3fEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fEXT_remap_index], fn) -#define CALL_SecondaryColor3fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[SecondaryColor3fvEXT_remap_index], parameters) -#define GET_SecondaryColor3fvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fvEXT_remap_index]) -#define SET_SecondaryColor3fvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3fvEXT_remap_index], fn) -#define CALL_SecondaryColor3iEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), driDispatchRemapTable[SecondaryColor3iEXT_remap_index], parameters) -#define GET_SecondaryColor3iEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3iEXT_remap_index]) -#define SET_SecondaryColor3iEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3iEXT_remap_index], fn) -#define CALL_SecondaryColor3ivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[SecondaryColor3ivEXT_remap_index], parameters) -#define GET_SecondaryColor3ivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ivEXT_remap_index]) -#define SET_SecondaryColor3ivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ivEXT_remap_index], fn) -#define CALL_SecondaryColor3sEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), driDispatchRemapTable[SecondaryColor3sEXT_remap_index], parameters) -#define GET_SecondaryColor3sEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3sEXT_remap_index]) -#define SET_SecondaryColor3sEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3sEXT_remap_index], fn) -#define CALL_SecondaryColor3svEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[SecondaryColor3svEXT_remap_index], parameters) -#define GET_SecondaryColor3svEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3svEXT_remap_index]) -#define SET_SecondaryColor3svEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3svEXT_remap_index], fn) -#define CALL_SecondaryColor3ubEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLubyte, GLubyte, GLubyte)), driDispatchRemapTable[SecondaryColor3ubEXT_remap_index], parameters) -#define GET_SecondaryColor3ubEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubEXT_remap_index]) -#define SET_SecondaryColor3ubEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubEXT_remap_index], fn) -#define CALL_SecondaryColor3ubvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLubyte *)), driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index], parameters) -#define GET_SecondaryColor3ubvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index]) -#define SET_SecondaryColor3ubvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index], fn) -#define CALL_SecondaryColor3uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint)), driDispatchRemapTable[SecondaryColor3uiEXT_remap_index], parameters) -#define GET_SecondaryColor3uiEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uiEXT_remap_index]) -#define SET_SecondaryColor3uiEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uiEXT_remap_index], fn) -#define CALL_SecondaryColor3uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLuint *)), driDispatchRemapTable[SecondaryColor3uivEXT_remap_index], parameters) -#define GET_SecondaryColor3uivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uivEXT_remap_index]) -#define SET_SecondaryColor3uivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3uivEXT_remap_index], fn) -#define CALL_SecondaryColor3usEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLushort, GLushort, GLushort)), driDispatchRemapTable[SecondaryColor3usEXT_remap_index], parameters) -#define GET_SecondaryColor3usEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usEXT_remap_index]) -#define SET_SecondaryColor3usEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usEXT_remap_index], fn) -#define CALL_SecondaryColor3usvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLushort *)), driDispatchRemapTable[SecondaryColor3usvEXT_remap_index], parameters) -#define GET_SecondaryColor3usvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usvEXT_remap_index]) -#define SET_SecondaryColor3usvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColor3usvEXT_remap_index], fn) -#define CALL_SecondaryColorPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[SecondaryColorPointerEXT_remap_index], parameters) -#define GET_SecondaryColorPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[SecondaryColorPointerEXT_remap_index]) -#define SET_SecondaryColorPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SecondaryColorPointerEXT_remap_index], fn) -#define CALL_MultiDrawArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *, const GLsizei *, GLsizei)), driDispatchRemapTable[MultiDrawArraysEXT_remap_index], parameters) -#define GET_MultiDrawArraysEXT(disp) GET_by_offset(disp, driDispatchRemapTable[MultiDrawArraysEXT_remap_index]) -#define SET_MultiDrawArraysEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiDrawArraysEXT_remap_index], fn) -#define CALL_MultiDrawElementsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei)), driDispatchRemapTable[MultiDrawElementsEXT_remap_index], parameters) -#define GET_MultiDrawElementsEXT(disp) GET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsEXT_remap_index]) -#define SET_MultiDrawElementsEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiDrawElementsEXT_remap_index], fn) -#define CALL_FogCoordPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[FogCoordPointerEXT_remap_index], parameters) -#define GET_FogCoordPointerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoordPointerEXT_remap_index]) -#define SET_FogCoordPointerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoordPointerEXT_remap_index], fn) -#define CALL_FogCoorddEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble)), driDispatchRemapTable[FogCoorddEXT_remap_index], parameters) -#define GET_FogCoorddEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoorddEXT_remap_index]) -#define SET_FogCoorddEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoorddEXT_remap_index], fn) -#define CALL_FogCoorddvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[FogCoorddvEXT_remap_index], parameters) -#define GET_FogCoorddvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoorddvEXT_remap_index]) -#define SET_FogCoorddvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoorddvEXT_remap_index], fn) -#define CALL_FogCoordfEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), driDispatchRemapTable[FogCoordfEXT_remap_index], parameters) -#define GET_FogCoordfEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoordfEXT_remap_index]) -#define SET_FogCoordfEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoordfEXT_remap_index], fn) -#define CALL_FogCoordfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[FogCoordfvEXT_remap_index], parameters) -#define GET_FogCoordfvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FogCoordfvEXT_remap_index]) -#define SET_FogCoordfvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FogCoordfvEXT_remap_index], fn) -#define CALL_PixelTexGenSGIX(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[PixelTexGenSGIX_remap_index], parameters) -#define GET_PixelTexGenSGIX(disp) GET_by_offset(disp, driDispatchRemapTable[PixelTexGenSGIX_remap_index]) -#define SET_PixelTexGenSGIX(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PixelTexGenSGIX_remap_index], fn) -#define CALL_BlendFuncSeparateEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[BlendFuncSeparateEXT_remap_index], parameters) -#define GET_BlendFuncSeparateEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlendFuncSeparateEXT_remap_index]) -#define SET_BlendFuncSeparateEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlendFuncSeparateEXT_remap_index], fn) -#define CALL_FlushVertexArrayRangeNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index], parameters) -#define GET_FlushVertexArrayRangeNV(disp) GET_by_offset(disp, driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index]) -#define SET_FlushVertexArrayRangeNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index], fn) -#define CALL_VertexArrayRangeNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLvoid *)), driDispatchRemapTable[VertexArrayRangeNV_remap_index], parameters) -#define GET_VertexArrayRangeNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexArrayRangeNV_remap_index]) -#define SET_VertexArrayRangeNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexArrayRangeNV_remap_index], fn) -#define CALL_CombinerInputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[CombinerInputNV_remap_index], parameters) -#define GET_CombinerInputNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerInputNV_remap_index]) -#define SET_CombinerInputNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerInputNV_remap_index], fn) -#define CALL_CombinerOutputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean)), driDispatchRemapTable[CombinerOutputNV_remap_index], parameters) -#define GET_CombinerOutputNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerOutputNV_remap_index]) -#define SET_CombinerOutputNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerOutputNV_remap_index], fn) -#define CALL_CombinerParameterfNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), driDispatchRemapTable[CombinerParameterfNV_remap_index], parameters) -#define GET_CombinerParameterfNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameterfNV_remap_index]) -#define SET_CombinerParameterfNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameterfNV_remap_index], fn) -#define CALL_CombinerParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), driDispatchRemapTable[CombinerParameterfvNV_remap_index], parameters) -#define GET_CombinerParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameterfvNV_remap_index]) -#define SET_CombinerParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameterfvNV_remap_index], fn) -#define CALL_CombinerParameteriNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), driDispatchRemapTable[CombinerParameteriNV_remap_index], parameters) -#define GET_CombinerParameteriNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameteriNV_remap_index]) -#define SET_CombinerParameteriNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameteriNV_remap_index], fn) -#define CALL_CombinerParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), driDispatchRemapTable[CombinerParameterivNV_remap_index], parameters) -#define GET_CombinerParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[CombinerParameterivNV_remap_index]) -#define SET_CombinerParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CombinerParameterivNV_remap_index], fn) -#define CALL_FinalCombinerInputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), driDispatchRemapTable[FinalCombinerInputNV_remap_index], parameters) -#define GET_FinalCombinerInputNV(disp) GET_by_offset(disp, driDispatchRemapTable[FinalCombinerInputNV_remap_index]) -#define SET_FinalCombinerInputNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FinalCombinerInputNV_remap_index], fn) -#define CALL_GetCombinerInputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index], parameters) -#define GET_GetCombinerInputParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index]) -#define SET_GetCombinerInputParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index], fn) -#define CALL_GetCombinerInputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLint *)), driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index], parameters) -#define GET_GetCombinerInputParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index]) -#define SET_GetCombinerInputParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index], fn) -#define CALL_GetCombinerOutputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index], parameters) -#define GET_GetCombinerOutputParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index]) -#define SET_GetCombinerOutputParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index], fn) -#define CALL_GetCombinerOutputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLint *)), driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index], parameters) -#define GET_GetCombinerOutputParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index]) -#define SET_GetCombinerOutputParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index], fn) -#define CALL_GetFinalCombinerInputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index], parameters) -#define GET_GetFinalCombinerInputParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index]) -#define SET_GetFinalCombinerInputParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index], fn) -#define CALL_GetFinalCombinerInputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index], parameters) -#define GET_GetFinalCombinerInputParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index]) -#define SET_GetFinalCombinerInputParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index], fn) -#define CALL_ResizeBuffersMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[ResizeBuffersMESA_remap_index], parameters) -#define GET_ResizeBuffersMESA(disp) GET_by_offset(disp, driDispatchRemapTable[ResizeBuffersMESA_remap_index]) -#define SET_ResizeBuffersMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ResizeBuffersMESA_remap_index], fn) -#define CALL_WindowPos2dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble)), driDispatchRemapTable[WindowPos2dMESA_remap_index], parameters) -#define GET_WindowPos2dMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2dMESA_remap_index]) -#define SET_WindowPos2dMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2dMESA_remap_index], fn) -#define CALL_WindowPos2dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[WindowPos2dvMESA_remap_index], parameters) -#define GET_WindowPos2dvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2dvMESA_remap_index]) -#define SET_WindowPos2dvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2dvMESA_remap_index], fn) -#define CALL_WindowPos2fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), driDispatchRemapTable[WindowPos2fMESA_remap_index], parameters) -#define GET_WindowPos2fMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2fMESA_remap_index]) -#define SET_WindowPos2fMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2fMESA_remap_index], fn) -#define CALL_WindowPos2fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[WindowPos2fvMESA_remap_index], parameters) -#define GET_WindowPos2fvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2fvMESA_remap_index]) -#define SET_WindowPos2fvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2fvMESA_remap_index], fn) -#define CALL_WindowPos2iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), driDispatchRemapTable[WindowPos2iMESA_remap_index], parameters) -#define GET_WindowPos2iMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2iMESA_remap_index]) -#define SET_WindowPos2iMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2iMESA_remap_index], fn) -#define CALL_WindowPos2ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[WindowPos2ivMESA_remap_index], parameters) -#define GET_WindowPos2ivMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2ivMESA_remap_index]) -#define SET_WindowPos2ivMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2ivMESA_remap_index], fn) -#define CALL_WindowPos2sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort)), driDispatchRemapTable[WindowPos2sMESA_remap_index], parameters) -#define GET_WindowPos2sMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2sMESA_remap_index]) -#define SET_WindowPos2sMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2sMESA_remap_index], fn) -#define CALL_WindowPos2svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[WindowPos2svMESA_remap_index], parameters) -#define GET_WindowPos2svMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos2svMESA_remap_index]) -#define SET_WindowPos2svMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos2svMESA_remap_index], fn) -#define CALL_WindowPos3dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[WindowPos3dMESA_remap_index], parameters) -#define GET_WindowPos3dMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3dMESA_remap_index]) -#define SET_WindowPos3dMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3dMESA_remap_index], fn) -#define CALL_WindowPos3dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[WindowPos3dvMESA_remap_index], parameters) -#define GET_WindowPos3dvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3dvMESA_remap_index]) -#define SET_WindowPos3dvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3dvMESA_remap_index], fn) -#define CALL_WindowPos3fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[WindowPos3fMESA_remap_index], parameters) -#define GET_WindowPos3fMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3fMESA_remap_index]) -#define SET_WindowPos3fMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3fMESA_remap_index], fn) -#define CALL_WindowPos3fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[WindowPos3fvMESA_remap_index], parameters) -#define GET_WindowPos3fvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3fvMESA_remap_index]) -#define SET_WindowPos3fvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3fvMESA_remap_index], fn) -#define CALL_WindowPos3iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), driDispatchRemapTable[WindowPos3iMESA_remap_index], parameters) -#define GET_WindowPos3iMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3iMESA_remap_index]) -#define SET_WindowPos3iMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3iMESA_remap_index], fn) -#define CALL_WindowPos3ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[WindowPos3ivMESA_remap_index], parameters) -#define GET_WindowPos3ivMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3ivMESA_remap_index]) -#define SET_WindowPos3ivMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3ivMESA_remap_index], fn) -#define CALL_WindowPos3sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), driDispatchRemapTable[WindowPos3sMESA_remap_index], parameters) -#define GET_WindowPos3sMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3sMESA_remap_index]) -#define SET_WindowPos3sMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3sMESA_remap_index], fn) -#define CALL_WindowPos3svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[WindowPos3svMESA_remap_index], parameters) -#define GET_WindowPos3svMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos3svMESA_remap_index]) -#define SET_WindowPos3svMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos3svMESA_remap_index], fn) -#define CALL_WindowPos4dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[WindowPos4dMESA_remap_index], parameters) -#define GET_WindowPos4dMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4dMESA_remap_index]) -#define SET_WindowPos4dMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4dMESA_remap_index], fn) -#define CALL_WindowPos4dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), driDispatchRemapTable[WindowPos4dvMESA_remap_index], parameters) -#define GET_WindowPos4dvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4dvMESA_remap_index]) -#define SET_WindowPos4dvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4dvMESA_remap_index], fn) -#define CALL_WindowPos4fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[WindowPos4fMESA_remap_index], parameters) -#define GET_WindowPos4fMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4fMESA_remap_index]) -#define SET_WindowPos4fMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4fMESA_remap_index], fn) -#define CALL_WindowPos4fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), driDispatchRemapTable[WindowPos4fvMESA_remap_index], parameters) -#define GET_WindowPos4fvMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4fvMESA_remap_index]) -#define SET_WindowPos4fvMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4fvMESA_remap_index], fn) -#define CALL_WindowPos4iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), driDispatchRemapTable[WindowPos4iMESA_remap_index], parameters) -#define GET_WindowPos4iMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4iMESA_remap_index]) -#define SET_WindowPos4iMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4iMESA_remap_index], fn) -#define CALL_WindowPos4ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), driDispatchRemapTable[WindowPos4ivMESA_remap_index], parameters) -#define GET_WindowPos4ivMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4ivMESA_remap_index]) -#define SET_WindowPos4ivMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4ivMESA_remap_index], fn) -#define CALL_WindowPos4sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), driDispatchRemapTable[WindowPos4sMESA_remap_index], parameters) -#define GET_WindowPos4sMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4sMESA_remap_index]) -#define SET_WindowPos4sMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4sMESA_remap_index], fn) -#define CALL_WindowPos4svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), driDispatchRemapTable[WindowPos4svMESA_remap_index], parameters) -#define GET_WindowPos4svMESA(disp) GET_by_offset(disp, driDispatchRemapTable[WindowPos4svMESA_remap_index]) -#define SET_WindowPos4svMESA(disp, fn) SET_by_offset(disp, driDispatchRemapTable[WindowPos4svMESA_remap_index], fn) -#define CALL_MultiModeDrawArraysIBM(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint)), driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index], parameters) -#define GET_MultiModeDrawArraysIBM(disp) GET_by_offset(disp, driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index]) -#define SET_MultiModeDrawArraysIBM(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index], fn) -#define CALL_MultiModeDrawElementsIBM(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLenum *, const GLsizei *, GLenum, const GLvoid * const *, GLsizei, GLint)), driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index], parameters) -#define GET_MultiModeDrawElementsIBM(disp) GET_by_offset(disp, driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index]) -#define SET_MultiModeDrawElementsIBM(disp, fn) SET_by_offset(disp, driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index], fn) -#define CALL_DeleteFencesNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteFencesNV_remap_index], parameters) -#define GET_DeleteFencesNV(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteFencesNV_remap_index]) -#define SET_DeleteFencesNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteFencesNV_remap_index], fn) -#define CALL_FinishFenceNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[FinishFenceNV_remap_index], parameters) -#define GET_FinishFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[FinishFenceNV_remap_index]) -#define SET_FinishFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FinishFenceNV_remap_index], fn) -#define CALL_GenFencesNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenFencesNV_remap_index], parameters) -#define GET_GenFencesNV(disp) GET_by_offset(disp, driDispatchRemapTable[GenFencesNV_remap_index]) -#define SET_GenFencesNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenFencesNV_remap_index], fn) -#define CALL_GetFenceivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetFenceivNV_remap_index], parameters) -#define GET_GetFenceivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetFenceivNV_remap_index]) -#define SET_GetFenceivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetFenceivNV_remap_index], fn) -#define CALL_IsFenceNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsFenceNV_remap_index], parameters) -#define GET_IsFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[IsFenceNV_remap_index]) -#define SET_IsFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsFenceNV_remap_index], fn) -#define CALL_SetFenceNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum)), driDispatchRemapTable[SetFenceNV_remap_index], parameters) -#define GET_SetFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[SetFenceNV_remap_index]) -#define SET_SetFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SetFenceNV_remap_index], fn) -#define CALL_TestFenceNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[TestFenceNV_remap_index], parameters) -#define GET_TestFenceNV(disp) GET_by_offset(disp, driDispatchRemapTable[TestFenceNV_remap_index]) -#define SET_TestFenceNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TestFenceNV_remap_index], fn) -#define CALL_AreProgramsResidentNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsizei, const GLuint *, GLboolean *)), driDispatchRemapTable[AreProgramsResidentNV_remap_index], parameters) -#define GET_AreProgramsResidentNV(disp) GET_by_offset(disp, driDispatchRemapTable[AreProgramsResidentNV_remap_index]) -#define SET_AreProgramsResidentNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AreProgramsResidentNV_remap_index], fn) -#define CALL_BindProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindProgramNV_remap_index], parameters) -#define GET_BindProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[BindProgramNV_remap_index]) -#define SET_BindProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindProgramNV_remap_index], fn) -#define CALL_DeleteProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteProgramsNV_remap_index], parameters) -#define GET_DeleteProgramsNV(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteProgramsNV_remap_index]) -#define SET_DeleteProgramsNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteProgramsNV_remap_index], fn) -#define CALL_ExecuteProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), driDispatchRemapTable[ExecuteProgramNV_remap_index], parameters) -#define GET_ExecuteProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[ExecuteProgramNV_remap_index]) -#define SET_ExecuteProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ExecuteProgramNV_remap_index], fn) -#define CALL_GenProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenProgramsNV_remap_index], parameters) -#define GET_GenProgramsNV(disp) GET_by_offset(disp, driDispatchRemapTable[GenProgramsNV_remap_index]) -#define SET_GenProgramsNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenProgramsNV_remap_index], fn) -#define CALL_GetProgramParameterdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLdouble *)), driDispatchRemapTable[GetProgramParameterdvNV_remap_index], parameters) -#define GET_GetProgramParameterdvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramParameterdvNV_remap_index]) -#define SET_GetProgramParameterdvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramParameterdvNV_remap_index], fn) -#define CALL_GetProgramParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLfloat *)), driDispatchRemapTable[GetProgramParameterfvNV_remap_index], parameters) -#define GET_GetProgramParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramParameterfvNV_remap_index]) -#define SET_GetProgramParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramParameterfvNV_remap_index], fn) -#define CALL_GetProgramStringNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLubyte *)), driDispatchRemapTable[GetProgramStringNV_remap_index], parameters) -#define GET_GetProgramStringNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramStringNV_remap_index]) -#define SET_GetProgramStringNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramStringNV_remap_index], fn) -#define CALL_GetProgramivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetProgramivNV_remap_index], parameters) -#define GET_GetProgramivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramivNV_remap_index]) -#define SET_GetProgramivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramivNV_remap_index], fn) -#define CALL_GetTrackMatrixivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLint *)), driDispatchRemapTable[GetTrackMatrixivNV_remap_index], parameters) -#define GET_GetTrackMatrixivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetTrackMatrixivNV_remap_index]) -#define SET_GetTrackMatrixivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTrackMatrixivNV_remap_index], fn) -#define CALL_GetVertexAttribPointervNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLvoid **)), driDispatchRemapTable[GetVertexAttribPointervNV_remap_index], parameters) -#define GET_GetVertexAttribPointervNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribPointervNV_remap_index]) -#define SET_GetVertexAttribPointervNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribPointervNV_remap_index], fn) -#define CALL_GetVertexAttribdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLdouble *)), driDispatchRemapTable[GetVertexAttribdvNV_remap_index], parameters) -#define GET_GetVertexAttribdvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvNV_remap_index]) -#define SET_GetVertexAttribdvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribdvNV_remap_index], fn) -#define CALL_GetVertexAttribfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLfloat *)), driDispatchRemapTable[GetVertexAttribfvNV_remap_index], parameters) -#define GET_GetVertexAttribfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvNV_remap_index]) -#define SET_GetVertexAttribfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribfvNV_remap_index], fn) -#define CALL_GetVertexAttribivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), driDispatchRemapTable[GetVertexAttribivNV_remap_index], parameters) -#define GET_GetVertexAttribivNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivNV_remap_index]) -#define SET_GetVertexAttribivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetVertexAttribivNV_remap_index], fn) -#define CALL_IsProgramNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsProgramNV_remap_index], parameters) -#define GET_IsProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[IsProgramNV_remap_index]) -#define SET_IsProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsProgramNV_remap_index], fn) -#define CALL_LoadProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLubyte *)), driDispatchRemapTable[LoadProgramNV_remap_index], parameters) -#define GET_LoadProgramNV(disp) GET_by_offset(disp, driDispatchRemapTable[LoadProgramNV_remap_index]) -#define SET_LoadProgramNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[LoadProgramNV_remap_index], fn) -#define CALL_ProgramParameters4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, const GLdouble *)), driDispatchRemapTable[ProgramParameters4dvNV_remap_index], parameters) -#define GET_ProgramParameters4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramParameters4dvNV_remap_index]) -#define SET_ProgramParameters4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramParameters4dvNV_remap_index], fn) -#define CALL_ProgramParameters4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, const GLfloat *)), driDispatchRemapTable[ProgramParameters4fvNV_remap_index], parameters) -#define GET_ProgramParameters4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramParameters4fvNV_remap_index]) -#define SET_ProgramParameters4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramParameters4fvNV_remap_index], fn) -#define CALL_RequestResidentProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[RequestResidentProgramsNV_remap_index], parameters) -#define GET_RequestResidentProgramsNV(disp) GET_by_offset(disp, driDispatchRemapTable[RequestResidentProgramsNV_remap_index]) -#define SET_RequestResidentProgramsNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[RequestResidentProgramsNV_remap_index], fn) -#define CALL_TrackMatrixNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLenum)), driDispatchRemapTable[TrackMatrixNV_remap_index], parameters) -#define GET_TrackMatrixNV(disp) GET_by_offset(disp, driDispatchRemapTable[TrackMatrixNV_remap_index]) -#define SET_TrackMatrixNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TrackMatrixNV_remap_index], fn) -#define CALL_VertexAttrib1dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble)), driDispatchRemapTable[VertexAttrib1dNV_remap_index], parameters) -#define GET_VertexAttrib1dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dNV_remap_index]) -#define SET_VertexAttrib1dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dNV_remap_index], fn) -#define CALL_VertexAttrib1dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib1dvNV_remap_index], parameters) -#define GET_VertexAttrib1dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvNV_remap_index]) -#define SET_VertexAttrib1dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1dvNV_remap_index], fn) -#define CALL_VertexAttrib1fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat)), driDispatchRemapTable[VertexAttrib1fNV_remap_index], parameters) -#define GET_VertexAttrib1fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fNV_remap_index]) -#define SET_VertexAttrib1fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fNV_remap_index], fn) -#define CALL_VertexAttrib1fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib1fvNV_remap_index], parameters) -#define GET_VertexAttrib1fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvNV_remap_index]) -#define SET_VertexAttrib1fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1fvNV_remap_index], fn) -#define CALL_VertexAttrib1sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort)), driDispatchRemapTable[VertexAttrib1sNV_remap_index], parameters) -#define GET_VertexAttrib1sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sNV_remap_index]) -#define SET_VertexAttrib1sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1sNV_remap_index], fn) -#define CALL_VertexAttrib1svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib1svNV_remap_index], parameters) -#define GET_VertexAttrib1svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svNV_remap_index]) -#define SET_VertexAttrib1svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib1svNV_remap_index], fn) -#define CALL_VertexAttrib2dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib2dNV_remap_index], parameters) -#define GET_VertexAttrib2dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dNV_remap_index]) -#define SET_VertexAttrib2dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dNV_remap_index], fn) -#define CALL_VertexAttrib2dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib2dvNV_remap_index], parameters) -#define GET_VertexAttrib2dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvNV_remap_index]) -#define SET_VertexAttrib2dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2dvNV_remap_index], fn) -#define CALL_VertexAttrib2fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib2fNV_remap_index], parameters) -#define GET_VertexAttrib2fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fNV_remap_index]) -#define SET_VertexAttrib2fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fNV_remap_index], fn) -#define CALL_VertexAttrib2fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib2fvNV_remap_index], parameters) -#define GET_VertexAttrib2fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvNV_remap_index]) -#define SET_VertexAttrib2fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2fvNV_remap_index], fn) -#define CALL_VertexAttrib2sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib2sNV_remap_index], parameters) -#define GET_VertexAttrib2sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sNV_remap_index]) -#define SET_VertexAttrib2sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2sNV_remap_index], fn) -#define CALL_VertexAttrib2svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib2svNV_remap_index], parameters) -#define GET_VertexAttrib2svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svNV_remap_index]) -#define SET_VertexAttrib2svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib2svNV_remap_index], fn) -#define CALL_VertexAttrib3dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib3dNV_remap_index], parameters) -#define GET_VertexAttrib3dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dNV_remap_index]) -#define SET_VertexAttrib3dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dNV_remap_index], fn) -#define CALL_VertexAttrib3dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib3dvNV_remap_index], parameters) -#define GET_VertexAttrib3dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvNV_remap_index]) -#define SET_VertexAttrib3dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3dvNV_remap_index], fn) -#define CALL_VertexAttrib3fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib3fNV_remap_index], parameters) -#define GET_VertexAttrib3fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fNV_remap_index]) -#define SET_VertexAttrib3fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fNV_remap_index], fn) -#define CALL_VertexAttrib3fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib3fvNV_remap_index], parameters) -#define GET_VertexAttrib3fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvNV_remap_index]) -#define SET_VertexAttrib3fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3fvNV_remap_index], fn) -#define CALL_VertexAttrib3sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib3sNV_remap_index], parameters) -#define GET_VertexAttrib3sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sNV_remap_index]) -#define SET_VertexAttrib3sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3sNV_remap_index], fn) -#define CALL_VertexAttrib3svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib3svNV_remap_index], parameters) -#define GET_VertexAttrib3svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svNV_remap_index]) -#define SET_VertexAttrib3svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib3svNV_remap_index], fn) -#define CALL_VertexAttrib4dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[VertexAttrib4dNV_remap_index], parameters) -#define GET_VertexAttrib4dNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dNV_remap_index]) -#define SET_VertexAttrib4dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dNV_remap_index], fn) -#define CALL_VertexAttrib4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), driDispatchRemapTable[VertexAttrib4dvNV_remap_index], parameters) -#define GET_VertexAttrib4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvNV_remap_index]) -#define SET_VertexAttrib4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4dvNV_remap_index], fn) -#define CALL_VertexAttrib4fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[VertexAttrib4fNV_remap_index], parameters) -#define GET_VertexAttrib4fNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fNV_remap_index]) -#define SET_VertexAttrib4fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fNV_remap_index], fn) -#define CALL_VertexAttrib4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[VertexAttrib4fvNV_remap_index], parameters) -#define GET_VertexAttrib4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvNV_remap_index]) -#define SET_VertexAttrib4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4fvNV_remap_index], fn) -#define CALL_VertexAttrib4sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort, GLshort)), driDispatchRemapTable[VertexAttrib4sNV_remap_index], parameters) -#define GET_VertexAttrib4sNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sNV_remap_index]) -#define SET_VertexAttrib4sNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4sNV_remap_index], fn) -#define CALL_VertexAttrib4svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), driDispatchRemapTable[VertexAttrib4svNV_remap_index], parameters) -#define GET_VertexAttrib4svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svNV_remap_index]) -#define SET_VertexAttrib4svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4svNV_remap_index], fn) -#define CALL_VertexAttrib4ubNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)), driDispatchRemapTable[VertexAttrib4ubNV_remap_index], parameters) -#define GET_VertexAttrib4ubNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubNV_remap_index]) -#define SET_VertexAttrib4ubNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubNV_remap_index], fn) -#define CALL_VertexAttrib4ubvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), driDispatchRemapTable[VertexAttrib4ubvNV_remap_index], parameters) -#define GET_VertexAttrib4ubvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvNV_remap_index]) -#define SET_VertexAttrib4ubvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttrib4ubvNV_remap_index], fn) -#define CALL_VertexAttribPointerNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)), driDispatchRemapTable[VertexAttribPointerNV_remap_index], parameters) -#define GET_VertexAttribPointerNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerNV_remap_index]) -#define SET_VertexAttribPointerNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribPointerNV_remap_index], fn) -#define CALL_VertexAttribs1dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs1dvNV_remap_index], parameters) -#define GET_VertexAttribs1dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs1dvNV_remap_index]) -#define SET_VertexAttribs1dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs1dvNV_remap_index], fn) -#define CALL_VertexAttribs1fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs1fvNV_remap_index], parameters) -#define GET_VertexAttribs1fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs1fvNV_remap_index]) -#define SET_VertexAttribs1fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs1fvNV_remap_index], fn) -#define CALL_VertexAttribs1svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs1svNV_remap_index], parameters) -#define GET_VertexAttribs1svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs1svNV_remap_index]) -#define SET_VertexAttribs1svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs1svNV_remap_index], fn) -#define CALL_VertexAttribs2dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs2dvNV_remap_index], parameters) -#define GET_VertexAttribs2dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs2dvNV_remap_index]) -#define SET_VertexAttribs2dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs2dvNV_remap_index], fn) -#define CALL_VertexAttribs2fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs2fvNV_remap_index], parameters) -#define GET_VertexAttribs2fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs2fvNV_remap_index]) -#define SET_VertexAttribs2fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs2fvNV_remap_index], fn) -#define CALL_VertexAttribs2svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs2svNV_remap_index], parameters) -#define GET_VertexAttribs2svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs2svNV_remap_index]) -#define SET_VertexAttribs2svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs2svNV_remap_index], fn) -#define CALL_VertexAttribs3dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs3dvNV_remap_index], parameters) -#define GET_VertexAttribs3dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs3dvNV_remap_index]) -#define SET_VertexAttribs3dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs3dvNV_remap_index], fn) -#define CALL_VertexAttribs3fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs3fvNV_remap_index], parameters) -#define GET_VertexAttribs3fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs3fvNV_remap_index]) -#define SET_VertexAttribs3fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs3fvNV_remap_index], fn) -#define CALL_VertexAttribs3svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs3svNV_remap_index], parameters) -#define GET_VertexAttribs3svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs3svNV_remap_index]) -#define SET_VertexAttribs3svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs3svNV_remap_index], fn) -#define CALL_VertexAttribs4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), driDispatchRemapTable[VertexAttribs4dvNV_remap_index], parameters) -#define GET_VertexAttribs4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4dvNV_remap_index]) -#define SET_VertexAttribs4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4dvNV_remap_index], fn) -#define CALL_VertexAttribs4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), driDispatchRemapTable[VertexAttribs4fvNV_remap_index], parameters) -#define GET_VertexAttribs4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4fvNV_remap_index]) -#define SET_VertexAttribs4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4fvNV_remap_index], fn) -#define CALL_VertexAttribs4svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), driDispatchRemapTable[VertexAttribs4svNV_remap_index], parameters) -#define GET_VertexAttribs4svNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4svNV_remap_index]) -#define SET_VertexAttribs4svNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4svNV_remap_index], fn) -#define CALL_VertexAttribs4ubvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *)), driDispatchRemapTable[VertexAttribs4ubvNV_remap_index], parameters) -#define GET_VertexAttribs4ubvNV(disp) GET_by_offset(disp, driDispatchRemapTable[VertexAttribs4ubvNV_remap_index]) -#define SET_VertexAttribs4ubvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[VertexAttribs4ubvNV_remap_index], fn) -#define CALL_GetTexBumpParameterfvATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), driDispatchRemapTable[GetTexBumpParameterfvATI_remap_index], parameters) -#define GET_GetTexBumpParameterfvATI(disp) GET_by_offset(disp, driDispatchRemapTable[GetTexBumpParameterfvATI_remap_index]) -#define SET_GetTexBumpParameterfvATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTexBumpParameterfvATI_remap_index], fn) -#define CALL_GetTexBumpParameterivATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint *)), driDispatchRemapTable[GetTexBumpParameterivATI_remap_index], parameters) -#define GET_GetTexBumpParameterivATI(disp) GET_by_offset(disp, driDispatchRemapTable[GetTexBumpParameterivATI_remap_index]) -#define SET_GetTexBumpParameterivATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTexBumpParameterivATI_remap_index], fn) -#define CALL_TexBumpParameterfvATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), driDispatchRemapTable[TexBumpParameterfvATI_remap_index], parameters) -#define GET_TexBumpParameterfvATI(disp) GET_by_offset(disp, driDispatchRemapTable[TexBumpParameterfvATI_remap_index]) -#define SET_TexBumpParameterfvATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TexBumpParameterfvATI_remap_index], fn) -#define CALL_TexBumpParameterivATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), driDispatchRemapTable[TexBumpParameterivATI_remap_index], parameters) -#define GET_TexBumpParameterivATI(disp) GET_by_offset(disp, driDispatchRemapTable[TexBumpParameterivATI_remap_index]) -#define SET_TexBumpParameterivATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TexBumpParameterivATI_remap_index], fn) -#define CALL_AlphaFragmentOp1ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index], parameters) -#define GET_AlphaFragmentOp1ATI(disp) GET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index]) -#define SET_AlphaFragmentOp1ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index], fn) -#define CALL_AlphaFragmentOp2ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index], parameters) -#define GET_AlphaFragmentOp2ATI(disp) GET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index]) -#define SET_AlphaFragmentOp2ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index], fn) -#define CALL_AlphaFragmentOp3ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index], parameters) -#define GET_AlphaFragmentOp3ATI(disp) GET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index]) -#define SET_AlphaFragmentOp3ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index], fn) -#define CALL_BeginFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[BeginFragmentShaderATI_remap_index], parameters) -#define GET_BeginFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[BeginFragmentShaderATI_remap_index]) -#define SET_BeginFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BeginFragmentShaderATI_remap_index], fn) -#define CALL_BindFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[BindFragmentShaderATI_remap_index], parameters) -#define GET_BindFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[BindFragmentShaderATI_remap_index]) -#define SET_BindFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindFragmentShaderATI_remap_index], fn) -#define CALL_ColorFragmentOp1ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[ColorFragmentOp1ATI_remap_index], parameters) -#define GET_ColorFragmentOp1ATI(disp) GET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp1ATI_remap_index]) -#define SET_ColorFragmentOp1ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp1ATI_remap_index], fn) -#define CALL_ColorFragmentOp2ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[ColorFragmentOp2ATI_remap_index], parameters) -#define GET_ColorFragmentOp2ATI(disp) GET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp2ATI_remap_index]) -#define SET_ColorFragmentOp2ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp2ATI_remap_index], fn) -#define CALL_ColorFragmentOp3ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[ColorFragmentOp3ATI_remap_index], parameters) -#define GET_ColorFragmentOp3ATI(disp) GET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp3ATI_remap_index]) -#define SET_ColorFragmentOp3ATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorFragmentOp3ATI_remap_index], fn) -#define CALL_DeleteFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[DeleteFragmentShaderATI_remap_index], parameters) -#define GET_DeleteFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteFragmentShaderATI_remap_index]) -#define SET_DeleteFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteFragmentShaderATI_remap_index], fn) -#define CALL_EndFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[EndFragmentShaderATI_remap_index], parameters) -#define GET_EndFragmentShaderATI(disp) GET_by_offset(disp, driDispatchRemapTable[EndFragmentShaderATI_remap_index]) -#define SET_EndFragmentShaderATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EndFragmentShaderATI_remap_index], fn) -#define CALL_GenFragmentShadersATI(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[GenFragmentShadersATI_remap_index], parameters) -#define GET_GenFragmentShadersATI(disp) GET_by_offset(disp, driDispatchRemapTable[GenFragmentShadersATI_remap_index]) -#define SET_GenFragmentShadersATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenFragmentShadersATI_remap_index], fn) -#define CALL_PassTexCoordATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLenum)), driDispatchRemapTable[PassTexCoordATI_remap_index], parameters) -#define GET_PassTexCoordATI(disp) GET_by_offset(disp, driDispatchRemapTable[PassTexCoordATI_remap_index]) -#define SET_PassTexCoordATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PassTexCoordATI_remap_index], fn) -#define CALL_SampleMapATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLenum)), driDispatchRemapTable[SampleMapATI_remap_index], parameters) -#define GET_SampleMapATI(disp) GET_by_offset(disp, driDispatchRemapTable[SampleMapATI_remap_index]) -#define SET_SampleMapATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SampleMapATI_remap_index], fn) -#define CALL_SetFragmentShaderConstantATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index], parameters) -#define GET_SetFragmentShaderConstantATI(disp) GET_by_offset(disp, driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index]) -#define SET_SetFragmentShaderConstantATI(disp, fn) SET_by_offset(disp, driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index], fn) -#define CALL_PointParameteriNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), driDispatchRemapTable[PointParameteriNV_remap_index], parameters) -#define GET_PointParameteriNV(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameteriNV_remap_index]) -#define SET_PointParameteriNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameteriNV_remap_index], fn) -#define CALL_PointParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), driDispatchRemapTable[PointParameterivNV_remap_index], parameters) -#define GET_PointParameterivNV(disp) GET_by_offset(disp, driDispatchRemapTable[PointParameterivNV_remap_index]) -#define SET_PointParameterivNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PointParameterivNV_remap_index], fn) -#define CALL_ActiveStencilFaceEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[ActiveStencilFaceEXT_remap_index], parameters) -#define GET_ActiveStencilFaceEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ActiveStencilFaceEXT_remap_index]) -#define SET_ActiveStencilFaceEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ActiveStencilFaceEXT_remap_index], fn) -#define CALL_BindVertexArrayAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[BindVertexArrayAPPLE_remap_index], parameters) -#define GET_BindVertexArrayAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[BindVertexArrayAPPLE_remap_index]) -#define SET_BindVertexArrayAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindVertexArrayAPPLE_remap_index], fn) -#define CALL_DeleteVertexArraysAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index], parameters) -#define GET_DeleteVertexArraysAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index]) -#define SET_DeleteVertexArraysAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index], fn) -#define CALL_GenVertexArraysAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenVertexArraysAPPLE_remap_index], parameters) -#define GET_GenVertexArraysAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[GenVertexArraysAPPLE_remap_index]) -#define SET_GenVertexArraysAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenVertexArraysAPPLE_remap_index], fn) -#define CALL_IsVertexArrayAPPLE(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsVertexArrayAPPLE_remap_index], parameters) -#define GET_IsVertexArrayAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[IsVertexArrayAPPLE_remap_index]) -#define SET_IsVertexArrayAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsVertexArrayAPPLE_remap_index], fn) -#define CALL_GetProgramNamedParameterdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLdouble *)), driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index], parameters) -#define GET_GetProgramNamedParameterdvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index]) -#define SET_GetProgramNamedParameterdvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index], fn) -#define CALL_GetProgramNamedParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLfloat *)), driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index], parameters) -#define GET_GetProgramNamedParameterfvNV(disp) GET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index]) -#define SET_GetProgramNamedParameterfvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index], fn) -#define CALL_ProgramNamedParameter4dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble)), driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index], parameters) -#define GET_ProgramNamedParameter4dNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index]) -#define SET_ProgramNamedParameter4dNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index], fn) -#define CALL_ProgramNamedParameter4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, const GLdouble *)), driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index], parameters) -#define GET_ProgramNamedParameter4dvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index]) -#define SET_ProgramNamedParameter4dvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index], fn) -#define CALL_ProgramNamedParameter4fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat)), driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index], parameters) -#define GET_ProgramNamedParameter4fNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index]) -#define SET_ProgramNamedParameter4fNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index], fn) -#define CALL_ProgramNamedParameter4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, const GLfloat *)), driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index], parameters) -#define GET_ProgramNamedParameter4fvNV(disp) GET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index]) -#define SET_ProgramNamedParameter4fvNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index], fn) -#define CALL_PrimitiveRestartIndexNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[PrimitiveRestartIndexNV_remap_index], parameters) -#define GET_PrimitiveRestartIndexNV(disp) GET_by_offset(disp, driDispatchRemapTable[PrimitiveRestartIndexNV_remap_index]) -#define SET_PrimitiveRestartIndexNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PrimitiveRestartIndexNV_remap_index], fn) -#define CALL_PrimitiveRestartNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[PrimitiveRestartNV_remap_index], parameters) -#define GET_PrimitiveRestartNV(disp) GET_by_offset(disp, driDispatchRemapTable[PrimitiveRestartNV_remap_index]) -#define SET_PrimitiveRestartNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[PrimitiveRestartNV_remap_index], fn) -#define CALL_DepthBoundsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampd, GLclampd)), driDispatchRemapTable[DepthBoundsEXT_remap_index], parameters) -#define GET_DepthBoundsEXT(disp) GET_by_offset(disp, driDispatchRemapTable[DepthBoundsEXT_remap_index]) -#define SET_DepthBoundsEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DepthBoundsEXT_remap_index], fn) -#define CALL_BlendEquationSeparateEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum)), driDispatchRemapTable[BlendEquationSeparateEXT_remap_index], parameters) -#define GET_BlendEquationSeparateEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BlendEquationSeparateEXT_remap_index]) -#define SET_BlendEquationSeparateEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BlendEquationSeparateEXT_remap_index], fn) -#define CALL_BindFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindFramebufferEXT_remap_index], parameters) -#define GET_BindFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BindFramebufferEXT_remap_index]) -#define SET_BindFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindFramebufferEXT_remap_index], fn) -#define CALL_BindRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[BindRenderbufferEXT_remap_index], parameters) -#define GET_BindRenderbufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BindRenderbufferEXT_remap_index]) -#define SET_BindRenderbufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindRenderbufferEXT_remap_index], fn) -#define CALL_CheckFramebufferStatusEXT(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index], parameters) -#define GET_CheckFramebufferStatusEXT(disp) GET_by_offset(disp, driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index]) -#define SET_CheckFramebufferStatusEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index], fn) -#define CALL_DeleteFramebuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteFramebuffersEXT_remap_index], parameters) -#define GET_DeleteFramebuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteFramebuffersEXT_remap_index]) -#define SET_DeleteFramebuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteFramebuffersEXT_remap_index], fn) -#define CALL_DeleteRenderbuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index], parameters) -#define GET_DeleteRenderbuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index]) -#define SET_DeleteRenderbuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index], fn) -#define CALL_FramebufferRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint)), driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index], parameters) -#define GET_FramebufferRenderbufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index]) -#define SET_FramebufferRenderbufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index], fn) -#define CALL_FramebufferTexture1DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint)), driDispatchRemapTable[FramebufferTexture1DEXT_remap_index], parameters) -#define GET_FramebufferTexture1DEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTexture1DEXT_remap_index]) -#define SET_FramebufferTexture1DEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTexture1DEXT_remap_index], fn) -#define CALL_FramebufferTexture2DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint)), driDispatchRemapTable[FramebufferTexture2DEXT_remap_index], parameters) -#define GET_FramebufferTexture2DEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTexture2DEXT_remap_index]) -#define SET_FramebufferTexture2DEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTexture2DEXT_remap_index], fn) -#define CALL_FramebufferTexture3DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint, GLint)), driDispatchRemapTable[FramebufferTexture3DEXT_remap_index], parameters) -#define GET_FramebufferTexture3DEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTexture3DEXT_remap_index]) -#define SET_FramebufferTexture3DEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTexture3DEXT_remap_index], fn) -#define CALL_GenFramebuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenFramebuffersEXT_remap_index], parameters) -#define GET_GenFramebuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GenFramebuffersEXT_remap_index]) -#define SET_GenFramebuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenFramebuffersEXT_remap_index], fn) -#define CALL_GenRenderbuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), driDispatchRemapTable[GenRenderbuffersEXT_remap_index], parameters) -#define GET_GenRenderbuffersEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GenRenderbuffersEXT_remap_index]) -#define SET_GenRenderbuffersEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenRenderbuffersEXT_remap_index], fn) -#define CALL_GenerateMipmapEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[GenerateMipmapEXT_remap_index], parameters) -#define GET_GenerateMipmapEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GenerateMipmapEXT_remap_index]) -#define SET_GenerateMipmapEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GenerateMipmapEXT_remap_index], fn) -#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_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) -#define CALL_IsFramebufferEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsFramebufferEXT_remap_index], parameters) -#define GET_IsFramebufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IsFramebufferEXT_remap_index]) -#define SET_IsFramebufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsFramebufferEXT_remap_index], fn) -#define CALL_IsRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[IsRenderbufferEXT_remap_index], parameters) -#define GET_IsRenderbufferEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IsRenderbufferEXT_remap_index]) -#define SET_IsRenderbufferEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsRenderbufferEXT_remap_index], fn) -#define CALL_RenderbufferStorageEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, GLsizei)), driDispatchRemapTable[RenderbufferStorageEXT_remap_index], parameters) -#define GET_RenderbufferStorageEXT(disp) GET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageEXT_remap_index]) -#define SET_RenderbufferStorageEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[RenderbufferStorageEXT_remap_index], fn) -#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_BufferParameteriAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), driDispatchRemapTable[BufferParameteriAPPLE_remap_index], parameters) -#define GET_BufferParameteriAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[BufferParameteriAPPLE_remap_index]) -#define SET_BufferParameteriAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BufferParameteriAPPLE_remap_index], fn) -#define CALL_FlushMappedBufferRangeAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptr, GLsizeiptr)), driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index], parameters) -#define GET_FlushMappedBufferRangeAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index]) -#define SET_FlushMappedBufferRangeAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index], fn) -#define CALL_FramebufferTextureLayerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLint)), driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], parameters) -#define GET_FramebufferTextureLayerEXT(disp) GET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index]) -#define SET_FramebufferTextureLayerEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index], fn) -#define CALL_ColorMaskIndexedEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)), driDispatchRemapTable[ColorMaskIndexedEXT_remap_index], parameters) -#define GET_ColorMaskIndexedEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ColorMaskIndexedEXT_remap_index]) -#define SET_ColorMaskIndexedEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ColorMaskIndexedEXT_remap_index], fn) -#define CALL_DisableIndexedEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[DisableIndexedEXT_remap_index], parameters) -#define GET_DisableIndexedEXT(disp) GET_by_offset(disp, driDispatchRemapTable[DisableIndexedEXT_remap_index]) -#define SET_DisableIndexedEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[DisableIndexedEXT_remap_index], fn) -#define CALL_EnableIndexedEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[EnableIndexedEXT_remap_index], parameters) -#define GET_EnableIndexedEXT(disp) GET_by_offset(disp, driDispatchRemapTable[EnableIndexedEXT_remap_index]) -#define SET_EnableIndexedEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EnableIndexedEXT_remap_index], fn) -#define CALL_GetBooleanIndexedvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLboolean *)), driDispatchRemapTable[GetBooleanIndexedvEXT_remap_index], parameters) -#define GET_GetBooleanIndexedvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetBooleanIndexedvEXT_remap_index]) -#define SET_GetBooleanIndexedvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetBooleanIndexedvEXT_remap_index], fn) -#define CALL_GetIntegerIndexedvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLint *)), driDispatchRemapTable[GetIntegerIndexedvEXT_remap_index], parameters) -#define GET_GetIntegerIndexedvEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetIntegerIndexedvEXT_remap_index]) -#define SET_GetIntegerIndexedvEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetIntegerIndexedvEXT_remap_index], fn) -#define CALL_IsEnabledIndexedEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[IsEnabledIndexedEXT_remap_index], parameters) -#define GET_IsEnabledIndexedEXT(disp) GET_by_offset(disp, driDispatchRemapTable[IsEnabledIndexedEXT_remap_index]) -#define SET_IsEnabledIndexedEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[IsEnabledIndexedEXT_remap_index], fn) -#define CALL_ClearColorIiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), driDispatchRemapTable[ClearColorIiEXT_remap_index], parameters) -#define GET_ClearColorIiEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ClearColorIiEXT_remap_index]) -#define SET_ClearColorIiEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ClearColorIiEXT_remap_index], fn) -#define CALL_ClearColorIuiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint, GLuint)), driDispatchRemapTable[ClearColorIuiEXT_remap_index], parameters) -#define GET_ClearColorIuiEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ClearColorIuiEXT_remap_index]) -#define SET_ClearColorIuiEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ClearColorIuiEXT_remap_index], fn) -#define CALL_GetTexParameterIivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), driDispatchRemapTable[GetTexParameterIivEXT_remap_index], parameters) -#define GET_GetTexParameterIivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetTexParameterIivEXT_remap_index]) -#define SET_GetTexParameterIivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTexParameterIivEXT_remap_index], fn) -#define CALL_GetTexParameterIuivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint *)), driDispatchRemapTable[GetTexParameterIuivEXT_remap_index], parameters) -#define GET_GetTexParameterIuivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetTexParameterIuivEXT_remap_index]) -#define SET_GetTexParameterIuivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTexParameterIuivEXT_remap_index], fn) -#define CALL_TexParameterIivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), driDispatchRemapTable[TexParameterIivEXT_remap_index], parameters) -#define GET_TexParameterIivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[TexParameterIivEXT_remap_index]) -#define SET_TexParameterIivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TexParameterIivEXT_remap_index], fn) -#define CALL_TexParameterIuivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLuint *)), driDispatchRemapTable[TexParameterIuivEXT_remap_index], parameters) -#define GET_TexParameterIuivEXT(disp) GET_by_offset(disp, driDispatchRemapTable[TexParameterIuivEXT_remap_index]) -#define SET_TexParameterIuivEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TexParameterIuivEXT_remap_index], fn) -#define CALL_BeginConditionalRenderNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum)), driDispatchRemapTable[BeginConditionalRenderNV_remap_index], parameters) -#define GET_BeginConditionalRenderNV(disp) GET_by_offset(disp, driDispatchRemapTable[BeginConditionalRenderNV_remap_index]) -#define SET_BeginConditionalRenderNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BeginConditionalRenderNV_remap_index], fn) -#define CALL_EndConditionalRenderNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[EndConditionalRenderNV_remap_index], parameters) -#define GET_EndConditionalRenderNV(disp) GET_by_offset(disp, driDispatchRemapTable[EndConditionalRenderNV_remap_index]) -#define SET_EndConditionalRenderNV(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EndConditionalRenderNV_remap_index], fn) -#define CALL_BeginTransformFeedbackEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[BeginTransformFeedbackEXT_remap_index], parameters) -#define GET_BeginTransformFeedbackEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BeginTransformFeedbackEXT_remap_index]) -#define SET_BeginTransformFeedbackEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BeginTransformFeedbackEXT_remap_index], fn) -#define CALL_BindBufferBaseEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint)), driDispatchRemapTable[BindBufferBaseEXT_remap_index], parameters) -#define GET_BindBufferBaseEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BindBufferBaseEXT_remap_index]) -#define SET_BindBufferBaseEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindBufferBaseEXT_remap_index], fn) -#define CALL_BindBufferOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLintptr)), driDispatchRemapTable[BindBufferOffsetEXT_remap_index], parameters) -#define GET_BindBufferOffsetEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BindBufferOffsetEXT_remap_index]) -#define SET_BindBufferOffsetEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindBufferOffsetEXT_remap_index], fn) -#define CALL_BindBufferRangeEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)), driDispatchRemapTable[BindBufferRangeEXT_remap_index], parameters) -#define GET_BindBufferRangeEXT(disp) GET_by_offset(disp, driDispatchRemapTable[BindBufferRangeEXT_remap_index]) -#define SET_BindBufferRangeEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[BindBufferRangeEXT_remap_index], fn) -#define CALL_EndTransformFeedbackEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), driDispatchRemapTable[EndTransformFeedbackEXT_remap_index], parameters) -#define GET_EndTransformFeedbackEXT(disp) GET_by_offset(disp, driDispatchRemapTable[EndTransformFeedbackEXT_remap_index]) -#define SET_EndTransformFeedbackEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EndTransformFeedbackEXT_remap_index], fn) -#define CALL_GetTransformFeedbackVaryingEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)), driDispatchRemapTable[GetTransformFeedbackVaryingEXT_remap_index], parameters) -#define GET_GetTransformFeedbackVaryingEXT(disp) GET_by_offset(disp, driDispatchRemapTable[GetTransformFeedbackVaryingEXT_remap_index]) -#define SET_GetTransformFeedbackVaryingEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTransformFeedbackVaryingEXT_remap_index], fn) -#define CALL_TransformFeedbackVaryingsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const char **, GLenum)), driDispatchRemapTable[TransformFeedbackVaryingsEXT_remap_index], parameters) -#define GET_TransformFeedbackVaryingsEXT(disp) GET_by_offset(disp, driDispatchRemapTable[TransformFeedbackVaryingsEXT_remap_index]) -#define SET_TransformFeedbackVaryingsEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TransformFeedbackVaryingsEXT_remap_index], fn) -#define CALL_ProvokingVertexEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), driDispatchRemapTable[ProvokingVertexEXT_remap_index], parameters) -#define GET_ProvokingVertexEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ProvokingVertexEXT_remap_index]) -#define SET_ProvokingVertexEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ProvokingVertexEXT_remap_index], fn) -#define CALL_GetTexParameterPointervAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid **)), driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index], parameters) -#define GET_GetTexParameterPointervAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index]) -#define SET_GetTexParameterPointervAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index], fn) -#define CALL_TextureRangeAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLvoid *)), driDispatchRemapTable[TextureRangeAPPLE_remap_index], parameters) -#define GET_TextureRangeAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[TextureRangeAPPLE_remap_index]) -#define SET_TextureRangeAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[TextureRangeAPPLE_remap_index], fn) -#define CALL_GetObjectParameterivAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLint *)), driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index], parameters) -#define GET_GetObjectParameterivAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index]) -#define SET_GetObjectParameterivAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index], fn) -#define CALL_ObjectPurgeableAPPLE(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLenum, GLuint, GLenum)), driDispatchRemapTable[ObjectPurgeableAPPLE_remap_index], parameters) -#define GET_ObjectPurgeableAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[ObjectPurgeableAPPLE_remap_index]) -#define SET_ObjectPurgeableAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ObjectPurgeableAPPLE_remap_index], fn) -#define CALL_ObjectUnpurgeableAPPLE(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLenum, GLuint, GLenum)), driDispatchRemapTable[ObjectUnpurgeableAPPLE_remap_index], parameters) -#define GET_ObjectUnpurgeableAPPLE(disp) GET_by_offset(disp, driDispatchRemapTable[ObjectUnpurgeableAPPLE_remap_index]) -#define SET_ObjectUnpurgeableAPPLE(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ObjectUnpurgeableAPPLE_remap_index], fn) -#define CALL_ActiveProgramEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), driDispatchRemapTable[ActiveProgramEXT_remap_index], parameters) -#define GET_ActiveProgramEXT(disp) GET_by_offset(disp, driDispatchRemapTable[ActiveProgramEXT_remap_index]) -#define SET_ActiveProgramEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[ActiveProgramEXT_remap_index], fn) -#define CALL_CreateShaderProgramEXT(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLenum, const GLchar *)), driDispatchRemapTable[CreateShaderProgramEXT_remap_index], parameters) -#define GET_CreateShaderProgramEXT(disp) GET_by_offset(disp, driDispatchRemapTable[CreateShaderProgramEXT_remap_index]) -#define SET_CreateShaderProgramEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[CreateShaderProgramEXT_remap_index], fn) -#define CALL_UseShaderProgramEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), driDispatchRemapTable[UseShaderProgramEXT_remap_index], parameters) -#define GET_UseShaderProgramEXT(disp) GET_by_offset(disp, driDispatchRemapTable[UseShaderProgramEXT_remap_index]) -#define SET_UseShaderProgramEXT(disp, fn) SET_by_offset(disp, driDispatchRemapTable[UseShaderProgramEXT_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) -#define CALL_EGLImageTargetRenderbufferStorageOES(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLvoid *)), driDispatchRemapTable[EGLImageTargetRenderbufferStorageOES_remap_index], parameters) -#define GET_EGLImageTargetRenderbufferStorageOES(disp) GET_by_offset(disp, driDispatchRemapTable[EGLImageTargetRenderbufferStorageOES_remap_index]) -#define SET_EGLImageTargetRenderbufferStorageOES(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EGLImageTargetRenderbufferStorageOES_remap_index], fn) -#define CALL_EGLImageTargetTexture2DOES(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLvoid *)), driDispatchRemapTable[EGLImageTargetTexture2DOES_remap_index], parameters) -#define GET_EGLImageTargetTexture2DOES(disp) GET_by_offset(disp, driDispatchRemapTable[EGLImageTargetTexture2DOES_remap_index]) -#define SET_EGLImageTargetTexture2DOES(disp, fn) SET_by_offset(disp, driDispatchRemapTable[EGLImageTargetTexture2DOES_remap_index], fn) - -#endif /* !defined(_GLAPI_USE_REMAP_TABLE) */ - -#endif /* !defined( _GLAPI_DISPATCH_H_ ) */ diff --git a/src/mapi/glapi/glapioffsets.h b/src/mapi/glapi/glapioffsets.h deleted file mode 100644 index e91604a11b5..00000000000 --- a/src/mapi/glapi/glapioffsets.h +++ /dev/null @@ -1,1308 +0,0 @@ -/* DO NOT EDIT - This file generated automatically by gl_offsets.py (from Mesa) script */ - -/* - * Copyright (C) 1999-2001 Brian Paul All Rights Reserved. - * (C) Copyright IBM Corporation 2004 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sub license, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * BRIAN PAUL, IBM, - * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#if !defined( _GLAPI_OFFSETS_H_ ) -# define _GLAPI_OFFSETS_H_ - -/* this file should not be included directly in mesa */ - -#define _gloffset_NewList 0 -#define _gloffset_EndList 1 -#define _gloffset_CallList 2 -#define _gloffset_CallLists 3 -#define _gloffset_DeleteLists 4 -#define _gloffset_GenLists 5 -#define _gloffset_ListBase 6 -#define _gloffset_Begin 7 -#define _gloffset_Bitmap 8 -#define _gloffset_Color3b 9 -#define _gloffset_Color3bv 10 -#define _gloffset_Color3d 11 -#define _gloffset_Color3dv 12 -#define _gloffset_Color3f 13 -#define _gloffset_Color3fv 14 -#define _gloffset_Color3i 15 -#define _gloffset_Color3iv 16 -#define _gloffset_Color3s 17 -#define _gloffset_Color3sv 18 -#define _gloffset_Color3ub 19 -#define _gloffset_Color3ubv 20 -#define _gloffset_Color3ui 21 -#define _gloffset_Color3uiv 22 -#define _gloffset_Color3us 23 -#define _gloffset_Color3usv 24 -#define _gloffset_Color4b 25 -#define _gloffset_Color4bv 26 -#define _gloffset_Color4d 27 -#define _gloffset_Color4dv 28 -#define _gloffset_Color4f 29 -#define _gloffset_Color4fv 30 -#define _gloffset_Color4i 31 -#define _gloffset_Color4iv 32 -#define _gloffset_Color4s 33 -#define _gloffset_Color4sv 34 -#define _gloffset_Color4ub 35 -#define _gloffset_Color4ubv 36 -#define _gloffset_Color4ui 37 -#define _gloffset_Color4uiv 38 -#define _gloffset_Color4us 39 -#define _gloffset_Color4usv 40 -#define _gloffset_EdgeFlag 41 -#define _gloffset_EdgeFlagv 42 -#define _gloffset_End 43 -#define _gloffset_Indexd 44 -#define _gloffset_Indexdv 45 -#define _gloffset_Indexf 46 -#define _gloffset_Indexfv 47 -#define _gloffset_Indexi 48 -#define _gloffset_Indexiv 49 -#define _gloffset_Indexs 50 -#define _gloffset_Indexsv 51 -#define _gloffset_Normal3b 52 -#define _gloffset_Normal3bv 53 -#define _gloffset_Normal3d 54 -#define _gloffset_Normal3dv 55 -#define _gloffset_Normal3f 56 -#define _gloffset_Normal3fv 57 -#define _gloffset_Normal3i 58 -#define _gloffset_Normal3iv 59 -#define _gloffset_Normal3s 60 -#define _gloffset_Normal3sv 61 -#define _gloffset_RasterPos2d 62 -#define _gloffset_RasterPos2dv 63 -#define _gloffset_RasterPos2f 64 -#define _gloffset_RasterPos2fv 65 -#define _gloffset_RasterPos2i 66 -#define _gloffset_RasterPos2iv 67 -#define _gloffset_RasterPos2s 68 -#define _gloffset_RasterPos2sv 69 -#define _gloffset_RasterPos3d 70 -#define _gloffset_RasterPos3dv 71 -#define _gloffset_RasterPos3f 72 -#define _gloffset_RasterPos3fv 73 -#define _gloffset_RasterPos3i 74 -#define _gloffset_RasterPos3iv 75 -#define _gloffset_RasterPos3s 76 -#define _gloffset_RasterPos3sv 77 -#define _gloffset_RasterPos4d 78 -#define _gloffset_RasterPos4dv 79 -#define _gloffset_RasterPos4f 80 -#define _gloffset_RasterPos4fv 81 -#define _gloffset_RasterPos4i 82 -#define _gloffset_RasterPos4iv 83 -#define _gloffset_RasterPos4s 84 -#define _gloffset_RasterPos4sv 85 -#define _gloffset_Rectd 86 -#define _gloffset_Rectdv 87 -#define _gloffset_Rectf 88 -#define _gloffset_Rectfv 89 -#define _gloffset_Recti 90 -#define _gloffset_Rectiv 91 -#define _gloffset_Rects 92 -#define _gloffset_Rectsv 93 -#define _gloffset_TexCoord1d 94 -#define _gloffset_TexCoord1dv 95 -#define _gloffset_TexCoord1f 96 -#define _gloffset_TexCoord1fv 97 -#define _gloffset_TexCoord1i 98 -#define _gloffset_TexCoord1iv 99 -#define _gloffset_TexCoord1s 100 -#define _gloffset_TexCoord1sv 101 -#define _gloffset_TexCoord2d 102 -#define _gloffset_TexCoord2dv 103 -#define _gloffset_TexCoord2f 104 -#define _gloffset_TexCoord2fv 105 -#define _gloffset_TexCoord2i 106 -#define _gloffset_TexCoord2iv 107 -#define _gloffset_TexCoord2s 108 -#define _gloffset_TexCoord2sv 109 -#define _gloffset_TexCoord3d 110 -#define _gloffset_TexCoord3dv 111 -#define _gloffset_TexCoord3f 112 -#define _gloffset_TexCoord3fv 113 -#define _gloffset_TexCoord3i 114 -#define _gloffset_TexCoord3iv 115 -#define _gloffset_TexCoord3s 116 -#define _gloffset_TexCoord3sv 117 -#define _gloffset_TexCoord4d 118 -#define _gloffset_TexCoord4dv 119 -#define _gloffset_TexCoord4f 120 -#define _gloffset_TexCoord4fv 121 -#define _gloffset_TexCoord4i 122 -#define _gloffset_TexCoord4iv 123 -#define _gloffset_TexCoord4s 124 -#define _gloffset_TexCoord4sv 125 -#define _gloffset_Vertex2d 126 -#define _gloffset_Vertex2dv 127 -#define _gloffset_Vertex2f 128 -#define _gloffset_Vertex2fv 129 -#define _gloffset_Vertex2i 130 -#define _gloffset_Vertex2iv 131 -#define _gloffset_Vertex2s 132 -#define _gloffset_Vertex2sv 133 -#define _gloffset_Vertex3d 134 -#define _gloffset_Vertex3dv 135 -#define _gloffset_Vertex3f 136 -#define _gloffset_Vertex3fv 137 -#define _gloffset_Vertex3i 138 -#define _gloffset_Vertex3iv 139 -#define _gloffset_Vertex3s 140 -#define _gloffset_Vertex3sv 141 -#define _gloffset_Vertex4d 142 -#define _gloffset_Vertex4dv 143 -#define _gloffset_Vertex4f 144 -#define _gloffset_Vertex4fv 145 -#define _gloffset_Vertex4i 146 -#define _gloffset_Vertex4iv 147 -#define _gloffset_Vertex4s 148 -#define _gloffset_Vertex4sv 149 -#define _gloffset_ClipPlane 150 -#define _gloffset_ColorMaterial 151 -#define _gloffset_CullFace 152 -#define _gloffset_Fogf 153 -#define _gloffset_Fogfv 154 -#define _gloffset_Fogi 155 -#define _gloffset_Fogiv 156 -#define _gloffset_FrontFace 157 -#define _gloffset_Hint 158 -#define _gloffset_Lightf 159 -#define _gloffset_Lightfv 160 -#define _gloffset_Lighti 161 -#define _gloffset_Lightiv 162 -#define _gloffset_LightModelf 163 -#define _gloffset_LightModelfv 164 -#define _gloffset_LightModeli 165 -#define _gloffset_LightModeliv 166 -#define _gloffset_LineStipple 167 -#define _gloffset_LineWidth 168 -#define _gloffset_Materialf 169 -#define _gloffset_Materialfv 170 -#define _gloffset_Materiali 171 -#define _gloffset_Materialiv 172 -#define _gloffset_PointSize 173 -#define _gloffset_PolygonMode 174 -#define _gloffset_PolygonStipple 175 -#define _gloffset_Scissor 176 -#define _gloffset_ShadeModel 177 -#define _gloffset_TexParameterf 178 -#define _gloffset_TexParameterfv 179 -#define _gloffset_TexParameteri 180 -#define _gloffset_TexParameteriv 181 -#define _gloffset_TexImage1D 182 -#define _gloffset_TexImage2D 183 -#define _gloffset_TexEnvf 184 -#define _gloffset_TexEnvfv 185 -#define _gloffset_TexEnvi 186 -#define _gloffset_TexEnviv 187 -#define _gloffset_TexGend 188 -#define _gloffset_TexGendv 189 -#define _gloffset_TexGenf 190 -#define _gloffset_TexGenfv 191 -#define _gloffset_TexGeni 192 -#define _gloffset_TexGeniv 193 -#define _gloffset_FeedbackBuffer 194 -#define _gloffset_SelectBuffer 195 -#define _gloffset_RenderMode 196 -#define _gloffset_InitNames 197 -#define _gloffset_LoadName 198 -#define _gloffset_PassThrough 199 -#define _gloffset_PopName 200 -#define _gloffset_PushName 201 -#define _gloffset_DrawBuffer 202 -#define _gloffset_Clear 203 -#define _gloffset_ClearAccum 204 -#define _gloffset_ClearIndex 205 -#define _gloffset_ClearColor 206 -#define _gloffset_ClearStencil 207 -#define _gloffset_ClearDepth 208 -#define _gloffset_StencilMask 209 -#define _gloffset_ColorMask 210 -#define _gloffset_DepthMask 211 -#define _gloffset_IndexMask 212 -#define _gloffset_Accum 213 -#define _gloffset_Disable 214 -#define _gloffset_Enable 215 -#define _gloffset_Finish 216 -#define _gloffset_Flush 217 -#define _gloffset_PopAttrib 218 -#define _gloffset_PushAttrib 219 -#define _gloffset_Map1d 220 -#define _gloffset_Map1f 221 -#define _gloffset_Map2d 222 -#define _gloffset_Map2f 223 -#define _gloffset_MapGrid1d 224 -#define _gloffset_MapGrid1f 225 -#define _gloffset_MapGrid2d 226 -#define _gloffset_MapGrid2f 227 -#define _gloffset_EvalCoord1d 228 -#define _gloffset_EvalCoord1dv 229 -#define _gloffset_EvalCoord1f 230 -#define _gloffset_EvalCoord1fv 231 -#define _gloffset_EvalCoord2d 232 -#define _gloffset_EvalCoord2dv 233 -#define _gloffset_EvalCoord2f 234 -#define _gloffset_EvalCoord2fv 235 -#define _gloffset_EvalMesh1 236 -#define _gloffset_EvalPoint1 237 -#define _gloffset_EvalMesh2 238 -#define _gloffset_EvalPoint2 239 -#define _gloffset_AlphaFunc 240 -#define _gloffset_BlendFunc 241 -#define _gloffset_LogicOp 242 -#define _gloffset_StencilFunc 243 -#define _gloffset_StencilOp 244 -#define _gloffset_DepthFunc 245 -#define _gloffset_PixelZoom 246 -#define _gloffset_PixelTransferf 247 -#define _gloffset_PixelTransferi 248 -#define _gloffset_PixelStoref 249 -#define _gloffset_PixelStorei 250 -#define _gloffset_PixelMapfv 251 -#define _gloffset_PixelMapuiv 252 -#define _gloffset_PixelMapusv 253 -#define _gloffset_ReadBuffer 254 -#define _gloffset_CopyPixels 255 -#define _gloffset_ReadPixels 256 -#define _gloffset_DrawPixels 257 -#define _gloffset_GetBooleanv 258 -#define _gloffset_GetClipPlane 259 -#define _gloffset_GetDoublev 260 -#define _gloffset_GetError 261 -#define _gloffset_GetFloatv 262 -#define _gloffset_GetIntegerv 263 -#define _gloffset_GetLightfv 264 -#define _gloffset_GetLightiv 265 -#define _gloffset_GetMapdv 266 -#define _gloffset_GetMapfv 267 -#define _gloffset_GetMapiv 268 -#define _gloffset_GetMaterialfv 269 -#define _gloffset_GetMaterialiv 270 -#define _gloffset_GetPixelMapfv 271 -#define _gloffset_GetPixelMapuiv 272 -#define _gloffset_GetPixelMapusv 273 -#define _gloffset_GetPolygonStipple 274 -#define _gloffset_GetString 275 -#define _gloffset_GetTexEnvfv 276 -#define _gloffset_GetTexEnviv 277 -#define _gloffset_GetTexGendv 278 -#define _gloffset_GetTexGenfv 279 -#define _gloffset_GetTexGeniv 280 -#define _gloffset_GetTexImage 281 -#define _gloffset_GetTexParameterfv 282 -#define _gloffset_GetTexParameteriv 283 -#define _gloffset_GetTexLevelParameterfv 284 -#define _gloffset_GetTexLevelParameteriv 285 -#define _gloffset_IsEnabled 286 -#define _gloffset_IsList 287 -#define _gloffset_DepthRange 288 -#define _gloffset_Frustum 289 -#define _gloffset_LoadIdentity 290 -#define _gloffset_LoadMatrixf 291 -#define _gloffset_LoadMatrixd 292 -#define _gloffset_MatrixMode 293 -#define _gloffset_MultMatrixf 294 -#define _gloffset_MultMatrixd 295 -#define _gloffset_Ortho 296 -#define _gloffset_PopMatrix 297 -#define _gloffset_PushMatrix 298 -#define _gloffset_Rotated 299 -#define _gloffset_Rotatef 300 -#define _gloffset_Scaled 301 -#define _gloffset_Scalef 302 -#define _gloffset_Translated 303 -#define _gloffset_Translatef 304 -#define _gloffset_Viewport 305 -#define _gloffset_ArrayElement 306 -#define _gloffset_BindTexture 307 -#define _gloffset_ColorPointer 308 -#define _gloffset_DisableClientState 309 -#define _gloffset_DrawArrays 310 -#define _gloffset_DrawElements 311 -#define _gloffset_EdgeFlagPointer 312 -#define _gloffset_EnableClientState 313 -#define _gloffset_IndexPointer 314 -#define _gloffset_Indexub 315 -#define _gloffset_Indexubv 316 -#define _gloffset_InterleavedArrays 317 -#define _gloffset_NormalPointer 318 -#define _gloffset_PolygonOffset 319 -#define _gloffset_TexCoordPointer 320 -#define _gloffset_VertexPointer 321 -#define _gloffset_AreTexturesResident 322 -#define _gloffset_CopyTexImage1D 323 -#define _gloffset_CopyTexImage2D 324 -#define _gloffset_CopyTexSubImage1D 325 -#define _gloffset_CopyTexSubImage2D 326 -#define _gloffset_DeleteTextures 327 -#define _gloffset_GenTextures 328 -#define _gloffset_GetPointerv 329 -#define _gloffset_IsTexture 330 -#define _gloffset_PrioritizeTextures 331 -#define _gloffset_TexSubImage1D 332 -#define _gloffset_TexSubImage2D 333 -#define _gloffset_PopClientAttrib 334 -#define _gloffset_PushClientAttrib 335 -#define _gloffset_BlendColor 336 -#define _gloffset_BlendEquation 337 -#define _gloffset_DrawRangeElements 338 -#define _gloffset_ColorTable 339 -#define _gloffset_ColorTableParameterfv 340 -#define _gloffset_ColorTableParameteriv 341 -#define _gloffset_CopyColorTable 342 -#define _gloffset_GetColorTable 343 -#define _gloffset_GetColorTableParameterfv 344 -#define _gloffset_GetColorTableParameteriv 345 -#define _gloffset_ColorSubTable 346 -#define _gloffset_CopyColorSubTable 347 -#define _gloffset_ConvolutionFilter1D 348 -#define _gloffset_ConvolutionFilter2D 349 -#define _gloffset_ConvolutionParameterf 350 -#define _gloffset_ConvolutionParameterfv 351 -#define _gloffset_ConvolutionParameteri 352 -#define _gloffset_ConvolutionParameteriv 353 -#define _gloffset_CopyConvolutionFilter1D 354 -#define _gloffset_CopyConvolutionFilter2D 355 -#define _gloffset_GetConvolutionFilter 356 -#define _gloffset_GetConvolutionParameterfv 357 -#define _gloffset_GetConvolutionParameteriv 358 -#define _gloffset_GetSeparableFilter 359 -#define _gloffset_SeparableFilter2D 360 -#define _gloffset_GetHistogram 361 -#define _gloffset_GetHistogramParameterfv 362 -#define _gloffset_GetHistogramParameteriv 363 -#define _gloffset_GetMinmax 364 -#define _gloffset_GetMinmaxParameterfv 365 -#define _gloffset_GetMinmaxParameteriv 366 -#define _gloffset_Histogram 367 -#define _gloffset_Minmax 368 -#define _gloffset_ResetHistogram 369 -#define _gloffset_ResetMinmax 370 -#define _gloffset_TexImage3D 371 -#define _gloffset_TexSubImage3D 372 -#define _gloffset_CopyTexSubImage3D 373 -#define _gloffset_ActiveTextureARB 374 -#define _gloffset_ClientActiveTextureARB 375 -#define _gloffset_MultiTexCoord1dARB 376 -#define _gloffset_MultiTexCoord1dvARB 377 -#define _gloffset_MultiTexCoord1fARB 378 -#define _gloffset_MultiTexCoord1fvARB 379 -#define _gloffset_MultiTexCoord1iARB 380 -#define _gloffset_MultiTexCoord1ivARB 381 -#define _gloffset_MultiTexCoord1sARB 382 -#define _gloffset_MultiTexCoord1svARB 383 -#define _gloffset_MultiTexCoord2dARB 384 -#define _gloffset_MultiTexCoord2dvARB 385 -#define _gloffset_MultiTexCoord2fARB 386 -#define _gloffset_MultiTexCoord2fvARB 387 -#define _gloffset_MultiTexCoord2iARB 388 -#define _gloffset_MultiTexCoord2ivARB 389 -#define _gloffset_MultiTexCoord2sARB 390 -#define _gloffset_MultiTexCoord2svARB 391 -#define _gloffset_MultiTexCoord3dARB 392 -#define _gloffset_MultiTexCoord3dvARB 393 -#define _gloffset_MultiTexCoord3fARB 394 -#define _gloffset_MultiTexCoord3fvARB 395 -#define _gloffset_MultiTexCoord3iARB 396 -#define _gloffset_MultiTexCoord3ivARB 397 -#define _gloffset_MultiTexCoord3sARB 398 -#define _gloffset_MultiTexCoord3svARB 399 -#define _gloffset_MultiTexCoord4dARB 400 -#define _gloffset_MultiTexCoord4dvARB 401 -#define _gloffset_MultiTexCoord4fARB 402 -#define _gloffset_MultiTexCoord4fvARB 403 -#define _gloffset_MultiTexCoord4iARB 404 -#define _gloffset_MultiTexCoord4ivARB 405 -#define _gloffset_MultiTexCoord4sARB 406 -#define _gloffset_MultiTexCoord4svARB 407 - -#if !defined(_GLAPI_USE_REMAP_TABLE) - -#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_DrawArraysInstanced 430 -#define _gloffset_DrawElementsInstanced 431 -#define _gloffset_LoadTransposeMatrixdARB 432 -#define _gloffset_LoadTransposeMatrixfARB 433 -#define _gloffset_MultTransposeMatrixdARB 434 -#define _gloffset_MultTransposeMatrixfARB 435 -#define _gloffset_SampleCoverageARB 436 -#define _gloffset_CompressedTexImage1DARB 437 -#define _gloffset_CompressedTexImage2DARB 438 -#define _gloffset_CompressedTexImage3DARB 439 -#define _gloffset_CompressedTexSubImage1DARB 440 -#define _gloffset_CompressedTexSubImage2DARB 441 -#define _gloffset_CompressedTexSubImage3DARB 442 -#define _gloffset_GetCompressedTexImageARB 443 -#define _gloffset_DisableVertexAttribArrayARB 444 -#define _gloffset_EnableVertexAttribArrayARB 445 -#define _gloffset_GetProgramEnvParameterdvARB 446 -#define _gloffset_GetProgramEnvParameterfvARB 447 -#define _gloffset_GetProgramLocalParameterdvARB 448 -#define _gloffset_GetProgramLocalParameterfvARB 449 -#define _gloffset_GetProgramStringARB 450 -#define _gloffset_GetProgramivARB 451 -#define _gloffset_GetVertexAttribdvARB 452 -#define _gloffset_GetVertexAttribfvARB 453 -#define _gloffset_GetVertexAttribivARB 454 -#define _gloffset_ProgramEnvParameter4dARB 455 -#define _gloffset_ProgramEnvParameter4dvARB 456 -#define _gloffset_ProgramEnvParameter4fARB 457 -#define _gloffset_ProgramEnvParameter4fvARB 458 -#define _gloffset_ProgramLocalParameter4dARB 459 -#define _gloffset_ProgramLocalParameter4dvARB 460 -#define _gloffset_ProgramLocalParameter4fARB 461 -#define _gloffset_ProgramLocalParameter4fvARB 462 -#define _gloffset_ProgramStringARB 463 -#define _gloffset_VertexAttrib1dARB 464 -#define _gloffset_VertexAttrib1dvARB 465 -#define _gloffset_VertexAttrib1fARB 466 -#define _gloffset_VertexAttrib1fvARB 467 -#define _gloffset_VertexAttrib1sARB 468 -#define _gloffset_VertexAttrib1svARB 469 -#define _gloffset_VertexAttrib2dARB 470 -#define _gloffset_VertexAttrib2dvARB 471 -#define _gloffset_VertexAttrib2fARB 472 -#define _gloffset_VertexAttrib2fvARB 473 -#define _gloffset_VertexAttrib2sARB 474 -#define _gloffset_VertexAttrib2svARB 475 -#define _gloffset_VertexAttrib3dARB 476 -#define _gloffset_VertexAttrib3dvARB 477 -#define _gloffset_VertexAttrib3fARB 478 -#define _gloffset_VertexAttrib3fvARB 479 -#define _gloffset_VertexAttrib3sARB 480 -#define _gloffset_VertexAttrib3svARB 481 -#define _gloffset_VertexAttrib4NbvARB 482 -#define _gloffset_VertexAttrib4NivARB 483 -#define _gloffset_VertexAttrib4NsvARB 484 -#define _gloffset_VertexAttrib4NubARB 485 -#define _gloffset_VertexAttrib4NubvARB 486 -#define _gloffset_VertexAttrib4NuivARB 487 -#define _gloffset_VertexAttrib4NusvARB 488 -#define _gloffset_VertexAttrib4bvARB 489 -#define _gloffset_VertexAttrib4dARB 490 -#define _gloffset_VertexAttrib4dvARB 491 -#define _gloffset_VertexAttrib4fARB 492 -#define _gloffset_VertexAttrib4fvARB 493 -#define _gloffset_VertexAttrib4ivARB 494 -#define _gloffset_VertexAttrib4sARB 495 -#define _gloffset_VertexAttrib4svARB 496 -#define _gloffset_VertexAttrib4ubvARB 497 -#define _gloffset_VertexAttrib4uivARB 498 -#define _gloffset_VertexAttrib4usvARB 499 -#define _gloffset_VertexAttribPointerARB 500 -#define _gloffset_BindBufferARB 501 -#define _gloffset_BufferDataARB 502 -#define _gloffset_BufferSubDataARB 503 -#define _gloffset_DeleteBuffersARB 504 -#define _gloffset_GenBuffersARB 505 -#define _gloffset_GetBufferParameterivARB 506 -#define _gloffset_GetBufferPointervARB 507 -#define _gloffset_GetBufferSubDataARB 508 -#define _gloffset_IsBufferARB 509 -#define _gloffset_MapBufferARB 510 -#define _gloffset_UnmapBufferARB 511 -#define _gloffset_BeginQueryARB 512 -#define _gloffset_DeleteQueriesARB 513 -#define _gloffset_EndQueryARB 514 -#define _gloffset_GenQueriesARB 515 -#define _gloffset_GetQueryObjectivARB 516 -#define _gloffset_GetQueryObjectuivARB 517 -#define _gloffset_GetQueryivARB 518 -#define _gloffset_IsQueryARB 519 -#define _gloffset_AttachObjectARB 520 -#define _gloffset_CompileShaderARB 521 -#define _gloffset_CreateProgramObjectARB 522 -#define _gloffset_CreateShaderObjectARB 523 -#define _gloffset_DeleteObjectARB 524 -#define _gloffset_DetachObjectARB 525 -#define _gloffset_GetActiveUniformARB 526 -#define _gloffset_GetAttachedObjectsARB 527 -#define _gloffset_GetHandleARB 528 -#define _gloffset_GetInfoLogARB 529 -#define _gloffset_GetObjectParameterfvARB 530 -#define _gloffset_GetObjectParameterivARB 531 -#define _gloffset_GetShaderSourceARB 532 -#define _gloffset_GetUniformLocationARB 533 -#define _gloffset_GetUniformfvARB 534 -#define _gloffset_GetUniformivARB 535 -#define _gloffset_LinkProgramARB 536 -#define _gloffset_ShaderSourceARB 537 -#define _gloffset_Uniform1fARB 538 -#define _gloffset_Uniform1fvARB 539 -#define _gloffset_Uniform1iARB 540 -#define _gloffset_Uniform1ivARB 541 -#define _gloffset_Uniform2fARB 542 -#define _gloffset_Uniform2fvARB 543 -#define _gloffset_Uniform2iARB 544 -#define _gloffset_Uniform2ivARB 545 -#define _gloffset_Uniform3fARB 546 -#define _gloffset_Uniform3fvARB 547 -#define _gloffset_Uniform3iARB 548 -#define _gloffset_Uniform3ivARB 549 -#define _gloffset_Uniform4fARB 550 -#define _gloffset_Uniform4fvARB 551 -#define _gloffset_Uniform4iARB 552 -#define _gloffset_Uniform4ivARB 553 -#define _gloffset_UniformMatrix2fvARB 554 -#define _gloffset_UniformMatrix3fvARB 555 -#define _gloffset_UniformMatrix4fvARB 556 -#define _gloffset_UseProgramObjectARB 557 -#define _gloffset_ValidateProgramARB 558 -#define _gloffset_BindAttribLocationARB 559 -#define _gloffset_GetActiveAttribARB 560 -#define _gloffset_GetAttribLocationARB 561 -#define _gloffset_DrawBuffersARB 562 -#define _gloffset_RenderbufferStorageMultisample 563 -#define _gloffset_FramebufferTextureARB 564 -#define _gloffset_FramebufferTextureFaceARB 565 -#define _gloffset_ProgramParameteriARB 566 -#define _gloffset_FlushMappedBufferRange 567 -#define _gloffset_MapBufferRange 568 -#define _gloffset_BindVertexArray 569 -#define _gloffset_GenVertexArrays 570 -#define _gloffset_CopyBufferSubData 571 -#define _gloffset_ClientWaitSync 572 -#define _gloffset_DeleteSync 573 -#define _gloffset_FenceSync 574 -#define _gloffset_GetInteger64v 575 -#define _gloffset_GetSynciv 576 -#define _gloffset_IsSync 577 -#define _gloffset_WaitSync 578 -#define _gloffset_DrawElementsBaseVertex 579 -#define _gloffset_DrawRangeElementsBaseVertex 580 -#define _gloffset_MultiDrawElementsBaseVertex 581 -#define _gloffset_BindTransformFeedback 582 -#define _gloffset_DeleteTransformFeedbacks 583 -#define _gloffset_DrawTransformFeedback 584 -#define _gloffset_GenTransformFeedbacks 585 -#define _gloffset_IsTransformFeedback 586 -#define _gloffset_PauseTransformFeedback 587 -#define _gloffset_ResumeTransformFeedback 588 -#define _gloffset_PolygonOffsetEXT 589 -#define _gloffset_GetPixelTexGenParameterfvSGIS 590 -#define _gloffset_GetPixelTexGenParameterivSGIS 591 -#define _gloffset_PixelTexGenParameterfSGIS 592 -#define _gloffset_PixelTexGenParameterfvSGIS 593 -#define _gloffset_PixelTexGenParameteriSGIS 594 -#define _gloffset_PixelTexGenParameterivSGIS 595 -#define _gloffset_SampleMaskSGIS 596 -#define _gloffset_SamplePatternSGIS 597 -#define _gloffset_ColorPointerEXT 598 -#define _gloffset_EdgeFlagPointerEXT 599 -#define _gloffset_IndexPointerEXT 600 -#define _gloffset_NormalPointerEXT 601 -#define _gloffset_TexCoordPointerEXT 602 -#define _gloffset_VertexPointerEXT 603 -#define _gloffset_PointParameterfEXT 604 -#define _gloffset_PointParameterfvEXT 605 -#define _gloffset_LockArraysEXT 606 -#define _gloffset_UnlockArraysEXT 607 -#define _gloffset_SecondaryColor3bEXT 608 -#define _gloffset_SecondaryColor3bvEXT 609 -#define _gloffset_SecondaryColor3dEXT 610 -#define _gloffset_SecondaryColor3dvEXT 611 -#define _gloffset_SecondaryColor3fEXT 612 -#define _gloffset_SecondaryColor3fvEXT 613 -#define _gloffset_SecondaryColor3iEXT 614 -#define _gloffset_SecondaryColor3ivEXT 615 -#define _gloffset_SecondaryColor3sEXT 616 -#define _gloffset_SecondaryColor3svEXT 617 -#define _gloffset_SecondaryColor3ubEXT 618 -#define _gloffset_SecondaryColor3ubvEXT 619 -#define _gloffset_SecondaryColor3uiEXT 620 -#define _gloffset_SecondaryColor3uivEXT 621 -#define _gloffset_SecondaryColor3usEXT 622 -#define _gloffset_SecondaryColor3usvEXT 623 -#define _gloffset_SecondaryColorPointerEXT 624 -#define _gloffset_MultiDrawArraysEXT 625 -#define _gloffset_MultiDrawElementsEXT 626 -#define _gloffset_FogCoordPointerEXT 627 -#define _gloffset_FogCoorddEXT 628 -#define _gloffset_FogCoorddvEXT 629 -#define _gloffset_FogCoordfEXT 630 -#define _gloffset_FogCoordfvEXT 631 -#define _gloffset_PixelTexGenSGIX 632 -#define _gloffset_BlendFuncSeparateEXT 633 -#define _gloffset_FlushVertexArrayRangeNV 634 -#define _gloffset_VertexArrayRangeNV 635 -#define _gloffset_CombinerInputNV 636 -#define _gloffset_CombinerOutputNV 637 -#define _gloffset_CombinerParameterfNV 638 -#define _gloffset_CombinerParameterfvNV 639 -#define _gloffset_CombinerParameteriNV 640 -#define _gloffset_CombinerParameterivNV 641 -#define _gloffset_FinalCombinerInputNV 642 -#define _gloffset_GetCombinerInputParameterfvNV 643 -#define _gloffset_GetCombinerInputParameterivNV 644 -#define _gloffset_GetCombinerOutputParameterfvNV 645 -#define _gloffset_GetCombinerOutputParameterivNV 646 -#define _gloffset_GetFinalCombinerInputParameterfvNV 647 -#define _gloffset_GetFinalCombinerInputParameterivNV 648 -#define _gloffset_ResizeBuffersMESA 649 -#define _gloffset_WindowPos2dMESA 650 -#define _gloffset_WindowPos2dvMESA 651 -#define _gloffset_WindowPos2fMESA 652 -#define _gloffset_WindowPos2fvMESA 653 -#define _gloffset_WindowPos2iMESA 654 -#define _gloffset_WindowPos2ivMESA 655 -#define _gloffset_WindowPos2sMESA 656 -#define _gloffset_WindowPos2svMESA 657 -#define _gloffset_WindowPos3dMESA 658 -#define _gloffset_WindowPos3dvMESA 659 -#define _gloffset_WindowPos3fMESA 660 -#define _gloffset_WindowPos3fvMESA 661 -#define _gloffset_WindowPos3iMESA 662 -#define _gloffset_WindowPos3ivMESA 663 -#define _gloffset_WindowPos3sMESA 664 -#define _gloffset_WindowPos3svMESA 665 -#define _gloffset_WindowPos4dMESA 666 -#define _gloffset_WindowPos4dvMESA 667 -#define _gloffset_WindowPos4fMESA 668 -#define _gloffset_WindowPos4fvMESA 669 -#define _gloffset_WindowPos4iMESA 670 -#define _gloffset_WindowPos4ivMESA 671 -#define _gloffset_WindowPos4sMESA 672 -#define _gloffset_WindowPos4svMESA 673 -#define _gloffset_MultiModeDrawArraysIBM 674 -#define _gloffset_MultiModeDrawElementsIBM 675 -#define _gloffset_DeleteFencesNV 676 -#define _gloffset_FinishFenceNV 677 -#define _gloffset_GenFencesNV 678 -#define _gloffset_GetFenceivNV 679 -#define _gloffset_IsFenceNV 680 -#define _gloffset_SetFenceNV 681 -#define _gloffset_TestFenceNV 682 -#define _gloffset_AreProgramsResidentNV 683 -#define _gloffset_BindProgramNV 684 -#define _gloffset_DeleteProgramsNV 685 -#define _gloffset_ExecuteProgramNV 686 -#define _gloffset_GenProgramsNV 687 -#define _gloffset_GetProgramParameterdvNV 688 -#define _gloffset_GetProgramParameterfvNV 689 -#define _gloffset_GetProgramStringNV 690 -#define _gloffset_GetProgramivNV 691 -#define _gloffset_GetTrackMatrixivNV 692 -#define _gloffset_GetVertexAttribPointervNV 693 -#define _gloffset_GetVertexAttribdvNV 694 -#define _gloffset_GetVertexAttribfvNV 695 -#define _gloffset_GetVertexAttribivNV 696 -#define _gloffset_IsProgramNV 697 -#define _gloffset_LoadProgramNV 698 -#define _gloffset_ProgramParameters4dvNV 699 -#define _gloffset_ProgramParameters4fvNV 700 -#define _gloffset_RequestResidentProgramsNV 701 -#define _gloffset_TrackMatrixNV 702 -#define _gloffset_VertexAttrib1dNV 703 -#define _gloffset_VertexAttrib1dvNV 704 -#define _gloffset_VertexAttrib1fNV 705 -#define _gloffset_VertexAttrib1fvNV 706 -#define _gloffset_VertexAttrib1sNV 707 -#define _gloffset_VertexAttrib1svNV 708 -#define _gloffset_VertexAttrib2dNV 709 -#define _gloffset_VertexAttrib2dvNV 710 -#define _gloffset_VertexAttrib2fNV 711 -#define _gloffset_VertexAttrib2fvNV 712 -#define _gloffset_VertexAttrib2sNV 713 -#define _gloffset_VertexAttrib2svNV 714 -#define _gloffset_VertexAttrib3dNV 715 -#define _gloffset_VertexAttrib3dvNV 716 -#define _gloffset_VertexAttrib3fNV 717 -#define _gloffset_VertexAttrib3fvNV 718 -#define _gloffset_VertexAttrib3sNV 719 -#define _gloffset_VertexAttrib3svNV 720 -#define _gloffset_VertexAttrib4dNV 721 -#define _gloffset_VertexAttrib4dvNV 722 -#define _gloffset_VertexAttrib4fNV 723 -#define _gloffset_VertexAttrib4fvNV 724 -#define _gloffset_VertexAttrib4sNV 725 -#define _gloffset_VertexAttrib4svNV 726 -#define _gloffset_VertexAttrib4ubNV 727 -#define _gloffset_VertexAttrib4ubvNV 728 -#define _gloffset_VertexAttribPointerNV 729 -#define _gloffset_VertexAttribs1dvNV 730 -#define _gloffset_VertexAttribs1fvNV 731 -#define _gloffset_VertexAttribs1svNV 732 -#define _gloffset_VertexAttribs2dvNV 733 -#define _gloffset_VertexAttribs2fvNV 734 -#define _gloffset_VertexAttribs2svNV 735 -#define _gloffset_VertexAttribs3dvNV 736 -#define _gloffset_VertexAttribs3fvNV 737 -#define _gloffset_VertexAttribs3svNV 738 -#define _gloffset_VertexAttribs4dvNV 739 -#define _gloffset_VertexAttribs4fvNV 740 -#define _gloffset_VertexAttribs4svNV 741 -#define _gloffset_VertexAttribs4ubvNV 742 -#define _gloffset_GetTexBumpParameterfvATI 743 -#define _gloffset_GetTexBumpParameterivATI 744 -#define _gloffset_TexBumpParameterfvATI 745 -#define _gloffset_TexBumpParameterivATI 746 -#define _gloffset_AlphaFragmentOp1ATI 747 -#define _gloffset_AlphaFragmentOp2ATI 748 -#define _gloffset_AlphaFragmentOp3ATI 749 -#define _gloffset_BeginFragmentShaderATI 750 -#define _gloffset_BindFragmentShaderATI 751 -#define _gloffset_ColorFragmentOp1ATI 752 -#define _gloffset_ColorFragmentOp2ATI 753 -#define _gloffset_ColorFragmentOp3ATI 754 -#define _gloffset_DeleteFragmentShaderATI 755 -#define _gloffset_EndFragmentShaderATI 756 -#define _gloffset_GenFragmentShadersATI 757 -#define _gloffset_PassTexCoordATI 758 -#define _gloffset_SampleMapATI 759 -#define _gloffset_SetFragmentShaderConstantATI 760 -#define _gloffset_PointParameteriNV 761 -#define _gloffset_PointParameterivNV 762 -#define _gloffset_ActiveStencilFaceEXT 763 -#define _gloffset_BindVertexArrayAPPLE 764 -#define _gloffset_DeleteVertexArraysAPPLE 765 -#define _gloffset_GenVertexArraysAPPLE 766 -#define _gloffset_IsVertexArrayAPPLE 767 -#define _gloffset_GetProgramNamedParameterdvNV 768 -#define _gloffset_GetProgramNamedParameterfvNV 769 -#define _gloffset_ProgramNamedParameter4dNV 770 -#define _gloffset_ProgramNamedParameter4dvNV 771 -#define _gloffset_ProgramNamedParameter4fNV 772 -#define _gloffset_ProgramNamedParameter4fvNV 773 -#define _gloffset_PrimitiveRestartIndexNV 774 -#define _gloffset_PrimitiveRestartNV 775 -#define _gloffset_DepthBoundsEXT 776 -#define _gloffset_BlendEquationSeparateEXT 777 -#define _gloffset_BindFramebufferEXT 778 -#define _gloffset_BindRenderbufferEXT 779 -#define _gloffset_CheckFramebufferStatusEXT 780 -#define _gloffset_DeleteFramebuffersEXT 781 -#define _gloffset_DeleteRenderbuffersEXT 782 -#define _gloffset_FramebufferRenderbufferEXT 783 -#define _gloffset_FramebufferTexture1DEXT 784 -#define _gloffset_FramebufferTexture2DEXT 785 -#define _gloffset_FramebufferTexture3DEXT 786 -#define _gloffset_GenFramebuffersEXT 787 -#define _gloffset_GenRenderbuffersEXT 788 -#define _gloffset_GenerateMipmapEXT 789 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 790 -#define _gloffset_GetRenderbufferParameterivEXT 791 -#define _gloffset_IsFramebufferEXT 792 -#define _gloffset_IsRenderbufferEXT 793 -#define _gloffset_RenderbufferStorageEXT 794 -#define _gloffset_BlitFramebufferEXT 795 -#define _gloffset_BufferParameteriAPPLE 796 -#define _gloffset_FlushMappedBufferRangeAPPLE 797 -#define _gloffset_FramebufferTextureLayerEXT 798 -#define _gloffset_ColorMaskIndexedEXT 799 -#define _gloffset_DisableIndexedEXT 800 -#define _gloffset_EnableIndexedEXT 801 -#define _gloffset_GetBooleanIndexedvEXT 802 -#define _gloffset_GetIntegerIndexedvEXT 803 -#define _gloffset_IsEnabledIndexedEXT 804 -#define _gloffset_ClearColorIiEXT 805 -#define _gloffset_ClearColorIuiEXT 806 -#define _gloffset_GetTexParameterIivEXT 807 -#define _gloffset_GetTexParameterIuivEXT 808 -#define _gloffset_TexParameterIivEXT 809 -#define _gloffset_TexParameterIuivEXT 810 -#define _gloffset_BeginConditionalRenderNV 811 -#define _gloffset_EndConditionalRenderNV 812 -#define _gloffset_BeginTransformFeedbackEXT 813 -#define _gloffset_BindBufferBaseEXT 814 -#define _gloffset_BindBufferOffsetEXT 815 -#define _gloffset_BindBufferRangeEXT 816 -#define _gloffset_EndTransformFeedbackEXT 817 -#define _gloffset_GetTransformFeedbackVaryingEXT 818 -#define _gloffset_TransformFeedbackVaryingsEXT 819 -#define _gloffset_ProvokingVertexEXT 820 -#define _gloffset_GetTexParameterPointervAPPLE 821 -#define _gloffset_TextureRangeAPPLE 822 -#define _gloffset_GetObjectParameterivAPPLE 823 -#define _gloffset_ObjectPurgeableAPPLE 824 -#define _gloffset_ObjectUnpurgeableAPPLE 825 -#define _gloffset_ActiveProgramEXT 826 -#define _gloffset_CreateShaderProgramEXT 827 -#define _gloffset_UseShaderProgramEXT 828 -#define _gloffset_StencilFuncSeparateATI 829 -#define _gloffset_ProgramEnvParameters4fvEXT 830 -#define _gloffset_ProgramLocalParameters4fvEXT 831 -#define _gloffset_GetQueryObjecti64vEXT 832 -#define _gloffset_GetQueryObjectui64vEXT 833 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 834 -#define _gloffset_EGLImageTargetTexture2DOES 835 -#define _gloffset_FIRST_DYNAMIC 836 - -#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_DrawArraysInstanced driDispatchRemapTable[DrawArraysInstanced_remap_index] -#define _gloffset_DrawElementsInstanced driDispatchRemapTable[DrawElementsInstanced_remap_index] -#define _gloffset_LoadTransposeMatrixdARB driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index] -#define _gloffset_LoadTransposeMatrixfARB driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index] -#define _gloffset_MultTransposeMatrixdARB driDispatchRemapTable[MultTransposeMatrixdARB_remap_index] -#define _gloffset_MultTransposeMatrixfARB driDispatchRemapTable[MultTransposeMatrixfARB_remap_index] -#define _gloffset_SampleCoverageARB driDispatchRemapTable[SampleCoverageARB_remap_index] -#define _gloffset_CompressedTexImage1DARB driDispatchRemapTable[CompressedTexImage1DARB_remap_index] -#define _gloffset_CompressedTexImage2DARB driDispatchRemapTable[CompressedTexImage2DARB_remap_index] -#define _gloffset_CompressedTexImage3DARB driDispatchRemapTable[CompressedTexImage3DARB_remap_index] -#define _gloffset_CompressedTexSubImage1DARB driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index] -#define _gloffset_CompressedTexSubImage2DARB driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index] -#define _gloffset_CompressedTexSubImage3DARB driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index] -#define _gloffset_GetCompressedTexImageARB driDispatchRemapTable[GetCompressedTexImageARB_remap_index] -#define _gloffset_DisableVertexAttribArrayARB driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index] -#define _gloffset_EnableVertexAttribArrayARB driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index] -#define _gloffset_GetProgramEnvParameterdvARB driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index] -#define _gloffset_GetProgramEnvParameterfvARB driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index] -#define _gloffset_GetProgramLocalParameterdvARB driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index] -#define _gloffset_GetProgramLocalParameterfvARB driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index] -#define _gloffset_GetProgramStringARB driDispatchRemapTable[GetProgramStringARB_remap_index] -#define _gloffset_GetProgramivARB driDispatchRemapTable[GetProgramivARB_remap_index] -#define _gloffset_GetVertexAttribdvARB driDispatchRemapTable[GetVertexAttribdvARB_remap_index] -#define _gloffset_GetVertexAttribfvARB driDispatchRemapTable[GetVertexAttribfvARB_remap_index] -#define _gloffset_GetVertexAttribivARB driDispatchRemapTable[GetVertexAttribivARB_remap_index] -#define _gloffset_ProgramEnvParameter4dARB driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index] -#define _gloffset_ProgramEnvParameter4dvARB driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index] -#define _gloffset_ProgramEnvParameter4fARB driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index] -#define _gloffset_ProgramEnvParameter4fvARB driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index] -#define _gloffset_ProgramLocalParameter4dARB driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index] -#define _gloffset_ProgramLocalParameter4dvARB driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index] -#define _gloffset_ProgramLocalParameter4fARB driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index] -#define _gloffset_ProgramLocalParameter4fvARB driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index] -#define _gloffset_ProgramStringARB driDispatchRemapTable[ProgramStringARB_remap_index] -#define _gloffset_VertexAttrib1dARB driDispatchRemapTable[VertexAttrib1dARB_remap_index] -#define _gloffset_VertexAttrib1dvARB driDispatchRemapTable[VertexAttrib1dvARB_remap_index] -#define _gloffset_VertexAttrib1fARB driDispatchRemapTable[VertexAttrib1fARB_remap_index] -#define _gloffset_VertexAttrib1fvARB driDispatchRemapTable[VertexAttrib1fvARB_remap_index] -#define _gloffset_VertexAttrib1sARB driDispatchRemapTable[VertexAttrib1sARB_remap_index] -#define _gloffset_VertexAttrib1svARB driDispatchRemapTable[VertexAttrib1svARB_remap_index] -#define _gloffset_VertexAttrib2dARB driDispatchRemapTable[VertexAttrib2dARB_remap_index] -#define _gloffset_VertexAttrib2dvARB driDispatchRemapTable[VertexAttrib2dvARB_remap_index] -#define _gloffset_VertexAttrib2fARB driDispatchRemapTable[VertexAttrib2fARB_remap_index] -#define _gloffset_VertexAttrib2fvARB driDispatchRemapTable[VertexAttrib2fvARB_remap_index] -#define _gloffset_VertexAttrib2sARB driDispatchRemapTable[VertexAttrib2sARB_remap_index] -#define _gloffset_VertexAttrib2svARB driDispatchRemapTable[VertexAttrib2svARB_remap_index] -#define _gloffset_VertexAttrib3dARB driDispatchRemapTable[VertexAttrib3dARB_remap_index] -#define _gloffset_VertexAttrib3dvARB driDispatchRemapTable[VertexAttrib3dvARB_remap_index] -#define _gloffset_VertexAttrib3fARB driDispatchRemapTable[VertexAttrib3fARB_remap_index] -#define _gloffset_VertexAttrib3fvARB driDispatchRemapTable[VertexAttrib3fvARB_remap_index] -#define _gloffset_VertexAttrib3sARB driDispatchRemapTable[VertexAttrib3sARB_remap_index] -#define _gloffset_VertexAttrib3svARB driDispatchRemapTable[VertexAttrib3svARB_remap_index] -#define _gloffset_VertexAttrib4NbvARB driDispatchRemapTable[VertexAttrib4NbvARB_remap_index] -#define _gloffset_VertexAttrib4NivARB driDispatchRemapTable[VertexAttrib4NivARB_remap_index] -#define _gloffset_VertexAttrib4NsvARB driDispatchRemapTable[VertexAttrib4NsvARB_remap_index] -#define _gloffset_VertexAttrib4NubARB driDispatchRemapTable[VertexAttrib4NubARB_remap_index] -#define _gloffset_VertexAttrib4NubvARB driDispatchRemapTable[VertexAttrib4NubvARB_remap_index] -#define _gloffset_VertexAttrib4NuivARB driDispatchRemapTable[VertexAttrib4NuivARB_remap_index] -#define _gloffset_VertexAttrib4NusvARB driDispatchRemapTable[VertexAttrib4NusvARB_remap_index] -#define _gloffset_VertexAttrib4bvARB driDispatchRemapTable[VertexAttrib4bvARB_remap_index] -#define _gloffset_VertexAttrib4dARB driDispatchRemapTable[VertexAttrib4dARB_remap_index] -#define _gloffset_VertexAttrib4dvARB driDispatchRemapTable[VertexAttrib4dvARB_remap_index] -#define _gloffset_VertexAttrib4fARB driDispatchRemapTable[VertexAttrib4fARB_remap_index] -#define _gloffset_VertexAttrib4fvARB driDispatchRemapTable[VertexAttrib4fvARB_remap_index] -#define _gloffset_VertexAttrib4ivARB driDispatchRemapTable[VertexAttrib4ivARB_remap_index] -#define _gloffset_VertexAttrib4sARB driDispatchRemapTable[VertexAttrib4sARB_remap_index] -#define _gloffset_VertexAttrib4svARB driDispatchRemapTable[VertexAttrib4svARB_remap_index] -#define _gloffset_VertexAttrib4ubvARB driDispatchRemapTable[VertexAttrib4ubvARB_remap_index] -#define _gloffset_VertexAttrib4uivARB driDispatchRemapTable[VertexAttrib4uivARB_remap_index] -#define _gloffset_VertexAttrib4usvARB driDispatchRemapTable[VertexAttrib4usvARB_remap_index] -#define _gloffset_VertexAttribPointerARB driDispatchRemapTable[VertexAttribPointerARB_remap_index] -#define _gloffset_BindBufferARB driDispatchRemapTable[BindBufferARB_remap_index] -#define _gloffset_BufferDataARB driDispatchRemapTable[BufferDataARB_remap_index] -#define _gloffset_BufferSubDataARB driDispatchRemapTable[BufferSubDataARB_remap_index] -#define _gloffset_DeleteBuffersARB driDispatchRemapTable[DeleteBuffersARB_remap_index] -#define _gloffset_GenBuffersARB driDispatchRemapTable[GenBuffersARB_remap_index] -#define _gloffset_GetBufferParameterivARB driDispatchRemapTable[GetBufferParameterivARB_remap_index] -#define _gloffset_GetBufferPointervARB driDispatchRemapTable[GetBufferPointervARB_remap_index] -#define _gloffset_GetBufferSubDataARB driDispatchRemapTable[GetBufferSubDataARB_remap_index] -#define _gloffset_IsBufferARB driDispatchRemapTable[IsBufferARB_remap_index] -#define _gloffset_MapBufferARB driDispatchRemapTable[MapBufferARB_remap_index] -#define _gloffset_UnmapBufferARB driDispatchRemapTable[UnmapBufferARB_remap_index] -#define _gloffset_BeginQueryARB driDispatchRemapTable[BeginQueryARB_remap_index] -#define _gloffset_DeleteQueriesARB driDispatchRemapTable[DeleteQueriesARB_remap_index] -#define _gloffset_EndQueryARB driDispatchRemapTable[EndQueryARB_remap_index] -#define _gloffset_GenQueriesARB driDispatchRemapTable[GenQueriesARB_remap_index] -#define _gloffset_GetQueryObjectivARB driDispatchRemapTable[GetQueryObjectivARB_remap_index] -#define _gloffset_GetQueryObjectuivARB driDispatchRemapTable[GetQueryObjectuivARB_remap_index] -#define _gloffset_GetQueryivARB driDispatchRemapTable[GetQueryivARB_remap_index] -#define _gloffset_IsQueryARB driDispatchRemapTable[IsQueryARB_remap_index] -#define _gloffset_AttachObjectARB driDispatchRemapTable[AttachObjectARB_remap_index] -#define _gloffset_CompileShaderARB driDispatchRemapTable[CompileShaderARB_remap_index] -#define _gloffset_CreateProgramObjectARB driDispatchRemapTable[CreateProgramObjectARB_remap_index] -#define _gloffset_CreateShaderObjectARB driDispatchRemapTable[CreateShaderObjectARB_remap_index] -#define _gloffset_DeleteObjectARB driDispatchRemapTable[DeleteObjectARB_remap_index] -#define _gloffset_DetachObjectARB driDispatchRemapTable[DetachObjectARB_remap_index] -#define _gloffset_GetActiveUniformARB driDispatchRemapTable[GetActiveUniformARB_remap_index] -#define _gloffset_GetAttachedObjectsARB driDispatchRemapTable[GetAttachedObjectsARB_remap_index] -#define _gloffset_GetHandleARB driDispatchRemapTable[GetHandleARB_remap_index] -#define _gloffset_GetInfoLogARB driDispatchRemapTable[GetInfoLogARB_remap_index] -#define _gloffset_GetObjectParameterfvARB driDispatchRemapTable[GetObjectParameterfvARB_remap_index] -#define _gloffset_GetObjectParameterivARB driDispatchRemapTable[GetObjectParameterivARB_remap_index] -#define _gloffset_GetShaderSourceARB driDispatchRemapTable[GetShaderSourceARB_remap_index] -#define _gloffset_GetUniformLocationARB driDispatchRemapTable[GetUniformLocationARB_remap_index] -#define _gloffset_GetUniformfvARB driDispatchRemapTable[GetUniformfvARB_remap_index] -#define _gloffset_GetUniformivARB driDispatchRemapTable[GetUniformivARB_remap_index] -#define _gloffset_LinkProgramARB driDispatchRemapTable[LinkProgramARB_remap_index] -#define _gloffset_ShaderSourceARB driDispatchRemapTable[ShaderSourceARB_remap_index] -#define _gloffset_Uniform1fARB driDispatchRemapTable[Uniform1fARB_remap_index] -#define _gloffset_Uniform1fvARB driDispatchRemapTable[Uniform1fvARB_remap_index] -#define _gloffset_Uniform1iARB driDispatchRemapTable[Uniform1iARB_remap_index] -#define _gloffset_Uniform1ivARB driDispatchRemapTable[Uniform1ivARB_remap_index] -#define _gloffset_Uniform2fARB driDispatchRemapTable[Uniform2fARB_remap_index] -#define _gloffset_Uniform2fvARB driDispatchRemapTable[Uniform2fvARB_remap_index] -#define _gloffset_Uniform2iARB driDispatchRemapTable[Uniform2iARB_remap_index] -#define _gloffset_Uniform2ivARB driDispatchRemapTable[Uniform2ivARB_remap_index] -#define _gloffset_Uniform3fARB driDispatchRemapTable[Uniform3fARB_remap_index] -#define _gloffset_Uniform3fvARB driDispatchRemapTable[Uniform3fvARB_remap_index] -#define _gloffset_Uniform3iARB driDispatchRemapTable[Uniform3iARB_remap_index] -#define _gloffset_Uniform3ivARB driDispatchRemapTable[Uniform3ivARB_remap_index] -#define _gloffset_Uniform4fARB driDispatchRemapTable[Uniform4fARB_remap_index] -#define _gloffset_Uniform4fvARB driDispatchRemapTable[Uniform4fvARB_remap_index] -#define _gloffset_Uniform4iARB driDispatchRemapTable[Uniform4iARB_remap_index] -#define _gloffset_Uniform4ivARB driDispatchRemapTable[Uniform4ivARB_remap_index] -#define _gloffset_UniformMatrix2fvARB driDispatchRemapTable[UniformMatrix2fvARB_remap_index] -#define _gloffset_UniformMatrix3fvARB driDispatchRemapTable[UniformMatrix3fvARB_remap_index] -#define _gloffset_UniformMatrix4fvARB driDispatchRemapTable[UniformMatrix4fvARB_remap_index] -#define _gloffset_UseProgramObjectARB driDispatchRemapTable[UseProgramObjectARB_remap_index] -#define _gloffset_ValidateProgramARB driDispatchRemapTable[ValidateProgramARB_remap_index] -#define _gloffset_BindAttribLocationARB driDispatchRemapTable[BindAttribLocationARB_remap_index] -#define _gloffset_GetActiveAttribARB driDispatchRemapTable[GetActiveAttribARB_remap_index] -#define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index] -#define _gloffset_DrawBuffersARB driDispatchRemapTable[DrawBuffersARB_remap_index] -#define _gloffset_RenderbufferStorageMultisample driDispatchRemapTable[RenderbufferStorageMultisample_remap_index] -#define _gloffset_FramebufferTextureARB driDispatchRemapTable[FramebufferTextureARB_remap_index] -#define _gloffset_FramebufferTextureFaceARB driDispatchRemapTable[FramebufferTextureFaceARB_remap_index] -#define _gloffset_ProgramParameteriARB driDispatchRemapTable[ProgramParameteriARB_remap_index] -#define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index] -#define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index] -#define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index] -#define _gloffset_GenVertexArrays driDispatchRemapTable[GenVertexArrays_remap_index] -#define _gloffset_CopyBufferSubData driDispatchRemapTable[CopyBufferSubData_remap_index] -#define _gloffset_ClientWaitSync driDispatchRemapTable[ClientWaitSync_remap_index] -#define _gloffset_DeleteSync driDispatchRemapTable[DeleteSync_remap_index] -#define _gloffset_FenceSync driDispatchRemapTable[FenceSync_remap_index] -#define _gloffset_GetInteger64v driDispatchRemapTable[GetInteger64v_remap_index] -#define _gloffset_GetSynciv driDispatchRemapTable[GetSynciv_remap_index] -#define _gloffset_IsSync driDispatchRemapTable[IsSync_remap_index] -#define _gloffset_WaitSync driDispatchRemapTable[WaitSync_remap_index] -#define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index] -#define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index] -#define _gloffset_MultiDrawElementsBaseVertex driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index] -#define _gloffset_BindTransformFeedback driDispatchRemapTable[BindTransformFeedback_remap_index] -#define _gloffset_DeleteTransformFeedbacks driDispatchRemapTable[DeleteTransformFeedbacks_remap_index] -#define _gloffset_DrawTransformFeedback driDispatchRemapTable[DrawTransformFeedback_remap_index] -#define _gloffset_GenTransformFeedbacks driDispatchRemapTable[GenTransformFeedbacks_remap_index] -#define _gloffset_IsTransformFeedback driDispatchRemapTable[IsTransformFeedback_remap_index] -#define _gloffset_PauseTransformFeedback driDispatchRemapTable[PauseTransformFeedback_remap_index] -#define _gloffset_ResumeTransformFeedback driDispatchRemapTable[ResumeTransformFeedback_remap_index] -#define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_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_SampleMaskSGIS driDispatchRemapTable[SampleMaskSGIS_remap_index] -#define _gloffset_SamplePatternSGIS driDispatchRemapTable[SamplePatternSGIS_remap_index] -#define _gloffset_ColorPointerEXT driDispatchRemapTable[ColorPointerEXT_remap_index] -#define _gloffset_EdgeFlagPointerEXT driDispatchRemapTable[EdgeFlagPointerEXT_remap_index] -#define _gloffset_IndexPointerEXT driDispatchRemapTable[IndexPointerEXT_remap_index] -#define _gloffset_NormalPointerEXT driDispatchRemapTable[NormalPointerEXT_remap_index] -#define _gloffset_TexCoordPointerEXT driDispatchRemapTable[TexCoordPointerEXT_remap_index] -#define _gloffset_VertexPointerEXT driDispatchRemapTable[VertexPointerEXT_remap_index] -#define _gloffset_PointParameterfEXT driDispatchRemapTable[PointParameterfEXT_remap_index] -#define _gloffset_PointParameterfvEXT driDispatchRemapTable[PointParameterfvEXT_remap_index] -#define _gloffset_LockArraysEXT driDispatchRemapTable[LockArraysEXT_remap_index] -#define _gloffset_UnlockArraysEXT driDispatchRemapTable[UnlockArraysEXT_remap_index] -#define _gloffset_SecondaryColor3bEXT driDispatchRemapTable[SecondaryColor3bEXT_remap_index] -#define _gloffset_SecondaryColor3bvEXT driDispatchRemapTable[SecondaryColor3bvEXT_remap_index] -#define _gloffset_SecondaryColor3dEXT driDispatchRemapTable[SecondaryColor3dEXT_remap_index] -#define _gloffset_SecondaryColor3dvEXT driDispatchRemapTable[SecondaryColor3dvEXT_remap_index] -#define _gloffset_SecondaryColor3fEXT driDispatchRemapTable[SecondaryColor3fEXT_remap_index] -#define _gloffset_SecondaryColor3fvEXT driDispatchRemapTable[SecondaryColor3fvEXT_remap_index] -#define _gloffset_SecondaryColor3iEXT driDispatchRemapTable[SecondaryColor3iEXT_remap_index] -#define _gloffset_SecondaryColor3ivEXT driDispatchRemapTable[SecondaryColor3ivEXT_remap_index] -#define _gloffset_SecondaryColor3sEXT driDispatchRemapTable[SecondaryColor3sEXT_remap_index] -#define _gloffset_SecondaryColor3svEXT driDispatchRemapTable[SecondaryColor3svEXT_remap_index] -#define _gloffset_SecondaryColor3ubEXT driDispatchRemapTable[SecondaryColor3ubEXT_remap_index] -#define _gloffset_SecondaryColor3ubvEXT driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index] -#define _gloffset_SecondaryColor3uiEXT driDispatchRemapTable[SecondaryColor3uiEXT_remap_index] -#define _gloffset_SecondaryColor3uivEXT driDispatchRemapTable[SecondaryColor3uivEXT_remap_index] -#define _gloffset_SecondaryColor3usEXT driDispatchRemapTable[SecondaryColor3usEXT_remap_index] -#define _gloffset_SecondaryColor3usvEXT driDispatchRemapTable[SecondaryColor3usvEXT_remap_index] -#define _gloffset_SecondaryColorPointerEXT driDispatchRemapTable[SecondaryColorPointerEXT_remap_index] -#define _gloffset_MultiDrawArraysEXT driDispatchRemapTable[MultiDrawArraysEXT_remap_index] -#define _gloffset_MultiDrawElementsEXT driDispatchRemapTable[MultiDrawElementsEXT_remap_index] -#define _gloffset_FogCoordPointerEXT driDispatchRemapTable[FogCoordPointerEXT_remap_index] -#define _gloffset_FogCoorddEXT driDispatchRemapTable[FogCoorddEXT_remap_index] -#define _gloffset_FogCoorddvEXT driDispatchRemapTable[FogCoorddvEXT_remap_index] -#define _gloffset_FogCoordfEXT driDispatchRemapTable[FogCoordfEXT_remap_index] -#define _gloffset_FogCoordfvEXT driDispatchRemapTable[FogCoordfvEXT_remap_index] -#define _gloffset_PixelTexGenSGIX driDispatchRemapTable[PixelTexGenSGIX_remap_index] -#define _gloffset_BlendFuncSeparateEXT driDispatchRemapTable[BlendFuncSeparateEXT_remap_index] -#define _gloffset_FlushVertexArrayRangeNV driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index] -#define _gloffset_VertexArrayRangeNV driDispatchRemapTable[VertexArrayRangeNV_remap_index] -#define _gloffset_CombinerInputNV driDispatchRemapTable[CombinerInputNV_remap_index] -#define _gloffset_CombinerOutputNV driDispatchRemapTable[CombinerOutputNV_remap_index] -#define _gloffset_CombinerParameterfNV driDispatchRemapTable[CombinerParameterfNV_remap_index] -#define _gloffset_CombinerParameterfvNV driDispatchRemapTable[CombinerParameterfvNV_remap_index] -#define _gloffset_CombinerParameteriNV driDispatchRemapTable[CombinerParameteriNV_remap_index] -#define _gloffset_CombinerParameterivNV driDispatchRemapTable[CombinerParameterivNV_remap_index] -#define _gloffset_FinalCombinerInputNV driDispatchRemapTable[FinalCombinerInputNV_remap_index] -#define _gloffset_GetCombinerInputParameterfvNV driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index] -#define _gloffset_GetCombinerInputParameterivNV driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index] -#define _gloffset_GetCombinerOutputParameterfvNV driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index] -#define _gloffset_GetCombinerOutputParameterivNV driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index] -#define _gloffset_GetFinalCombinerInputParameterfvNV driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index] -#define _gloffset_GetFinalCombinerInputParameterivNV driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index] -#define _gloffset_ResizeBuffersMESA driDispatchRemapTable[ResizeBuffersMESA_remap_index] -#define _gloffset_WindowPos2dMESA driDispatchRemapTable[WindowPos2dMESA_remap_index] -#define _gloffset_WindowPos2dvMESA driDispatchRemapTable[WindowPos2dvMESA_remap_index] -#define _gloffset_WindowPos2fMESA driDispatchRemapTable[WindowPos2fMESA_remap_index] -#define _gloffset_WindowPos2fvMESA driDispatchRemapTable[WindowPos2fvMESA_remap_index] -#define _gloffset_WindowPos2iMESA driDispatchRemapTable[WindowPos2iMESA_remap_index] -#define _gloffset_WindowPos2ivMESA driDispatchRemapTable[WindowPos2ivMESA_remap_index] -#define _gloffset_WindowPos2sMESA driDispatchRemapTable[WindowPos2sMESA_remap_index] -#define _gloffset_WindowPos2svMESA driDispatchRemapTable[WindowPos2svMESA_remap_index] -#define _gloffset_WindowPos3dMESA driDispatchRemapTable[WindowPos3dMESA_remap_index] -#define _gloffset_WindowPos3dvMESA driDispatchRemapTable[WindowPos3dvMESA_remap_index] -#define _gloffset_WindowPos3fMESA driDispatchRemapTable[WindowPos3fMESA_remap_index] -#define _gloffset_WindowPos3fvMESA driDispatchRemapTable[WindowPos3fvMESA_remap_index] -#define _gloffset_WindowPos3iMESA driDispatchRemapTable[WindowPos3iMESA_remap_index] -#define _gloffset_WindowPos3ivMESA driDispatchRemapTable[WindowPos3ivMESA_remap_index] -#define _gloffset_WindowPos3sMESA driDispatchRemapTable[WindowPos3sMESA_remap_index] -#define _gloffset_WindowPos3svMESA driDispatchRemapTable[WindowPos3svMESA_remap_index] -#define _gloffset_WindowPos4dMESA driDispatchRemapTable[WindowPos4dMESA_remap_index] -#define _gloffset_WindowPos4dvMESA driDispatchRemapTable[WindowPos4dvMESA_remap_index] -#define _gloffset_WindowPos4fMESA driDispatchRemapTable[WindowPos4fMESA_remap_index] -#define _gloffset_WindowPos4fvMESA driDispatchRemapTable[WindowPos4fvMESA_remap_index] -#define _gloffset_WindowPos4iMESA driDispatchRemapTable[WindowPos4iMESA_remap_index] -#define _gloffset_WindowPos4ivMESA driDispatchRemapTable[WindowPos4ivMESA_remap_index] -#define _gloffset_WindowPos4sMESA driDispatchRemapTable[WindowPos4sMESA_remap_index] -#define _gloffset_WindowPos4svMESA driDispatchRemapTable[WindowPos4svMESA_remap_index] -#define _gloffset_MultiModeDrawArraysIBM driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index] -#define _gloffset_MultiModeDrawElementsIBM driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index] -#define _gloffset_DeleteFencesNV driDispatchRemapTable[DeleteFencesNV_remap_index] -#define _gloffset_FinishFenceNV driDispatchRemapTable[FinishFenceNV_remap_index] -#define _gloffset_GenFencesNV driDispatchRemapTable[GenFencesNV_remap_index] -#define _gloffset_GetFenceivNV driDispatchRemapTable[GetFenceivNV_remap_index] -#define _gloffset_IsFenceNV driDispatchRemapTable[IsFenceNV_remap_index] -#define _gloffset_SetFenceNV driDispatchRemapTable[SetFenceNV_remap_index] -#define _gloffset_TestFenceNV driDispatchRemapTable[TestFenceNV_remap_index] -#define _gloffset_AreProgramsResidentNV driDispatchRemapTable[AreProgramsResidentNV_remap_index] -#define _gloffset_BindProgramNV driDispatchRemapTable[BindProgramNV_remap_index] -#define _gloffset_DeleteProgramsNV driDispatchRemapTable[DeleteProgramsNV_remap_index] -#define _gloffset_ExecuteProgramNV driDispatchRemapTable[ExecuteProgramNV_remap_index] -#define _gloffset_GenProgramsNV driDispatchRemapTable[GenProgramsNV_remap_index] -#define _gloffset_GetProgramParameterdvNV driDispatchRemapTable[GetProgramParameterdvNV_remap_index] -#define _gloffset_GetProgramParameterfvNV driDispatchRemapTable[GetProgramParameterfvNV_remap_index] -#define _gloffset_GetProgramStringNV driDispatchRemapTable[GetProgramStringNV_remap_index] -#define _gloffset_GetProgramivNV driDispatchRemapTable[GetProgramivNV_remap_index] -#define _gloffset_GetTrackMatrixivNV driDispatchRemapTable[GetTrackMatrixivNV_remap_index] -#define _gloffset_GetVertexAttribPointervNV driDispatchRemapTable[GetVertexAttribPointervNV_remap_index] -#define _gloffset_GetVertexAttribdvNV driDispatchRemapTable[GetVertexAttribdvNV_remap_index] -#define _gloffset_GetVertexAttribfvNV driDispatchRemapTable[GetVertexAttribfvNV_remap_index] -#define _gloffset_GetVertexAttribivNV driDispatchRemapTable[GetVertexAttribivNV_remap_index] -#define _gloffset_IsProgramNV driDispatchRemapTable[IsProgramNV_remap_index] -#define _gloffset_LoadProgramNV driDispatchRemapTable[LoadProgramNV_remap_index] -#define _gloffset_ProgramParameters4dvNV driDispatchRemapTable[ProgramParameters4dvNV_remap_index] -#define _gloffset_ProgramParameters4fvNV driDispatchRemapTable[ProgramParameters4fvNV_remap_index] -#define _gloffset_RequestResidentProgramsNV driDispatchRemapTable[RequestResidentProgramsNV_remap_index] -#define _gloffset_TrackMatrixNV driDispatchRemapTable[TrackMatrixNV_remap_index] -#define _gloffset_VertexAttrib1dNV driDispatchRemapTable[VertexAttrib1dNV_remap_index] -#define _gloffset_VertexAttrib1dvNV driDispatchRemapTable[VertexAttrib1dvNV_remap_index] -#define _gloffset_VertexAttrib1fNV driDispatchRemapTable[VertexAttrib1fNV_remap_index] -#define _gloffset_VertexAttrib1fvNV driDispatchRemapTable[VertexAttrib1fvNV_remap_index] -#define _gloffset_VertexAttrib1sNV driDispatchRemapTable[VertexAttrib1sNV_remap_index] -#define _gloffset_VertexAttrib1svNV driDispatchRemapTable[VertexAttrib1svNV_remap_index] -#define _gloffset_VertexAttrib2dNV driDispatchRemapTable[VertexAttrib2dNV_remap_index] -#define _gloffset_VertexAttrib2dvNV driDispatchRemapTable[VertexAttrib2dvNV_remap_index] -#define _gloffset_VertexAttrib2fNV driDispatchRemapTable[VertexAttrib2fNV_remap_index] -#define _gloffset_VertexAttrib2fvNV driDispatchRemapTable[VertexAttrib2fvNV_remap_index] -#define _gloffset_VertexAttrib2sNV driDispatchRemapTable[VertexAttrib2sNV_remap_index] -#define _gloffset_VertexAttrib2svNV driDispatchRemapTable[VertexAttrib2svNV_remap_index] -#define _gloffset_VertexAttrib3dNV driDispatchRemapTable[VertexAttrib3dNV_remap_index] -#define _gloffset_VertexAttrib3dvNV driDispatchRemapTable[VertexAttrib3dvNV_remap_index] -#define _gloffset_VertexAttrib3fNV driDispatchRemapTable[VertexAttrib3fNV_remap_index] -#define _gloffset_VertexAttrib3fvNV driDispatchRemapTable[VertexAttrib3fvNV_remap_index] -#define _gloffset_VertexAttrib3sNV driDispatchRemapTable[VertexAttrib3sNV_remap_index] -#define _gloffset_VertexAttrib3svNV driDispatchRemapTable[VertexAttrib3svNV_remap_index] -#define _gloffset_VertexAttrib4dNV driDispatchRemapTable[VertexAttrib4dNV_remap_index] -#define _gloffset_VertexAttrib4dvNV driDispatchRemapTable[VertexAttrib4dvNV_remap_index] -#define _gloffset_VertexAttrib4fNV driDispatchRemapTable[VertexAttrib4fNV_remap_index] -#define _gloffset_VertexAttrib4fvNV driDispatchRemapTable[VertexAttrib4fvNV_remap_index] -#define _gloffset_VertexAttrib4sNV driDispatchRemapTable[VertexAttrib4sNV_remap_index] -#define _gloffset_VertexAttrib4svNV driDispatchRemapTable[VertexAttrib4svNV_remap_index] -#define _gloffset_VertexAttrib4ubNV driDispatchRemapTable[VertexAttrib4ubNV_remap_index] -#define _gloffset_VertexAttrib4ubvNV driDispatchRemapTable[VertexAttrib4ubvNV_remap_index] -#define _gloffset_VertexAttribPointerNV driDispatchRemapTable[VertexAttribPointerNV_remap_index] -#define _gloffset_VertexAttribs1dvNV driDispatchRemapTable[VertexAttribs1dvNV_remap_index] -#define _gloffset_VertexAttribs1fvNV driDispatchRemapTable[VertexAttribs1fvNV_remap_index] -#define _gloffset_VertexAttribs1svNV driDispatchRemapTable[VertexAttribs1svNV_remap_index] -#define _gloffset_VertexAttribs2dvNV driDispatchRemapTable[VertexAttribs2dvNV_remap_index] -#define _gloffset_VertexAttribs2fvNV driDispatchRemapTable[VertexAttribs2fvNV_remap_index] -#define _gloffset_VertexAttribs2svNV driDispatchRemapTable[VertexAttribs2svNV_remap_index] -#define _gloffset_VertexAttribs3dvNV driDispatchRemapTable[VertexAttribs3dvNV_remap_index] -#define _gloffset_VertexAttribs3fvNV driDispatchRemapTable[VertexAttribs3fvNV_remap_index] -#define _gloffset_VertexAttribs3svNV driDispatchRemapTable[VertexAttribs3svNV_remap_index] -#define _gloffset_VertexAttribs4dvNV driDispatchRemapTable[VertexAttribs4dvNV_remap_index] -#define _gloffset_VertexAttribs4fvNV driDispatchRemapTable[VertexAttribs4fvNV_remap_index] -#define _gloffset_VertexAttribs4svNV driDispatchRemapTable[VertexAttribs4svNV_remap_index] -#define _gloffset_VertexAttribs4ubvNV driDispatchRemapTable[VertexAttribs4ubvNV_remap_index] -#define _gloffset_GetTexBumpParameterfvATI driDispatchRemapTable[GetTexBumpParameterfvATI_remap_index] -#define _gloffset_GetTexBumpParameterivATI driDispatchRemapTable[GetTexBumpParameterivATI_remap_index] -#define _gloffset_TexBumpParameterfvATI driDispatchRemapTable[TexBumpParameterfvATI_remap_index] -#define _gloffset_TexBumpParameterivATI driDispatchRemapTable[TexBumpParameterivATI_remap_index] -#define _gloffset_AlphaFragmentOp1ATI driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index] -#define _gloffset_AlphaFragmentOp2ATI driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index] -#define _gloffset_AlphaFragmentOp3ATI driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index] -#define _gloffset_BeginFragmentShaderATI driDispatchRemapTable[BeginFragmentShaderATI_remap_index] -#define _gloffset_BindFragmentShaderATI driDispatchRemapTable[BindFragmentShaderATI_remap_index] -#define _gloffset_ColorFragmentOp1ATI driDispatchRemapTable[ColorFragmentOp1ATI_remap_index] -#define _gloffset_ColorFragmentOp2ATI driDispatchRemapTable[ColorFragmentOp2ATI_remap_index] -#define _gloffset_ColorFragmentOp3ATI driDispatchRemapTable[ColorFragmentOp3ATI_remap_index] -#define _gloffset_DeleteFragmentShaderATI driDispatchRemapTable[DeleteFragmentShaderATI_remap_index] -#define _gloffset_EndFragmentShaderATI driDispatchRemapTable[EndFragmentShaderATI_remap_index] -#define _gloffset_GenFragmentShadersATI driDispatchRemapTable[GenFragmentShadersATI_remap_index] -#define _gloffset_PassTexCoordATI driDispatchRemapTable[PassTexCoordATI_remap_index] -#define _gloffset_SampleMapATI driDispatchRemapTable[SampleMapATI_remap_index] -#define _gloffset_SetFragmentShaderConstantATI driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index] -#define _gloffset_PointParameteriNV driDispatchRemapTable[PointParameteriNV_remap_index] -#define _gloffset_PointParameterivNV driDispatchRemapTable[PointParameterivNV_remap_index] -#define _gloffset_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index] -#define _gloffset_BindVertexArrayAPPLE driDispatchRemapTable[BindVertexArrayAPPLE_remap_index] -#define _gloffset_DeleteVertexArraysAPPLE driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index] -#define _gloffset_GenVertexArraysAPPLE driDispatchRemapTable[GenVertexArraysAPPLE_remap_index] -#define _gloffset_IsVertexArrayAPPLE driDispatchRemapTable[IsVertexArrayAPPLE_remap_index] -#define _gloffset_GetProgramNamedParameterdvNV driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index] -#define _gloffset_GetProgramNamedParameterfvNV driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index] -#define _gloffset_ProgramNamedParameter4dNV driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index] -#define _gloffset_ProgramNamedParameter4dvNV driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index] -#define _gloffset_ProgramNamedParameter4fNV driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index] -#define _gloffset_ProgramNamedParameter4fvNV driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index] -#define _gloffset_PrimitiveRestartIndexNV driDispatchRemapTable[PrimitiveRestartIndexNV_remap_index] -#define _gloffset_PrimitiveRestartNV driDispatchRemapTable[PrimitiveRestartNV_remap_index] -#define _gloffset_DepthBoundsEXT driDispatchRemapTable[DepthBoundsEXT_remap_index] -#define _gloffset_BlendEquationSeparateEXT driDispatchRemapTable[BlendEquationSeparateEXT_remap_index] -#define _gloffset_BindFramebufferEXT driDispatchRemapTable[BindFramebufferEXT_remap_index] -#define _gloffset_BindRenderbufferEXT driDispatchRemapTable[BindRenderbufferEXT_remap_index] -#define _gloffset_CheckFramebufferStatusEXT driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index] -#define _gloffset_DeleteFramebuffersEXT driDispatchRemapTable[DeleteFramebuffersEXT_remap_index] -#define _gloffset_DeleteRenderbuffersEXT driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index] -#define _gloffset_FramebufferRenderbufferEXT driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index] -#define _gloffset_FramebufferTexture1DEXT driDispatchRemapTable[FramebufferTexture1DEXT_remap_index] -#define _gloffset_FramebufferTexture2DEXT driDispatchRemapTable[FramebufferTexture2DEXT_remap_index] -#define _gloffset_FramebufferTexture3DEXT driDispatchRemapTable[FramebufferTexture3DEXT_remap_index] -#define _gloffset_GenFramebuffersEXT driDispatchRemapTable[GenFramebuffersEXT_remap_index] -#define _gloffset_GenRenderbuffersEXT driDispatchRemapTable[GenRenderbuffersEXT_remap_index] -#define _gloffset_GenerateMipmapEXT driDispatchRemapTable[GenerateMipmapEXT_remap_index] -#define _gloffset_GetFramebufferAttachmentParameterivEXT driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_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_BufferParameteriAPPLE driDispatchRemapTable[BufferParameteriAPPLE_remap_index] -#define _gloffset_FlushMappedBufferRangeAPPLE driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index] -#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index] -#define _gloffset_ColorMaskIndexedEXT driDispatchRemapTable[ColorMaskIndexedEXT_remap_index] -#define _gloffset_DisableIndexedEXT driDispatchRemapTable[DisableIndexedEXT_remap_index] -#define _gloffset_EnableIndexedEXT driDispatchRemapTable[EnableIndexedEXT_remap_index] -#define _gloffset_GetBooleanIndexedvEXT driDispatchRemapTable[GetBooleanIndexedvEXT_remap_index] -#define _gloffset_GetIntegerIndexedvEXT driDispatchRemapTable[GetIntegerIndexedvEXT_remap_index] -#define _gloffset_IsEnabledIndexedEXT driDispatchRemapTable[IsEnabledIndexedEXT_remap_index] -#define _gloffset_ClearColorIiEXT driDispatchRemapTable[ClearColorIiEXT_remap_index] -#define _gloffset_ClearColorIuiEXT driDispatchRemapTable[ClearColorIuiEXT_remap_index] -#define _gloffset_GetTexParameterIivEXT driDispatchRemapTable[GetTexParameterIivEXT_remap_index] -#define _gloffset_GetTexParameterIuivEXT driDispatchRemapTable[GetTexParameterIuivEXT_remap_index] -#define _gloffset_TexParameterIivEXT driDispatchRemapTable[TexParameterIivEXT_remap_index] -#define _gloffset_TexParameterIuivEXT driDispatchRemapTable[TexParameterIuivEXT_remap_index] -#define _gloffset_BeginConditionalRenderNV driDispatchRemapTable[BeginConditionalRenderNV_remap_index] -#define _gloffset_EndConditionalRenderNV driDispatchRemapTable[EndConditionalRenderNV_remap_index] -#define _gloffset_BeginTransformFeedbackEXT driDispatchRemapTable[BeginTransformFeedbackEXT_remap_index] -#define _gloffset_BindBufferBaseEXT driDispatchRemapTable[BindBufferBaseEXT_remap_index] -#define _gloffset_BindBufferOffsetEXT driDispatchRemapTable[BindBufferOffsetEXT_remap_index] -#define _gloffset_BindBufferRangeEXT driDispatchRemapTable[BindBufferRangeEXT_remap_index] -#define _gloffset_EndTransformFeedbackEXT driDispatchRemapTable[EndTransformFeedbackEXT_remap_index] -#define _gloffset_GetTransformFeedbackVaryingEXT driDispatchRemapTable[GetTransformFeedbackVaryingEXT_remap_index] -#define _gloffset_TransformFeedbackVaryingsEXT driDispatchRemapTable[TransformFeedbackVaryingsEXT_remap_index] -#define _gloffset_ProvokingVertexEXT driDispatchRemapTable[ProvokingVertexEXT_remap_index] -#define _gloffset_GetTexParameterPointervAPPLE driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index] -#define _gloffset_TextureRangeAPPLE driDispatchRemapTable[TextureRangeAPPLE_remap_index] -#define _gloffset_GetObjectParameterivAPPLE driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index] -#define _gloffset_ObjectPurgeableAPPLE driDispatchRemapTable[ObjectPurgeableAPPLE_remap_index] -#define _gloffset_ObjectUnpurgeableAPPLE driDispatchRemapTable[ObjectUnpurgeableAPPLE_remap_index] -#define _gloffset_ActiveProgramEXT driDispatchRemapTable[ActiveProgramEXT_remap_index] -#define _gloffset_CreateShaderProgramEXT driDispatchRemapTable[CreateShaderProgramEXT_remap_index] -#define _gloffset_UseShaderProgramEXT driDispatchRemapTable[UseShaderProgramEXT_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] -#define _gloffset_EGLImageTargetRenderbufferStorageOES driDispatchRemapTable[EGLImageTargetRenderbufferStorageOES_remap_index] -#define _gloffset_EGLImageTargetTexture2DOES driDispatchRemapTable[EGLImageTargetTexture2DOES_remap_index] - -#endif /* !defined(_GLAPI_USE_REMAP_TABLE) */ - -#endif /* !defined( _GLAPI_OFFSETS_H_ ) */ diff --git a/src/mapi/glapi/glapitable.h b/src/mapi/glapi/glapitable.h index 6f138634e28..62f3efc85e4 100644 --- a/src/mapi/glapi/glapitable.h +++ b/src/mapi/glapi/glapitable.h @@ -838,44 +838,78 @@ struct _glapi_table void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 795 */ void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 796 */ void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 797 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 798 */ - void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 799 */ - void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 800 */ - void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 801 */ - void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 802 */ - void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 803 */ - GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 804 */ - void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 805 */ - void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 806 */ - void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 807 */ - void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 808 */ - void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 809 */ - void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 810 */ - void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 811 */ - void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 812 */ - void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 813 */ - void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 814 */ - void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 815 */ - void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 816 */ - void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 817 */ - void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 818 */ - void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 819 */ - void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 820 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 821 */ - void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 822 */ - void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 823 */ - GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 824 */ - GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 825 */ - void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 826 */ - GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 827 */ - void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 828 */ - void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 829 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 830 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 831 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 832 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 833 */ - void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 834 */ - void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 835 */ + void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 798 */ + GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 799 */ + void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 800 */ + void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 801 */ + void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 802 */ + void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint v0); /* 803 */ + void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 804 */ + void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint v0, GLuint v1); /* 805 */ + void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 806 */ + void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2); /* 807 */ + void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 808 */ + void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); /* 809 */ + void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 810 */ + void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 811 */ + void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 812 */ + void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 813 */ + void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 814 */ + void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 815 */ + void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 816 */ + void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 817 */ + void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 818 */ + void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 819 */ + void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 820 */ + void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 821 */ + void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 822 */ + void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 823 */ + void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 824 */ + void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 825 */ + void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 826 */ + void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 827 */ + void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 828 */ + void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 829 */ + void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 830 */ + void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 831 */ + void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 832 */ + void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 833 */ + void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 834 */ + void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 835 */ + void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 836 */ + void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 837 */ + GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 838 */ + void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 839 */ + void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 840 */ + void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 841 */ + void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 842 */ + void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 843 */ + void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 844 */ + void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 845 */ + void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 846 */ + void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 847 */ + void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 848 */ + void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 849 */ + void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 850 */ + void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 851 */ + void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 852 */ + void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 853 */ + void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 854 */ + void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 855 */ + void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 856 */ + void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 857 */ + GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 858 */ + GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 859 */ + void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 860 */ + GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 861 */ + void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 862 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 863 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 864 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 865 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 866 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 867 */ + void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 868 */ + void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 869 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/src/mapi/glapi/glapitemp.h b/src/mapi/glapi/glapitemp.h index 455d3e09623..42790bd900b 100644 --- a/src/mapi/glapi/glapitemp.h +++ b/src/mapi/glapi/glapitemp.h @@ -5579,6 +5579,176 @@ KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_797)(GLenum target, GLintptr offs DISPATCH(FlushMappedBufferRangeAPPLE, (target, offset, size), (F, "glFlushMappedBufferRangeAPPLE(0x%x, %d, %d);\n", target, offset, size)); } +KEYWORD1 void KEYWORD2 NAME(BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name) +{ + DISPATCH(BindFragDataLocationEXT, (program, colorNumber, name), (F, "glBindFragDataLocationEXT(%d, %d, %p);\n", program, colorNumber, (const void *) name)); +} + +KEYWORD1 GLint KEYWORD2 NAME(GetFragDataLocationEXT)(GLuint program, const GLchar * name) +{ + RETURN_DISPATCH(GetFragDataLocationEXT, (program, name), (F, "glGetFragDataLocationEXT(%d, %p);\n", program, (const void *) name)); +} + +KEYWORD1 void KEYWORD2 NAME(GetUniformuivEXT)(GLuint program, GLint location, GLuint * params) +{ + DISPATCH(GetUniformuivEXT, (program, location, params), (F, "glGetUniformuivEXT(%d, %d, %p);\n", program, location, (const void *) params)); +} + +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params) +{ + DISPATCH(GetVertexAttribIivEXT, (index, pname, params), (F, "glGetVertexAttribIivEXT(%d, 0x%x, %p);\n", index, pname, (const void *) params)); +} + +KEYWORD1 void KEYWORD2 NAME(GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params) +{ + DISPATCH(GetVertexAttribIuivEXT, (index, pname, params), (F, "glGetVertexAttribIuivEXT(%d, 0x%x, %p);\n", index, pname, (const void *) params)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform1uiEXT)(GLint location, GLuint v0) +{ + DISPATCH(Uniform1uiEXT, (location, v0), (F, "glUniform1uiEXT(%d, %d);\n", location, v0)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value) +{ + DISPATCH(Uniform1uivEXT, (location, count, value), (F, "glUniform1uivEXT(%d, %d, %p);\n", location, count, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform2uiEXT)(GLint location, GLuint v0, GLuint v1) +{ + DISPATCH(Uniform2uiEXT, (location, v0, v1), (F, "glUniform2uiEXT(%d, %d, %d);\n", location, v0, v1)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value) +{ + DISPATCH(Uniform2uivEXT, (location, count, value), (F, "glUniform2uivEXT(%d, %d, %p);\n", location, count, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform3uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2) +{ + DISPATCH(Uniform3uiEXT, (location, v0, v1, v2), (F, "glUniform3uiEXT(%d, %d, %d, %d);\n", location, v0, v1, v2)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value) +{ + DISPATCH(Uniform3uivEXT, (location, count, value), (F, "glUniform3uivEXT(%d, %d, %p);\n", location, count, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform4uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) +{ + DISPATCH(Uniform4uiEXT, (location, v0, v1, v2, v3), (F, "glUniform4uiEXT(%d, %d, %d, %d, %d);\n", location, v0, v1, v2, v3)); +} + +KEYWORD1 void KEYWORD2 NAME(Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value) +{ + DISPATCH(Uniform4uivEXT, (location, count, value), (F, "glUniform4uivEXT(%d, %d, %p);\n", location, count, (const void *) value)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI1iEXT)(GLuint index, GLint x) +{ + DISPATCH(VertexAttribI1iEXT, (index, x), (F, "glVertexAttribI1iEXT(%d, %d);\n", index, x)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI1ivEXT)(GLuint index, const GLint * v) +{ + DISPATCH(VertexAttribI1ivEXT, (index, v), (F, "glVertexAttribI1ivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI1uiEXT)(GLuint index, GLuint x) +{ + DISPATCH(VertexAttribI1uiEXT, (index, x), (F, "glVertexAttribI1uiEXT(%d, %d);\n", index, x)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI1uivEXT)(GLuint index, const GLuint * v) +{ + DISPATCH(VertexAttribI1uivEXT, (index, v), (F, "glVertexAttribI1uivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI2iEXT)(GLuint index, GLint x, GLint y) +{ + DISPATCH(VertexAttribI2iEXT, (index, x, y), (F, "glVertexAttribI2iEXT(%d, %d, %d);\n", index, x, y)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI2ivEXT)(GLuint index, const GLint * v) +{ + DISPATCH(VertexAttribI2ivEXT, (index, v), (F, "glVertexAttribI2ivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y) +{ + DISPATCH(VertexAttribI2uiEXT, (index, x, y), (F, "glVertexAttribI2uiEXT(%d, %d, %d);\n", index, x, y)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI2uivEXT)(GLuint index, const GLuint * v) +{ + DISPATCH(VertexAttribI2uivEXT, (index, v), (F, "glVertexAttribI2uivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z) +{ + DISPATCH(VertexAttribI3iEXT, (index, x, y, z), (F, "glVertexAttribI3iEXT(%d, %d, %d, %d);\n", index, x, y, z)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI3ivEXT)(GLuint index, const GLint * v) +{ + DISPATCH(VertexAttribI3ivEXT, (index, v), (F, "glVertexAttribI3ivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z) +{ + DISPATCH(VertexAttribI3uiEXT, (index, x, y, z), (F, "glVertexAttribI3uiEXT(%d, %d, %d, %d);\n", index, x, y, z)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI3uivEXT)(GLuint index, const GLuint * v) +{ + DISPATCH(VertexAttribI3uivEXT, (index, v), (F, "glVertexAttribI3uivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4bvEXT)(GLuint index, const GLbyte * v) +{ + DISPATCH(VertexAttribI4bvEXT, (index, v), (F, "glVertexAttribI4bvEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w) +{ + DISPATCH(VertexAttribI4iEXT, (index, x, y, z, w), (F, "glVertexAttribI4iEXT(%d, %d, %d, %d, %d);\n", index, x, y, z, w)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4ivEXT)(GLuint index, const GLint * v) +{ + DISPATCH(VertexAttribI4ivEXT, (index, v), (F, "glVertexAttribI4ivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4svEXT)(GLuint index, const GLshort * v) +{ + DISPATCH(VertexAttribI4svEXT, (index, v), (F, "glVertexAttribI4svEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v) +{ + DISPATCH(VertexAttribI4ubvEXT, (index, v), (F, "glVertexAttribI4ubvEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) +{ + DISPATCH(VertexAttribI4uiEXT, (index, x, y, z, w), (F, "glVertexAttribI4uiEXT(%d, %d, %d, %d, %d);\n", index, x, y, z, w)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4uivEXT)(GLuint index, const GLuint * v) +{ + DISPATCH(VertexAttribI4uivEXT, (index, v), (F, "glVertexAttribI4uivEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribI4usvEXT)(GLuint index, const GLushort * v) +{ + DISPATCH(VertexAttribI4usvEXT, (index, v), (F, "glVertexAttribI4usvEXT(%d, %p);\n", index, (const void *) v)); +} + +KEYWORD1 void KEYWORD2 NAME(VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer) +{ + DISPATCH(VertexAttribIPointerEXT, (index, size, type, stride, pointer), (F, "glVertexAttribIPointerEXT(%d, %d, 0x%x, %d, %p);\n", index, size, type, stride, (const void *) pointer)); +} + KEYWORD1 void KEYWORD2 NAME(FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { DISPATCH(FramebufferTextureLayerEXT, (target, attachment, texture, level, layer), (F, "glFramebufferTextureLayer(0x%x, 0x%x, %d, %d, %d);\n", target, attachment, texture, level, layer)); @@ -5734,16 +5904,16 @@ KEYWORD1 void KEYWORD2 NAME(ProvokingVertex)(GLenum mode) DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertex(0x%x);\n", mode)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(GLenum target, GLenum pname, GLvoid ** params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_855)(GLenum target, GLenum pname, GLvoid ** params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(GLenum target, GLenum pname, GLvoid ** params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_855)(GLenum target, GLenum pname, GLvoid ** params) { DISPATCH(GetTexParameterPointervAPPLE, (target, pname, params), (F, "glGetTexParameterPointervAPPLE(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(GLenum target, GLsizei length, GLvoid * pointer); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_856)(GLenum target, GLsizei length, GLvoid * pointer); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(GLenum target, GLsizei length, GLvoid * pointer) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_856)(GLenum target, GLsizei length, GLvoid * pointer) { DISPATCH(TextureRangeAPPLE, (target, length, pointer), (F, "glTextureRangeAPPLE(0x%x, %d, %p);\n", target, length, (const void *) pointer)); } @@ -5778,37 +5948,37 @@ KEYWORD1 void KEYWORD2 NAME(UseShaderProgramEXT)(GLenum type, GLuint program) DISPATCH(UseShaderProgramEXT, (type, program), (F, "glUseShaderProgramEXT(0x%x, %d);\n", type, program)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_829)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_863)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_829)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_863)(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_830)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_864)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_830)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_864)(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_831)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_865)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_831)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_865)(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_832)(GLuint id, GLenum pname, GLint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_866)(GLuint id, GLenum pname, GLint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_832)(GLuint id, GLenum pname, GLint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_866)(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_833)(GLuint id, GLenum pname, GLuint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_867)(GLuint id, GLenum pname, GLuint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_833)(GLuint id, GLenum pname, GLuint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_867)(GLuint id, GLenum pname, GLuint64EXT * params) { DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } @@ -6774,6 +6944,40 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(_dispatch_stub_795), TABLE_ENTRY(_dispatch_stub_796), TABLE_ENTRY(_dispatch_stub_797), + TABLE_ENTRY(BindFragDataLocationEXT), + TABLE_ENTRY(GetFragDataLocationEXT), + TABLE_ENTRY(GetUniformuivEXT), + TABLE_ENTRY(GetVertexAttribIivEXT), + TABLE_ENTRY(GetVertexAttribIuivEXT), + TABLE_ENTRY(Uniform1uiEXT), + TABLE_ENTRY(Uniform1uivEXT), + TABLE_ENTRY(Uniform2uiEXT), + TABLE_ENTRY(Uniform2uivEXT), + TABLE_ENTRY(Uniform3uiEXT), + TABLE_ENTRY(Uniform3uivEXT), + TABLE_ENTRY(Uniform4uiEXT), + TABLE_ENTRY(Uniform4uivEXT), + TABLE_ENTRY(VertexAttribI1iEXT), + TABLE_ENTRY(VertexAttribI1ivEXT), + TABLE_ENTRY(VertexAttribI1uiEXT), + TABLE_ENTRY(VertexAttribI1uivEXT), + TABLE_ENTRY(VertexAttribI2iEXT), + TABLE_ENTRY(VertexAttribI2ivEXT), + TABLE_ENTRY(VertexAttribI2uiEXT), + TABLE_ENTRY(VertexAttribI2uivEXT), + TABLE_ENTRY(VertexAttribI3iEXT), + TABLE_ENTRY(VertexAttribI3ivEXT), + TABLE_ENTRY(VertexAttribI3uiEXT), + TABLE_ENTRY(VertexAttribI3uivEXT), + TABLE_ENTRY(VertexAttribI4bvEXT), + TABLE_ENTRY(VertexAttribI4iEXT), + TABLE_ENTRY(VertexAttribI4ivEXT), + TABLE_ENTRY(VertexAttribI4svEXT), + TABLE_ENTRY(VertexAttribI4ubvEXT), + TABLE_ENTRY(VertexAttribI4uiEXT), + TABLE_ENTRY(VertexAttribI4uivEXT), + TABLE_ENTRY(VertexAttribI4usvEXT), + TABLE_ENTRY(VertexAttribIPointerEXT), TABLE_ENTRY(FramebufferTextureLayerEXT), TABLE_ENTRY(ColorMaskIndexedEXT), TABLE_ENTRY(DisableIndexedEXT), @@ -6797,19 +7001,19 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetTransformFeedbackVaryingEXT), TABLE_ENTRY(TransformFeedbackVaryingsEXT), TABLE_ENTRY(ProvokingVertexEXT), - TABLE_ENTRY(_dispatch_stub_821), - TABLE_ENTRY(_dispatch_stub_822), + TABLE_ENTRY(_dispatch_stub_855), + TABLE_ENTRY(_dispatch_stub_856), TABLE_ENTRY(GetObjectParameterivAPPLE), TABLE_ENTRY(ObjectPurgeableAPPLE), TABLE_ENTRY(ObjectUnpurgeableAPPLE), TABLE_ENTRY(ActiveProgramEXT), TABLE_ENTRY(CreateShaderProgramEXT), TABLE_ENTRY(UseShaderProgramEXT), - TABLE_ENTRY(_dispatch_stub_829), - TABLE_ENTRY(_dispatch_stub_830), - TABLE_ENTRY(_dispatch_stub_831), - TABLE_ENTRY(_dispatch_stub_832), - TABLE_ENTRY(_dispatch_stub_833), + TABLE_ENTRY(_dispatch_stub_863), + TABLE_ENTRY(_dispatch_stub_864), + TABLE_ENTRY(_dispatch_stub_865), + TABLE_ENTRY(_dispatch_stub_866), + TABLE_ENTRY(_dispatch_stub_867), TABLE_ENTRY(EGLImageTargetRenderbufferStorageOES), TABLE_ENTRY(EGLImageTargetTexture2DOES), /* A whole bunch of no-op functions. These might be called diff --git a/src/mapi/glapi/glprocs.h b/src/mapi/glapi/glprocs.h index 34b93db3758..0ac42638d70 100644 --- a/src/mapi/glapi/glprocs.h +++ b/src/mapi/glapi/glprocs.h @@ -850,6 +850,40 @@ static const char gl_string_table[] = "glBlitFramebufferEXT\0" "glBufferParameteriAPPLE\0" "glFlushMappedBufferRangeAPPLE\0" + "glBindFragDataLocationEXT\0" + "glGetFragDataLocationEXT\0" + "glGetUniformuivEXT\0" + "glGetVertexAttribIivEXT\0" + "glGetVertexAttribIuivEXT\0" + "glUniform1uiEXT\0" + "glUniform1uivEXT\0" + "glUniform2uiEXT\0" + "glUniform2uivEXT\0" + "glUniform3uiEXT\0" + "glUniform3uivEXT\0" + "glUniform4uiEXT\0" + "glUniform4uivEXT\0" + "glVertexAttribI1iEXT\0" + "glVertexAttribI1ivEXT\0" + "glVertexAttribI1uiEXT\0" + "glVertexAttribI1uivEXT\0" + "glVertexAttribI2iEXT\0" + "glVertexAttribI2ivEXT\0" + "glVertexAttribI2uiEXT\0" + "glVertexAttribI2uivEXT\0" + "glVertexAttribI3iEXT\0" + "glVertexAttribI3ivEXT\0" + "glVertexAttribI3uiEXT\0" + "glVertexAttribI3uivEXT\0" + "glVertexAttribI4bvEXT\0" + "glVertexAttribI4iEXT\0" + "glVertexAttribI4ivEXT\0" + "glVertexAttribI4svEXT\0" + "glVertexAttribI4ubvEXT\0" + "glVertexAttribI4uiEXT\0" + "glVertexAttribI4uivEXT\0" + "glVertexAttribI4usvEXT\0" + "glVertexAttribIPointerEXT\0" "glFramebufferTextureLayerEXT\0" "glColorMaskIndexedEXT\0" "glDisableIndexedEXT\0" @@ -1245,13 +1279,13 @@ static const char gl_string_table[] = #define gl_dispatch_stub_795 mgl_dispatch_stub_795 #define gl_dispatch_stub_796 mgl_dispatch_stub_796 #define gl_dispatch_stub_797 mgl_dispatch_stub_797 -#define gl_dispatch_stub_821 mgl_dispatch_stub_821 -#define gl_dispatch_stub_822 mgl_dispatch_stub_822 -#define gl_dispatch_stub_829 mgl_dispatch_stub_829 -#define gl_dispatch_stub_830 mgl_dispatch_stub_830 -#define gl_dispatch_stub_831 mgl_dispatch_stub_831 -#define gl_dispatch_stub_832 mgl_dispatch_stub_832 -#define gl_dispatch_stub_833 mgl_dispatch_stub_833 +#define gl_dispatch_stub_855 mgl_dispatch_stub_855 +#define gl_dispatch_stub_856 mgl_dispatch_stub_856 +#define gl_dispatch_stub_863 mgl_dispatch_stub_863 +#define gl_dispatch_stub_864 mgl_dispatch_stub_864 +#define gl_dispatch_stub_865 mgl_dispatch_stub_865 +#define gl_dispatch_stub_866 mgl_dispatch_stub_866 +#define gl_dispatch_stub_867 mgl_dispatch_stub_867 #endif /* USE_MGL_NAMESPACE */ @@ -1297,1164 +1331,1198 @@ void GLAPIENTRY gl_dispatch_stub_777(GLenum modeRGB, GLenum modeA); void GLAPIENTRY gl_dispatch_stub_795(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); void GLAPIENTRY gl_dispatch_stub_796(GLenum target, GLenum pname, GLint param); void GLAPIENTRY gl_dispatch_stub_797(GLenum target, GLintptr offset, GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_821(GLenum target, GLenum pname, GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_822(GLenum target, GLsizei length, GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_829(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_830(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_831(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_832(GLuint id, GLenum pname, GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_833(GLuint id, GLenum pname, GLuint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_855(GLenum target, GLenum pname, GLvoid ** params); +void GLAPIENTRY gl_dispatch_stub_856(GLenum target, GLsizei length, GLvoid * pointer); +void GLAPIENTRY gl_dispatch_stub_863(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void GLAPIENTRY gl_dispatch_stub_864(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_865(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_866(GLuint id, GLenum pname, GLint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_867(GLuint id, GLenum pname, GLuint64EXT * params); #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { - 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, glDrawArraysInstanced, glDrawArraysInstanced, NULL, _gloffset_DrawArraysInstanced), - NAME_FUNC_OFFSET( 6185, glDrawElementsInstanced, glDrawElementsInstanced, NULL, _gloffset_DrawElementsInstanced), - NAME_FUNC_OFFSET( 6209, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), - NAME_FUNC_OFFSET( 6235, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), - NAME_FUNC_OFFSET( 6261, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), - NAME_FUNC_OFFSET( 6287, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), - NAME_FUNC_OFFSET( 6313, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), - NAME_FUNC_OFFSET( 6333, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), - NAME_FUNC_OFFSET( 6359, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), - NAME_FUNC_OFFSET( 6385, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), - NAME_FUNC_OFFSET( 6411, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), - NAME_FUNC_OFFSET( 6440, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), - NAME_FUNC_OFFSET( 6469, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), - NAME_FUNC_OFFSET( 6498, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), - NAME_FUNC_OFFSET( 6525, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), - NAME_FUNC_OFFSET( 6555, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), - NAME_FUNC_OFFSET( 6584, glGetProgramEnvParameterdvARB, glGetProgramEnvParameterdvARB, NULL, _gloffset_GetProgramEnvParameterdvARB), - NAME_FUNC_OFFSET( 6614, glGetProgramEnvParameterfvARB, glGetProgramEnvParameterfvARB, NULL, _gloffset_GetProgramEnvParameterfvARB), - NAME_FUNC_OFFSET( 6644, glGetProgramLocalParameterdvARB, glGetProgramLocalParameterdvARB, NULL, _gloffset_GetProgramLocalParameterdvARB), - NAME_FUNC_OFFSET( 6676, glGetProgramLocalParameterfvARB, glGetProgramLocalParameterfvARB, NULL, _gloffset_GetProgramLocalParameterfvARB), - NAME_FUNC_OFFSET( 6708, glGetProgramStringARB, glGetProgramStringARB, NULL, _gloffset_GetProgramStringARB), - NAME_FUNC_OFFSET( 6730, glGetProgramivARB, glGetProgramivARB, NULL, _gloffset_GetProgramivARB), - NAME_FUNC_OFFSET( 6748, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), - NAME_FUNC_OFFSET( 6771, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), - NAME_FUNC_OFFSET( 6794, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), - NAME_FUNC_OFFSET( 6817, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), - NAME_FUNC_OFFSET( 6844, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), - NAME_FUNC_OFFSET( 6872, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), - NAME_FUNC_OFFSET( 6899, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), - NAME_FUNC_OFFSET( 6927, glProgramLocalParameter4dARB, glProgramLocalParameter4dARB, NULL, _gloffset_ProgramLocalParameter4dARB), - NAME_FUNC_OFFSET( 6956, glProgramLocalParameter4dvARB, glProgramLocalParameter4dvARB, NULL, _gloffset_ProgramLocalParameter4dvARB), - NAME_FUNC_OFFSET( 6986, glProgramLocalParameter4fARB, glProgramLocalParameter4fARB, NULL, _gloffset_ProgramLocalParameter4fARB), - NAME_FUNC_OFFSET( 7015, glProgramLocalParameter4fvARB, glProgramLocalParameter4fvARB, NULL, _gloffset_ProgramLocalParameter4fvARB), - NAME_FUNC_OFFSET( 7045, glProgramStringARB, glProgramStringARB, NULL, _gloffset_ProgramStringARB), - NAME_FUNC_OFFSET( 7064, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), - NAME_FUNC_OFFSET( 7084, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), - NAME_FUNC_OFFSET( 7105, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), - NAME_FUNC_OFFSET( 7125, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), - NAME_FUNC_OFFSET( 7146, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), - NAME_FUNC_OFFSET( 7166, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), - NAME_FUNC_OFFSET( 7187, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), - NAME_FUNC_OFFSET( 7207, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), - NAME_FUNC_OFFSET( 7228, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), - NAME_FUNC_OFFSET( 7248, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), - NAME_FUNC_OFFSET( 7269, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), - NAME_FUNC_OFFSET( 7289, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), - NAME_FUNC_OFFSET( 7310, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), - NAME_FUNC_OFFSET( 7330, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), - NAME_FUNC_OFFSET( 7351, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), - NAME_FUNC_OFFSET( 7371, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), - NAME_FUNC_OFFSET( 7392, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), - NAME_FUNC_OFFSET( 7412, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), - NAME_FUNC_OFFSET( 7433, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), - NAME_FUNC_OFFSET( 7455, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), - NAME_FUNC_OFFSET( 7477, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), - NAME_FUNC_OFFSET( 7499, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), - NAME_FUNC_OFFSET( 7521, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), - NAME_FUNC_OFFSET( 7544, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), - NAME_FUNC_OFFSET( 7567, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), - NAME_FUNC_OFFSET( 7590, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), - NAME_FUNC_OFFSET( 7611, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), - NAME_FUNC_OFFSET( 7631, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), - NAME_FUNC_OFFSET( 7652, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), - NAME_FUNC_OFFSET( 7672, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), - NAME_FUNC_OFFSET( 7693, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), - NAME_FUNC_OFFSET( 7714, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), - NAME_FUNC_OFFSET( 7734, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), - NAME_FUNC_OFFSET( 7755, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), - NAME_FUNC_OFFSET( 7777, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), - NAME_FUNC_OFFSET( 7799, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), - NAME_FUNC_OFFSET( 7821, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), - NAME_FUNC_OFFSET( 7846, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), - NAME_FUNC_OFFSET( 7862, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), - NAME_FUNC_OFFSET( 7878, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), - NAME_FUNC_OFFSET( 7897, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), - NAME_FUNC_OFFSET( 7916, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), - NAME_FUNC_OFFSET( 7932, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), - NAME_FUNC_OFFSET( 7958, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), - NAME_FUNC_OFFSET( 7981, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), - NAME_FUNC_OFFSET( 8003, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), - NAME_FUNC_OFFSET( 8017, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), - NAME_FUNC_OFFSET( 8032, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), - NAME_FUNC_OFFSET( 8049, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), - NAME_FUNC_OFFSET( 8065, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), - NAME_FUNC_OFFSET( 8084, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), - NAME_FUNC_OFFSET( 8098, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), - NAME_FUNC_OFFSET( 8114, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), - NAME_FUNC_OFFSET( 8136, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), - NAME_FUNC_OFFSET( 8159, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), - NAME_FUNC_OFFSET( 8175, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), - NAME_FUNC_OFFSET( 8188, glAttachObjectARB, glAttachObjectARB, NULL, _gloffset_AttachObjectARB), - NAME_FUNC_OFFSET( 8206, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), - NAME_FUNC_OFFSET( 8225, glCreateProgramObjectARB, glCreateProgramObjectARB, NULL, _gloffset_CreateProgramObjectARB), - NAME_FUNC_OFFSET( 8250, glCreateShaderObjectARB, glCreateShaderObjectARB, NULL, _gloffset_CreateShaderObjectARB), - NAME_FUNC_OFFSET( 8274, glDeleteObjectARB, glDeleteObjectARB, NULL, _gloffset_DeleteObjectARB), - NAME_FUNC_OFFSET( 8292, glDetachObjectARB, glDetachObjectARB, NULL, _gloffset_DetachObjectARB), - NAME_FUNC_OFFSET( 8310, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), - NAME_FUNC_OFFSET( 8332, glGetAttachedObjectsARB, glGetAttachedObjectsARB, NULL, _gloffset_GetAttachedObjectsARB), - NAME_FUNC_OFFSET( 8356, glGetHandleARB, glGetHandleARB, NULL, _gloffset_GetHandleARB), - NAME_FUNC_OFFSET( 8371, glGetInfoLogARB, glGetInfoLogARB, NULL, _gloffset_GetInfoLogARB), - NAME_FUNC_OFFSET( 8387, glGetObjectParameterfvARB, glGetObjectParameterfvARB, NULL, _gloffset_GetObjectParameterfvARB), - NAME_FUNC_OFFSET( 8413, glGetObjectParameterivARB, glGetObjectParameterivARB, NULL, _gloffset_GetObjectParameterivARB), - NAME_FUNC_OFFSET( 8439, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), - NAME_FUNC_OFFSET( 8460, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), - NAME_FUNC_OFFSET( 8484, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), - NAME_FUNC_OFFSET( 8502, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), - NAME_FUNC_OFFSET( 8520, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), - NAME_FUNC_OFFSET( 8537, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), - NAME_FUNC_OFFSET( 8555, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), - NAME_FUNC_OFFSET( 8570, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), - NAME_FUNC_OFFSET( 8586, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), - NAME_FUNC_OFFSET( 8601, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), - NAME_FUNC_OFFSET( 8617, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), - NAME_FUNC_OFFSET( 8632, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), - NAME_FUNC_OFFSET( 8648, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), - NAME_FUNC_OFFSET( 8663, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), - NAME_FUNC_OFFSET( 8679, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), - NAME_FUNC_OFFSET( 8694, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), - NAME_FUNC_OFFSET( 8710, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), - NAME_FUNC_OFFSET( 8725, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), - NAME_FUNC_OFFSET( 8741, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), - NAME_FUNC_OFFSET( 8756, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), - NAME_FUNC_OFFSET( 8772, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), - NAME_FUNC_OFFSET( 8787, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), - NAME_FUNC_OFFSET( 8803, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), - NAME_FUNC_OFFSET( 8825, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), - NAME_FUNC_OFFSET( 8847, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), - NAME_FUNC_OFFSET( 8869, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), - NAME_FUNC_OFFSET( 8891, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), - NAME_FUNC_OFFSET( 8912, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), - NAME_FUNC_OFFSET( 8936, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), - NAME_FUNC_OFFSET( 8957, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), - NAME_FUNC_OFFSET( 8980, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET( 8997, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, _gloffset_RenderbufferStorageMultisample), - NAME_FUNC_OFFSET( 9030, glFramebufferTextureARB, glFramebufferTextureARB, NULL, _gloffset_FramebufferTextureARB), - NAME_FUNC_OFFSET( 9054, glFramebufferTextureFaceARB, glFramebufferTextureFaceARB, NULL, _gloffset_FramebufferTextureFaceARB), - NAME_FUNC_OFFSET( 9082, glProgramParameteriARB, glProgramParameteriARB, NULL, _gloffset_ProgramParameteriARB), - NAME_FUNC_OFFSET( 9105, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, _gloffset_FlushMappedBufferRange), - NAME_FUNC_OFFSET( 9130, glMapBufferRange, glMapBufferRange, NULL, _gloffset_MapBufferRange), - NAME_FUNC_OFFSET( 9147, glBindVertexArray, glBindVertexArray, NULL, _gloffset_BindVertexArray), - NAME_FUNC_OFFSET( 9165, glGenVertexArrays, glGenVertexArrays, NULL, _gloffset_GenVertexArrays), - NAME_FUNC_OFFSET( 9183, glCopyBufferSubData, glCopyBufferSubData, NULL, _gloffset_CopyBufferSubData), - NAME_FUNC_OFFSET( 9203, glClientWaitSync, glClientWaitSync, NULL, _gloffset_ClientWaitSync), - NAME_FUNC_OFFSET( 9220, glDeleteSync, glDeleteSync, NULL, _gloffset_DeleteSync), - NAME_FUNC_OFFSET( 9233, glFenceSync, glFenceSync, NULL, _gloffset_FenceSync), - NAME_FUNC_OFFSET( 9245, glGetInteger64v, glGetInteger64v, NULL, _gloffset_GetInteger64v), - NAME_FUNC_OFFSET( 9261, glGetSynciv, glGetSynciv, NULL, _gloffset_GetSynciv), - NAME_FUNC_OFFSET( 9273, glIsSync, glIsSync, NULL, _gloffset_IsSync), - NAME_FUNC_OFFSET( 9282, glWaitSync, glWaitSync, NULL, _gloffset_WaitSync), - NAME_FUNC_OFFSET( 9293, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, _gloffset_DrawElementsBaseVertex), - NAME_FUNC_OFFSET( 9318, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, _gloffset_DrawRangeElementsBaseVertex), - NAME_FUNC_OFFSET( 9348, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, _gloffset_MultiDrawElementsBaseVertex), - NAME_FUNC_OFFSET( 9378, glBindTransformFeedback, glBindTransformFeedback, NULL, _gloffset_BindTransformFeedback), - NAME_FUNC_OFFSET( 9402, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, _gloffset_DeleteTransformFeedbacks), - NAME_FUNC_OFFSET( 9429, glDrawTransformFeedback, glDrawTransformFeedback, NULL, _gloffset_DrawTransformFeedback), - NAME_FUNC_OFFSET( 9453, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, _gloffset_GenTransformFeedbacks), - NAME_FUNC_OFFSET( 9477, glIsTransformFeedback, glIsTransformFeedback, NULL, _gloffset_IsTransformFeedback), - NAME_FUNC_OFFSET( 9499, glPauseTransformFeedback, glPauseTransformFeedback, NULL, _gloffset_PauseTransformFeedback), - NAME_FUNC_OFFSET( 9524, glResumeTransformFeedback, glResumeTransformFeedback, NULL, _gloffset_ResumeTransformFeedback), - NAME_FUNC_OFFSET( 9550, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, _gloffset_PolygonOffsetEXT), - NAME_FUNC_OFFSET( 9569, gl_dispatch_stub_590, gl_dispatch_stub_590, NULL, _gloffset_GetPixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9601, gl_dispatch_stub_591, gl_dispatch_stub_591, NULL, _gloffset_GetPixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9633, gl_dispatch_stub_592, gl_dispatch_stub_592, NULL, _gloffset_PixelTexGenParameterfSGIS), - NAME_FUNC_OFFSET( 9661, gl_dispatch_stub_593, gl_dispatch_stub_593, NULL, _gloffset_PixelTexGenParameterfvSGIS), - NAME_FUNC_OFFSET( 9690, gl_dispatch_stub_594, gl_dispatch_stub_594, NULL, _gloffset_PixelTexGenParameteriSGIS), - NAME_FUNC_OFFSET( 9718, gl_dispatch_stub_595, gl_dispatch_stub_595, NULL, _gloffset_PixelTexGenParameterivSGIS), - NAME_FUNC_OFFSET( 9747, gl_dispatch_stub_596, gl_dispatch_stub_596, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET( 9764, gl_dispatch_stub_597, gl_dispatch_stub_597, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET( 9784, glColorPointerEXT, glColorPointerEXT, NULL, _gloffset_ColorPointerEXT), - NAME_FUNC_OFFSET( 9802, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, _gloffset_EdgeFlagPointerEXT), - NAME_FUNC_OFFSET( 9823, glIndexPointerEXT, glIndexPointerEXT, NULL, _gloffset_IndexPointerEXT), - NAME_FUNC_OFFSET( 9841, glNormalPointerEXT, glNormalPointerEXT, NULL, _gloffset_NormalPointerEXT), - NAME_FUNC_OFFSET( 9860, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, _gloffset_TexCoordPointerEXT), - NAME_FUNC_OFFSET( 9881, glVertexPointerEXT, glVertexPointerEXT, NULL, _gloffset_VertexPointerEXT), - NAME_FUNC_OFFSET( 9900, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET( 9921, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET( 9943, glLockArraysEXT, glLockArraysEXT, NULL, _gloffset_LockArraysEXT), - NAME_FUNC_OFFSET( 9959, glUnlockArraysEXT, glUnlockArraysEXT, NULL, _gloffset_UnlockArraysEXT), - NAME_FUNC_OFFSET( 9977, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET( 9999, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET(10022, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET(10044, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET(10067, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET(10089, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET(10112, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET(10134, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET(10157, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET(10179, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET(10202, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET(10225, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET(10249, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET(10272, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET(10296, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET(10319, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET(10343, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET(10370, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET(10391, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET(10414, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(10435, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(10450, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(10466, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(10481, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(10497, gl_dispatch_stub_632, gl_dispatch_stub_632, NULL, _gloffset_PixelTexGenSGIX), - NAME_FUNC_OFFSET(10515, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(10538, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, _gloffset_FlushVertexArrayRangeNV), - NAME_FUNC_OFFSET(10564, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, _gloffset_VertexArrayRangeNV), - NAME_FUNC_OFFSET(10585, glCombinerInputNV, glCombinerInputNV, NULL, _gloffset_CombinerInputNV), - NAME_FUNC_OFFSET(10603, glCombinerOutputNV, glCombinerOutputNV, NULL, _gloffset_CombinerOutputNV), - NAME_FUNC_OFFSET(10622, glCombinerParameterfNV, glCombinerParameterfNV, NULL, _gloffset_CombinerParameterfNV), - NAME_FUNC_OFFSET(10645, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, _gloffset_CombinerParameterfvNV), - NAME_FUNC_OFFSET(10669, glCombinerParameteriNV, glCombinerParameteriNV, NULL, _gloffset_CombinerParameteriNV), - NAME_FUNC_OFFSET(10692, glCombinerParameterivNV, glCombinerParameterivNV, NULL, _gloffset_CombinerParameterivNV), - NAME_FUNC_OFFSET(10716, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, _gloffset_FinalCombinerInputNV), - NAME_FUNC_OFFSET(10739, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, _gloffset_GetCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10771, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, _gloffset_GetCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10803, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, _gloffset_GetCombinerOutputParameterfvNV), - NAME_FUNC_OFFSET(10836, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, _gloffset_GetCombinerOutputParameterivNV), - NAME_FUNC_OFFSET(10869, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, _gloffset_GetFinalCombinerInputParameterfvNV), - NAME_FUNC_OFFSET(10906, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, _gloffset_GetFinalCombinerInputParameterivNV), - NAME_FUNC_OFFSET(10943, glResizeBuffersMESA, glResizeBuffersMESA, NULL, _gloffset_ResizeBuffersMESA), - NAME_FUNC_OFFSET(10963, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(10981, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(11000, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(11018, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(11037, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(11055, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(11074, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(11092, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(11111, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(11129, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(11148, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(11166, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(11185, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(11203, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(11222, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(11240, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(11259, glWindowPos4dMESA, glWindowPos4dMESA, NULL, _gloffset_WindowPos4dMESA), - NAME_FUNC_OFFSET(11277, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, _gloffset_WindowPos4dvMESA), - NAME_FUNC_OFFSET(11296, glWindowPos4fMESA, glWindowPos4fMESA, NULL, _gloffset_WindowPos4fMESA), - NAME_FUNC_OFFSET(11314, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, _gloffset_WindowPos4fvMESA), - NAME_FUNC_OFFSET(11333, glWindowPos4iMESA, glWindowPos4iMESA, NULL, _gloffset_WindowPos4iMESA), - NAME_FUNC_OFFSET(11351, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, _gloffset_WindowPos4ivMESA), - NAME_FUNC_OFFSET(11370, glWindowPos4sMESA, glWindowPos4sMESA, NULL, _gloffset_WindowPos4sMESA), - NAME_FUNC_OFFSET(11388, glWindowPos4svMESA, glWindowPos4svMESA, NULL, _gloffset_WindowPos4svMESA), - NAME_FUNC_OFFSET(11407, gl_dispatch_stub_674, gl_dispatch_stub_674, NULL, _gloffset_MultiModeDrawArraysIBM), - NAME_FUNC_OFFSET(11432, gl_dispatch_stub_675, gl_dispatch_stub_675, NULL, _gloffset_MultiModeDrawElementsIBM), - NAME_FUNC_OFFSET(11459, gl_dispatch_stub_676, gl_dispatch_stub_676, NULL, _gloffset_DeleteFencesNV), - NAME_FUNC_OFFSET(11476, gl_dispatch_stub_677, gl_dispatch_stub_677, NULL, _gloffset_FinishFenceNV), - NAME_FUNC_OFFSET(11492, gl_dispatch_stub_678, gl_dispatch_stub_678, NULL, _gloffset_GenFencesNV), - NAME_FUNC_OFFSET(11506, gl_dispatch_stub_679, gl_dispatch_stub_679, NULL, _gloffset_GetFenceivNV), - NAME_FUNC_OFFSET(11521, gl_dispatch_stub_680, gl_dispatch_stub_680, NULL, _gloffset_IsFenceNV), - NAME_FUNC_OFFSET(11533, gl_dispatch_stub_681, gl_dispatch_stub_681, NULL, _gloffset_SetFenceNV), - NAME_FUNC_OFFSET(11546, gl_dispatch_stub_682, gl_dispatch_stub_682, NULL, _gloffset_TestFenceNV), - NAME_FUNC_OFFSET(11560, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, _gloffset_AreProgramsResidentNV), - NAME_FUNC_OFFSET(11584, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(11600, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(11619, glExecuteProgramNV, glExecuteProgramNV, NULL, _gloffset_ExecuteProgramNV), - NAME_FUNC_OFFSET(11638, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(11654, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, _gloffset_GetProgramParameterdvNV), - NAME_FUNC_OFFSET(11680, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, _gloffset_GetProgramParameterfvNV), - NAME_FUNC_OFFSET(11706, glGetProgramStringNV, glGetProgramStringNV, NULL, _gloffset_GetProgramStringNV), - NAME_FUNC_OFFSET(11727, glGetProgramivNV, glGetProgramivNV, NULL, _gloffset_GetProgramivNV), - NAME_FUNC_OFFSET(11744, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, _gloffset_GetTrackMatrixivNV), - NAME_FUNC_OFFSET(11765, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(11793, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, _gloffset_GetVertexAttribdvNV), - NAME_FUNC_OFFSET(11815, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, _gloffset_GetVertexAttribfvNV), - NAME_FUNC_OFFSET(11837, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, _gloffset_GetVertexAttribivNV), - NAME_FUNC_OFFSET(11859, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(11873, glLoadProgramNV, glLoadProgramNV, NULL, _gloffset_LoadProgramNV), - NAME_FUNC_OFFSET(11889, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, _gloffset_ProgramParameters4dvNV), - NAME_FUNC_OFFSET(11914, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, _gloffset_ProgramParameters4fvNV), - NAME_FUNC_OFFSET(11939, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, _gloffset_RequestResidentProgramsNV), - NAME_FUNC_OFFSET(11967, glTrackMatrixNV, glTrackMatrixNV, NULL, _gloffset_TrackMatrixNV), - NAME_FUNC_OFFSET(11983, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, _gloffset_VertexAttrib1dNV), - NAME_FUNC_OFFSET(12002, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, _gloffset_VertexAttrib1dvNV), - NAME_FUNC_OFFSET(12022, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, _gloffset_VertexAttrib1fNV), - NAME_FUNC_OFFSET(12041, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, _gloffset_VertexAttrib1fvNV), - NAME_FUNC_OFFSET(12061, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, _gloffset_VertexAttrib1sNV), - NAME_FUNC_OFFSET(12080, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, _gloffset_VertexAttrib1svNV), - NAME_FUNC_OFFSET(12100, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, _gloffset_VertexAttrib2dNV), - NAME_FUNC_OFFSET(12119, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, _gloffset_VertexAttrib2dvNV), - NAME_FUNC_OFFSET(12139, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, _gloffset_VertexAttrib2fNV), - NAME_FUNC_OFFSET(12158, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, _gloffset_VertexAttrib2fvNV), - NAME_FUNC_OFFSET(12178, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, _gloffset_VertexAttrib2sNV), - NAME_FUNC_OFFSET(12197, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, _gloffset_VertexAttrib2svNV), - NAME_FUNC_OFFSET(12217, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, _gloffset_VertexAttrib3dNV), - NAME_FUNC_OFFSET(12236, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, _gloffset_VertexAttrib3dvNV), - NAME_FUNC_OFFSET(12256, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, _gloffset_VertexAttrib3fNV), - NAME_FUNC_OFFSET(12275, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, _gloffset_VertexAttrib3fvNV), - NAME_FUNC_OFFSET(12295, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, _gloffset_VertexAttrib3sNV), - NAME_FUNC_OFFSET(12314, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, _gloffset_VertexAttrib3svNV), - NAME_FUNC_OFFSET(12334, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, _gloffset_VertexAttrib4dNV), - NAME_FUNC_OFFSET(12353, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, _gloffset_VertexAttrib4dvNV), - NAME_FUNC_OFFSET(12373, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, _gloffset_VertexAttrib4fNV), - NAME_FUNC_OFFSET(12392, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, _gloffset_VertexAttrib4fvNV), - NAME_FUNC_OFFSET(12412, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, _gloffset_VertexAttrib4sNV), - NAME_FUNC_OFFSET(12431, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, _gloffset_VertexAttrib4svNV), - NAME_FUNC_OFFSET(12451, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, _gloffset_VertexAttrib4ubNV), - NAME_FUNC_OFFSET(12471, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, _gloffset_VertexAttrib4ubvNV), - NAME_FUNC_OFFSET(12492, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, _gloffset_VertexAttribPointerNV), - NAME_FUNC_OFFSET(12516, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, _gloffset_VertexAttribs1dvNV), - NAME_FUNC_OFFSET(12537, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, _gloffset_VertexAttribs1fvNV), - NAME_FUNC_OFFSET(12558, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, _gloffset_VertexAttribs1svNV), - NAME_FUNC_OFFSET(12579, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, _gloffset_VertexAttribs2dvNV), - NAME_FUNC_OFFSET(12600, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, _gloffset_VertexAttribs2fvNV), - NAME_FUNC_OFFSET(12621, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, _gloffset_VertexAttribs2svNV), - NAME_FUNC_OFFSET(12642, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, _gloffset_VertexAttribs3dvNV), - NAME_FUNC_OFFSET(12663, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, _gloffset_VertexAttribs3fvNV), - NAME_FUNC_OFFSET(12684, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, _gloffset_VertexAttribs3svNV), - NAME_FUNC_OFFSET(12705, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, _gloffset_VertexAttribs4dvNV), - NAME_FUNC_OFFSET(12726, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, _gloffset_VertexAttribs4fvNV), - NAME_FUNC_OFFSET(12747, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, _gloffset_VertexAttribs4svNV), - NAME_FUNC_OFFSET(12768, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, _gloffset_VertexAttribs4ubvNV), - NAME_FUNC_OFFSET(12790, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, _gloffset_GetTexBumpParameterfvATI), - NAME_FUNC_OFFSET(12817, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, _gloffset_GetTexBumpParameterivATI), - NAME_FUNC_OFFSET(12844, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, _gloffset_TexBumpParameterfvATI), - NAME_FUNC_OFFSET(12868, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, _gloffset_TexBumpParameterivATI), - NAME_FUNC_OFFSET(12892, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, _gloffset_AlphaFragmentOp1ATI), - NAME_FUNC_OFFSET(12914, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, _gloffset_AlphaFragmentOp2ATI), - NAME_FUNC_OFFSET(12936, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, _gloffset_AlphaFragmentOp3ATI), - NAME_FUNC_OFFSET(12958, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, _gloffset_BeginFragmentShaderATI), - NAME_FUNC_OFFSET(12983, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, _gloffset_BindFragmentShaderATI), - NAME_FUNC_OFFSET(13007, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, _gloffset_ColorFragmentOp1ATI), - NAME_FUNC_OFFSET(13029, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, _gloffset_ColorFragmentOp2ATI), - NAME_FUNC_OFFSET(13051, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, _gloffset_ColorFragmentOp3ATI), - NAME_FUNC_OFFSET(13073, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, _gloffset_DeleteFragmentShaderATI), - NAME_FUNC_OFFSET(13099, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, _gloffset_EndFragmentShaderATI), - NAME_FUNC_OFFSET(13122, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, _gloffset_GenFragmentShadersATI), - NAME_FUNC_OFFSET(13146, glPassTexCoordATI, glPassTexCoordATI, NULL, _gloffset_PassTexCoordATI), - NAME_FUNC_OFFSET(13164, glSampleMapATI, glSampleMapATI, NULL, _gloffset_SampleMapATI), - NAME_FUNC_OFFSET(13179, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, _gloffset_SetFragmentShaderConstantATI), - NAME_FUNC_OFFSET(13210, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(13230, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(13251, gl_dispatch_stub_763, gl_dispatch_stub_763, NULL, _gloffset_ActiveStencilFaceEXT), - NAME_FUNC_OFFSET(13274, gl_dispatch_stub_764, gl_dispatch_stub_764, NULL, _gloffset_BindVertexArrayAPPLE), - NAME_FUNC_OFFSET(13297, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(13323, gl_dispatch_stub_766, gl_dispatch_stub_766, NULL, _gloffset_GenVertexArraysAPPLE), - NAME_FUNC_OFFSET(13346, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(13367, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, _gloffset_GetProgramNamedParameterdvNV), - NAME_FUNC_OFFSET(13398, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, _gloffset_GetProgramNamedParameterfvNV), - NAME_FUNC_OFFSET(13429, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, _gloffset_ProgramNamedParameter4dNV), - NAME_FUNC_OFFSET(13457, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, _gloffset_ProgramNamedParameter4dvNV), - NAME_FUNC_OFFSET(13486, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, _gloffset_ProgramNamedParameter4fNV), - NAME_FUNC_OFFSET(13514, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, _gloffset_ProgramNamedParameter4fvNV), - NAME_FUNC_OFFSET(13543, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, _gloffset_PrimitiveRestartIndexNV), - NAME_FUNC_OFFSET(13569, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, _gloffset_PrimitiveRestartNV), - NAME_FUNC_OFFSET(13590, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, _gloffset_DepthBoundsEXT), - NAME_FUNC_OFFSET(13607, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(13634, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(13655, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(13677, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(13705, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(13729, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(13754, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(13783, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(13809, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(13835, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(13861, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(13882, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(13904, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(13924, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(13965, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(13997, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(14016, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(14036, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(14061, gl_dispatch_stub_795, gl_dispatch_stub_795, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(14082, gl_dispatch_stub_796, gl_dispatch_stub_796, NULL, _gloffset_BufferParameteriAPPLE), - NAME_FUNC_OFFSET(14106, gl_dispatch_stub_797, gl_dispatch_stub_797, NULL, _gloffset_FlushMappedBufferRangeAPPLE), - NAME_FUNC_OFFSET(14136, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), - NAME_FUNC_OFFSET(14165, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, _gloffset_ColorMaskIndexedEXT), - NAME_FUNC_OFFSET(14187, glDisableIndexedEXT, glDisableIndexedEXT, NULL, _gloffset_DisableIndexedEXT), - NAME_FUNC_OFFSET(14207, glEnableIndexedEXT, glEnableIndexedEXT, NULL, _gloffset_EnableIndexedEXT), - NAME_FUNC_OFFSET(14226, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, _gloffset_GetBooleanIndexedvEXT), - NAME_FUNC_OFFSET(14250, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, _gloffset_GetIntegerIndexedvEXT), - NAME_FUNC_OFFSET(14274, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, _gloffset_IsEnabledIndexedEXT), - NAME_FUNC_OFFSET(14296, glClearColorIiEXT, glClearColorIiEXT, NULL, _gloffset_ClearColorIiEXT), - NAME_FUNC_OFFSET(14314, glClearColorIuiEXT, glClearColorIuiEXT, NULL, _gloffset_ClearColorIuiEXT), - NAME_FUNC_OFFSET(14333, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, _gloffset_GetTexParameterIivEXT), - NAME_FUNC_OFFSET(14357, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, _gloffset_GetTexParameterIuivEXT), - NAME_FUNC_OFFSET(14382, glTexParameterIivEXT, glTexParameterIivEXT, NULL, _gloffset_TexParameterIivEXT), - NAME_FUNC_OFFSET(14403, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, _gloffset_TexParameterIuivEXT), - NAME_FUNC_OFFSET(14425, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, _gloffset_BeginConditionalRenderNV), - NAME_FUNC_OFFSET(14452, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, _gloffset_EndConditionalRenderNV), - NAME_FUNC_OFFSET(14477, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, _gloffset_BeginTransformFeedbackEXT), - NAME_FUNC_OFFSET(14505, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, _gloffset_BindBufferBaseEXT), - NAME_FUNC_OFFSET(14525, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, _gloffset_BindBufferOffsetEXT), - NAME_FUNC_OFFSET(14547, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, _gloffset_BindBufferRangeEXT), - NAME_FUNC_OFFSET(14568, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, _gloffset_EndTransformFeedbackEXT), - NAME_FUNC_OFFSET(14594, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, _gloffset_GetTransformFeedbackVaryingEXT), - NAME_FUNC_OFFSET(14627, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, _gloffset_TransformFeedbackVaryingsEXT), - NAME_FUNC_OFFSET(14658, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), - NAME_FUNC_OFFSET(14679, gl_dispatch_stub_821, gl_dispatch_stub_821, NULL, _gloffset_GetTexParameterPointervAPPLE), - NAME_FUNC_OFFSET(14710, gl_dispatch_stub_822, gl_dispatch_stub_822, NULL, _gloffset_TextureRangeAPPLE), - NAME_FUNC_OFFSET(14730, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, _gloffset_GetObjectParameterivAPPLE), - NAME_FUNC_OFFSET(14758, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, _gloffset_ObjectPurgeableAPPLE), - NAME_FUNC_OFFSET(14781, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, _gloffset_ObjectUnpurgeableAPPLE), - NAME_FUNC_OFFSET(14806, glActiveProgramEXT, glActiveProgramEXT, NULL, _gloffset_ActiveProgramEXT), - NAME_FUNC_OFFSET(14825, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, _gloffset_CreateShaderProgramEXT), - NAME_FUNC_OFFSET(14850, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, _gloffset_UseShaderProgramEXT), - NAME_FUNC_OFFSET(14872, gl_dispatch_stub_829, gl_dispatch_stub_829, NULL, _gloffset_StencilFuncSeparateATI), - NAME_FUNC_OFFSET(14897, gl_dispatch_stub_830, gl_dispatch_stub_830, NULL, _gloffset_ProgramEnvParameters4fvEXT), - NAME_FUNC_OFFSET(14926, gl_dispatch_stub_831, gl_dispatch_stub_831, NULL, _gloffset_ProgramLocalParameters4fvEXT), - NAME_FUNC_OFFSET(14957, gl_dispatch_stub_832, gl_dispatch_stub_832, NULL, _gloffset_GetQueryObjecti64vEXT), - NAME_FUNC_OFFSET(14981, gl_dispatch_stub_833, gl_dispatch_stub_833, NULL, _gloffset_GetQueryObjectui64vEXT), - NAME_FUNC_OFFSET(15006, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, _gloffset_EGLImageTargetRenderbufferStorageOES), - NAME_FUNC_OFFSET(15045, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, _gloffset_EGLImageTargetTexture2DOES), - NAME_FUNC_OFFSET(15074, glArrayElement, glArrayElement, NULL, _gloffset_ArrayElement), - NAME_FUNC_OFFSET(15092, glBindTexture, glBindTexture, NULL, _gloffset_BindTexture), - NAME_FUNC_OFFSET(15109, glDrawArrays, glDrawArrays, NULL, _gloffset_DrawArrays), - NAME_FUNC_OFFSET(15125, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, _gloffset_AreTexturesResident), - NAME_FUNC_OFFSET(15150, glCopyTexImage1D, glCopyTexImage1D, NULL, _gloffset_CopyTexImage1D), - NAME_FUNC_OFFSET(15170, glCopyTexImage2D, glCopyTexImage2D, NULL, _gloffset_CopyTexImage2D), - NAME_FUNC_OFFSET(15190, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, _gloffset_CopyTexSubImage1D), - NAME_FUNC_OFFSET(15213, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, _gloffset_CopyTexSubImage2D), - NAME_FUNC_OFFSET(15236, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, _gloffset_DeleteTextures), - NAME_FUNC_OFFSET(15256, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, _gloffset_GenTextures), - NAME_FUNC_OFFSET(15273, glGetPointerv, glGetPointerv, NULL, _gloffset_GetPointerv), - NAME_FUNC_OFFSET(15290, glIsTexture, glIsTextureEXT, glIsTextureEXT, _gloffset_IsTexture), - NAME_FUNC_OFFSET(15305, glPrioritizeTextures, glPrioritizeTextures, NULL, _gloffset_PrioritizeTextures), - NAME_FUNC_OFFSET(15329, glTexSubImage1D, glTexSubImage1D, NULL, _gloffset_TexSubImage1D), - NAME_FUNC_OFFSET(15348, glTexSubImage2D, glTexSubImage2D, NULL, _gloffset_TexSubImage2D), - NAME_FUNC_OFFSET(15367, glBlendColor, glBlendColor, NULL, _gloffset_BlendColor), - NAME_FUNC_OFFSET(15383, glBlendEquation, glBlendEquation, NULL, _gloffset_BlendEquation), - NAME_FUNC_OFFSET(15402, glDrawRangeElements, glDrawRangeElements, NULL, _gloffset_DrawRangeElements), - NAME_FUNC_OFFSET(15425, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(15441, glColorTable, glColorTable, NULL, _gloffset_ColorTable), - NAME_FUNC_OFFSET(15457, glColorTableParameterfv, glColorTableParameterfv, NULL, _gloffset_ColorTableParameterfv), - NAME_FUNC_OFFSET(15484, glColorTableParameteriv, glColorTableParameteriv, NULL, _gloffset_ColorTableParameteriv), - NAME_FUNC_OFFSET(15511, glCopyColorTable, glCopyColorTable, NULL, _gloffset_CopyColorTable), - NAME_FUNC_OFFSET(15531, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(15550, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, _gloffset_GetColorTable), - NAME_FUNC_OFFSET(15569, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(15599, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, _gloffset_GetColorTableParameterfv), - NAME_FUNC_OFFSET(15629, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(15659, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, _gloffset_GetColorTableParameteriv), - NAME_FUNC_OFFSET(15689, glColorSubTable, glColorSubTable, NULL, _gloffset_ColorSubTable), - NAME_FUNC_OFFSET(15708, glCopyColorSubTable, glCopyColorSubTable, NULL, _gloffset_CopyColorSubTable), - NAME_FUNC_OFFSET(15731, glConvolutionFilter1D, glConvolutionFilter1D, NULL, _gloffset_ConvolutionFilter1D), - NAME_FUNC_OFFSET(15756, glConvolutionFilter2D, glConvolutionFilter2D, NULL, _gloffset_ConvolutionFilter2D), - NAME_FUNC_OFFSET(15781, glConvolutionParameterf, glConvolutionParameterf, NULL, _gloffset_ConvolutionParameterf), - NAME_FUNC_OFFSET(15808, glConvolutionParameterfv, glConvolutionParameterfv, NULL, _gloffset_ConvolutionParameterfv), - NAME_FUNC_OFFSET(15836, glConvolutionParameteri, glConvolutionParameteri, NULL, _gloffset_ConvolutionParameteri), - NAME_FUNC_OFFSET(15863, glConvolutionParameteriv, glConvolutionParameteriv, NULL, _gloffset_ConvolutionParameteriv), - NAME_FUNC_OFFSET(15891, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, _gloffset_CopyConvolutionFilter1D), - NAME_FUNC_OFFSET(15920, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, _gloffset_CopyConvolutionFilter2D), - NAME_FUNC_OFFSET(15949, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, _gloffset_GetConvolutionFilter), - NAME_FUNC_OFFSET(15975, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, _gloffset_GetConvolutionParameterfv), - NAME_FUNC_OFFSET(16006, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, _gloffset_GetConvolutionParameteriv), - NAME_FUNC_OFFSET(16037, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, _gloffset_GetSeparableFilter), - NAME_FUNC_OFFSET(16061, glSeparableFilter2D, glSeparableFilter2D, NULL, _gloffset_SeparableFilter2D), - NAME_FUNC_OFFSET(16084, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, _gloffset_GetHistogram), - NAME_FUNC_OFFSET(16102, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, _gloffset_GetHistogramParameterfv), - NAME_FUNC_OFFSET(16131, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, _gloffset_GetHistogramParameteriv), - NAME_FUNC_OFFSET(16160, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, _gloffset_GetMinmax), - NAME_FUNC_OFFSET(16175, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, _gloffset_GetMinmaxParameterfv), - NAME_FUNC_OFFSET(16201, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, _gloffset_GetMinmaxParameteriv), - NAME_FUNC_OFFSET(16227, glHistogram, glHistogram, NULL, _gloffset_Histogram), - NAME_FUNC_OFFSET(16242, glMinmax, glMinmax, NULL, _gloffset_Minmax), - NAME_FUNC_OFFSET(16254, glResetHistogram, glResetHistogram, NULL, _gloffset_ResetHistogram), - NAME_FUNC_OFFSET(16274, glResetMinmax, glResetMinmax, NULL, _gloffset_ResetMinmax), - NAME_FUNC_OFFSET(16291, glTexImage3D, glTexImage3D, NULL, _gloffset_TexImage3D), - NAME_FUNC_OFFSET(16307, glTexSubImage3D, glTexSubImage3D, NULL, _gloffset_TexSubImage3D), - NAME_FUNC_OFFSET(16326, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, _gloffset_CopyTexSubImage3D), - NAME_FUNC_OFFSET(16349, glActiveTextureARB, glActiveTextureARB, NULL, _gloffset_ActiveTextureARB), - NAME_FUNC_OFFSET(16365, glClientActiveTextureARB, glClientActiveTextureARB, NULL, _gloffset_ClientActiveTextureARB), - NAME_FUNC_OFFSET(16387, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, _gloffset_MultiTexCoord1dARB), - NAME_FUNC_OFFSET(16405, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, _gloffset_MultiTexCoord1dvARB), - NAME_FUNC_OFFSET(16424, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, _gloffset_MultiTexCoord1fARB), - NAME_FUNC_OFFSET(16442, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, _gloffset_MultiTexCoord1fvARB), - NAME_FUNC_OFFSET(16461, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, _gloffset_MultiTexCoord1iARB), - NAME_FUNC_OFFSET(16479, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, _gloffset_MultiTexCoord1ivARB), - NAME_FUNC_OFFSET(16498, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, _gloffset_MultiTexCoord1sARB), - NAME_FUNC_OFFSET(16516, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, _gloffset_MultiTexCoord1svARB), - NAME_FUNC_OFFSET(16535, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, _gloffset_MultiTexCoord2dARB), - NAME_FUNC_OFFSET(16553, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, _gloffset_MultiTexCoord2dvARB), - NAME_FUNC_OFFSET(16572, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, _gloffset_MultiTexCoord2fARB), - NAME_FUNC_OFFSET(16590, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, _gloffset_MultiTexCoord2fvARB), - NAME_FUNC_OFFSET(16609, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, _gloffset_MultiTexCoord2iARB), - NAME_FUNC_OFFSET(16627, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, _gloffset_MultiTexCoord2ivARB), - NAME_FUNC_OFFSET(16646, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, _gloffset_MultiTexCoord2sARB), - NAME_FUNC_OFFSET(16664, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, _gloffset_MultiTexCoord2svARB), - NAME_FUNC_OFFSET(16683, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, _gloffset_MultiTexCoord3dARB), - NAME_FUNC_OFFSET(16701, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, _gloffset_MultiTexCoord3dvARB), - NAME_FUNC_OFFSET(16720, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, _gloffset_MultiTexCoord3fARB), - NAME_FUNC_OFFSET(16738, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, _gloffset_MultiTexCoord3fvARB), - NAME_FUNC_OFFSET(16757, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, _gloffset_MultiTexCoord3iARB), - NAME_FUNC_OFFSET(16775, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, _gloffset_MultiTexCoord3ivARB), - NAME_FUNC_OFFSET(16794, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, _gloffset_MultiTexCoord3sARB), - NAME_FUNC_OFFSET(16812, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, _gloffset_MultiTexCoord3svARB), - NAME_FUNC_OFFSET(16831, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, _gloffset_MultiTexCoord4dARB), - NAME_FUNC_OFFSET(16849, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, _gloffset_MultiTexCoord4dvARB), - NAME_FUNC_OFFSET(16868, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, _gloffset_MultiTexCoord4fARB), - NAME_FUNC_OFFSET(16886, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, _gloffset_MultiTexCoord4fvARB), - NAME_FUNC_OFFSET(16905, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, _gloffset_MultiTexCoord4iARB), - NAME_FUNC_OFFSET(16923, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, _gloffset_MultiTexCoord4ivARB), - NAME_FUNC_OFFSET(16942, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, _gloffset_MultiTexCoord4sARB), - NAME_FUNC_OFFSET(16960, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, _gloffset_MultiTexCoord4svARB), - NAME_FUNC_OFFSET(16979, glStencilOpSeparate, glStencilOpSeparate, NULL, _gloffset_StencilOpSeparate), - NAME_FUNC_OFFSET(17002, glDrawArraysInstanced, glDrawArraysInstanced, NULL, _gloffset_DrawArraysInstanced), - NAME_FUNC_OFFSET(17027, glDrawArraysInstanced, glDrawArraysInstanced, NULL, _gloffset_DrawArraysInstanced), - NAME_FUNC_OFFSET(17052, glDrawElementsInstanced, glDrawElementsInstanced, NULL, _gloffset_DrawElementsInstanced), - NAME_FUNC_OFFSET(17079, glDrawElementsInstanced, glDrawElementsInstanced, NULL, _gloffset_DrawElementsInstanced), - NAME_FUNC_OFFSET(17106, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, _gloffset_LoadTransposeMatrixdARB), - NAME_FUNC_OFFSET(17129, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, _gloffset_LoadTransposeMatrixfARB), - NAME_FUNC_OFFSET(17152, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, _gloffset_MultTransposeMatrixdARB), - NAME_FUNC_OFFSET(17175, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, _gloffset_MultTransposeMatrixfARB), - NAME_FUNC_OFFSET(17198, glSampleCoverageARB, glSampleCoverageARB, NULL, _gloffset_SampleCoverageARB), - NAME_FUNC_OFFSET(17215, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, _gloffset_CompressedTexImage1DARB), - NAME_FUNC_OFFSET(17238, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, _gloffset_CompressedTexImage2DARB), - NAME_FUNC_OFFSET(17261, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, _gloffset_CompressedTexImage3DARB), - NAME_FUNC_OFFSET(17284, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, _gloffset_CompressedTexSubImage1DARB), - NAME_FUNC_OFFSET(17310, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, _gloffset_CompressedTexSubImage2DARB), - NAME_FUNC_OFFSET(17336, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, _gloffset_CompressedTexSubImage3DARB), - NAME_FUNC_OFFSET(17362, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, _gloffset_GetCompressedTexImageARB), - NAME_FUNC_OFFSET(17386, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, _gloffset_DisableVertexAttribArrayARB), - NAME_FUNC_OFFSET(17413, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, _gloffset_EnableVertexAttribArrayARB), - NAME_FUNC_OFFSET(17439, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, _gloffset_GetVertexAttribdvARB), - NAME_FUNC_OFFSET(17459, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, _gloffset_GetVertexAttribfvARB), - NAME_FUNC_OFFSET(17479, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, _gloffset_GetVertexAttribivARB), - NAME_FUNC_OFFSET(17499, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, _gloffset_ProgramEnvParameter4dARB), - NAME_FUNC_OFFSET(17522, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, _gloffset_ProgramEnvParameter4dvARB), - NAME_FUNC_OFFSET(17546, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, _gloffset_ProgramEnvParameter4fARB), - NAME_FUNC_OFFSET(17569, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, _gloffset_ProgramEnvParameter4fvARB), - NAME_FUNC_OFFSET(17593, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, _gloffset_VertexAttrib1dARB), - NAME_FUNC_OFFSET(17610, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, _gloffset_VertexAttrib1dvARB), - NAME_FUNC_OFFSET(17628, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, _gloffset_VertexAttrib1fARB), - NAME_FUNC_OFFSET(17645, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, _gloffset_VertexAttrib1fvARB), - NAME_FUNC_OFFSET(17663, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, _gloffset_VertexAttrib1sARB), - NAME_FUNC_OFFSET(17680, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, _gloffset_VertexAttrib1svARB), - NAME_FUNC_OFFSET(17698, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, _gloffset_VertexAttrib2dARB), - NAME_FUNC_OFFSET(17715, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, _gloffset_VertexAttrib2dvARB), - NAME_FUNC_OFFSET(17733, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, _gloffset_VertexAttrib2fARB), - NAME_FUNC_OFFSET(17750, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, _gloffset_VertexAttrib2fvARB), - NAME_FUNC_OFFSET(17768, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, _gloffset_VertexAttrib2sARB), - NAME_FUNC_OFFSET(17785, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, _gloffset_VertexAttrib2svARB), - NAME_FUNC_OFFSET(17803, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, _gloffset_VertexAttrib3dARB), - NAME_FUNC_OFFSET(17820, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, _gloffset_VertexAttrib3dvARB), - NAME_FUNC_OFFSET(17838, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, _gloffset_VertexAttrib3fARB), - NAME_FUNC_OFFSET(17855, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, _gloffset_VertexAttrib3fvARB), - NAME_FUNC_OFFSET(17873, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, _gloffset_VertexAttrib3sARB), - NAME_FUNC_OFFSET(17890, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, _gloffset_VertexAttrib3svARB), - NAME_FUNC_OFFSET(17908, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, _gloffset_VertexAttrib4NbvARB), - NAME_FUNC_OFFSET(17927, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, _gloffset_VertexAttrib4NivARB), - NAME_FUNC_OFFSET(17946, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, _gloffset_VertexAttrib4NsvARB), - NAME_FUNC_OFFSET(17965, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, _gloffset_VertexAttrib4NubARB), - NAME_FUNC_OFFSET(17984, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, _gloffset_VertexAttrib4NubvARB), - NAME_FUNC_OFFSET(18004, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, _gloffset_VertexAttrib4NuivARB), - NAME_FUNC_OFFSET(18024, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, _gloffset_VertexAttrib4NusvARB), - NAME_FUNC_OFFSET(18044, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, _gloffset_VertexAttrib4bvARB), - NAME_FUNC_OFFSET(18062, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, _gloffset_VertexAttrib4dARB), - NAME_FUNC_OFFSET(18079, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, _gloffset_VertexAttrib4dvARB), - NAME_FUNC_OFFSET(18097, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, _gloffset_VertexAttrib4fARB), - NAME_FUNC_OFFSET(18114, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, _gloffset_VertexAttrib4fvARB), - NAME_FUNC_OFFSET(18132, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, _gloffset_VertexAttrib4ivARB), - NAME_FUNC_OFFSET(18150, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, _gloffset_VertexAttrib4sARB), - NAME_FUNC_OFFSET(18167, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, _gloffset_VertexAttrib4svARB), - NAME_FUNC_OFFSET(18185, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, _gloffset_VertexAttrib4ubvARB), - NAME_FUNC_OFFSET(18204, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, _gloffset_VertexAttrib4uivARB), - NAME_FUNC_OFFSET(18223, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, _gloffset_VertexAttrib4usvARB), - NAME_FUNC_OFFSET(18242, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, _gloffset_VertexAttribPointerARB), - NAME_FUNC_OFFSET(18264, glBindBufferARB, glBindBufferARB, NULL, _gloffset_BindBufferARB), - NAME_FUNC_OFFSET(18277, glBufferDataARB, glBufferDataARB, NULL, _gloffset_BufferDataARB), - NAME_FUNC_OFFSET(18290, glBufferSubDataARB, glBufferSubDataARB, NULL, _gloffset_BufferSubDataARB), - NAME_FUNC_OFFSET(18306, glDeleteBuffersARB, glDeleteBuffersARB, NULL, _gloffset_DeleteBuffersARB), - NAME_FUNC_OFFSET(18322, glGenBuffersARB, glGenBuffersARB, NULL, _gloffset_GenBuffersARB), - NAME_FUNC_OFFSET(18335, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, _gloffset_GetBufferParameterivARB), - NAME_FUNC_OFFSET(18358, glGetBufferPointervARB, glGetBufferPointervARB, NULL, _gloffset_GetBufferPointervARB), - NAME_FUNC_OFFSET(18378, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, _gloffset_GetBufferSubDataARB), - NAME_FUNC_OFFSET(18397, glIsBufferARB, glIsBufferARB, NULL, _gloffset_IsBufferARB), - NAME_FUNC_OFFSET(18408, glMapBufferARB, glMapBufferARB, NULL, _gloffset_MapBufferARB), - NAME_FUNC_OFFSET(18420, glUnmapBufferARB, glUnmapBufferARB, NULL, _gloffset_UnmapBufferARB), - NAME_FUNC_OFFSET(18434, glBeginQueryARB, glBeginQueryARB, NULL, _gloffset_BeginQueryARB), - NAME_FUNC_OFFSET(18447, glDeleteQueriesARB, glDeleteQueriesARB, NULL, _gloffset_DeleteQueriesARB), - NAME_FUNC_OFFSET(18463, glEndQueryARB, glEndQueryARB, NULL, _gloffset_EndQueryARB), - NAME_FUNC_OFFSET(18474, glGenQueriesARB, glGenQueriesARB, NULL, _gloffset_GenQueriesARB), - NAME_FUNC_OFFSET(18487, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, _gloffset_GetQueryObjectivARB), - NAME_FUNC_OFFSET(18506, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, _gloffset_GetQueryObjectuivARB), - NAME_FUNC_OFFSET(18526, glGetQueryivARB, glGetQueryivARB, NULL, _gloffset_GetQueryivARB), - NAME_FUNC_OFFSET(18539, glIsQueryARB, glIsQueryARB, NULL, _gloffset_IsQueryARB), - NAME_FUNC_OFFSET(18549, glCompileShaderARB, glCompileShaderARB, NULL, _gloffset_CompileShaderARB), - NAME_FUNC_OFFSET(18565, glGetActiveUniformARB, glGetActiveUniformARB, NULL, _gloffset_GetActiveUniformARB), - NAME_FUNC_OFFSET(18584, glGetShaderSourceARB, glGetShaderSourceARB, NULL, _gloffset_GetShaderSourceARB), - NAME_FUNC_OFFSET(18602, glGetUniformLocationARB, glGetUniformLocationARB, NULL, _gloffset_GetUniformLocationARB), - NAME_FUNC_OFFSET(18623, glGetUniformfvARB, glGetUniformfvARB, NULL, _gloffset_GetUniformfvARB), - NAME_FUNC_OFFSET(18638, glGetUniformivARB, glGetUniformivARB, NULL, _gloffset_GetUniformivARB), - NAME_FUNC_OFFSET(18653, glLinkProgramARB, glLinkProgramARB, NULL, _gloffset_LinkProgramARB), - NAME_FUNC_OFFSET(18667, glShaderSourceARB, glShaderSourceARB, NULL, _gloffset_ShaderSourceARB), - NAME_FUNC_OFFSET(18682, glUniform1fARB, glUniform1fARB, NULL, _gloffset_Uniform1fARB), - NAME_FUNC_OFFSET(18694, glUniform1fvARB, glUniform1fvARB, NULL, _gloffset_Uniform1fvARB), - NAME_FUNC_OFFSET(18707, glUniform1iARB, glUniform1iARB, NULL, _gloffset_Uniform1iARB), - NAME_FUNC_OFFSET(18719, glUniform1ivARB, glUniform1ivARB, NULL, _gloffset_Uniform1ivARB), - NAME_FUNC_OFFSET(18732, glUniform2fARB, glUniform2fARB, NULL, _gloffset_Uniform2fARB), - NAME_FUNC_OFFSET(18744, glUniform2fvARB, glUniform2fvARB, NULL, _gloffset_Uniform2fvARB), - NAME_FUNC_OFFSET(18757, glUniform2iARB, glUniform2iARB, NULL, _gloffset_Uniform2iARB), - NAME_FUNC_OFFSET(18769, glUniform2ivARB, glUniform2ivARB, NULL, _gloffset_Uniform2ivARB), - NAME_FUNC_OFFSET(18782, glUniform3fARB, glUniform3fARB, NULL, _gloffset_Uniform3fARB), - NAME_FUNC_OFFSET(18794, glUniform3fvARB, glUniform3fvARB, NULL, _gloffset_Uniform3fvARB), - NAME_FUNC_OFFSET(18807, glUniform3iARB, glUniform3iARB, NULL, _gloffset_Uniform3iARB), - NAME_FUNC_OFFSET(18819, glUniform3ivARB, glUniform3ivARB, NULL, _gloffset_Uniform3ivARB), - NAME_FUNC_OFFSET(18832, glUniform4fARB, glUniform4fARB, NULL, _gloffset_Uniform4fARB), - NAME_FUNC_OFFSET(18844, glUniform4fvARB, glUniform4fvARB, NULL, _gloffset_Uniform4fvARB), - NAME_FUNC_OFFSET(18857, glUniform4iARB, glUniform4iARB, NULL, _gloffset_Uniform4iARB), - NAME_FUNC_OFFSET(18869, glUniform4ivARB, glUniform4ivARB, NULL, _gloffset_Uniform4ivARB), - NAME_FUNC_OFFSET(18882, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, _gloffset_UniformMatrix2fvARB), - NAME_FUNC_OFFSET(18901, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, _gloffset_UniformMatrix3fvARB), - NAME_FUNC_OFFSET(18920, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, _gloffset_UniformMatrix4fvARB), - NAME_FUNC_OFFSET(18939, glUseProgramObjectARB, glUseProgramObjectARB, NULL, _gloffset_UseProgramObjectARB), - NAME_FUNC_OFFSET(18952, glValidateProgramARB, glValidateProgramARB, NULL, _gloffset_ValidateProgramARB), - NAME_FUNC_OFFSET(18970, glBindAttribLocationARB, glBindAttribLocationARB, NULL, _gloffset_BindAttribLocationARB), - NAME_FUNC_OFFSET(18991, glGetActiveAttribARB, glGetActiveAttribARB, NULL, _gloffset_GetActiveAttribARB), - NAME_FUNC_OFFSET(19009, glGetAttribLocationARB, glGetAttribLocationARB, NULL, _gloffset_GetAttribLocationARB), - NAME_FUNC_OFFSET(19029, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(19043, glDrawBuffersARB, glDrawBuffersARB, NULL, _gloffset_DrawBuffersARB), - NAME_FUNC_OFFSET(19060, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, _gloffset_RenderbufferStorageMultisample), - NAME_FUNC_OFFSET(19096, gl_dispatch_stub_596, gl_dispatch_stub_596, NULL, _gloffset_SampleMaskSGIS), - NAME_FUNC_OFFSET(19112, gl_dispatch_stub_597, gl_dispatch_stub_597, NULL, _gloffset_SamplePatternSGIS), - NAME_FUNC_OFFSET(19131, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(19149, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(19170, glPointParameterfEXT, glPointParameterfEXT, NULL, _gloffset_PointParameterfEXT), - NAME_FUNC_OFFSET(19192, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(19211, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(19233, glPointParameterfvEXT, glPointParameterfvEXT, NULL, _gloffset_PointParameterfvEXT), - NAME_FUNC_OFFSET(19256, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, _gloffset_SecondaryColor3bEXT), - NAME_FUNC_OFFSET(19275, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, _gloffset_SecondaryColor3bvEXT), - NAME_FUNC_OFFSET(19295, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, _gloffset_SecondaryColor3dEXT), - NAME_FUNC_OFFSET(19314, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, _gloffset_SecondaryColor3dvEXT), - NAME_FUNC_OFFSET(19334, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, _gloffset_SecondaryColor3fEXT), - NAME_FUNC_OFFSET(19353, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, _gloffset_SecondaryColor3fvEXT), - NAME_FUNC_OFFSET(19373, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, _gloffset_SecondaryColor3iEXT), - NAME_FUNC_OFFSET(19392, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, _gloffset_SecondaryColor3ivEXT), - NAME_FUNC_OFFSET(19412, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, _gloffset_SecondaryColor3sEXT), - NAME_FUNC_OFFSET(19431, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, _gloffset_SecondaryColor3svEXT), - NAME_FUNC_OFFSET(19451, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, _gloffset_SecondaryColor3ubEXT), - NAME_FUNC_OFFSET(19471, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, _gloffset_SecondaryColor3ubvEXT), - NAME_FUNC_OFFSET(19492, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, _gloffset_SecondaryColor3uiEXT), - NAME_FUNC_OFFSET(19512, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, _gloffset_SecondaryColor3uivEXT), - NAME_FUNC_OFFSET(19533, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, _gloffset_SecondaryColor3usEXT), - NAME_FUNC_OFFSET(19553, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, _gloffset_SecondaryColor3usvEXT), - NAME_FUNC_OFFSET(19574, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, _gloffset_SecondaryColorPointerEXT), - NAME_FUNC_OFFSET(19598, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, _gloffset_MultiDrawArraysEXT), - NAME_FUNC_OFFSET(19616, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, _gloffset_MultiDrawElementsEXT), - NAME_FUNC_OFFSET(19636, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, _gloffset_FogCoordPointerEXT), - NAME_FUNC_OFFSET(19654, glFogCoorddEXT, glFogCoorddEXT, NULL, _gloffset_FogCoorddEXT), - NAME_FUNC_OFFSET(19666, glFogCoorddvEXT, glFogCoorddvEXT, NULL, _gloffset_FogCoorddvEXT), - NAME_FUNC_OFFSET(19679, glFogCoordfEXT, glFogCoordfEXT, NULL, _gloffset_FogCoordfEXT), - NAME_FUNC_OFFSET(19691, glFogCoordfvEXT, glFogCoordfvEXT, NULL, _gloffset_FogCoordfvEXT), - NAME_FUNC_OFFSET(19704, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(19724, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, _gloffset_BlendFuncSeparateEXT), - NAME_FUNC_OFFSET(19748, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(19762, glWindowPos2dMESA, glWindowPos2dMESA, NULL, _gloffset_WindowPos2dMESA), - NAME_FUNC_OFFSET(19779, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(19794, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, _gloffset_WindowPos2dvMESA), - NAME_FUNC_OFFSET(19812, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(19826, glWindowPos2fMESA, glWindowPos2fMESA, NULL, _gloffset_WindowPos2fMESA), - NAME_FUNC_OFFSET(19843, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(19858, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, _gloffset_WindowPos2fvMESA), - NAME_FUNC_OFFSET(19876, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(19890, glWindowPos2iMESA, glWindowPos2iMESA, NULL, _gloffset_WindowPos2iMESA), - NAME_FUNC_OFFSET(19907, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(19922, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, _gloffset_WindowPos2ivMESA), - NAME_FUNC_OFFSET(19940, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(19954, glWindowPos2sMESA, glWindowPos2sMESA, NULL, _gloffset_WindowPos2sMESA), - NAME_FUNC_OFFSET(19971, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(19986, glWindowPos2svMESA, glWindowPos2svMESA, NULL, _gloffset_WindowPos2svMESA), - NAME_FUNC_OFFSET(20004, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(20018, glWindowPos3dMESA, glWindowPos3dMESA, NULL, _gloffset_WindowPos3dMESA), - NAME_FUNC_OFFSET(20035, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(20050, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, _gloffset_WindowPos3dvMESA), - NAME_FUNC_OFFSET(20068, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(20082, glWindowPos3fMESA, glWindowPos3fMESA, NULL, _gloffset_WindowPos3fMESA), - NAME_FUNC_OFFSET(20099, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(20114, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, _gloffset_WindowPos3fvMESA), - NAME_FUNC_OFFSET(20132, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(20146, glWindowPos3iMESA, glWindowPos3iMESA, NULL, _gloffset_WindowPos3iMESA), - NAME_FUNC_OFFSET(20163, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(20178, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, _gloffset_WindowPos3ivMESA), - NAME_FUNC_OFFSET(20196, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(20210, glWindowPos3sMESA, glWindowPos3sMESA, NULL, _gloffset_WindowPos3sMESA), - NAME_FUNC_OFFSET(20227, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(20242, glWindowPos3svMESA, glWindowPos3svMESA, NULL, _gloffset_WindowPos3svMESA), - NAME_FUNC_OFFSET(20260, glBindProgramNV, glBindProgramNV, NULL, _gloffset_BindProgramNV), - NAME_FUNC_OFFSET(20277, glDeleteProgramsNV, glDeleteProgramsNV, NULL, _gloffset_DeleteProgramsNV), - NAME_FUNC_OFFSET(20297, glGenProgramsNV, glGenProgramsNV, NULL, _gloffset_GenProgramsNV), - NAME_FUNC_OFFSET(20314, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(20340, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, _gloffset_GetVertexAttribPointervNV), - NAME_FUNC_OFFSET(20369, glIsProgramNV, glIsProgramNV, NULL, _gloffset_IsProgramNV), - NAME_FUNC_OFFSET(20384, glPointParameteriNV, glPointParameteriNV, NULL, _gloffset_PointParameteriNV), - NAME_FUNC_OFFSET(20402, glPointParameterivNV, glPointParameterivNV, NULL, _gloffset_PointParameterivNV), - NAME_FUNC_OFFSET(20421, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, _gloffset_DeleteVertexArraysAPPLE), - NAME_FUNC_OFFSET(20442, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, _gloffset_IsVertexArrayAPPLE), - NAME_FUNC_OFFSET(20458, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(20482, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, _gloffset_BlendEquationSeparateEXT), - NAME_FUNC_OFFSET(20509, glBindFramebufferEXT, glBindFramebufferEXT, NULL, _gloffset_BindFramebufferEXT), - NAME_FUNC_OFFSET(20527, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, _gloffset_BindRenderbufferEXT), - NAME_FUNC_OFFSET(20546, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, _gloffset_CheckFramebufferStatusEXT), - NAME_FUNC_OFFSET(20571, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, _gloffset_DeleteFramebuffersEXT), - NAME_FUNC_OFFSET(20592, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, _gloffset_DeleteRenderbuffersEXT), - NAME_FUNC_OFFSET(20614, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, _gloffset_FramebufferRenderbufferEXT), - NAME_FUNC_OFFSET(20640, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, _gloffset_FramebufferTexture1DEXT), - NAME_FUNC_OFFSET(20663, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, _gloffset_FramebufferTexture2DEXT), - NAME_FUNC_OFFSET(20686, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, _gloffset_FramebufferTexture3DEXT), - NAME_FUNC_OFFSET(20709, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, _gloffset_GenFramebuffersEXT), - NAME_FUNC_OFFSET(20727, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, _gloffset_GenRenderbuffersEXT), - NAME_FUNC_OFFSET(20746, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, _gloffset_GenerateMipmapEXT), - NAME_FUNC_OFFSET(20763, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, _gloffset_GetFramebufferAttachmentParameterivEXT), - NAME_FUNC_OFFSET(20801, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, _gloffset_GetRenderbufferParameterivEXT), - NAME_FUNC_OFFSET(20830, glIsFramebufferEXT, glIsFramebufferEXT, NULL, _gloffset_IsFramebufferEXT), - NAME_FUNC_OFFSET(20846, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, _gloffset_IsRenderbufferEXT), - NAME_FUNC_OFFSET(20863, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, _gloffset_RenderbufferStorageEXT), - NAME_FUNC_OFFSET(20885, gl_dispatch_stub_795, gl_dispatch_stub_795, NULL, _gloffset_BlitFramebufferEXT), - NAME_FUNC_OFFSET(20903, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, _gloffset_FramebufferTextureLayerEXT), - NAME_FUNC_OFFSET(20929, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, _gloffset_BeginTransformFeedbackEXT), - NAME_FUNC_OFFSET(20954, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, _gloffset_BindBufferBaseEXT), - NAME_FUNC_OFFSET(20971, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, _gloffset_BindBufferRangeEXT), - NAME_FUNC_OFFSET(20989, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, _gloffset_EndTransformFeedbackEXT), - NAME_FUNC_OFFSET(21012, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, _gloffset_GetTransformFeedbackVaryingEXT), - NAME_FUNC_OFFSET(21042, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, _gloffset_TransformFeedbackVaryingsEXT), - NAME_FUNC_OFFSET(21070, glProvokingVertexEXT, glProvokingVertexEXT, NULL, _gloffset_ProvokingVertexEXT), + NAME_FUNC_OFFSET( 0, glNewList, glNewList, NULL, 0), + NAME_FUNC_OFFSET( 10, glEndList, glEndList, NULL, 1), + NAME_FUNC_OFFSET( 20, glCallList, glCallList, NULL, 2), + NAME_FUNC_OFFSET( 31, glCallLists, glCallLists, NULL, 3), + NAME_FUNC_OFFSET( 43, glDeleteLists, glDeleteLists, NULL, 4), + NAME_FUNC_OFFSET( 57, glGenLists, glGenLists, NULL, 5), + NAME_FUNC_OFFSET( 68, glListBase, glListBase, NULL, 6), + NAME_FUNC_OFFSET( 79, glBegin, glBegin, NULL, 7), + NAME_FUNC_OFFSET( 87, glBitmap, glBitmap, NULL, 8), + NAME_FUNC_OFFSET( 96, glColor3b, glColor3b, NULL, 9), + NAME_FUNC_OFFSET( 106, glColor3bv, glColor3bv, NULL, 10), + NAME_FUNC_OFFSET( 117, glColor3d, glColor3d, NULL, 11), + NAME_FUNC_OFFSET( 127, glColor3dv, glColor3dv, NULL, 12), + NAME_FUNC_OFFSET( 138, glColor3f, glColor3f, NULL, 13), + NAME_FUNC_OFFSET( 148, glColor3fv, glColor3fv, NULL, 14), + NAME_FUNC_OFFSET( 159, glColor3i, glColor3i, NULL, 15), + NAME_FUNC_OFFSET( 169, glColor3iv, glColor3iv, NULL, 16), + NAME_FUNC_OFFSET( 180, glColor3s, glColor3s, NULL, 17), + NAME_FUNC_OFFSET( 190, glColor3sv, glColor3sv, NULL, 18), + NAME_FUNC_OFFSET( 201, glColor3ub, glColor3ub, NULL, 19), + NAME_FUNC_OFFSET( 212, glColor3ubv, glColor3ubv, NULL, 20), + NAME_FUNC_OFFSET( 224, glColor3ui, glColor3ui, NULL, 21), + NAME_FUNC_OFFSET( 235, glColor3uiv, glColor3uiv, NULL, 22), + NAME_FUNC_OFFSET( 247, glColor3us, glColor3us, NULL, 23), + NAME_FUNC_OFFSET( 258, glColor3usv, glColor3usv, NULL, 24), + NAME_FUNC_OFFSET( 270, glColor4b, glColor4b, NULL, 25), + NAME_FUNC_OFFSET( 280, glColor4bv, glColor4bv, NULL, 26), + NAME_FUNC_OFFSET( 291, glColor4d, glColor4d, NULL, 27), + NAME_FUNC_OFFSET( 301, glColor4dv, glColor4dv, NULL, 28), + NAME_FUNC_OFFSET( 312, glColor4f, glColor4f, NULL, 29), + NAME_FUNC_OFFSET( 322, glColor4fv, glColor4fv, NULL, 30), + NAME_FUNC_OFFSET( 333, glColor4i, glColor4i, NULL, 31), + NAME_FUNC_OFFSET( 343, glColor4iv, glColor4iv, NULL, 32), + NAME_FUNC_OFFSET( 354, glColor4s, glColor4s, NULL, 33), + NAME_FUNC_OFFSET( 364, glColor4sv, glColor4sv, NULL, 34), + NAME_FUNC_OFFSET( 375, glColor4ub, glColor4ub, NULL, 35), + NAME_FUNC_OFFSET( 386, glColor4ubv, glColor4ubv, NULL, 36), + NAME_FUNC_OFFSET( 398, glColor4ui, glColor4ui, NULL, 37), + NAME_FUNC_OFFSET( 409, glColor4uiv, glColor4uiv, NULL, 38), + NAME_FUNC_OFFSET( 421, glColor4us, glColor4us, NULL, 39), + NAME_FUNC_OFFSET( 432, glColor4usv, glColor4usv, NULL, 40), + NAME_FUNC_OFFSET( 444, glEdgeFlag, glEdgeFlag, NULL, 41), + NAME_FUNC_OFFSET( 455, glEdgeFlagv, glEdgeFlagv, NULL, 42), + NAME_FUNC_OFFSET( 467, glEnd, glEnd, NULL, 43), + NAME_FUNC_OFFSET( 473, glIndexd, glIndexd, NULL, 44), + NAME_FUNC_OFFSET( 482, glIndexdv, glIndexdv, NULL, 45), + NAME_FUNC_OFFSET( 492, glIndexf, glIndexf, NULL, 46), + NAME_FUNC_OFFSET( 501, glIndexfv, glIndexfv, NULL, 47), + NAME_FUNC_OFFSET( 511, glIndexi, glIndexi, NULL, 48), + NAME_FUNC_OFFSET( 520, glIndexiv, glIndexiv, NULL, 49), + NAME_FUNC_OFFSET( 530, glIndexs, glIndexs, NULL, 50), + NAME_FUNC_OFFSET( 539, glIndexsv, glIndexsv, NULL, 51), + NAME_FUNC_OFFSET( 549, glNormal3b, glNormal3b, NULL, 52), + NAME_FUNC_OFFSET( 560, glNormal3bv, glNormal3bv, NULL, 53), + NAME_FUNC_OFFSET( 572, glNormal3d, glNormal3d, NULL, 54), + NAME_FUNC_OFFSET( 583, glNormal3dv, glNormal3dv, NULL, 55), + NAME_FUNC_OFFSET( 595, glNormal3f, glNormal3f, NULL, 56), + NAME_FUNC_OFFSET( 606, glNormal3fv, glNormal3fv, NULL, 57), + NAME_FUNC_OFFSET( 618, glNormal3i, glNormal3i, NULL, 58), + NAME_FUNC_OFFSET( 629, glNormal3iv, glNormal3iv, NULL, 59), + NAME_FUNC_OFFSET( 641, glNormal3s, glNormal3s, NULL, 60), + NAME_FUNC_OFFSET( 652, glNormal3sv, glNormal3sv, NULL, 61), + NAME_FUNC_OFFSET( 664, glRasterPos2d, glRasterPos2d, NULL, 62), + NAME_FUNC_OFFSET( 678, glRasterPos2dv, glRasterPos2dv, NULL, 63), + NAME_FUNC_OFFSET( 693, glRasterPos2f, glRasterPos2f, NULL, 64), + NAME_FUNC_OFFSET( 707, glRasterPos2fv, glRasterPos2fv, NULL, 65), + NAME_FUNC_OFFSET( 722, glRasterPos2i, glRasterPos2i, NULL, 66), + NAME_FUNC_OFFSET( 736, glRasterPos2iv, glRasterPos2iv, NULL, 67), + NAME_FUNC_OFFSET( 751, glRasterPos2s, glRasterPos2s, NULL, 68), + NAME_FUNC_OFFSET( 765, glRasterPos2sv, glRasterPos2sv, NULL, 69), + NAME_FUNC_OFFSET( 780, glRasterPos3d, glRasterPos3d, NULL, 70), + NAME_FUNC_OFFSET( 794, glRasterPos3dv, glRasterPos3dv, NULL, 71), + NAME_FUNC_OFFSET( 809, glRasterPos3f, glRasterPos3f, NULL, 72), + NAME_FUNC_OFFSET( 823, glRasterPos3fv, glRasterPos3fv, NULL, 73), + NAME_FUNC_OFFSET( 838, glRasterPos3i, glRasterPos3i, NULL, 74), + NAME_FUNC_OFFSET( 852, glRasterPos3iv, glRasterPos3iv, NULL, 75), + NAME_FUNC_OFFSET( 867, glRasterPos3s, glRasterPos3s, NULL, 76), + NAME_FUNC_OFFSET( 881, glRasterPos3sv, glRasterPos3sv, NULL, 77), + NAME_FUNC_OFFSET( 896, glRasterPos4d, glRasterPos4d, NULL, 78), + NAME_FUNC_OFFSET( 910, glRasterPos4dv, glRasterPos4dv, NULL, 79), + NAME_FUNC_OFFSET( 925, glRasterPos4f, glRasterPos4f, NULL, 80), + NAME_FUNC_OFFSET( 939, glRasterPos4fv, glRasterPos4fv, NULL, 81), + NAME_FUNC_OFFSET( 954, glRasterPos4i, glRasterPos4i, NULL, 82), + NAME_FUNC_OFFSET( 968, glRasterPos4iv, glRasterPos4iv, NULL, 83), + NAME_FUNC_OFFSET( 983, glRasterPos4s, glRasterPos4s, NULL, 84), + NAME_FUNC_OFFSET( 997, glRasterPos4sv, glRasterPos4sv, NULL, 85), + NAME_FUNC_OFFSET( 1012, glRectd, glRectd, NULL, 86), + NAME_FUNC_OFFSET( 1020, glRectdv, glRectdv, NULL, 87), + NAME_FUNC_OFFSET( 1029, glRectf, glRectf, NULL, 88), + NAME_FUNC_OFFSET( 1037, glRectfv, glRectfv, NULL, 89), + NAME_FUNC_OFFSET( 1046, glRecti, glRecti, NULL, 90), + NAME_FUNC_OFFSET( 1054, glRectiv, glRectiv, NULL, 91), + NAME_FUNC_OFFSET( 1063, glRects, glRects, NULL, 92), + NAME_FUNC_OFFSET( 1071, glRectsv, glRectsv, NULL, 93), + NAME_FUNC_OFFSET( 1080, glTexCoord1d, glTexCoord1d, NULL, 94), + NAME_FUNC_OFFSET( 1093, glTexCoord1dv, glTexCoord1dv, NULL, 95), + NAME_FUNC_OFFSET( 1107, glTexCoord1f, glTexCoord1f, NULL, 96), + NAME_FUNC_OFFSET( 1120, glTexCoord1fv, glTexCoord1fv, NULL, 97), + NAME_FUNC_OFFSET( 1134, glTexCoord1i, glTexCoord1i, NULL, 98), + NAME_FUNC_OFFSET( 1147, glTexCoord1iv, glTexCoord1iv, NULL, 99), + NAME_FUNC_OFFSET( 1161, glTexCoord1s, glTexCoord1s, NULL, 100), + NAME_FUNC_OFFSET( 1174, glTexCoord1sv, glTexCoord1sv, NULL, 101), + NAME_FUNC_OFFSET( 1188, glTexCoord2d, glTexCoord2d, NULL, 102), + NAME_FUNC_OFFSET( 1201, glTexCoord2dv, glTexCoord2dv, NULL, 103), + NAME_FUNC_OFFSET( 1215, glTexCoord2f, glTexCoord2f, NULL, 104), + NAME_FUNC_OFFSET( 1228, glTexCoord2fv, glTexCoord2fv, NULL, 105), + NAME_FUNC_OFFSET( 1242, glTexCoord2i, glTexCoord2i, NULL, 106), + NAME_FUNC_OFFSET( 1255, glTexCoord2iv, glTexCoord2iv, NULL, 107), + NAME_FUNC_OFFSET( 1269, glTexCoord2s, glTexCoord2s, NULL, 108), + NAME_FUNC_OFFSET( 1282, glTexCoord2sv, glTexCoord2sv, NULL, 109), + NAME_FUNC_OFFSET( 1296, glTexCoord3d, glTexCoord3d, NULL, 110), + NAME_FUNC_OFFSET( 1309, glTexCoord3dv, glTexCoord3dv, NULL, 111), + NAME_FUNC_OFFSET( 1323, glTexCoord3f, glTexCoord3f, NULL, 112), + NAME_FUNC_OFFSET( 1336, glTexCoord3fv, glTexCoord3fv, NULL, 113), + NAME_FUNC_OFFSET( 1350, glTexCoord3i, glTexCoord3i, NULL, 114), + NAME_FUNC_OFFSET( 1363, glTexCoord3iv, glTexCoord3iv, NULL, 115), + NAME_FUNC_OFFSET( 1377, glTexCoord3s, glTexCoord3s, NULL, 116), + NAME_FUNC_OFFSET( 1390, glTexCoord3sv, glTexCoord3sv, NULL, 117), + NAME_FUNC_OFFSET( 1404, glTexCoord4d, glTexCoord4d, NULL, 118), + NAME_FUNC_OFFSET( 1417, glTexCoord4dv, glTexCoord4dv, NULL, 119), + NAME_FUNC_OFFSET( 1431, glTexCoord4f, glTexCoord4f, NULL, 120), + NAME_FUNC_OFFSET( 1444, glTexCoord4fv, glTexCoord4fv, NULL, 121), + NAME_FUNC_OFFSET( 1458, glTexCoord4i, glTexCoord4i, NULL, 122), + NAME_FUNC_OFFSET( 1471, glTexCoord4iv, glTexCoord4iv, NULL, 123), + NAME_FUNC_OFFSET( 1485, glTexCoord4s, glTexCoord4s, NULL, 124), + NAME_FUNC_OFFSET( 1498, glTexCoord4sv, glTexCoord4sv, NULL, 125), + NAME_FUNC_OFFSET( 1512, glVertex2d, glVertex2d, NULL, 126), + NAME_FUNC_OFFSET( 1523, glVertex2dv, glVertex2dv, NULL, 127), + NAME_FUNC_OFFSET( 1535, glVertex2f, glVertex2f, NULL, 128), + NAME_FUNC_OFFSET( 1546, glVertex2fv, glVertex2fv, NULL, 129), + NAME_FUNC_OFFSET( 1558, glVertex2i, glVertex2i, NULL, 130), + NAME_FUNC_OFFSET( 1569, glVertex2iv, glVertex2iv, NULL, 131), + NAME_FUNC_OFFSET( 1581, glVertex2s, glVertex2s, NULL, 132), + NAME_FUNC_OFFSET( 1592, glVertex2sv, glVertex2sv, NULL, 133), + NAME_FUNC_OFFSET( 1604, glVertex3d, glVertex3d, NULL, 134), + NAME_FUNC_OFFSET( 1615, glVertex3dv, glVertex3dv, NULL, 135), + NAME_FUNC_OFFSET( 1627, glVertex3f, glVertex3f, NULL, 136), + NAME_FUNC_OFFSET( 1638, glVertex3fv, glVertex3fv, NULL, 137), + NAME_FUNC_OFFSET( 1650, glVertex3i, glVertex3i, NULL, 138), + NAME_FUNC_OFFSET( 1661, glVertex3iv, glVertex3iv, NULL, 139), + NAME_FUNC_OFFSET( 1673, glVertex3s, glVertex3s, NULL, 140), + NAME_FUNC_OFFSET( 1684, glVertex3sv, glVertex3sv, NULL, 141), + NAME_FUNC_OFFSET( 1696, glVertex4d, glVertex4d, NULL, 142), + NAME_FUNC_OFFSET( 1707, glVertex4dv, glVertex4dv, NULL, 143), + NAME_FUNC_OFFSET( 1719, glVertex4f, glVertex4f, NULL, 144), + NAME_FUNC_OFFSET( 1730, glVertex4fv, glVertex4fv, NULL, 145), + NAME_FUNC_OFFSET( 1742, glVertex4i, glVertex4i, NULL, 146), + NAME_FUNC_OFFSET( 1753, glVertex4iv, glVertex4iv, NULL, 147), + NAME_FUNC_OFFSET( 1765, glVertex4s, glVertex4s, NULL, 148), + NAME_FUNC_OFFSET( 1776, glVertex4sv, glVertex4sv, NULL, 149), + NAME_FUNC_OFFSET( 1788, glClipPlane, glClipPlane, NULL, 150), + NAME_FUNC_OFFSET( 1800, glColorMaterial, glColorMaterial, NULL, 151), + NAME_FUNC_OFFSET( 1816, glCullFace, glCullFace, NULL, 152), + NAME_FUNC_OFFSET( 1827, glFogf, glFogf, NULL, 153), + NAME_FUNC_OFFSET( 1834, glFogfv, glFogfv, NULL, 154), + NAME_FUNC_OFFSET( 1842, glFogi, glFogi, NULL, 155), + NAME_FUNC_OFFSET( 1849, glFogiv, glFogiv, NULL, 156), + NAME_FUNC_OFFSET( 1857, glFrontFace, glFrontFace, NULL, 157), + NAME_FUNC_OFFSET( 1869, glHint, glHint, NULL, 158), + NAME_FUNC_OFFSET( 1876, glLightf, glLightf, NULL, 159), + NAME_FUNC_OFFSET( 1885, glLightfv, glLightfv, NULL, 160), + NAME_FUNC_OFFSET( 1895, glLighti, glLighti, NULL, 161), + NAME_FUNC_OFFSET( 1904, glLightiv, glLightiv, NULL, 162), + NAME_FUNC_OFFSET( 1914, glLightModelf, glLightModelf, NULL, 163), + NAME_FUNC_OFFSET( 1928, glLightModelfv, glLightModelfv, NULL, 164), + NAME_FUNC_OFFSET( 1943, glLightModeli, glLightModeli, NULL, 165), + NAME_FUNC_OFFSET( 1957, glLightModeliv, glLightModeliv, NULL, 166), + NAME_FUNC_OFFSET( 1972, glLineStipple, glLineStipple, NULL, 167), + NAME_FUNC_OFFSET( 1986, glLineWidth, glLineWidth, NULL, 168), + NAME_FUNC_OFFSET( 1998, glMaterialf, glMaterialf, NULL, 169), + NAME_FUNC_OFFSET( 2010, glMaterialfv, glMaterialfv, NULL, 170), + NAME_FUNC_OFFSET( 2023, glMateriali, glMateriali, NULL, 171), + NAME_FUNC_OFFSET( 2035, glMaterialiv, glMaterialiv, NULL, 172), + NAME_FUNC_OFFSET( 2048, glPointSize, glPointSize, NULL, 173), + NAME_FUNC_OFFSET( 2060, glPolygonMode, glPolygonMode, NULL, 174), + NAME_FUNC_OFFSET( 2074, glPolygonStipple, glPolygonStipple, NULL, 175), + NAME_FUNC_OFFSET( 2091, glScissor, glScissor, NULL, 176), + NAME_FUNC_OFFSET( 2101, glShadeModel, glShadeModel, NULL, 177), + NAME_FUNC_OFFSET( 2114, glTexParameterf, glTexParameterf, NULL, 178), + NAME_FUNC_OFFSET( 2130, glTexParameterfv, glTexParameterfv, NULL, 179), + NAME_FUNC_OFFSET( 2147, glTexParameteri, glTexParameteri, NULL, 180), + NAME_FUNC_OFFSET( 2163, glTexParameteriv, glTexParameteriv, NULL, 181), + NAME_FUNC_OFFSET( 2180, glTexImage1D, glTexImage1D, NULL, 182), + NAME_FUNC_OFFSET( 2193, glTexImage2D, glTexImage2D, NULL, 183), + NAME_FUNC_OFFSET( 2206, glTexEnvf, glTexEnvf, NULL, 184), + NAME_FUNC_OFFSET( 2216, glTexEnvfv, glTexEnvfv, NULL, 185), + NAME_FUNC_OFFSET( 2227, glTexEnvi, glTexEnvi, NULL, 186), + NAME_FUNC_OFFSET( 2237, glTexEnviv, glTexEnviv, NULL, 187), + NAME_FUNC_OFFSET( 2248, glTexGend, glTexGend, NULL, 188), + NAME_FUNC_OFFSET( 2258, glTexGendv, glTexGendv, NULL, 189), + NAME_FUNC_OFFSET( 2269, glTexGenf, glTexGenf, NULL, 190), + NAME_FUNC_OFFSET( 2279, glTexGenfv, glTexGenfv, NULL, 191), + NAME_FUNC_OFFSET( 2290, glTexGeni, glTexGeni, NULL, 192), + NAME_FUNC_OFFSET( 2300, glTexGeniv, glTexGeniv, NULL, 193), + NAME_FUNC_OFFSET( 2311, glFeedbackBuffer, glFeedbackBuffer, NULL, 194), + NAME_FUNC_OFFSET( 2328, glSelectBuffer, glSelectBuffer, NULL, 195), + NAME_FUNC_OFFSET( 2343, glRenderMode, glRenderMode, NULL, 196), + NAME_FUNC_OFFSET( 2356, glInitNames, glInitNames, NULL, 197), + NAME_FUNC_OFFSET( 2368, glLoadName, glLoadName, NULL, 198), + NAME_FUNC_OFFSET( 2379, glPassThrough, glPassThrough, NULL, 199), + NAME_FUNC_OFFSET( 2393, glPopName, glPopName, NULL, 200), + NAME_FUNC_OFFSET( 2403, glPushName, glPushName, NULL, 201), + NAME_FUNC_OFFSET( 2414, glDrawBuffer, glDrawBuffer, NULL, 202), + NAME_FUNC_OFFSET( 2427, glClear, glClear, NULL, 203), + NAME_FUNC_OFFSET( 2435, glClearAccum, glClearAccum, NULL, 204), + NAME_FUNC_OFFSET( 2448, glClearIndex, glClearIndex, NULL, 205), + NAME_FUNC_OFFSET( 2461, glClearColor, glClearColor, NULL, 206), + NAME_FUNC_OFFSET( 2474, glClearStencil, glClearStencil, NULL, 207), + NAME_FUNC_OFFSET( 2489, glClearDepth, glClearDepth, NULL, 208), + NAME_FUNC_OFFSET( 2502, glStencilMask, glStencilMask, NULL, 209), + NAME_FUNC_OFFSET( 2516, glColorMask, glColorMask, NULL, 210), + NAME_FUNC_OFFSET( 2528, glDepthMask, glDepthMask, NULL, 211), + NAME_FUNC_OFFSET( 2540, glIndexMask, glIndexMask, NULL, 212), + NAME_FUNC_OFFSET( 2552, glAccum, glAccum, NULL, 213), + NAME_FUNC_OFFSET( 2560, glDisable, glDisable, NULL, 214), + NAME_FUNC_OFFSET( 2570, glEnable, glEnable, NULL, 215), + NAME_FUNC_OFFSET( 2579, glFinish, glFinish, NULL, 216), + NAME_FUNC_OFFSET( 2588, glFlush, glFlush, NULL, 217), + NAME_FUNC_OFFSET( 2596, glPopAttrib, glPopAttrib, NULL, 218), + NAME_FUNC_OFFSET( 2608, glPushAttrib, glPushAttrib, NULL, 219), + NAME_FUNC_OFFSET( 2621, glMap1d, glMap1d, NULL, 220), + NAME_FUNC_OFFSET( 2629, glMap1f, glMap1f, NULL, 221), + NAME_FUNC_OFFSET( 2637, glMap2d, glMap2d, NULL, 222), + NAME_FUNC_OFFSET( 2645, glMap2f, glMap2f, NULL, 223), + NAME_FUNC_OFFSET( 2653, glMapGrid1d, glMapGrid1d, NULL, 224), + NAME_FUNC_OFFSET( 2665, glMapGrid1f, glMapGrid1f, NULL, 225), + NAME_FUNC_OFFSET( 2677, glMapGrid2d, glMapGrid2d, NULL, 226), + NAME_FUNC_OFFSET( 2689, glMapGrid2f, glMapGrid2f, NULL, 227), + NAME_FUNC_OFFSET( 2701, glEvalCoord1d, glEvalCoord1d, NULL, 228), + NAME_FUNC_OFFSET( 2715, glEvalCoord1dv, glEvalCoord1dv, NULL, 229), + NAME_FUNC_OFFSET( 2730, glEvalCoord1f, glEvalCoord1f, NULL, 230), + NAME_FUNC_OFFSET( 2744, glEvalCoord1fv, glEvalCoord1fv, NULL, 231), + NAME_FUNC_OFFSET( 2759, glEvalCoord2d, glEvalCoord2d, NULL, 232), + NAME_FUNC_OFFSET( 2773, glEvalCoord2dv, glEvalCoord2dv, NULL, 233), + NAME_FUNC_OFFSET( 2788, glEvalCoord2f, glEvalCoord2f, NULL, 234), + NAME_FUNC_OFFSET( 2802, glEvalCoord2fv, glEvalCoord2fv, NULL, 235), + NAME_FUNC_OFFSET( 2817, glEvalMesh1, glEvalMesh1, NULL, 236), + NAME_FUNC_OFFSET( 2829, glEvalPoint1, glEvalPoint1, NULL, 237), + NAME_FUNC_OFFSET( 2842, glEvalMesh2, glEvalMesh2, NULL, 238), + NAME_FUNC_OFFSET( 2854, glEvalPoint2, glEvalPoint2, NULL, 239), + NAME_FUNC_OFFSET( 2867, glAlphaFunc, glAlphaFunc, NULL, 240), + NAME_FUNC_OFFSET( 2879, glBlendFunc, glBlendFunc, NULL, 241), + NAME_FUNC_OFFSET( 2891, glLogicOp, glLogicOp, NULL, 242), + NAME_FUNC_OFFSET( 2901, glStencilFunc, glStencilFunc, NULL, 243), + NAME_FUNC_OFFSET( 2915, glStencilOp, glStencilOp, NULL, 244), + NAME_FUNC_OFFSET( 2927, glDepthFunc, glDepthFunc, NULL, 245), + NAME_FUNC_OFFSET( 2939, glPixelZoom, glPixelZoom, NULL, 246), + NAME_FUNC_OFFSET( 2951, glPixelTransferf, glPixelTransferf, NULL, 247), + NAME_FUNC_OFFSET( 2968, glPixelTransferi, glPixelTransferi, NULL, 248), + NAME_FUNC_OFFSET( 2985, glPixelStoref, glPixelStoref, NULL, 249), + NAME_FUNC_OFFSET( 2999, glPixelStorei, glPixelStorei, NULL, 250), + NAME_FUNC_OFFSET( 3013, glPixelMapfv, glPixelMapfv, NULL, 251), + NAME_FUNC_OFFSET( 3026, glPixelMapuiv, glPixelMapuiv, NULL, 252), + NAME_FUNC_OFFSET( 3040, glPixelMapusv, glPixelMapusv, NULL, 253), + NAME_FUNC_OFFSET( 3054, glReadBuffer, glReadBuffer, NULL, 254), + NAME_FUNC_OFFSET( 3067, glCopyPixels, glCopyPixels, NULL, 255), + NAME_FUNC_OFFSET( 3080, glReadPixels, glReadPixels, NULL, 256), + NAME_FUNC_OFFSET( 3093, glDrawPixels, glDrawPixels, NULL, 257), + NAME_FUNC_OFFSET( 3106, glGetBooleanv, glGetBooleanv, NULL, 258), + NAME_FUNC_OFFSET( 3120, glGetClipPlane, glGetClipPlane, NULL, 259), + NAME_FUNC_OFFSET( 3135, glGetDoublev, glGetDoublev, NULL, 260), + NAME_FUNC_OFFSET( 3148, glGetError, glGetError, NULL, 261), + NAME_FUNC_OFFSET( 3159, glGetFloatv, glGetFloatv, NULL, 262), + NAME_FUNC_OFFSET( 3171, glGetIntegerv, glGetIntegerv, NULL, 263), + NAME_FUNC_OFFSET( 3185, glGetLightfv, glGetLightfv, NULL, 264), + NAME_FUNC_OFFSET( 3198, glGetLightiv, glGetLightiv, NULL, 265), + NAME_FUNC_OFFSET( 3211, glGetMapdv, glGetMapdv, NULL, 266), + NAME_FUNC_OFFSET( 3222, glGetMapfv, glGetMapfv, NULL, 267), + NAME_FUNC_OFFSET( 3233, glGetMapiv, glGetMapiv, NULL, 268), + NAME_FUNC_OFFSET( 3244, glGetMaterialfv, glGetMaterialfv, NULL, 269), + NAME_FUNC_OFFSET( 3260, glGetMaterialiv, glGetMaterialiv, NULL, 270), + NAME_FUNC_OFFSET( 3276, glGetPixelMapfv, glGetPixelMapfv, NULL, 271), + NAME_FUNC_OFFSET( 3292, glGetPixelMapuiv, glGetPixelMapuiv, NULL, 272), + NAME_FUNC_OFFSET( 3309, glGetPixelMapusv, glGetPixelMapusv, NULL, 273), + NAME_FUNC_OFFSET( 3326, glGetPolygonStipple, glGetPolygonStipple, NULL, 274), + NAME_FUNC_OFFSET( 3346, glGetString, glGetString, NULL, 275), + NAME_FUNC_OFFSET( 3358, glGetTexEnvfv, glGetTexEnvfv, NULL, 276), + NAME_FUNC_OFFSET( 3372, glGetTexEnviv, glGetTexEnviv, NULL, 277), + NAME_FUNC_OFFSET( 3386, glGetTexGendv, glGetTexGendv, NULL, 278), + NAME_FUNC_OFFSET( 3400, glGetTexGenfv, glGetTexGenfv, NULL, 279), + NAME_FUNC_OFFSET( 3414, glGetTexGeniv, glGetTexGeniv, NULL, 280), + NAME_FUNC_OFFSET( 3428, glGetTexImage, glGetTexImage, NULL, 281), + NAME_FUNC_OFFSET( 3442, glGetTexParameterfv, glGetTexParameterfv, NULL, 282), + NAME_FUNC_OFFSET( 3462, glGetTexParameteriv, glGetTexParameteriv, NULL, 283), + NAME_FUNC_OFFSET( 3482, glGetTexLevelParameterfv, glGetTexLevelParameterfv, NULL, 284), + NAME_FUNC_OFFSET( 3507, glGetTexLevelParameteriv, glGetTexLevelParameteriv, NULL, 285), + NAME_FUNC_OFFSET( 3532, glIsEnabled, glIsEnabled, NULL, 286), + NAME_FUNC_OFFSET( 3544, glIsList, glIsList, NULL, 287), + NAME_FUNC_OFFSET( 3553, glDepthRange, glDepthRange, NULL, 288), + NAME_FUNC_OFFSET( 3566, glFrustum, glFrustum, NULL, 289), + NAME_FUNC_OFFSET( 3576, glLoadIdentity, glLoadIdentity, NULL, 290), + NAME_FUNC_OFFSET( 3591, glLoadMatrixf, glLoadMatrixf, NULL, 291), + NAME_FUNC_OFFSET( 3605, glLoadMatrixd, glLoadMatrixd, NULL, 292), + NAME_FUNC_OFFSET( 3619, glMatrixMode, glMatrixMode, NULL, 293), + NAME_FUNC_OFFSET( 3632, glMultMatrixf, glMultMatrixf, NULL, 294), + NAME_FUNC_OFFSET( 3646, glMultMatrixd, glMultMatrixd, NULL, 295), + NAME_FUNC_OFFSET( 3660, glOrtho, glOrtho, NULL, 296), + NAME_FUNC_OFFSET( 3668, glPopMatrix, glPopMatrix, NULL, 297), + NAME_FUNC_OFFSET( 3680, glPushMatrix, glPushMatrix, NULL, 298), + NAME_FUNC_OFFSET( 3693, glRotated, glRotated, NULL, 299), + NAME_FUNC_OFFSET( 3703, glRotatef, glRotatef, NULL, 300), + NAME_FUNC_OFFSET( 3713, glScaled, glScaled, NULL, 301), + NAME_FUNC_OFFSET( 3722, glScalef, glScalef, NULL, 302), + NAME_FUNC_OFFSET( 3731, glTranslated, glTranslated, NULL, 303), + NAME_FUNC_OFFSET( 3744, glTranslatef, glTranslatef, NULL, 304), + NAME_FUNC_OFFSET( 3757, glViewport, glViewport, NULL, 305), + NAME_FUNC_OFFSET( 3768, glArrayElement, glArrayElement, NULL, 306), + NAME_FUNC_OFFSET( 3783, glBindTexture, glBindTexture, NULL, 307), + NAME_FUNC_OFFSET( 3797, glColorPointer, glColorPointer, NULL, 308), + NAME_FUNC_OFFSET( 3812, glDisableClientState, glDisableClientState, NULL, 309), + NAME_FUNC_OFFSET( 3833, glDrawArrays, glDrawArrays, NULL, 310), + NAME_FUNC_OFFSET( 3846, glDrawElements, glDrawElements, NULL, 311), + NAME_FUNC_OFFSET( 3861, glEdgeFlagPointer, glEdgeFlagPointer, NULL, 312), + NAME_FUNC_OFFSET( 3879, glEnableClientState, glEnableClientState, NULL, 313), + NAME_FUNC_OFFSET( 3899, glIndexPointer, glIndexPointer, NULL, 314), + NAME_FUNC_OFFSET( 3914, glIndexub, glIndexub, NULL, 315), + NAME_FUNC_OFFSET( 3924, glIndexubv, glIndexubv, NULL, 316), + NAME_FUNC_OFFSET( 3935, glInterleavedArrays, glInterleavedArrays, NULL, 317), + NAME_FUNC_OFFSET( 3955, glNormalPointer, glNormalPointer, NULL, 318), + NAME_FUNC_OFFSET( 3971, glPolygonOffset, glPolygonOffset, NULL, 319), + NAME_FUNC_OFFSET( 3987, glTexCoordPointer, glTexCoordPointer, NULL, 320), + NAME_FUNC_OFFSET( 4005, glVertexPointer, glVertexPointer, NULL, 321), + NAME_FUNC_OFFSET( 4021, glAreTexturesResident, glAreTexturesResident, NULL, 322), + NAME_FUNC_OFFSET( 4043, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), + NAME_FUNC_OFFSET( 4060, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), + NAME_FUNC_OFFSET( 4077, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), + NAME_FUNC_OFFSET( 4097, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), + NAME_FUNC_OFFSET( 4117, glDeleteTextures, glDeleteTextures, NULL, 327), + NAME_FUNC_OFFSET( 4134, glGenTextures, glGenTextures, NULL, 328), + NAME_FUNC_OFFSET( 4148, glGetPointerv, glGetPointerv, NULL, 329), + NAME_FUNC_OFFSET( 4162, glIsTexture, glIsTexture, NULL, 330), + NAME_FUNC_OFFSET( 4174, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), + NAME_FUNC_OFFSET( 4195, glTexSubImage1D, glTexSubImage1D, NULL, 332), + NAME_FUNC_OFFSET( 4211, glTexSubImage2D, glTexSubImage2D, NULL, 333), + NAME_FUNC_OFFSET( 4227, glPopClientAttrib, glPopClientAttrib, NULL, 334), + NAME_FUNC_OFFSET( 4245, glPushClientAttrib, glPushClientAttrib, NULL, 335), + NAME_FUNC_OFFSET( 4264, glBlendColor, glBlendColor, NULL, 336), + NAME_FUNC_OFFSET( 4277, glBlendEquation, glBlendEquation, NULL, 337), + NAME_FUNC_OFFSET( 4293, glDrawRangeElements, glDrawRangeElements, NULL, 338), + NAME_FUNC_OFFSET( 4313, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET( 4326, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), + NAME_FUNC_OFFSET( 4350, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), + NAME_FUNC_OFFSET( 4374, glCopyColorTable, glCopyColorTable, NULL, 342), + NAME_FUNC_OFFSET( 4391, glGetColorTable, glGetColorTable, NULL, 343), + NAME_FUNC_OFFSET( 4407, glGetColorTableParameterfv, glGetColorTableParameterfv, NULL, 344), + NAME_FUNC_OFFSET( 4434, glGetColorTableParameteriv, glGetColorTableParameteriv, NULL, 345), + NAME_FUNC_OFFSET( 4461, glColorSubTable, glColorSubTable, NULL, 346), + NAME_FUNC_OFFSET( 4477, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), + NAME_FUNC_OFFSET( 4497, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), + NAME_FUNC_OFFSET( 4519, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), + NAME_FUNC_OFFSET( 4541, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), + NAME_FUNC_OFFSET( 4565, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), + NAME_FUNC_OFFSET( 4590, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), + NAME_FUNC_OFFSET( 4614, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), + NAME_FUNC_OFFSET( 4639, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), + NAME_FUNC_OFFSET( 4665, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), + NAME_FUNC_OFFSET( 4691, glGetConvolutionFilter, glGetConvolutionFilter, NULL, 356), + NAME_FUNC_OFFSET( 4714, glGetConvolutionParameterfv, glGetConvolutionParameterfv, NULL, 357), + NAME_FUNC_OFFSET( 4742, glGetConvolutionParameteriv, glGetConvolutionParameteriv, NULL, 358), + NAME_FUNC_OFFSET( 4770, glGetSeparableFilter, glGetSeparableFilter, NULL, 359), + NAME_FUNC_OFFSET( 4791, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), + NAME_FUNC_OFFSET( 4811, glGetHistogram, glGetHistogram, NULL, 361), + NAME_FUNC_OFFSET( 4826, glGetHistogramParameterfv, glGetHistogramParameterfv, NULL, 362), + NAME_FUNC_OFFSET( 4852, glGetHistogramParameteriv, glGetHistogramParameteriv, NULL, 363), + NAME_FUNC_OFFSET( 4878, glGetMinmax, glGetMinmax, NULL, 364), + NAME_FUNC_OFFSET( 4890, glGetMinmaxParameterfv, glGetMinmaxParameterfv, NULL, 365), + NAME_FUNC_OFFSET( 4913, glGetMinmaxParameteriv, glGetMinmaxParameteriv, NULL, 366), + NAME_FUNC_OFFSET( 4936, glHistogram, glHistogram, NULL, 367), + NAME_FUNC_OFFSET( 4948, glMinmax, glMinmax, NULL, 368), + NAME_FUNC_OFFSET( 4957, glResetHistogram, glResetHistogram, NULL, 369), + NAME_FUNC_OFFSET( 4974, glResetMinmax, glResetMinmax, NULL, 370), + NAME_FUNC_OFFSET( 4988, glTexImage3D, glTexImage3D, NULL, 371), + NAME_FUNC_OFFSET( 5001, glTexSubImage3D, glTexSubImage3D, NULL, 372), + NAME_FUNC_OFFSET( 5017, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), + NAME_FUNC_OFFSET( 5037, glActiveTextureARB, glActiveTextureARB, NULL, 374), + NAME_FUNC_OFFSET( 5056, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), + NAME_FUNC_OFFSET( 5081, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), + NAME_FUNC_OFFSET( 5102, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), + NAME_FUNC_OFFSET( 5124, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), + NAME_FUNC_OFFSET( 5145, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), + NAME_FUNC_OFFSET( 5167, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), + NAME_FUNC_OFFSET( 5188, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), + NAME_FUNC_OFFSET( 5210, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), + NAME_FUNC_OFFSET( 5231, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), + NAME_FUNC_OFFSET( 5253, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), + NAME_FUNC_OFFSET( 5274, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), + NAME_FUNC_OFFSET( 5296, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), + NAME_FUNC_OFFSET( 5317, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), + NAME_FUNC_OFFSET( 5339, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), + NAME_FUNC_OFFSET( 5360, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), + NAME_FUNC_OFFSET( 5382, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), + NAME_FUNC_OFFSET( 5403, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), + NAME_FUNC_OFFSET( 5425, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), + NAME_FUNC_OFFSET( 5446, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), + NAME_FUNC_OFFSET( 5468, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), + NAME_FUNC_OFFSET( 5489, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), + NAME_FUNC_OFFSET( 5511, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), + NAME_FUNC_OFFSET( 5532, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), + NAME_FUNC_OFFSET( 5554, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), + NAME_FUNC_OFFSET( 5575, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), + NAME_FUNC_OFFSET( 5597, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), + NAME_FUNC_OFFSET( 5618, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), + NAME_FUNC_OFFSET( 5640, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), + NAME_FUNC_OFFSET( 5661, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), + NAME_FUNC_OFFSET( 5683, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), + NAME_FUNC_OFFSET( 5704, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), + NAME_FUNC_OFFSET( 5726, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), + NAME_FUNC_OFFSET( 5747, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), + NAME_FUNC_OFFSET( 5769, glAttachShader, glAttachShader, NULL, 408), + NAME_FUNC_OFFSET( 5784, glCreateProgram, glCreateProgram, NULL, 409), + NAME_FUNC_OFFSET( 5800, glCreateShader, glCreateShader, NULL, 410), + NAME_FUNC_OFFSET( 5815, glDeleteProgram, glDeleteProgram, NULL, 411), + NAME_FUNC_OFFSET( 5831, glDeleteShader, glDeleteShader, NULL, 412), + NAME_FUNC_OFFSET( 5846, glDetachShader, glDetachShader, NULL, 413), + NAME_FUNC_OFFSET( 5861, glGetAttachedShaders, glGetAttachedShaders, NULL, 414), + NAME_FUNC_OFFSET( 5882, glGetProgramInfoLog, glGetProgramInfoLog, NULL, 415), + NAME_FUNC_OFFSET( 5902, glGetProgramiv, glGetProgramiv, NULL, 416), + NAME_FUNC_OFFSET( 5917, glGetShaderInfoLog, glGetShaderInfoLog, NULL, 417), + NAME_FUNC_OFFSET( 5936, glGetShaderiv, glGetShaderiv, NULL, 418), + NAME_FUNC_OFFSET( 5950, glIsProgram, glIsProgram, NULL, 419), + NAME_FUNC_OFFSET( 5962, glIsShader, glIsShader, NULL, 420), + NAME_FUNC_OFFSET( 5973, glStencilFuncSeparate, glStencilFuncSeparate, NULL, 421), + NAME_FUNC_OFFSET( 5995, glStencilMaskSeparate, glStencilMaskSeparate, NULL, 422), + NAME_FUNC_OFFSET( 6017, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), + NAME_FUNC_OFFSET( 6037, glUniformMatrix2x3fv, glUniformMatrix2x3fv, NULL, 424), + NAME_FUNC_OFFSET( 6058, glUniformMatrix2x4fv, glUniformMatrix2x4fv, NULL, 425), + NAME_FUNC_OFFSET( 6079, glUniformMatrix3x2fv, glUniformMatrix3x2fv, NULL, 426), + NAME_FUNC_OFFSET( 6100, glUniformMatrix3x4fv, glUniformMatrix3x4fv, NULL, 427), + NAME_FUNC_OFFSET( 6121, glUniformMatrix4x2fv, glUniformMatrix4x2fv, NULL, 428), + NAME_FUNC_OFFSET( 6142, glUniformMatrix4x3fv, glUniformMatrix4x3fv, NULL, 429), + NAME_FUNC_OFFSET( 6163, glDrawArraysInstanced, glDrawArraysInstanced, NULL, 430), + NAME_FUNC_OFFSET( 6185, glDrawElementsInstanced, glDrawElementsInstanced, NULL, 431), + NAME_FUNC_OFFSET( 6209, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 432), + NAME_FUNC_OFFSET( 6235, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 433), + NAME_FUNC_OFFSET( 6261, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 434), + NAME_FUNC_OFFSET( 6287, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 435), + NAME_FUNC_OFFSET( 6313, glSampleCoverageARB, glSampleCoverageARB, NULL, 436), + NAME_FUNC_OFFSET( 6333, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 437), + NAME_FUNC_OFFSET( 6359, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 438), + NAME_FUNC_OFFSET( 6385, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 439), + NAME_FUNC_OFFSET( 6411, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 440), + NAME_FUNC_OFFSET( 6440, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 441), + NAME_FUNC_OFFSET( 6469, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 442), + NAME_FUNC_OFFSET( 6498, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 443), + NAME_FUNC_OFFSET( 6525, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 444), + NAME_FUNC_OFFSET( 6555, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 445), + NAME_FUNC_OFFSET( 6584, glGetProgramEnvParameterdvARB, glGetProgramEnvParameterdvARB, NULL, 446), + NAME_FUNC_OFFSET( 6614, glGetProgramEnvParameterfvARB, glGetProgramEnvParameterfvARB, NULL, 447), + NAME_FUNC_OFFSET( 6644, glGetProgramLocalParameterdvARB, glGetProgramLocalParameterdvARB, NULL, 448), + NAME_FUNC_OFFSET( 6676, glGetProgramLocalParameterfvARB, glGetProgramLocalParameterfvARB, NULL, 449), + NAME_FUNC_OFFSET( 6708, glGetProgramStringARB, glGetProgramStringARB, NULL, 450), + NAME_FUNC_OFFSET( 6730, glGetProgramivARB, glGetProgramivARB, NULL, 451), + NAME_FUNC_OFFSET( 6748, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 452), + NAME_FUNC_OFFSET( 6771, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 453), + NAME_FUNC_OFFSET( 6794, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 454), + NAME_FUNC_OFFSET( 6817, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 455), + NAME_FUNC_OFFSET( 6844, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 456), + NAME_FUNC_OFFSET( 6872, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 457), + NAME_FUNC_OFFSET( 6899, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 458), + NAME_FUNC_OFFSET( 6927, glProgramLocalParameter4dARB, glProgramLocalParameter4dARB, NULL, 459), + NAME_FUNC_OFFSET( 6956, glProgramLocalParameter4dvARB, glProgramLocalParameter4dvARB, NULL, 460), + NAME_FUNC_OFFSET( 6986, glProgramLocalParameter4fARB, glProgramLocalParameter4fARB, NULL, 461), + NAME_FUNC_OFFSET( 7015, glProgramLocalParameter4fvARB, glProgramLocalParameter4fvARB, NULL, 462), + NAME_FUNC_OFFSET( 7045, glProgramStringARB, glProgramStringARB, NULL, 463), + NAME_FUNC_OFFSET( 7064, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 464), + NAME_FUNC_OFFSET( 7084, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 465), + NAME_FUNC_OFFSET( 7105, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 466), + NAME_FUNC_OFFSET( 7125, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 467), + NAME_FUNC_OFFSET( 7146, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 468), + NAME_FUNC_OFFSET( 7166, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 469), + NAME_FUNC_OFFSET( 7187, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 470), + NAME_FUNC_OFFSET( 7207, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 471), + NAME_FUNC_OFFSET( 7228, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 472), + NAME_FUNC_OFFSET( 7248, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 473), + NAME_FUNC_OFFSET( 7269, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 474), + NAME_FUNC_OFFSET( 7289, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 475), + NAME_FUNC_OFFSET( 7310, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 476), + NAME_FUNC_OFFSET( 7330, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 477), + NAME_FUNC_OFFSET( 7351, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 478), + NAME_FUNC_OFFSET( 7371, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 479), + NAME_FUNC_OFFSET( 7392, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 480), + NAME_FUNC_OFFSET( 7412, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 481), + NAME_FUNC_OFFSET( 7433, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 482), + NAME_FUNC_OFFSET( 7455, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 483), + NAME_FUNC_OFFSET( 7477, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 484), + NAME_FUNC_OFFSET( 7499, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 485), + NAME_FUNC_OFFSET( 7521, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 486), + NAME_FUNC_OFFSET( 7544, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 487), + NAME_FUNC_OFFSET( 7567, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 488), + NAME_FUNC_OFFSET( 7590, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 489), + NAME_FUNC_OFFSET( 7611, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 490), + NAME_FUNC_OFFSET( 7631, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 491), + NAME_FUNC_OFFSET( 7652, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 492), + NAME_FUNC_OFFSET( 7672, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 493), + NAME_FUNC_OFFSET( 7693, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 494), + NAME_FUNC_OFFSET( 7714, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 495), + NAME_FUNC_OFFSET( 7734, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 496), + NAME_FUNC_OFFSET( 7755, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 497), + NAME_FUNC_OFFSET( 7777, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 498), + NAME_FUNC_OFFSET( 7799, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 499), + NAME_FUNC_OFFSET( 7821, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 500), + NAME_FUNC_OFFSET( 7846, glBindBufferARB, glBindBufferARB, NULL, 501), + NAME_FUNC_OFFSET( 7862, glBufferDataARB, glBufferDataARB, NULL, 502), + NAME_FUNC_OFFSET( 7878, glBufferSubDataARB, glBufferSubDataARB, NULL, 503), + NAME_FUNC_OFFSET( 7897, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 504), + NAME_FUNC_OFFSET( 7916, glGenBuffersARB, glGenBuffersARB, NULL, 505), + NAME_FUNC_OFFSET( 7932, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 506), + NAME_FUNC_OFFSET( 7958, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 507), + NAME_FUNC_OFFSET( 7981, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 508), + NAME_FUNC_OFFSET( 8003, glIsBufferARB, glIsBufferARB, NULL, 509), + NAME_FUNC_OFFSET( 8017, glMapBufferARB, glMapBufferARB, NULL, 510), + NAME_FUNC_OFFSET( 8032, glUnmapBufferARB, glUnmapBufferARB, NULL, 511), + NAME_FUNC_OFFSET( 8049, glBeginQueryARB, glBeginQueryARB, NULL, 512), + NAME_FUNC_OFFSET( 8065, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 513), + NAME_FUNC_OFFSET( 8084, glEndQueryARB, glEndQueryARB, NULL, 514), + NAME_FUNC_OFFSET( 8098, glGenQueriesARB, glGenQueriesARB, NULL, 515), + NAME_FUNC_OFFSET( 8114, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 516), + NAME_FUNC_OFFSET( 8136, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 517), + NAME_FUNC_OFFSET( 8159, glGetQueryivARB, glGetQueryivARB, NULL, 518), + NAME_FUNC_OFFSET( 8175, glIsQueryARB, glIsQueryARB, NULL, 519), + NAME_FUNC_OFFSET( 8188, glAttachObjectARB, glAttachObjectARB, NULL, 520), + NAME_FUNC_OFFSET( 8206, glCompileShaderARB, glCompileShaderARB, NULL, 521), + NAME_FUNC_OFFSET( 8225, glCreateProgramObjectARB, glCreateProgramObjectARB, NULL, 522), + NAME_FUNC_OFFSET( 8250, glCreateShaderObjectARB, glCreateShaderObjectARB, NULL, 523), + NAME_FUNC_OFFSET( 8274, glDeleteObjectARB, glDeleteObjectARB, NULL, 524), + NAME_FUNC_OFFSET( 8292, glDetachObjectARB, glDetachObjectARB, NULL, 525), + NAME_FUNC_OFFSET( 8310, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 526), + NAME_FUNC_OFFSET( 8332, glGetAttachedObjectsARB, glGetAttachedObjectsARB, NULL, 527), + NAME_FUNC_OFFSET( 8356, glGetHandleARB, glGetHandleARB, NULL, 528), + NAME_FUNC_OFFSET( 8371, glGetInfoLogARB, glGetInfoLogARB, NULL, 529), + NAME_FUNC_OFFSET( 8387, glGetObjectParameterfvARB, glGetObjectParameterfvARB, NULL, 530), + NAME_FUNC_OFFSET( 8413, glGetObjectParameterivARB, glGetObjectParameterivARB, NULL, 531), + NAME_FUNC_OFFSET( 8439, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 532), + NAME_FUNC_OFFSET( 8460, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 533), + NAME_FUNC_OFFSET( 8484, glGetUniformfvARB, glGetUniformfvARB, NULL, 534), + NAME_FUNC_OFFSET( 8502, glGetUniformivARB, glGetUniformivARB, NULL, 535), + NAME_FUNC_OFFSET( 8520, glLinkProgramARB, glLinkProgramARB, NULL, 536), + NAME_FUNC_OFFSET( 8537, glShaderSourceARB, glShaderSourceARB, NULL, 537), + NAME_FUNC_OFFSET( 8555, glUniform1fARB, glUniform1fARB, NULL, 538), + NAME_FUNC_OFFSET( 8570, glUniform1fvARB, glUniform1fvARB, NULL, 539), + NAME_FUNC_OFFSET( 8586, glUniform1iARB, glUniform1iARB, NULL, 540), + NAME_FUNC_OFFSET( 8601, glUniform1ivARB, glUniform1ivARB, NULL, 541), + NAME_FUNC_OFFSET( 8617, glUniform2fARB, glUniform2fARB, NULL, 542), + NAME_FUNC_OFFSET( 8632, glUniform2fvARB, glUniform2fvARB, NULL, 543), + NAME_FUNC_OFFSET( 8648, glUniform2iARB, glUniform2iARB, NULL, 544), + NAME_FUNC_OFFSET( 8663, glUniform2ivARB, glUniform2ivARB, NULL, 545), + NAME_FUNC_OFFSET( 8679, glUniform3fARB, glUniform3fARB, NULL, 546), + NAME_FUNC_OFFSET( 8694, glUniform3fvARB, glUniform3fvARB, NULL, 547), + NAME_FUNC_OFFSET( 8710, glUniform3iARB, glUniform3iARB, NULL, 548), + NAME_FUNC_OFFSET( 8725, glUniform3ivARB, glUniform3ivARB, NULL, 549), + NAME_FUNC_OFFSET( 8741, glUniform4fARB, glUniform4fARB, NULL, 550), + NAME_FUNC_OFFSET( 8756, glUniform4fvARB, glUniform4fvARB, NULL, 551), + NAME_FUNC_OFFSET( 8772, glUniform4iARB, glUniform4iARB, NULL, 552), + NAME_FUNC_OFFSET( 8787, glUniform4ivARB, glUniform4ivARB, NULL, 553), + NAME_FUNC_OFFSET( 8803, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 554), + NAME_FUNC_OFFSET( 8825, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 555), + NAME_FUNC_OFFSET( 8847, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 556), + NAME_FUNC_OFFSET( 8869, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 557), + NAME_FUNC_OFFSET( 8891, glValidateProgramARB, glValidateProgramARB, NULL, 558), + NAME_FUNC_OFFSET( 8912, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 559), + NAME_FUNC_OFFSET( 8936, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 560), + NAME_FUNC_OFFSET( 8957, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 561), + NAME_FUNC_OFFSET( 8980, glDrawBuffersARB, glDrawBuffersARB, NULL, 562), + NAME_FUNC_OFFSET( 8997, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 563), + NAME_FUNC_OFFSET( 9030, glFramebufferTextureARB, glFramebufferTextureARB, NULL, 564), + NAME_FUNC_OFFSET( 9054, glFramebufferTextureFaceARB, glFramebufferTextureFaceARB, NULL, 565), + NAME_FUNC_OFFSET( 9082, glProgramParameteriARB, glProgramParameteriARB, NULL, 566), + NAME_FUNC_OFFSET( 9105, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, 567), + NAME_FUNC_OFFSET( 9130, glMapBufferRange, glMapBufferRange, NULL, 568), + NAME_FUNC_OFFSET( 9147, glBindVertexArray, glBindVertexArray, NULL, 569), + NAME_FUNC_OFFSET( 9165, glGenVertexArrays, glGenVertexArrays, NULL, 570), + NAME_FUNC_OFFSET( 9183, glCopyBufferSubData, glCopyBufferSubData, NULL, 571), + NAME_FUNC_OFFSET( 9203, glClientWaitSync, glClientWaitSync, NULL, 572), + NAME_FUNC_OFFSET( 9220, glDeleteSync, glDeleteSync, NULL, 573), + NAME_FUNC_OFFSET( 9233, glFenceSync, glFenceSync, NULL, 574), + NAME_FUNC_OFFSET( 9245, glGetInteger64v, glGetInteger64v, NULL, 575), + NAME_FUNC_OFFSET( 9261, glGetSynciv, glGetSynciv, NULL, 576), + NAME_FUNC_OFFSET( 9273, glIsSync, glIsSync, NULL, 577), + NAME_FUNC_OFFSET( 9282, glWaitSync, glWaitSync, NULL, 578), + NAME_FUNC_OFFSET( 9293, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, 579), + NAME_FUNC_OFFSET( 9318, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, 580), + NAME_FUNC_OFFSET( 9348, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, 581), + NAME_FUNC_OFFSET( 9378, glBindTransformFeedback, glBindTransformFeedback, NULL, 582), + NAME_FUNC_OFFSET( 9402, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, 583), + NAME_FUNC_OFFSET( 9429, glDrawTransformFeedback, glDrawTransformFeedback, NULL, 584), + NAME_FUNC_OFFSET( 9453, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, 585), + NAME_FUNC_OFFSET( 9477, glIsTransformFeedback, glIsTransformFeedback, NULL, 586), + NAME_FUNC_OFFSET( 9499, glPauseTransformFeedback, glPauseTransformFeedback, NULL, 587), + NAME_FUNC_OFFSET( 9524, glResumeTransformFeedback, glResumeTransformFeedback, NULL, 588), + NAME_FUNC_OFFSET( 9550, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 589), + NAME_FUNC_OFFSET( 9569, gl_dispatch_stub_590, gl_dispatch_stub_590, NULL, 590), + NAME_FUNC_OFFSET( 9601, gl_dispatch_stub_591, gl_dispatch_stub_591, NULL, 591), + NAME_FUNC_OFFSET( 9633, gl_dispatch_stub_592, gl_dispatch_stub_592, NULL, 592), + NAME_FUNC_OFFSET( 9661, gl_dispatch_stub_593, gl_dispatch_stub_593, NULL, 593), + NAME_FUNC_OFFSET( 9690, gl_dispatch_stub_594, gl_dispatch_stub_594, NULL, 594), + NAME_FUNC_OFFSET( 9718, gl_dispatch_stub_595, gl_dispatch_stub_595, NULL, 595), + NAME_FUNC_OFFSET( 9747, gl_dispatch_stub_596, gl_dispatch_stub_596, NULL, 596), + NAME_FUNC_OFFSET( 9764, gl_dispatch_stub_597, gl_dispatch_stub_597, NULL, 597), + NAME_FUNC_OFFSET( 9784, glColorPointerEXT, glColorPointerEXT, NULL, 598), + NAME_FUNC_OFFSET( 9802, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 599), + NAME_FUNC_OFFSET( 9823, glIndexPointerEXT, glIndexPointerEXT, NULL, 600), + NAME_FUNC_OFFSET( 9841, glNormalPointerEXT, glNormalPointerEXT, NULL, 601), + NAME_FUNC_OFFSET( 9860, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 602), + NAME_FUNC_OFFSET( 9881, glVertexPointerEXT, glVertexPointerEXT, NULL, 603), + NAME_FUNC_OFFSET( 9900, glPointParameterfEXT, glPointParameterfEXT, NULL, 604), + NAME_FUNC_OFFSET( 9921, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 605), + NAME_FUNC_OFFSET( 9943, glLockArraysEXT, glLockArraysEXT, NULL, 606), + NAME_FUNC_OFFSET( 9959, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 607), + NAME_FUNC_OFFSET( 9977, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 608), + NAME_FUNC_OFFSET( 9999, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 609), + NAME_FUNC_OFFSET(10022, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 610), + NAME_FUNC_OFFSET(10044, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 611), + NAME_FUNC_OFFSET(10067, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 612), + NAME_FUNC_OFFSET(10089, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 613), + NAME_FUNC_OFFSET(10112, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 614), + NAME_FUNC_OFFSET(10134, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 615), + NAME_FUNC_OFFSET(10157, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 616), + NAME_FUNC_OFFSET(10179, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 617), + NAME_FUNC_OFFSET(10202, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 618), + NAME_FUNC_OFFSET(10225, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 619), + NAME_FUNC_OFFSET(10249, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 620), + NAME_FUNC_OFFSET(10272, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 621), + NAME_FUNC_OFFSET(10296, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 622), + NAME_FUNC_OFFSET(10319, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 623), + NAME_FUNC_OFFSET(10343, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 624), + NAME_FUNC_OFFSET(10370, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 625), + NAME_FUNC_OFFSET(10391, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 626), + NAME_FUNC_OFFSET(10414, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 627), + NAME_FUNC_OFFSET(10435, glFogCoorddEXT, glFogCoorddEXT, NULL, 628), + NAME_FUNC_OFFSET(10450, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 629), + NAME_FUNC_OFFSET(10466, glFogCoordfEXT, glFogCoordfEXT, NULL, 630), + NAME_FUNC_OFFSET(10481, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 631), + NAME_FUNC_OFFSET(10497, gl_dispatch_stub_632, gl_dispatch_stub_632, NULL, 632), + NAME_FUNC_OFFSET(10515, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 633), + NAME_FUNC_OFFSET(10538, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, 634), + NAME_FUNC_OFFSET(10564, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, 635), + NAME_FUNC_OFFSET(10585, glCombinerInputNV, glCombinerInputNV, NULL, 636), + NAME_FUNC_OFFSET(10603, glCombinerOutputNV, glCombinerOutputNV, NULL, 637), + NAME_FUNC_OFFSET(10622, glCombinerParameterfNV, glCombinerParameterfNV, NULL, 638), + NAME_FUNC_OFFSET(10645, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, 639), + NAME_FUNC_OFFSET(10669, glCombinerParameteriNV, glCombinerParameteriNV, NULL, 640), + NAME_FUNC_OFFSET(10692, glCombinerParameterivNV, glCombinerParameterivNV, NULL, 641), + NAME_FUNC_OFFSET(10716, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, 642), + NAME_FUNC_OFFSET(10739, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, 643), + NAME_FUNC_OFFSET(10771, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, 644), + NAME_FUNC_OFFSET(10803, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, 645), + NAME_FUNC_OFFSET(10836, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, 646), + NAME_FUNC_OFFSET(10869, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, 647), + NAME_FUNC_OFFSET(10906, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, 648), + NAME_FUNC_OFFSET(10943, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 649), + NAME_FUNC_OFFSET(10963, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 650), + NAME_FUNC_OFFSET(10981, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 651), + NAME_FUNC_OFFSET(11000, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 652), + NAME_FUNC_OFFSET(11018, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 653), + NAME_FUNC_OFFSET(11037, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 654), + NAME_FUNC_OFFSET(11055, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 655), + NAME_FUNC_OFFSET(11074, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 656), + NAME_FUNC_OFFSET(11092, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 657), + NAME_FUNC_OFFSET(11111, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 658), + NAME_FUNC_OFFSET(11129, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 659), + NAME_FUNC_OFFSET(11148, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 660), + NAME_FUNC_OFFSET(11166, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 661), + NAME_FUNC_OFFSET(11185, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 662), + NAME_FUNC_OFFSET(11203, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 663), + NAME_FUNC_OFFSET(11222, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 664), + NAME_FUNC_OFFSET(11240, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 665), + NAME_FUNC_OFFSET(11259, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 666), + NAME_FUNC_OFFSET(11277, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 667), + NAME_FUNC_OFFSET(11296, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 668), + NAME_FUNC_OFFSET(11314, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 669), + NAME_FUNC_OFFSET(11333, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 670), + NAME_FUNC_OFFSET(11351, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 671), + NAME_FUNC_OFFSET(11370, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 672), + NAME_FUNC_OFFSET(11388, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 673), + NAME_FUNC_OFFSET(11407, gl_dispatch_stub_674, gl_dispatch_stub_674, NULL, 674), + NAME_FUNC_OFFSET(11432, gl_dispatch_stub_675, gl_dispatch_stub_675, NULL, 675), + NAME_FUNC_OFFSET(11459, gl_dispatch_stub_676, gl_dispatch_stub_676, NULL, 676), + NAME_FUNC_OFFSET(11476, gl_dispatch_stub_677, gl_dispatch_stub_677, NULL, 677), + NAME_FUNC_OFFSET(11492, gl_dispatch_stub_678, gl_dispatch_stub_678, NULL, 678), + NAME_FUNC_OFFSET(11506, gl_dispatch_stub_679, gl_dispatch_stub_679, NULL, 679), + NAME_FUNC_OFFSET(11521, gl_dispatch_stub_680, gl_dispatch_stub_680, NULL, 680), + NAME_FUNC_OFFSET(11533, gl_dispatch_stub_681, gl_dispatch_stub_681, NULL, 681), + NAME_FUNC_OFFSET(11546, gl_dispatch_stub_682, gl_dispatch_stub_682, NULL, 682), + NAME_FUNC_OFFSET(11560, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 683), + NAME_FUNC_OFFSET(11584, glBindProgramNV, glBindProgramNV, NULL, 684), + NAME_FUNC_OFFSET(11600, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 685), + NAME_FUNC_OFFSET(11619, glExecuteProgramNV, glExecuteProgramNV, NULL, 686), + NAME_FUNC_OFFSET(11638, glGenProgramsNV, glGenProgramsNV, NULL, 687), + NAME_FUNC_OFFSET(11654, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 688), + NAME_FUNC_OFFSET(11680, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 689), + NAME_FUNC_OFFSET(11706, glGetProgramStringNV, glGetProgramStringNV, NULL, 690), + NAME_FUNC_OFFSET(11727, glGetProgramivNV, glGetProgramivNV, NULL, 691), + NAME_FUNC_OFFSET(11744, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 692), + NAME_FUNC_OFFSET(11765, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 693), + NAME_FUNC_OFFSET(11793, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 694), + NAME_FUNC_OFFSET(11815, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 695), + NAME_FUNC_OFFSET(11837, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 696), + NAME_FUNC_OFFSET(11859, glIsProgramNV, glIsProgramNV, NULL, 697), + NAME_FUNC_OFFSET(11873, glLoadProgramNV, glLoadProgramNV, NULL, 698), + NAME_FUNC_OFFSET(11889, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 699), + NAME_FUNC_OFFSET(11914, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 700), + NAME_FUNC_OFFSET(11939, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 701), + NAME_FUNC_OFFSET(11967, glTrackMatrixNV, glTrackMatrixNV, NULL, 702), + NAME_FUNC_OFFSET(11983, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 703), + NAME_FUNC_OFFSET(12002, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 704), + NAME_FUNC_OFFSET(12022, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 705), + NAME_FUNC_OFFSET(12041, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 706), + NAME_FUNC_OFFSET(12061, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 707), + NAME_FUNC_OFFSET(12080, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 708), + NAME_FUNC_OFFSET(12100, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 709), + NAME_FUNC_OFFSET(12119, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 710), + NAME_FUNC_OFFSET(12139, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 711), + NAME_FUNC_OFFSET(12158, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 712), + NAME_FUNC_OFFSET(12178, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 713), + NAME_FUNC_OFFSET(12197, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 714), + NAME_FUNC_OFFSET(12217, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 715), + NAME_FUNC_OFFSET(12236, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 716), + NAME_FUNC_OFFSET(12256, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 717), + NAME_FUNC_OFFSET(12275, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 718), + NAME_FUNC_OFFSET(12295, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 719), + NAME_FUNC_OFFSET(12314, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 720), + NAME_FUNC_OFFSET(12334, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 721), + NAME_FUNC_OFFSET(12353, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 722), + NAME_FUNC_OFFSET(12373, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 723), + NAME_FUNC_OFFSET(12392, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 724), + NAME_FUNC_OFFSET(12412, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 725), + NAME_FUNC_OFFSET(12431, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 726), + NAME_FUNC_OFFSET(12451, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 727), + NAME_FUNC_OFFSET(12471, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 728), + NAME_FUNC_OFFSET(12492, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 729), + NAME_FUNC_OFFSET(12516, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 730), + NAME_FUNC_OFFSET(12537, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 731), + NAME_FUNC_OFFSET(12558, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 732), + NAME_FUNC_OFFSET(12579, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 733), + NAME_FUNC_OFFSET(12600, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 734), + NAME_FUNC_OFFSET(12621, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 735), + NAME_FUNC_OFFSET(12642, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 736), + NAME_FUNC_OFFSET(12663, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 737), + NAME_FUNC_OFFSET(12684, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 738), + NAME_FUNC_OFFSET(12705, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 739), + NAME_FUNC_OFFSET(12726, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 740), + NAME_FUNC_OFFSET(12747, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 741), + NAME_FUNC_OFFSET(12768, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 742), + NAME_FUNC_OFFSET(12790, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 743), + NAME_FUNC_OFFSET(12817, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 744), + NAME_FUNC_OFFSET(12844, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 745), + NAME_FUNC_OFFSET(12868, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 746), + NAME_FUNC_OFFSET(12892, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 747), + NAME_FUNC_OFFSET(12914, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 748), + NAME_FUNC_OFFSET(12936, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 749), + NAME_FUNC_OFFSET(12958, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 750), + NAME_FUNC_OFFSET(12983, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 751), + NAME_FUNC_OFFSET(13007, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 752), + NAME_FUNC_OFFSET(13029, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 753), + NAME_FUNC_OFFSET(13051, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 754), + NAME_FUNC_OFFSET(13073, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 755), + NAME_FUNC_OFFSET(13099, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 756), + NAME_FUNC_OFFSET(13122, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 757), + NAME_FUNC_OFFSET(13146, glPassTexCoordATI, glPassTexCoordATI, NULL, 758), + NAME_FUNC_OFFSET(13164, glSampleMapATI, glSampleMapATI, NULL, 759), + NAME_FUNC_OFFSET(13179, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 760), + NAME_FUNC_OFFSET(13210, glPointParameteriNV, glPointParameteriNV, NULL, 761), + NAME_FUNC_OFFSET(13230, glPointParameterivNV, glPointParameterivNV, NULL, 762), + NAME_FUNC_OFFSET(13251, gl_dispatch_stub_763, gl_dispatch_stub_763, NULL, 763), + NAME_FUNC_OFFSET(13274, gl_dispatch_stub_764, gl_dispatch_stub_764, NULL, 764), + NAME_FUNC_OFFSET(13297, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, 765), + NAME_FUNC_OFFSET(13323, gl_dispatch_stub_766, gl_dispatch_stub_766, NULL, 766), + NAME_FUNC_OFFSET(13346, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, 767), + NAME_FUNC_OFFSET(13367, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 768), + NAME_FUNC_OFFSET(13398, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 769), + NAME_FUNC_OFFSET(13429, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 770), + NAME_FUNC_OFFSET(13457, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 771), + NAME_FUNC_OFFSET(13486, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 772), + NAME_FUNC_OFFSET(13514, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 773), + NAME_FUNC_OFFSET(13543, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 774), + NAME_FUNC_OFFSET(13569, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 775), + NAME_FUNC_OFFSET(13590, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, 776), + NAME_FUNC_OFFSET(13607, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, 777), + NAME_FUNC_OFFSET(13634, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 778), + NAME_FUNC_OFFSET(13655, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 779), + NAME_FUNC_OFFSET(13677, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 780), + NAME_FUNC_OFFSET(13705, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 781), + NAME_FUNC_OFFSET(13729, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 782), + NAME_FUNC_OFFSET(13754, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 783), + NAME_FUNC_OFFSET(13783, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 784), + NAME_FUNC_OFFSET(13809, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 785), + NAME_FUNC_OFFSET(13835, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 786), + NAME_FUNC_OFFSET(13861, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 787), + NAME_FUNC_OFFSET(13882, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 788), + NAME_FUNC_OFFSET(13904, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 789), + NAME_FUNC_OFFSET(13924, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 790), + NAME_FUNC_OFFSET(13965, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 791), + NAME_FUNC_OFFSET(13997, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 792), + NAME_FUNC_OFFSET(14016, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 793), + NAME_FUNC_OFFSET(14036, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 794), + NAME_FUNC_OFFSET(14061, gl_dispatch_stub_795, gl_dispatch_stub_795, NULL, 795), + NAME_FUNC_OFFSET(14082, gl_dispatch_stub_796, gl_dispatch_stub_796, NULL, 796), + NAME_FUNC_OFFSET(14106, gl_dispatch_stub_797, gl_dispatch_stub_797, NULL, 797), + NAME_FUNC_OFFSET(14136, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 798), + NAME_FUNC_OFFSET(14162, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 799), + NAME_FUNC_OFFSET(14187, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 800), + NAME_FUNC_OFFSET(14206, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 801), + NAME_FUNC_OFFSET(14230, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 802), + NAME_FUNC_OFFSET(14255, glUniform1uiEXT, glUniform1uiEXT, NULL, 803), + NAME_FUNC_OFFSET(14271, glUniform1uivEXT, glUniform1uivEXT, NULL, 804), + NAME_FUNC_OFFSET(14288, glUniform2uiEXT, glUniform2uiEXT, NULL, 805), + NAME_FUNC_OFFSET(14304, glUniform2uivEXT, glUniform2uivEXT, NULL, 806), + NAME_FUNC_OFFSET(14321, glUniform3uiEXT, glUniform3uiEXT, NULL, 807), + NAME_FUNC_OFFSET(14337, glUniform3uivEXT, glUniform3uivEXT, NULL, 808), + NAME_FUNC_OFFSET(14354, glUniform4uiEXT, glUniform4uiEXT, NULL, 809), + NAME_FUNC_OFFSET(14370, glUniform4uivEXT, glUniform4uivEXT, NULL, 810), + NAME_FUNC_OFFSET(14387, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 811), + NAME_FUNC_OFFSET(14408, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 812), + NAME_FUNC_OFFSET(14430, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 813), + NAME_FUNC_OFFSET(14452, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 814), + NAME_FUNC_OFFSET(14475, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 815), + NAME_FUNC_OFFSET(14496, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 816), + NAME_FUNC_OFFSET(14518, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 817), + NAME_FUNC_OFFSET(14540, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 818), + NAME_FUNC_OFFSET(14563, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 819), + NAME_FUNC_OFFSET(14584, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 820), + NAME_FUNC_OFFSET(14606, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 821), + NAME_FUNC_OFFSET(14628, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 822), + NAME_FUNC_OFFSET(14651, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 823), + NAME_FUNC_OFFSET(14673, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 824), + NAME_FUNC_OFFSET(14694, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 825), + NAME_FUNC_OFFSET(14716, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 826), + NAME_FUNC_OFFSET(14738, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 827), + NAME_FUNC_OFFSET(14761, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 828), + NAME_FUNC_OFFSET(14783, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 829), + NAME_FUNC_OFFSET(14806, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 830), + NAME_FUNC_OFFSET(14829, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 831), + NAME_FUNC_OFFSET(14855, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 832), + NAME_FUNC_OFFSET(14884, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 833), + NAME_FUNC_OFFSET(14906, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 834), + NAME_FUNC_OFFSET(14926, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 835), + NAME_FUNC_OFFSET(14945, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 836), + NAME_FUNC_OFFSET(14969, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 837), + NAME_FUNC_OFFSET(14993, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 838), + NAME_FUNC_OFFSET(15015, glClearColorIiEXT, glClearColorIiEXT, NULL, 839), + NAME_FUNC_OFFSET(15033, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 840), + NAME_FUNC_OFFSET(15052, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 841), + NAME_FUNC_OFFSET(15076, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 842), + NAME_FUNC_OFFSET(15101, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 843), + NAME_FUNC_OFFSET(15122, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 844), + NAME_FUNC_OFFSET(15144, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 845), + NAME_FUNC_OFFSET(15171, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 846), + NAME_FUNC_OFFSET(15196, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 847), + NAME_FUNC_OFFSET(15224, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 848), + NAME_FUNC_OFFSET(15244, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 849), + NAME_FUNC_OFFSET(15266, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 850), + NAME_FUNC_OFFSET(15287, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 851), + NAME_FUNC_OFFSET(15313, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 852), + NAME_FUNC_OFFSET(15346, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 853), + NAME_FUNC_OFFSET(15377, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 854), + NAME_FUNC_OFFSET(15398, gl_dispatch_stub_855, gl_dispatch_stub_855, NULL, 855), + NAME_FUNC_OFFSET(15429, gl_dispatch_stub_856, gl_dispatch_stub_856, NULL, 856), + NAME_FUNC_OFFSET(15449, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 857), + NAME_FUNC_OFFSET(15477, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 858), + NAME_FUNC_OFFSET(15500, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 859), + NAME_FUNC_OFFSET(15525, glActiveProgramEXT, glActiveProgramEXT, NULL, 860), + NAME_FUNC_OFFSET(15544, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 861), + NAME_FUNC_OFFSET(15569, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 862), + NAME_FUNC_OFFSET(15591, gl_dispatch_stub_863, gl_dispatch_stub_863, NULL, 863), + NAME_FUNC_OFFSET(15616, gl_dispatch_stub_864, gl_dispatch_stub_864, NULL, 864), + NAME_FUNC_OFFSET(15645, gl_dispatch_stub_865, gl_dispatch_stub_865, NULL, 865), + NAME_FUNC_OFFSET(15676, gl_dispatch_stub_866, gl_dispatch_stub_866, NULL, 866), + NAME_FUNC_OFFSET(15700, gl_dispatch_stub_867, gl_dispatch_stub_867, NULL, 867), + NAME_FUNC_OFFSET(15725, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 868), + NAME_FUNC_OFFSET(15764, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 869), + NAME_FUNC_OFFSET(15793, glArrayElement, glArrayElement, NULL, 306), + NAME_FUNC_OFFSET(15811, glBindTexture, glBindTexture, NULL, 307), + NAME_FUNC_OFFSET(15828, glDrawArrays, glDrawArrays, NULL, 310), + NAME_FUNC_OFFSET(15844, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322), + NAME_FUNC_OFFSET(15869, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), + NAME_FUNC_OFFSET(15889, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), + NAME_FUNC_OFFSET(15909, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), + NAME_FUNC_OFFSET(15932, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), + NAME_FUNC_OFFSET(15955, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327), + NAME_FUNC_OFFSET(15975, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328), + NAME_FUNC_OFFSET(15992, glGetPointerv, glGetPointerv, NULL, 329), + NAME_FUNC_OFFSET(16009, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), + NAME_FUNC_OFFSET(16024, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), + NAME_FUNC_OFFSET(16048, glTexSubImage1D, glTexSubImage1D, NULL, 332), + NAME_FUNC_OFFSET(16067, glTexSubImage2D, glTexSubImage2D, NULL, 333), + NAME_FUNC_OFFSET(16086, glBlendColor, glBlendColor, NULL, 336), + NAME_FUNC_OFFSET(16102, glBlendEquation, glBlendEquation, NULL, 337), + NAME_FUNC_OFFSET(16121, glDrawRangeElements, glDrawRangeElements, NULL, 338), + NAME_FUNC_OFFSET(16144, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(16160, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(16176, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), + NAME_FUNC_OFFSET(16203, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), + NAME_FUNC_OFFSET(16230, glCopyColorTable, glCopyColorTable, NULL, 342), + NAME_FUNC_OFFSET(16250, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(16269, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(16288, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(16318, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(16348, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(16378, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(16408, glColorSubTable, glColorSubTable, NULL, 346), + NAME_FUNC_OFFSET(16427, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), + NAME_FUNC_OFFSET(16450, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), + NAME_FUNC_OFFSET(16475, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), + NAME_FUNC_OFFSET(16500, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), + NAME_FUNC_OFFSET(16527, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), + NAME_FUNC_OFFSET(16555, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), + NAME_FUNC_OFFSET(16582, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), + NAME_FUNC_OFFSET(16610, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), + NAME_FUNC_OFFSET(16639, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), + NAME_FUNC_OFFSET(16668, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356), + NAME_FUNC_OFFSET(16694, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357), + NAME_FUNC_OFFSET(16725, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358), + NAME_FUNC_OFFSET(16756, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359), + NAME_FUNC_OFFSET(16780, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), + NAME_FUNC_OFFSET(16803, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361), + NAME_FUNC_OFFSET(16821, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362), + NAME_FUNC_OFFSET(16850, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363), + NAME_FUNC_OFFSET(16879, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364), + NAME_FUNC_OFFSET(16894, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365), + NAME_FUNC_OFFSET(16920, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366), + NAME_FUNC_OFFSET(16946, glHistogram, glHistogram, NULL, 367), + NAME_FUNC_OFFSET(16961, glMinmax, glMinmax, NULL, 368), + NAME_FUNC_OFFSET(16973, glResetHistogram, glResetHistogram, NULL, 369), + NAME_FUNC_OFFSET(16993, glResetMinmax, glResetMinmax, NULL, 370), + NAME_FUNC_OFFSET(17010, glTexImage3D, glTexImage3D, NULL, 371), + NAME_FUNC_OFFSET(17026, glTexSubImage3D, glTexSubImage3D, NULL, 372), + NAME_FUNC_OFFSET(17045, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), + NAME_FUNC_OFFSET(17068, glActiveTextureARB, glActiveTextureARB, NULL, 374), + NAME_FUNC_OFFSET(17084, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), + NAME_FUNC_OFFSET(17106, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), + NAME_FUNC_OFFSET(17124, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), + NAME_FUNC_OFFSET(17143, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), + NAME_FUNC_OFFSET(17161, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), + NAME_FUNC_OFFSET(17180, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), + NAME_FUNC_OFFSET(17198, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), + NAME_FUNC_OFFSET(17217, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), + NAME_FUNC_OFFSET(17235, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), + NAME_FUNC_OFFSET(17254, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), + NAME_FUNC_OFFSET(17272, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), + NAME_FUNC_OFFSET(17291, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), + NAME_FUNC_OFFSET(17309, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), + NAME_FUNC_OFFSET(17328, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), + NAME_FUNC_OFFSET(17346, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), + NAME_FUNC_OFFSET(17365, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), + NAME_FUNC_OFFSET(17383, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), + NAME_FUNC_OFFSET(17402, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), + NAME_FUNC_OFFSET(17420, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), + NAME_FUNC_OFFSET(17439, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), + NAME_FUNC_OFFSET(17457, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), + NAME_FUNC_OFFSET(17476, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), + NAME_FUNC_OFFSET(17494, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), + NAME_FUNC_OFFSET(17513, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), + NAME_FUNC_OFFSET(17531, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), + NAME_FUNC_OFFSET(17550, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), + NAME_FUNC_OFFSET(17568, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), + NAME_FUNC_OFFSET(17587, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), + NAME_FUNC_OFFSET(17605, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), + NAME_FUNC_OFFSET(17624, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), + NAME_FUNC_OFFSET(17642, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), + NAME_FUNC_OFFSET(17661, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), + NAME_FUNC_OFFSET(17679, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), + NAME_FUNC_OFFSET(17698, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), + NAME_FUNC_OFFSET(17721, glDrawArraysInstanced, glDrawArraysInstanced, NULL, 430), + NAME_FUNC_OFFSET(17746, glDrawArraysInstanced, glDrawArraysInstanced, NULL, 430), + NAME_FUNC_OFFSET(17771, glDrawElementsInstanced, glDrawElementsInstanced, NULL, 431), + NAME_FUNC_OFFSET(17798, glDrawElementsInstanced, glDrawElementsInstanced, NULL, 431), + NAME_FUNC_OFFSET(17825, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 432), + NAME_FUNC_OFFSET(17848, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 433), + NAME_FUNC_OFFSET(17871, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 434), + NAME_FUNC_OFFSET(17894, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 435), + NAME_FUNC_OFFSET(17917, glSampleCoverageARB, glSampleCoverageARB, NULL, 436), + NAME_FUNC_OFFSET(17934, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 437), + NAME_FUNC_OFFSET(17957, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 438), + NAME_FUNC_OFFSET(17980, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 439), + NAME_FUNC_OFFSET(18003, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 440), + NAME_FUNC_OFFSET(18029, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 441), + NAME_FUNC_OFFSET(18055, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 442), + NAME_FUNC_OFFSET(18081, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 443), + NAME_FUNC_OFFSET(18105, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 444), + NAME_FUNC_OFFSET(18132, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 445), + NAME_FUNC_OFFSET(18158, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 452), + NAME_FUNC_OFFSET(18178, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 453), + NAME_FUNC_OFFSET(18198, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 454), + NAME_FUNC_OFFSET(18218, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 455), + NAME_FUNC_OFFSET(18241, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 456), + NAME_FUNC_OFFSET(18265, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 457), + NAME_FUNC_OFFSET(18288, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 458), + NAME_FUNC_OFFSET(18312, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 464), + NAME_FUNC_OFFSET(18329, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 465), + NAME_FUNC_OFFSET(18347, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 466), + NAME_FUNC_OFFSET(18364, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 467), + NAME_FUNC_OFFSET(18382, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 468), + NAME_FUNC_OFFSET(18399, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 469), + NAME_FUNC_OFFSET(18417, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 470), + NAME_FUNC_OFFSET(18434, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 471), + NAME_FUNC_OFFSET(18452, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 472), + NAME_FUNC_OFFSET(18469, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 473), + NAME_FUNC_OFFSET(18487, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 474), + NAME_FUNC_OFFSET(18504, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 475), + NAME_FUNC_OFFSET(18522, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 476), + NAME_FUNC_OFFSET(18539, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 477), + NAME_FUNC_OFFSET(18557, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 478), + NAME_FUNC_OFFSET(18574, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 479), + NAME_FUNC_OFFSET(18592, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 480), + NAME_FUNC_OFFSET(18609, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 481), + NAME_FUNC_OFFSET(18627, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 482), + NAME_FUNC_OFFSET(18646, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 483), + NAME_FUNC_OFFSET(18665, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 484), + NAME_FUNC_OFFSET(18684, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 485), + NAME_FUNC_OFFSET(18703, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 486), + NAME_FUNC_OFFSET(18723, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 487), + NAME_FUNC_OFFSET(18743, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 488), + NAME_FUNC_OFFSET(18763, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 489), + NAME_FUNC_OFFSET(18781, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 490), + NAME_FUNC_OFFSET(18798, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 491), + NAME_FUNC_OFFSET(18816, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 492), + NAME_FUNC_OFFSET(18833, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 493), + NAME_FUNC_OFFSET(18851, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 494), + NAME_FUNC_OFFSET(18869, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 495), + NAME_FUNC_OFFSET(18886, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 496), + NAME_FUNC_OFFSET(18904, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 497), + NAME_FUNC_OFFSET(18923, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 498), + NAME_FUNC_OFFSET(18942, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 499), + NAME_FUNC_OFFSET(18961, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 500), + NAME_FUNC_OFFSET(18983, glBindBufferARB, glBindBufferARB, NULL, 501), + NAME_FUNC_OFFSET(18996, glBufferDataARB, glBufferDataARB, NULL, 502), + NAME_FUNC_OFFSET(19009, glBufferSubDataARB, glBufferSubDataARB, NULL, 503), + NAME_FUNC_OFFSET(19025, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 504), + NAME_FUNC_OFFSET(19041, glGenBuffersARB, glGenBuffersARB, NULL, 505), + NAME_FUNC_OFFSET(19054, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 506), + NAME_FUNC_OFFSET(19077, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 507), + NAME_FUNC_OFFSET(19097, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 508), + NAME_FUNC_OFFSET(19116, glIsBufferARB, glIsBufferARB, NULL, 509), + NAME_FUNC_OFFSET(19127, glMapBufferARB, glMapBufferARB, NULL, 510), + NAME_FUNC_OFFSET(19139, glUnmapBufferARB, glUnmapBufferARB, NULL, 511), + NAME_FUNC_OFFSET(19153, glBeginQueryARB, glBeginQueryARB, NULL, 512), + NAME_FUNC_OFFSET(19166, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 513), + NAME_FUNC_OFFSET(19182, glEndQueryARB, glEndQueryARB, NULL, 514), + NAME_FUNC_OFFSET(19193, glGenQueriesARB, glGenQueriesARB, NULL, 515), + NAME_FUNC_OFFSET(19206, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 516), + NAME_FUNC_OFFSET(19225, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 517), + NAME_FUNC_OFFSET(19245, glGetQueryivARB, glGetQueryivARB, NULL, 518), + NAME_FUNC_OFFSET(19258, glIsQueryARB, glIsQueryARB, NULL, 519), + NAME_FUNC_OFFSET(19268, glCompileShaderARB, glCompileShaderARB, NULL, 521), + NAME_FUNC_OFFSET(19284, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 526), + NAME_FUNC_OFFSET(19303, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 532), + NAME_FUNC_OFFSET(19321, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 533), + NAME_FUNC_OFFSET(19342, glGetUniformfvARB, glGetUniformfvARB, NULL, 534), + NAME_FUNC_OFFSET(19357, glGetUniformivARB, glGetUniformivARB, NULL, 535), + NAME_FUNC_OFFSET(19372, glLinkProgramARB, glLinkProgramARB, NULL, 536), + NAME_FUNC_OFFSET(19386, glShaderSourceARB, glShaderSourceARB, NULL, 537), + NAME_FUNC_OFFSET(19401, glUniform1fARB, glUniform1fARB, NULL, 538), + NAME_FUNC_OFFSET(19413, glUniform1fvARB, glUniform1fvARB, NULL, 539), + NAME_FUNC_OFFSET(19426, glUniform1iARB, glUniform1iARB, NULL, 540), + NAME_FUNC_OFFSET(19438, glUniform1ivARB, glUniform1ivARB, NULL, 541), + NAME_FUNC_OFFSET(19451, glUniform2fARB, glUniform2fARB, NULL, 542), + NAME_FUNC_OFFSET(19463, glUniform2fvARB, glUniform2fvARB, NULL, 543), + NAME_FUNC_OFFSET(19476, glUniform2iARB, glUniform2iARB, NULL, 544), + NAME_FUNC_OFFSET(19488, glUniform2ivARB, glUniform2ivARB, NULL, 545), + NAME_FUNC_OFFSET(19501, glUniform3fARB, glUniform3fARB, NULL, 546), + NAME_FUNC_OFFSET(19513, glUniform3fvARB, glUniform3fvARB, NULL, 547), + NAME_FUNC_OFFSET(19526, glUniform3iARB, glUniform3iARB, NULL, 548), + NAME_FUNC_OFFSET(19538, glUniform3ivARB, glUniform3ivARB, NULL, 549), + NAME_FUNC_OFFSET(19551, glUniform4fARB, glUniform4fARB, NULL, 550), + NAME_FUNC_OFFSET(19563, glUniform4fvARB, glUniform4fvARB, NULL, 551), + NAME_FUNC_OFFSET(19576, glUniform4iARB, glUniform4iARB, NULL, 552), + NAME_FUNC_OFFSET(19588, glUniform4ivARB, glUniform4ivARB, NULL, 553), + NAME_FUNC_OFFSET(19601, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 554), + NAME_FUNC_OFFSET(19620, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 555), + NAME_FUNC_OFFSET(19639, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 556), + NAME_FUNC_OFFSET(19658, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 557), + NAME_FUNC_OFFSET(19671, glValidateProgramARB, glValidateProgramARB, NULL, 558), + NAME_FUNC_OFFSET(19689, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 559), + NAME_FUNC_OFFSET(19710, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 560), + NAME_FUNC_OFFSET(19728, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 561), + NAME_FUNC_OFFSET(19748, glDrawBuffersARB, glDrawBuffersARB, NULL, 562), + NAME_FUNC_OFFSET(19762, glDrawBuffersARB, glDrawBuffersARB, NULL, 562), + NAME_FUNC_OFFSET(19779, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 563), + NAME_FUNC_OFFSET(19815, gl_dispatch_stub_596, gl_dispatch_stub_596, NULL, 596), + NAME_FUNC_OFFSET(19831, gl_dispatch_stub_597, gl_dispatch_stub_597, NULL, 597), + NAME_FUNC_OFFSET(19850, glPointParameterfEXT, glPointParameterfEXT, NULL, 604), + NAME_FUNC_OFFSET(19868, glPointParameterfEXT, glPointParameterfEXT, NULL, 604), + NAME_FUNC_OFFSET(19889, glPointParameterfEXT, glPointParameterfEXT, NULL, 604), + NAME_FUNC_OFFSET(19911, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 605), + NAME_FUNC_OFFSET(19930, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 605), + NAME_FUNC_OFFSET(19952, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 605), + NAME_FUNC_OFFSET(19975, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 608), + NAME_FUNC_OFFSET(19994, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 609), + NAME_FUNC_OFFSET(20014, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 610), + NAME_FUNC_OFFSET(20033, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 611), + NAME_FUNC_OFFSET(20053, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 612), + NAME_FUNC_OFFSET(20072, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 613), + NAME_FUNC_OFFSET(20092, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 614), + NAME_FUNC_OFFSET(20111, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 615), + NAME_FUNC_OFFSET(20131, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 616), + NAME_FUNC_OFFSET(20150, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 617), + NAME_FUNC_OFFSET(20170, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 618), + NAME_FUNC_OFFSET(20190, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 619), + NAME_FUNC_OFFSET(20211, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 620), + NAME_FUNC_OFFSET(20231, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 621), + NAME_FUNC_OFFSET(20252, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 622), + NAME_FUNC_OFFSET(20272, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 623), + NAME_FUNC_OFFSET(20293, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 624), + NAME_FUNC_OFFSET(20317, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 625), + NAME_FUNC_OFFSET(20335, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 626), + NAME_FUNC_OFFSET(20355, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 627), + NAME_FUNC_OFFSET(20373, glFogCoorddEXT, glFogCoorddEXT, NULL, 628), + NAME_FUNC_OFFSET(20385, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 629), + NAME_FUNC_OFFSET(20398, glFogCoordfEXT, glFogCoordfEXT, NULL, 630), + NAME_FUNC_OFFSET(20410, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 631), + NAME_FUNC_OFFSET(20423, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 633), + NAME_FUNC_OFFSET(20443, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 633), + NAME_FUNC_OFFSET(20467, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 650), + NAME_FUNC_OFFSET(20481, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 650), + NAME_FUNC_OFFSET(20498, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 651), + NAME_FUNC_OFFSET(20513, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 651), + NAME_FUNC_OFFSET(20531, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 652), + NAME_FUNC_OFFSET(20545, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 652), + NAME_FUNC_OFFSET(20562, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 653), + NAME_FUNC_OFFSET(20577, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 653), + NAME_FUNC_OFFSET(20595, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 654), + NAME_FUNC_OFFSET(20609, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 654), + NAME_FUNC_OFFSET(20626, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 655), + NAME_FUNC_OFFSET(20641, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 655), + NAME_FUNC_OFFSET(20659, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 656), + NAME_FUNC_OFFSET(20673, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 656), + NAME_FUNC_OFFSET(20690, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 657), + NAME_FUNC_OFFSET(20705, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 657), + NAME_FUNC_OFFSET(20723, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 658), + NAME_FUNC_OFFSET(20737, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 658), + NAME_FUNC_OFFSET(20754, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 659), + NAME_FUNC_OFFSET(20769, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 659), + NAME_FUNC_OFFSET(20787, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 660), + NAME_FUNC_OFFSET(20801, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 660), + NAME_FUNC_OFFSET(20818, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 661), + NAME_FUNC_OFFSET(20833, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 661), + NAME_FUNC_OFFSET(20851, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 662), + NAME_FUNC_OFFSET(20865, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 662), + NAME_FUNC_OFFSET(20882, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 663), + NAME_FUNC_OFFSET(20897, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 663), + NAME_FUNC_OFFSET(20915, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 664), + NAME_FUNC_OFFSET(20929, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 664), + NAME_FUNC_OFFSET(20946, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 665), + NAME_FUNC_OFFSET(20961, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 665), + NAME_FUNC_OFFSET(20979, glBindProgramNV, glBindProgramNV, NULL, 684), + NAME_FUNC_OFFSET(20996, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 685), + NAME_FUNC_OFFSET(21016, glGenProgramsNV, glGenProgramsNV, NULL, 687), + NAME_FUNC_OFFSET(21033, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 693), + NAME_FUNC_OFFSET(21059, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 693), + NAME_FUNC_OFFSET(21088, glIsProgramNV, glIsProgramNV, NULL, 697), + NAME_FUNC_OFFSET(21103, glPointParameteriNV, glPointParameteriNV, NULL, 761), + NAME_FUNC_OFFSET(21121, glPointParameterivNV, glPointParameterivNV, NULL, 762), + NAME_FUNC_OFFSET(21140, gl_dispatch_stub_765, gl_dispatch_stub_765, NULL, 765), + NAME_FUNC_OFFSET(21161, gl_dispatch_stub_767, gl_dispatch_stub_767, NULL, 767), + NAME_FUNC_OFFSET(21177, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, 777), + NAME_FUNC_OFFSET(21201, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, 777), + NAME_FUNC_OFFSET(21228, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 778), + NAME_FUNC_OFFSET(21246, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 779), + NAME_FUNC_OFFSET(21265, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 780), + NAME_FUNC_OFFSET(21290, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 781), + NAME_FUNC_OFFSET(21311, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 782), + NAME_FUNC_OFFSET(21333, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 783), + NAME_FUNC_OFFSET(21359, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 784), + NAME_FUNC_OFFSET(21382, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 785), + NAME_FUNC_OFFSET(21405, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 786), + NAME_FUNC_OFFSET(21428, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 787), + NAME_FUNC_OFFSET(21446, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 788), + NAME_FUNC_OFFSET(21465, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 789), + NAME_FUNC_OFFSET(21482, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 790), + NAME_FUNC_OFFSET(21520, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 791), + NAME_FUNC_OFFSET(21549, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 792), + NAME_FUNC_OFFSET(21565, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 793), + NAME_FUNC_OFFSET(21582, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 794), + NAME_FUNC_OFFSET(21604, gl_dispatch_stub_795, gl_dispatch_stub_795, NULL, 795), + NAME_FUNC_OFFSET(21622, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 832), + NAME_FUNC_OFFSET(21648, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 847), + NAME_FUNC_OFFSET(21673, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 848), + NAME_FUNC_OFFSET(21690, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 850), + NAME_FUNC_OFFSET(21708, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 851), + NAME_FUNC_OFFSET(21731, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 852), + NAME_FUNC_OFFSET(21761, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 853), + NAME_FUNC_OFFSET(21789, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 854), NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; diff --git a/src/mapi/vgapi/.gitignore b/src/mapi/vgapi/.gitignore new file mode 100644 index 00000000000..5becb993861 --- /dev/null +++ b/src/mapi/vgapi/.gitignore @@ -0,0 +1 @@ +vgapi_tmp.h diff --git a/src/mesa/Makefile b/src/mesa/Makefile index 7a6936e2107..8b0756b84ec 100644 --- a/src/mesa/Makefile +++ b/src/mesa/Makefile @@ -35,8 +35,8 @@ ES2_CPPFLAGS := -DFEATURE_ES2=1 $(DEFINES) # append include dirs MESA_CPPFLAGS += $(INCLUDE_DIRS) $(TALLOC_CFLAGS) -ES1_CPPFLAGS += -I$(TOP)/src/mapi/es1api $(INCLUDE_DIRS) -ES2_CPPFLAGS += -I$(TOP)/src/mapi/es2api $(INCLUDE_DIRS) +ES1_CPPFLAGS += -I$(TOP)/src/mapi/es1api $(INCLUDE_DIRS) $(TALLOC_CFLAGS) +ES2_CPPFLAGS += -I$(TOP)/src/mapi/es2api $(INCLUDE_DIRS) $(TALLOC_CFLAGS) # tidy compiler flags CFLAGS := $(filter-out $(DEFINES), $(CFLAGS)) diff --git a/src/mesa/SConscript b/src/mesa/SConscript index e54737aed18..5fe5d39fb1d 100644 --- a/src/mesa/SConscript +++ b/src/mesa/SConscript @@ -4,322 +4,324 @@ Import('*') -if env['platform'] != 'winddk': +env = env.Clone() - env = env.Clone() - - env.Append(CPPPATH = [ - '#/src/mapi', - '#/src/glsl', - '#/src/mesa', - ]) - - if env['platform'] == 'windows': - env.Append(CPPDEFINES = [ - '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers - 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers - 'WIN32_THREADS', # use Win32 thread API - ]) - env.Prepend(CPPPATH = ['#src/talloc']) +env.Append(CPPPATH = [ + '#/src/mapi', + '#/src/glsl', + '#/src/mesa', +]) - # - # Source files - # - - main_sources = [ - 'main/api_arrayelt.c', - 'main/api_exec.c', - 'main/api_loopback.c', - 'main/api_noop.c', - 'main/api_validate.c', - 'main/accum.c', - 'main/arbprogram.c', - 'main/atifragshader.c', - 'main/attrib.c', - 'main/arrayobj.c', - 'main/blend.c', - 'main/bufferobj.c', - 'main/buffers.c', - 'main/clear.c', - 'main/clip.c', - 'main/colortab.c', - 'main/condrender.c', - 'main/context.c', - 'main/convolve.c', - 'main/cpuinfo.c', - 'main/debug.c', - 'main/depth.c', - 'main/depthstencil.c', - 'main/dlist.c', - 'main/dlopen.c', - 'main/drawpix.c', - 'main/drawtex.c', - 'main/enable.c', - 'main/enums.c', - 'main/eval.c', - 'main/execmem.c', - 'main/extensions.c', - 'main/fbobject.c', - 'main/feedback.c', - 'main/ffvertex_prog.c', - 'main/fog.c', - 'main/formats.c', - 'main/framebuffer.c', - 'main/get.c', - 'main/getstring.c', - 'main/hash.c', - 'main/hint.c', - 'main/histogram.c', - 'main/image.c', - 'main/imports.c', - 'main/light.c', - 'main/lines.c', - 'main/matrix.c', - 'main/mipmap.c', - 'main/mm.c', - 'main/multisample.c', - 'main/nvprogram.c', - 'main/pack.c', - 'main/pixel.c', - 'main/pixelstore.c', - 'main/pixeltransfer.c', - 'main/points.c', - 'main/polygon.c', - 'main/querymatrix.c', - 'main/queryobj.c', - 'main/rastpos.c', - 'main/readpix.c', - 'main/remap.c', - 'main/renderbuffer.c', - 'main/scissor.c', - 'main/shaderapi.c', - 'main/shaderobj.c', - 'main/shared.c', - 'main/state.c', - 'main/stencil.c', - 'main/syncobj.c', - 'main/texcompress.c', - 'main/texcompress_s3tc.c', - 'main/texcompress_fxt1.c', - 'main/texenv.c', - 'main/texenvprogram.c', - 'main/texfetch.c', - 'main/texformat.c', - 'main/texgen.c', - 'main/texgetimage.c', - 'main/teximage.c', - 'main/texobj.c', - 'main/texpal.c', - 'main/texparam.c', - 'main/texrender.c', - 'main/texstate.c', - 'main/texstore.c', - 'main/transformfeedback.c', - 'main/uniforms.c', - 'main/varray.c', - 'main/version.c', - 'main/viewport.c', - 'main/vtxfmt.c', - ] - - math_sources = [ - 'math/m_debug_clip.c', - 'math/m_debug_norm.c', - 'math/m_debug_xform.c', - 'math/m_eval.c', - 'math/m_matrix.c', - 'math/m_translate.c', - 'math/m_vector.c', - 'math/m_xform.c', - ] - - vbo_sources = [ - 'vbo/vbo_context.c', - 'vbo/vbo_exec.c', - 'vbo/vbo_exec_api.c', - 'vbo/vbo_exec_array.c', - 'vbo/vbo_exec_draw.c', - 'vbo/vbo_exec_eval.c', - 'vbo/vbo_rebase.c', - 'vbo/vbo_split.c', - 'vbo/vbo_split_copy.c', - 'vbo/vbo_split_inplace.c', - 'vbo/vbo_save.c', - 'vbo/vbo_save_api.c', - 'vbo/vbo_save_draw.c', - 'vbo/vbo_save_loopback.c', - ] - - vf_sources = [ - 'vf/vf.c', - 'vf/vf_generic.c', - 'vf/vf_sse.c', - ] - - statetracker_sources = [ - 'state_tracker/st_atom.c', - 'state_tracker/st_atom_blend.c', - 'state_tracker/st_atom_clip.c', - 'state_tracker/st_atom_constbuf.c', - 'state_tracker/st_atom_depth.c', - 'state_tracker/st_atom_framebuffer.c', - 'state_tracker/st_atom_msaa.c', - 'state_tracker/st_atom_pixeltransfer.c', - 'state_tracker/st_atom_sampler.c', - 'state_tracker/st_atom_scissor.c', - 'state_tracker/st_atom_shader.c', - 'state_tracker/st_atom_rasterizer.c', - 'state_tracker/st_atom_stipple.c', - 'state_tracker/st_atom_texture.c', - 'state_tracker/st_atom_viewport.c', - 'state_tracker/st_cb_accum.c', - 'state_tracker/st_cb_bitmap.c', - 'state_tracker/st_cb_blit.c', - 'state_tracker/st_cb_bufferobjects.c', - 'state_tracker/st_cb_clear.c', - 'state_tracker/st_cb_condrender.c', - 'state_tracker/st_cb_flush.c', - 'state_tracker/st_cb_drawpixels.c', - 'state_tracker/st_cb_drawtex.c', - 'state_tracker/st_cb_eglimage.c', - 'state_tracker/st_cb_fbo.c', - 'state_tracker/st_cb_feedback.c', - 'state_tracker/st_cb_program.c', - 'state_tracker/st_cb_queryobj.c', - 'state_tracker/st_cb_rasterpos.c', - 'state_tracker/st_cb_readpixels.c', - 'state_tracker/st_cb_strings.c', - 'state_tracker/st_cb_texture.c', - 'state_tracker/st_cb_viewport.c', - 'state_tracker/st_cb_xformfb.c', - 'state_tracker/st_context.c', - 'state_tracker/st_debug.c', - 'state_tracker/st_draw.c', - 'state_tracker/st_draw_feedback.c', - 'state_tracker/st_extensions.c', - 'state_tracker/st_format.c', - 'state_tracker/st_gen_mipmap.c', - 'state_tracker/st_manager.c', - 'state_tracker/st_mesa_to_tgsi.c', - 'state_tracker/st_program.c', - 'state_tracker/st_texture.c', - ] - - program_sources = [ - 'program/arbprogparse.c', - 'program/hash_table.c', - 'program/ir_to_mesa.cpp', - 'program/lex.yy.c', - 'program/nvfragparse.c', - 'program/nvvertparse.c', - 'program/program.c', - 'program/program_parse.tab.c', - 'program/program_parse_extra.c', - 'program/prog_cache.c', - 'program/prog_execute.c', - 'program/prog_instruction.c', - 'program/prog_noise.c', - 'program/prog_optimize.c', - 'program/prog_parameter.c', - 'program/prog_parameter_layout.c', - 'program/prog_print.c', - 'program/prog_statevars.c', - 'program/prog_uniform.c', - 'program/programopt.c', - 'program/sampler.cpp', - 'program/symbol_table.c', - ] - - mesa_sources = ( - main_sources + - math_sources + - program_sources + - vbo_sources + - vf_sources + - statetracker_sources - ) +if env['platform'] == 'windows': + env.Append(CPPDEFINES = [ + '_GDI32_', # prevent gl* being declared __declspec(dllimport) in MS headers + 'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers + 'WIN32_THREADS', # use Win32 thread API + ]) + env.Prepend(CPPPATH = ['#src/talloc']) - # - # Assembly sources - # - if gcc and env['machine'] == 'x86': - env.Append(CPPDEFINES = [ - 'USE_X86_ASM', - 'USE_MMX_ASM', - 'USE_3DNOW_ASM', - 'USE_SSE_ASM', - ]) - mesa_sources += [ - 'x86/common_x86.c', - 'x86/x86_xform.c', - 'x86/3dnow.c', - 'x86/sse.c', - 'x86/common_x86_asm.S', - 'x86/x86_xform2.S', - 'x86/x86_xform3.S', - 'x86/x86_xform4.S', - 'x86/x86_cliptest.S', - 'x86/mmx_blend.S', - 'x86/3dnow_xform1.S', - 'x86/3dnow_xform2.S', - 'x86/3dnow_xform3.S', - 'x86/3dnow_xform4.S', - 'x86/3dnow_normal.S', - 'x86/sse_xform1.S', - 'x86/sse_xform2.S', - 'x86/sse_xform3.S', - 'x86/sse_xform4.S', - 'x86/sse_normal.S', - 'x86/read_rgba_span_x86.S', - ] - elif gcc and env['machine'] == 'x86_64': - env.Append(CPPDEFINES = [ - 'USE_X86_64_ASM', - ]) - mesa_sources += [ - 'x86-64/x86-64.c', - 'x86-64/xform4.S', - ] - elif gcc and env['machine'] == 'ppc': - env.Append(CPPDEFINES = [ - 'USE_PPC_ASM', - 'USE_VMX_ASM', - ]) - mesa_sources += [ - 'ppc/common_ppc.c', - ] - elif gcc and env['machine'] == 'sparc': - mesa_sources += [ - 'sparc/sparc.c', - 'sparc/clip.S', - 'sparc/norm.S', - 'sparc/xform.S', - ] - else: - pass - - # Generate matypes.h - if gcc and env['machine'] in ('x86', 'x86_64'): - # See http://www.scons.org/wiki/UsingCodeGenerators - gen_matypes = env.Program( - target = 'gen_matypes', - source = 'x86/gen_matypes.c', - ) - matypes = env.Command( - 'matypes.h', - gen_matypes, - gen_matypes[0].abspath + ' > $TARGET', - ) - # Add the dir containing the generated header (somewhere inside the - # build dir) to the include path - env.Append(CPPPATH = [matypes[0].dir]) +# +# Source files +# - # - # Libraries - # +main_sources = [ + 'main/api_arrayelt.c', + 'main/api_exec.c', + 'main/api_loopback.c', + 'main/api_noop.c', + 'main/api_validate.c', + 'main/accum.c', + 'main/arbprogram.c', + 'main/atifragshader.c', + 'main/attrib.c', + 'main/arrayobj.c', + 'main/blend.c', + 'main/bufferobj.c', + 'main/buffers.c', + 'main/clear.c', + 'main/clip.c', + 'main/colortab.c', + 'main/condrender.c', + 'main/context.c', + 'main/convolve.c', + 'main/cpuinfo.c', + 'main/debug.c', + 'main/depth.c', + 'main/depthstencil.c', + 'main/dlist.c', + 'main/dlopen.c', + 'main/drawpix.c', + 'main/drawtex.c', + 'main/enable.c', + 'main/enums.c', + 'main/eval.c', + 'main/execmem.c', + 'main/extensions.c', + 'main/fbobject.c', + 'main/feedback.c', + 'main/ffvertex_prog.c', + 'main/fog.c', + 'main/formats.c', + 'main/framebuffer.c', + 'main/get.c', + 'main/getstring.c', + 'main/hash.c', + 'main/hint.c', + 'main/histogram.c', + 'main/image.c', + 'main/imports.c', + 'main/light.c', + 'main/lines.c', + 'main/matrix.c', + 'main/mipmap.c', + 'main/mm.c', + 'main/multisample.c', + 'main/nvprogram.c', + 'main/pack.c', + 'main/pixel.c', + 'main/pixelstore.c', + 'main/pixeltransfer.c', + 'main/points.c', + 'main/polygon.c', + 'main/querymatrix.c', + 'main/queryobj.c', + 'main/rastpos.c', + 'main/readpix.c', + 'main/remap.c', + 'main/renderbuffer.c', + 'main/scissor.c', + 'main/shaderapi.c', + 'main/shaderobj.c', + 'main/shared.c', + 'main/state.c', + 'main/stencil.c', + 'main/syncobj.c', + 'main/texcompress.c', + 'main/texcompress_s3tc.c', + 'main/texcompress_fxt1.c', + 'main/texenv.c', + 'main/texenvprogram.c', + 'main/texfetch.c', + 'main/texformat.c', + 'main/texgen.c', + 'main/texgetimage.c', + 'main/teximage.c', + 'main/texobj.c', + 'main/texpal.c', + 'main/texparam.c', + 'main/texrender.c', + 'main/texstate.c', + 'main/texstore.c', + 'main/transformfeedback.c', + 'main/uniforms.c', + 'main/varray.c', + 'main/version.c', + 'main/viewport.c', + 'main/vtxfmt.c', +] - mesa = env.ConvenienceLibrary( - target = 'mesa', - source = mesa_sources, - ) - Export('mesa') +math_sources = [ + 'math/m_debug_clip.c', + 'math/m_debug_norm.c', + 'math/m_debug_xform.c', + 'math/m_eval.c', + 'math/m_matrix.c', + 'math/m_translate.c', + 'math/m_vector.c', + 'math/m_xform.c', +] + +vbo_sources = [ + 'vbo/vbo_context.c', + 'vbo/vbo_exec.c', + 'vbo/vbo_exec_api.c', + 'vbo/vbo_exec_array.c', + 'vbo/vbo_exec_draw.c', + 'vbo/vbo_exec_eval.c', + 'vbo/vbo_rebase.c', + 'vbo/vbo_split.c', + 'vbo/vbo_split_copy.c', + 'vbo/vbo_split_inplace.c', + 'vbo/vbo_save.c', + 'vbo/vbo_save_api.c', + 'vbo/vbo_save_draw.c', + 'vbo/vbo_save_loopback.c', +] + +vf_sources = [ + 'vf/vf.c', + 'vf/vf_generic.c', + 'vf/vf_sse.c', +] + +statetracker_sources = [ + 'state_tracker/st_atom.c', + 'state_tracker/st_atom_blend.c', + 'state_tracker/st_atom_clip.c', + 'state_tracker/st_atom_constbuf.c', + 'state_tracker/st_atom_depth.c', + 'state_tracker/st_atom_framebuffer.c', + 'state_tracker/st_atom_msaa.c', + 'state_tracker/st_atom_pixeltransfer.c', + 'state_tracker/st_atom_sampler.c', + 'state_tracker/st_atom_scissor.c', + 'state_tracker/st_atom_shader.c', + 'state_tracker/st_atom_rasterizer.c', + 'state_tracker/st_atom_stipple.c', + 'state_tracker/st_atom_texture.c', + 'state_tracker/st_atom_viewport.c', + 'state_tracker/st_cb_accum.c', + 'state_tracker/st_cb_bitmap.c', + 'state_tracker/st_cb_blit.c', + 'state_tracker/st_cb_bufferobjects.c', + 'state_tracker/st_cb_clear.c', + 'state_tracker/st_cb_condrender.c', + 'state_tracker/st_cb_flush.c', + 'state_tracker/st_cb_drawpixels.c', + 'state_tracker/st_cb_drawtex.c', + 'state_tracker/st_cb_eglimage.c', + 'state_tracker/st_cb_fbo.c', + 'state_tracker/st_cb_feedback.c', + 'state_tracker/st_cb_program.c', + 'state_tracker/st_cb_queryobj.c', + 'state_tracker/st_cb_rasterpos.c', + 'state_tracker/st_cb_readpixels.c', + 'state_tracker/st_cb_strings.c', + 'state_tracker/st_cb_texture.c', + 'state_tracker/st_cb_viewport.c', + 'state_tracker/st_cb_xformfb.c', + 'state_tracker/st_context.c', + 'state_tracker/st_debug.c', + 'state_tracker/st_draw.c', + 'state_tracker/st_draw_feedback.c', + 'state_tracker/st_extensions.c', + 'state_tracker/st_format.c', + 'state_tracker/st_gen_mipmap.c', + 'state_tracker/st_manager.c', + 'state_tracker/st_mesa_to_tgsi.c', + 'state_tracker/st_program.c', + 'state_tracker/st_texture.c', +] + +program_sources = [ + 'program/arbprogparse.c', + 'program/hash_table.c', + 'program/ir_to_mesa.cpp', + 'program/lex.yy.c', + 'program/nvfragparse.c', + 'program/nvvertparse.c', + 'program/program.c', + 'program/program_parse.tab.c', + 'program/program_parse_extra.c', + 'program/prog_cache.c', + 'program/prog_execute.c', + 'program/prog_instruction.c', + 'program/prog_noise.c', + 'program/prog_optimize.c', + 'program/prog_parameter.c', + 'program/prog_parameter_layout.c', + 'program/prog_print.c', + 'program/prog_statevars.c', + 'program/prog_uniform.c', + 'program/programopt.c', + 'program/sampler.cpp', + 'program/symbol_table.c', +] + +mesa_sources = ( + main_sources + + math_sources + + program_sources + + vbo_sources + + vf_sources + + statetracker_sources +) + +# +# Assembly sources +# +if env['gcc'] and env['platform'] != 'windows': + if env['machine'] == 'x86': + env.Append(CPPDEFINES = [ + 'USE_X86_ASM', + 'USE_MMX_ASM', + 'USE_3DNOW_ASM', + 'USE_SSE_ASM', + ]) + mesa_sources += [ + 'x86/common_x86.c', + 'x86/x86_xform.c', + 'x86/3dnow.c', + 'x86/sse.c', + 'x86/common_x86_asm.S', + 'x86/x86_xform2.S', + 'x86/x86_xform3.S', + 'x86/x86_xform4.S', + 'x86/x86_cliptest.S', + 'x86/mmx_blend.S', + 'x86/3dnow_xform1.S', + 'x86/3dnow_xform2.S', + 'x86/3dnow_xform3.S', + 'x86/3dnow_xform4.S', + 'x86/3dnow_normal.S', + 'x86/sse_xform1.S', + 'x86/sse_xform2.S', + 'x86/sse_xform3.S', + 'x86/sse_xform4.S', + 'x86/sse_normal.S', + 'x86/read_rgba_span_x86.S', + ] + elif env['machine'] == 'x86_64': + env.Append(CPPDEFINES = [ + 'USE_X86_64_ASM', + ]) + mesa_sources += [ + 'x86-64/x86-64.c', + 'x86-64/xform4.S', + ] + elif env['machine'] == 'ppc': + env.Append(CPPDEFINES = [ + 'USE_PPC_ASM', + 'USE_VMX_ASM', + ]) + mesa_sources += [ + 'ppc/common_ppc.c', + ] + elif env['machine'] == 'sparc': + mesa_sources += [ + 'sparc/sparc.c', + 'sparc/clip.S', + 'sparc/norm.S', + 'sparc/xform.S', + ] + else: + pass + + # Generate matypes.h + if env['machine'] in ('x86', 'x86_64'): + # See http://www.scons.org/wiki/UsingCodeGenerators + gen_matypes = env.Program( + target = 'gen_matypes', + source = 'x86/gen_matypes.c', + ) + matypes = env.Command( + 'matypes.h', + gen_matypes, + gen_matypes[0].abspath + ' > $TARGET', + ) + # Add the dir containing the generated header (somewhere inside the + # build dir) to the include path + env.Append(CPPPATH = [matypes[0].dir]) + +# +# Libraries +# + +mesa = env.ConvenienceLibrary( + target = 'mesa', + source = mesa_sources, +) + +env.Alias('mesa', mesa) + +Export('mesa') diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 1bfd76a665d..4533d827432 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -52,6 +52,7 @@ #include "main/readpix.h" #include "main/scissor.h" #include "main/shaderapi.h" +#include "main/shaderobj.h" #include "main/state.h" #include "main/stencil.h" #include "main/texobj.h" @@ -103,6 +104,8 @@ struct save_state /** META_ALPHA_TEST */ GLboolean AlphaEnabled; + GLenum AlphaFunc; + GLclampf AlphaRef; /** META_BLEND */ GLbitfield BlendEnabled; @@ -143,10 +146,10 @@ struct save_state struct gl_vertex_program *VertexProgram; GLboolean FragmentProgramEnabled; struct gl_fragment_program *FragmentProgram; - GLuint VertexShader; - GLuint GeometryShader; - GLuint FragmentShader; - GLuint ActiveShader; + struct gl_shader_program *VertexShader; + struct gl_shader_program *GeometryShader; + struct gl_shader_program *FragmentShader; + struct gl_shader_program *ActiveShader; /** META_STENCIL_TEST */ struct gl_stencil_attrib Stencil; @@ -327,6 +330,8 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) if (state & META_ALPHA_TEST) { save->AlphaEnabled = ctx->Color.AlphaEnabled; + save->AlphaFunc = ctx->Color.AlphaFunc; + save->AlphaRef = ctx->Color.AlphaRef; if (ctx->Color.AlphaEnabled) _mesa_set_enable(ctx, GL_ALPHA_TEST, GL_FALSE); } @@ -436,14 +441,14 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) } if (ctx->Extensions.ARB_shader_objects) { - save->VertexShader = ctx->Shader.CurrentVertexProgram ? - ctx->Shader.CurrentVertexProgram->Name : 0; - save->GeometryShader = ctx->Shader.CurrentGeometryProgram ? - ctx->Shader.CurrentGeometryProgram->Name : 0; - save->FragmentShader = ctx->Shader.CurrentFragmentProgram ? - ctx->Shader.CurrentFragmentProgram->Name : 0; - save->ActiveShader = ctx->Shader.ActiveProgram ? - ctx->Shader.ActiveProgram->Name : 0; + _mesa_reference_shader_program(ctx, &save->VertexShader, + ctx->Shader.CurrentVertexProgram); + _mesa_reference_shader_program(ctx, &save->GeometryShader, + ctx->Shader.CurrentGeometryProgram); + _mesa_reference_shader_program(ctx, &save->FragmentShader, + ctx->Shader.CurrentFragmentProgram); + _mesa_reference_shader_program(ctx, &save->ActiveShader, + ctx->Shader.CurrentFragmentProgram); _mesa_UseProgramObjectARB(0); } @@ -473,7 +478,8 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) _mesa_set_enable(ctx, GL_TEXTURE_1D, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_2D, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_3D, GL_FALSE); - _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP, GL_FALSE); + if (ctx->Extensions.ARB_texture_cube_map) + _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_RECTANGLE, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_GEN_S, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_GEN_T, GL_FALSE); @@ -575,6 +581,7 @@ _mesa_meta_end(struct gl_context *ctx) if (state & META_ALPHA_TEST) { if (ctx->Color.AlphaEnabled != save->AlphaEnabled) _mesa_set_enable(ctx, GL_ALPHA_TEST, save->AlphaEnabled); + _mesa_AlphaFunc(save->AlphaFunc, save->AlphaRef); } if (state & META_BLEND) { @@ -675,16 +682,18 @@ _mesa_meta_end(struct gl_context *ctx) } if (ctx->Extensions.ARB_vertex_shader) - _mesa_UseShaderProgramEXT(GL_VERTEX_SHADER, save->VertexShader); + _mesa_use_shader_program(ctx, GL_VERTEX_SHADER, save->VertexShader); if (ctx->Extensions.ARB_geometry_shader4) - _mesa_UseShaderProgramEXT(GL_GEOMETRY_SHADER_ARB, - save->GeometryShader); + _mesa_use_shader_program(ctx, GL_GEOMETRY_SHADER_ARB, + save->GeometryShader); if (ctx->Extensions.ARB_fragment_shader) - _mesa_UseShaderProgramEXT(GL_FRAGMENT_SHADER, save->FragmentShader); + _mesa_use_shader_program(ctx, GL_FRAGMENT_SHADER, + save->FragmentShader); - _mesa_ActiveProgramEXT(save->ActiveShader); + _mesa_reference_shader_program(ctx, &ctx->Shader.ActiveProgram, + save->ActiveShader); } if (state & META_STENCIL_TEST) { @@ -1971,13 +1980,39 @@ _mesa_meta_DrawPixels(struct gl_context *ctx, _mesa_meta_end(ctx); } +static GLboolean +alpha_test_raster_color(struct gl_context *ctx) +{ + GLfloat alpha = ctx->Current.RasterColor[ACOMP]; + GLfloat ref = ctx->Color.AlphaRef; + + switch (ctx->Color.AlphaFunc) { + case GL_NEVER: + return GL_FALSE; + case GL_LESS: + return alpha < ref; + case GL_EQUAL: + return alpha == ref; + case GL_LEQUAL: + return alpha <= ref; + case GL_GREATER: + return alpha > ref; + case GL_NOTEQUAL: + return alpha != ref; + case GL_GEQUAL: + return alpha >= ref; + case GL_ALWAYS: + return GL_TRUE; + default: + assert(0); + return GL_FALSE; + } +} /** - * Do glBitmap with a alpha texture quad. Use the alpha test to - * cull the 'off' bits. If alpha test is already enabled, fall back - * to swrast (should be a rare case). - * A bitmap cache as in the gallium/mesa state tracker would - * improve performance a lot. + * Do glBitmap with a alpha texture quad. Use the alpha test to cull + * the 'off' bits. A bitmap cache as in the gallium/mesa state + * tracker would improve performance a lot. */ void _mesa_meta_Bitmap(struct gl_context *ctx, @@ -1989,6 +2024,7 @@ _mesa_meta_Bitmap(struct gl_context *ctx, struct temp_texture *tex = get_bitmap_temp_texture(ctx); const GLenum texIntFormat = GL_ALPHA; const struct gl_pixelstore_attrib unpackSave = *unpack; + GLubyte fg, bg; struct vertex { GLfloat x, y, z, s, t, r, g, b, a; }; @@ -2000,7 +2036,7 @@ _mesa_meta_Bitmap(struct gl_context *ctx, * Check if swrast fallback is needed. */ if (ctx->_ImageTransferState || - ctx->Color.AlphaEnabled || + ctx->FragmentProgram._Enabled || ctx->Fog.Enabled || ctx->Texture._EnabledUnits || width > tex->MaxSize || @@ -2009,6 +2045,9 @@ _mesa_meta_Bitmap(struct gl_context *ctx, return; } + if (ctx->Color.AlphaEnabled && !alpha_test_raster_color(ctx)) + return; + /* Most GL state applies to glBitmap (like blending, stencil, etc), * but a there's a few things we need to override: */ @@ -2090,21 +2129,26 @@ _mesa_meta_Bitmap(struct gl_context *ctx, _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); } + /* choose different foreground/background alpha values */ + CLAMPED_FLOAT_TO_UBYTE(fg, ctx->Current.RasterColor[ACOMP]); + bg = (fg > 127 ? 0 : 255); + bitmap1 = _mesa_map_pbo_source(ctx, &unpackSave, bitmap1); if (!bitmap1) { _mesa_meta_end(ctx); return; } - bitmap8 = (GLubyte *) calloc(1, width * height); + bitmap8 = (GLubyte *) malloc(width * height); if (bitmap8) { + memset(bitmap8, bg, width * height); _mesa_expand_bitmap(width, height, &unpackSave, bitmap1, - bitmap8, width, 0xff); + bitmap8, width, fg); _mesa_set_enable(ctx, tex->Target, GL_TRUE); _mesa_set_enable(ctx, GL_ALPHA_TEST, GL_TRUE); - _mesa_AlphaFunc(GL_GREATER, 0.0); + _mesa_AlphaFunc(GL_NOTEQUAL, UBYTE_TO_FLOAT(bg)); setup_drawpix_texture(ctx, tex, newTex, texIntFormat, width, height, GL_ALPHA, GL_UNSIGNED_BYTE, bitmap8); diff --git a/src/mesa/drivers/dri/common/utils.c b/src/mesa/drivers/dri/common/utils.c index c195c4fd8f5..42be77fd7c4 100644 --- a/src/mesa/drivers/dri/common/utils.c +++ b/src/mesa/drivers/dri/common/utils.c @@ -738,12 +738,18 @@ static const struct { unsigned int attrib, offset; } attribMap[] = { #define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) + +/** + * Return the value of a configuration attribute. The attribute is + * indicated by the index. + */ static int driGetConfigAttribIndex(const __DRIconfig *config, unsigned int index, unsigned int *value) { switch (attribMap[index].attrib) { case __DRI_ATTRIB_RENDER_TYPE: + /* no support for color index mode */ *value = __DRI_ATTRIB_RGBA_BIT; break; case __DRI_ATTRIB_CONFIG_CAVEAT: @@ -755,13 +761,16 @@ driGetConfigAttribIndex(const __DRIconfig *config, *value = 0; break; case __DRI_ATTRIB_SWAP_METHOD: + /* XXX no return value??? */ break; case __DRI_ATTRIB_FLOAT_MODE: + /* this field is not int-sized */ *value = config->modes.floatMode; break; default: + /* any other int-sized field */ *value = *(unsigned int *) ((char *) &config->modes + attribMap[index].offset); @@ -771,6 +780,13 @@ driGetConfigAttribIndex(const __DRIconfig *config, return GL_TRUE; } + +/** + * Get the value of a configuration attribute. + * \param attrib the attribute (one of the _DRI_ATTRIB_x tokens) + * \param value returns the attribute's value + * \return 1 for success, 0 for failure + */ int driGetConfigAttrib(const __DRIconfig *config, unsigned int attrib, unsigned int *value) @@ -784,6 +800,14 @@ driGetConfigAttrib(const __DRIconfig *config, return GL_FALSE; } + +/** + * Get a configuration attribute name and value, given an index. + * \param index which field of the __DRIconfig to query + * \param attrib returns the attribute name (one of the _DRI_ATTRIB_x tokens) + * \param value returns the attribute's value + * \return 1 for success, 0 for failure + */ int driIndexConfigAttrib(const __DRIconfig *config, int index, unsigned int *attrib, unsigned int *value) diff --git a/src/mesa/drivers/dri/i915/intel_structs.h b/src/mesa/drivers/dri/i915/intel_structs.h deleted file mode 100644 index 522e3bd92c2..00000000000 --- a/src/mesa/drivers/dri/i915/intel_structs.h +++ /dev/null @@ -1,132 +0,0 @@ -#ifndef INTEL_STRUCTS_H -#define INTEL_STRUCTS_H - -struct br0 { - GLuint length:8; - GLuint pad0:3; - GLuint dst_tiled:1; - GLuint pad1:8; - GLuint write_rgb:1; - GLuint write_alpha:1; - GLuint opcode:7; - GLuint client:3; -}; - - -struct br13 { - GLint dest_pitch:16; - GLuint rop:8; - GLuint color_depth:2; - GLuint pad1:3; - GLuint mono_source_transparency:1; - GLuint clipping_enable:1; - GLuint pad0:1; -}; - - - -/* This is an attempt to move some of the 2D interaction in this - * driver to using structs for packets rather than a bunch of #defines - * and dwords. - */ -struct xy_color_blit { - struct br0 br0; - struct br13 br13; - - struct { - GLuint dest_x1:16; - GLuint dest_y1:16; - } dw2; - - struct { - GLuint dest_x2:16; - GLuint dest_y2:16; - } dw3; - - GLuint dest_base_addr; - GLuint color; -}; - -struct xy_src_copy_blit { - struct br0 br0; - struct br13 br13; - - struct { - GLuint dest_x1:16; - GLuint dest_y1:16; - } dw2; - - struct { - GLuint dest_x2:16; - GLuint dest_y2:16; - } dw3; - - GLuint dest_base_addr; - - struct { - GLuint src_x1:16; - GLuint src_y1:16; - } dw5; - - struct { - GLint src_pitch:16; - GLuint pad:16; - } dw6; - - GLuint src_base_addr; -}; - -struct xy_setup_blit { - struct br0 br0; - struct br13 br13; - - struct { - GLuint clip_x1:16; - GLuint clip_y1:16; - } dw2; - - struct { - GLuint clip_x2:16; - GLuint clip_y2:16; - } dw3; - - GLuint dest_base_addr; - GLuint background_color; - GLuint foreground_color; - GLuint pattern_base_addr; -}; - - -struct xy_text_immediate_blit { - struct { - GLuint length:8; - GLuint pad2:3; - GLuint dst_tiled:1; - GLuint pad1:4; - GLuint byte_packed:1; - GLuint pad0:5; - GLuint opcode:7; - GLuint client:3; - } dw0; - - struct { - GLuint dest_x1:16; - GLuint dest_y1:16; - } dw1; - - struct { - GLuint dest_x2:16; - GLuint dest_y2:16; - } dw2; - - /* Src bitmap data follows as inline dwords. - */ -}; - - -#define CLIENT_2D 0x2 -#define OPCODE_XY_SETUP_BLT 0x1 -#define OPCODE_XY_COLOR_BLT 0x50 -#define OPCODE_XY_TEXT_IMMEDIATE_BLT 0x31 - -#endif diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c index 00418760da3..a8369b07c35 100644 --- a/src/mesa/drivers/dri/i965/brw_cc.c +++ b/src/mesa/drivers/dri/i965/brw_cc.c @@ -204,7 +204,7 @@ static void upload_cc_unit(struct brw_context *brw) cc.cc2.depth_write_enable = ctx->Depth.Mask; } - if (intel->stats_wm || (INTEL_DEBUG & DEBUG_STATS)) + if (intel->stats_wm || unlikely(INTEL_DEBUG & DEBUG_STATS)) cc.cc5.statistics_enable = 1; /* CACHE_NEW_CC_VP */ diff --git a/src/mesa/drivers/dri/i965/brw_clip.c b/src/mesa/drivers/dri/i965/brw_clip.c index 15e60bf3ce3..1be165cc9a1 100644 --- a/src/mesa/drivers/dri/i965/brw_clip.c +++ b/src/mesa/drivers/dri/i965/brw_clip.c @@ -133,13 +133,13 @@ static void compile_clip_prog( struct brw_context *brw, */ program = brw_get_program(&c.func, &program_size); - if (INTEL_DEBUG & DEBUG_CLIP) { + if (unlikely(INTEL_DEBUG & DEBUG_CLIP)) { printf("clip:\n"); for (i = 0; i < program_size / sizeof(struct brw_instruction); i++) brw_disasm(stdout, &((struct brw_instruction *)program)[i], intel->gen); printf("\n"); - } + } /* Upload */ diff --git a/src/mesa/drivers/dri/i965/brw_clip_state.c b/src/mesa/drivers/dri/i965/brw_clip_state.c index 885167da908..60fd5fa7d9e 100644 --- a/src/mesa/drivers/dri/i965/brw_clip_state.c +++ b/src/mesa/drivers/dri/i965/brw_clip_state.c @@ -114,10 +114,10 @@ clip_unit_create_from_key(struct brw_context *brw, clip.thread4.max_threads = 1 - 1; } - if (INTEL_DEBUG & DEBUG_SINGLE_THREAD) + if (unlikely(INTEL_DEBUG & DEBUG_SINGLE_THREAD)) clip.thread4.max_threads = 0; - if (INTEL_DEBUG & DEBUG_STATS) + if (unlikely(INTEL_DEBUG & DEBUG_STATS)) clip.thread4.stats_enable = 1; clip.clip5.userclip_enable_flags = 0x7f; diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 3c4ae8a7a4f..cb0a8b96c9c 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -124,7 +124,7 @@ GLboolean brwCreateContext( int api, (i == MESA_SHADER_FRAGMENT); if (intel->gen == 6) - ctx->ShaderCompilerOptions[i].EmitNoIfs = GL_TRUE; + ctx->ShaderCompilerOptions[i].EmitNoIfs = (i == MESA_SHADER_VERTEX); } ctx->Const.VertexProgram.MaxNativeInstructions = (16 * 1024); diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 6c3db61035a..239586a0366 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -930,6 +930,11 @@ #define CMD_3D_CLIP_STATE 0x7812 /* GEN6+ */ /* DW1 */ # define GEN6_CLIP_STATISTICS_ENABLE (1 << 10) +/** + * Just does cheap culling based on the clip distance. Bits must be + * disjoint with USER_CLIP_CLIP_DISTANCE bits. + */ +# define GEN6_USER_CLIP_CULL_DISTANCES_SHIFT 0 /* DW2 */ # define GEN6_CLIP_ENABLE (1 << 31) # define GEN6_CLIP_API_OGL (0 << 30) @@ -937,6 +942,8 @@ # define GEN6_CLIP_XY_TEST (1 << 28) # define GEN6_CLIP_Z_TEST (1 << 27) # define GEN6_CLIP_GB_TEST (1 << 26) +/** 8-bit field of which user clip distances to clip aganist. */ +# define GEN6_USER_CLIP_CLIP_DISTANCES_SHIFT 16 # define GEN6_CLIP_MODE_NORMAL (0 << 13) # define GEN6_CLIP_MODE_REJECT_ALL (3 << 13) # define GEN6_CLIP_MODE_ACCEPT_ALL (4 << 13) diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index 04bc8cb2db0..a1f403ca4e6 100644 --- a/src/mesa/drivers/dri/i965/brw_draw.c +++ b/src/mesa/drivers/dri/i965/brw_draw.c @@ -42,7 +42,7 @@ #include "intel_batchbuffer.h" -#define FILE_DEBUG_FLAG DEBUG_BATCH +#define FILE_DEBUG_FLAG DEBUG_PRIMS static GLuint prim_to_hw_prim[GL_POLYGON+1] = { _3DPRIM_POINTLIST, @@ -83,8 +83,7 @@ static GLuint brw_set_prim(struct brw_context *brw, struct gl_context *ctx = &brw->intel.ctx; GLenum mode = prim->mode; - if (INTEL_DEBUG & DEBUG_PRIMS) - printf("PRIM: %s\n", _mesa_lookup_enum_by_nr(prim->mode)); + DBG("PRIM: %s\n", _mesa_lookup_enum_by_nr(prim->mode)); /* Slight optimization to avoid the GS program when not needed: */ @@ -133,9 +132,8 @@ static void brw_emit_prim(struct brw_context *brw, struct brw_3d_primitive prim_packet; struct intel_context *intel = &brw->intel; - if (INTEL_DEBUG & DEBUG_PRIMS) - printf("PRIM: %s %d %d\n", _mesa_lookup_enum_by_nr(prim->mode), - prim->start, prim->count); + DBG("PRIM: %s %d %d\n", _mesa_lookup_enum_by_nr(prim->mode), + prim->start, prim->count); prim_packet.header.opcode = CMD_3D_PRIM; prim_packet.header.length = sizeof(prim_packet)/4 - 2; diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c index c4654360d46..2cefe614dd2 100644 --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c @@ -168,7 +168,7 @@ static GLuint byte_types_scale[5] = { static GLuint get_surface_type( GLenum type, GLuint size, GLenum format, GLboolean normalized ) { - if (INTEL_DEBUG & DEBUG_VERTS) + if (unlikely(INTEL_DEBUG & DEBUG_VERTS)) printf("type %s size %d normalized %d\n", _mesa_lookup_enum_by_nr(type), size, normalized); diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 9cb99a2b999..9cb941dacfd 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -969,7 +969,7 @@ void brw_ENDIF(struct brw_compile *p, brw_set_src0(insn, retype(brw_vec4_grf(0,0), BRW_REGISTER_TYPE_UD)); brw_set_src1(insn, brw_imm_d(0x0)); } else { - brw_set_dest(insn, retype(brw_vec4_grf(0,0), BRW_REGISTER_TYPE_W)); + brw_set_dest(insn, brw_imm_w(0)); brw_set_src0(insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); brw_set_src1(insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); } diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 2ed59d3f5d4..283d5aad496 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -89,8 +89,6 @@ brw_compile_shader(struct gl_context *ctx, struct gl_shader *shader) GLboolean brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) { - struct intel_context *intel = intel_context(ctx); - struct brw_shader *shader = (struct brw_shader *)prog->_LinkedShaders[MESA_SHADER_FRAGMENT]; if (shader != NULL) { @@ -132,9 +130,6 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) GL_TRUE, /* temp */ GL_TRUE /* uniform */ ) || progress; - if (intel->gen == 6) { - progress = do_if_to_cond_assign(shader->ir) || progress; - } } while (progress); validate_ir_tree(shader->ir); @@ -3129,7 +3124,7 @@ fs_visitor::generate_code() const char *last_annotation_string = NULL; ir_instruction *last_annotation_ir = NULL; - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { printf("Native code for fragment shader %d:\n", ctx->Shader.CurrentFragmentProgram->Name); } @@ -3141,7 +3136,7 @@ fs_visitor::generate_code() fs_inst *inst = (fs_inst *)iter.get(); struct brw_reg src[3], dst; - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { if (last_annotation_ir != inst->ir) { last_annotation_ir = inst->ir; if (last_annotation_ir) { @@ -3335,7 +3330,7 @@ fs_visitor::generate_code() this->fail = true; } - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { for (unsigned int i = last_native_inst; i < p->nr_insn; i++) { if (0) { printf("0x%08x 0x%08x 0x%08x 0x%08x ", @@ -3376,7 +3371,7 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c) */ c->dispatch_width = 8; - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { printf("GLSL IR for native fragment shader %d:\n", prog->Name); _mesa_print_ir(shader->ir, NULL); printf("\n"); diff --git a/src/mesa/drivers/dri/i965/brw_gs.c b/src/mesa/drivers/dri/i965/brw_gs.c index cfcc8ea4d6a..b0c76f4094d 100644 --- a/src/mesa/drivers/dri/i965/brw_gs.c +++ b/src/mesa/drivers/dri/i965/brw_gs.c @@ -127,8 +127,8 @@ static void compile_gs_prog( struct brw_context *brw, */ program = brw_get_program(&c.func, &program_size); - if (INTEL_DEBUG & DEBUG_GS) { - int i; + if (unlikely(INTEL_DEBUG & DEBUG_GS)) { + int i; printf("gs:\n"); for (i = 0; i < program_size / sizeof(struct brw_instruction); i++) diff --git a/src/mesa/drivers/dri/i965/brw_gs_state.c b/src/mesa/drivers/dri/i965/brw_gs_state.c index 63562ebcfc2..69a5f7a6667 100644 --- a/src/mesa/drivers/dri/i965/brw_gs_state.c +++ b/src/mesa/drivers/dri/i965/brw_gs_state.c @@ -101,7 +101,7 @@ gs_unit_create_from_key(struct brw_context *brw, struct brw_gs_unit_key *key) if (intel->gen == 5) gs.thread4.rendering_enable = 1; - if (INTEL_DEBUG & DEBUG_STATS) + if (unlikely(INTEL_DEBUG & DEBUG_STATS)) gs.thread4.stats_enable = 1; bo = brw_upload_cache(&brw->cache, BRW_GS_UNIT, diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c index 24041e57b00..1d350bc0413 100644 --- a/src/mesa/drivers/dri/i965/brw_misc_state.c +++ b/src/mesa/drivers/dri/i965/brw_misc_state.c @@ -555,7 +555,7 @@ static void upload_invarient_state( struct brw_context *brw ) memset(&vfs, 0, sizeof(vfs)); vfs.opcode = brw->CMD_VF_STATISTICS; - if (INTEL_DEBUG & DEBUG_STATS) + if (unlikely(INTEL_DEBUG & DEBUG_STATS)) vfs.statistics_enable = 1; BRW_BATCH_STRUCT(brw, &vfs); diff --git a/src/mesa/drivers/dri/i965/brw_sf.c b/src/mesa/drivers/dri/i965/brw_sf.c index 7dbd70daaea..6da155b1a9b 100644 --- a/src/mesa/drivers/dri/i965/brw_sf.c +++ b/src/mesa/drivers/dri/i965/brw_sf.c @@ -108,7 +108,7 @@ static void compile_sf_prog( struct brw_context *brw, */ program = brw_get_program(&c.func, &program_size); - if (INTEL_DEBUG & DEBUG_SF) { + if (unlikely(INTEL_DEBUG & DEBUG_SF)) { printf("sf:\n"); for (i = 0; i < program_size / sizeof(struct brw_instruction); i++) brw_disasm(stdout, &((struct brw_instruction *)program)[i], diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c b/src/mesa/drivers/dri/i965/brw_sf_state.c index 6ad9e1b48a4..bd3a21ed9e2 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_state.c +++ b/src/mesa/drivers/dri/i965/brw_sf_state.c @@ -210,10 +210,10 @@ sf_unit_create_from_key(struct brw_context *brw, struct brw_sf_unit_key *key, sf.thread4.max_threads = MIN2(chipset_max_threads, key->nr_urb_entries) - 1; - if (INTEL_DEBUG & DEBUG_SINGLE_THREAD) + if (unlikely(INTEL_DEBUG & DEBUG_SINGLE_THREAD)) sf.thread4.max_threads = 0; - if (INTEL_DEBUG & DEBUG_STATS) + if (unlikely(INTEL_DEBUG & DEBUG_STATS)) sf.thread4.stats_enable = 1; /* CACHE_NEW_SF_VP */ diff --git a/src/mesa/drivers/dri/i965/brw_state_cache.c b/src/mesa/drivers/dri/i965/brw_state_cache.c index b31d84953a1..58ff528d44b 100644 --- a/src/mesa/drivers/dri/i965/brw_state_cache.c +++ b/src/mesa/drivers/dri/i965/brw_state_cache.c @@ -61,6 +61,7 @@ #include "intel_batchbuffer.h" #include "brw_wm.h" +#define FILE_DEBUG_FLAG DEBUG_STATE static GLuint hash_key(struct brw_cache_item *item) @@ -265,10 +266,9 @@ brw_upload_cache_with_auxdata(struct brw_cache *cache, *(void **)aux_return = (void *)((char *)item->key + item->key_size); } - if (INTEL_DEBUG & DEBUG_STATE) - printf("upload %s: %d bytes to cache id %d\n", - cache->name[cache_id], - data_size, cache_id); + DBG("upload %s: %d bytes to cache id %d\n", + cache->name[cache_id], + data_size, cache_id); /* Copy data to the buffer */ drm_intel_bo_subdata(bo, 0, data_size, data); @@ -407,8 +407,7 @@ brw_clear_cache(struct brw_context *brw, struct brw_cache *cache) struct brw_cache_item *c, *next; GLuint i; - if (INTEL_DEBUG & DEBUG_STATE) - printf("%s\n", __FUNCTION__); + DBG("%s\n", __FUNCTION__); for (i = 0; i < cache->size; i++) { for (c = cache->items[i]; c; c = next) { @@ -434,8 +433,7 @@ brw_clear_cache(struct brw_context *brw, struct brw_cache *cache) void brw_state_cache_check_size(struct brw_context *brw) { - if (INTEL_DEBUG & DEBUG_STATE) - printf("%s (n_items=%d)\n", __FUNCTION__, brw->cache.n_items); + DBG("%s (n_items=%d)\n", __FUNCTION__, brw->cache.n_items); /* un-tuned guess. Each object is generally a page, so 1000 of them is 4 MB of * state cache. @@ -450,8 +448,7 @@ brw_destroy_cache(struct brw_context *brw, struct brw_cache *cache) { GLuint i; - if (INTEL_DEBUG & DEBUG_STATE) - printf("%s\n", __FUNCTION__); + DBG("%s\n", __FUNCTION__); brw_clear_cache(brw, cache); for (i = 0; i < BRW_MAX_CACHE; i++) { diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index f3b6a90f61a..338f3876b31 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -435,7 +435,7 @@ void brw_upload_state(struct brw_context *brw) brw_clear_validated_bos(brw); - if (INTEL_DEBUG) { + if (unlikely(INTEL_DEBUG)) { /* Debug version which enforces various sanity checks on the * state flags which are generated and checked to help ensure * state atoms are ordered correctly in the list. @@ -487,7 +487,7 @@ void brw_upload_state(struct brw_context *brw) } } - if (INTEL_DEBUG & DEBUG_STATE) { + if (unlikely(INTEL_DEBUG & DEBUG_STATE)) { brw_update_dirty_count(mesa_bits, state->mesa); brw_update_dirty_count(brw_bits, state->brw); brw_update_dirty_count(cache_bits, state->cache); diff --git a/src/mesa/drivers/dri/i965/brw_urb.c b/src/mesa/drivers/dri/i965/brw_urb.c index 0f597184b42..dfc1551aca6 100644 --- a/src/mesa/drivers/dri/i965/brw_urb.c +++ b/src/mesa/drivers/dri/i965/brw_urb.c @@ -190,12 +190,12 @@ static void recalculate_urb_fence( struct brw_context *brw ) exit(1); } - if (INTEL_DEBUG & (DEBUG_URB|DEBUG_FALLBACKS)) + if (unlikely(INTEL_DEBUG & (DEBUG_URB|DEBUG_FALLBACKS))) printf("URB CONSTRAINED\n"); } done: - if (INTEL_DEBUG & DEBUG_URB) + if (unlikely(INTEL_DEBUG & DEBUG_URB)) printf("URB fence: %d ..VS.. %d ..GS.. %d ..CLP.. %d ..SF.. %d ..CS.. %d\n", brw->urb.vs_start, brw->urb.gs_start, diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index ce334799965..7e43324a1f9 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -165,13 +165,20 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c ) /* User clip planes from curbe: */ if (c->key.nr_userclip) { - for (i = 0; i < c->key.nr_userclip; i++) { - c->userplane[i] = stride( brw_vec4_grf(reg+3+i/2, (i%2) * 4), 0, 4, 1); - } + if (intel->gen >= 6) { + for (i = 0; i < c->key.nr_userclip; i++) { + c->userplane[i] = stride(brw_vec4_grf(reg + i / 2, + (i % 2) * 4), 0, 4, 1); + } + reg += ALIGN(c->key.nr_userclip, 2) / 2; + } else { + for (i = 0; i < c->key.nr_userclip; i++) { + c->userplane[i] = stride(brw_vec4_grf(reg + (6 + i) / 2, + (i % 2) * 4), 0, 4, 1); + } + reg += (ALIGN(6 + c->key.nr_userclip, 4) / 4) * 2; + } - /* Deal with curbe alignment: - */ - reg += ((6 + c->key.nr_userclip + 3) / 4) * 2; } /* Vertex program parameters from curbe: @@ -253,9 +260,11 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c ) c->first_output = reg; c->first_overflow_output = 0; - if (intel->gen >= 6) - mrf = 3; /* no more pos store in attribute */ - else if (intel->gen == 5) + if (intel->gen >= 6) { + mrf = 3; + if (c->key.nr_userclip) + mrf += 2; + } else if (intel->gen == 5) mrf = 8; else mrf = 4; @@ -372,16 +381,20 @@ static void brw_vs_alloc_regs( struct brw_vs_compile *c ) /* See emit_vertex_write() for where the VUE's overhead on top of the * attributes comes from. */ - if (intel->gen >= 6) - c->prog_data.urb_entry_size = (attributes_in_vue + 2 + 7) / 8; - else if (intel->gen == 5) + if (intel->gen >= 6) { + int header_regs = 2; + if (c->key.nr_userclip) + header_regs += 2; + + c->prog_data.urb_entry_size = (attributes_in_vue + header_regs + 7) / 8; + } else if (intel->gen == 5) c->prog_data.urb_entry_size = (attributes_in_vue + 6 + 3) / 4; else c->prog_data.urb_entry_size = (attributes_in_vue + 2 + 3) / 4; c->prog_data.total_grf = reg; - if (INTEL_DEBUG & DEBUG_VS) { + if (unlikely(INTEL_DEBUG & DEBUG_VS)) { printf("%s NumAddrRegs %d\n", __FUNCTION__, c->vp->program.Base.NumAddressRegs); printf("%s NumTemps %d\n", __FUNCTION__, c->vp->program.Base.NumTemporaries); printf("%s reg = %d\n", __FUNCTION__, reg); @@ -576,12 +589,11 @@ static void emit_min( struct brw_compile *p, brw_set_predicate_control(p, BRW_PREDICATE_NONE); } - -static void emit_math1( struct brw_vs_compile *c, - GLuint function, - struct brw_reg dst, - struct brw_reg arg0, - GLuint precision) +static void emit_math1_gen4(struct brw_vs_compile *c, + GLuint function, + struct brw_reg dst, + struct brw_reg arg0, + GLuint precision) { /* There are various odd behaviours with SEND on the simulator. In * addition there are documented issues with the fact that the GEN4 @@ -591,14 +603,11 @@ static void emit_math1( struct brw_vs_compile *c, * whether that turns out to be a simulator bug or not: */ struct brw_compile *p = &c->func; - struct intel_context *intel = &p->brw->intel; struct brw_reg tmp = dst; GLboolean need_tmp = GL_FALSE; - if (dst.file != BRW_GENERAL_REGISTER_FILE) - need_tmp = GL_TRUE; - - if (intel->gen < 6 && dst.dw1.bits.writemask != 0xf) + if (dst.file != BRW_GENERAL_REGISTER_FILE || + dst.dw1.bits.writemask != 0xf) need_tmp = GL_TRUE; if (need_tmp) @@ -619,6 +628,57 @@ static void emit_math1( struct brw_vs_compile *c, } } +static void +emit_math1_gen6(struct brw_vs_compile *c, + GLuint function, + struct brw_reg dst, + struct brw_reg arg0, + GLuint precision) +{ + struct brw_compile *p = &c->func; + struct brw_reg tmp_src, tmp_dst; + + /* Something is strange on gen6 math in 16-wide mode, though the + * docs say it's supposed to work. Punt to using align1 mode, + * which doesn't do writemasking and swizzles. + */ + tmp_src = get_tmp(c); + tmp_dst = get_tmp(c); + + brw_MOV(p, tmp_src, arg0); + + brw_set_access_mode(p, BRW_ALIGN_1); + brw_math(p, + tmp_dst, + function, + BRW_MATH_SATURATE_NONE, + 2, + tmp_src, + BRW_MATH_DATA_SCALAR, + precision); + brw_set_access_mode(p, BRW_ALIGN_16); + + brw_MOV(p, dst, tmp_dst); + + release_tmp(c, tmp_src); + release_tmp(c, tmp_dst); +} + +static void +emit_math1(struct brw_vs_compile *c, + GLuint function, + struct brw_reg dst, + struct brw_reg arg0, + GLuint precision) +{ + struct brw_compile *p = &c->func; + struct intel_context *intel = &p->brw->intel; + + if (intel->gen >= 6) + emit_math1_gen6(c, function, dst, arg0, precision); + else + emit_math1_gen4(c, function, dst, arg0, precision); +} static void emit_math2( struct brw_vs_compile *c, GLuint function, @@ -1392,9 +1452,33 @@ static void emit_vertex_write( struct brw_vs_compile *c) /* Update the header for point size, user clipping flags, and -ve rhw * workaround. */ - if ((c->prog_data.outputs_written & BITFIELD64_BIT(VERT_RESULT_PSIZ)) || - c->key.nr_userclip || brw->has_negative_rhw_bug) - { + if (intel->gen >= 6) { + struct brw_reg m1 = brw_message_reg(1); + + /* On gen6, m1 has each value in a separate dword, so we never + * need to mess with a temporary for computing the m1 value. + */ + brw_MOV(p, retype(m1, BRW_REGISTER_TYPE_UD), brw_imm_ud(0)); + if (c->prog_data.outputs_written & BITFIELD64_BIT(VERT_RESULT_PSIZ)) { + brw_MOV(p, brw_writemask(m1, WRITEMASK_W), + brw_swizzle1(c->regs[PROGRAM_OUTPUT][VERT_RESULT_PSIZ], 0)); + } + + /* Set the user clip distances in dword 8-15. (m3-4)*/ + if (c->key.nr_userclip) { + for (i = 0; i < c->key.nr_userclip; i++) { + struct brw_reg m; + if (i < 4) + m = brw_message_reg(3); + else + m = brw_message_reg(4); + + brw_DP4(p, brw_writemask(m, (1 << (i & 7))),pos, c->userplane[i]); + } + } + } else if ((c->prog_data.outputs_written & + BITFIELD64_BIT(VERT_RESULT_PSIZ)) || + c->key.nr_userclip || brw->has_negative_rhw_bug) { struct brw_reg header1 = retype(get_tmp(c), BRW_REGISTER_TYPE_UD); GLuint i; @@ -1404,11 +1488,10 @@ static void emit_vertex_write( struct brw_vs_compile *c) if (c->prog_data.outputs_written & BITFIELD64_BIT(VERT_RESULT_PSIZ)) { struct brw_reg psiz = c->regs[PROGRAM_OUTPUT][VERT_RESULT_PSIZ]; - if (intel->gen < 6) { - brw_MUL(p, brw_writemask(header1, WRITEMASK_W), brw_swizzle1(psiz, 0), brw_imm_f(1<<11)); - brw_AND(p, brw_writemask(header1, WRITEMASK_W), header1, brw_imm_ud(0x7ff<<8)); - } else - brw_MOV(p, brw_writemask(header1, WRITEMASK_W), brw_swizzle1(psiz, 0)); + brw_MUL(p, brw_writemask(header1, WRITEMASK_W), + brw_swizzle1(psiz, 0), brw_imm_f(1<<11)); + brw_AND(p, brw_writemask(header1, WRITEMASK_W), + header1, brw_imm_ud(0x7ff<<8)); } for (i = 0; i < c->key.nr_userclip; i++) { @@ -1461,12 +1544,14 @@ static void emit_vertex_write( struct brw_vs_compile *c) * dword 0-3 (m1) of the header is indices, point width, clip flags. * dword 4-7 (m2) is the 4D space position * dword 8-15 (m3,m4) of the vertex header is the user clip distance if - * enabled. We don't use it, so skip it. - * m3 is the first vertex element data we fill, which is the vertex - * position. + * enabled. + * m3 or 5 is the first vertex element data we fill, which is + * the vertex position. */ brw_MOV(p, brw_message_reg(2), pos); len_vertex_header = 1; + if (c->key.nr_userclip > 0) + len_vertex_header += 2; } else if (intel->gen == 5) { /* There are 20 DWs (D0-D19) in VUE header on Ironlake: * dword 0-3 (m1) of the header is indices, point width, clip flags. @@ -1640,17 +1725,13 @@ void brw_vs_emit(struct brw_vs_compile *c ) GLuint index; GLuint file; - if (INTEL_DEBUG & DEBUG_VS) { + if (unlikely(INTEL_DEBUG & DEBUG_VS)) { printf("vs-mesa:\n"); _mesa_fprint_program_opt(stdout, &c->vp->program.Base, PROG_PRINT_DEBUG, GL_TRUE); printf("\n"); } - /* FIXME Need to fix conditional instruction to remove this */ - if (intel->gen >= 6) - p->single_program_flow = GL_TRUE; - brw_set_compression_control(p, BRW_COMPRESSION_NONE); brw_set_access_mode(p, BRW_ALIGN_16); if_depth_in_loop[loop_depth] = 0; @@ -2010,7 +2091,7 @@ void brw_vs_emit(struct brw_vs_compile *c ) brw_optimize(p); - if (INTEL_DEBUG & DEBUG_VS) { + if (unlikely(INTEL_DEBUG & DEBUG_VS)) { int i; printf("vs-native:\n"); diff --git a/src/mesa/drivers/dri/i965/brw_vs_state.c b/src/mesa/drivers/dri/i965/brw_vs_state.c index ebae94269f9..be923138617 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_state.c +++ b/src/mesa/drivers/dri/i965/brw_vs_state.c @@ -154,7 +154,7 @@ vs_unit_create_from_key(struct brw_context *brw, struct brw_vs_unit_key *key) */ vs.vs5.sampler_count = 0; - if (INTEL_DEBUG & DEBUG_STATS) + if (unlikely(INTEL_DEBUG & DEBUG_STATS)) vs.thread4.stats_enable = 1; /* Vertex program always enabled: diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 7f3ba5f0581..a6d2a2377f6 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -198,7 +198,7 @@ static void do_wm_prog( struct brw_context *brw, c->prog_data.total_scratch = 0; } - if (INTEL_DEBUG & DEBUG_WM) + if (unlikely(INTEL_DEBUG & DEBUG_WM)) fprintf(stderr, "\n"); /* get the program diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index d06c49fd5be..96fecc97ee2 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_emit.c +++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c @@ -83,6 +83,7 @@ brw_wm_arg_can_be_immediate(enum prog_opcode opcode, int arg) [OPCODE_SLE] = 2, [OPCODE_SLT] = 2, [OPCODE_SNE] = 2, + [OPCODE_SWZ] = 1, [OPCODE_XPD] = 2, }; @@ -895,11 +896,12 @@ void emit_math1(struct brw_wm_compile *c, BRW_MATH_SATURATE_NONE); struct brw_reg src; - if (intel->gen >= 6 && arg0[0].hstride == BRW_HORIZONTAL_STRIDE_0) { - /* Gen6 math requires that source and dst horizontal stride be 1. - * + if (intel->gen >= 6 && (arg0[0].hstride == BRW_HORIZONTAL_STRIDE_0 || + arg0[0].file != BRW_GENERAL_REGISTER_FILE)) { + /* Gen6 math requires that source and dst horizontal stride be 1, + * and that the argument be in the GRF. */ - src = *dst; + src = dst[dst_chan]; brw_MOV(p, src, arg0[0]); } else { src = arg0[0]; @@ -1920,7 +1922,7 @@ void brw_wm_emit( struct brw_wm_compile *c ) brw_remove_grf_to_mrf_moves(p); } - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { int i; printf("wm-native:\n"); diff --git a/src/mesa/drivers/dri/i965/brw_wm_fp.c b/src/mesa/drivers/dri/i965/brw_wm_fp.c index 15a238cda62..2cae6988804 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_fp.c +++ b/src/mesa/drivers/dri/i965/brw_wm_fp.c @@ -663,7 +663,7 @@ static void precalc_tex( struct brw_wm_compile *c, const struct prog_instruction *inst ) { struct prog_src_register coord; - struct prog_dst_register tmpcoord; + struct prog_dst_register tmpcoord = { 0 }; const GLuint unit = c->fp->program.Base.SamplerUnits[inst->TexSrcUnit]; assert(unit < BRW_MAX_TEX_UNIT); @@ -963,7 +963,7 @@ static void emit_render_target_writes( struct brw_wm_compile *c ) struct prog_src_register outcolor; GLuint i; - struct prog_instruction *inst, *last_inst; + struct prog_instruction *inst, *last_inst = NULL; /* The inst->Aux field is used for FB write target and the EOT marker */ @@ -1058,7 +1058,7 @@ void brw_wm_pass_fp( struct brw_wm_compile *c ) struct brw_fragment_program *fp = c->fp; GLuint insn; - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { printf("pre-fp:\n"); _mesa_fprint_program_opt(stdout, &fp->program.Base, PROG_PRINT_DEBUG, GL_TRUE); @@ -1174,7 +1174,7 @@ void brw_wm_pass_fp( struct brw_wm_compile *c ) } } - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { printf("pass_fp:\n"); print_insns( c->prog_instructions, c->nr_fp_insns ); printf("\n"); diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c b/src/mesa/drivers/dri/i965/brw_wm_glsl.c index d325f85ce00..7fe8ab1f334 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c +++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c @@ -19,7 +19,7 @@ GLboolean brw_wm_is_glsl(const struct gl_fragment_program *fp) { int i; - if (INTEL_DEBUG & DEBUG_GLSL_FORCE) + if (unlikely(INTEL_DEBUG & DEBUG_GLSL_FORCE)) return GL_TRUE; for (i = 0; i < fp->Base.NumInstructions; i++) { @@ -1002,7 +1002,7 @@ static void brw_wm_emit_glsl(struct brw_context *brw, struct brw_wm_compile *c) } post_wm_emit(c); - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { printf("wm-native:\n"); for (i = 0; i < p->nr_insn; i++) brw_disasm(stdout, &p->store[i], intel->gen); @@ -1016,7 +1016,7 @@ static void brw_wm_emit_glsl(struct brw_context *brw, struct brw_wm_compile *c) */ void brw_wm_glsl_emit(struct brw_context *brw, struct brw_wm_compile *c) { - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { printf("brw_wm_glsl_emit:\n"); } @@ -1026,7 +1026,7 @@ void brw_wm_glsl_emit(struct brw_context *brw, struct brw_wm_compile *c) /* actual code generation */ brw_wm_emit_glsl(brw, c); - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { brw_wm_print_program(c, "brw_wm_glsl_emit done"); } diff --git a/src/mesa/drivers/dri/i965/brw_wm_pass0.c b/src/mesa/drivers/dri/i965/brw_wm_pass0.c index d6aa9f957a2..83152526b3a 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_pass0.c +++ b/src/mesa/drivers/dri/i965/brw_wm_pass0.c @@ -440,7 +440,7 @@ void brw_wm_pass0( struct brw_wm_compile *c ) } } - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { brw_wm_print_program(c, "pass0"); } } diff --git a/src/mesa/drivers/dri/i965/brw_wm_pass1.c b/src/mesa/drivers/dri/i965/brw_wm_pass1.c index 962515a99e9..3a2874b6ddf 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_pass1.c +++ b/src/mesa/drivers/dri/i965/brw_wm_pass1.c @@ -291,7 +291,7 @@ void brw_wm_pass1( struct brw_wm_compile *c ) track_arg(c, inst, 2, read2); } - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { brw_wm_print_program(c, "pass1"); } } diff --git a/src/mesa/drivers/dri/i965/brw_wm_pass2.c b/src/mesa/drivers/dri/i965/brw_wm_pass2.c index 54acb3038b5..44e39538145 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_pass2.c +++ b/src/mesa/drivers/dri/i965/brw_wm_pass2.c @@ -331,13 +331,13 @@ void brw_wm_pass2( struct brw_wm_compile *c ) } } - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { brw_wm_print_program(c, "pass2"); } c->state = PASS2_DONE; - if (INTEL_DEBUG & DEBUG_WM) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { brw_wm_print_program(c, "pass2/done"); } } diff --git a/src/mesa/drivers/dri/i965/brw_wm_state.c b/src/mesa/drivers/dri/i965/brw_wm_state.c index 9a27b937103..76de7b7b6f6 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_state.c @@ -249,7 +249,7 @@ wm_unit_create_from_key(struct brw_context *brw, struct brw_wm_unit_key *key, wm.wm5.line_stipple = key->line_stipple; - if (INTEL_DEBUG & DEBUG_STATS || key->stats_wm) + if (unlikely(INTEL_DEBUG & DEBUG_STATS) || key->stats_wm) wm.wm4.stats_enable = 1; bo = brw_upload_cache(&brw->cache, BRW_WM_UNIT, diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c index 0d6e923f734..800a2555214 100644 --- a/src/mesa/drivers/dri/i965/gen6_cc.c +++ b/src/mesa/drivers/dri/i965/gen6_cc.c @@ -254,7 +254,7 @@ prepare_color_calc_state(struct brw_context *brw) const struct brw_tracked_state gen6_color_calc_state = { .dirty = { - .mesa = _NEW_COLOR, + .mesa = _NEW_COLOR | _NEW_STENCIL, .brw = 0, .cache = 0, }, diff --git a/src/mesa/drivers/dri/i965/gen6_clip_state.c b/src/mesa/drivers/dri/i965/gen6_clip_state.c index cd2ac9d92fe..c65b41e2b6b 100644 --- a/src/mesa/drivers/dri/i965/gen6_clip_state.c +++ b/src/mesa/drivers/dri/i965/gen6_clip_state.c @@ -28,6 +28,7 @@ #include "brw_context.h" #include "brw_state.h" #include "brw_defines.h" +#include "brw_util.h" #include "intel_batchbuffer.h" static void @@ -36,7 +37,7 @@ upload_clip_state(struct brw_context *brw) struct intel_context *intel = &brw->intel; struct gl_context *ctx = &intel->ctx; uint32_t depth_clamp = 0; - uint32_t provoking; + uint32_t provoking, userclip; if (!ctx->Transform.DepthClamp) depth_clamp = GEN6_CLIP_Z_TEST; @@ -50,6 +51,9 @@ upload_clip_state(struct brw_context *brw) (1 << GEN6_CLIP_LINE_PROVOKE_SHIFT); } + /* _NEW_TRANSFORM */ + userclip = (1 << brw_count_bits(ctx->Transform.ClipPlanesEnabled)) - 1; + BEGIN_BATCH(4); OUT_BATCH(CMD_3D_CLIP_STATE << 16 | (4 - 2)); OUT_BATCH(GEN6_CLIP_STATISTICS_ENABLE); @@ -57,6 +61,7 @@ upload_clip_state(struct brw_context *brw) GEN6_CLIP_API_OGL | GEN6_CLIP_MODE_NORMAL | GEN6_CLIP_XY_TEST | + userclip << GEN6_USER_CLIP_CLIP_DISTANCES_SHIFT | depth_clamp | provoking); OUT_BATCH(GEN6_CLIP_FORCE_ZERO_RTAINDEX); diff --git a/src/mesa/drivers/dri/i965/gen6_sf_state.c b/src/mesa/drivers/dri/i965/gen6_sf_state.c index 55a70bea62f..471067e8f02 100644 --- a/src/mesa/drivers/dri/i965/gen6_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen6_sf_state.c @@ -73,12 +73,19 @@ upload_sf_state(struct brw_context *brw) /* _NEW_BUFFER */ GLboolean render_to_fbo = brw->intel.ctx.DrawBuffer->Name != 0; int attr = 0; + int urb_start; + + /* _NEW_TRANSFORM */ + if (ctx->Transform.ClipPlanesEnabled) + urb_start = 2; + else + urb_start = 1; dw1 = GEN6_SF_SWIZZLE_ENABLE | num_outputs << GEN6_SF_NUM_OUTPUTS_SHIFT | (num_inputs + 1) / 2 << GEN6_SF_URB_ENTRY_READ_LENGTH_SHIFT | - 1 << GEN6_SF_URB_ENTRY_READ_OFFSET_SHIFT; + urb_start << GEN6_SF_URB_ENTRY_READ_OFFSET_SHIFT; dw2 = GEN6_SF_VIEWPORT_TRANSFORM_ENABLE | GEN6_SF_STATISTICS_ENABLE; dw3 = 0; @@ -195,7 +202,9 @@ const struct brw_tracked_state gen6_sf_state = { _NEW_POLYGON | _NEW_LINE | _NEW_SCISSOR | - _NEW_BUFFERS), + _NEW_BUFFERS | + _NEW_POINT | + _NEW_TRANSFORM), .brw = BRW_NEW_CONTEXT, .cache = CACHE_NEW_VS_PROG }, diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c b/src/mesa/drivers/dri/i965/gen6_vs_state.c index 304eaddf409..e94d0c0ddbb 100644 --- a/src/mesa/drivers/dri/i965/gen6_vs_state.c +++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c @@ -40,11 +40,11 @@ upload_vs_state(struct brw_context *brw) struct gl_context *ctx = &intel->ctx; const struct brw_vertex_program *vp = brw_vertex_program_const(brw->vertex_program); - unsigned int nr_params = vp->program.Base.Parameters->NumParameters; + unsigned int nr_params = brw->vs.prog_data->nr_params / 4; drm_intel_bo *constant_bo; int i; - if (vp->use_const_buffer || nr_params == 0) { + if (brw->vs.prog_data->nr_params == 0 && !ctx->Transform.ClipPlanesEnabled) { /* Disable the push constant buffers. */ BEGIN_BATCH(5); OUT_BATCH(CMD_3D_CONSTANT_VS_STATE << 16 | (5 - 2)); @@ -54,6 +54,9 @@ upload_vs_state(struct brw_context *brw) OUT_BATCH(0); ADVANCE_BATCH(); } else { + int params_uploaded = 0; + float *param; + if (brw->vertex_program->IsNVProgram) _mesa_load_tracked_matrices(ctx); @@ -63,14 +66,55 @@ upload_vs_state(struct brw_context *brw) _mesa_load_state_parameters(ctx, vp->program.Base.Parameters); constant_bo = drm_intel_bo_alloc(intel->bufmgr, "VS constant_bo", - nr_params * 4 * sizeof(float), + (MAX_CLIP_PLANES + nr_params) * + 4 * sizeof(float), 4096); drm_intel_gem_bo_map_gtt(constant_bo); - for (i = 0; i < nr_params; i++) { - memcpy((char *)constant_bo->virtual + i * 4 * sizeof(float), - vp->program.Base.Parameters->ParameterValues[i], - 4 * sizeof(float)); + param = constant_bo->virtual; + + /* This should be loaded like any other param, but it's ad-hoc + * until we redo the VS backend. + */ + for (i = 0; i < MAX_CLIP_PLANES; i++) { + if (ctx->Transform.ClipPlanesEnabled & (1 << i)) { + memcpy(param, ctx->Transform._ClipUserPlane[i], 4 * sizeof(float)); + param += 4; + params_uploaded++; + } } + /* Align to a reg for convenience for brw_vs_emit.c */ + if (params_uploaded & 1) { + param += 4; + params_uploaded++; + } + + if (vp->use_const_buffer) { + for (i = 0; i < vp->program.Base.Parameters->NumParameters; i++) { + if (brw->vs.constant_map[i] != -1) { + memcpy(param + brw->vs.constant_map[i] * 4, + vp->program.Base.Parameters->ParameterValues[i], + 4 * sizeof(float)); + params_uploaded++; + } + } + } else { + for (i = 0; i < nr_params; i++) { + memcpy(param, vp->program.Base.Parameters->ParameterValues[i], + 4 * sizeof(float)); + param += 4; + params_uploaded++; + } + } + + if (0) { + printf("VS constant buffer:\n"); + for (i = 0; i < params_uploaded; i++) { + float *buf = (float *)constant_bo->virtual + i * 4; + printf("%d: %f %f %f %f\n", + i, buf[0], buf[1], buf[2], buf[3]); + } + } + drm_intel_gem_bo_unmap_gtt(constant_bo); BEGIN_BATCH(5); @@ -79,7 +123,7 @@ upload_vs_state(struct brw_context *brw) (5 - 2)); OUT_RELOC(constant_bo, I915_GEM_DOMAIN_RENDER, 0, /* XXX: bad domain */ - ALIGN(nr_params, 2) / 2 - 1); + ALIGN(params_uploaded, 2) / 2 - 1); OUT_BATCH(0); OUT_BATCH(0); OUT_BATCH(0); @@ -91,7 +135,7 @@ upload_vs_state(struct brw_context *brw) BEGIN_BATCH(6); OUT_BATCH(CMD_3D_VS_STATE << 16 | (6 - 2)); OUT_RELOC(brw->vs.prog_bo, I915_GEM_DOMAIN_INSTRUCTION, 0, 0); - OUT_BATCH(GEN6_VS_SPF_MODE | (0 << GEN6_VS_SAMPLER_COUNT_SHIFT) | + OUT_BATCH((0 << GEN6_VS_SAMPLER_COUNT_SHIFT) | (brw->vs.nr_surfaces << GEN6_VS_BINDING_TABLE_ENTRY_COUNT_SHIFT)); OUT_BATCH(0); /* scratch space base offset */ OUT_BATCH((1 << GEN6_VS_DISPATCH_START_GRF_SHIFT) | diff --git a/src/mesa/drivers/dri/i965/gen6_wm_state.c b/src/mesa/drivers/dri/i965/gen6_wm_state.c index 36d4ab93ba9..ea5418bacf1 100644 --- a/src/mesa/drivers/dri/i965/gen6_wm_state.c +++ b/src/mesa/drivers/dri/i965/gen6_wm_state.c @@ -73,7 +73,7 @@ prepare_wm_constants(struct brw_context *brw) const struct brw_tracked_state gen6_wm_constants = { .dirty = { .mesa = _NEW_PROGRAM_CONSTANTS, - .brw = 0, + .brw = BRW_NEW_FRAGMENT_PROGRAM, .cache = 0, }, .prepare = prepare_wm_constants, diff --git a/src/mesa/drivers/dri/i965/intel_structs.h b/src/mesa/drivers/dri/i965/intel_structs.h deleted file mode 100644 index 522e3bd92c2..00000000000 --- a/src/mesa/drivers/dri/i965/intel_structs.h +++ /dev/null @@ -1,132 +0,0 @@ -#ifndef INTEL_STRUCTS_H -#define INTEL_STRUCTS_H - -struct br0 { - GLuint length:8; - GLuint pad0:3; - GLuint dst_tiled:1; - GLuint pad1:8; - GLuint write_rgb:1; - GLuint write_alpha:1; - GLuint opcode:7; - GLuint client:3; -}; - - -struct br13 { - GLint dest_pitch:16; - GLuint rop:8; - GLuint color_depth:2; - GLuint pad1:3; - GLuint mono_source_transparency:1; - GLuint clipping_enable:1; - GLuint pad0:1; -}; - - - -/* This is an attempt to move some of the 2D interaction in this - * driver to using structs for packets rather than a bunch of #defines - * and dwords. - */ -struct xy_color_blit { - struct br0 br0; - struct br13 br13; - - struct { - GLuint dest_x1:16; - GLuint dest_y1:16; - } dw2; - - struct { - GLuint dest_x2:16; - GLuint dest_y2:16; - } dw3; - - GLuint dest_base_addr; - GLuint color; -}; - -struct xy_src_copy_blit { - struct br0 br0; - struct br13 br13; - - struct { - GLuint dest_x1:16; - GLuint dest_y1:16; - } dw2; - - struct { - GLuint dest_x2:16; - GLuint dest_y2:16; - } dw3; - - GLuint dest_base_addr; - - struct { - GLuint src_x1:16; - GLuint src_y1:16; - } dw5; - - struct { - GLint src_pitch:16; - GLuint pad:16; - } dw6; - - GLuint src_base_addr; -}; - -struct xy_setup_blit { - struct br0 br0; - struct br13 br13; - - struct { - GLuint clip_x1:16; - GLuint clip_y1:16; - } dw2; - - struct { - GLuint clip_x2:16; - GLuint clip_y2:16; - } dw3; - - GLuint dest_base_addr; - GLuint background_color; - GLuint foreground_color; - GLuint pattern_base_addr; -}; - - -struct xy_text_immediate_blit { - struct { - GLuint length:8; - GLuint pad2:3; - GLuint dst_tiled:1; - GLuint pad1:4; - GLuint byte_packed:1; - GLuint pad0:5; - GLuint opcode:7; - GLuint client:3; - } dw0; - - struct { - GLuint dest_x1:16; - GLuint dest_y1:16; - } dw1; - - struct { - GLuint dest_x2:16; - GLuint dest_y2:16; - } dw2; - - /* Src bitmap data follows as inline dwords. - */ -}; - - -#define CLIENT_2D 0x2 -#define OPCODE_XY_SETUP_BLT 0x1 -#define OPCODE_XY_COLOR_BLT 0x50 -#define OPCODE_XY_TEXT_IMMEDIATE_BLT 0x31 - -#endif diff --git a/src/mesa/drivers/dri/intel/intel_batchbuffer.c b/src/mesa/drivers/dri/intel/intel_batchbuffer.c index 9b398239172..4b498f8c5b2 100644 --- a/src/mesa/drivers/dri/intel/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/intel/intel_batchbuffer.c @@ -44,7 +44,9 @@ intel_batchbuffer_reset(struct intel_batchbuffer *batch) batch->buf = drm_intel_bo_alloc(intel->bufmgr, "batchbuffer", intel->maxBatchSize, 4096); - batch->map = batch->buffer; + drm_intel_gem_bo_map_gtt(batch->buf); + batch->map = batch->buf->virtual; + batch->size = intel->maxBatchSize; batch->ptr = batch->map; batch->reserved_space = BATCH_RESERVED; @@ -58,7 +60,6 @@ intel_batchbuffer_alloc(struct intel_context *intel) struct intel_batchbuffer *batch = calloc(sizeof(*batch), 1); batch->intel = intel; - batch->buffer = malloc(intel->maxBatchSize); intel_batchbuffer_reset(batch); return batch; @@ -67,8 +68,11 @@ intel_batchbuffer_alloc(struct intel_context *intel) void intel_batchbuffer_free(struct intel_batchbuffer *batch) { - free (batch->buffer); - drm_intel_bo_unreference(batch->buf); + if (batch->map) { + drm_intel_gem_bo_unmap_gtt(batch->buf); + batch->map = NULL; + } + dri_bo_unreference(batch->buf); batch->buf = NULL; free(batch); } @@ -84,13 +88,7 @@ do_flush_locked(struct intel_batchbuffer *batch, GLuint used) int ret = 0; int x_off = 0, y_off = 0; - drm_intel_bo_subdata(batch->buf, 0, used, batch->buffer); - if (batch->state_batch_offset != batch->size) { - drm_intel_bo_subdata(batch->buf, - batch->state_batch_offset, - batch->size - batch->state_batch_offset, - batch->buffer + batch->state_batch_offset); - } + drm_intel_gem_bo_unmap_gtt(batch->buf); batch->ptr = NULL; @@ -99,7 +97,7 @@ do_flush_locked(struct intel_batchbuffer *batch, GLuint used) (x_off & 0xffff) | (y_off << 16)); } - if (INTEL_DEBUG & DEBUG_BATCH) { + if (unlikely(INTEL_DEBUG & DEBUG_BATCH)) { drm_intel_bo_map(batch->buf, GL_FALSE); intel_decode(batch->buf->virtual, used / 4, batch->buf->offset, intel->intelScreen->deviceID, GL_TRUE); @@ -130,7 +128,7 @@ _intel_batchbuffer_flush(struct intel_batchbuffer *batch, const char *file, if (used == 0) return; - if (INTEL_DEBUG & DEBUG_BATCH) + if (unlikely(INTEL_DEBUG & DEBUG_BATCH)) fprintf(stderr, "%s:%d: Batchbuffer flush with %db used\n", file, line, used); @@ -174,7 +172,7 @@ _intel_batchbuffer_flush(struct intel_batchbuffer *batch, const char *file, do_flush_locked(batch, used); - if (INTEL_DEBUG & DEBUG_SYNC) { + if (unlikely(INTEL_DEBUG & DEBUG_SYNC)) { fprintf(stderr, "waiting for idle\n"); drm_intel_bo_map(batch->buf, GL_TRUE); drm_intel_bo_unmap(batch->buf); diff --git a/src/mesa/drivers/dri/intel/intel_batchbuffer.h b/src/mesa/drivers/dri/intel/intel_batchbuffer.h index ae53f455117..428c027c2f1 100644 --- a/src/mesa/drivers/dri/intel/intel_batchbuffer.h +++ b/src/mesa/drivers/dri/intel/intel_batchbuffer.h @@ -17,8 +17,6 @@ struct intel_batchbuffer drm_intel_bo *buf; - GLubyte *buffer; - GLubyte *map; GLubyte *ptr; diff --git a/src/mesa/drivers/dri/intel/intel_blit.c b/src/mesa/drivers/dri/intel/intel_blit.c index a74e21720fb..c2917e9b07e 100644 --- a/src/mesa/drivers/dri/intel/intel_blit.c +++ b/src/mesa/drivers/dri/intel/intel_blit.c @@ -483,8 +483,11 @@ intel_emit_linear_blit(struct intel_context *intel, /* Blits are in a different ringbuffer so we don't use them. */ assert(intel->gen < 6); - /* The pitch is a signed value. */ - pitch = MIN2(size, (1 << 15) - 1); + /* The pitch given to the GPU must be DWORD aligned, and + * we want width to match pitch. Max width is (1 << 15 - 1), + * rounding that down to the nearest DWORD is 1 << 15 - 4 + */ + pitch = MIN2(size, (1 << 15) - 4); height = size / pitch; ok = intelEmitCopyBlit(intel, 1, pitch, src_bo, src_offset, I915_TILING_NONE, @@ -499,6 +502,7 @@ intel_emit_linear_blit(struct intel_context *intel, dst_offset += pitch * height; size -= pitch * height; assert (size < (1 << 15)); + assert ((size & 3) == 0); /* Pitch must be DWORD aligned */ if (size != 0) { ok = intelEmitCopyBlit(intel, 1, size, src_bo, src_offset, I915_TILING_NONE, diff --git a/src/mesa/drivers/dri/intel/intel_chipset.h b/src/mesa/drivers/dri/intel/intel_chipset.h index 1e7ceed32a2..4fecdbed203 100644 --- a/src/mesa/drivers/dri/intel/intel_chipset.h +++ b/src/mesa/drivers/dri/intel/intel_chipset.h @@ -67,6 +67,7 @@ #define PCI_CHIP_G45_G 0x2E22 #define PCI_CHIP_G41_G 0x2E32 #define PCI_CHIP_B43_G 0x2E42 +#define PCI_CHIP_B43_G1 0x2E92 #define PCI_CHIP_ILD_G 0x0042 #define PCI_CHIP_ILM_G 0x0046 @@ -93,7 +94,8 @@ devid == PCI_CHIP_Q45_G || \ devid == PCI_CHIP_G45_G || \ devid == PCI_CHIP_G41_G || \ - devid == PCI_CHIP_B43_G) + devid == PCI_CHIP_B43_G || \ + devid == PCI_CHIP_B43_G1) #define IS_GM45(devid) (devid == PCI_CHIP_GM45_GM) #define IS_G4X(devid) (IS_G45(devid) || IS_GM45(devid)) diff --git a/src/mesa/drivers/dri/intel/intel_clear.c b/src/mesa/drivers/dri/intel/intel_clear.c index d7814635b72..fa451f0045e 100644 --- a/src/mesa/drivers/dri/intel/intel_clear.c +++ b/src/mesa/drivers/dri/intel/intel_clear.c @@ -58,6 +58,21 @@ static const char *buffer_names[] = { [BUFFER_COLOR7] = "color7", }; +static void +debug_mask(const char *name, GLbitfield mask) +{ + GLuint i; + + if (unlikely(INTEL_DEBUG & DEBUG_BLIT)) { + DBG("%s clear:", name); + for (i = 0; i < BUFFER_COUNT; i++) { + if (mask & (1 << i)) + DBG(" %s", buffer_names[i]); + } + DBG("\n"); + } +} + /** * Called by ctx->Driver.Clear. */ @@ -70,7 +85,6 @@ intelClear(struct gl_context *ctx, GLbitfield mask) GLbitfield blit_mask = 0; GLbitfield swrast_mask = 0; struct gl_framebuffer *fb = ctx->DrawBuffer; - GLuint i; if (mask & (BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_FRONT_RIGHT)) { intel->front_buffer_dirty = GL_TRUE; @@ -162,39 +176,17 @@ intelClear(struct gl_context *ctx, GLbitfield mask) } if (blit_mask) { - if (INTEL_DEBUG & DEBUG_BLIT) { - DBG("blit clear:"); - for (i = 0; i < BUFFER_COUNT; i++) { - if (blit_mask & (1 << i)) - DBG(" %s", buffer_names[i]); - } - DBG("\n"); - } + debug_mask("blit", blit_mask); intelClearWithBlit(ctx, blit_mask); } if (tri_mask) { - if (INTEL_DEBUG & DEBUG_BLIT) { - DBG("tri clear:"); - for (i = 0; i < BUFFER_COUNT; i++) { - if (tri_mask & (1 << i)) - DBG(" %s", buffer_names[i]); - } - DBG("\n"); - } - + debug_mask("tri", tri_mask); _mesa_meta_Clear(&intel->ctx, tri_mask); } if (swrast_mask) { - if (INTEL_DEBUG & DEBUG_BLIT) { - DBG("swrast clear:"); - for (i = 0; i < BUFFER_COUNT; i++) { - if (swrast_mask & (1 << i)) - DBG(" %s", buffer_names[i]); - } - DBG("\n"); - } + debug_mask("swrast", swrast_mask); _swrast_Clear(ctx, swrast_mask); } } diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 7ace50bde97..152cdcaf37d 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -155,6 +155,7 @@ intelGetString(struct gl_context * ctx, GLenum name) chipset = "Intel(R) G41"; break; case PCI_CHIP_B43_G: + case PCI_CHIP_B43_G1: chipset = "Intel(R) B43"; break; case PCI_CHIP_ILD_G: @@ -249,7 +250,7 @@ intel_update_renderbuffers(__DRIcontext *context, __DRIdrawable *drawable) * thus ignore the invalidate. */ drawable->lastStamp = drawable->dri2.stamp; - if (INTEL_DEBUG & DEBUG_DRI) + if (unlikely(INTEL_DEBUG & DEBUG_DRI)) fprintf(stderr, "enter %s, drawable %p\n", __func__, drawable); screen = intel->intelScreen->driScrnPriv; @@ -378,14 +379,14 @@ intel_update_renderbuffers(__DRIcontext *context, __DRIdrawable *drawable) if (rb->region && rb->region->name == buffers[i].name) continue; - if (INTEL_DEBUG & DEBUG_DRI) + if (unlikely(INTEL_DEBUG & DEBUG_DRI)) fprintf(stderr, "attaching buffer %d, at %d, cpp %d, pitch %d\n", buffers[i].name, buffers[i].attachment, buffers[i].cpp, buffers[i].pitch); if (buffers[i].attachment == __DRI_BUFFER_STENCIL && depth_region) { - if (INTEL_DEBUG & DEBUG_DRI) + if (unlikely(INTEL_DEBUG & DEBUG_DRI)) fprintf(stderr, "(reusing depth buffer as stencil)\n"); intel_region_reference(®ion, depth_region); } diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index 46d10d74ba3..9d5139c0000 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -98,6 +98,16 @@ extern void intelFallback(struct intel_context *intel, GLbitfield bit, #define INTEL_MAX_FIXUP 64 +#ifndef likely +#ifdef __GNUC__ +#define likely(expr) (__builtin_expect(expr, 1)) +#define unlikely(expr) (__builtin_expect(expr, 0)) +#else +#define likely(expr) (expr) +#define unlikely(expr) (expr) +#endif +#endif + struct intel_sync_object { struct gl_sync_object Base; @@ -180,9 +190,6 @@ struct intel_context } prim; GLuint stats_wm; - GLboolean locked; - char *prevLockFile; - int prevLockLine; /* Offsets of fields within the current vertex: */ @@ -359,10 +366,15 @@ extern int INTEL_DEBUG; #define DEBUG_CLIP 0x8000000 #define DBG(...) do { \ - if (INTEL_DEBUG & FILE_DEBUG_FLAG) \ + if (unlikely(INTEL_DEBUG & FILE_DEBUG_FLAG)) \ printf(__VA_ARGS__); \ } while(0) +#define fallback_debug(...) do { \ + if (unlikely(INTEL_DEBUG & DEBUG_FALLBACKS)) \ + printf(__VA_ARGS__); \ +} while(0) + #define PCI_CHIP_845_G 0x2562 #define PCI_CHIP_I830_M 0x3577 #define PCI_CHIP_I855_GM 0x3582 diff --git a/src/mesa/drivers/dri/intel/intel_pixel.c b/src/mesa/drivers/dri/intel/intel_pixel.c index 60583ef4c0d..d5c35775ce4 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel.c +++ b/src/mesa/drivers/dri/intel/intel_pixel.c @@ -147,10 +147,9 @@ intel_check_blit_format(struct intel_region * region, return GL_TRUE; } - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s: bad format for blit (cpp %d, type %s format %s)\n", - __FUNCTION__, region->cpp, - _mesa_lookup_enum_by_nr(type), _mesa_lookup_enum_by_nr(format)); + DBG("%s: bad format for blit (cpp %d, type %s format %s)\n", + __FUNCTION__, region->cpp, + _mesa_lookup_enum_by_nr(type), _mesa_lookup_enum_by_nr(format)); return GL_FALSE; } diff --git a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c index 63fb4b37b18..e7356a6da0d 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_bitmap.c @@ -113,9 +113,8 @@ static GLuint get_bitmap_rect(GLsizei width, GLsizei height, GLint incr; GLuint count = 0; - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s %d,%d %dx%d bitmap %dx%d skip %d src_offset %d mask %d\n", - __FUNCTION__, x,y,w,h,width,height,unpack->SkipPixels, src_offset, mask); + DBG("%s %d,%d %dx%d bitmap %dx%d skip %d src_offset %d mask %d\n", + __FUNCTION__, x,y,w,h,width,height,unpack->SkipPixels, src_offset, mask); if (invert) { first = h-1; @@ -285,7 +284,7 @@ do_blit_bitmap( struct gl_context *ctx, } out: - if (INTEL_DEBUG & DEBUG_SYNC) + if (unlikely(INTEL_DEBUG & DEBUG_SYNC)) intel_batchbuffer_flush(intel->batch); if (_mesa_is_bufferobj(unpack->BufferObj)) { @@ -299,6 +298,7 @@ out: return GL_TRUE; } + /* There are a large number of possible ways to implement bitmap on * this hardware, most of them have some sort of drawback. Here are a * few that spring to mind: diff --git a/src/mesa/drivers/dri/intel/intel_pixel_copy.c b/src/mesa/drivers/dri/intel/intel_pixel_copy.c index c6b36ed4291..a7ca780e944 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_copy.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_copy.c @@ -119,8 +119,7 @@ do_blit_copypixels(struct gl_context * ctx, GLboolean flip = GL_FALSE; if (type == GL_DEPTH || type == GL_STENCIL) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "glCopyPixels() fallback: GL_DEPTH || GL_STENCIL\n"); + fallback_debug("glCopyPixels() fallback: GL_DEPTH || GL_STENCIL\n"); return GL_FALSE; } @@ -203,8 +202,7 @@ intelCopyPixels(struct gl_context * ctx, GLsizei width, GLsizei height, GLint destx, GLint desty, GLenum type) { - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s\n", __FUNCTION__); + DBG("%s\n", __FUNCTION__); if (do_blit_copypixels(ctx, srcx, srcy, width, height, destx, desty, type)) return; diff --git a/src/mesa/drivers/dri/intel/intel_pixel_read.c b/src/mesa/drivers/dri/intel/intel_pixel_read.c index b249f9a5a0b..54da29236d2 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel_read.c +++ b/src/mesa/drivers/dri/intel/intel_pixel_read.c @@ -42,6 +42,8 @@ #include "intel_pixel.h" #include "intel_buffer_objects.h" +#define FILE_DEBUG_FLAG DEBUG_PIXEL + /* For many applications, the new ability to pull the source buffers * back out of the GTT and then do the packing/conversion operations * in software will be as much of an improvement as trying to get the @@ -79,8 +81,7 @@ do_blit_readpixels(struct gl_context * ctx, GLboolean all; GLint dst_x, dst_y; - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s\n", __FUNCTION__); + DBG("%s\n", __FUNCTION__); if (!src) return GL_FALSE; @@ -88,22 +89,19 @@ do_blit_readpixels(struct gl_context * ctx, if (!_mesa_is_bufferobj(pack->BufferObj)) { /* PBO only for now: */ - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s - not PBO\n", __FUNCTION__); + DBG("%s - not PBO\n", __FUNCTION__); return GL_FALSE; } if (ctx->_ImageTransferState || !intel_check_blit_format(src, format, type)) { - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s - bad format for blit\n", __FUNCTION__); + DBG("%s - bad format for blit\n", __FUNCTION__); return GL_FALSE; } if (pack->Alignment != 1 || pack->SwapBytes || pack->LsbFirst) { - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s: bad packing params\n", __FUNCTION__); + DBG("%s: bad packing params\n", __FUNCTION__); return GL_FALSE; } @@ -113,8 +111,7 @@ do_blit_readpixels(struct gl_context * ctx, rowLength = width; if (pack->Invert) { - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s: MESA_PACK_INVERT not done yet\n", __FUNCTION__); + DBG("%s: MESA_PACK_INVERT not done yet\n", __FUNCTION__); return GL_FALSE; } else { @@ -158,8 +155,7 @@ do_blit_readpixels(struct gl_context * ctx, return GL_FALSE; } - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s - DONE\n", __FUNCTION__); + DBG("%s - DONE\n", __FUNCTION__); return GL_TRUE; } @@ -173,8 +169,7 @@ intelReadPixels(struct gl_context * ctx, struct intel_context *intel = intel_context(ctx); GLboolean dirty; - if (INTEL_DEBUG & DEBUG_PIXEL) - fprintf(stderr, "%s\n", __FUNCTION__); + DBG("%s\n", __FUNCTION__); intel_flush(ctx); @@ -188,8 +183,7 @@ intelReadPixels(struct gl_context * ctx, (ctx, x, y, width, height, format, type, pack, pixels)) return; - if (INTEL_DEBUG & DEBUG_PIXEL) - printf("%s: fallback to swrast\n", __FUNCTION__); + fallback_debug("%s: fallback to swrast\n", __FUNCTION__); /* Update Mesa state before calling down into _swrast_ReadPixels, as * the spans code requires the computed buffer states to be up to date, diff --git a/src/mesa/drivers/dri/intel/intel_tex.c b/src/mesa/drivers/dri/intel/intel_tex.c index 3d9a2549db0..2c21ea0576e 100644 --- a/src/mesa/drivers/dri/intel/intel_tex.c +++ b/src/mesa/drivers/dri/intel/intel_tex.c @@ -61,88 +61,6 @@ intelFreeTextureImageData(struct gl_context * ctx, struct gl_texture_image *texI } } - -/* The system memcpy (at least on ubuntu 5.10) has problems copying - * to agp (writecombined) memory from a source which isn't 64-byte - * aligned - there is a 4x performance falloff. - * - * The x86 __memcpy is immune to this but is slightly slower - * (10%-ish) than the system memcpy. - * - * The sse_memcpy seems to have a slight cliff at 64/32 bytes, but - * isn't much faster than x86_memcpy for agp copies. - * - * TODO: switch dynamically. - */ -static void * -do_memcpy(void *dest, const void *src, size_t n) -{ - if ((((unsigned long) src) & 63) || (((unsigned long) dest) & 63)) { - return __memcpy(dest, src, n); - } - else - return memcpy(dest, src, n); -} - - -#if DO_DEBUG && !defined(__ia64__) - -#ifndef __x86_64__ -static unsigned -fastrdtsc(void) -{ - unsigned eax; - __asm__ volatile ("\t" - "pushl %%ebx\n\t" - "cpuid\n\t" ".byte 0x0f, 0x31\n\t" - "popl %%ebx\n":"=a" (eax) - :"0"(0) - :"ecx", "edx", "cc"); - - return eax; -} -#else -static unsigned -fastrdtsc(void) -{ - unsigned eax; - __asm__ volatile ("\t" "cpuid\n\t" ".byte 0x0f, 0x31\n\t":"=a" (eax) - :"0"(0) - :"ecx", "edx", "ebx", "cc"); - - return eax; -} -#endif - -static unsigned -time_diff(unsigned t, unsigned t2) -{ - return ((t < t2) ? t2 - t : 0xFFFFFFFFU - (t - t2 - 1)); -} - - -static void * -timed_memcpy(void *dest, const void *src, size_t n) -{ - void *ret; - unsigned t1, t2; - double rate; - - if ((((unsigned) src) & 63) || (((unsigned) dest) & 63)) - printf("Warning - non-aligned texture copy!\n"); - - t1 = fastrdtsc(); - ret = do_memcpy(dest, src, n); - t2 = fastrdtsc(); - - rate = time_diff(t1, t2); - rate /= (double) n; - printf("timed_memcpy: %u %u --> %f clocks/byte\n", t1, t2, rate); - return ret; -} -#endif /* DO_DEBUG */ - - /** * Called via ctx->Driver.GenerateMipmap() * This is basically a wrapper for _mesa_meta_GenerateMipmap() which checks @@ -158,8 +76,7 @@ intelGenerateMipmap(struct gl_context *ctx, GLenum target, struct intel_context *intel = intel_context(ctx); struct intel_texture_object *intelObj = intel_texture_object(texObj); - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "%s - fallback to swrast\n", __FUNCTION__); + fallback_debug("%s - fallback to swrast\n", __FUNCTION__); intel_tex_map_level_images(intel, intelObj, texObj->BaseLevel); _mesa_generate_mipmap(ctx, target, texObj); @@ -203,11 +120,4 @@ intelInitTextureFuncs(struct dd_function_table *functions) functions->NewTextureImage = intelNewTextureImage; functions->DeleteTexture = intelDeleteTextureObject; functions->FreeTexImageData = intelFreeTextureImageData; - -#if DO_DEBUG && !defined(__ia64__) - if (INTEL_DEBUG & DEBUG_BUFMGR) - functions->TextureMemCpy = timed_memcpy; - else -#endif - functions->TextureMemCpy = do_memcpy; } diff --git a/src/mesa/drivers/dri/intel/intel_tex_copy.c b/src/mesa/drivers/dri/intel/intel_tex_copy.c index 2d046fd52d9..284ba19e8a3 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_copy.c +++ b/src/mesa/drivers/dri/intel/intel_tex_copy.c @@ -105,16 +105,15 @@ do_copy_texsubimage(struct intel_context *intel, const struct intel_region *src = get_teximage_source(intel, internalFormat); if (!intelImage->mt || !src || !src->buffer) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) + if (unlikely(INTEL_DEBUG & DEBUG_FALLBACKS)) fprintf(stderr, "%s fail %p %p (0x%08x)\n", __FUNCTION__, intelImage->mt, src, internalFormat); return GL_FALSE; } if (intelImage->mt->cpp != src->cpp) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "%s fail %d vs %d cpp\n", - __FUNCTION__, intelImage->mt->cpp, src->cpp); + fallback_debug("%s fail %d vs %d cpp\n", + __FUNCTION__, intelImage->mt->cpp, src->cpp); return GL_FALSE; } @@ -212,8 +211,7 @@ intelCopyTexImage1D(struct gl_context * ctx, GLenum target, GLint level, return; fail: - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "%s - fallback to swrast\n", __FUNCTION__); + fallback_debug("%s - fallback to swrast\n", __FUNCTION__); _mesa_meta_CopyTexImage1D(ctx, target, level, internalFormat, x, y, width, border); } @@ -261,8 +259,7 @@ intelCopyTexImage2D(struct gl_context * ctx, GLenum target, GLint level, return; fail: - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "%s - fallback to swrast\n", __FUNCTION__); + fallback_debug("%s - fallback to swrast\n", __FUNCTION__); _mesa_meta_CopyTexImage2D(ctx, target, level, internalFormat, x, y, width, height, border); } @@ -287,8 +284,7 @@ intelCopyTexSubImage1D(struct gl_context * ctx, GLenum target, GLint level, if (!do_copy_texsubimage(intel_context(ctx), target, intel_texture_image(texImage), internalFormat, xoffset, 0, x, y, width, 1)) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "%s - fallback to swrast\n", __FUNCTION__); + fallback_debug("%s - fallback to swrast\n", __FUNCTION__); _mesa_meta_CopyTexSubImage1D(ctx, target, level, xoffset, x, y, width); } } @@ -314,8 +310,7 @@ intelCopyTexSubImage2D(struct gl_context * ctx, GLenum target, GLint level, internalFormat, xoffset, yoffset, x, y, width, height)) { - if (INTEL_DEBUG & DEBUG_FALLBACKS) - fprintf(stderr, "%s - fallback to swrast\n", __FUNCTION__); + fallback_debug("%s - fallback to swrast\n", __FUNCTION__); _mesa_meta_CopyTexSubImage2D(ctx, target, level, xoffset, yoffset, x, y, width, height); } diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index 35f3d7d3829..50fe9bd9f33 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -66,7 +66,6 @@ guess_and_alloc_mipmap_tree(struct intel_context *intel, GLuint width = intelImage->base.Width; GLuint height = intelImage->base.Height; GLuint depth = intelImage->base.Depth; - GLuint l2width, l2height, l2depth; GLuint i, comp_byte = 0; GLuint texelBytes; @@ -114,10 +113,7 @@ guess_and_alloc_mipmap_tree(struct intel_context *intel, lastLevel = firstLevel; } else { - l2width = logbase2(width); - l2height = logbase2(height); - l2depth = logbase2(depth); - lastLevel = firstLevel + MAX2(MAX2(l2width, l2height), l2depth); + lastLevel = firstLevel + logbase2(MAX2(MAX2(width, height), depth)); } assert(!intelObj->mt); @@ -347,21 +343,6 @@ intelTexImage(struct gl_context * ctx, texImage->Data = NULL; } - /* If this is the only texture image in the tree, could call - * bmBufferData with NULL data to free the old block and avoid - * waiting on any outstanding fences. - */ - if (intelObj->mt && - intelObj->mt->first_level == level && - intelObj->mt->last_level == level && - intelObj->mt->target != GL_TEXTURE_CUBE_MAP_ARB && - !intel_miptree_match_image(intelObj->mt, &intelImage->base)) { - - DBG("release it\n"); - intel_miptree_release(intel, &intelObj->mt); - assert(!intelObj->mt); - } - if (!intelObj->mt) { guess_and_alloc_mipmap_tree(intel, intelObj, intelImage, pixels == NULL); if (!intelObj->mt) { diff --git a/src/mesa/drivers/dri/nouveau/Makefile b/src/mesa/drivers/dri/nouveau/Makefile index 7be19b26fda..3b506a91ffa 100644 --- a/src/mesa/drivers/dri/nouveau/Makefile +++ b/src/mesa/drivers/dri/nouveau/Makefile @@ -19,6 +19,8 @@ DRIVER_SOURCES = \ nouveau_bo_state.c \ nouveau_texture.c \ nouveau_surface.c \ + nouveau_scratch.c \ + nouveau_array.c \ nv04_context.c \ nv04_render.c \ nv04_state_fb.c \ diff --git a/src/mesa/drivers/dri/nouveau/nouveau_array.c b/src/mesa/drivers/dri/nouveau/nouveau_array.c new file mode 100644 index 00000000000..17e6d163a02 --- /dev/null +++ b/src/mesa/drivers/dri/nouveau/nouveau_array.c @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2009-2010 Francisco Jerez. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "main/bufferobj.h" +#include "nouveau_driver.h" +#include "nouveau_array.h" +#include "nouveau_bufferobj.h" + +static void +get_array_extract(struct nouveau_array *a, extract_u_t *extract_u, + extract_f_t *extract_f) +{ +#define EXTRACT(in_t, out_t, k) \ + ({ \ + auto out_t f(struct nouveau_array *, int, int); \ + out_t f(struct nouveau_array *a, int i, int j) { \ + in_t x = ((in_t *)(a->buf + i * a->stride))[j]; \ + \ + return (out_t)x / (k); \ + }; \ + f; \ + }); + + switch (a->type) { + case GL_BYTE: + *extract_u = EXTRACT(char, unsigned, 1); + *extract_f = EXTRACT(char, float, SCHAR_MAX); + break; + case GL_UNSIGNED_BYTE: + *extract_u = EXTRACT(unsigned char, unsigned, 1); + *extract_f = EXTRACT(unsigned char, float, UCHAR_MAX); + break; + case GL_SHORT: + *extract_u = EXTRACT(short, unsigned, 1); + *extract_f = EXTRACT(short, float, SHRT_MAX); + break; + case GL_UNSIGNED_SHORT: + *extract_u = EXTRACT(unsigned short, unsigned, 1); + *extract_f = EXTRACT(unsigned short, float, USHRT_MAX); + break; + case GL_INT: + *extract_u = EXTRACT(int, unsigned, 1); + *extract_f = EXTRACT(int, float, INT_MAX); + break; + case GL_UNSIGNED_INT: + *extract_u = EXTRACT(unsigned int, unsigned, 1); + *extract_f = EXTRACT(unsigned int, float, UINT_MAX); + break; + case GL_FLOAT: + *extract_u = EXTRACT(float, unsigned, 1.0 / UINT_MAX); + *extract_f = EXTRACT(float, float, 1); + break; + default: + assert(0); + } +} + +void +nouveau_init_array(struct nouveau_array *a, int attr, int stride, + int fields, int type, struct gl_buffer_object *obj, + const void *ptr, GLboolean map) +{ + a->attr = attr; + a->stride = stride; + a->fields = fields; + a->type = type; + a->buf = NULL; + + if (obj) { + if (nouveau_bufferobj_hw(obj)) { + struct nouveau_bufferobj *nbo = + to_nouveau_bufferobj(obj); + + nouveau_bo_ref(nbo->bo, &a->bo); + a->offset = (intptr_t)ptr; + + if (map) { + nouveau_bo_map(a->bo, NOUVEAU_BO_RD); + a->buf = a->bo->map + a->offset; + } + + } else { + nouveau_bo_ref(NULL, &a->bo); + a->offset = 0; + + if (map) + a->buf = ADD_POINTERS( + nouveau_bufferobj_sys(obj), ptr); + } + } + + if (a->buf) + get_array_extract(a, &a->extract_u, &a->extract_f); +} + +void +nouveau_deinit_array(struct nouveau_array *a) +{ + if (a->bo) { + if (a->bo->map) + nouveau_bo_unmap(a->bo); + } + + a->buf = NULL; + a->fields = 0; +} + +void +nouveau_cleanup_array(struct nouveau_array *a) +{ + nouveau_deinit_array(a); + nouveau_bo_ref(NULL, &a->bo); +} diff --git a/src/mesa/drivers/dri/nouveau/nouveau_array.h b/src/mesa/drivers/dri/nouveau/nouveau_array.h new file mode 100644 index 00000000000..ad3d69b33d9 --- /dev/null +++ b/src/mesa/drivers/dri/nouveau/nouveau_array.h @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2009-2010 Francisco Jerez. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef __NOUVEAU_ARRAY_H__ +#define __NOUVEAU_ARRAY_H__ + +struct nouveau_array; + +typedef unsigned (*extract_u_t)(struct nouveau_array *, int, int); +typedef float (*extract_f_t)(struct nouveau_array *, int, int); + +struct nouveau_array { + int attr; + int stride, fields, type; + + struct nouveau_bo *bo; + unsigned offset; + const void *buf; + + extract_u_t extract_u; + extract_f_t extract_f; +}; + +void +nouveau_init_array(struct nouveau_array *a, int attr, int stride, + int fields, int type, struct gl_buffer_object *obj, + const void *ptr, GLboolean map); + +void +nouveau_deinit_array(struct nouveau_array *a); + +void +nouveau_cleanup_array(struct nouveau_array *a); + +#endif diff --git a/src/mesa/drivers/dri/nouveau/nouveau_bo_state.c b/src/mesa/drivers/dri/nouveau/nouveau_bo_state.c index f31772fe1d1..7eef8c1ee81 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_bo_state.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_bo_state.c @@ -126,13 +126,13 @@ void nouveau_bo_context_reset(struct nouveau_bo_context *bctx) { struct nouveau_bo_state *s = &to_nouveau_context(bctx->ctx)->bo; - int i; - - for (i = 0; i < bctx->count; i++) - nouveau_bo_ref(NULL, &bctx->marker[i].bo); + int i, n = bctx->count; - s->count -= bctx->count; + s->count -= n; bctx->count = 0; + + for (i = 0; i < n; i++) + nouveau_bo_ref(NULL, &bctx->marker[i].bo); } GLboolean diff --git a/src/mesa/drivers/dri/nouveau/nouveau_bo_state.h b/src/mesa/drivers/dri/nouveau/nouveau_bo_state.h index 6119a8336e3..388a16a56ea 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_bo_state.h +++ b/src/mesa/drivers/dri/nouveau/nouveau_bo_state.h @@ -29,7 +29,7 @@ enum { NOUVEAU_BO_CONTEXT_FRAMEBUFFER = 0, - NOUVEAU_BO_CONTEXT_LMA_DEPTH, + NOUVEAU_BO_CONTEXT_HIERZ, NOUVEAU_BO_CONTEXT_SURFACE, NOUVEAU_BO_CONTEXT_TEXTURE0, NOUVEAU_BO_CONTEXT_TEXTURE1, diff --git a/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.c b/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.c index ad6e5bd805a..e60b91f64be 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.c @@ -30,6 +30,23 @@ #include "main/bufferobj.h" +static inline char * +get_bufferobj_map(struct gl_buffer_object *obj, unsigned flags) +{ + struct nouveau_bufferobj *nbo = to_nouveau_bufferobj(obj); + void *map = NULL; + + if (nbo->sys) { + map = nbo->sys; + } else if (nbo->bo) { + nouveau_bo_map(nbo->bo, flags); + map = nbo->bo->map; + nouveau_bo_unmap(nbo->bo); + } + + return map; +} + static struct gl_buffer_object * nouveau_bufferobj_new(struct gl_context *ctx, GLuint buffer, GLenum target) { @@ -50,6 +67,7 @@ nouveau_bufferobj_del(struct gl_context *ctx, struct gl_buffer_object *obj) struct nouveau_bufferobj *nbo = to_nouveau_bufferobj(obj); nouveau_bo_ref(NULL, &nbo->bo); + FREE(nbo->sys); FREE(nbo); } @@ -64,18 +82,27 @@ nouveau_bufferobj_data(struct gl_context *ctx, GLenum target, GLsizeiptrARB size obj->Size = size; obj->Usage = usage; + /* Free previous storage */ nouveau_bo_ref(NULL, &nbo->bo); - ret = nouveau_bo_new(context_dev(ctx), - NOUVEAU_BO_GART | NOUVEAU_BO_MAP, 0, - size, &nbo->bo); - assert(!ret); - - if (data) { - nouveau_bo_map(nbo->bo, NOUVEAU_BO_WR); - memcpy(nbo->bo->map, data, size); - nouveau_bo_unmap(nbo->bo); + FREE(nbo->sys); + + if (target == GL_ELEMENT_ARRAY_BUFFER_ARB || + (size < 512 && usage == GL_DYNAMIC_DRAW_ARB) || + context_chipset(ctx) < 0x10) { + /* Heuristic: keep it in system ram */ + nbo->sys = MALLOC(size); + + } else { + /* Get a hardware BO */ + ret = nouveau_bo_new(context_dev(ctx), + NOUVEAU_BO_GART | NOUVEAU_BO_MAP, 0, + size, &nbo->bo); + assert(!ret); } + if (data) + memcpy(get_bufferobj_map(obj, NOUVEAU_BO_WR), data, size); + return GL_TRUE; } @@ -84,11 +111,7 @@ nouveau_bufferobj_subdata(struct gl_context *ctx, GLenum target, GLintptrARB off GLsizeiptrARB size, const GLvoid *data, struct gl_buffer_object *obj) { - struct nouveau_bufferobj *nbo = to_nouveau_bufferobj(obj); - - nouveau_bo_map(nbo->bo, NOUVEAU_BO_WR); - memcpy(nbo->bo->map + offset, data, size); - nouveau_bo_unmap(nbo->bo); + memcpy(get_bufferobj_map(obj, NOUVEAU_BO_WR) + offset, data, size); } static void @@ -96,44 +119,48 @@ nouveau_bufferobj_get_subdata(struct gl_context *ctx, GLenum target, GLintptrARB GLsizeiptrARB size, GLvoid *data, struct gl_buffer_object *obj) { - struct nouveau_bufferobj *nbo = to_nouveau_bufferobj(obj); - - nouveau_bo_map(nbo->bo, NOUVEAU_BO_RD); - memcpy(data, nbo->bo->map + offset, size); - nouveau_bo_unmap(nbo->bo); + memcpy(data, get_bufferobj_map(obj, NOUVEAU_BO_RD) + offset, size); } static void * nouveau_bufferobj_map(struct gl_context *ctx, GLenum target, GLenum access, struct gl_buffer_object *obj) { - return ctx->Driver.MapBufferRange(ctx, target, 0, obj->Size, access, + unsigned flags = 0; + + if (access == GL_READ_ONLY_ARB || + access == GL_READ_WRITE_ARB) + flags |= GL_MAP_READ_BIT; + if (access == GL_WRITE_ONLY_ARB || + access == GL_READ_WRITE_ARB) + flags |= GL_MAP_WRITE_BIT; + + return ctx->Driver.MapBufferRange(ctx, target, 0, obj->Size, flags, obj); } static void * nouveau_bufferobj_map_range(struct gl_context *ctx, GLenum target, GLintptr offset, - GLsizeiptr length, GLenum access, + GLsizeiptr length, GLbitfield access, struct gl_buffer_object *obj) { - struct nouveau_bufferobj *nbo = to_nouveau_bufferobj(obj); - uint32_t flags = 0; + unsigned flags = 0; + char *map; assert(!obj->Pointer); - if (!nbo->bo) - return NULL; - - if (access == GL_READ_ONLY_ARB || - access == GL_READ_WRITE_ARB) + if (access & GL_MAP_READ_BIT) flags |= NOUVEAU_BO_RD; - if (access == GL_WRITE_ONLY_ARB || - access == GL_READ_WRITE_ARB) + if (access & GL_MAP_WRITE_BIT) flags |= NOUVEAU_BO_WR; + if (access & GL_MAP_UNSYNCHRONIZED_BIT) + flags |= NOUVEAU_BO_NOSYNC; - nouveau_bo_map_range(nbo->bo, offset, length, flags); + map = get_bufferobj_map(obj, flags); + if (!map) + return NULL; - obj->Pointer = nbo->bo->map; + obj->Pointer = map + offset; obj->Offset = offset; obj->Length = length; obj->AccessFlags = access; @@ -144,12 +171,8 @@ nouveau_bufferobj_map_range(struct gl_context *ctx, GLenum target, GLintptr offs static GLboolean nouveau_bufferobj_unmap(struct gl_context *ctx, GLenum target, struct gl_buffer_object *obj) { - struct nouveau_bufferobj *nbo = to_nouveau_bufferobj(obj); - assert(obj->Pointer); - nouveau_bo_unmap(nbo->bo); - obj->Pointer = NULL; obj->Offset = 0; obj->Length = 0; diff --git a/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.h b/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.h index acfc4cb9a90..01ef0bad0fd 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.h +++ b/src/mesa/drivers/dri/nouveau/nouveau_bufferobj.h @@ -30,9 +30,16 @@ struct nouveau_bufferobj { struct gl_buffer_object base; struct nouveau_bo *bo; + void *sys; }; #define to_nouveau_bufferobj(x) ((struct nouveau_bufferobj *)(x)) +#define nouveau_bufferobj_hw(x) \ + (_mesa_is_bufferobj(x) ? to_nouveau_bufferobj(x)->bo : NULL) + +#define nouveau_bufferobj_sys(x) \ + (_mesa_is_bufferobj(x) ? to_nouveau_bufferobj(x)->sys : NULL) + void nouveau_bufferobj_functions_init(struct dd_function_table *functions); diff --git a/src/mesa/drivers/dri/nouveau/nouveau_class.h b/src/mesa/drivers/dri/nouveau/nouveau_class.h index d41d431f796..687b847797b 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_class.h +++ b/src/mesa/drivers/dri/nouveau/nouveau_class.h @@ -4954,6 +4954,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NV25TCL_DMA_IN_MEMORY5 0x000001a0 #define NV25TCL_DMA_IN_MEMORY8 0x000001ac #define NV25TCL_DMA_IN_MEMORY9 0x000001b0 +#define NV25TCL_HIERZ_PITCH 0x0000022c +#define NV25TCL_HIERZ_OFFSET 0x00000230 #endif /* NOUVEAU_REG_H */ diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.c b/src/mesa/drivers/dri/nouveau/nouveau_context.c index 0ace139b886..f80aaedb257 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.c @@ -119,6 +119,7 @@ nouveau_context_init(struct gl_context *ctx, struct nouveau_screen *screen, nouveau_state_init(ctx); nouveau_bo_state_init(ctx); + nouveau_scratch_init(ctx); _mesa_meta_init(ctx); _swrast_CreateContext(ctx); _vbo_CreateContext(ctx); @@ -163,6 +164,7 @@ nouveau_context_deinit(struct gl_context *ctx) if (nctx->hw.chan) nouveau_channel_free(&nctx->hw.chan); + nouveau_scratch_destroy(ctx); nouveau_bo_state_destroy(ctx); _mesa_free_context_data(ctx); } @@ -325,10 +327,12 @@ nouveau_fallback(struct gl_context *ctx, enum nouveau_fallback mode) nctx->fallback = MAX2(HWTNL, mode); - if (mode < SWRAST) + if (mode < SWRAST) { nouveau_state_emit(ctx); - else + nouveau_bo_state_emit(ctx); + } else { FIRE_RING(context_chan(ctx)); + } } static void @@ -365,5 +369,6 @@ nouveau_validate_framebuffer(struct gl_context *ctx) validate_framebuffer(dri_ctx, dri_read, &dri_ctx->dri2.read_stamp); - nouveau_state_emit(ctx); + if (ctx->NewState & _NEW_BUFFERS) + _mesa_update_state(ctx); } diff --git a/src/mesa/drivers/dri/nouveau/nouveau_context.h b/src/mesa/drivers/dri/nouveau/nouveau_context.h index 23a87256728..7ebc676379e 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_context.h +++ b/src/mesa/drivers/dri/nouveau/nouveau_context.h @@ -30,6 +30,7 @@ #include "nouveau_screen.h" #include "nouveau_state.h" #include "nouveau_bo_state.h" +#include "nouveau_scratch.h" #include "nouveau_render.h" #include "main/bitset.h" @@ -67,6 +68,7 @@ struct nouveau_context { struct nouveau_hw_state hw; struct nouveau_bo_state bo; struct nouveau_render_state render; + struct nouveau_scratch_state scratch; struct { GLboolean clear_blocked; diff --git a/src/mesa/drivers/dri/nouveau/nouveau_render.h b/src/mesa/drivers/dri/nouveau/nouveau_render.h index 81c6119fcc6..0539c377585 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_render.h +++ b/src/mesa/drivers/dri/nouveau/nouveau_render.h @@ -28,46 +28,22 @@ #define __NOUVEAU_RENDER_H__ #include "vbo/vbo_context.h" - -struct nouveau_array_state; +#include "nouveau_array.h" typedef void (*dispatch_t)(struct gl_context *, unsigned int, int, unsigned int); -typedef unsigned (*extract_u_t)(struct nouveau_array_state *, int, int); -typedef float (*extract_f_t)(struct nouveau_array_state *, int, int); +typedef void (*emit_t)(struct gl_context *, struct nouveau_array *, const void *); struct nouveau_attr_info { int vbo_index; int imm_method; int imm_fields; - void (*emit)(struct gl_context *, struct nouveau_array_state *, const void *); -}; - -struct nouveau_array_state { - int attr; - int stride, fields, type; - - struct nouveau_bo *bo; - unsigned offset; - const void *buf; - - extract_u_t extract_u; - extract_f_t extract_f; -}; - -#define RENDER_SCRATCH_COUNT 2 -#define RENDER_SCRATCH_SIZE 2*1024*1024 - -struct nouveau_scratch_state { - struct nouveau_bo *bo[RENDER_SCRATCH_COUNT]; - - int index; - int offset; - void *buf; + emit_t emit; }; struct nouveau_swtnl_state { struct nouveau_bo *vbo; + unsigned offset; void *buf; unsigned vertex_count; GLenum primitive; @@ -79,8 +55,8 @@ struct nouveau_render_state { IMM } mode; - struct nouveau_array_state ib; - struct nouveau_array_state attrs[VERT_ATTRIB_MAX]; + struct nouveau_array ib; + struct nouveau_array attrs[VERT_ATTRIB_MAX]; /* Maps a HW VBO index or IMM emission order to an index in * the attrs array above (or -1 if unused). */ @@ -89,10 +65,16 @@ struct nouveau_render_state { int attr_count; int vertex_size; - struct nouveau_scratch_state scratch; struct nouveau_swtnl_state swtnl; }; #define to_render_state(ctx) (&to_nouveau_context(ctx)->render) +#define FOR_EACH_ATTR(render, i, attr) \ + for (i = 0; attr = (render)->map[i], i < NUM_VERTEX_ATTRS; i++) + +#define FOR_EACH_BOUND_ATTR(render, i, attr) \ + for (i = 0; attr = (render)->map[i], i < render->attr_count; i++) \ + if (attr >= 0) + #endif diff --git a/src/mesa/drivers/dri/nouveau/nouveau_render_t.c b/src/mesa/drivers/dri/nouveau/nouveau_render_t.c index dd38c14aa7c..e0cf727d11d 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_render_t.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_render_t.c @@ -100,8 +100,8 @@ /* * Select an appropriate dispatch function for the given index buffer. */ -static void -get_array_dispatch(struct nouveau_array_state *a, dispatch_t *dispatch) +static dispatch_t +get_array_dispatch(struct nouveau_array *a) { if (!a->fields) { auto void f(struct gl_context *, unsigned int, int, unsigned int); @@ -114,7 +114,7 @@ get_array_dispatch(struct nouveau_array_state *a, dispatch_t *dispatch) EMIT_VBO(L, ctx, start, delta, n); }; - *dispatch = f; + return f; } else if (a->type == GL_UNSIGNED_INT) { auto void f(struct gl_context *, unsigned int, int, unsigned int); @@ -127,7 +127,7 @@ get_array_dispatch(struct nouveau_array_state *a, dispatch_t *dispatch) EMIT_VBO(I32, ctx, start, delta, n); }; - *dispatch = f; + return f; } else { auto void f(struct gl_context *, unsigned int, int, unsigned int); @@ -141,115 +141,11 @@ get_array_dispatch(struct nouveau_array_state *a, dispatch_t *dispatch) EMIT_VBO(I16, ctx, start, delta, n & ~1); }; - *dispatch = f; + return f; } } /* - * Select appropriate element extraction functions for the given - * array. - */ -static void -get_array_extract(struct nouveau_array_state *a, - extract_u_t *extract_u, extract_f_t *extract_f) -{ -#define EXTRACT(in_t, out_t, k) \ - ({ \ - auto out_t f(struct nouveau_array_state *, int, int); \ - out_t f(struct nouveau_array_state *a, int i, int j) { \ - in_t x = ((in_t *)(a->buf + i * a->stride))[j]; \ - \ - return (out_t)x / (k); \ - }; \ - f; \ - }); - - switch (a->type) { - case GL_BYTE: - *extract_u = EXTRACT(char, unsigned, 1); - *extract_f = EXTRACT(char, float, SCHAR_MAX); - break; - case GL_UNSIGNED_BYTE: - *extract_u = EXTRACT(unsigned char, unsigned, 1); - *extract_f = EXTRACT(unsigned char, float, UCHAR_MAX); - break; - case GL_SHORT: - *extract_u = EXTRACT(short, unsigned, 1); - *extract_f = EXTRACT(short, float, SHRT_MAX); - break; - case GL_UNSIGNED_SHORT: - *extract_u = EXTRACT(unsigned short, unsigned, 1); - *extract_f = EXTRACT(unsigned short, float, USHRT_MAX); - break; - case GL_INT: - *extract_u = EXTRACT(int, unsigned, 1); - *extract_f = EXTRACT(int, float, INT_MAX); - break; - case GL_UNSIGNED_INT: - *extract_u = EXTRACT(unsigned int, unsigned, 1); - *extract_f = EXTRACT(unsigned int, float, UINT_MAX); - break; - case GL_FLOAT: - *extract_u = EXTRACT(float, unsigned, 1.0 / UINT_MAX); - *extract_f = EXTRACT(float, float, 1); - break; - - default: - assert(0); - } -} - -/* - * Returns a pointer to a chunk of <size> bytes long GART memory. <bo> - * will be updated with the buffer object the memory is located in. - * - * If <offset> is provided, it will be updated with the offset within - * <bo> of the allocated memory. Otherwise the returned memory will - * always be located right at the beginning of <bo>. - */ -static inline void * -get_scratch_vbo(struct gl_context *ctx, unsigned size, struct nouveau_bo **bo, - unsigned *offset) -{ - struct nouveau_scratch_state *scratch = &to_render_state(ctx)->scratch; - void *buf; - - if (scratch->buf && offset && - size <= RENDER_SCRATCH_SIZE - scratch->offset) { - nouveau_bo_ref(scratch->bo[scratch->index], bo); - - buf = scratch->buf + scratch->offset; - *offset = scratch->offset; - scratch->offset += size; - - } else if (size <= RENDER_SCRATCH_SIZE) { - scratch->index = (scratch->index + 1) % RENDER_SCRATCH_COUNT; - nouveau_bo_ref(scratch->bo[scratch->index], bo); - - nouveau_bo_map(*bo, NOUVEAU_BO_WR); - buf = scratch->buf = (*bo)->map; - nouveau_bo_unmap(*bo); - - if (offset) - *offset = 0; - scratch->offset = size; - - } else { - nouveau_bo_new(context_dev(ctx), - NOUVEAU_BO_MAP | NOUVEAU_BO_GART, 0, size, bo); - - nouveau_bo_map(*bo, NOUVEAU_BO_WR); - buf = (*bo)->map; - nouveau_bo_unmap(*bo); - - if (offset) - *offset = 0; - } - - return buf; -} - -/* * Returns how many vertices you can draw using <n> pushbuf dwords. */ static inline unsigned @@ -277,6 +173,11 @@ get_max_vertices(struct gl_context *ctx, const struct _mesa_index_buffer *ib, case GL_UNSIGNED_BYTE: max_out = MAX_OUT_I16; break; + + default: + assert(0); + max_out = 0; + break; } } else { max_out = MAX_OUT_L; @@ -286,76 +187,26 @@ get_max_vertices(struct gl_context *ctx, const struct _mesa_index_buffer *ib, } } -#include "nouveau_vbo_t.c" -#include "nouveau_swtnl_t.c" - static void -TAG(emit_material)(struct gl_context *ctx, struct nouveau_array_state *a, +TAG(emit_material)(struct gl_context *ctx, struct nouveau_array *a, const void *v) { - const int attr = a->attr - VERT_ATTRIB_GENERIC0; - const int state = ((int []) { - NOUVEAU_STATE_MATERIAL_FRONT_AMBIENT, - NOUVEAU_STATE_MATERIAL_BACK_AMBIENT, - NOUVEAU_STATE_MATERIAL_FRONT_DIFFUSE, - NOUVEAU_STATE_MATERIAL_BACK_DIFFUSE, - NOUVEAU_STATE_MATERIAL_FRONT_SPECULAR, - NOUVEAU_STATE_MATERIAL_BACK_SPECULAR, - NOUVEAU_STATE_MATERIAL_FRONT_AMBIENT, - NOUVEAU_STATE_MATERIAL_BACK_AMBIENT, - NOUVEAU_STATE_MATERIAL_FRONT_SHININESS, - NOUVEAU_STATE_MATERIAL_BACK_SHININESS - }) [attr]; + int attr = a->attr - VERT_ATTRIB_GENERIC0; + int state = ((int []) { + NOUVEAU_STATE_MATERIAL_FRONT_AMBIENT, + NOUVEAU_STATE_MATERIAL_BACK_AMBIENT, + NOUVEAU_STATE_MATERIAL_FRONT_DIFFUSE, + NOUVEAU_STATE_MATERIAL_BACK_DIFFUSE, + NOUVEAU_STATE_MATERIAL_FRONT_SPECULAR, + NOUVEAU_STATE_MATERIAL_BACK_SPECULAR, + NOUVEAU_STATE_MATERIAL_FRONT_AMBIENT, + NOUVEAU_STATE_MATERIAL_BACK_AMBIENT, + NOUVEAU_STATE_MATERIAL_FRONT_SHININESS, + NOUVEAU_STATE_MATERIAL_BACK_SHININESS + }) [attr]; COPY_4V(ctx->Light.Material.Attrib[attr], (float *)v); _mesa_update_material(ctx, 1 << attr); context_drv(ctx)->emit[state](ctx, state); } - -static void -TAG(render_prims)(struct gl_context *ctx, const struct gl_client_array **arrays, - const struct _mesa_prim *prims, GLuint nr_prims, - const struct _mesa_index_buffer *ib, - GLboolean index_bounds_valid, - GLuint min_index, GLuint max_index) -{ - struct nouveau_context *nctx = to_nouveau_context(ctx); - - nouveau_validate_framebuffer(ctx); - - if (nctx->fallback == HWTNL) - TAG(vbo_render_prims)(ctx, arrays, prims, nr_prims, ib, - index_bounds_valid, min_index, max_index); - - if (nctx->fallback == SWTNL) - _tnl_vbo_draw_prims(ctx, arrays, prims, nr_prims, ib, - index_bounds_valid, min_index, max_index); -} - -void -TAG(render_init)(struct gl_context *ctx) -{ - struct nouveau_render_state *render = to_render_state(ctx); - struct nouveau_scratch_state *scratch = &render->scratch; - int ret, i; - - for (i = 0; i < RENDER_SCRATCH_COUNT; i++) { - ret = nouveau_bo_new(context_dev(ctx), - NOUVEAU_BO_MAP | NOUVEAU_BO_GART, - 0, RENDER_SCRATCH_SIZE, &scratch->bo[i]); - assert(!ret); - } - - for (i = 0; i < VERT_ATTRIB_MAX; i++) - render->map[i] = -1; - - TAG(swtnl_init)(ctx); - vbo_set_draw_func(ctx, TAG(render_prims)); -} - -void -TAG(render_destroy)(struct gl_context *ctx) -{ - TAG(swtnl_destroy)(ctx); -} diff --git a/src/mesa/drivers/dri/nouveau/nouveau_scratch.c b/src/mesa/drivers/dri/nouveau/nouveau_scratch.c new file mode 100644 index 00000000000..ddda67b2f14 --- /dev/null +++ b/src/mesa/drivers/dri/nouveau/nouveau_scratch.c @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2009-2010 Francisco Jerez. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include "nouveau_driver.h" +#include "nouveau_context.h" + +/* + * Returns a pointer to a chunk of 'size' bytes long GART memory. 'bo' + * and 'offset' will point to the returned memory. + */ +void * +nouveau_get_scratch(struct gl_context *ctx, unsigned size, + struct nouveau_bo **bo, unsigned *offset) +{ + struct nouveau_scratch_state *scratch = + &to_nouveau_context(ctx)->scratch; + void *buf; + + if (scratch->buf && size <= NOUVEAU_SCRATCH_SIZE - scratch->offset) { + nouveau_bo_ref(scratch->bo[scratch->index], bo); + + buf = scratch->buf + scratch->offset; + *offset = scratch->offset; + scratch->offset += size; + + } else if (size <= NOUVEAU_SCRATCH_SIZE) { + scratch->index = (scratch->index + 1) % NOUVEAU_SCRATCH_COUNT; + nouveau_bo_ref(scratch->bo[scratch->index], bo); + + nouveau_bo_map(*bo, NOUVEAU_BO_WR); + buf = scratch->buf = (*bo)->map; + nouveau_bo_unmap(*bo); + + *offset = 0; + scratch->offset = size; + + } else { + nouveau_bo_new(context_dev(ctx), + NOUVEAU_BO_MAP | NOUVEAU_BO_GART, 0, size, bo); + + nouveau_bo_map(*bo, NOUVEAU_BO_WR); + buf = (*bo)->map; + nouveau_bo_unmap(*bo); + + *offset = 0; + } + + return buf; +} + +void +nouveau_scratch_init(struct gl_context *ctx) +{ + struct nouveau_scratch_state *scratch = + &to_nouveau_context(ctx)->scratch; + int ret, i; + + for (i = 0; i < NOUVEAU_SCRATCH_COUNT; i++) { + ret = nouveau_bo_new(context_dev(ctx), + NOUVEAU_BO_MAP | NOUVEAU_BO_GART, + 0, NOUVEAU_SCRATCH_SIZE, &scratch->bo[i]); + assert(!ret); + } +} + +void +nouveau_scratch_destroy(struct gl_context *ctx) +{ + struct nouveau_scratch_state *scratch = + &to_nouveau_context(ctx)->scratch; + int i; + + for (i = 0; i < NOUVEAU_SCRATCH_COUNT; i++) + nouveau_bo_ref(NULL, &scratch->bo[i]); +} diff --git a/src/mesa/drivers/dri/nouveau/nouveau_scratch.h b/src/mesa/drivers/dri/nouveau/nouveau_scratch.h new file mode 100644 index 00000000000..b60b33dd1ac --- /dev/null +++ b/src/mesa/drivers/dri/nouveau/nouveau_scratch.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009-2010 Francisco Jerez. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef __NOUVEAU_SCRATCH_H__ +#define __NOUVEAU_SCRATCH_H__ + +#define NOUVEAU_SCRATCH_COUNT 2 +#define NOUVEAU_SCRATCH_SIZE 3*1024*1024 + +struct nouveau_scratch_state { + struct nouveau_bo *bo[NOUVEAU_SCRATCH_COUNT]; + + int index; + int offset; + void *buf; +}; + +void * +nouveau_get_scratch(struct gl_context *ctx, unsigned size, + struct nouveau_bo **bo, unsigned *offset); + +void +nouveau_scratch_init(struct gl_context *ctx); + +void +nouveau_scratch_destroy(struct gl_context *ctx); + +#endif diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state.c b/src/mesa/drivers/dri/nouveau/nouveau_state.c index 7b7ddd2f54d..1579d29efc2 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_state.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_state.c @@ -113,6 +113,12 @@ nouveau_depth_range(struct gl_context *ctx, GLclampd nearval, GLclampd farval) } static void +nouveau_read_buffer(struct gl_context *ctx, GLenum buffer) +{ + nouveau_validate_framebuffer(ctx); +} + +static void nouveau_draw_buffers(struct gl_context *ctx, GLsizei n, const GLenum *buffers) { nouveau_validate_framebuffer(ctx); @@ -512,6 +518,7 @@ nouveau_state_init(struct gl_context *ctx) ctx->Driver.DepthFunc = nouveau_depth_func; ctx->Driver.DepthMask = nouveau_depth_mask; ctx->Driver.DepthRange = nouveau_depth_range; + ctx->Driver.ReadBuffer = nouveau_read_buffer; ctx->Driver.DrawBuffers = nouveau_draw_buffers; ctx->Driver.Enable = nouveau_enable; ctx->Driver.Fogfv = nouveau_fog; diff --git a/src/mesa/drivers/dri/nouveau/nouveau_swtnl_t.c b/src/mesa/drivers/dri/nouveau/nouveau_swtnl_t.c index b3588e8fd39..f084f89d29e 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_swtnl_t.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_swtnl_t.c @@ -28,6 +28,8 @@ #include "tnl/t_pipeline.h" #include "tnl/t_vertex.h" +#define SWTNL_VBO_SIZE 65536 + static enum tnl_attr_format swtnl_get_format(int type, int fields) { switch (type) { @@ -105,7 +107,7 @@ swtnl_choose_attrs(struct gl_context *ctx) TNLcontext *tnl = TNL_CONTEXT(ctx); struct tnl_clipspace *vtx = &tnl->clipspace; static struct tnl_attr_map map[NUM_VERTEX_ATTRS]; - int fields, i, n = 0; + int fields, attr, i, n = 0; render->mode = VBO; render->attr_count = NUM_VERTEX_ATTRS; @@ -116,7 +118,7 @@ swtnl_choose_attrs(struct gl_context *ctx) for (i = 0; i < VERT_ATTRIB_MAX; i++) { struct nouveau_attr_info *ha = &TAG(vertex_attrs)[i]; struct swtnl_attr_info *sa = &swtnl_attrs[i]; - struct nouveau_array_state *a = &render->attrs[i]; + struct nouveau_array *a = &render->attrs[i]; if (!sa->fields) continue; /* Unsupported attribute. */ @@ -141,13 +143,8 @@ swtnl_choose_attrs(struct gl_context *ctx) _tnl_install_attrs(ctx, map, n, NULL, 0); - for (i = 0; i < vtx->attr_count; i++) { - struct tnl_clipspace_attr *ta = &vtx->attr[i]; - struct nouveau_array_state *a = &render->attrs[ta->attrib]; - - a->stride = vtx->vertex_size; - a->offset = ta->vertoffset; - } + FOR_EACH_BOUND_ATTR(render, i, attr) + render->attrs[attr].stride = vtx->vertex_size; TAG(render_set_format)(ctx); } @@ -158,8 +155,8 @@ swtnl_alloc_vertices(struct gl_context *ctx) struct nouveau_swtnl_state *swtnl = &to_render_state(ctx)->swtnl; nouveau_bo_ref(NULL, &swtnl->vbo); - swtnl->buf = get_scratch_vbo(ctx, RENDER_SCRATCH_SIZE, - &swtnl->vbo, NULL); + swtnl->buf = nouveau_get_scratch(ctx, SWTNL_VBO_SIZE, &swtnl->vbo, + &swtnl->offset); swtnl->vertex_count = 0; } @@ -168,14 +165,15 @@ swtnl_bind_vertices(struct gl_context *ctx) { struct nouveau_render_state *render = to_render_state(ctx); struct nouveau_swtnl_state *swtnl = &render->swtnl; + struct tnl_clipspace *vtx = &TNL_CONTEXT(ctx)->clipspace; int i; - for (i = 0; i < render->attr_count; i++) { - int attr = render->map[i]; + for (i = 0; i < vtx->attr_count; i++) { + struct tnl_clipspace_attr *ta = &vtx->attr[i]; + struct nouveau_array *a = &render->attrs[ta->attrib]; - if (attr >= 0) - nouveau_bo_ref(swtnl->vbo, - &render->attrs[attr].bo); + nouveau_bo_ref(swtnl->vbo, &a->bo); + a->offset = swtnl->offset + ta->vertoffset; } TAG(render_bind_vertices)(ctx); @@ -185,15 +183,11 @@ static void swtnl_unbind_vertices(struct gl_context *ctx) { struct nouveau_render_state *render = to_render_state(ctx); - int i; - - for (i = 0; i < render->attr_count; i++) { - int *attr = &render->map[i]; + int i, attr; - if (*attr >= 0) { - nouveau_bo_ref(NULL, &render->attrs[*attr].bo); - *attr = -1; - } + FOR_EACH_BOUND_ATTR(render, i, attr) { + nouveau_bo_ref(NULL, &render->attrs[attr].bo); + render->map[i] = -1; } render->attr_count = 0; @@ -260,7 +254,7 @@ swtnl_reset_stipple(struct gl_context *ctx) struct nouveau_swtnl_state *swtnl = &to_render_state(ctx)->swtnl; \ int vertex_len = TNL_CONTEXT(ctx)->clipspace.vertex_size; \ \ - if (swtnl->vertex_count + (n) > swtnl->vbo->size/vertex_len \ + if (swtnl->vertex_count + (n) > SWTNL_VBO_SIZE/vertex_len \ || (swtnl->vertex_count && swtnl->primitive != p)) \ swtnl_flush_vertices(ctx); \ \ @@ -280,7 +274,7 @@ swtnl_points(struct gl_context *ctx, GLuint first, GLuint last) while (first < last) { BEGIN_PRIMITIVE(GL_POINTS, last - first); - count = MIN2(swtnl->vbo->size / vertex_len, last - first); + count = MIN2(SWTNL_VBO_SIZE / vertex_len, last - first); for (i = 0; i < count; i++) OUT_VERTEX(first + i); @@ -316,7 +310,7 @@ swtnl_quad(struct gl_context *ctx, GLuint v1, GLuint v2, GLuint v3, GLuint v4) } /* TnL initialization. */ -static void +void TAG(swtnl_init)(struct gl_context *ctx) { TNLcontext *tnl = TNL_CONTEXT(ctx); @@ -347,7 +341,7 @@ TAG(swtnl_init)(struct gl_context *ctx) swtnl_alloc_vertices(ctx); } -static void +void TAG(swtnl_destroy)(struct gl_context *ctx) { nouveau_bo_ref(NULL, &to_render_state(ctx)->swtnl.vbo); diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c b/src/mesa/drivers/dri/nouveau/nouveau_texture.c index cd063702af0..060c2c5bcc0 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c @@ -79,26 +79,65 @@ nouveau_teximage_free(struct gl_context *ctx, struct gl_texture_image *ti) } static void -nouveau_teximage_map(struct gl_context *ctx, struct gl_texture_image *ti) +nouveau_teximage_map(struct gl_context *ctx, struct gl_texture_image *ti, + int access, int x, int y, int w, int h) { - struct nouveau_surface *s = &to_nouveau_teximage(ti)->surface; - int ret; + struct nouveau_teximage *nti = to_nouveau_teximage(ti); + struct nouveau_surface *s = &nti->surface; + struct nouveau_surface *st = &nti->transfer.surface; if (s->bo) { - ret = nouveau_bo_map(s->bo, NOUVEAU_BO_RDWR); - assert(!ret); - - ti->Data = s->bo->map; + if (!(access & GL_MAP_READ_BIT) && + nouveau_bo_pending(s->bo)) { + /* + * Heuristic: use a bounce buffer to pipeline + * teximage transfers. + */ + st->layout = LINEAR; + st->format = s->format; + st->cpp = s->cpp; + st->width = w; + st->height = h; + st->pitch = s->pitch; + nti->transfer.x = x; + nti->transfer.y = y; + + ti->Data = nouveau_get_scratch(ctx, st->pitch * h, + &st->bo, &st->offset); + + } else { + int ret, flags = 0; + + if (access & GL_MAP_READ_BIT) + flags |= NOUVEAU_BO_RD; + if (access & GL_MAP_WRITE_BIT) + flags |= NOUVEAU_BO_WR; + + ret = nouveau_bo_map(s->bo, flags); + assert(!ret); + + ti->Data = s->bo->map + y * s->pitch + x * s->cpp; + } } } static void nouveau_teximage_unmap(struct gl_context *ctx, struct gl_texture_image *ti) { - struct nouveau_surface *s = &to_nouveau_teximage(ti)->surface; + struct nouveau_teximage *nti = to_nouveau_teximage(ti); + struct nouveau_surface *s = &nti->surface; + struct nouveau_surface *st = &nti->transfer.surface; - if (s->bo) + if (st->bo) { + context_drv(ctx)->surface_copy(ctx, s, st, nti->transfer.x, + nti->transfer.y, 0, 0, + st->width, st->height); + nouveau_surface_ref(NULL, st); + + } else if (s->bo) { nouveau_bo_unmap(s->bo); + } + ti->Data = NULL; } @@ -115,6 +154,7 @@ nouveau_choose_tex_format(struct gl_context *ctx, GLint internalFormat, case GL_RGBA12: case GL_RGBA16: case GL_RGB10_A2: + case GL_COMPRESSED_RGBA: return MESA_FORMAT_ARGB8888; case GL_RGB5_A1: return MESA_FORMAT_ARGB1555; @@ -124,6 +164,7 @@ nouveau_choose_tex_format(struct gl_context *ctx, GLint internalFormat, case GL_RGB10: case GL_RGB12: case GL_RGB16: + case GL_COMPRESSED_RGB: return MESA_FORMAT_XRGB8888; case 3: case GL_R3_G3_B2: @@ -139,6 +180,7 @@ nouveau_choose_tex_format(struct gl_context *ctx, GLint internalFormat, case GL_LUMINANCE12_ALPHA12: case GL_LUMINANCE16_ALPHA16: case GL_LUMINANCE8_ALPHA8: + case GL_COMPRESSED_LUMINANCE_ALPHA: return MESA_FORMAT_ARGB8888; case 1: @@ -147,6 +189,7 @@ nouveau_choose_tex_format(struct gl_context *ctx, GLint internalFormat, case GL_LUMINANCE12: case GL_LUMINANCE16: case GL_LUMINANCE8: + case GL_COMPRESSED_LUMINANCE: return MESA_FORMAT_L8; case GL_ALPHA: @@ -154,6 +197,7 @@ nouveau_choose_tex_format(struct gl_context *ctx, GLint internalFormat, case GL_ALPHA12: case GL_ALPHA16: case GL_ALPHA8: + case GL_COMPRESSED_ALPHA: return MESA_FORMAT_A8; case GL_INTENSITY: @@ -356,7 +400,8 @@ nouveau_teximage(struct gl_context *ctx, GLint dims, GLenum target, GLint level, "glTexImage"); if (pixels) { /* Store the pixel data. */ - nouveau_teximage_map(ctx, ti); + nouveau_teximage_map(ctx, ti, GL_MAP_WRITE_BIT, + 0, 0, width, height); ret = _mesa_texstore(ctx, dims, ti->_BaseFormat, ti->TexFormat, ti->Data, @@ -443,13 +488,13 @@ nouveau_texsubimage(struct gl_context *ctx, GLint dims, GLenum target, GLint lev format, type, pixels, packing, "glTexSubImage"); if (pixels) { - nouveau_teximage_map(ctx, ti); + nouveau_teximage_map(ctx, ti, GL_MAP_WRITE_BIT, + xoffset, yoffset, width, height); ret = _mesa_texstore(ctx, 3, ti->_BaseFormat, ti->TexFormat, - ti->Data, xoffset, yoffset, zoffset, - s->pitch, ti->ImageOffsets, - width, height, depth, format, type, - pixels, packing); + ti->Data, 0, 0, 0, s->pitch, + ti->ImageOffsets, width, height, depth, + format, type, pixels, packing); assert(ret); nouveau_teximage_unmap(ctx, ti); @@ -508,7 +553,8 @@ nouveau_get_teximage(struct gl_context *ctx, GLenum target, GLint level, struct gl_texture_object *t, struct gl_texture_image *ti) { - nouveau_teximage_map(ctx, ti); + nouveau_teximage_map(ctx, ti, GL_MAP_READ_BIT, + 0, 0, ti->Width, ti->Height); _mesa_get_teximage(ctx, target, level, format, type, pixels, t, ti); nouveau_teximage_unmap(ctx, ti); @@ -579,8 +625,11 @@ nouveau_texture_map(struct gl_context *ctx, struct gl_texture_object *t) int i; for (i = t->BaseLevel; i < t->_MaxLevel; i++) { - if (t->Image[0][i]) - nouveau_teximage_map(ctx, t->Image[0][i]); + struct gl_texture_image *ti = t->Image[0][i]; + + if (ti) + nouveau_teximage_map(ctx, ti, GL_MAP_READ_BIT, + 0, 0, ti->Width, ti->Height); } } @@ -630,7 +679,8 @@ nouveau_generate_mipmap(struct gl_context *ctx, GLenum target, if (_mesa_meta_check_generate_mipmap_fallback(ctx, target, t)) { struct gl_texture_image *base = t->Image[0][t->BaseLevel]; - nouveau_teximage_map(ctx, base); + nouveau_teximage_map(ctx, base, GL_MAP_READ_BIT, + 0, 0, base->Width, base->Height); _mesa_generate_mipmap(ctx, target, t); nouveau_teximage_unmap(ctx, base); diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.h b/src/mesa/drivers/dri/nouveau/nouveau_texture.h index fc170215f35..56e61c7337b 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_texture.h +++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.h @@ -30,6 +30,10 @@ struct nouveau_teximage { struct gl_texture_image base; struct nouveau_surface surface; + struct { + struct nouveau_surface surface; + int x, y; + } transfer; }; #define to_nouveau_teximage(x) ((struct nouveau_teximage *)(x)) diff --git a/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c b/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c index 394f3c9b500..7a0eb9fc23d 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c @@ -31,59 +31,11 @@ #include "main/image.h" /* Arbitrary pushbuf length we can assume we can get with a single - * WAIT_RING. */ + * call to WAIT_RING. */ #define PUSHBUF_DWORDS 65536 -/* Functions to set up struct nouveau_array_state from something like - * a GL array or index buffer. */ - -static void -vbo_init_array(struct nouveau_array_state *a, int attr, int stride, - int fields, int type, struct gl_buffer_object *obj, - const void *ptr, GLboolean map) -{ - a->attr = attr; - a->stride = stride; - a->fields = fields; - a->type = type; - - if (_mesa_is_bufferobj(obj)) { - nouveau_bo_ref(to_nouveau_bufferobj(obj)->bo, &a->bo); - a->offset = (intptr_t)ptr; - - if (map) { - nouveau_bo_map(a->bo, NOUVEAU_BO_RD); - a->buf = a->bo->map + a->offset; - } else { - a->buf = NULL; - } - - } else { - nouveau_bo_ref(NULL, &a->bo); - a->offset = 0; - - if (map) - a->buf = ptr; - else - a->buf = NULL; - } - - if (a->buf) - get_array_extract(a, &a->extract_u, &a->extract_f); -} - -static void -vbo_deinit_array(struct nouveau_array_state *a) -{ - if (a->bo) { - if (a->bo->map) - nouveau_bo_unmap(a->bo); - nouveau_bo_ref(NULL, &a->bo); - } - - a->buf = NULL; - a->fields = 0; -} +/* Functions to turn GL arrays or index buffers into nouveau_array + * structures. */ static int get_array_stride(struct gl_context *ctx, const struct gl_client_array *a) @@ -102,48 +54,45 @@ vbo_init_arrays(struct gl_context *ctx, const struct _mesa_index_buffer *ib, const struct gl_client_array **arrays) { struct nouveau_render_state *render = to_render_state(ctx); - int i; + GLboolean imm = (render->mode == IMM); + int i, attr; if (ib) - vbo_init_array(&render->ib, 0, 0, ib->count, ib->type, - ib->obj, ib->ptr, GL_TRUE); + nouveau_init_array(&render->ib, 0, 0, ib->count, ib->type, + ib->obj, ib->ptr, GL_TRUE); - for (i = 0; i < render->attr_count; i++) { - int attr = render->map[i]; + FOR_EACH_BOUND_ATTR(render, i, attr) { + const struct gl_client_array *array = arrays[attr]; - if (attr >= 0) { - const struct gl_client_array *array = arrays[attr]; - - vbo_init_array(&render->attrs[attr], attr, - get_array_stride(ctx, array), - array->Size, array->Type, - array->BufferObj, array->Ptr, - render->mode == IMM); - } + nouveau_init_array(&render->attrs[attr], attr, + get_array_stride(ctx, array), + array->Size, array->Type, + imm ? array->BufferObj : NULL, + array->Ptr, imm); } } static void vbo_deinit_arrays(struct gl_context *ctx, const struct _mesa_index_buffer *ib, - const struct gl_client_array **arrays) + const struct gl_client_array **arrays) { struct nouveau_render_state *render = to_render_state(ctx); - int i; + int i, attr; if (ib) - vbo_deinit_array(&render->ib); + nouveau_cleanup_array(&render->ib); - for (i = 0; i < render->attr_count; i++) { - int *attr = &render->map[i]; + FOR_EACH_BOUND_ATTR(render, i, attr) { + struct nouveau_array *a = &render->attrs[attr]; - if (*attr >= 0) { - vbo_deinit_array(&render->attrs[*attr]); - *attr = -1; - } + if (render->mode == IMM) + nouveau_bo_ref(NULL, &a->bo); + + nouveau_deinit_array(a); + render->map[i] = -1; } render->attr_count = 0; - context_bctx(ctx, VERTEX); } /* Make some rendering decisions from the GL context. */ @@ -164,20 +113,16 @@ vbo_choose_render_mode(struct gl_context *ctx, const struct gl_client_array **ar } } } - - if (render->mode == VBO) - render->attr_count = NUM_VERTEX_ATTRS; - else - render->attr_count = 0; } static void -vbo_emit_attr(struct gl_context *ctx, const struct gl_client_array **arrays, int attr) +vbo_emit_attr(struct gl_context *ctx, const struct gl_client_array **arrays, + int attr) { struct nouveau_channel *chan = context_chan(ctx); struct nouveau_render_state *render = to_render_state(ctx); const struct gl_client_array *array = arrays[attr]; - struct nouveau_array_state *a = &render->attrs[attr]; + struct nouveau_array *a = &render->attrs[attr]; RENDER_LOCALS(ctx); if (!array->StrideB) { @@ -186,11 +131,11 @@ vbo_emit_attr(struct gl_context *ctx, const struct gl_client_array **arrays, int return; /* Constant attribute. */ - vbo_init_array(a, attr, array->StrideB, array->Size, - array->Type, array->BufferObj, array->Ptr, - GL_TRUE); + nouveau_init_array(a, attr, array->StrideB, array->Size, + array->Type, array->BufferObj, array->Ptr, + GL_TRUE); EMIT_IMM(ctx, a, 0); - vbo_deinit_array(a); + nouveau_deinit_array(a); } else { /* Varying attribute. */ @@ -199,10 +144,13 @@ vbo_emit_attr(struct gl_context *ctx, const struct gl_client_array **arrays, int if (render->mode == VBO) { render->map[info->vbo_index] = attr; render->vertex_size += array->_ElementSize; + render->attr_count = MAX2(render->attr_count, + info->vbo_index + 1); } else { render->map[render->attr_count++] = attr; render->vertex_size += 4 * info->imm_fields; } + } } @@ -216,6 +164,7 @@ vbo_choose_attrs(struct gl_context *ctx, const struct gl_client_array **arrays) /* Reset the vertex size. */ render->vertex_size = 0; + render->attr_count = 0; vbo_emit_attr(ctx, arrays, VERT_ATTRIB_COLOR0); if (ctx->Fog.ColorSumEnabled && !ctx->Light.Enabled) @@ -233,7 +182,7 @@ vbo_choose_attrs(struct gl_context *ctx, const struct gl_client_array **arrays) (ctx->Texture._GenFlags & TEXGEN_NEED_NORMALS)) vbo_emit_attr(ctx, arrays, VERT_ATTRIB_NORMAL); - if (ctx->Light.Enabled) { + if (ctx->Light.Enabled && render->mode == IMM) { vbo_emit_attr(ctx, arrays, MAT(FRONT_AMBIENT)); vbo_emit_attr(ctx, arrays, MAT(FRONT_DIFFUSE)); vbo_emit_attr(ctx, arrays, MAT(FRONT_SPECULAR)); @@ -254,17 +203,13 @@ static int get_max_client_stride(struct gl_context *ctx, const struct gl_client_array **arrays) { struct nouveau_render_state *render = to_render_state(ctx); - int i, s = 0; + int i, attr, s = 0; - for (i = 0; i < render->attr_count; i++) { - int attr = render->map[i]; + FOR_EACH_BOUND_ATTR(render, i, attr) { + const struct gl_client_array *a = arrays[attr]; - if (attr >= 0) { - const struct gl_client_array *a = arrays[attr]; - - if (!_mesa_is_bufferobj(a->BufferObj)) - s = MAX2(s, get_array_stride(ctx, a)); - } + if (!_mesa_is_bufferobj(a->BufferObj)) + s = MAX2(s, get_array_stride(ctx, a)); } return s; @@ -295,7 +240,7 @@ vbo_maybe_split(struct gl_context *ctx, const struct gl_client_array **arrays, if (render->mode == VBO && (stride = get_max_client_stride(ctx, arrays))) vert_avail = MIN2(vert_avail, - RENDER_SCRATCH_SIZE / stride); + NOUVEAU_SCRATCH_SIZE / stride); if (max_index - min_index > vert_avail || (ib && ib->count > idx_avail)) { @@ -315,42 +260,93 @@ vbo_maybe_split(struct gl_context *ctx, const struct gl_client_array **arrays, /* VBO rendering path. */ +static GLboolean +check_update_array(struct nouveau_array *a, unsigned offset, + struct nouveau_bo *bo, int *pdelta) +{ + int delta = *pdelta; + GLboolean dirty; + + if (a->bo == bo) { + if (delta < 0) + delta = ((int)offset - (int)a->offset) / a->stride; + + dirty = (delta < 0 || + offset != (a->offset + delta * a->stride)); + } else { + dirty = GL_TRUE; + } + + *pdelta = (dirty ? 0 : delta); + return dirty; +} + static void vbo_bind_vertices(struct gl_context *ctx, const struct gl_client_array **arrays, - GLint basevertex, GLuint min_index, GLuint max_index) + int base, unsigned min_index, unsigned max_index, int *pdelta) { struct nouveau_render_state *render = to_render_state(ctx); - int i; + struct nouveau_channel *chan = context_chan(ctx); + struct nouveau_bo *bo[NUM_VERTEX_ATTRS]; + unsigned offset[NUM_VERTEX_ATTRS]; + GLboolean dirty = GL_FALSE; + int i, j, attr; + RENDER_LOCALS(ctx); - for (i = 0; i < NUM_VERTEX_ATTRS; i++) { - int attr = render->map[i]; - - if (attr >= 0) { - const struct gl_client_array *array = arrays[attr]; - struct nouveau_array_state *a = &render->attrs[attr]; - unsigned delta = (basevertex + min_index) - * array->StrideB; - - if (a->bo) { - /* Array in a buffer obj. */ - a->offset = (intptr_t)array->Ptr + delta; - } else { - int j, n = max_index - min_index + 1; - char *sp = (char *)array->Ptr + delta; - char *dp = get_scratch_vbo(ctx, n * a->stride, - &a->bo, &a->offset); - - /* Array in client memory, move it to - * a scratch buffer obj. */ - for (j = 0; j < n; j++) - memcpy(dp + j * a->stride, - sp + j * array->StrideB, - a->stride); - } + *pdelta = -1; + + FOR_EACH_BOUND_ATTR(render, i, attr) { + const struct gl_client_array *array = arrays[attr]; + struct gl_buffer_object *obj = array->BufferObj; + struct nouveau_array *a = &render->attrs[attr]; + unsigned delta = (base + min_index) * array->StrideB; + + bo[i] = NULL; + + if (nouveau_bufferobj_hw(obj)) { + /* Array in a buffer obj. */ + nouveau_bo_ref(to_nouveau_bufferobj(obj)->bo, &bo[i]); + offset[i] = delta + (intptr_t)array->Ptr; + + } else { + int n = max_index - min_index + 1; + char *sp = (char *)ADD_POINTERS( + nouveau_bufferobj_sys(obj), array->Ptr) + delta; + char *dp = nouveau_get_scratch(ctx, n * a->stride, + &bo[i], &offset[i]); + + /* Array in client memory, move it to a + * scratch buffer obj. */ + for (j = 0; j < n; j++) + memcpy(dp + j * a->stride, + sp + j * array->StrideB, + a->stride); } + + dirty |= check_update_array(a, offset[i], bo[i], pdelta); + } + + *pdelta -= min_index; + + if (dirty) { + /* Buffers changed, update the attribute binding. */ + FOR_EACH_BOUND_ATTR(render, i, attr) { + struct nouveau_array *a = &render->attrs[attr]; + + nouveau_bo_ref(NULL, &a->bo); + a->offset = offset[i]; + a->bo = bo[i]; + } + + TAG(render_bind_vertices)(ctx); + + } else { + /* Just cleanup. */ + FOR_EACH_BOUND_ATTR(render, i, attr) + nouveau_bo_ref(NULL, &bo[i]); } - TAG(render_bind_vertices)(ctx); + BATCH_VALIDATE(); } static void @@ -360,12 +356,10 @@ vbo_draw_vbo(struct gl_context *ctx, const struct gl_client_array **arrays, GLuint max_index) { struct nouveau_channel *chan = context_chan(ctx); - dispatch_t dispatch; - int delta = -min_index, basevertex = 0, i; + dispatch_t dispatch = get_array_dispatch(&to_render_state(ctx)->ib); + int i, delta = 0, basevertex = 0; RENDER_LOCALS(ctx); - get_array_dispatch(&to_render_state(ctx)->ib, &dispatch); - TAG(render_set_format)(ctx); for (i = 0; i < nr_prims; i++) { @@ -374,8 +368,8 @@ vbo_draw_vbo(struct gl_context *ctx, const struct gl_client_array **arrays, if (i == 0 || basevertex != prims[i].basevertex) { basevertex = prims[i].basevertex; - vbo_bind_vertices(ctx, arrays, basevertex, - min_index, max_index); + vbo_bind_vertices(ctx, arrays, basevertex, min_index, + max_index, &delta); } if (count > get_max_vertices(ctx, ib, AVAIL_RING(chan))) @@ -390,7 +384,7 @@ vbo_draw_vbo(struct gl_context *ctx, const struct gl_client_array **arrays, /* Immediate rendering path. */ static unsigned -extract_id(struct nouveau_array_state *a, int i, int j) +extract_id(struct nouveau_array *a, int i, int j) { return j; } @@ -404,7 +398,7 @@ vbo_draw_imm(struct gl_context *ctx, const struct gl_client_array **arrays, struct nouveau_render_state *render = to_render_state(ctx); struct nouveau_channel *chan = context_chan(ctx); extract_u_t extract = ib ? render->ib.extract_u : extract_id; - int i, j, k; + int i, j, k, attr; RENDER_LOCALS(ctx); for (i = 0; i < nr_prims; i++) { @@ -421,9 +415,8 @@ vbo_draw_imm(struct gl_context *ctx, const struct gl_client_array **arrays, j = prims[i].basevertex + extract(&render->ib, 0, start); - for (k = 0; k < render->attr_count; k++) - EMIT_IMM(ctx, &render->attrs[render->map[k]], - j); + FOR_EACH_BOUND_ATTR(render, k, attr) + EMIT_IMM(ctx, &render->attrs[attr], j); } BATCH_END(); @@ -433,7 +426,8 @@ vbo_draw_imm(struct gl_context *ctx, const struct gl_client_array **arrays, /* draw_prims entry point when we're doing hw-tnl. */ static void -TAG(vbo_render_prims)(struct gl_context *ctx, const struct gl_client_array **arrays, +TAG(vbo_render_prims)(struct gl_context *ctx, + const struct gl_client_array **arrays, const struct _mesa_prim *prims, GLuint nr_prims, const struct _mesa_index_buffer *ib, GLboolean index_bounds_valid, @@ -462,3 +456,44 @@ TAG(vbo_render_prims)(struct gl_context *ctx, const struct gl_client_array **arr vbo_deinit_arrays(ctx, ib, arrays); } + +/* VBO rendering entry points. */ + +static void +TAG(vbo_check_render_prims)(struct gl_context *ctx, + const struct gl_client_array **arrays, + const struct _mesa_prim *prims, GLuint nr_prims, + const struct _mesa_index_buffer *ib, + GLboolean index_bounds_valid, + GLuint min_index, GLuint max_index) +{ + struct nouveau_context *nctx = to_nouveau_context(ctx); + + nouveau_validate_framebuffer(ctx); + + if (nctx->fallback == HWTNL) + TAG(vbo_render_prims)(ctx, arrays, prims, nr_prims, ib, + index_bounds_valid, min_index, max_index); + + if (nctx->fallback == SWTNL) + _tnl_vbo_draw_prims(ctx, arrays, prims, nr_prims, ib, + index_bounds_valid, min_index, max_index); +} + +void +TAG(vbo_init)(struct gl_context *ctx) +{ + struct nouveau_render_state *render = to_render_state(ctx); + int i; + + for (i = 0; i < VERT_ATTRIB_MAX; i++) + render->map[i] = -1; + + vbo_set_draw_func(ctx, TAG(vbo_check_render_prims)); + vbo_use_buffer_objects(ctx); +} + +void +TAG(vbo_destroy)(struct gl_context *ctx) +{ +} diff --git a/src/mesa/drivers/dri/nouveau/nv10_context.c b/src/mesa/drivers/dri/nouveau/nv10_context.c index fdcb43b7718..de2c93ec815 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_context.c +++ b/src/mesa/drivers/dri/nouveau/nv10_context.c @@ -24,6 +24,7 @@ * */ +#include "main/state.h" #include "nouveau_driver.h" #include "nouveau_context.h" #include "nouveau_fbo.h" @@ -184,6 +185,9 @@ nv10_clear(struct gl_context *ctx, GLbitfield buffers) nv17_zclear(ctx, &buffers); else nv10_zclear(ctx, &buffers); + + /* Emit the zclear state if it's dirty */ + _mesa_update_state(ctx); } nouveau_clear(ctx, buffers); @@ -407,7 +411,8 @@ nv10_context_destroy(struct gl_context *ctx) struct nouveau_context *nctx = to_nouveau_context(ctx); nv04_surface_takedown(ctx); - nv10_render_destroy(ctx); + nv10_swtnl_destroy(ctx); + nv10_vbo_destroy(ctx); nouveau_grobj_free(&nctx->hw.eng3d); @@ -463,7 +468,8 @@ nv10_context_create(struct nouveau_screen *screen, const struct gl_config *visua goto fail; nv10_hwctx_init(ctx); - nv10_render_init(ctx); + nv10_vbo_init(ctx); + nv10_swtnl_init(ctx); return ctx; diff --git a/src/mesa/drivers/dri/nouveau/nv10_driver.h b/src/mesa/drivers/dri/nouveau/nv10_driver.h index dec3d64e7d2..6fdc4641623 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_driver.h +++ b/src/mesa/drivers/dri/nouveau/nv10_driver.h @@ -45,10 +45,16 @@ nv10_transform_depth(struct gl_context *ctx, float z); /* nv10_render.c */ void -nv10_render_init(struct gl_context *ctx); +nv10_vbo_init(struct gl_context *ctx); void -nv10_render_destroy(struct gl_context *ctx); +nv10_vbo_destroy(struct gl_context *ctx); + +void +nv10_swtnl_init(struct gl_context *ctx); + +void +nv10_swtnl_destroy(struct gl_context *ctx); /* nv10_state_fb.c */ void diff --git a/src/mesa/drivers/dri/nouveau/nv10_render.c b/src/mesa/drivers/dri/nouveau/nv10_render.c index a03ace35366..7115739b5aa 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_render.c +++ b/src/mesa/drivers/dri/nouveau/nv10_render.c @@ -32,7 +32,7 @@ #define NUM_VERTEX_ATTRS 8 static void -nv10_emit_material(struct gl_context *ctx, struct nouveau_array_state *a, +nv10_emit_material(struct gl_context *ctx, struct nouveau_array *a, const void *v); /* Vertex attribute format. */ @@ -111,13 +111,11 @@ nv10_render_set_format(struct gl_context *ctx) struct nouveau_render_state *render = to_render_state(ctx); struct nouveau_channel *chan = context_chan(ctx); struct nouveau_grobj *celsius = context_eng3d(ctx); - int i, hw_format; - - for (i = 0; i < NUM_VERTEX_ATTRS; i++) { - int attr = render->map[i]; + int i, attr, hw_format; + FOR_EACH_ATTR(render, i, attr) { if (attr >= 0) { - struct nouveau_array_state *a = &render->attrs[attr]; + struct nouveau_array *a = &render->attrs[attr]; hw_format = a->stride << 8 | a->fields << 4 | @@ -140,31 +138,27 @@ nv10_render_bind_vertices(struct gl_context *ctx) { struct nouveau_render_state *render = to_render_state(ctx); struct nouveau_bo_context *bctx = context_bctx(ctx, VERTEX); - struct nouveau_channel *chan = context_chan(ctx); struct nouveau_grobj *celsius = context_eng3d(ctx); - int i; + int i, attr; - for (i = 0; i < NUM_VERTEX_ATTRS; i++) { - int attr = render->map[i]; - - if (attr >= 0) { - struct nouveau_array_state *a = &render->attrs[attr]; + FOR_EACH_BOUND_ATTR(render, i, attr) { + struct nouveau_array *a = &render->attrs[attr]; - nouveau_bo_markl(bctx, celsius, - NV10TCL_VTXBUF_ADDRESS(i), - a->bo, a->offset, - NOUVEAU_BO_GART | NOUVEAU_BO_RD); - } + nouveau_bo_markl(bctx, celsius, + NV10TCL_VTXBUF_ADDRESS(i), + a->bo, a->offset, + NOUVEAU_BO_GART | NOUVEAU_BO_RD); } - - BEGIN_RING(chan, celsius, NV10TCL_VERTEX_ARRAY_VALIDATE, 1); - OUT_RING(chan, 0); } /* Vertex array rendering defs. */ #define RENDER_LOCALS(ctx) \ struct nouveau_grobj *celsius = context_eng3d(ctx) +#define BATCH_VALIDATE() \ + BEGIN_RING(chan, celsius, NV10TCL_VERTEX_ARRAY_VALIDATE, 1); \ + OUT_RING(chan, 0) + #define BATCH_BEGIN(prim) \ BEGIN_RING(chan, celsius, NV10TCL_VERTEX_BUFFER_BEGIN_END, 1); \ OUT_RING(chan, prim) @@ -199,3 +193,5 @@ nv10_render_bind_vertices(struct gl_context *ctx) #define TAG(x) nv10_##x #include "nouveau_render_t.c" +#include "nouveau_vbo_t.c" +#include "nouveau_swtnl_t.c" diff --git a/src/mesa/drivers/dri/nouveau/nv10_state_fb.c b/src/mesa/drivers/dri/nouveau/nv10_state_fb.c index d87fe96b1c0..0fda9faf49b 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_state_fb.c +++ b/src/mesa/drivers/dri/nouveau/nv10_state_fb.c @@ -51,11 +51,11 @@ get_rt_format(gl_format format) } static void -setup_lma_buffer(struct gl_context *ctx) +setup_hierz_buffer(struct gl_context *ctx) { struct nouveau_channel *chan = context_chan(ctx); struct nouveau_grobj *celsius = context_eng3d(ctx); - struct nouveau_bo_context *bctx = context_bctx(ctx, LMA_DEPTH); + struct nouveau_bo_context *bctx = context_bctx(ctx, HIERZ); struct gl_framebuffer *fb = ctx->DrawBuffer; struct nouveau_framebuffer *nfb = to_nouveau_framebuffer(fb); unsigned pitch = align(fb->Width, 128), @@ -135,7 +135,7 @@ nv10_emit_framebuffer(struct gl_context *ctx, int emit) s->bo, 0, bo_flags); if (context_chipset(ctx) >= 0x17) { - setup_lma_buffer(ctx); + setup_hierz_buffer(ctx); context_dirty(ctx, ZCLEAR); } } diff --git a/src/mesa/drivers/dri/nouveau/nv20_context.c b/src/mesa/drivers/dri/nouveau/nv20_context.c index c6111a2a9a0..89200fb70da 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_context.c +++ b/src/mesa/drivers/dri/nouveau/nv20_context.c @@ -26,6 +26,8 @@ #include "nouveau_driver.h" #include "nouveau_context.h" +#include "nouveau_fbo.h" +#include "nouveau_util.h" #include "nouveau_class.h" #include "nv04_driver.h" #include "nv10_driver.h" @@ -40,6 +42,57 @@ static const struct dri_extension nv20_extensions[] = { }; static void +nv20_clear(struct gl_context *ctx, GLbitfield buffers) +{ + struct nouveau_channel *chan = context_chan(ctx); + struct nouveau_grobj *kelvin = context_eng3d(ctx); + struct gl_framebuffer *fb = ctx->DrawBuffer; + uint32_t clear = 0; + + nouveau_validate_framebuffer(ctx); + + if (buffers & BUFFER_BITS_COLOR) { + struct nouveau_surface *s = &to_nouveau_renderbuffer( + fb->_ColorDrawBuffers[0])->surface; + + if (ctx->Color.ColorMask[0][RCOMP]) + clear |= NV20TCL_CLEAR_BUFFERS_COLOR_R; + if (ctx->Color.ColorMask[0][GCOMP]) + clear |= NV20TCL_CLEAR_BUFFERS_COLOR_G; + if (ctx->Color.ColorMask[0][BCOMP]) + clear |= NV20TCL_CLEAR_BUFFERS_COLOR_B; + if (ctx->Color.ColorMask[0][ACOMP]) + clear |= NV20TCL_CLEAR_BUFFERS_COLOR_A; + + BEGIN_RING(chan, kelvin, NV20TCL_CLEAR_VALUE, 1); + OUT_RING(chan, pack_rgba_f(s->format, ctx->Color.ClearColor)); + + buffers &= ~BUFFER_BITS_COLOR; + } + + if (buffers & (BUFFER_BIT_DEPTH | BUFFER_BIT_STENCIL)) { + struct nouveau_surface *s = &to_nouveau_renderbuffer( + fb->_DepthBuffer->Wrapped)->surface; + + if (buffers & BUFFER_BIT_DEPTH && ctx->Depth.Mask) + clear |= NV20TCL_CLEAR_BUFFERS_DEPTH; + if (buffers & BUFFER_BIT_STENCIL && ctx->Stencil.WriteMask[0]) + clear |= NV20TCL_CLEAR_BUFFERS_STENCIL; + + BEGIN_RING(chan, kelvin, NV20TCL_CLEAR_DEPTH_VALUE, 1); + OUT_RING(chan, pack_zs_f(s->format, ctx->Depth.Clear, + ctx->Stencil.Clear)); + + buffers &= ~(BUFFER_BIT_DEPTH | BUFFER_BIT_STENCIL); + } + + BEGIN_RING(chan, kelvin, NV20TCL_CLEAR_BUFFERS, 1); + OUT_RING(chan, clear); + + nouveau_clear(ctx, buffers); +} + +static void nv20_hwctx_init(struct gl_context *ctx) { struct nouveau_channel *chan = context_chan(ctx); @@ -134,10 +187,6 @@ nv20_hwctx_init(struct gl_context *ctx) OUT_RING (chan, 2); if (context_chipset(ctx) >= 0x25) { - BEGIN_RING(chan, kelvin, 0x022c, 2); - OUT_RING (chan, 0x280); - OUT_RING (chan, 0x07d28000); - BEGIN_RING(chan, kelvin, 0x1da4, 1); OUT_RING (chan, 0); } @@ -376,7 +425,8 @@ nv20_context_destroy(struct gl_context *ctx) struct nouveau_context *nctx = to_nouveau_context(ctx); nv04_surface_takedown(ctx); - nv20_render_destroy(ctx); + nv20_swtnl_destroy(ctx); + nv20_vbo_destroy(ctx); nouveau_grobj_free(&nctx->hw.eng3d); @@ -410,6 +460,7 @@ nv20_context_create(struct nouveau_screen *screen, const struct gl_config *visua ctx->Const.MaxTextureUnits = NV20_TEXTURE_UNITS; ctx->Const.MaxTextureMaxAnisotropy = 8; ctx->Const.MaxTextureLodBias = 15; + ctx->Driver.Clear = nv20_clear; /* 2D engine. */ ret = nv04_surface_init(ctx); @@ -428,7 +479,8 @@ nv20_context_create(struct nouveau_screen *screen, const struct gl_config *visua goto fail; nv20_hwctx_init(ctx); - nv20_render_init(ctx); + nv20_vbo_init(ctx); + nv20_swtnl_init(ctx); return ctx; diff --git a/src/mesa/drivers/dri/nouveau/nv20_driver.h b/src/mesa/drivers/dri/nouveau/nv20_driver.h index 7fbe6ccfa68..f2a6097b937 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_driver.h +++ b/src/mesa/drivers/dri/nouveau/nv20_driver.h @@ -39,10 +39,16 @@ extern const struct nouveau_driver nv20_driver; /* nv20_render.c */ void -nv20_render_init(struct gl_context *ctx); +nv20_vbo_init(struct gl_context *ctx); void -nv20_render_destroy(struct gl_context *ctx); +nv20_vbo_destroy(struct gl_context *ctx); + +void +nv20_swtnl_init(struct gl_context *ctx); + +void +nv20_swtnl_destroy(struct gl_context *ctx); /* nv20_state_fb.c */ void diff --git a/src/mesa/drivers/dri/nouveau/nv20_render.c b/src/mesa/drivers/dri/nouveau/nv20_render.c index 6b668544627..dbdb85da203 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_render.c +++ b/src/mesa/drivers/dri/nouveau/nv20_render.c @@ -32,7 +32,7 @@ #define NUM_VERTEX_ATTRS 16 static void -nv20_emit_material(struct gl_context *ctx, struct nouveau_array_state *a, +nv20_emit_material(struct gl_context *ctx, struct nouveau_array *a, const void *v); /* Vertex attribute format. */ @@ -135,13 +135,11 @@ nv20_render_set_format(struct gl_context *ctx) struct nouveau_render_state *render = to_render_state(ctx); struct nouveau_channel *chan = context_chan(ctx); struct nouveau_grobj *kelvin = context_eng3d(ctx); - int i, hw_format; - - for (i = 0; i < NUM_VERTEX_ATTRS; i++) { - int attr = render->map[i]; + int i, attr, hw_format; + FOR_EACH_ATTR(render, i, attr) { if (attr >= 0) { - struct nouveau_array_state *a = &render->attrs[attr]; + struct nouveau_array *a = &render->attrs[attr]; hw_format = a->stride << 8 | a->fields << 4 | @@ -162,33 +160,29 @@ nv20_render_bind_vertices(struct gl_context *ctx) { struct nouveau_render_state *render = to_render_state(ctx); struct nouveau_bo_context *bctx = context_bctx(ctx, VERTEX); - struct nouveau_channel *chan = context_chan(ctx); struct nouveau_grobj *kelvin = context_eng3d(ctx); - int i; + int i, attr; - for (i = 0; i < NUM_VERTEX_ATTRS; i++) { - int attr = render->map[i]; + FOR_EACH_BOUND_ATTR(render, i, attr) { + struct nouveau_array *a = &render->attrs[attr]; - if (attr >= 0) { - struct nouveau_array_state *a = &render->attrs[attr]; - - nouveau_bo_mark(bctx, kelvin, - NV20TCL_VTXBUF_ADDRESS(i), - a->bo, a->offset, 0, - 0, NV20TCL_VTXBUF_ADDRESS_DMA1, - NOUVEAU_BO_LOW | NOUVEAU_BO_OR | - NOUVEAU_BO_GART | NOUVEAU_BO_RD); - } + nouveau_bo_mark(bctx, kelvin, + NV20TCL_VTXBUF_ADDRESS(i), + a->bo, a->offset, 0, + 0, NV20TCL_VTXBUF_ADDRESS_DMA1, + NOUVEAU_BO_LOW | NOUVEAU_BO_OR | + NOUVEAU_BO_GART | NOUVEAU_BO_RD); } - - BEGIN_RING(chan, kelvin, NV20TCL_VTX_CACHE_INVALIDATE, 1); - OUT_RING(chan, 0); } /* Vertex array rendering defs. */ #define RENDER_LOCALS(ctx) \ struct nouveau_grobj *kelvin = context_eng3d(ctx) +#define BATCH_VALIDATE() \ + BEGIN_RING(chan, kelvin, NV20TCL_VTX_CACHE_INVALIDATE, 1); \ + OUT_RING(chan, 0) + #define BATCH_BEGIN(prim) \ BEGIN_RING(chan, kelvin, NV20TCL_VERTEX_BEGIN_END, 1); \ OUT_RING(chan, prim) @@ -223,3 +217,5 @@ nv20_render_bind_vertices(struct gl_context *ctx) #define TAG(x) nv20_##x #include "nouveau_render_t.c" +#include "nouveau_vbo_t.c" +#include "nouveau_swtnl_t.c" diff --git a/src/mesa/drivers/dri/nouveau/nv20_state_fb.c b/src/mesa/drivers/dri/nouveau/nv20_state_fb.c index 7822ca2a098..854392f9ff3 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_state_fb.c +++ b/src/mesa/drivers/dri/nouveau/nv20_state_fb.c @@ -51,6 +51,31 @@ get_rt_format(gl_format format) } } +static void +setup_hierz_buffer(struct gl_context *ctx) +{ + struct nouveau_channel *chan = context_chan(ctx); + struct nouveau_grobj *kelvin = context_eng3d(ctx); + struct nouveau_bo_context *bctx = context_bctx(ctx, HIERZ); + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct nouveau_framebuffer *nfb = to_nouveau_framebuffer(fb); + unsigned pitch = align(fb->Width, 128), + height = align(fb->Height, 2), + size = pitch * height; + + if (!nfb->hierz.bo || nfb->hierz.bo->size != size) { + nouveau_bo_ref(NULL, &nfb->hierz.bo); + nouveau_bo_new(context_dev(ctx), NOUVEAU_BO_VRAM, 0, size, + &nfb->hierz.bo); + } + + BEGIN_RING(chan, kelvin, NV25TCL_HIERZ_PITCH, 1); + OUT_RING(chan, pitch); + + nouveau_bo_markl(bctx, kelvin, NV25TCL_HIERZ_OFFSET, nfb->hierz.bo, + 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); +} + void nv20_emit_framebuffer(struct gl_context *ctx, int emit) { @@ -88,6 +113,9 @@ nv20_emit_framebuffer(struct gl_context *ctx, int emit) nouveau_bo_markl(bctx, kelvin, NV20TCL_ZETA_OFFSET, s->bo, 0, bo_flags); + + if (context_chipset(ctx) >= 0x25) + setup_hierz_buffer(ctx); } else { rt_format |= get_rt_format(MESA_FORMAT_Z24_S8); zeta_pitch = rt_pitch; diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c index 723e31401de..5abfc9dac51 100644 --- a/src/mesa/drivers/dri/r200/r200_context.c +++ b/src/mesa/drivers/dri/r200/r200_context.c @@ -71,6 +71,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define need_GL_NV_vertex_program #define need_GL_ARB_point_parameters #define need_GL_EXT_framebuffer_object +#define need_GL_OES_EGL_image + #include "main/remap_helper.h" #define DRIVER_DATE "20060602" @@ -137,6 +139,9 @@ static const struct dri_extension card_extensions[] = { "GL_ATI_texture_mirror_once", NULL }, { "GL_MESA_pack_invert", NULL }, { "GL_NV_blend_square", NULL }, +#if FEATURE_OES_EGL_image + { "GL_OES_EGL_image", GL_OES_EGL_image_functions }, +#endif { NULL, NULL } }; diff --git a/src/mesa/drivers/dri/r200/r200_swtcl.c b/src/mesa/drivers/dri/r200/r200_swtcl.c index 38864162ced..c56a49d5ad6 100644 --- a/src/mesa/drivers/dri/r200/r200_swtcl.c +++ b/src/mesa/drivers/dri/r200/r200_swtcl.c @@ -319,10 +319,9 @@ static INLINE GLuint reduced_hw_prim( struct gl_context *ctx, GLuint prim) { switch (prim) { case GL_POINTS: - return (ctx->Point.PointSprite || - ((ctx->_TriangleCaps & (DD_POINT_SIZE | DD_POINT_ATTEN)) && - !(ctx->_TriangleCaps & (DD_POINT_SMOOTH)))) ? - R200_VF_PRIM_POINT_SPRITES : R200_VF_PRIM_POINTS; + return (((R200_CONTEXT(ctx))->radeon.radeonScreen->drmSupportsPointSprites && + !(ctx->_TriangleCaps & DD_POINT_SMOOTH)) ? + R200_VF_PRIM_POINT_SPRITES : R200_VF_PRIM_POINTS); case GL_LINES: /* fallthrough */ case GL_LINE_LOOP: diff --git a/src/mesa/drivers/dri/r200/r200_tcl.c b/src/mesa/drivers/dri/r200/r200_tcl.c index 84db7c9d4eb..7aed116f0b3 100644 --- a/src/mesa/drivers/dri/r200/r200_tcl.c +++ b/src/mesa/drivers/dri/r200/r200_tcl.c @@ -68,9 +68,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define HAVE_ELTS 1 -#define HW_POINTS ((ctx->Point.PointSprite || \ - ((ctx->_TriangleCaps & (DD_POINT_SIZE | DD_POINT_ATTEN)) && \ - !(ctx->_TriangleCaps & (DD_POINT_SMOOTH)))) ? \ +#define HW_POINTS (((R200_CONTEXT(ctx))->radeon.radeonScreen->drmSupportsPointSprites && \ + !(ctx->_TriangleCaps & DD_POINT_SMOOTH)) ? \ R200_VF_PRIM_POINT_SPRITES : R200_VF_PRIM_POINTS) #define HW_LINES R200_VF_PRIM_LINES #define HW_LINE_LOOP 0 diff --git a/src/mesa/drivers/dri/r200/r200_tex.c b/src/mesa/drivers/dri/r200/r200_tex.c index 5207c2901a3..064324731b5 100644 --- a/src/mesa/drivers/dri/r200/r200_tex.c +++ b/src/mesa/drivers/dri/r200/r200_tex.c @@ -537,6 +537,10 @@ void r200InitTextureFuncs( radeonContextPtr radeon, struct dd_function_table *fu functions->MapTexture = radeonMapTexture; functions->UnmapTexture = radeonUnmapTexture; +#if FEATURE_OES_EGL_image + functions->EGLImageTargetTexture2D = radeon_image_target_texture_2d; +#endif + driInitTextureFormats(); } diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c b/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c index 5927498818b..fd94194dc34 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_dataflow.c @@ -465,15 +465,16 @@ static void get_readers_normal_read_callback( { struct get_readers_callback_data * d = userdata; unsigned int read_mask; + unsigned int shared_mask; if (src->RelAddr) d->ReaderData->Abort = 1; - unsigned int shared_mask = rc_src_reads_dst_mask(src->File, src->Index, - src->Swizzle, - d->ReaderData->Writer->U.I.DstReg.File, - d->ReaderData->Writer->U.I.DstReg.Index, - d->AliveWriteMask); + shared_mask = rc_src_reads_dst_mask(src->File, src->Index, + src->Swizzle, + d->ReaderData->Writer->U.I.DstReg.File, + d->ReaderData->Writer->U.I.DstReg.Index, + d->AliveWriteMask); if (shared_mask == RC_MASK_NONE) return; @@ -624,6 +625,9 @@ void rc_get_readers_normal( data->Abort = 1; return; case RC_OPCODE_IF: + /* XXX We can do better here, but this will have to + * do until this dataflow analysis is more mature. */ + data->Abort = 1; branch_depth++; break; case RC_OPCODE_ELSE: diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c index 5556927357b..15b9c5e7dc3 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_optimize.c @@ -32,9 +32,11 @@ #include "radeon_compiler_util.h" #include "radeon_swizzle.h" -struct src_clobbered_data { - unsigned int NumSrcRegs; - unsigned int SrcMasks[3]; +struct src_clobbered_reads_cb_data { + rc_register_file File; + unsigned int Index; + unsigned int Mask; + struct rc_reader_data * ReaderData; }; typedef void (*rc_presub_replace_fn)(struct rc_instruction *, @@ -99,6 +101,25 @@ static void copy_propagate_scan_read(void * data, struct rc_instruction * inst, } } +static void src_clobbered_reads_cb( + void * data, + struct rc_instruction * inst, + struct rc_src_register * src) +{ + struct src_clobbered_reads_cb_data * sc_data = data; + + if (src->File == sc_data->File + && src->Index == sc_data->Index + && (rc_swizzle_to_writemask(src->Swizzle) & sc_data->Mask)) { + + sc_data->ReaderData->AbortOnRead = 1; + } + + if (src->RelAddr && sc_data->File == RC_FILE_ADDRESS) { + sc_data->ReaderData->AbortOnRead = 1; + } +} + static void is_src_clobbered_scan_write( void * data, struct rc_instruction * inst, @@ -106,29 +127,19 @@ static void is_src_clobbered_scan_write( unsigned int index, unsigned int mask) { - unsigned int i; + struct src_clobbered_reads_cb_data sc_data; struct rc_reader_data * reader_data = data; - struct src_clobbered_data * d = reader_data->CbData; - for (i = 0; i < d->NumSrcRegs; i++) { - if (file == reader_data->Writer->U.I.SrcReg[i].File - && index == reader_data->Writer->U.I.SrcReg[i].Index - && (mask & d->SrcMasks[i])){ - - reader_data->AbortOnRead = 1; - return; - } - if (reader_data->Writer->U.I.SrcReg[i].RelAddr && - file == RC_FILE_ADDRESS) { - reader_data->AbortOnRead = 1; - return; - } - } + sc_data.File = file; + sc_data.Index = index; + sc_data.Mask = mask; + sc_data.ReaderData = reader_data; + rc_for_all_reads_src(reader_data->Writer, + src_clobbered_reads_cb, &sc_data); } static void copy_propagate(struct radeon_compiler * c, struct rc_instruction * inst_mov) { struct rc_reader_data reader_data; - struct src_clobbered_data sc_data; unsigned int i; if (inst_mov->U.I.DstReg.File != RC_FILE_TEMPORARY || @@ -137,12 +148,6 @@ static void copy_propagate(struct radeon_compiler * c, struct rc_instruction * i inst_mov->U.I.SaturateMode) return; - sc_data.NumSrcRegs = 1; - sc_data.SrcMasks[0] = rc_swizzle_to_writemask( - inst_mov->U.I.SrcReg[0].Swizzle); - - reader_data.CbData = &sc_data; - /* Get a list of all the readers of this MOV instruction. */ rc_get_readers_normal(c, inst_mov, &reader_data, copy_propagate_scan_read, is_src_clobbered_scan_write); @@ -203,8 +208,8 @@ static int is_src_uniform_constant(struct rc_src_register src, static void constant_folding_mad(struct rc_instruction * inst) { - rc_swizzle swz; - unsigned int negate; + rc_swizzle swz = 0; + unsigned int negate= 0; if (is_src_uniform_constant(inst->U.I.SrcReg[2], &swz, &negate)) { if (swz == RC_SWIZZLE_ZERO) { @@ -244,8 +249,8 @@ static void constant_folding_mad(struct rc_instruction * inst) static void constant_folding_mul(struct rc_instruction * inst) { - rc_swizzle swz; - unsigned int negate; + rc_swizzle swz = 0; + unsigned int negate = 0; if (is_src_uniform_constant(inst->U.I.SrcReg[0], &swz, &negate)) { if (swz == RC_SWIZZLE_ONE) { @@ -277,8 +282,8 @@ static void constant_folding_mul(struct rc_instruction * inst) static void constant_folding_add(struct rc_instruction * inst) { - rc_swizzle swz; - unsigned int negate; + rc_swizzle swz = 0; + unsigned int negate = 0; if (is_src_uniform_constant(inst->U.I.SrcReg[0], &swz, &negate)) { if (swz == RC_SWIZZLE_ZERO) { @@ -448,15 +453,8 @@ static int presub_helper( rc_presub_replace_fn presub_replace) { struct rc_reader_data reader_data; - struct src_clobbered_data sc_data; unsigned int i; - sc_data.NumSrcRegs = 2; - sc_data.SrcMasks[0] = rc_swizzle_to_writemask( - inst_add->U.I.SrcReg[0].Swizzle); - sc_data.SrcMasks[1] = rc_swizzle_to_writemask( - inst_add->U.I.SrcReg[1].Swizzle); - reader_data.CbData = &sc_data; rc_get_readers_normal(c, inst_add, &reader_data, presub_scan_read, is_src_clobbered_scan_write); diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c b/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c index d4a38607d9e..553e9dcf7c1 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_pair_schedule.c @@ -290,6 +290,7 @@ static int merge_presub_sources( { unsigned int srcp_src, srcp_regs, is_rgb, is_alpha; struct rc_pair_sub_instruction * dst_sub; + const struct rc_opcode_info * info; assert(dst_full->Alpha.Opcode == RC_OPCODE_NOP); @@ -309,8 +310,8 @@ static int merge_presub_sources( return 0; } - const struct rc_opcode_info * info = - rc_get_opcode_info(dst_full->RGB.Opcode); + info = rc_get_opcode_info(dst_full->RGB.Opcode); + if (dst_sub->Src[RC_PAIR_PRESUB_SRC].Used) return 0; diff --git a/src/mesa/drivers/dri/r300/r300_context.c b/src/mesa/drivers/dri/r300/r300_context.c index 9fbd36bfe63..c288834d243 100644 --- a/src/mesa/drivers/dri/r300/r300_context.c +++ b/src/mesa/drivers/dri/r300/r300_context.c @@ -86,6 +86,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define need_GL_EXT_stencil_two_side #define need_GL_ATI_separate_stencil #define need_GL_NV_vertex_program +#define need_GL_OES_EGL_image #include "main/remap_helper.h" @@ -134,6 +135,9 @@ static const struct dri_extension card_extensions[] = { {"GL_MESAX_texture_float", NULL}, {"GL_NV_blend_square", NULL}, {"GL_NV_vertex_program", GL_NV_vertex_program_functions}, +#if FEATURE_OES_EGL_image + {"GL_OES_EGL_image", GL_OES_EGL_image_functions }, +#endif {NULL, NULL} /* *INDENT-ON* */ }; diff --git a/src/mesa/drivers/dri/r300/r300_draw.c b/src/mesa/drivers/dri/r300/r300_draw.c index 81769e1ee5f..0c4d8537c61 100644 --- a/src/mesa/drivers/dri/r300/r300_draw.c +++ b/src/mesa/drivers/dri/r300/r300_draw.c @@ -717,6 +717,10 @@ static void r300DrawPrims(struct gl_context *ctx, GLuint max_index) { GLboolean retval; + struct r300_context *r300 = R300_CONTEXT(ctx); + radeonContextPtr radeon = &r300->radeon; + + radeon_prepare_render(radeon); /* This check should get folded into just the places that * min/max index are really needed. diff --git a/src/mesa/drivers/dri/r300/r300_render.c b/src/mesa/drivers/dri/r300/r300_render.c index 821318e7a59..44090ec2894 100644 --- a/src/mesa/drivers/dri/r300/r300_render.c +++ b/src/mesa/drivers/dri/r300/r300_render.c @@ -327,8 +327,6 @@ void r300RunRenderPrimitive(struct gl_context * ctx, int start, int end, int pri BATCH_LOCALS(&rmesa->radeon); int type, num_verts; - radeon_prepare_render(&rmesa->radeon); - type = r300PrimitiveType(rmesa, prim); num_verts = r300NumVerts(rmesa, end - start, prim); diff --git a/src/mesa/drivers/dri/r300/r300_tex.c b/src/mesa/drivers/dri/r300/r300_tex.c index a6bda0e4990..de662939992 100644 --- a/src/mesa/drivers/dri/r300/r300_tex.c +++ b/src/mesa/drivers/dri/r300/r300_tex.c @@ -382,5 +382,9 @@ void r300InitTextureFuncs(radeonContextPtr radeon, struct dd_function_table *fun functions->GenerateMipmap = radeonGenerateMipmap; +#if FEATURE_OES_EGL_image + functions->EGLImageTargetTexture2D = radeon_image_target_texture_2d; +#endif + driInitTextureFormats(); } diff --git a/src/mesa/drivers/dri/r600/r600_context.c b/src/mesa/drivers/dri/r600/r600_context.c index c882a9cce9e..b6443bf0c53 100644 --- a/src/mesa/drivers/dri/r600/r600_context.c +++ b/src/mesa/drivers/dri/r600/r600_context.c @@ -94,6 +94,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define need_GL_EXT_stencil_two_side #define need_GL_ATI_separate_stencil #define need_GL_NV_vertex_program +#define need_GL_OES_EGL_image #include "main/remap_helper.h" @@ -148,6 +149,9 @@ static const struct dri_extension card_extensions[] = { {"GL_NV_vertex_program", GL_NV_vertex_program_functions}, {"GL_ARB_pixel_buffer_object", NULL}, {"GL_ARB_draw_elements_base_vertex", GL_ARB_draw_elements_base_vertex_functions }, +#if FEATURE_OES_EGL_image + {"GL_OES_EGL_image", GL_OES_EGL_image_functions}, +#endif {NULL, NULL} /* *INDENT-ON* */ }; diff --git a/src/mesa/drivers/dri/r600/r600_tex.c b/src/mesa/drivers/dri/r600/r600_tex.c index d6a58f410cc..c3d68c41e57 100644 --- a/src/mesa/drivers/dri/r600/r600_tex.c +++ b/src/mesa/drivers/dri/r600/r600_tex.c @@ -475,5 +475,9 @@ void r600InitTextureFuncs(radeonContextPtr radeon, struct dd_function_table *fun functions->GenerateMipmap = radeonGenerateMipmap; +#if FEATURE_OES_EGL_image + functions->EGLImageTargetTexture2D = radeon_image_target_texture_2d; +#endif + driInitTextureFormats(); } diff --git a/src/mesa/drivers/dri/radeon/radeon_common.c b/src/mesa/drivers/dri/radeon/radeon_common.c index 43a6355ad8b..7361adffcf7 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common.c +++ b/src/mesa/drivers/dri/radeon/radeon_common.c @@ -171,6 +171,10 @@ void radeonSetCliprects(radeonContextPtr radeon) { __DRIdrawable *const drawable = radeon_get_drawable(radeon); __DRIdrawable *const readable = radeon_get_readable(radeon); + + if(drawable == NULL && readable == NULL) + return; + struct radeon_framebuffer *const draw_rfb = drawable->driverPrivate; struct radeon_framebuffer *const read_rfb = readable->driverPrivate; int x_off, y_off; diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c index 40544860b3b..a436ec112cc 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common_context.c +++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c @@ -39,6 +39,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "drirenderbuffer.h" #include "drivers/common/meta.h" #include "main/context.h" +#include "main/framebuffer.h" #include "main/renderbuffer.h" #include "main/state.h" #include "main/simple_list.h" @@ -251,9 +252,9 @@ GLboolean radeonInitContext(radeonContextPtr radeon, radeon->texture_rect_row_align = 512; radeon->texture_compressed_row_align = 512; } else { - radeon->texture_row_align = 256; - radeon->texture_rect_row_align = 256; - radeon->texture_compressed_row_align = 256; + radeon->texture_row_align = radeon->radeonScreen->group_bytes; + radeon->texture_rect_row_align = radeon->radeonScreen->group_bytes; + radeon->texture_compressed_row_align = radeon->radeonScreen->group_bytes; } } else if (IS_R200_CLASS(radeon->radeonScreen) || IS_R100_CLASS(radeon->radeonScreen)) { @@ -379,12 +380,12 @@ GLboolean radeonUnbindContext(__DRIcontext * driContextPriv) static void radeon_make_kernel_renderbuffer_current(radeonContextPtr radeon, - struct radeon_framebuffer *draw) + struct gl_framebuffer *draw) { /* if radeon->fake */ struct radeon_renderbuffer *rb; - if ((rb = (void *)draw->base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_FRONT_LEFT].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->frontOffset, @@ -396,7 +397,7 @@ radeon_make_kernel_renderbuffer_current(radeonContextPtr radeon, rb->cpp = radeon->radeonScreen->cpp; rb->pitch = radeon->radeonScreen->frontPitch * rb->cpp; } - if ((rb = (void *)draw->base.Attachment[BUFFER_BACK_LEFT].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_BACK_LEFT].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->backOffset, @@ -408,7 +409,7 @@ radeon_make_kernel_renderbuffer_current(radeonContextPtr radeon, rb->cpp = radeon->radeonScreen->cpp; rb->pitch = radeon->radeonScreen->backPitch * rb->cpp; } - if ((rb = (void *)draw->base.Attachment[BUFFER_DEPTH].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_DEPTH].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->depthOffset, @@ -420,7 +421,7 @@ radeon_make_kernel_renderbuffer_current(radeonContextPtr radeon, rb->cpp = radeon->radeonScreen->cpp; rb->pitch = radeon->radeonScreen->depthPitch * rb->cpp; } - if ((rb = (void *)draw->base.Attachment[BUFFER_STENCIL].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_STENCIL].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->depthOffset, @@ -436,7 +437,7 @@ radeon_make_kernel_renderbuffer_current(radeonContextPtr radeon, static void radeon_make_renderbuffer_current(radeonContextPtr radeon, - struct radeon_framebuffer *draw) + struct gl_framebuffer *draw) { int size = 4096*4096*4; /* if radeon->fake */ @@ -448,7 +449,7 @@ radeon_make_renderbuffer_current(radeonContextPtr radeon, } - if ((rb = (void *)draw->base.Attachment[BUFFER_FRONT_LEFT].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_FRONT_LEFT].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->frontOffset + @@ -461,7 +462,7 @@ radeon_make_renderbuffer_current(radeonContextPtr radeon, rb->cpp = radeon->radeonScreen->cpp; rb->pitch = radeon->radeonScreen->frontPitch * rb->cpp; } - if ((rb = (void *)draw->base.Attachment[BUFFER_BACK_LEFT].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_BACK_LEFT].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->backOffset + @@ -474,7 +475,7 @@ radeon_make_renderbuffer_current(radeonContextPtr radeon, rb->cpp = radeon->radeonScreen->cpp; rb->pitch = radeon->radeonScreen->backPitch * rb->cpp; } - if ((rb = (void *)draw->base.Attachment[BUFFER_DEPTH].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_DEPTH].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->depthOffset + @@ -487,7 +488,7 @@ radeon_make_renderbuffer_current(radeonContextPtr radeon, rb->cpp = radeon->radeonScreen->cpp; rb->pitch = radeon->radeonScreen->depthPitch * rb->cpp; } - if ((rb = (void *)draw->base.Attachment[BUFFER_STENCIL].Renderbuffer)) { + if ((rb = (void *)draw->Attachment[BUFFER_STENCIL].Renderbuffer)) { if (!rb->bo) { rb->bo = radeon_bo_open(radeon->radeonScreen->bom, radeon->radeonScreen->depthOffset + @@ -793,8 +794,8 @@ GLboolean radeonMakeCurrent(__DRIcontext * driContextPriv, __DRIdrawable * driReadPriv) { radeonContextPtr radeon; - struct radeon_framebuffer *drfb; - struct gl_framebuffer *readfb; + struct radeon_framebuffer *rdrfb; + struct gl_framebuffer *drfb, *readfb; if (!driContextPriv) { if (RADEON_DEBUG & RADEON_DRI) @@ -804,17 +805,25 @@ GLboolean radeonMakeCurrent(__DRIcontext * driContextPriv, } radeon = (radeonContextPtr) driContextPriv->driverPrivate; - drfb = driDrawPriv->driverPrivate; - readfb = driReadPriv->driverPrivate; + + if(driDrawPriv == NULL && driReadPriv == NULL) { + drfb = _mesa_create_framebuffer(&radeon->glCtx->Visual); + readfb = drfb; + } + else { + drfb = driDrawPriv->driverPrivate; + readfb = driReadPriv->driverPrivate; + } if (driContextPriv->driScreenPriv->dri2.enabled) { - radeon_update_renderbuffers(driContextPriv, driDrawPriv, GL_FALSE); + if(driDrawPriv) + radeon_update_renderbuffers(driContextPriv, driDrawPriv, GL_FALSE); if (driDrawPriv != driReadPriv) radeon_update_renderbuffers(driContextPriv, driReadPriv, GL_FALSE); _mesa_reference_renderbuffer(&radeon->state.color.rb, - &(radeon_get_renderbuffer(&drfb->base, BUFFER_BACK_LEFT)->base)); + &(radeon_get_renderbuffer(drfb, BUFFER_BACK_LEFT)->base)); _mesa_reference_renderbuffer(&radeon->state.depth.rb, - &(radeon_get_renderbuffer(&drfb->base, BUFFER_DEPTH)->base)); + &(radeon_get_renderbuffer(drfb, BUFFER_DEPTH)->base)); } else { radeon_make_renderbuffer_current(radeon, drfb); } @@ -822,35 +831,40 @@ GLboolean radeonMakeCurrent(__DRIcontext * driContextPriv, if (RADEON_DEBUG & RADEON_DRI) fprintf(stderr, "%s ctx %p dfb %p rfb %p\n", __FUNCTION__, radeon->glCtx, drfb, readfb); - driUpdateFramebufferSize(radeon->glCtx, driDrawPriv); + if(driDrawPriv) + driUpdateFramebufferSize(radeon->glCtx, driDrawPriv); if (driReadPriv != driDrawPriv) driUpdateFramebufferSize(radeon->glCtx, driReadPriv); - _mesa_make_current(radeon->glCtx, &drfb->base, readfb); + _mesa_make_current(radeon->glCtx, drfb, readfb); + if (driDrawPriv == NULL && driReadPriv == NULL) + _mesa_reference_framebuffer(&drfb, NULL); _mesa_update_state(radeon->glCtx); - if (radeon->glCtx->DrawBuffer == &drfb->base) { - if (driDrawPriv->swap_interval == (unsigned)-1) { - int i; - driDrawPriv->vblFlags = - (radeon->radeonScreen->irq != 0) - ? driGetDefaultVBlankFlags(&radeon-> - optionCache) - : VBLANK_FLAG_NO_IRQ; - - driDrawableInitVBlank(driDrawPriv); - drfb->vbl_waited = driDrawPriv->vblSeq; - - for (i = 0; i < 2; i++) { - if (drfb->color_rb[i]) - drfb->color_rb[i]->vbl_pending = driDrawPriv->vblSeq; + if (radeon->glCtx->DrawBuffer == drfb) { + if(driDrawPriv != NULL) { + rdrfb = (struct radeon_framebuffer *)drfb; + if (driDrawPriv->swap_interval == (unsigned)-1) { + int i; + driDrawPriv->vblFlags = + (radeon->radeonScreen->irq != 0) + ? driGetDefaultVBlankFlags(&radeon-> + optionCache) + : VBLANK_FLAG_NO_IRQ; + + driDrawableInitVBlank(driDrawPriv); + rdrfb->vbl_waited = driDrawPriv->vblSeq; + + for (i = 0; i < 2; i++) { + if (rdrfb->color_rb[i]) + rdrfb->color_rb[i]->vbl_pending = driDrawPriv->vblSeq; + } } - + radeon_window_moved(radeon); } - radeon_window_moved(radeon); - radeon_draw_buffer(radeon->glCtx, &drfb->base); + radeon_draw_buffer(radeon->glCtx, drfb); } diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c index cc9590213c4..e3de534b5f7 100644 --- a/src/mesa/drivers/dri/radeon/radeon_context.c +++ b/src/mesa/drivers/dri/radeon/radeon_context.c @@ -66,6 +66,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define need_GL_EXT_fog_coord #define need_GL_EXT_secondary_color #define need_GL_EXT_framebuffer_object +#define need_GL_OES_EGL_image #include "main/remap_helper.h" #define DRIVER_DATE "20061018" @@ -101,6 +102,9 @@ static const struct dri_extension card_extensions[] = { "GL_ATI_texture_mirror_once", NULL }, { "GL_MESA_ycbcr_texture", NULL }, { "GL_NV_blend_square", NULL }, +#if FEATURE_OES_EGL_image + { "GL_OES_EGL_image", GL_OES_EGL_image_functions }, +#endif { NULL, NULL } }; diff --git a/src/mesa/drivers/dri/radeon/radeon_fbo.c b/src/mesa/drivers/dri/radeon/radeon_fbo.c index 2a6fbaeaf09..a36a1dc94ac 100644 --- a/src/mesa/drivers/dri/radeon/radeon_fbo.c +++ b/src/mesa/drivers/dri/radeon/radeon_fbo.c @@ -199,6 +199,48 @@ radeon_alloc_renderbuffer_storage(struct gl_context * ctx, struct gl_renderbuffe } +#if FEATURE_OES_EGL_image +static void +radeon_image_target_renderbuffer_storage(struct gl_context *ctx, + struct gl_renderbuffer *rb, + void *image_handle) +{ + radeonContextPtr radeon = RADEON_CONTEXT(ctx); + struct radeon_renderbuffer *rrb; + __DRIscreen *screen; + __DRIimage *image; + + screen = radeon->radeonScreen->driScreen; + image = screen->dri2.image->lookupEGLImage(screen, image_handle, + screen->loaderPrivate); + if (image == NULL) + return; + + rrb = radeon_renderbuffer(rb); + + if (ctx->Driver.Flush) + ctx->Driver.Flush(ctx); /* +r6/r7 */ + + if (rrb->bo) + radeon_bo_unref(rrb->bo); + rrb->bo = image->bo; + radeon_bo_ref(rrb->bo); + fprintf(stderr, "image->bo: %p, name: %d, rbs: w %d -> p %d\n", image->bo, image->bo->handle, + image->width, image->pitch); + + rrb->cpp = image->cpp; + rrb->pitch = image->pitch * image->cpp; + + rb->Format = image->format; + rb->InternalFormat = image->internal_format; + rb->Width = image->width; + rb->Height = image->height; + rb->Format = image->format; + rb->DataType = image->data_type; + rb->_BaseFormat = _mesa_base_fbo_format(radeon->glCtx, + image->internal_format); +} +#endif /** * Called for each hardware renderbuffer when a _window_ is resized. @@ -622,6 +664,10 @@ void radeon_fbo_init(struct radeon_context *radeon) #if FEATURE_EXT_framebuffer_blit radeon->glCtx->Driver.BlitFramebuffer = _mesa_meta_BlitFramebuffer; #endif +#if FEATURE_OES_EGL_image + radeon->glCtx->Driver.EGLImageTargetRenderbufferStorage = + radeon_image_target_renderbuffer_storage; +#endif } diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index 43ebc810939..1ea52f96d7e 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -41,12 +41,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "main/mtypes.h" #include "main/framebuffer.h" #include "main/renderbuffer.h" +#include "main/fbobject.h" #define STANDALONE_MMIO #include "radeon_chipset.h" #include "radeon_macros.h" #include "radeon_screen.h" #include "radeon_common.h" +#include "radeon_common_context.h" #if defined(RADEON_R100) #include "radeon_context.h" #include "radeon_tex.h" @@ -398,6 +400,188 @@ static const struct __DRI2flushExtensionRec radeonFlushExtension = { dri2InvalidateDrawable, }; +static __DRIimage * +radeon_create_image_from_name(__DRIcontext *context, + int width, int height, int format, + int name, int pitch, void *loaderPrivate) +{ + __DRIimage *image; + radeonContextPtr radeon = context->driverPrivate; + + if (name == 0) + return NULL; + + image = CALLOC(sizeof *image); + if (image == NULL) + return NULL; + + switch (format) { + case __DRI_IMAGE_FORMAT_RGB565: + image->format = MESA_FORMAT_RGB565; + image->internal_format = GL_RGB; + image->data_type = GL_UNSIGNED_BYTE; + break; + case __DRI_IMAGE_FORMAT_XRGB8888: + image->format = MESA_FORMAT_XRGB8888; + image->internal_format = GL_RGB; + image->data_type = GL_UNSIGNED_BYTE; + break; + case __DRI_IMAGE_FORMAT_ARGB8888: + image->format = MESA_FORMAT_ARGB8888; + image->internal_format = GL_RGBA; + image->data_type = GL_UNSIGNED_BYTE; + break; + default: + free(image); + return NULL; + } + + image->data = loaderPrivate; + image->cpp = _mesa_get_format_bytes(image->format); + image->width = width; + image->pitch = pitch; + image->height = height; + + image->bo = radeon_bo_open(radeon->radeonScreen->bom, + (uint32_t)name, + image->pitch * image->height * image->cpp, + 0, + RADEON_GEM_DOMAIN_VRAM, + 0); + + if (image->bo == NULL) { + FREE(image); + return NULL; + } + + return image; +} + +static __DRIimage * +radeon_create_image_from_renderbuffer(__DRIcontext *context, + int renderbuffer, void *loaderPrivate) +{ + __DRIimage *image; + radeonContextPtr radeon = context->driverPrivate; + struct gl_renderbuffer *rb; + struct radeon_renderbuffer *rrb; + + rb = _mesa_lookup_renderbuffer(radeon->glCtx, renderbuffer); + if (!rb) { + _mesa_error(radeon->glCtx, + GL_INVALID_OPERATION, "glRenderbufferExternalMESA"); + return NULL; + } + + rrb = radeon_renderbuffer(rb); + image = CALLOC(sizeof *image); + if (image == NULL) + return NULL; + + image->internal_format = rb->InternalFormat; + image->format = rb->Format; + image->cpp = rrb->cpp; + image->data_type = rb->DataType; + image->data = loaderPrivate; + radeon_bo_ref(rrb->bo); + image->bo = rrb->bo; + + image->width = rb->Width; + image->height = rb->Height; + image->pitch = rrb->pitch / image->cpp; + + return image; +} + +static void +radeon_destroy_image(__DRIimage *image) +{ + radeon_bo_unref(image->bo); + FREE(image); +} + +static __DRIimage * +radeon_create_image(__DRIscreen *screen, + int width, int height, int format, + unsigned int use, + void *loaderPrivate) +{ + __DRIimage *image; + radeonScreenPtr radeonScreen = screen->private; + + image = CALLOC(sizeof *image); + if (image == NULL) + return NULL; + + switch (format) { + case __DRI_IMAGE_FORMAT_RGB565: + image->format = MESA_FORMAT_RGB565; + image->internal_format = GL_RGB; + image->data_type = GL_UNSIGNED_BYTE; + break; + case __DRI_IMAGE_FORMAT_XRGB8888: + image->format = MESA_FORMAT_XRGB8888; + image->internal_format = GL_RGB; + image->data_type = GL_UNSIGNED_BYTE; + break; + case __DRI_IMAGE_FORMAT_ARGB8888: + image->format = MESA_FORMAT_ARGB8888; + image->internal_format = GL_RGBA; + image->data_type = GL_UNSIGNED_BYTE; + break; + default: + free(image); + return NULL; + } + + image->data = loaderPrivate; + image->cpp = _mesa_get_format_bytes(image->format); + image->width = width; + image->height = height; + image->pitch = ((image->cpp * image->width + 255) & ~255) / image->cpp; + + image->bo = radeon_bo_open(radeonScreen->bom, + 0, + image->pitch * image->height * image->cpp, + 0, + RADEON_GEM_DOMAIN_VRAM, + 0); + + if (image->bo == NULL) { + FREE(image); + return NULL; + } + + return image; +} + +static GLboolean +radeon_query_image(__DRIimage *image, int attrib, int *value) +{ + switch (attrib) { + case __DRI_IMAGE_ATTRIB_STRIDE: + *value = image->pitch * image->cpp; + return GL_TRUE; + case __DRI_IMAGE_ATTRIB_HANDLE: + *value = image->bo->handle; + return GL_TRUE; + case __DRI_IMAGE_ATTRIB_NAME: + radeon_gem_get_kernel_name(image->bo, (uint32_t *) value); + return GL_TRUE; + default: + return GL_FALSE; + } +} + +static struct __DRIimageExtensionRec radeonImageExtension = { + { __DRI_IMAGE, __DRI_IMAGE_VERSION }, + radeon_create_image_from_name, + radeon_create_image_from_renderbuffer, + radeon_destroy_image, + radeon_create_image, + radeon_query_image +}; + static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id) { screen->device_id = device_id; @@ -1138,6 +1322,8 @@ radeonCreateScreen( __DRIscreen *sPriv ) else screen->chip_flags |= RADEON_CLASS_R600; + /* set group bytes for r6xx+ */ + screen->group_bytes = 256; screen->cpp = dri_priv->bpp / 8; screen->AGPMode = dri_priv->AGPMode; @@ -1382,7 +1568,8 @@ radeonCreateScreen2(__DRIscreen *sPriv) else screen->chip_flags |= RADEON_CLASS_R600; - /* r6xx+ tiling */ + /* r6xx+ tiling, default to 256 group bytes */ + screen->group_bytes = 256; if (IS_R600_CLASS(screen) && (sPriv->drm_version.minor >= 6)) { ret = radeonGetParam(sPriv, RADEON_INFO_TILE_CONFIG, &temp); if (ret) @@ -1507,6 +1694,7 @@ radeonCreateScreen2(__DRIscreen *sPriv) #endif screen->extensions[i++] = &radeonFlushExtension.base; + screen->extensions[i++] = &radeonImageExtension.base; screen->extensions[i++] = NULL; sPriv->extensions = screen->extensions; diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.h b/src/mesa/drivers/dri/radeon/radeon_screen.h index 2b33201a538..417ebf3b067 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.h +++ b/src/mesa/drivers/dri/radeon/radeon_screen.h @@ -121,6 +121,17 @@ typedef struct radeon_screen { GLint r7xx_bank_op; } radeonScreenRec, *radeonScreenPtr; +struct __DRIimageRec { + struct radeon_bo *bo; + GLenum internal_format; + GLuint format; + GLenum data_type; + int width, height; /* in pixels */ + int pitch; /* in pixels */ + int cpp; + void *data; +}; + #define IS_R100_CLASS(screen) \ ((screen->chip_flags & RADEON_CLASS_MASK) == RADEON_CLASS_R100) #define IS_R200_CLASS(screen) \ diff --git a/src/mesa/drivers/dri/radeon/radeon_tex.c b/src/mesa/drivers/dri/radeon/radeon_tex.c index d5285e24cd5..83b1d1b1d74 100644 --- a/src/mesa/drivers/dri/radeon/radeon_tex.c +++ b/src/mesa/drivers/dri/radeon/radeon_tex.c @@ -465,5 +465,9 @@ void radeonInitTextureFuncs( radeonContextPtr radeon, struct dd_function_table * functions->MapTexture = radeonMapTexture; functions->UnmapTexture = radeonUnmapTexture; +#if FEATURE_OES_EGL_image + functions->EGLImageTargetTexture2D = radeon_image_target_texture_2d; +#endif + driInitTextureFormats(); } diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c b/src/mesa/drivers/dri/radeon/radeon_texture.c index 18ccb512d7a..8b1e34fe766 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texture.c +++ b/src/mesa/drivers/dri/radeon/radeon_texture.c @@ -1007,3 +1007,67 @@ unsigned radeonIsFormatRenderable(gl_format mesa_format) return 0; } } + +#if FEATURE_OES_EGL_image +void radeon_image_target_texture_2d(struct gl_context *ctx, GLenum target, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage, + GLeglImageOES image_handle) +{ + radeonContextPtr radeon = RADEON_CONTEXT(ctx); + radeonTexObj *t = radeon_tex_obj(texObj); + radeon_texture_image *radeonImage = get_radeon_texture_image(texImage); + __DRIscreen *screen; + __DRIimage *image; + + screen = radeon->dri.screen; + image = screen->dri2.image->lookupEGLImage(screen, image_handle, + screen->loaderPrivate); + if (image == NULL) + return; + + radeonFreeTexImageData(ctx, texImage); + + texImage->Width = image->width; + texImage->Height = image->height; + texImage->Depth = 1; + texImage->_BaseFormat = GL_RGBA; + texImage->TexFormat = image->format; + texImage->RowStride = image->pitch; + texImage->InternalFormat = image->internal_format; + + if(t->mt) + { + radeon_miptree_unreference(&t->mt); + t->mt = NULL; + } + + /* NOTE: The following is *very* ugly and will probably break. But + I don't know how to deal with it, without creating a whole new + function like radeon_miptree_from_bo() so I'm going with the + easy but error-prone way. */ + + radeon_try_alloc_miptree(radeon, t); + + radeonImage->mtface = _mesa_tex_target_to_face(target); + radeonImage->mtlevel = 0; + radeon_miptree_reference(t->mt, &radeonImage->mt); + + if (t->mt == NULL) + { + radeon_print(RADEON_TEXTURE, RADEON_VERBOSE, + "%s Failed to allocate miptree.\n", __func__); + return; + } + + /* Particularly ugly: this is guaranteed to break, if image->bo is + not of the required size for a miptree. */ + radeon_bo_unref(t->mt->bo); + radeon_bo_ref(image->bo); + t->mt->bo = image->bo; + + if (!radeon_miptree_matches_image(t->mt, &radeonImage->base, + radeonImage->mtface, 0)) + fprintf(stderr, "miptree doesn't match image\n"); +} +#endif diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.h b/src/mesa/drivers/dri/radeon/radeon_texture.h index 9138a7d5548..a1908c6bc72 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texture.h +++ b/src/mesa/drivers/dri/radeon/radeon_texture.h @@ -137,4 +137,11 @@ void radeonCopyTexSubImage2D(struct gl_context *ctx, GLenum target, GLint level, unsigned radeonIsFormatRenderable(gl_format mesa_format); +#if FEATURE_OES_EGL_image +void radeon_image_target_texture_2d(struct gl_context *ctx, GLenum target, + struct gl_texture_object *texObj, + struct gl_texture_image *texImage, + GLeglImageOES image_handle); +#endif + #endif diff --git a/src/mesa/drivers/dri/savage/savage_xmesa.c b/src/mesa/drivers/dri/savage/savage_xmesa.c index b3aaa0e504e..92fb4f44884 100644 --- a/src/mesa/drivers/dri/savage/savage_xmesa.c +++ b/src/mesa/drivers/dri/savage/savage_xmesa.c @@ -50,7 +50,6 @@ #include "savagespan.h" #include "savagetris.h" #include "savageioctl.h" -#include "savage_bci.h" #include "savage_dri.h" diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index 37dc35cbedd..10ba6b79314 100644 --- a/src/mesa/drivers/osmesa/osmesa.c +++ b/src/mesa/drivers/osmesa/osmesa.c @@ -1327,10 +1327,12 @@ OSMesaMakeCurrent( OSMesaContext osmesa, void *buffer, GLenum type, * that converts rendering from CHAN_BITS to the user-requested channel * size. */ - osmesa->rb = new_osmesa_renderbuffer(&osmesa->mesa, osmesa->format, type); - _mesa_remove_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT); - _mesa_add_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT, osmesa->rb); - assert(osmesa->rb->RefCount == 2); + if (!osmesa->rb) { + osmesa->rb = new_osmesa_renderbuffer(&osmesa->mesa, osmesa->format, type); + _mesa_remove_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT); + _mesa_add_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT, osmesa->rb); + assert(osmesa->rb->RefCount == 2); + } /* Set renderbuffer fields. Set width/height = 0 to force * osmesa_renderbuffer_storage() being called by _mesa_resize_framebuffer() diff --git a/src/mesa/drivers/x11/glxapi.c b/src/mesa/drivers/x11/glxapi.c index 8c3f2730f3d..255a37bf295 100644 --- a/src/mesa/drivers/x11/glxapi.c +++ b/src/mesa/drivers/x11/glxapi.c @@ -58,7 +58,6 @@ struct display_dispatch { #ifdef GLX_INDIRECT_RENDERING #include "glapi/glapitable.h" -#include "glapi/glapidispatch.h" #define KEYWORD1 PUBLIC @@ -69,10 +68,10 @@ struct display_dispatch { #endif #define DISPATCH(FUNC, ARGS, MESSAGE) \ - CALL_ ## FUNC(GET_DISPATCH(), ARGS); + GET_DISPATCH()->FUNC ARGS #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \ - return CALL_ ## FUNC(GET_DISPATCH(), ARGS); + return GET_DISPATCH()->FUNC ARGS /* skip normal ones */ #define _GLAPI_SKIP_NORMAL_ENTRY_POINTS diff --git a/src/mesa/main/accum.h b/src/mesa/main/accum.h index def692a73a5..93442444979 100644 --- a/src/mesa/main/accum.h +++ b/src/mesa/main/accum.h @@ -37,8 +37,11 @@ #ifndef ACCUM_H #define ACCUM_H +#include "main/glheader.h" +#include "main/mfeatures.h" -#include "main/mtypes.h" +struct _glapi_table; +struct gl_context; #if FEATURE_accum diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c index 172c33b47bf..c22e18c9fbc 100644 --- a/src/mesa/main/api_arrayelt.c +++ b/src/mesa/main/api_arrayelt.c @@ -22,6 +22,14 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +/** + * This file implements the glArrayElement() function. + * It involves looking at the format/type of all the enabled vertex arrays + * and emitting a list of pointers to functions which set the per-vertex + * state for the element/index. + */ + + /* Author: * Keith Whitwell <[email protected]> */ @@ -70,11 +78,13 @@ typedef struct { */ #define TYPE_IDX(t) ( (t) == GL_DOUBLE ? 7 : (t) & 7 ) +#define NUM_TYPES 8 + #if FEATURE_arrayelt -static const int ColorFuncs[2][8] = { +static const int ColorFuncs[2][NUM_TYPES] = { { _gloffset_Color3bv, _gloffset_Color3ubv, @@ -97,7 +107,7 @@ static const int ColorFuncs[2][8] = { }, }; -static const int VertexFuncs[3][8] = { +static const int VertexFuncs[3][NUM_TYPES] = { { -1, -1, @@ -130,7 +140,7 @@ static const int VertexFuncs[3][8] = { }, }; -static const int IndexFuncs[8] = { +static const int IndexFuncs[NUM_TYPES] = { -1, _gloffset_Indexubv, _gloffset_Indexsv, @@ -141,7 +151,7 @@ static const int IndexFuncs[8] = { _gloffset_Indexdv, }; -static const int NormalFuncs[8] = { +static const int NormalFuncs[NUM_TYPES] = { _gloffset_Normal3bv, -1, _gloffset_Normal3sv, @@ -153,8 +163,8 @@ static const int NormalFuncs[8] = { }; /* Note: _gloffset_* for these may not be a compile-time constant. */ -static int SecondaryColorFuncs[8]; -static int FogCoordFuncs[8]; +static int SecondaryColorFuncs[NUM_TYPES]; +static int FogCoordFuncs[NUM_TYPES]; /** @@ -163,39 +173,46 @@ static int FogCoordFuncs[8]; /* GL_BYTE attributes */ -static void GLAPIENTRY VertexAttrib1NbvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib1NbvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1bvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib1bvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NbvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib2NbvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2bvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib2bvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NbvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib3NbvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3bvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib3bvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NbvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib4NbvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), @@ -203,94 +220,114 @@ static void GLAPIENTRY VertexAttrib4NbvNV(GLuint index, const GLbyte *v) BYTE_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4bvNV(GLuint index, const GLbyte *v) +static void +VertexAttrib4bvNV(GLuint index, const GLbyte *v) { CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); } /* GL_UNSIGNED_BYTE attributes */ -static void GLAPIENTRY VertexAttrib1NubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib1NubvNV(GLuint index, const GLubyte *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1ubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib1ubvNV(GLuint index, const GLubyte *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib2NubvNV(GLuint index, const GLubyte *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), - UBYTE_TO_FLOAT(v[1]))); + UBYTE_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2ubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib2ubvNV(GLuint index, const GLubyte *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib3NubvNV(GLuint index, const GLubyte *v) { CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), UBYTE_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3ubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib3ubvNV(GLuint index, const GLubyte *v) { - CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1], (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib4NubvNV(GLuint index, const GLubyte *v) { CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), - UBYTE_TO_FLOAT(v[1]), - UBYTE_TO_FLOAT(v[2]), - UBYTE_TO_FLOAT(v[3]))); + UBYTE_TO_FLOAT(v[1]), + UBYTE_TO_FLOAT(v[2]), + UBYTE_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4ubvNV(GLuint index, const GLubyte *v) +static void +VertexAttrib4ubvNV(GLuint index, const GLubyte *v) { - CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1], (GLfloat)v[2], + (GLfloat)v[3])); } /* GL_SHORT attributes */ -static void GLAPIENTRY VertexAttrib1NsvNV(GLuint index, const GLshort *v) +static void +VertexAttrib1NsvNV(GLuint index, const GLshort *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1svNV(GLuint index, const GLshort *v) +static void +VertexAttrib1svNV(GLuint index, const GLshort *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NsvNV(GLuint index, const GLshort *v) +static void +VertexAttrib2NsvNV(GLuint index, const GLshort *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), - SHORT_TO_FLOAT(v[1]))); + SHORT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2svNV(GLuint index, const GLshort *v) +static void +VertexAttrib2svNV(GLuint index, const GLshort *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NsvNV(GLuint index, const GLshort *v) +static void +VertexAttrib3NsvNV(GLuint index, const GLshort *v) { CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3svNV(GLuint index, const GLshort *v) +static void +VertexAttrib3svNV(GLuint index, const GLshort *v) { - CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NsvNV(GLuint index, const GLshort *v) +static void +VertexAttrib4NsvNV(GLuint index, const GLshort *v) { CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), @@ -298,47 +335,58 @@ static void GLAPIENTRY VertexAttrib4NsvNV(GLuint index, const GLshort *v) SHORT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4svNV(GLuint index, const GLshort *v) +static void +VertexAttrib4svNV(GLuint index, const GLshort *v) { - CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_UNSIGNED_SHORT attributes */ -static void GLAPIENTRY VertexAttrib1NusvNV(GLuint index, const GLushort *v) +static void +VertexAttrib1NusvNV(GLuint index, const GLushort *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1usvNV(GLuint index, const GLushort *v) +static void +VertexAttrib1usvNV(GLuint index, const GLushort *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NusvNV(GLuint index, const GLushort *v) +static void +VertexAttrib2NusvNV(GLuint index, const GLushort *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2usvNV(GLuint index, const GLushort *v) +static void +VertexAttrib2usvNV(GLuint index, const GLushort *v) { - CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); + CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NusvNV(GLuint index, const GLushort *v) +static void +VertexAttrib3NusvNV(GLuint index, const GLushort *v) { CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), USHORT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3usvNV(GLuint index, const GLushort *v) +static void +VertexAttrib3usvNV(GLuint index, const GLushort *v) { - CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NusvNV(GLuint index, const GLushort *v) +static void +VertexAttrib4NusvNV(GLuint index, const GLushort *v) { CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), @@ -346,95 +394,116 @@ static void GLAPIENTRY VertexAttrib4NusvNV(GLuint index, const GLushort *v) USHORT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4usvNV(GLuint index, const GLushort *v) +static void +VertexAttrib4usvNV(GLuint index, const GLushort *v) { - CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_INT attributes */ -static void GLAPIENTRY VertexAttrib1NivNV(GLuint index, const GLint *v) +static void +VertexAttrib1NivNV(GLuint index, const GLint *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1ivNV(GLuint index, const GLint *v) +static void +VertexAttrib1ivNV(GLuint index, const GLint *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NivNV(GLuint index, const GLint *v) +static void +VertexAttrib2NivNV(GLuint index, const GLint *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2ivNV(GLuint index, const GLint *v) +static void +VertexAttrib2ivNV(GLuint index, const GLint *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NivNV(GLuint index, const GLint *v) +static void +VertexAttrib3NivNV(GLuint index, const GLint *v) { CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3ivNV(GLuint index, const GLint *v) +static void +VertexAttrib3ivNV(GLuint index, const GLint *v) { - CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NivNV(GLuint index, const GLint *v) +static void +VertexAttrib4NivNV(GLuint index, const GLint *v) { CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), - INT_TO_FLOAT(v[1]), - INT_TO_FLOAT(v[2]), - INT_TO_FLOAT(v[3]))); + INT_TO_FLOAT(v[1]), + INT_TO_FLOAT(v[2]), + INT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4ivNV(GLuint index, const GLint *v) +static void +VertexAttrib4ivNV(GLuint index, const GLint *v) { - CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_UNSIGNED_INT attributes */ -static void GLAPIENTRY VertexAttrib1NuivNV(GLuint index, const GLuint *v) +static void +VertexAttrib1NuivNV(GLuint index, const GLuint *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1uivNV(GLuint index, const GLuint *v) +static void +VertexAttrib1uivNV(GLuint index, const GLuint *v) { CALL_VertexAttrib1fNV(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NuivNV(GLuint index, const GLuint *v) +static void +VertexAttrib2NuivNV(GLuint index, const GLuint *v) { CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), - UINT_TO_FLOAT(v[1]))); + UINT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2uivNV(GLuint index, const GLuint *v) +static void +VertexAttrib2uivNV(GLuint index, const GLuint *v) { - CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); + CALL_VertexAttrib2fNV(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NuivNV(GLuint index, const GLuint *v) +static void +VertexAttrib3NuivNV(GLuint index, const GLuint *v) { CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), UINT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3uivNV(GLuint index, const GLuint *v) +static void +VertexAttrib3uivNV(GLuint index, const GLuint *v) { - CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NuivNV(GLuint index, const GLuint *v) +static void +VertexAttrib4NuivNV(GLuint index, const GLuint *v) { CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), @@ -442,51 +511,61 @@ static void GLAPIENTRY VertexAttrib4NuivNV(GLuint index, const GLuint *v) UINT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4uivNV(GLuint index, const GLuint *v) +static void +VertexAttrib4uivNV(GLuint index, const GLuint *v) { - CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fNV(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_FLOAT attributes */ -static void GLAPIENTRY VertexAttrib1fvNV(GLuint index, const GLfloat *v) +static void +VertexAttrib1fvNV(GLuint index, const GLfloat *v) { CALL_VertexAttrib1fvNV(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib2fvNV(GLuint index, const GLfloat *v) +static void +VertexAttrib2fvNV(GLuint index, const GLfloat *v) { CALL_VertexAttrib2fvNV(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib3fvNV(GLuint index, const GLfloat *v) +static void +VertexAttrib3fvNV(GLuint index, const GLfloat *v) { CALL_VertexAttrib3fvNV(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib4fvNV(GLuint index, const GLfloat *v) +static void +VertexAttrib4fvNV(GLuint index, const GLfloat *v) { CALL_VertexAttrib4fvNV(GET_DISPATCH(), (index, v)); } /* GL_DOUBLE attributes */ -static void GLAPIENTRY VertexAttrib1dvNV(GLuint index, const GLdouble *v) +static void +VertexAttrib1dvNV(GLuint index, const GLdouble *v) { CALL_VertexAttrib1dvNV(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib2dvNV(GLuint index, const GLdouble *v) +static void +VertexAttrib2dvNV(GLuint index, const GLdouble *v) { CALL_VertexAttrib2dvNV(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib3dvNV(GLuint index, const GLdouble *v) +static void +VertexAttrib3dvNV(GLuint index, const GLdouble *v) { CALL_VertexAttrib3dvNV(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib4dvNV(GLuint index, const GLdouble *v) +static void +VertexAttrib4dvNV(GLuint index, const GLdouble *v) { CALL_VertexAttrib4dvNV(GET_DISPATCH(), (index, v)); } @@ -495,7 +574,7 @@ static void GLAPIENTRY VertexAttrib4dvNV(GLuint index, const GLdouble *v) /* * Array [size][type] of VertexAttrib functions */ -static attrib_func AttribFuncsNV[2][4][8] = { +static attrib_func AttribFuncsNV[2][4][NUM_TYPES] = { { /* non-normalized */ { @@ -599,39 +678,46 @@ static attrib_func AttribFuncsNV[2][4][8] = { /* GL_BYTE attributes */ -static void GLAPIENTRY VertexAttrib1NbvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib1NbvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1bvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib1bvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NbvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib2NbvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2bvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib2bvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NbvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib3NbvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3bvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib3bvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NbvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib4NbvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), @@ -639,142 +725,188 @@ static void GLAPIENTRY VertexAttrib4NbvARB(GLuint index, const GLbyte *v) BYTE_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4bvARB(GLuint index, const GLbyte *v) +static void +VertexAttrib4bvARB(GLuint index, const GLbyte *v) { CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); } /* GL_UNSIGNED_BYTE attributes */ -static void GLAPIENTRY VertexAttrib1NubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib1NubvARB(GLuint index, const GLubyte *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1ubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib1ubvARB(GLuint index, const GLubyte *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib2NubvARB(GLuint index, const GLubyte *v) { - CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), - UBYTE_TO_FLOAT(v[1]))); + CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, + UBYTE_TO_FLOAT(v[0]), + UBYTE_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2ubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib2ubvARB(GLuint index, const GLubyte *v) { - CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); + CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, + (GLfloat)v[0], (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib3NubvARB(GLuint index, const GLubyte *v) { - CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), - UBYTE_TO_FLOAT(v[1]), - UBYTE_TO_FLOAT(v[2]))); + CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, + UBYTE_TO_FLOAT(v[0]), + UBYTE_TO_FLOAT(v[1]), + UBYTE_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3ubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib3ubvARB(GLuint index, const GLubyte *v) { - CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, + (GLfloat)v[0], + (GLfloat)v[1], + (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib4NubvARB(GLuint index, const GLubyte *v) { - CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, UBYTE_TO_FLOAT(v[0]), - UBYTE_TO_FLOAT(v[1]), - UBYTE_TO_FLOAT(v[2]), - UBYTE_TO_FLOAT(v[3]))); + CALL_VertexAttrib4fARB(GET_DISPATCH(), + (index, + UBYTE_TO_FLOAT(v[0]), + UBYTE_TO_FLOAT(v[1]), + UBYTE_TO_FLOAT(v[2]), + UBYTE_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4ubvARB(GLuint index, const GLubyte *v) +static void +VertexAttrib4ubvARB(GLuint index, const GLubyte *v) { - CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fARB(GET_DISPATCH(), + (index, + (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_SHORT attributes */ -static void GLAPIENTRY VertexAttrib1NsvARB(GLuint index, const GLshort *v) +static void +VertexAttrib1NsvARB(GLuint index, const GLshort *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1svARB(GLuint index, const GLshort *v) +static void +VertexAttrib1svARB(GLuint index, const GLshort *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NsvARB(GLuint index, const GLshort *v) +static void +VertexAttrib2NsvARB(GLuint index, const GLshort *v) { - CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), - SHORT_TO_FLOAT(v[1]))); + CALL_VertexAttrib2fARB(GET_DISPATCH(), + (index, SHORT_TO_FLOAT(v[0]), + SHORT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2svARB(GLuint index, const GLshort *v) +static void +VertexAttrib2svARB(GLuint index, const GLshort *v) { - CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); + CALL_VertexAttrib2fARB(GET_DISPATCH(), + (index, (GLfloat)v[0], (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NsvARB(GLuint index, const GLshort *v) +static void +VertexAttrib3NsvARB(GLuint index, const GLshort *v) { - CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), - SHORT_TO_FLOAT(v[1]), - SHORT_TO_FLOAT(v[2]))); + CALL_VertexAttrib3fARB(GET_DISPATCH(), + (index, + SHORT_TO_FLOAT(v[0]), + SHORT_TO_FLOAT(v[1]), + SHORT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3svARB(GLuint index, const GLshort *v) +static void +VertexAttrib3svARB(GLuint index, const GLshort *v) { - CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fARB(GET_DISPATCH(), + (index, + (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NsvARB(GLuint index, const GLshort *v) +static void +VertexAttrib4NsvARB(GLuint index, const GLshort *v) { - CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, SHORT_TO_FLOAT(v[0]), - SHORT_TO_FLOAT(v[1]), - SHORT_TO_FLOAT(v[2]), - SHORT_TO_FLOAT(v[3]))); + CALL_VertexAttrib4fARB(GET_DISPATCH(), + (index, + SHORT_TO_FLOAT(v[0]), + SHORT_TO_FLOAT(v[1]), + SHORT_TO_FLOAT(v[2]), + SHORT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4svARB(GLuint index, const GLshort *v) +static void +VertexAttrib4svARB(GLuint index, const GLshort *v) { - CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_UNSIGNED_SHORT attributes */ -static void GLAPIENTRY VertexAttrib1NusvARB(GLuint index, const GLushort *v) +static void +VertexAttrib1NusvARB(GLuint index, const GLushort *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1usvARB(GLuint index, const GLushort *v) +static void +VertexAttrib1usvARB(GLuint index, const GLushort *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NusvARB(GLuint index, const GLushort *v) +static void +VertexAttrib2NusvARB(GLuint index, const GLushort *v) { CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2usvARB(GLuint index, const GLushort *v) +static void +VertexAttrib2usvARB(GLuint index, const GLushort *v) { - CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); + CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NusvARB(GLuint index, const GLushort *v) +static void +VertexAttrib3NusvARB(GLuint index, const GLushort *v) { CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), USHORT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3usvARB(GLuint index, const GLushort *v) +static void +VertexAttrib3usvARB(GLuint index, const GLushort *v) { - CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1], (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NusvARB(GLuint index, const GLushort *v) +static void +VertexAttrib4NusvARB(GLuint index, const GLushort *v) { CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), @@ -782,47 +914,57 @@ static void GLAPIENTRY VertexAttrib4NusvARB(GLuint index, const GLushort *v) USHORT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4usvARB(GLuint index, const GLushort *v) +static void +VertexAttrib4usvARB(GLuint index, const GLushort *v) { CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); } /* GL_INT attributes */ -static void GLAPIENTRY VertexAttrib1NivARB(GLuint index, const GLint *v) +static void +VertexAttrib1NivARB(GLuint index, const GLint *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1ivARB(GLuint index, const GLint *v) +static void +VertexAttrib1ivARB(GLuint index, const GLint *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NivARB(GLuint index, const GLint *v) +static void +VertexAttrib2NivARB(GLuint index, const GLint *v) { CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2ivARB(GLuint index, const GLint *v) +static void +VertexAttrib2ivARB(GLuint index, const GLint *v) { - CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); + CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NivARB(GLuint index, const GLint *v) +static void +VertexAttrib3NivARB(GLuint index, const GLint *v) { CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3ivARB(GLuint index, const GLint *v) +static void +VertexAttrib3ivARB(GLuint index, const GLint *v) { - CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1], (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NivARB(GLuint index, const GLint *v) +static void +VertexAttrib4NivARB(GLuint index, const GLint *v) { CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), @@ -830,108 +972,287 @@ static void GLAPIENTRY VertexAttrib4NivARB(GLuint index, const GLint *v) INT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4ivARB(GLuint index, const GLint *v) +static void +VertexAttrib4ivARB(GLuint index, const GLint *v) { - CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_UNSIGNED_INT attributes */ -static void GLAPIENTRY VertexAttrib1NuivARB(GLuint index, const GLuint *v) +static void +VertexAttrib1NuivARB(GLuint index, const GLuint *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]))); } -static void GLAPIENTRY VertexAttrib1uivARB(GLuint index, const GLuint *v) +static void +VertexAttrib1uivARB(GLuint index, const GLuint *v) { CALL_VertexAttrib1fARB(GET_DISPATCH(), (index, (GLfloat)v[0])); } -static void GLAPIENTRY VertexAttrib2NuivARB(GLuint index, const GLuint *v) +static void +VertexAttrib2NuivARB(GLuint index, const GLuint *v) { CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), - UINT_TO_FLOAT(v[1]))); + UINT_TO_FLOAT(v[1]))); } -static void GLAPIENTRY VertexAttrib2uivARB(GLuint index, const GLuint *v) +static void +VertexAttrib2uivARB(GLuint index, const GLuint *v) { - CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1])); + CALL_VertexAttrib2fARB(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1])); } -static void GLAPIENTRY VertexAttrib3NuivARB(GLuint index, const GLuint *v) +static void +VertexAttrib3NuivARB(GLuint index, const GLuint *v) { CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), - UINT_TO_FLOAT(v[1]), - UINT_TO_FLOAT(v[2]))); + UINT_TO_FLOAT(v[1]), + UINT_TO_FLOAT(v[2]))); } -static void GLAPIENTRY VertexAttrib3uivARB(GLuint index, const GLuint *v) +static void +VertexAttrib3uivARB(GLuint index, const GLuint *v) { - CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2])); + CALL_VertexAttrib3fARB(GET_DISPATCH(), (index, (GLfloat)v[0], + (GLfloat)v[1], (GLfloat)v[2])); } -static void GLAPIENTRY VertexAttrib4NuivARB(GLuint index, const GLuint *v) +static void +VertexAttrib4NuivARB(GLuint index, const GLuint *v) { CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, UINT_TO_FLOAT(v[0]), - UINT_TO_FLOAT(v[1]), - UINT_TO_FLOAT(v[2]), - UINT_TO_FLOAT(v[3]))); + UINT_TO_FLOAT(v[1]), + UINT_TO_FLOAT(v[2]), + UINT_TO_FLOAT(v[3]))); } -static void GLAPIENTRY VertexAttrib4uivARB(GLuint index, const GLuint *v) +static void +VertexAttrib4uivARB(GLuint index, const GLuint *v) { - CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], (GLfloat)v[2], (GLfloat)v[3])); + CALL_VertexAttrib4fARB(GET_DISPATCH(), (index, (GLfloat)v[0], (GLfloat)v[1], + (GLfloat)v[2], (GLfloat)v[3])); } /* GL_FLOAT attributes */ -static void GLAPIENTRY VertexAttrib1fvARB(GLuint index, const GLfloat *v) +static void +VertexAttrib1fvARB(GLuint index, const GLfloat *v) { CALL_VertexAttrib1fvARB(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib2fvARB(GLuint index, const GLfloat *v) +static void +VertexAttrib2fvARB(GLuint index, const GLfloat *v) { CALL_VertexAttrib2fvARB(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib3fvARB(GLuint index, const GLfloat *v) +static void +VertexAttrib3fvARB(GLuint index, const GLfloat *v) { CALL_VertexAttrib3fvARB(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib4fvARB(GLuint index, const GLfloat *v) +static void +VertexAttrib4fvARB(GLuint index, const GLfloat *v) { CALL_VertexAttrib4fvARB(GET_DISPATCH(), (index, v)); } /* GL_DOUBLE attributes */ -static void GLAPIENTRY VertexAttrib1dvARB(GLuint index, const GLdouble *v) +static void +VertexAttrib1dvARB(GLuint index, const GLdouble *v) { CALL_VertexAttrib1dvARB(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib2dvARB(GLuint index, const GLdouble *v) +static void +VertexAttrib2dvARB(GLuint index, const GLdouble *v) { CALL_VertexAttrib2dvARB(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib3dvARB(GLuint index, const GLdouble *v) +static void +VertexAttrib3dvARB(GLuint index, const GLdouble *v) { CALL_VertexAttrib3dvARB(GET_DISPATCH(), (index, v)); } -static void GLAPIENTRY VertexAttrib4dvARB(GLuint index, const GLdouble *v) +static void +VertexAttrib4dvARB(GLuint index, const GLdouble *v) { CALL_VertexAttrib4dvARB(GET_DISPATCH(), (index, v)); } +/** + * Integer-valued attributes + */ +static void +VertexAttribI1bv(GLuint index, const GLbyte *v) +{ + CALL_VertexAttribI1iEXT(GET_DISPATCH(), (index, v[0])); +} + +static void +VertexAttribI2bv(GLuint index, const GLbyte *v) +{ + CALL_VertexAttribI2iEXT(GET_DISPATCH(), (index, v[0], v[1])); +} + +static void +VertexAttribI3bv(GLuint index, const GLbyte *v) +{ + CALL_VertexAttribI3iEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); +} + +static void +VertexAttribI4bv(GLuint index, const GLbyte *v) +{ + CALL_VertexAttribI4bvEXT(GET_DISPATCH(), (index, v)); +} + + +static void +VertexAttribI1ubv(GLuint index, const GLubyte *v) +{ + CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (index, v[0])); +} + +static void +VertexAttribI2ubv(GLuint index, const GLubyte *v) +{ + CALL_VertexAttribI2uiEXT(GET_DISPATCH(), (index, v[0], v[1])); +} + +static void +VertexAttribI3ubv(GLuint index, const GLubyte *v) +{ + CALL_VertexAttribI3uiEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); +} + +static void +VertexAttribI4ubv(GLuint index, const GLubyte *v) +{ + CALL_VertexAttribI4ubvEXT(GET_DISPATCH(), (index, v)); +} + + + +static void +VertexAttribI1sv(GLuint index, const GLshort *v) +{ + CALL_VertexAttribI1iEXT(GET_DISPATCH(), (index, v[0])); +} + +static void +VertexAttribI2sv(GLuint index, const GLshort *v) +{ + CALL_VertexAttribI2iEXT(GET_DISPATCH(), (index, v[0], v[1])); +} + +static void +VertexAttribI3sv(GLuint index, const GLshort *v) +{ + CALL_VertexAttribI3iEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); +} + +static void +VertexAttribI4sv(GLuint index, const GLshort *v) +{ + CALL_VertexAttribI4svEXT(GET_DISPATCH(), (index, v)); +} + + +static void +VertexAttribI1usv(GLuint index, const GLushort *v) +{ + CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (index, v[0])); +} + +static void +VertexAttribI2usv(GLuint index, const GLushort *v) +{ + CALL_VertexAttribI2uiEXT(GET_DISPATCH(), (index, v[0], v[1])); +} + +static void +VertexAttribI3usv(GLuint index, const GLushort *v) +{ + CALL_VertexAttribI3uiEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); +} + +static void +VertexAttribI4usv(GLuint index, const GLushort *v) +{ + CALL_VertexAttribI4usvEXT(GET_DISPATCH(), (index, v)); +} + + + +static void +VertexAttribI1iv(GLuint index, const GLint *v) +{ + CALL_VertexAttribI1iEXT(GET_DISPATCH(), (index, v[0])); +} + +static void +VertexAttribI2iv(GLuint index, const GLint *v) +{ + CALL_VertexAttribI2iEXT(GET_DISPATCH(), (index, v[0], v[1])); +} + +static void +VertexAttribI3iv(GLuint index, const GLint *v) +{ + CALL_VertexAttribI3iEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); +} + +static void +VertexAttribI4iv(GLuint index, const GLint *v) +{ + CALL_VertexAttribI4ivEXT(GET_DISPATCH(), (index, v)); +} + + +static void +VertexAttribI1uiv(GLuint index, const GLuint *v) +{ + CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (index, v[0])); +} + +static void +VertexAttribI2uiv(GLuint index, const GLuint *v) +{ + CALL_VertexAttribI2uiEXT(GET_DISPATCH(), (index, v[0], v[1])); +} + +static void +VertexAttribI3uiv(GLuint index, const GLuint *v) +{ + CALL_VertexAttribI3uiEXT(GET_DISPATCH(), (index, v[0], v[1], v[2])); +} + +static void +VertexAttribI4uiv(GLuint index, const GLuint *v) +{ + CALL_VertexAttribI4uivEXT(GET_DISPATCH(), (index, v)); +} + + + + /* - * Array [size][type] of VertexAttrib functions + * Array [unnormalized/normalized/integer][size][type] of VertexAttrib + * functions */ -static attrib_func AttribFuncsARB[2][4][8] = { +static attrib_func AttribFuncsARB[3][4][NUM_TYPES] = { { /* non-normalized */ { @@ -1025,6 +1346,54 @@ static attrib_func AttribFuncsARB[2][4][8] = { (attrib_func) VertexAttrib4fvARB, (attrib_func) VertexAttrib4dvARB } + }, + + { + /* integer-valued */ + { + /* size 1 */ + (attrib_func) VertexAttribI1bv, + (attrib_func) VertexAttribI1ubv, + (attrib_func) VertexAttribI1sv, + (attrib_func) VertexAttribI1usv, + (attrib_func) VertexAttribI1iv, + (attrib_func) VertexAttribI1uiv, + NULL, /* GL_FLOAT */ + NULL /* GL_DOUBLE */ + }, + { + /* size 2 */ + (attrib_func) VertexAttribI2bv, + (attrib_func) VertexAttribI2ubv, + (attrib_func) VertexAttribI2sv, + (attrib_func) VertexAttribI2usv, + (attrib_func) VertexAttribI2iv, + (attrib_func) VertexAttribI2uiv, + NULL, /* GL_FLOAT */ + NULL /* GL_DOUBLE */ + }, + { + /* size 3 */ + (attrib_func) VertexAttribI3bv, + (attrib_func) VertexAttribI3ubv, + (attrib_func) VertexAttribI3sv, + (attrib_func) VertexAttribI3usv, + (attrib_func) VertexAttribI3iv, + (attrib_func) VertexAttribI3uiv, + NULL, /* GL_FLOAT */ + NULL /* GL_DOUBLE */ + }, + { + /* size 4 */ + (attrib_func) VertexAttribI4bv, + (attrib_func) VertexAttribI4ubv, + (attrib_func) VertexAttribI4sv, + (attrib_func) VertexAttribI4usv, + (attrib_func) VertexAttribI4iv, + (attrib_func) VertexAttribI4uiv, + NULL, /* GL_FLOAT */ + NULL /* GL_DOUBLE */ + } } }; @@ -1173,7 +1542,15 @@ static void _ae_update_state( struct gl_context *ctx ) [TYPE_IDX(at->array->Type)]; } else { - at->func = AttribFuncsARB[at->array->Normalized] + GLint intOrNorm; + if (at->array->Integer) + intOrNorm = 2; + else if (at->array->Normalized) + intOrNorm = 1; + else + intOrNorm = 0; + + at->func = AttribFuncsARB[intOrNorm] [at->array->Size-1] [TYPE_IDX(at->array->Type)]; } @@ -1271,14 +1648,13 @@ void GLAPIENTRY _ae_ArrayElement( GLint elt ) _ae_update_state( ctx ); } + /* Determine if w need to map/unmap VBOs */ do_map = actx->nr_vbos && !actx->mapped_vbos; - /* - */ if (do_map) _ae_map_vbos(ctx); - /* generic attributes */ + /* emit generic attribute elements */ for (at = actx->attribs; at->func; at++) { const GLubyte *src = ADD_POINTERS(at->array->BufferObj->Pointer, at->array->Ptr) @@ -1286,7 +1662,7 @@ void GLAPIENTRY _ae_ArrayElement( GLint elt ) at->func( at->index, src ); } - /* conventional arrays */ + /* emit conventional arrays elements */ for (aa = actx->arrays; aa->offset != -1 ; aa++) { const GLubyte *src = ADD_POINTERS(aa->array->BufferObj->Pointer, aa->array->Ptr) diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index cd002f6bc27..25ece5c95e9 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -105,46 +105,6 @@ #if FEATURE_GL -#ifdef _GLAPI_USE_REMAP_TABLE - -#define need_MESA_remap_table -#include "main/remap.h" -#include "main/remap_helper.h" - -/* This is shared across all APIs but We define this here since - * desktop GL has the biggest remap table. */ -int driDispatchRemapTable[driDispatchRemapTable_size]; - -/** - * Map the functions which are already static. - * - * When a extension function are incorporated into the ABI, the - * extension suffix is usually stripped. Mapping such functions - * makes sure the alternative names are available. - * - * Note that functions mapped by _mesa_init_remap_table() are - * excluded. - */ -void -_mesa_map_static_functions(void) -{ - /* Remap static functions which have alternative names and are in the ABI. - * This is to be on the safe side. glapi should have defined those names. - */ - _mesa_map_function_array(MESA_alt_functions); -} - -void -_mesa_init_remap_table(void) -{ - _mesa_do_init_remap_table(_mesa_function_pool, - driDispatchRemapTable_size, - MESA_remap_table_functions); -} - -#endif /* _GLAPI_USE_REMAP_TABLE */ - - /** * Initialize a dispatch table with pointers to Mesa's immediate-mode * commands. @@ -160,7 +120,7 @@ _mesa_create_exec_table(void) { struct _glapi_table *exec; - exec = _mesa_alloc_dispatch_table(sizeof *exec); + exec = _mesa_alloc_dispatch_table(_gloffset_COUNT); if (exec == NULL) return NULL; @@ -734,6 +694,11 @@ _mesa_create_exec_table(void) SET_TexParameterIivEXT(exec, _mesa_TexParameterIiv); SET_TexParameterIuivEXT(exec, _mesa_TexParameterIuiv); + /* GL_EXT_gpu_shader4 / OpenGL 3.0 */ + SET_GetVertexAttribIivEXT(exec, _mesa_GetVertexAttribIiv); + SET_GetVertexAttribIuivEXT(exec, _mesa_GetVertexAttribIuiv); + SET_VertexAttribIPointerEXT(exec, _mesa_VertexAttribIPointer); + return exec; } diff --git a/src/mesa/main/api_loopback.c b/src/mesa/main/api_loopback.c index d1789069cc1..c438307d84c 100644 --- a/src/mesa/main/api_loopback.c +++ b/src/mesa/main/api_loopback.c @@ -34,9 +34,9 @@ #include "api_loopback.h" #include "mtypes.h" #include "glapi/glapi.h" -#include "glapi/glapitable.h" #include "glapi/glthread.h" #include "main/dispatch.h" +#include "mfeatures.h" /* KW: A set of functions to convert unusual Color/Normal/Vertex/etc * calls to a smaller set of driver-provided formats. Currently just @@ -66,16 +66,24 @@ #define MATERIALFV(a,b,c) CALL_Materialfv(GET_DISPATCH(), (a,b,c)) #define RECTF(a,b,c,d) CALL_Rectf(GET_DISPATCH(), (a,b,c,d)) +#define FOGCOORDF(x) CALL_FogCoordfEXT(GET_DISPATCH(), (x)) +#define SECONDARYCOLORF(a,b,c) CALL_SecondaryColor3fEXT(GET_DISPATCH(), (a,b,c)) + #define ATTRIB1NV(index,x) CALL_VertexAttrib1fNV(GET_DISPATCH(), (index,x)) #define ATTRIB2NV(index,x,y) CALL_VertexAttrib2fNV(GET_DISPATCH(), (index,x,y)) #define ATTRIB3NV(index,x,y,z) CALL_VertexAttrib3fNV(GET_DISPATCH(), (index,x,y,z)) #define ATTRIB4NV(index,x,y,z,w) CALL_VertexAttrib4fNV(GET_DISPATCH(), (index,x,y,z,w)) + #define ATTRIB1ARB(index,x) CALL_VertexAttrib1fARB(GET_DISPATCH(), (index,x)) #define ATTRIB2ARB(index,x,y) CALL_VertexAttrib2fARB(GET_DISPATCH(), (index,x,y)) #define ATTRIB3ARB(index,x,y,z) CALL_VertexAttrib3fARB(GET_DISPATCH(), (index,x,y,z)) #define ATTRIB4ARB(index,x,y,z,w) CALL_VertexAttrib4fARB(GET_DISPATCH(), (index,x,y,z,w)) -#define FOGCOORDF(x) CALL_FogCoordfEXT(GET_DISPATCH(), (x)) -#define SECONDARYCOLORF(a,b,c) CALL_SecondaryColor3fEXT(GET_DISPATCH(), (a,b,c)) + +#define ATTRIBI_1I(index,x) CALL_VertexAttribI1iEXT(GET_DISPATCH(), (index,x)) +#define ATTRIBI_1UI(index,x) CALL_VertexAttribI1uiEXT(GET_DISPATCH(), (index,x)) +#define ATTRIBI_4I(index,x,y,z,w) CALL_VertexAttribI4iEXT(GET_DISPATCH(), (index,x,y,z,w)) + +#define ATTRIBI_4UI(index,x,y,z,w) CALL_VertexAttribI4uiEXT(GET_DISPATCH(), (index,x,y,z,w)) #if FEATURE_beginend @@ -1041,6 +1049,7 @@ loopback_SecondaryColor3ubvEXT_f( const GLubyte *v ) /* * GL_NV_vertex_program: * Always loop-back to one of the VertexAttrib[1234]f[v]NV functions. + * Note that attribute indexes DO alias conventional vertex attributes. */ static void GLAPIENTRY @@ -1263,6 +1272,7 @@ loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v) /* * GL_ARB_vertex_program * Always loop-back to one of the VertexAttrib[1234]f[v]ARB functions. + * Note that attribute indexes do NOT alias conventional attributes. */ static void GLAPIENTRY @@ -1443,136 +1453,50 @@ loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v) -/** GL 3.0 Integer-valued attributes **/ - -static void GLAPIENTRY -loopback_VertexAttribI1i(GLuint index, GLint x) -{ - ATTRIB1ARB(index, (GLfloat) x); -} - -static void GLAPIENTRY -loopback_VertexAttribI2i(GLuint index, GLint x, GLint y) -{ - ATTRIB2ARB(index, (GLfloat) x, (GLfloat) y); -} - -static void GLAPIENTRY -loopback_VertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) -{ - ATTRIB3ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z); -} - -static void GLAPIENTRY -loopback_VertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) -{ - ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); -} - -static void GLAPIENTRY -loopback_VertexAttribI1ui(GLuint index, GLuint x) -{ - ATTRIB1ARB(index, (GLfloat) x); -} - -static void GLAPIENTRY -loopback_VertexAttribI2ui(GLuint index, GLuint x, GLuint y) -{ - ATTRIB2ARB(index, (GLfloat) x, (GLfloat) y); -} - -static void GLAPIENTRY -loopback_VertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) -{ - ATTRIB3ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z); -} - -static void GLAPIENTRY -loopback_VertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) -{ - ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); -} +/** + * GL_EXT_gpu_shader / GL 3.0 signed/unsigned integer-valued attributes. + * Note that attribute indexes do NOT alias conventional attributes. + */ static void GLAPIENTRY loopback_VertexAttribI1iv(GLuint index, const GLint *v) { - ATTRIB1ARB(index, (GLfloat) v[0]); -} - -static void GLAPIENTRY -loopback_VertexAttribI2iv (GLuint index, const GLint *v) -{ - ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]); -} - -static void GLAPIENTRY -loopback_VertexAttribI3iv(GLuint index, const GLint *v) -{ - ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); -} - -static void GLAPIENTRY -loopback_VertexAttribI4iv(GLuint index, const GLint *v) -{ - ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], - (GLfloat) v[2], (GLfloat) v[3]); + ATTRIBI_1I(index, v[0]); } static void GLAPIENTRY loopback_VertexAttribI1uiv(GLuint index, const GLuint *v) { - ATTRIB1ARB(index, (GLfloat) v[0]); -} - -static void GLAPIENTRY -loopback_VertexAttribI2uiv(GLuint index, const GLuint *v) -{ - ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]); -} - -static void GLAPIENTRY -loopback_VertexAttribI3uiv(GLuint index, const GLuint *v) -{ - ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); -} - -static void GLAPIENTRY -loopback_VertexAttribI4uiv(GLuint index, const GLuint *v) -{ - ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], - (GLfloat) v[2], (GLfloat) v[3]); + ATTRIBI_1UI(index, v[0]); } static void GLAPIENTRY loopback_VertexAttribI4bv(GLuint index, const GLbyte *v) { - ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], - (GLfloat) v[2], (GLfloat) v[3]); + ATTRIBI_4I(index, v[0], v[1], v[2], v[3]); } static void GLAPIENTRY loopback_VertexAttribI4sv(GLuint index, const GLshort *v) { - ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], - (GLfloat) v[2], (GLfloat) v[3]); + ATTRIBI_4I(index, v[0], v[1], v[2], v[3]); } static void GLAPIENTRY loopback_VertexAttribI4ubv(GLuint index, const GLubyte *v) { - ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], - (GLfloat) v[2], (GLfloat) v[3]); + ATTRIBI_4UI(index, v[0], v[1], v[2], v[3]); } static void GLAPIENTRY loopback_VertexAttribI4usv(GLuint index, const GLushort *v) { - ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], - (GLfloat) v[2], (GLfloat) v[3]); + ATTRIBI_4UI(index, v[0], v[1], v[2], v[3]); } + /* * This code never registers handlers for any of the entry points * listed in vtxfmt.h. @@ -1788,50 +1712,13 @@ _mesa_loopback_init_api_table( struct _glapi_table *dest ) SET_VertexAttrib4NusvARB(dest, loopback_VertexAttrib4NusvARB); SET_VertexAttrib4NuivARB(dest, loopback_VertexAttrib4NuivARB); - /* GL 3.0 */ -#if 0 - SET_VertexAttribI1i(dest, loopback_VertexAttribI1i); - SET_VertexAttribI2i(dest, loopback_VertexAttribI2i); - SET_VertexAttribI3i(dest, loopback_VertexAttribI3i); - SET_VertexAttribI4i(dest, loopback_VertexAttribI4i); - SET_VertexAttribI1ui(dest, loopback_VertexAttribI1ui); - SET_VertexAttribI2ui(dest, loopback_VertexAttribI2ui); - SET_VertexAttribI3ui(dest, loopback_VertexAttribI3ui); - SET_VertexAttribI4ui(dest, loopback_VertexAttribI4ui); - SET_VertexAttribI1iv(dest, loopback_VertexAttribI1iv); - SET_VertexAttribI2iv(dest, loopback_VertexAttribI2iv); - SET_VertexAttribI3iv(dest, loopback_VertexAttribI3iv); - SET_VertexAttribI4iv(dest, loopback_VertexAttribI4iv); - SET_VertexAttribI1uiv(dest, loopback_VertexAttribI1uiv); - SET_VertexAttribI2uiv(dest, loopback_VertexAttribI2uiv); - SET_VertexAttribI3uiv(dest, loopback_VertexAttribI3uiv); - SET_VertexAttribI4uiv(dest, loopback_VertexAttribI4uiv); - SET_VertexAttribI4bv(dest, loopback_VertexAttribI4bv); - SET_VertexAttribI4sv(dest, loopback_VertexAttribI4sv); - SET_VertexAttribI4ubv(dest, loopback_VertexAttribI4ubv); - SET_VertexAttribI4usv(dest, loopback_VertexAttribI4usv); -#else - (void) loopback_VertexAttribI1i; - (void) loopback_VertexAttribI2i; - (void) loopback_VertexAttribI3i; - (void) loopback_VertexAttribI4i; - (void) loopback_VertexAttribI1ui; - (void) loopback_VertexAttribI2ui; - (void) loopback_VertexAttribI3ui; - (void) loopback_VertexAttribI4ui; - (void) loopback_VertexAttribI1iv; - (void) loopback_VertexAttribI2iv; - (void) loopback_VertexAttribI3iv; - (void) loopback_VertexAttribI4iv; - (void) loopback_VertexAttribI1uiv; - (void) loopback_VertexAttribI2uiv; - (void) loopback_VertexAttribI3uiv; - (void) loopback_VertexAttribI4uiv; - (void) loopback_VertexAttribI4bv; - (void) loopback_VertexAttribI4sv; - (void) loopback_VertexAttribI4ubv; - (void) loopback_VertexAttribI4usv; -#endif + /* GL_EXT_gpu_shader4, GL 3.0 */ + SET_VertexAttribI1ivEXT(dest, loopback_VertexAttribI1iv); + SET_VertexAttribI1uivEXT(dest, loopback_VertexAttribI1uiv); + SET_VertexAttribI4bvEXT(dest, loopback_VertexAttribI4bv); + SET_VertexAttribI4svEXT(dest, loopback_VertexAttribI4sv); + SET_VertexAttribI4ubvEXT(dest, loopback_VertexAttribI4ubv); + SET_VertexAttribI4usvEXT(dest, loopback_VertexAttribI4usv); } diff --git a/src/mesa/main/api_loopback.h b/src/mesa/main/api_loopback.h index 3140eb515ee..b9af703ca73 100644 --- a/src/mesa/main/api_loopback.h +++ b/src/mesa/main/api_loopback.h @@ -27,7 +27,10 @@ #ifndef API_LOOPBACK_H #define API_LOOPBACK_H -#include "main/mtypes.h" +#include "main/compiler.h" +#include "main/mfeatures.h" + +struct _glapi_table; #if FEATURE_beginend diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index 4929a9310d4..ac9709db3f1 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -27,6 +27,7 @@ #include "bufferobj.h" #include "context.h" #include "imports.h" +#include "mfeatures.h" #include "mtypes.h" #include "vbo/vbo.h" diff --git a/src/mesa/main/api_validate.h b/src/mesa/main/api_validate.h index b232a90843e..16b9c2b2647 100644 --- a/src/mesa/main/api_validate.h +++ b/src/mesa/main/api_validate.h @@ -28,7 +28,10 @@ #define API_VALIDATE_H -#include "mtypes.h" +#include "glheader.h" + +struct gl_buffer_object; +struct gl_context; extern GLuint diff --git a/src/mesa/main/arrayobj.h b/src/mesa/main/arrayobj.h index 26e3af19c91..0b5a0130370 100644 --- a/src/mesa/main/arrayobj.h +++ b/src/mesa/main/arrayobj.h @@ -28,7 +28,9 @@ #ifndef ARRAYOBJ_H #define ARRAYOBJ_H -#include "mtypes.h" +#include "glheader.h" + +struct gl_context; /** * \file arrayobj.h diff --git a/src/mesa/main/atifragshader.h b/src/mesa/main/atifragshader.h index 6911bba5aee..ade91311b01 100644 --- a/src/mesa/main/atifragshader.h +++ b/src/mesa/main/atifragshader.h @@ -8,7 +8,12 @@ #ifndef ATIFRAGSHADER_H #define ATIFRAGSHADER_H -#include "main/mtypes.h" +#include "compiler.h" +#include "glheader.h" +#include "mfeatures.h" + +struct _glapi_table; +struct gl_context; #define MAX_NUM_INSTRUCTIONS_PER_PASS_ATI 8 #define MAX_NUM_PASSES_ATI 2 diff --git a/src/mesa/main/attrib.h b/src/mesa/main/attrib.h index 777781bdf0d..d59d31b9be9 100644 --- a/src/mesa/main/attrib.h +++ b/src/mesa/main/attrib.h @@ -26,8 +26,12 @@ #define ATTRIB_H -#include "main/mtypes.h" +#include "compiler.h" +#include "glheader.h" +#include "mfeatures.h" +struct _glapi_table; +struct gl_context; #if FEATURE_attrib_stack @@ -48,8 +52,6 @@ _mesa_init_attrib_dispatch(struct _glapi_table *disp); #else /* FEATURE_attrib_stack */ -#include "main/compiler.h" - static INLINE void _mesa_PushClientAttrib( GLbitfield mask ) { diff --git a/src/mesa/main/blend.h b/src/mesa/main/blend.h index 677b01cc9fc..f72c779f1aa 100644 --- a/src/mesa/main/blend.h +++ b/src/mesa/main/blend.h @@ -33,7 +33,9 @@ #define BLEND_H -#include "mtypes.h" +#include "glheader.h" + +struct gl_context; extern void GLAPIENTRY diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 0a68008a100..76f8259a283 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -1189,6 +1189,9 @@ _mesa_BufferSubDataARB(GLenum target, GLintptrARB offset, return; } + if (size == 0) + return; + bufObj->Written = GL_TRUE; ASSERT(ctx->Driver.BufferSubData); diff --git a/src/mesa/main/buffers.h b/src/mesa/main/buffers.h index 36d6c8b6608..1404112c411 100644 --- a/src/mesa/main/buffers.h +++ b/src/mesa/main/buffers.h @@ -33,8 +33,9 @@ #define BUFFERS_H -#include "mtypes.h" +#include "glheader.h" +struct gl_context; extern void GLAPIENTRY _mesa_DrawBuffer( GLenum mode ); diff --git a/src/mesa/main/colortab.h b/src/mesa/main/colortab.h index ea3ec870fd4..ae46d8d236b 100644 --- a/src/mesa/main/colortab.h +++ b/src/mesa/main/colortab.h @@ -27,7 +27,12 @@ #define COLORTAB_H -#include "main/mtypes.h" +#include "compiler.h" +#include "glheader.h" +#include "mfeatures.h" + +struct _glapi_table; +struct gl_color_table; #if FEATURE_colortable @@ -46,8 +51,6 @@ _mesa_init_colortable_dispatch(struct _glapi_table *disp); #else /* FEATURE_colortable */ -#include "main/compiler.h" - static INLINE void GLAPIENTRY _mesa_ColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 3ebe54926ff..b60875b7128 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -131,6 +131,7 @@ #if _HAVE_FULL_GL #include "math/m_matrix.h" #endif +#include "main/dispatch.h" /* for _gloffset_COUNT */ #ifdef USE_SPARC_ASM #include "sparc/sparc.h" @@ -379,10 +380,12 @@ _glthread_DECLARE_STATIC_MUTEX(OneTimeLock); static void one_time_init( struct gl_context *ctx ) { - static GLboolean alreadyCalled = GL_FALSE; - (void) ctx; + static GLbitfield api_init_mask = 0x0; + _glthread_LOCK_MUTEX(OneTimeLock); - if (!alreadyCalled) { + + /* truly one-time init */ + if (!api_init_mask) { GLuint i; /* do some implementation tests */ @@ -395,27 +398,9 @@ one_time_init( struct gl_context *ctx ) _mesa_get_cpu_features(); - switch (ctx->API) { -#if FEATURE_GL - case API_OPENGL: - _mesa_init_remap_table(); - break; -#endif -#if FEATURE_ES1 - case API_OPENGLES: - _mesa_init_remap_table_es1(); - break; -#endif -#if FEATURE_ES2 - case API_OPENGLES2: - _mesa_init_remap_table_es2(); - break; -#endif - default: - break; - } - _mesa_init_sqrt_table(); + + /* context dependence is never a one-time thing... */ _mesa_init_get_hash(ctx); for (i = 0; i < 256; i++) { @@ -426,9 +411,22 @@ one_time_init( struct gl_context *ctx ) _mesa_debug(ctx, "Mesa %s DEBUG build %s %s\n", MESA_VERSION_STRING, __DATE__, __TIME__); #endif + } - alreadyCalled = GL_TRUE; + /* per-API one-time init */ + if (!(api_init_mask & (1 << ctx->API))) { + /* + * This is fine as ES does not use the remap table, but it may not be + * future-proof. We cannot always initialize the remap table because + * when an app is linked to libGLES*, there are not enough dynamic + * entries. + */ + if (ctx->API == API_OPENGL) + _mesa_init_remap_table(); } + + api_init_mask |= 1 << ctx->API; + _glthread_UNLOCK_MUTEX(OneTimeLock); /* Hopefully atexit() is widely available. If not, we may need some @@ -620,6 +618,10 @@ _mesa_init_constants(struct gl_context *ctx) /* GL 3.2: hard-coded for now: */ ctx->Const.ProfileMask = GL_CONTEXT_COMPATIBILITY_PROFILE_BIT; + + /** GL_EXT_gpu_shader4 */ + ctx->Const.MinProgramTexelOffset = -8; + ctx->Const.MaxProgramTexelOffset = 7; } @@ -807,10 +809,13 @@ _mesa_alloc_dispatch_table(int size) * Mesa we do this to accomodate different versions of libGL and various * DRI drivers. */ - GLint numEntries = MAX2(_glapi_get_dispatch_table_size(), - size / sizeof(_glapi_proc)); - struct _glapi_table *table = - (struct _glapi_table *) malloc(numEntries * sizeof(_glapi_proc)); + GLint numEntries = MAX2(_glapi_get_dispatch_table_size(), _gloffset_COUNT); + struct _glapi_table *table; + + /* should never happen, but just in case */ + numEntries = MAX2(numEntries, size); + + table = (struct _glapi_table *) malloc(numEntries * sizeof(_glapi_proc)); if (table) { _glapi_proc *entry = (_glapi_proc *) table; GLint i; @@ -1287,9 +1292,6 @@ check_compatible(const struct gl_context *ctx, const struct gl_framebuffer *buff const struct gl_config *ctxvis = &ctx->Visual; const struct gl_config *bufvis = &buffer->Visual; - if (ctxvis == bufvis) - return GL_TRUE; - if (buffer == _mesa_get_incomplete_framebuffer()) return GL_TRUE; diff --git a/src/mesa/main/convolve.h b/src/mesa/main/convolve.h index 0277917433d..7dc0a48b74d 100644 --- a/src/mesa/main/convolve.h +++ b/src/mesa/main/convolve.h @@ -28,7 +28,10 @@ #define CONVOLVE_H -#include "main/mtypes.h" +#include "compiler.h" +#include "mfeatures.h" + +struct _glapi_table; #if FEATURE_convolve @@ -38,8 +41,6 @@ _mesa_init_convolve_dispatch(struct _glapi_table *disp); #else /* FEATURE_convolve */ -#include "main/compiler.h" - static INLINE void _mesa_init_convolve_dispatch(struct _glapi_table *disp) { diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 5e006e0ad30..c62969e9b7e 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -33,8 +33,20 @@ /* THIS FILE ONLY INCLUDED BY mtypes.h !!!!! */ -struct gl_pixelstore_attrib; +#include "glheader.h" + +struct gl_buffer_object; +struct gl_context; struct gl_display_list; +struct gl_framebuffer; +struct gl_pixelstore_attrib; +struct gl_program; +struct gl_renderbuffer; +struct gl_renderbuffer_attachment; +struct gl_shader; +struct gl_shader_program; +struct gl_texture_image; +struct gl_texture_object; /* GL_ARB_vertex_buffer_object */ /* Modifies GL_MAP_UNSYNCHRONIZED_BIT to allow driver to fail (return @@ -1105,6 +1117,24 @@ typedef struct { void (GLAPIENTRYP VertexAttrib3fvARB)( GLuint index, const GLfloat *v ); void (GLAPIENTRYP VertexAttrib4fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); void (GLAPIENTRYP VertexAttrib4fvARB)( GLuint index, const GLfloat *v ); + + /* GL_EXT_gpu_shader4 / GL 3.0 */ + void (GLAPIENTRYP VertexAttribI1i)( GLuint index, GLint x); + void (GLAPIENTRYP VertexAttribI2i)( GLuint index, GLint x, GLint y); + void (GLAPIENTRYP VertexAttribI3i)( GLuint index, GLint x, GLint y, GLint z); + void (GLAPIENTRYP VertexAttribI4i)( GLuint index, GLint x, GLint y, GLint z, GLint w); + void (GLAPIENTRYP VertexAttribI2iv)( GLuint index, const GLint *v); + void (GLAPIENTRYP VertexAttribI3iv)( GLuint index, const GLint *v); + void (GLAPIENTRYP VertexAttribI4iv)( GLuint index, const GLint *v); + + void (GLAPIENTRYP VertexAttribI1ui)( GLuint index, GLuint x); + void (GLAPIENTRYP VertexAttribI2ui)( GLuint index, GLuint x, GLuint y); + void (GLAPIENTRYP VertexAttribI3ui)( GLuint index, GLuint x, GLuint y, GLuint z); + void (GLAPIENTRYP VertexAttribI4ui)( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); + void (GLAPIENTRYP VertexAttribI2uiv)( GLuint index, const GLuint *v); + void (GLAPIENTRYP VertexAttribI3uiv)( GLuint index, const GLuint *v); + void (GLAPIENTRYP VertexAttribI4uiv)( GLuint index, const GLuint *v); + /*@}*/ void (GLAPIENTRYP Rectf)( GLfloat, GLfloat, GLfloat, GLfloat ); diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c index a7e65f8d3aa..79aa53585f9 100644 --- a/src/mesa/main/debug.c +++ b/src/mesa/main/debug.c @@ -120,7 +120,7 @@ void _mesa_print_tri_caps( const char *name, GLuint flags ) { _mesa_debug(NULL, - "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", + "%s: (0x%x) %s%s%s%s%s%s%s%s%s%s%s%s%s\n", name, flags, (flags & DD_FLATSHADE) ? "flat-shade, " : "", @@ -133,9 +133,7 @@ _mesa_print_tri_caps( const char *name, GLuint flags ) (flags & DD_TRI_SMOOTH) ? "tri-smooth, " : "", (flags & DD_LINE_SMOOTH) ? "line-smooth, " : "", (flags & DD_LINE_STIPPLE) ? "line-stipple, " : "", - (flags & DD_LINE_WIDTH) ? "line-wide, " : "", (flags & DD_POINT_SMOOTH) ? "point-smooth, " : "", - (flags & DD_POINT_SIZE) ? "point-size, " : "", (flags & DD_POINT_ATTEN) ? "point-atten, " : "", (flags & DD_TRI_CULL_FRONT_BACK) ? "cull-all, " : "" ); diff --git a/src/mesa/main/debug.h b/src/mesa/main/debug.h index e3bb4dfe813..17aa897e8d1 100644 --- a/src/mesa/main/debug.h +++ b/src/mesa/main/debug.h @@ -37,7 +37,10 @@ #define _DEBUG_H #include "glheader.h" -#include "mtypes.h" +#include "mfeatures.h" + +struct gl_context; +struct gl_texture_image; #if _HAVE_FULL_GL diff --git a/src/mesa/main/depth.h b/src/mesa/main/depth.h index d61d3b121ba..b498a471534 100644 --- a/src/mesa/main/depth.h +++ b/src/mesa/main/depth.h @@ -32,7 +32,10 @@ #define DEPTH_H -#include "mtypes.h" +#include "glheader.h" +#include "mfeatures.h" + +struct gl_context; #if _HAVE_FULL_GL diff --git a/src/mesa/main/depthstencil.h b/src/mesa/main/depthstencil.h index 4db5868263a..ef63c5d7a31 100644 --- a/src/mesa/main/depthstencil.h +++ b/src/mesa/main/depthstencil.h @@ -26,7 +26,7 @@ #ifndef DEPTHSTENCIL_H #define DEPTHSTENCIL_H -#include "mtypes.h" +struct gl_context; extern struct gl_renderbuffer * _mesa_new_z24_renderbuffer_wrapper(struct gl_context *ctx, diff --git a/src/mesa/main/dispatch.h b/src/mesa/main/dispatch.h index 27f80a50629..a597959cf8e 100644 --- a/src/mesa/main/dispatch.h +++ b/src/mesa/main/dispatch.h @@ -26,12 +26,12 @@ #ifndef _DISPATCH_H #define _DISPATCH_H -#ifdef IN_DRI_DRIVER +#include "main/mfeatures.h" + +#if FEATURE_remap_table #define _GLAPI_USE_REMAP_TABLE #endif -#include "glapi/glapitable.h" -#include "glapi/glapioffsets.h" -#include "glapi/glapidispatch.h" +#include "main/glapidispatch.h" #endif /* _DISPATCH_H */ diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index e824226ca67..0c3c9fca36b 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -9116,7 +9116,7 @@ _mesa_create_save_table(void) { struct _glapi_table *table; - table = _mesa_alloc_dispatch_table(sizeof *table); + table = _mesa_alloc_dispatch_table(_gloffset_COUNT); if (table == NULL) return NULL; diff --git a/src/mesa/main/drawpix.h b/src/mesa/main/drawpix.h index 1f95ff5294d..31baa192ec5 100644 --- a/src/mesa/main/drawpix.h +++ b/src/mesa/main/drawpix.h @@ -26,7 +26,10 @@ #define DRAWPIX_H -#include "main/mtypes.h" +#include "compiler.h" +#include "mfeatures.h" + +struct _glapi_table; #if FEATURE_drawpix diff --git a/src/mesa/main/drawtex.h b/src/mesa/main/drawtex.h index d7d507566bb..13ff6f97e9e 100644 --- a/src/mesa/main/drawtex.h +++ b/src/mesa/main/drawtex.h @@ -25,7 +25,8 @@ #define DRAWTEX_H -#include "main/mtypes.h" +#include "glheader.h" +#include "mfeatures.h" #if FEATURE_OES_draw_texture diff --git a/src/mesa/main/enable.h b/src/mesa/main/enable.h index 69e52b1cb26..6d90c170c8a 100644 --- a/src/mesa/main/enable.h +++ b/src/mesa/main/enable.h @@ -32,7 +32,9 @@ #define ENABLE_H -#include "mtypes.h" +#include "glheader.h" + +struct gl_context; extern void diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index 48291cfa7af..a44eb09e3db 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -771,6 +771,14 @@ LONGSTRING static const char enum_string_table[] = "GL_INTERPOLATE_ARB\0" "GL_INTERPOLATE_EXT\0" "GL_INT_10_10_10_2_OES\0" + "GL_INT_SAMPLER_1D_ARRAY_EXT\0" + "GL_INT_SAMPLER_1D_EXT\0" + "GL_INT_SAMPLER_2D_ARRAY_EXT\0" + "GL_INT_SAMPLER_2D_EXT\0" + "GL_INT_SAMPLER_2D_RECT_EXT\0" + "GL_INT_SAMPLER_3D_EXT\0" + "GL_INT_SAMPLER_BUFFER_EXT\0" + "GL_INT_SAMPLER_CUBE_EXT\0" "GL_INT_VEC2\0" "GL_INT_VEC2_ARB\0" "GL_INT_VEC3\0" @@ -1061,6 +1069,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB\0" "GL_MAX_PROGRAM_PARAMETERS_ARB\0" "GL_MAX_PROGRAM_TEMPORARIES_ARB\0" + "GL_MAX_PROGRAM_TEXEL_OFFSET_EXT\0" "GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB\0" "GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB\0" "GL_MAX_PROJECTION_STACK_DEPTH\0" @@ -1115,6 +1124,7 @@ LONGSTRING static const char enum_string_table[] = "GL_MINMAX_SINK\0" "GL_MINMAX_SINK_EXT\0" "GL_MIN_EXT\0" + "GL_MIN_PROGRAM_TEXEL_OFFSET_EXT\0" "GL_MIRRORED_REPEAT\0" "GL_MIRRORED_REPEAT_ARB\0" "GL_MIRRORED_REPEAT_IBM\0" @@ -1608,12 +1618,18 @@ LONGSTRING static const char enum_string_table[] = "GL_RIGHT\0" "GL_S\0" "GL_SAMPLER_1D\0" + "GL_SAMPLER_1D_ARRAY_EXT\0" + "GL_SAMPLER_1D_ARRAY_SHADOW_EXT\0" "GL_SAMPLER_1D_SHADOW\0" "GL_SAMPLER_2D\0" + "GL_SAMPLER_2D_ARRAY_EXT\0" + "GL_SAMPLER_2D_ARRAY_SHADOW_EXT\0" "GL_SAMPLER_2D_SHADOW\0" "GL_SAMPLER_3D\0" "GL_SAMPLER_3D_OES\0" + "GL_SAMPLER_BUFFER_EXT\0" "GL_SAMPLER_CUBE\0" + "GL_SAMPLER_CUBE_SHADOW_EXT\0" "GL_SAMPLES\0" "GL_SAMPLES_3DFX\0" "GL_SAMPLES_ARB\0" @@ -2051,6 +2067,17 @@ LONGSTRING static const char enum_string_table[] = "GL_UNSIGNED_INT_2_10_10_10_REV_EXT\0" "GL_UNSIGNED_INT_8_8_8_8\0" "GL_UNSIGNED_INT_8_8_8_8_REV\0" + "GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_1D_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_2D_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_3D_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT\0" + "GL_UNSIGNED_INT_SAMPLER_CUBE_EXT\0" + "GL_UNSIGNED_INT_VEC2_EXT\0" + "GL_UNSIGNED_INT_VEC3_EXT\0" + "GL_UNSIGNED_INT_VEC4_EXT\0" "GL_UNSIGNED_NORMALIZED\0" "GL_UNSIGNED_SHORT\0" "GL_UNSIGNED_SHORT_1_5_5_5_REV\0" @@ -2100,6 +2127,7 @@ LONGSTRING static const char enum_string_table[] = "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_INTEGER_EXT\0" "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED\0" "GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB\0" "GL_VERTEX_ATTRIB_ARRAY_POINTER\0" @@ -2153,7 +2181,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[2115] = +static const enum_elt all_enums[2143] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -2890,1469 +2918,1497 @@ static const enum_elt all_enums[2115] = { 15831, 0x00008575 }, /* GL_INTERPOLATE_ARB */ { 15850, 0x00008575 }, /* GL_INTERPOLATE_EXT */ { 15869, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ - { 15891, 0x00008B53 }, /* GL_INT_VEC2 */ - { 15903, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 15919, 0x00008B54 }, /* GL_INT_VEC3 */ - { 15931, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 15947, 0x00008B55 }, /* GL_INT_VEC4 */ - { 15959, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 15975, 0x00000500 }, /* GL_INVALID_ENUM */ - { 15991, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ - { 16024, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 16061, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ - { 16098, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 16119, 0x00000501 }, /* GL_INVALID_VALUE */ - { 16136, 0x0000862B }, /* GL_INVERSE_NV */ - { 16150, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 16174, 0x0000150A }, /* GL_INVERT */ - { 16184, 0x00001E00 }, /* GL_KEEP */ - { 16192, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ - { 16218, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ - { 16248, 0x00000406 }, /* GL_LEFT */ - { 16256, 0x00000203 }, /* GL_LEQUAL */ - { 16266, 0x00000201 }, /* GL_LESS */ - { 16274, 0x00004000 }, /* GL_LIGHT0 */ - { 16284, 0x00004001 }, /* GL_LIGHT1 */ - { 16294, 0x00004002 }, /* GL_LIGHT2 */ - { 16304, 0x00004003 }, /* GL_LIGHT3 */ - { 16314, 0x00004004 }, /* GL_LIGHT4 */ - { 16324, 0x00004005 }, /* GL_LIGHT5 */ - { 16334, 0x00004006 }, /* GL_LIGHT6 */ - { 16344, 0x00004007 }, /* GL_LIGHT7 */ - { 16354, 0x00000B50 }, /* GL_LIGHTING */ - { 16366, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 16382, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 16405, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 16434, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 16467, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 16495, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 16519, 0x00001B01 }, /* GL_LINE */ - { 16527, 0x00002601 }, /* GL_LINEAR */ - { 16537, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 16559, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 16589, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 16620, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 16644, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 16669, 0x00000001 }, /* GL_LINES */ - { 16678, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ - { 16701, 0x00000004 }, /* GL_LINE_BIT */ - { 16713, 0x00000002 }, /* GL_LINE_LOOP */ - { 16726, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 16746, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 16761, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 16781, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 16797, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 16821, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 16844, 0x00000003 }, /* GL_LINE_STRIP */ - { 16858, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ - { 16886, 0x00000702 }, /* GL_LINE_TOKEN */ - { 16900, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 16914, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 16940, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 16960, 0x00008B82 }, /* GL_LINK_STATUS */ - { 16975, 0x00000B32 }, /* GL_LIST_BASE */ - { 16988, 0x00020000 }, /* GL_LIST_BIT */ - { 17000, 0x00000B33 }, /* GL_LIST_INDEX */ - { 17014, 0x00000B30 }, /* GL_LIST_MODE */ - { 17027, 0x00000101 }, /* GL_LOAD */ - { 17035, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 17047, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 17064, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 17078, 0x00008DF0 }, /* GL_LOW_FLOAT */ - { 17091, 0x00008DF3 }, /* GL_LOW_INT */ - { 17102, 0x00001909 }, /* GL_LUMINANCE */ - { 17115, 0x00008041 }, /* GL_LUMINANCE12 */ - { 17130, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 17153, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 17180, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 17202, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 17228, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 17247, 0x00008042 }, /* GL_LUMINANCE16 */ - { 17262, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */ - { 17282, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */ - { 17303, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 17326, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 17353, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 17372, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */ - { 17392, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */ - { 17413, 0x0000803F }, /* GL_LUMINANCE4 */ - { 17427, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 17448, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 17473, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 17491, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 17512, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 17537, 0x00008040 }, /* GL_LUMINANCE8 */ - { 17551, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */ - { 17570, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */ - { 17590, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 17611, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 17636, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 17654, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 17673, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */ - { 17699, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */ - { 17726, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */ - { 17752, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */ - { 17779, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */ - { 17804, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */ - { 17830, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ - { 17861, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */ - { 17886, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 17902, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 17922, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 17944, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 17958, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 17973, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 17997, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 18021, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 18045, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 18069, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 18086, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 18103, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 18131, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 18160, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 18189, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 18218, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 18247, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 18276, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 18305, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 18333, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 18361, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 18389, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 18417, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 18445, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 18473, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 18501, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 18529, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 18557, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 18573, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 18593, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 18615, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 18629, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 18644, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 18668, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 18692, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 18716, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 18740, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 18757, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 18774, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 18802, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 18831, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 18860, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 18889, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 18918, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 18947, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 18976, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 19004, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 19032, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 19060, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 19088, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 19116, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 19144, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 19172, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 19200, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 19228, 0x00000D10 }, /* GL_MAP_COLOR */ - { 19241, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ - { 19267, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ - { 19296, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ - { 19324, 0x00000001 }, /* GL_MAP_READ_BIT */ - { 19340, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 19355, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ - { 19381, 0x00000002 }, /* GL_MAP_WRITE_BIT */ - { 19398, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 19413, 0x00008630 }, /* GL_MATRIX0_NV */ - { 19427, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 19443, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 19459, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 19475, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 19491, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 19507, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 19523, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 19539, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 19555, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 19571, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 19587, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 19602, 0x00008631 }, /* GL_MATRIX1_NV */ - { 19616, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 19632, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 19648, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 19664, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 19680, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 19696, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 19712, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 19728, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 19744, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 19760, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 19776, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 19791, 0x00008632 }, /* GL_MATRIX2_NV */ - { 19805, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 19821, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 19837, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 19852, 0x00008633 }, /* GL_MATRIX3_NV */ - { 19866, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 19881, 0x00008634 }, /* GL_MATRIX4_NV */ - { 19895, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 19910, 0x00008635 }, /* GL_MATRIX5_NV */ - { 19924, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 19939, 0x00008636 }, /* GL_MATRIX6_NV */ - { 19953, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 19968, 0x00008637 }, /* GL_MATRIX7_NV */ - { 19982, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 19997, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 20012, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 20038, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - { 20079, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ - { 20105, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 20139, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ - { 20173, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 20204, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ - { 20235, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 20268, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ - { 20301, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 20332, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ - { 20363, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 20378, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 20400, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ - { 20422, 0x00008008 }, /* GL_MAX */ - { 20429, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 20452, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ - { 20479, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 20511, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 20537, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 20570, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 20596, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 20630, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 20649, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ - { 20674, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 20703, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 20735, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 20771, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 20807, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 20847, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 20873, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 20903, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 20928, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 20957, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 20986, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 21019, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ - { 21052, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 21072, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 21096, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 21120, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 21144, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 21169, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 21187, 0x00008008 }, /* GL_MAX_EXT */ - { 21198, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 21233, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 21272, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - { 21304, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ - { 21340, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ - { 21380, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ - { 21424, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ - { 21463, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ - { 21502, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 21516, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 21536, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 21574, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 21603, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 21627, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 21655, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ - { 21683, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 21706, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 21743, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 21779, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 21806, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 21835, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 21869, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 21905, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 21932, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 21964, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 22000, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 22029, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 22058, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 22086, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 22124, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 22168, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 22211, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 22245, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 22284, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 22321, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 22359, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 22402, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 22445, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 22475, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 22506, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 22542, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 22578, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 22608, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 22642, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 22675, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ - { 22700, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 22729, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ - { 22758, 0x00008D57 }, /* GL_MAX_SAMPLES */ - { 22773, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ - { 22792, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - { 22819, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 22839, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 22863, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 22885, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 22911, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 22938, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 22969, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 22993, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ - { 23021, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 23055, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 23075, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 23102, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 23123, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 23148, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 23173, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 23208, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - { 23261, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ - { 23308, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - { 23358, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ - { 23384, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 23406, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 23432, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ - { 23455, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 23477, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 23503, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 23537, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 23575, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 23608, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 23645, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - { 23675, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 23699, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ - { 23723, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ - { 23760, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 23781, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ - { 23797, 0x00008DF4 }, /* GL_MEDIUM_INT */ - { 23811, 0x00008007 }, /* GL_MIN */ - { 23818, 0x0000802E }, /* GL_MINMAX */ - { 23828, 0x0000802E }, /* GL_MINMAX_EXT */ - { 23842, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 23859, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 23880, 0x00008030 }, /* GL_MINMAX_SINK */ - { 23895, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 23914, 0x00008007 }, /* GL_MIN_EXT */ - { 23925, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 23944, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 23967, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 23990, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 24010, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 24030, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 24060, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 24088, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 24116, 0x00001700 }, /* GL_MODELVIEW */ - { 24129, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 24147, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 24166, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 24185, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 24204, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 24223, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 24242, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 24261, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 24280, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 24299, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 24318, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 24337, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 24355, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 24374, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 24393, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 24412, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 24431, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 24450, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 24469, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 24488, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 24507, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 24526, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 24545, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 24563, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 24582, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 24601, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 24619, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 24637, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 24655, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 24673, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 24691, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 24709, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 24727, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 24747, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 24789, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 24816, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 24841, 0x00002100 }, /* GL_MODULATE */ - { 24853, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 24873, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 24900, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 24925, 0x00000103 }, /* GL_MULT */ - { 24933, 0x0000809D }, /* GL_MULTISAMPLE */ - { 24948, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 24968, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 24987, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 25006, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 25030, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 25053, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 25083, 0x00002A25 }, /* GL_N3F_V3F */ - { 25094, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 25114, 0x0000150E }, /* GL_NAND */ - { 25122, 0x00002600 }, /* GL_NEAREST */ - { 25133, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 25164, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 25196, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 25221, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 25247, 0x00000200 }, /* GL_NEVER */ - { 25256, 0x00001102 }, /* GL_NICEST */ - { 25266, 0x00000000 }, /* GL_NONE */ - { 25274, 0x00000000 }, /* GL_NONE_OES */ - { 25286, 0x00001505 }, /* GL_NOOP */ - { 25294, 0x00001508 }, /* GL_NOR */ - { 25301, 0x00000BA1 }, /* GL_NORMALIZE */ - { 25314, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 25330, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 25361, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 25396, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 25420, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 25443, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 25464, 0x00008511 }, /* GL_NORMAL_MAP */ - { 25478, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 25496, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 25513, 0x00008511 }, /* GL_NORMAL_MAP_OES */ - { 25531, 0x00000205 }, /* GL_NOTEQUAL */ - { 25543, 0x00000000 }, /* GL_NO_ERROR */ - { 25555, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 25589, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 25627, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ - { 25661, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ - { 25690, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 25722, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 25764, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 25794, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 25834, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 25865, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 25894, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 25922, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 25952, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 25969, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 25995, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 26011, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 26046, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 26068, 0x00009112 }, /* GL_OBJECT_TYPE */ - { 26083, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 26102, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 26132, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 26153, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 26181, 0x00000001 }, /* GL_ONE */ - { 26188, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 26216, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 26248, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 26276, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 26308, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 26331, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 26354, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 26377, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 26400, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 26418, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 26440, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 26462, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 26478, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 26498, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 26518, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 26536, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 26558, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 26580, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 26596, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 26616, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 26636, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 26654, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 26676, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 26698, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 26714, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 26734, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 26754, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 26775, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 26794, 0x00001507 }, /* GL_OR */ - { 26800, 0x00000A01 }, /* GL_ORDER */ - { 26809, 0x0000150D }, /* GL_OR_INVERTED */ - { 26824, 0x0000150B }, /* GL_OR_REVERSE */ - { 26838, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 26855, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 26873, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 26894, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 26914, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 26932, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 26951, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 26971, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 26991, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 27009, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 27028, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 27053, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 27077, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 27098, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 27120, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 27142, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 27167, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 27191, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 27212, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 27234, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 27256, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 27278, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 27309, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 27329, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 27354, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 27374, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 27399, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 27419, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 27444, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 27464, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 27489, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 27509, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 27534, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 27554, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 27579, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 27599, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 27624, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 27644, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 27669, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 27689, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 27714, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 27734, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 27759, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 27777, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ - { 27798, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ - { 27827, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 27860, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 27885, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ - { 27908, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 27939, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 27974, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 28001, 0x00001B00 }, /* GL_POINT */ - { 28010, 0x00000000 }, /* GL_POINTS */ - { 28020, 0x00000002 }, /* GL_POINT_BIT */ - { 28033, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 28063, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 28097, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 28131, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 28166, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 28195, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 28228, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 28261, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 28295, 0x00000B11 }, /* GL_POINT_SIZE */ - { 28309, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - { 28348, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ - { 28372, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - { 28404, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - { 28435, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - { 28464, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 28490, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 28508, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 28530, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 28552, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 28575, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 28593, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 28615, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 28637, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 28660, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 28680, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 28696, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 28717, 0x00008861 }, /* GL_POINT_SPRITE */ - { 28733, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 28753, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 28782, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 28801, 0x00008861 }, /* GL_POINT_SPRITE_OES */ - { 28821, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 28847, 0x00000701 }, /* GL_POINT_TOKEN */ - { 28862, 0x00000009 }, /* GL_POLYGON */ - { 28873, 0x00000008 }, /* GL_POLYGON_BIT */ - { 28888, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 28904, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 28927, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 28952, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 28975, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 28998, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 29022, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 29046, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 29064, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 29087, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 29106, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 29129, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 29146, 0x00001203 }, /* GL_POSITION */ - { 29158, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 29190, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 29226, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 29259, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 29296, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 29327, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 29362, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 29394, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 29430, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 29463, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 29495, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 29531, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 29564, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 29601, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 29631, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 29665, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 29696, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 29731, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 29762, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 29797, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 29829, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 29865, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 29895, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 29929, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 29960, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 29995, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 30027, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 30058, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 30093, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 30125, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 30161, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 30190, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 30223, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 30253, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 30287, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 30326, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 30359, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 30399, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 30433, 0x00008578 }, /* GL_PREVIOUS */ - { 30445, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 30461, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 30477, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 30494, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 30515, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 30536, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ - { 30564, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */ - { 30594, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */ - { 30618, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 30651, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 30683, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 30706, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ - { 30736, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ - { 30765, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 30788, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 30818, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 30847, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 30875, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 30897, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 30925, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 30953, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 30975, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 30996, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 31036, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 31075, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 31105, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 31140, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 31173, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 31207, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 31246, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 31285, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 31307, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 31333, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 31357, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ - { 31383, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 31406, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 31428, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 31449, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 31470, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 31497, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 31529, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 31561, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 31596, 0x00001701 }, /* GL_PROJECTION */ - { 31610, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 31631, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 31674, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 31700, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ - { 31720, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ - { 31744, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 31765, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 31784, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 31807, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 31846, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 31884, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 31904, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 31934, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 31958, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 31978, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 32008, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 32032, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 32052, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 32085, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 32111, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 32141, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 32172, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 32202, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ - { 32221, 0x00002003 }, /* GL_Q */ - { 32226, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 32251, 0x00000007 }, /* GL_QUADS */ - { 32260, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ - { 32304, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - { 32352, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 32369, 0x00000008 }, /* GL_QUAD_STRIP */ - { 32383, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - { 32413, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ - { 32440, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 32462, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 32488, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ - { 32508, 0x00008866 }, /* GL_QUERY_RESULT */ - { 32524, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 32544, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 32570, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 32600, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ - { 32617, 0x00002002 }, /* GL_R */ - { 32622, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 32634, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ - { 32660, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 32693, 0x00000C02 }, /* GL_READ_BUFFER */ - { 32708, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ - { 32728, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ - { 32756, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 32788, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 32812, 0x000088B8 }, /* GL_READ_ONLY */ - { 32825, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 32842, 0x000088BA }, /* GL_READ_WRITE */ - { 32856, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 32874, 0x00001903 }, /* GL_RED */ - { 32881, 0x00008016 }, /* GL_REDUCE */ - { 32891, 0x00008016 }, /* GL_REDUCE_EXT */ - { 32905, 0x00000D15 }, /* GL_RED_BIAS */ - { 32917, 0x00000D52 }, /* GL_RED_BITS */ - { 32929, 0x00008D94 }, /* GL_RED_INTEGER_EXT */ - { 32948, 0x00000D14 }, /* GL_RED_SCALE */ - { 32961, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 32979, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 33001, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 33022, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ - { 33044, 0x00008A19 }, /* GL_RELEASED_APPLE */ - { 33062, 0x00001C00 }, /* GL_RENDER */ - { 33072, 0x00008D41 }, /* GL_RENDERBUFFER */ - { 33088, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ - { 33115, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ - { 33146, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ - { 33170, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 33198, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ - { 33226, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ - { 33252, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ - { 33282, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ - { 33309, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ - { 33340, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 33360, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ - { 33387, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ - { 33418, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ - { 33441, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 33468, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ - { 33495, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - { 33527, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 33563, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ - { 33599, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ - { 33619, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ - { 33644, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ - { 33673, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ - { 33697, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ - { 33725, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ - { 33754, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ - { 33787, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ - { 33809, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 33835, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ - { 33861, 0x00001F01 }, /* GL_RENDERER */ - { 33873, 0x00000C40 }, /* GL_RENDER_MODE */ - { 33888, 0x00002901 }, /* GL_REPEAT */ - { 33898, 0x00001E01 }, /* GL_REPLACE */ - { 33909, 0x00008062 }, /* GL_REPLACE_EXT */ - { 33924, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 33947, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 33965, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 33987, 0x00008A1B }, /* GL_RETAINED_APPLE */ - { 34005, 0x00000102 }, /* GL_RETURN */ - { 34015, 0x00001907 }, /* GL_RGB */ - { 34022, 0x00008052 }, /* GL_RGB10 */ - { 34031, 0x00008059 }, /* GL_RGB10_A2 */ - { 34043, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 34059, 0x00008052 }, /* GL_RGB10_EXT */ - { 34072, 0x00008053 }, /* GL_RGB12 */ - { 34081, 0x00008053 }, /* GL_RGB12_EXT */ - { 34094, 0x00008054 }, /* GL_RGB16 */ - { 34103, 0x00008D89 }, /* GL_RGB16I_EXT */ - { 34117, 0x00008D77 }, /* GL_RGB16UI_EXT */ - { 34132, 0x00008054 }, /* GL_RGB16_EXT */ - { 34145, 0x0000804E }, /* GL_RGB2_EXT */ - { 34157, 0x00008D83 }, /* GL_RGB32I_EXT */ - { 34171, 0x00008D71 }, /* GL_RGB32UI_EXT */ - { 34186, 0x0000804F }, /* GL_RGB4 */ - { 34194, 0x0000804F }, /* GL_RGB4_EXT */ - { 34206, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 34219, 0x00008050 }, /* GL_RGB5 */ - { 34227, 0x00008D62 }, /* GL_RGB565 */ - { 34237, 0x00008D62 }, /* GL_RGB565_OES */ - { 34251, 0x00008057 }, /* GL_RGB5_A1 */ - { 34262, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 34277, 0x00008057 }, /* GL_RGB5_A1_OES */ - { 34292, 0x00008050 }, /* GL_RGB5_EXT */ - { 34304, 0x00008051 }, /* GL_RGB8 */ - { 34312, 0x00008D8F }, /* GL_RGB8I_EXT */ - { 34325, 0x00008D7D }, /* GL_RGB8UI_EXT */ - { 34339, 0x00008051 }, /* GL_RGB8_EXT */ - { 34351, 0x00008051 }, /* GL_RGB8_OES */ - { 34363, 0x00001908 }, /* GL_RGBA */ - { 34371, 0x0000805A }, /* GL_RGBA12 */ - { 34381, 0x0000805A }, /* GL_RGBA12_EXT */ - { 34395, 0x0000805B }, /* GL_RGBA16 */ - { 34405, 0x00008D88 }, /* GL_RGBA16I_EXT */ - { 34420, 0x00008D76 }, /* GL_RGBA16UI_EXT */ - { 34436, 0x0000805B }, /* GL_RGBA16_EXT */ - { 34450, 0x00008055 }, /* GL_RGBA2 */ - { 34459, 0x00008055 }, /* GL_RGBA2_EXT */ - { 34472, 0x00008D82 }, /* GL_RGBA32I_EXT */ - { 34487, 0x00008D70 }, /* GL_RGBA32UI_EXT */ - { 34503, 0x00008056 }, /* GL_RGBA4 */ - { 34512, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 34531, 0x00008056 }, /* GL_RGBA4_EXT */ - { 34544, 0x00008056 }, /* GL_RGBA4_OES */ - { 34557, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 34571, 0x00008058 }, /* GL_RGBA8 */ - { 34580, 0x00008D8E }, /* GL_RGBA8I_EXT */ - { 34594, 0x00008D7C }, /* GL_RGBA8UI_EXT */ - { 34609, 0x00008058 }, /* GL_RGBA8_EXT */ - { 34622, 0x00008058 }, /* GL_RGBA8_OES */ - { 34635, 0x00008F97 }, /* GL_RGBA8_SNORM */ - { 34650, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 34668, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */ - { 34688, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */ - { 34713, 0x00000C31 }, /* GL_RGBA_MODE */ - { 34726, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 34739, 0x00008F93 }, /* GL_RGBA_SNORM */ - { 34753, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */ - { 34772, 0x000083A0 }, /* GL_RGB_S3TC */ - { 34784, 0x00008573 }, /* GL_RGB_SCALE */ - { 34797, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 34814, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 34831, 0x00000407 }, /* GL_RIGHT */ - { 34840, 0x00002000 }, /* GL_S */ - { 34845, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 34859, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 34880, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 34894, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 34915, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 34929, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ - { 34947, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 34963, 0x000080A9 }, /* GL_SAMPLES */ - { 34974, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 34990, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 35005, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 35023, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 35045, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 35073, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 35105, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 35128, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 35155, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 35173, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 35196, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 35218, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 35237, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 35260, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 35286, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 35316, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 35341, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 35370, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 35385, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 35400, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 35416, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 35441, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 35481, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 35525, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 35558, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 35588, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 35620, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 35650, 0x00001C02 }, /* GL_SELECT */ - { 35660, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 35688, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 35713, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 35729, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ - { 35753, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 35780, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 35811, 0x0000150F }, /* GL_SET */ - { 35818, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ - { 35843, 0x00008DFA }, /* GL_SHADER_COMPILER */ - { 35862, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 35883, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 35907, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 35922, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 35937, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 35965, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 35988, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 36018, 0x00001601 }, /* GL_SHININESS */ - { 36031, 0x00001402 }, /* GL_SHORT */ - { 36040, 0x00009119 }, /* GL_SIGNALED */ - { 36052, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ - { 36073, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 36089, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 36109, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 36128, 0x00008C46 }, /* GL_SLUMINANCE */ - { 36142, 0x00008C47 }, /* GL_SLUMINANCE8 */ - { 36157, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ - { 36179, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ - { 36199, 0x00001D01 }, /* GL_SMOOTH */ - { 36209, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 36242, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 36269, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 36302, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 36329, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 36346, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 36367, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 36388, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 36403, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 36422, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 36441, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 36458, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 36479, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 36500, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 36515, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 36534, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 36553, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 36570, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 36591, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 36612, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 36627, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 36646, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 36665, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 36685, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 36703, 0x00001202 }, /* GL_SPECULAR */ - { 36715, 0x00002402 }, /* GL_SPHERE_MAP */ - { 36729, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 36744, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 36762, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 36779, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 36793, 0x00008580 }, /* GL_SRC0_RGB */ - { 36805, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 36819, 0x00008581 }, /* GL_SRC1_RGB */ - { 36831, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 36845, 0x00008582 }, /* GL_SRC2_RGB */ - { 36857, 0x00000302 }, /* GL_SRC_ALPHA */ - { 36870, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 36892, 0x00000300 }, /* GL_SRC_COLOR */ - { 36905, 0x00008C40 }, /* GL_SRGB */ - { 36913, 0x00008C41 }, /* GL_SRGB8 */ - { 36922, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ - { 36938, 0x00008C42 }, /* GL_SRGB_ALPHA */ - { 36952, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 36970, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 36989, 0x000088E6 }, /* GL_STATIC_COPY */ - { 37004, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 37023, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 37038, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 37057, 0x000088E5 }, /* GL_STATIC_READ */ - { 37072, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 37091, 0x00001802 }, /* GL_STENCIL */ - { 37102, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ - { 37124, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 37150, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ - { 37176, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 37197, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 37222, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 37243, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 37268, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 37300, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 37336, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 37368, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 37404, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 37424, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 37451, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 37477, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 37493, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 37515, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 37538, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 37554, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 37570, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 37587, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ - { 37605, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ - { 37624, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 37647, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 37669, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ - { 37691, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ - { 37709, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 37731, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ - { 37753, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ - { 37771, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 37793, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ - { 37815, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 37836, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 37863, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 37890, 0x00000B97 }, /* GL_STENCIL_REF */ - { 37905, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 37921, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 37950, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 37972, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 37993, 0x00000C33 }, /* GL_STEREO */ - { 38003, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ - { 38027, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ - { 38052, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ - { 38076, 0x000088E2 }, /* GL_STREAM_COPY */ - { 38091, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 38110, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 38125, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 38144, 0x000088E1 }, /* GL_STREAM_READ */ - { 38159, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 38178, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 38195, 0x000084E7 }, /* GL_SUBTRACT */ - { 38207, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 38223, 0x00009113 }, /* GL_SYNC_CONDITION */ - { 38241, 0x00009116 }, /* GL_SYNC_FENCE */ - { 38255, 0x00009115 }, /* GL_SYNC_FLAGS */ - { 38269, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ - { 38296, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - { 38326, 0x00009114 }, /* GL_SYNC_STATUS */ - { 38341, 0x00002001 }, /* GL_T */ - { 38346, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 38361, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 38380, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 38396, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 38411, 0x00002A27 }, /* GL_T2F_V3F */ - { 38422, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 38441, 0x00002A28 }, /* GL_T4F_V4F */ - { 38452, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 38475, 0x00001702 }, /* GL_TEXTURE */ - { 38486, 0x000084C0 }, /* GL_TEXTURE0 */ - { 38498, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 38514, 0x000084C1 }, /* GL_TEXTURE1 */ - { 38526, 0x000084CA }, /* GL_TEXTURE10 */ - { 38539, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 38556, 0x000084CB }, /* GL_TEXTURE11 */ - { 38569, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 38586, 0x000084CC }, /* GL_TEXTURE12 */ - { 38599, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 38616, 0x000084CD }, /* GL_TEXTURE13 */ - { 38629, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 38646, 0x000084CE }, /* GL_TEXTURE14 */ - { 38659, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 38676, 0x000084CF }, /* GL_TEXTURE15 */ - { 38689, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 38706, 0x000084D0 }, /* GL_TEXTURE16 */ - { 38719, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 38736, 0x000084D1 }, /* GL_TEXTURE17 */ - { 38749, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 38766, 0x000084D2 }, /* GL_TEXTURE18 */ - { 38779, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 38796, 0x000084D3 }, /* GL_TEXTURE19 */ - { 38809, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 38826, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 38842, 0x000084C2 }, /* GL_TEXTURE2 */ - { 38854, 0x000084D4 }, /* GL_TEXTURE20 */ - { 38867, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 38884, 0x000084D5 }, /* GL_TEXTURE21 */ - { 38897, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 38914, 0x000084D6 }, /* GL_TEXTURE22 */ - { 38927, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 38944, 0x000084D7 }, /* GL_TEXTURE23 */ - { 38957, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 38974, 0x000084D8 }, /* GL_TEXTURE24 */ - { 38987, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 39004, 0x000084D9 }, /* GL_TEXTURE25 */ - { 39017, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 39034, 0x000084DA }, /* GL_TEXTURE26 */ - { 39047, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 39064, 0x000084DB }, /* GL_TEXTURE27 */ - { 39077, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 39094, 0x000084DC }, /* GL_TEXTURE28 */ - { 39107, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 39124, 0x000084DD }, /* GL_TEXTURE29 */ - { 39137, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 39154, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 39170, 0x000084C3 }, /* GL_TEXTURE3 */ - { 39182, 0x000084DE }, /* GL_TEXTURE30 */ - { 39195, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 39212, 0x000084DF }, /* GL_TEXTURE31 */ - { 39225, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 39242, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 39258, 0x000084C4 }, /* GL_TEXTURE4 */ - { 39270, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 39286, 0x000084C5 }, /* GL_TEXTURE5 */ - { 39298, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 39314, 0x000084C6 }, /* GL_TEXTURE6 */ - { 39326, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 39342, 0x000084C7 }, /* GL_TEXTURE7 */ - { 39354, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 39370, 0x000084C8 }, /* GL_TEXTURE8 */ - { 39382, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 39398, 0x000084C9 }, /* GL_TEXTURE9 */ - { 39410, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 39426, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 39440, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 39464, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 39478, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 39502, 0x0000806F }, /* GL_TEXTURE_3D */ - { 39516, 0x0000806F }, /* GL_TEXTURE_3D_OES */ - { 39534, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 39556, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 39582, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 39604, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 39626, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 39658, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 39680, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 39712, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 39734, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ - { 39760, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 39788, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 39820, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ - { 39852, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 39885, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 39917, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 39932, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 39953, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 39978, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 39996, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 40020, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 40051, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 40081, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 40111, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 40146, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 40177, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 40215, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 40242, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 40274, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 40308, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 40332, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 40360, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 40384, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 40412, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 40445, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 40469, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 40491, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 40513, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 40539, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 40573, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 40606, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 40643, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 40671, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 40703, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 40726, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 40764, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 40806, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 40837, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 40865, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 40895, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 40923, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ - { 40948, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 40968, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 40992, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 41023, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 41058, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ - { 41093, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 41124, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 41159, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ - { 41194, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 41225, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 41260, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ - { 41295, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ - { 41319, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 41350, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 41385, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ - { 41420, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 41451, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 41486, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ - { 41521, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 41552, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 41587, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ - { 41622, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - { 41651, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 41668, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 41690, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 41716, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 41731, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 41752, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 41772, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 41798, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ - { 41828, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 41848, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ - { 41872, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 41889, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 41906, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 41923, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ - { 41946, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 41963, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 41988, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 42010, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 42036, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 42054, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 42080, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 42106, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 42136, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 42163, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 42188, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 42208, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 42232, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 42259, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 42286, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 42313, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 42339, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 42369, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 42391, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 42409, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 42449, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 42479, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 42507, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 42535, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 42563, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 42584, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 42603, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 42625, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 42644, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 42664, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - { 42694, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - { 42725, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 42750, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 42774, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 42794, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 42818, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 42838, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 42861, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ - { 42885, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ - { 42913, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - { 42943, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 42968, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 43002, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 43019, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 43037, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ - { 43059, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 43077, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 43095, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ - { 43114, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 43134, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 43153, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 43182, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 43199, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ - { 43221, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ - { 43251, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ - { 43287, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - { 43328, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - { 43361, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - { 43399, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ - { 43435, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - { 43473, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - { 43512, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - { 43557, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - { 43592, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - { 43637, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 43663, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 43693, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 43725, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 43755, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 43789, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 43805, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 43836, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 43871, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 43899, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 43931, 0x00000004 }, /* GL_TRIANGLES */ - { 43944, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ - { 43971, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 43987, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 44008, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 44026, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ - { 44058, 0x00000001 }, /* GL_TRUE */ - { 44066, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ - { 44085, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 44105, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 44128, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 44148, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 44169, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 44191, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 44213, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 44233, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 44254, 0x00009118 }, /* GL_UNSIGNALED */ - { 44268, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 44285, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 44312, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 44335, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 44351, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 44378, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ - { 44409, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ - { 44430, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ - { 44455, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 44479, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ - { 44504, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 44535, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ - { 44570, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 44594, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 44622, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ - { 44645, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 44663, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 44693, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ - { 44727, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 44753, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 44783, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ - { 44817, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 44843, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 44867, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 44895, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 44923, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 44950, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 44982, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 45013, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 45027, 0x00002A20 }, /* GL_V2F */ - { 45034, 0x00002A21 }, /* GL_V3F */ - { 45041, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 45060, 0x00001F00 }, /* GL_VENDOR */ - { 45070, 0x00001F02 }, /* GL_VERSION */ - { 45081, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 45097, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ - { 45121, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 45151, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 45182, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 45217, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 45241, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 45262, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 45285, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 45306, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 45333, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 45361, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 45389, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 45417, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 45445, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 45473, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 45501, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 45528, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 45555, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 45582, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 45609, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 45636, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 45663, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 45690, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 45717, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 45744, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 45782, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 45824, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 45855, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 45890, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 45924, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 45962, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 45993, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 46028, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 46056, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 46088, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 46118, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 46152, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 46180, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 46212, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 46232, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 46254, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 46283, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 46304, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 46333, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 46366, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 46398, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 46425, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 46456, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 46486, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 46503, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 46524, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 46551, 0x00000BA2 }, /* GL_VIEWPORT */ - { 46563, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 46579, 0x00008A1A }, /* GL_VOLATILE_APPLE */ - { 46597, 0x0000911D }, /* GL_WAIT_FAILED */ - { 46612, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 46632, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 46663, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 46698, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ - { 46733, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ - { 46753, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 46781, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ - { 46809, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 46834, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ - { 46859, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 46886, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ - { 46913, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 46938, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ - { 46963, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 46987, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 47006, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 47020, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 47038, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ - { 47056, 0x00001506 }, /* GL_XOR */ - { 47063, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 47082, 0x00008757 }, /* GL_YCBCR_MESA */ - { 47096, 0x00000000 }, /* GL_ZERO */ - { 47104, 0x00000D16 }, /* GL_ZOOM_X */ - { 47114, 0x00000D17 }, /* GL_ZOOM_Y */ + { 15891, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY_EXT */ + { 15919, 0x00008DC9 }, /* GL_INT_SAMPLER_1D_EXT */ + { 15941, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY_EXT */ + { 15969, 0x00008DCA }, /* GL_INT_SAMPLER_2D_EXT */ + { 15991, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT_EXT */ + { 16018, 0x00008DCB }, /* GL_INT_SAMPLER_3D_EXT */ + { 16040, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER_EXT */ + { 16066, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE_EXT */ + { 16090, 0x00008B53 }, /* GL_INT_VEC2 */ + { 16102, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 16118, 0x00008B54 }, /* GL_INT_VEC3 */ + { 16130, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 16146, 0x00008B55 }, /* GL_INT_VEC4 */ + { 16158, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 16174, 0x00000500 }, /* GL_INVALID_ENUM */ + { 16190, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 16223, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 16260, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ + { 16297, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 16318, 0x00000501 }, /* GL_INVALID_VALUE */ + { 16335, 0x0000862B }, /* GL_INVERSE_NV */ + { 16349, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 16373, 0x0000150A }, /* GL_INVERT */ + { 16383, 0x00001E00 }, /* GL_KEEP */ + { 16391, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ + { 16417, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 16447, 0x00000406 }, /* GL_LEFT */ + { 16455, 0x00000203 }, /* GL_LEQUAL */ + { 16465, 0x00000201 }, /* GL_LESS */ + { 16473, 0x00004000 }, /* GL_LIGHT0 */ + { 16483, 0x00004001 }, /* GL_LIGHT1 */ + { 16493, 0x00004002 }, /* GL_LIGHT2 */ + { 16503, 0x00004003 }, /* GL_LIGHT3 */ + { 16513, 0x00004004 }, /* GL_LIGHT4 */ + { 16523, 0x00004005 }, /* GL_LIGHT5 */ + { 16533, 0x00004006 }, /* GL_LIGHT6 */ + { 16543, 0x00004007 }, /* GL_LIGHT7 */ + { 16553, 0x00000B50 }, /* GL_LIGHTING */ + { 16565, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 16581, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 16604, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 16633, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 16666, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 16694, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 16718, 0x00001B01 }, /* GL_LINE */ + { 16726, 0x00002601 }, /* GL_LINEAR */ + { 16736, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 16758, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 16788, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 16819, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 16843, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 16868, 0x00000001 }, /* GL_LINES */ + { 16877, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ + { 16900, 0x00000004 }, /* GL_LINE_BIT */ + { 16912, 0x00000002 }, /* GL_LINE_LOOP */ + { 16925, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 16945, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 16960, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 16980, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 16996, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 17020, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 17043, 0x00000003 }, /* GL_LINE_STRIP */ + { 17057, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ + { 17085, 0x00000702 }, /* GL_LINE_TOKEN */ + { 17099, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 17113, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 17139, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 17159, 0x00008B82 }, /* GL_LINK_STATUS */ + { 17174, 0x00000B32 }, /* GL_LIST_BASE */ + { 17187, 0x00020000 }, /* GL_LIST_BIT */ + { 17199, 0x00000B33 }, /* GL_LIST_INDEX */ + { 17213, 0x00000B30 }, /* GL_LIST_MODE */ + { 17226, 0x00000101 }, /* GL_LOAD */ + { 17234, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 17246, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 17263, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 17277, 0x00008DF0 }, /* GL_LOW_FLOAT */ + { 17290, 0x00008DF3 }, /* GL_LOW_INT */ + { 17301, 0x00001909 }, /* GL_LUMINANCE */ + { 17314, 0x00008041 }, /* GL_LUMINANCE12 */ + { 17329, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 17352, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 17379, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 17401, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 17427, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 17446, 0x00008042 }, /* GL_LUMINANCE16 */ + { 17461, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */ + { 17481, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */ + { 17502, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 17525, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 17552, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 17571, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */ + { 17591, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */ + { 17612, 0x0000803F }, /* GL_LUMINANCE4 */ + { 17626, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 17647, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 17672, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 17690, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 17711, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 17736, 0x00008040 }, /* GL_LUMINANCE8 */ + { 17750, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */ + { 17769, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */ + { 17789, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 17810, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 17835, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 17853, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 17872, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */ + { 17898, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */ + { 17925, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */ + { 17951, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */ + { 17978, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */ + { 18003, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */ + { 18029, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + { 18060, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */ + { 18085, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 18101, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 18121, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 18143, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 18157, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 18172, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 18196, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 18220, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 18244, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 18268, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 18285, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 18302, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 18330, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 18359, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 18388, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 18417, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 18446, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 18475, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 18504, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 18532, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 18560, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 18588, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 18616, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 18644, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 18672, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 18700, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 18728, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 18756, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 18772, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 18792, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 18814, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 18828, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 18843, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 18867, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 18891, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 18915, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 18939, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 18956, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 18973, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 19001, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 19030, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 19059, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 19088, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 19117, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 19146, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 19175, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 19203, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 19231, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 19259, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 19287, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 19315, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 19343, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 19371, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 19399, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 19427, 0x00000D10 }, /* GL_MAP_COLOR */ + { 19440, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 19466, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 19495, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 19523, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 19539, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 19554, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 19580, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 19597, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 19612, 0x00008630 }, /* GL_MATRIX0_NV */ + { 19626, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 19642, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 19658, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 19674, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 19690, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 19706, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 19722, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 19738, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 19754, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 19770, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 19786, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 19801, 0x00008631 }, /* GL_MATRIX1_NV */ + { 19815, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 19831, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 19847, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 19863, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 19879, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 19895, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 19911, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 19927, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 19943, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 19959, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 19975, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 19990, 0x00008632 }, /* GL_MATRIX2_NV */ + { 20004, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 20020, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 20036, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 20051, 0x00008633 }, /* GL_MATRIX3_NV */ + { 20065, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 20080, 0x00008634 }, /* GL_MATRIX4_NV */ + { 20094, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 20109, 0x00008635 }, /* GL_MATRIX5_NV */ + { 20123, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 20138, 0x00008636 }, /* GL_MATRIX6_NV */ + { 20152, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 20167, 0x00008637 }, /* GL_MATRIX7_NV */ + { 20181, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 20196, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 20211, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 20237, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + { 20278, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ + { 20304, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 20338, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ + { 20372, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 20403, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ + { 20434, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 20467, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ + { 20500, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 20531, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ + { 20562, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 20577, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 20599, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ + { 20621, 0x00008008 }, /* GL_MAX */ + { 20628, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 20651, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ + { 20678, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 20710, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 20736, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 20769, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 20795, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 20829, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 20848, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ + { 20873, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 20902, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 20934, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 20970, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 21006, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 21046, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 21072, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 21102, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 21127, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 21156, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 21185, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 21218, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ + { 21251, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 21271, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 21295, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 21319, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 21343, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 21368, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 21386, 0x00008008 }, /* GL_MAX_EXT */ + { 21397, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 21432, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 21471, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + { 21503, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ + { 21539, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ + { 21579, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ + { 21623, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ + { 21662, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + { 21701, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 21715, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 21735, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 21773, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 21802, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 21826, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 21854, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ + { 21882, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 21905, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 21942, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 21978, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 22005, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 22034, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 22068, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 22104, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 22131, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 22163, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 22199, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 22228, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 22257, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 22285, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 22323, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 22367, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 22410, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 22444, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 22483, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 22520, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 22558, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 22601, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 22644, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 22674, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 22705, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */ + { 22737, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 22773, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 22809, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 22839, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 22873, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 22906, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ + { 22931, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 22960, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ + { 22989, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 23004, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ + { 23023, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 23050, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 23070, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 23094, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 23116, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 23142, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 23169, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 23200, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 23224, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ + { 23252, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 23286, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 23306, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 23333, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 23354, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 23379, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 23404, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 23439, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + { 23492, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + { 23539, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + { 23589, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ + { 23615, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 23637, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 23663, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ + { 23686, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 23708, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 23734, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 23768, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 23806, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 23839, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 23876, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + { 23906, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 23930, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ + { 23954, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + { 23991, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 24012, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ + { 24028, 0x00008DF4 }, /* GL_MEDIUM_INT */ + { 24042, 0x00008007 }, /* GL_MIN */ + { 24049, 0x0000802E }, /* GL_MINMAX */ + { 24059, 0x0000802E }, /* GL_MINMAX_EXT */ + { 24073, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 24090, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 24111, 0x00008030 }, /* GL_MINMAX_SINK */ + { 24126, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 24145, 0x00008007 }, /* GL_MIN_EXT */ + { 24156, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */ + { 24188, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 24207, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 24230, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 24253, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 24273, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 24293, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 24323, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 24351, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 24379, 0x00001700 }, /* GL_MODELVIEW */ + { 24392, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 24410, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 24429, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 24448, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 24467, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 24486, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 24505, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 24524, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 24543, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 24562, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 24581, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 24600, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 24618, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 24637, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 24656, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 24675, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 24694, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 24713, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 24732, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 24751, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 24770, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 24789, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 24808, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 24826, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 24845, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 24864, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 24882, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 24900, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 24918, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 24936, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 24954, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 24972, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 24990, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 25010, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 25052, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 25079, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 25104, 0x00002100 }, /* GL_MODULATE */ + { 25116, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 25136, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 25163, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 25188, 0x00000103 }, /* GL_MULT */ + { 25196, 0x0000809D }, /* GL_MULTISAMPLE */ + { 25211, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 25231, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 25250, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 25269, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 25293, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 25316, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 25346, 0x00002A25 }, /* GL_N3F_V3F */ + { 25357, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 25377, 0x0000150E }, /* GL_NAND */ + { 25385, 0x00002600 }, /* GL_NEAREST */ + { 25396, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 25427, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 25459, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 25484, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 25510, 0x00000200 }, /* GL_NEVER */ + { 25519, 0x00001102 }, /* GL_NICEST */ + { 25529, 0x00000000 }, /* GL_NONE */ + { 25537, 0x00000000 }, /* GL_NONE_OES */ + { 25549, 0x00001505 }, /* GL_NOOP */ + { 25557, 0x00001508 }, /* GL_NOR */ + { 25564, 0x00000BA1 }, /* GL_NORMALIZE */ + { 25577, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 25593, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 25624, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 25659, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 25683, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 25706, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 25727, 0x00008511 }, /* GL_NORMAL_MAP */ + { 25741, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 25759, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 25776, 0x00008511 }, /* GL_NORMAL_MAP_OES */ + { 25794, 0x00000205 }, /* GL_NOTEQUAL */ + { 25806, 0x00000000 }, /* GL_NO_ERROR */ + { 25818, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 25852, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 25890, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + { 25924, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ + { 25953, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 25985, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 26027, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 26057, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 26097, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 26128, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 26157, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 26185, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 26215, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 26232, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 26258, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 26274, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 26309, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 26331, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 26346, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 26365, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 26395, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 26416, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 26444, 0x00000001 }, /* GL_ONE */ + { 26451, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 26479, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 26511, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 26539, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 26571, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 26594, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 26617, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 26640, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 26663, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 26681, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 26703, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 26725, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 26741, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 26761, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 26781, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 26799, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 26821, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 26843, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 26859, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 26879, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 26899, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 26917, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 26939, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 26961, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 26977, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 26997, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 27017, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 27038, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 27057, 0x00001507 }, /* GL_OR */ + { 27063, 0x00000A01 }, /* GL_ORDER */ + { 27072, 0x0000150D }, /* GL_OR_INVERTED */ + { 27087, 0x0000150B }, /* GL_OR_REVERSE */ + { 27101, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 27118, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 27136, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 27157, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 27177, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 27195, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 27214, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 27234, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 27254, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 27272, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 27291, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 27316, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 27340, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 27361, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 27383, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 27405, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 27430, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 27454, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 27475, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 27497, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 27519, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 27541, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 27572, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 27592, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 27617, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 27637, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 27662, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 27682, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 27707, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 27727, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 27752, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 27772, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 27797, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 27817, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 27842, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 27862, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 27887, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 27907, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 27932, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 27952, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 27977, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 27997, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 28022, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 28040, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 28061, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 28090, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 28123, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 28148, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 28171, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 28202, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 28237, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 28264, 0x00001B00 }, /* GL_POINT */ + { 28273, 0x00000000 }, /* GL_POINTS */ + { 28283, 0x00000002 }, /* GL_POINT_BIT */ + { 28296, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 28326, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 28360, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 28394, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 28429, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 28458, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 28491, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 28524, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 28558, 0x00000B11 }, /* GL_POINT_SIZE */ + { 28572, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + { 28611, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ + { 28635, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + { 28667, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + { 28698, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + { 28727, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 28753, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 28771, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 28793, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 28815, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 28838, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 28856, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 28878, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 28900, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 28923, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 28943, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 28959, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 28980, 0x00008861 }, /* GL_POINT_SPRITE */ + { 28996, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 29016, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 29045, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 29064, 0x00008861 }, /* GL_POINT_SPRITE_OES */ + { 29084, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 29110, 0x00000701 }, /* GL_POINT_TOKEN */ + { 29125, 0x00000009 }, /* GL_POLYGON */ + { 29136, 0x00000008 }, /* GL_POLYGON_BIT */ + { 29151, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 29167, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 29190, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 29215, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 29238, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 29261, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 29285, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 29309, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 29327, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 29350, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 29369, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 29392, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 29409, 0x00001203 }, /* GL_POSITION */ + { 29421, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 29453, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 29489, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 29522, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 29559, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 29590, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 29625, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 29657, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 29693, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 29726, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 29758, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 29794, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 29827, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 29864, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 29894, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 29928, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 29959, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 29994, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 30025, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 30060, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 30092, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 30128, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 30158, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 30192, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 30223, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 30258, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 30290, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 30321, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 30356, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 30388, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 30424, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 30453, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 30486, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 30516, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 30550, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 30589, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 30622, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 30662, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 30696, 0x00008578 }, /* GL_PREVIOUS */ + { 30708, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 30724, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 30740, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 30757, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 30778, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 30799, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ + { 30827, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + { 30857, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */ + { 30881, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 30914, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 30946, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 30969, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ + { 30999, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ + { 31028, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 31051, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 31081, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 31110, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 31138, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 31160, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 31188, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 31216, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 31238, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 31259, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 31299, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 31338, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 31368, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 31403, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 31436, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 31470, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 31509, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 31548, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 31570, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 31596, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 31620, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ + { 31646, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 31669, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 31691, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 31712, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 31733, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 31760, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 31792, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 31824, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 31859, 0x00001701 }, /* GL_PROJECTION */ + { 31873, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 31894, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 31937, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 31963, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ + { 31983, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 32007, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 32028, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 32047, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 32070, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 32109, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 32147, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 32167, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 32197, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 32221, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 32241, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 32271, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 32295, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 32315, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 32348, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 32374, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 32404, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 32435, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 32465, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ + { 32484, 0x00002003 }, /* GL_Q */ + { 32489, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 32514, 0x00000007 }, /* GL_QUADS */ + { 32523, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + { 32567, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 32615, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 32632, 0x00000008 }, /* GL_QUAD_STRIP */ + { 32646, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + { 32676, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ + { 32703, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 32725, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 32751, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ + { 32771, 0x00008866 }, /* GL_QUERY_RESULT */ + { 32787, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 32807, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 32833, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 32863, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ + { 32880, 0x00002002 }, /* GL_R */ + { 32885, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 32897, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ + { 32923, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 32956, 0x00000C02 }, /* GL_READ_BUFFER */ + { 32971, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 32991, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ + { 33019, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 33051, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 33075, 0x000088B8 }, /* GL_READ_ONLY */ + { 33088, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 33105, 0x000088BA }, /* GL_READ_WRITE */ + { 33119, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 33137, 0x00001903 }, /* GL_RED */ + { 33144, 0x00008016 }, /* GL_REDUCE */ + { 33154, 0x00008016 }, /* GL_REDUCE_EXT */ + { 33168, 0x00000D15 }, /* GL_RED_BIAS */ + { 33180, 0x00000D52 }, /* GL_RED_BITS */ + { 33192, 0x00008D94 }, /* GL_RED_INTEGER_EXT */ + { 33211, 0x00000D14 }, /* GL_RED_SCALE */ + { 33224, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 33242, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 33264, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 33285, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ + { 33307, 0x00008A19 }, /* GL_RELEASED_APPLE */ + { 33325, 0x00001C00 }, /* GL_RENDER */ + { 33335, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 33351, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 33378, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ + { 33409, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ + { 33433, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 33461, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ + { 33489, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 33515, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ + { 33545, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 33572, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ + { 33603, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 33623, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 33650, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ + { 33681, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 33704, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 33731, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ + { 33758, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 33790, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 33826, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ + { 33862, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ + { 33882, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 33907, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ + { 33936, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 33960, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ + { 33988, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 34017, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ + { 34050, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 34072, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 34098, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ + { 34124, 0x00001F01 }, /* GL_RENDERER */ + { 34136, 0x00000C40 }, /* GL_RENDER_MODE */ + { 34151, 0x00002901 }, /* GL_REPEAT */ + { 34161, 0x00001E01 }, /* GL_REPLACE */ + { 34172, 0x00008062 }, /* GL_REPLACE_EXT */ + { 34187, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 34210, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 34228, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 34250, 0x00008A1B }, /* GL_RETAINED_APPLE */ + { 34268, 0x00000102 }, /* GL_RETURN */ + { 34278, 0x00001907 }, /* GL_RGB */ + { 34285, 0x00008052 }, /* GL_RGB10 */ + { 34294, 0x00008059 }, /* GL_RGB10_A2 */ + { 34306, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 34322, 0x00008052 }, /* GL_RGB10_EXT */ + { 34335, 0x00008053 }, /* GL_RGB12 */ + { 34344, 0x00008053 }, /* GL_RGB12_EXT */ + { 34357, 0x00008054 }, /* GL_RGB16 */ + { 34366, 0x00008D89 }, /* GL_RGB16I_EXT */ + { 34380, 0x00008D77 }, /* GL_RGB16UI_EXT */ + { 34395, 0x00008054 }, /* GL_RGB16_EXT */ + { 34408, 0x0000804E }, /* GL_RGB2_EXT */ + { 34420, 0x00008D83 }, /* GL_RGB32I_EXT */ + { 34434, 0x00008D71 }, /* GL_RGB32UI_EXT */ + { 34449, 0x0000804F }, /* GL_RGB4 */ + { 34457, 0x0000804F }, /* GL_RGB4_EXT */ + { 34469, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 34482, 0x00008050 }, /* GL_RGB5 */ + { 34490, 0x00008D62 }, /* GL_RGB565 */ + { 34500, 0x00008D62 }, /* GL_RGB565_OES */ + { 34514, 0x00008057 }, /* GL_RGB5_A1 */ + { 34525, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 34540, 0x00008057 }, /* GL_RGB5_A1_OES */ + { 34555, 0x00008050 }, /* GL_RGB5_EXT */ + { 34567, 0x00008051 }, /* GL_RGB8 */ + { 34575, 0x00008D8F }, /* GL_RGB8I_EXT */ + { 34588, 0x00008D7D }, /* GL_RGB8UI_EXT */ + { 34602, 0x00008051 }, /* GL_RGB8_EXT */ + { 34614, 0x00008051 }, /* GL_RGB8_OES */ + { 34626, 0x00001908 }, /* GL_RGBA */ + { 34634, 0x0000805A }, /* GL_RGBA12 */ + { 34644, 0x0000805A }, /* GL_RGBA12_EXT */ + { 34658, 0x0000805B }, /* GL_RGBA16 */ + { 34668, 0x00008D88 }, /* GL_RGBA16I_EXT */ + { 34683, 0x00008D76 }, /* GL_RGBA16UI_EXT */ + { 34699, 0x0000805B }, /* GL_RGBA16_EXT */ + { 34713, 0x00008055 }, /* GL_RGBA2 */ + { 34722, 0x00008055 }, /* GL_RGBA2_EXT */ + { 34735, 0x00008D82 }, /* GL_RGBA32I_EXT */ + { 34750, 0x00008D70 }, /* GL_RGBA32UI_EXT */ + { 34766, 0x00008056 }, /* GL_RGBA4 */ + { 34775, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 34794, 0x00008056 }, /* GL_RGBA4_EXT */ + { 34807, 0x00008056 }, /* GL_RGBA4_OES */ + { 34820, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 34834, 0x00008058 }, /* GL_RGBA8 */ + { 34843, 0x00008D8E }, /* GL_RGBA8I_EXT */ + { 34857, 0x00008D7C }, /* GL_RGBA8UI_EXT */ + { 34872, 0x00008058 }, /* GL_RGBA8_EXT */ + { 34885, 0x00008058 }, /* GL_RGBA8_OES */ + { 34898, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 34913, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 34931, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */ + { 34951, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */ + { 34976, 0x00000C31 }, /* GL_RGBA_MODE */ + { 34989, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 35002, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 35016, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */ + { 35035, 0x000083A0 }, /* GL_RGB_S3TC */ + { 35047, 0x00008573 }, /* GL_RGB_SCALE */ + { 35060, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 35077, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 35094, 0x00000407 }, /* GL_RIGHT */ + { 35103, 0x00002000 }, /* GL_S */ + { 35108, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 35122, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY_EXT */ + { 35146, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */ + { 35177, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 35198, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 35212, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY_EXT */ + { 35236, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */ + { 35267, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 35288, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 35302, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ + { 35320, 0x00008DC2 }, /* GL_SAMPLER_BUFFER_EXT */ + { 35342, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 35358, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW_EXT */ + { 35385, 0x000080A9 }, /* GL_SAMPLES */ + { 35396, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 35412, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 35427, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 35445, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 35467, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 35495, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 35527, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 35550, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 35577, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 35595, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 35618, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 35640, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 35659, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 35682, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 35708, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 35738, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 35763, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 35792, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 35807, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 35822, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 35838, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 35863, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 35903, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 35947, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 35980, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 36010, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 36042, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 36072, 0x00001C02 }, /* GL_SELECT */ + { 36082, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 36110, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 36135, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 36151, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ + { 36175, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 36202, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 36233, 0x0000150F }, /* GL_SET */ + { 36240, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ + { 36265, 0x00008DFA }, /* GL_SHADER_COMPILER */ + { 36284, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 36305, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 36329, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 36344, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 36359, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 36387, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 36410, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 36440, 0x00001601 }, /* GL_SHININESS */ + { 36453, 0x00001402 }, /* GL_SHORT */ + { 36462, 0x00009119 }, /* GL_SIGNALED */ + { 36474, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 36495, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 36511, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 36531, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 36550, 0x00008C46 }, /* GL_SLUMINANCE */ + { 36564, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 36579, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 36601, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 36621, 0x00001D01 }, /* GL_SMOOTH */ + { 36631, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 36664, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 36691, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 36724, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 36751, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 36768, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 36789, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 36810, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 36825, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 36844, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 36863, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 36880, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 36901, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 36922, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 36937, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 36956, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 36975, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 36992, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 37013, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 37034, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 37049, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 37068, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 37087, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 37107, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 37125, 0x00001202 }, /* GL_SPECULAR */ + { 37137, 0x00002402 }, /* GL_SPHERE_MAP */ + { 37151, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 37166, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 37184, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 37201, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 37215, 0x00008580 }, /* GL_SRC0_RGB */ + { 37227, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 37241, 0x00008581 }, /* GL_SRC1_RGB */ + { 37253, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 37267, 0x00008582 }, /* GL_SRC2_RGB */ + { 37279, 0x00000302 }, /* GL_SRC_ALPHA */ + { 37292, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 37314, 0x00000300 }, /* GL_SRC_COLOR */ + { 37327, 0x00008C40 }, /* GL_SRGB */ + { 37335, 0x00008C41 }, /* GL_SRGB8 */ + { 37344, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 37360, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 37374, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 37392, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 37411, 0x000088E6 }, /* GL_STATIC_COPY */ + { 37426, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 37445, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 37460, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 37479, 0x000088E5 }, /* GL_STATIC_READ */ + { 37494, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 37513, 0x00001802 }, /* GL_STENCIL */ + { 37524, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 37546, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 37572, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ + { 37598, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 37619, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 37644, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 37665, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 37690, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 37722, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 37758, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 37790, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 37826, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 37846, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 37873, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 37899, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 37915, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 37937, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 37960, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 37976, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 37992, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 38009, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ + { 38027, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ + { 38046, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 38069, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 38091, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ + { 38113, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ + { 38131, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 38153, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ + { 38175, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ + { 38193, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 38215, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ + { 38237, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 38258, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 38285, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 38312, 0x00000B97 }, /* GL_STENCIL_REF */ + { 38327, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 38343, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 38372, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 38394, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 38415, 0x00000C33 }, /* GL_STEREO */ + { 38425, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 38449, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 38474, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 38498, 0x000088E2 }, /* GL_STREAM_COPY */ + { 38513, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 38532, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 38547, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 38566, 0x000088E1 }, /* GL_STREAM_READ */ + { 38581, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 38600, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 38617, 0x000084E7 }, /* GL_SUBTRACT */ + { 38629, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 38645, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 38663, 0x00009116 }, /* GL_SYNC_FENCE */ + { 38677, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 38691, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 38718, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 38748, 0x00009114 }, /* GL_SYNC_STATUS */ + { 38763, 0x00002001 }, /* GL_T */ + { 38768, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 38783, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 38802, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 38818, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 38833, 0x00002A27 }, /* GL_T2F_V3F */ + { 38844, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 38863, 0x00002A28 }, /* GL_T4F_V4F */ + { 38874, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 38897, 0x00001702 }, /* GL_TEXTURE */ + { 38908, 0x000084C0 }, /* GL_TEXTURE0 */ + { 38920, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 38936, 0x000084C1 }, /* GL_TEXTURE1 */ + { 38948, 0x000084CA }, /* GL_TEXTURE10 */ + { 38961, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 38978, 0x000084CB }, /* GL_TEXTURE11 */ + { 38991, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 39008, 0x000084CC }, /* GL_TEXTURE12 */ + { 39021, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 39038, 0x000084CD }, /* GL_TEXTURE13 */ + { 39051, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 39068, 0x000084CE }, /* GL_TEXTURE14 */ + { 39081, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 39098, 0x000084CF }, /* GL_TEXTURE15 */ + { 39111, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 39128, 0x000084D0 }, /* GL_TEXTURE16 */ + { 39141, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 39158, 0x000084D1 }, /* GL_TEXTURE17 */ + { 39171, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 39188, 0x000084D2 }, /* GL_TEXTURE18 */ + { 39201, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 39218, 0x000084D3 }, /* GL_TEXTURE19 */ + { 39231, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 39248, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 39264, 0x000084C2 }, /* GL_TEXTURE2 */ + { 39276, 0x000084D4 }, /* GL_TEXTURE20 */ + { 39289, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 39306, 0x000084D5 }, /* GL_TEXTURE21 */ + { 39319, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 39336, 0x000084D6 }, /* GL_TEXTURE22 */ + { 39349, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 39366, 0x000084D7 }, /* GL_TEXTURE23 */ + { 39379, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 39396, 0x000084D8 }, /* GL_TEXTURE24 */ + { 39409, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 39426, 0x000084D9 }, /* GL_TEXTURE25 */ + { 39439, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 39456, 0x000084DA }, /* GL_TEXTURE26 */ + { 39469, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 39486, 0x000084DB }, /* GL_TEXTURE27 */ + { 39499, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 39516, 0x000084DC }, /* GL_TEXTURE28 */ + { 39529, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 39546, 0x000084DD }, /* GL_TEXTURE29 */ + { 39559, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 39576, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 39592, 0x000084C3 }, /* GL_TEXTURE3 */ + { 39604, 0x000084DE }, /* GL_TEXTURE30 */ + { 39617, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 39634, 0x000084DF }, /* GL_TEXTURE31 */ + { 39647, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 39664, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 39680, 0x000084C4 }, /* GL_TEXTURE4 */ + { 39692, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 39708, 0x000084C5 }, /* GL_TEXTURE5 */ + { 39720, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 39736, 0x000084C6 }, /* GL_TEXTURE6 */ + { 39748, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 39764, 0x000084C7 }, /* GL_TEXTURE7 */ + { 39776, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 39792, 0x000084C8 }, /* GL_TEXTURE8 */ + { 39804, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 39820, 0x000084C9 }, /* GL_TEXTURE9 */ + { 39832, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 39848, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 39862, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 39886, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 39900, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 39924, 0x0000806F }, /* GL_TEXTURE_3D */ + { 39938, 0x0000806F }, /* GL_TEXTURE_3D_OES */ + { 39956, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 39978, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 40004, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 40026, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 40048, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 40080, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 40102, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 40134, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 40156, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ + { 40182, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 40210, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 40242, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ + { 40274, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 40307, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 40339, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 40354, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 40375, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 40400, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 40418, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 40442, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 40473, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 40503, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 40533, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 40568, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 40599, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 40637, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 40664, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 40696, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 40730, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 40754, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 40782, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 40806, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 40834, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 40867, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 40891, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 40913, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 40935, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 40961, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 40995, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 41028, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 41065, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 41093, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 41125, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 41148, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 41186, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 41228, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 41259, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 41287, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 41317, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 41345, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ + { 41370, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 41390, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 41414, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 41445, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 41480, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ + { 41515, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 41546, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 41581, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ + { 41616, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 41647, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 41682, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ + { 41717, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ + { 41741, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 41772, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 41807, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ + { 41842, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 41873, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 41908, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ + { 41943, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 41974, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 42009, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ + { 42044, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 42073, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 42090, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 42112, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 42138, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 42153, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 42174, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 42194, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 42220, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ + { 42250, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 42270, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ + { 42294, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 42311, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 42328, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 42345, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ + { 42368, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 42385, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 42410, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 42432, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 42458, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 42476, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 42502, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 42528, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 42558, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 42585, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 42610, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 42630, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 42654, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 42681, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 42708, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 42735, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 42761, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 42791, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 42813, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 42831, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 42871, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 42901, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 42929, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 42957, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 42985, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 43006, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 43025, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 43047, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 43066, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 43086, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 43116, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 43147, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 43172, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 43196, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 43216, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 43240, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 43260, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 43283, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 43307, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ + { 43335, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 43365, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 43390, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 43424, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 43441, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 43459, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ + { 43481, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 43499, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 43517, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 43536, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 43556, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 43575, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 43604, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 43621, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ + { 43643, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ + { 43673, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + { 43709, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + { 43750, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + { 43783, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + { 43821, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + { 43857, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + { 43895, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + { 43934, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + { 43979, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + { 44014, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + { 44059, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 44085, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 44115, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 44147, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 44177, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 44211, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 44227, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 44258, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 44293, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 44321, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 44353, 0x00000004 }, /* GL_TRIANGLES */ + { 44366, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ + { 44393, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 44409, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 44430, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 44448, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ + { 44480, 0x00000001 }, /* GL_TRUE */ + { 44488, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ + { 44507, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 44527, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 44550, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 44570, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 44591, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 44613, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 44635, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 44655, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 44676, 0x00009118 }, /* GL_UNSIGNALED */ + { 44690, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 44707, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 44734, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 44757, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 44773, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 44800, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + { 44831, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 44852, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ + { 44877, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 44901, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ + { 44926, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 44957, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ + { 44992, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 45016, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 45044, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */ + { 45081, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */ + { 45112, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */ + { 45149, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */ + { 45180, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */ + { 45216, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */ + { 45247, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */ + { 45282, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */ + { 45315, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2_EXT */ + { 45340, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3_EXT */ + { 45365, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4_EXT */ + { 45390, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 45413, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 45431, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 45461, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ + { 45495, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 45521, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 45551, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ + { 45585, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 45611, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 45635, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 45663, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 45691, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 45718, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 45750, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 45781, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 45795, 0x00002A20 }, /* GL_V2F */ + { 45802, 0x00002A21 }, /* GL_V3F */ + { 45809, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 45828, 0x00001F00 }, /* GL_VENDOR */ + { 45838, 0x00001F02 }, /* GL_VERSION */ + { 45849, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 45865, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 45889, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 45919, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 45950, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 45985, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 46009, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 46030, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 46053, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 46074, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 46101, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 46129, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 46157, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 46185, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 46213, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 46241, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 46269, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 46296, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 46323, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 46350, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 46377, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 46404, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 46431, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 46458, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 46485, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 46512, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 46550, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 46592, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 46623, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 46658, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ + { 46693, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 46727, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 46765, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 46796, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 46831, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 46859, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 46891, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 46921, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 46955, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 46983, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 47015, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 47035, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 47057, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 47086, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 47107, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 47136, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 47169, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 47201, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 47228, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 47259, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 47289, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 47306, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 47327, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 47354, 0x00000BA2 }, /* GL_VIEWPORT */ + { 47366, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 47382, 0x00008A1A }, /* GL_VOLATILE_APPLE */ + { 47400, 0x0000911D }, /* GL_WAIT_FAILED */ + { 47415, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 47435, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 47466, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 47501, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ + { 47536, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ + { 47556, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 47584, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ + { 47612, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 47637, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ + { 47662, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 47689, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ + { 47716, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 47741, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ + { 47766, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 47790, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 47809, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 47823, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 47841, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ + { 47859, 0x00001506 }, /* GL_XOR */ + { 47866, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 47885, 0x00008757 }, /* GL_YCBCR_MESA */ + { 47899, 0x00000000 }, /* GL_ZERO */ + { 47907, 0x00000D16 }, /* GL_ZOOM_X */ + { 47917, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1472] = +static const unsigned reduced_enums[1500] = { 511, /* GL_FALSE */ - 778, /* GL_LINES */ - 781, /* GL_LINE_LOOP */ - 788, /* GL_LINE_STRIP */ - 1984, /* GL_TRIANGLES */ - 1988, /* GL_TRIANGLE_STRIP */ - 1986, /* GL_TRIANGLE_FAN */ - 1427, /* GL_QUADS */ - 1431, /* GL_QUAD_STRIP */ - 1305, /* GL_POLYGON */ - 779, /* GL_LINES_ADJACENCY_ARB */ - 789, /* GL_LINE_STRIP_ADJACENCY_ARB */ - 1985, /* GL_TRIANGLES_ADJACENCY_ARB */ - 1989, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ - 1317, /* GL_POLYGON_STIPPLE_BIT */ - 1260, /* GL_PIXEL_MODE_BIT */ - 765, /* GL_LIGHTING_BIT */ + 786, /* GL_LINES */ + 789, /* GL_LINE_LOOP */ + 796, /* GL_LINE_STRIP */ + 2000, /* GL_TRIANGLES */ + 2004, /* GL_TRIANGLE_STRIP */ + 2002, /* GL_TRIANGLE_FAN */ + 1437, /* GL_QUADS */ + 1441, /* GL_QUAD_STRIP */ + 1315, /* GL_POLYGON */ + 787, /* GL_LINES_ADJACENCY_ARB */ + 797, /* GL_LINE_STRIP_ADJACENCY_ARB */ + 2001, /* GL_TRIANGLES_ADJACENCY_ARB */ + 2005, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ + 1327, /* GL_POLYGON_STIPPLE_BIT */ + 1270, /* GL_PIXEL_MODE_BIT */ + 773, /* GL_LIGHTING_BIT */ 543, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 799, /* GL_LOAD */ - 1506, /* GL_RETURN */ - 1128, /* GL_MULT */ + 807, /* GL_LOAD */ + 1516, /* GL_RETURN */ + 1138, /* GL_MULT */ 24, /* GL_ADD */ - 1144, /* GL_NEVER */ - 755, /* GL_LESS */ + 1154, /* GL_NEVER */ + 763, /* GL_LESS */ 501, /* GL_EQUAL */ - 754, /* GL_LEQUAL */ + 762, /* GL_LEQUAL */ 660, /* GL_GREATER */ - 1161, /* GL_NOTEQUAL */ + 1171, /* GL_NOTEQUAL */ 659, /* GL_GEQUAL */ 55, /* GL_ALWAYS */ - 1672, /* GL_SRC_COLOR */ - 1193, /* GL_ONE_MINUS_SRC_COLOR */ - 1670, /* GL_SRC_ALPHA */ - 1192, /* GL_ONE_MINUS_SRC_ALPHA */ + 1688, /* GL_SRC_COLOR */ + 1203, /* GL_ONE_MINUS_SRC_COLOR */ + 1686, /* GL_SRC_ALPHA */ + 1202, /* GL_ONE_MINUS_SRC_ALPHA */ 480, /* GL_DST_ALPHA */ - 1190, /* GL_ONE_MINUS_DST_ALPHA */ + 1200, /* GL_ONE_MINUS_DST_ALPHA */ 481, /* GL_DST_COLOR */ - 1191, /* GL_ONE_MINUS_DST_COLOR */ - 1671, /* GL_SRC_ALPHA_SATURATE */ + 1201, /* GL_ONE_MINUS_DST_COLOR */ + 1687, /* GL_SRC_ALPHA_SATURATE */ 640, /* GL_FRONT_LEFT */ 641, /* GL_FRONT_RIGHT */ 77, /* GL_BACK_LEFT */ 78, /* GL_BACK_RIGHT */ 637, /* GL_FRONT */ 76, /* GL_BACK */ - 753, /* GL_LEFT */ - 1569, /* GL_RIGHT */ + 761, /* GL_LEFT */ + 1579, /* GL_RIGHT */ 638, /* GL_FRONT_AND_BACK */ 71, /* GL_AUX0 */ 72, /* GL_AUX1 */ 73, /* GL_AUX2 */ 74, /* GL_AUX3 */ - 741, /* GL_INVALID_ENUM */ - 746, /* GL_INVALID_VALUE */ - 745, /* GL_INVALID_OPERATION */ - 1677, /* GL_STACK_OVERFLOW */ - 1678, /* GL_STACK_UNDERFLOW */ - 1218, /* GL_OUT_OF_MEMORY */ - 742, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 749, /* GL_INVALID_ENUM */ + 754, /* GL_INVALID_VALUE */ + 753, /* GL_INVALID_OPERATION */ + 1693, /* GL_STACK_OVERFLOW */ + 1694, /* GL_STACK_UNDERFLOW */ + 1228, /* GL_OUT_OF_MEMORY */ + 750, /* GL_INVALID_FRAMEBUFFER_OPERATION */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1238, /* GL_PASS_THROUGH_TOKEN */ - 1304, /* GL_POINT_TOKEN */ - 790, /* GL_LINE_TOKEN */ - 1318, /* GL_POLYGON_TOKEN */ + 1248, /* GL_PASS_THROUGH_TOKEN */ + 1314, /* GL_POINT_TOKEN */ + 798, /* GL_LINE_TOKEN */ + 1328, /* GL_POLYGON_TOKEN */ 85, /* GL_BITMAP_TOKEN */ 479, /* GL_DRAW_PIXEL_TOKEN */ 326, /* GL_COPY_PIXEL_TOKEN */ - 782, /* GL_LINE_RESET_TOKEN */ + 790, /* GL_LINE_RESET_TOKEN */ 504, /* GL_EXP */ 505, /* GL_EXP2 */ 363, /* GL_CW */ 148, /* GL_CCW */ 169, /* GL_COEFF */ - 1215, /* GL_ORDER */ + 1225, /* GL_ORDER */ 416, /* GL_DOMAIN */ 336, /* GL_CURRENT_COLOR */ 339, /* GL_CURRENT_INDEX */ @@ -4364,33 +4420,33 @@ static const unsigned reduced_enums[1472] = 354, /* GL_CURRENT_RASTER_POSITION */ 355, /* GL_CURRENT_RASTER_POSITION_VALID */ 352, /* GL_CURRENT_RASTER_DISTANCE */ - 1296, /* GL_POINT_SMOOTH */ - 1280, /* GL_POINT_SIZE */ - 1295, /* GL_POINT_SIZE_RANGE */ - 1286, /* GL_POINT_SIZE_GRANULARITY */ - 783, /* GL_LINE_SMOOTH */ - 791, /* GL_LINE_WIDTH */ - 793, /* GL_LINE_WIDTH_RANGE */ - 792, /* GL_LINE_WIDTH_GRANULARITY */ - 785, /* GL_LINE_STIPPLE */ - 786, /* GL_LINE_STIPPLE_PATTERN */ - 787, /* GL_LINE_STIPPLE_REPEAT */ - 798, /* GL_LIST_MODE */ - 995, /* GL_MAX_LIST_NESTING */ - 795, /* GL_LIST_BASE */ - 797, /* GL_LIST_INDEX */ - 1307, /* GL_POLYGON_MODE */ - 1314, /* GL_POLYGON_SMOOTH */ - 1316, /* GL_POLYGON_STIPPLE */ + 1306, /* GL_POINT_SMOOTH */ + 1290, /* GL_POINT_SIZE */ + 1305, /* GL_POINT_SIZE_RANGE */ + 1296, /* GL_POINT_SIZE_GRANULARITY */ + 791, /* GL_LINE_SMOOTH */ + 799, /* GL_LINE_WIDTH */ + 801, /* GL_LINE_WIDTH_RANGE */ + 800, /* GL_LINE_WIDTH_GRANULARITY */ + 793, /* GL_LINE_STIPPLE */ + 794, /* GL_LINE_STIPPLE_PATTERN */ + 795, /* GL_LINE_STIPPLE_REPEAT */ + 806, /* GL_LIST_MODE */ + 1003, /* GL_MAX_LIST_NESTING */ + 803, /* GL_LIST_BASE */ + 805, /* GL_LIST_INDEX */ + 1317, /* GL_POLYGON_MODE */ + 1324, /* GL_POLYGON_SMOOTH */ + 1326, /* GL_POLYGON_STIPPLE */ 490, /* GL_EDGE_FLAG */ 329, /* GL_CULL_FACE */ 330, /* GL_CULL_FACE_MODE */ 639, /* GL_FRONT_FACE */ - 764, /* GL_LIGHTING */ - 769, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 770, /* GL_LIGHT_MODEL_TWO_SIDE */ - 766, /* GL_LIGHT_MODEL_AMBIENT */ - 1619, /* GL_SHADE_MODEL */ + 772, /* GL_LIGHTING */ + 777, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 778, /* GL_LIGHT_MODEL_TWO_SIDE */ + 774, /* GL_LIGHT_MODEL_AMBIENT */ + 1635, /* GL_SHADE_MODEL */ 217, /* GL_COLOR_MATERIAL_FACE */ 218, /* GL_COLOR_MATERIAL_PARAMETER */ 216, /* GL_COLOR_MATERIAL */ @@ -4407,24 +4463,24 @@ static const unsigned reduced_enums[1472] = 386, /* GL_DEPTH_CLEAR_VALUE */ 400, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1721, /* GL_STENCIL_TEST */ - 1702, /* GL_STENCIL_CLEAR_VALUE */ - 1704, /* GL_STENCIL_FUNC */ - 1723, /* GL_STENCIL_VALUE_MASK */ - 1703, /* GL_STENCIL_FAIL */ - 1718, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1719, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1720, /* GL_STENCIL_REF */ - 1724, /* GL_STENCIL_WRITEMASK */ - 954, /* GL_MATRIX_MODE */ - 1150, /* GL_NORMALIZE */ - 2087, /* GL_VIEWPORT */ - 1123, /* GL_MODELVIEW_STACK_DEPTH */ - 1404, /* GL_PROJECTION_STACK_DEPTH */ - 1946, /* GL_TEXTURE_STACK_DEPTH */ - 1120, /* GL_MODELVIEW_MATRIX */ - 1402, /* GL_PROJECTION_MATRIX */ - 1928, /* GL_TEXTURE_MATRIX */ + 1737, /* GL_STENCIL_TEST */ + 1718, /* GL_STENCIL_CLEAR_VALUE */ + 1720, /* GL_STENCIL_FUNC */ + 1739, /* GL_STENCIL_VALUE_MASK */ + 1719, /* GL_STENCIL_FAIL */ + 1734, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1735, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1736, /* GL_STENCIL_REF */ + 1740, /* GL_STENCIL_WRITEMASK */ + 962, /* GL_MATRIX_MODE */ + 1160, /* GL_NORMALIZE */ + 2115, /* GL_VIEWPORT */ + 1133, /* GL_MODELVIEW_STACK_DEPTH */ + 1414, /* GL_PROJECTION_STACK_DEPTH */ + 1962, /* GL_TEXTURE_STACK_DEPTH */ + 1130, /* GL_MODELVIEW_MATRIX */ + 1412, /* GL_PROJECTION_MATRIX */ + 1944, /* GL_TEXTURE_MATRIX */ 69, /* GL_ATTRIB_STACK_DEPTH */ 159, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 51, /* GL_ALPHA_TEST */ @@ -4434,72 +4490,72 @@ static const unsigned reduced_enums[1472] = 89, /* GL_BLEND_DST */ 103, /* GL_BLEND_SRC */ 86, /* GL_BLEND */ - 801, /* GL_LOGIC_OP_MODE */ + 809, /* GL_LOGIC_OP_MODE */ 707, /* GL_INDEX_LOGIC_OP */ 215, /* GL_COLOR_LOGIC_OP */ 75, /* GL_AUX_BUFFERS */ 426, /* GL_DRAW_BUFFER */ - 1446, /* GL_READ_BUFFER */ - 1597, /* GL_SCISSOR_BOX */ - 1598, /* GL_SCISSOR_TEST */ + 1456, /* GL_READ_BUFFER */ + 1613, /* GL_SCISSOR_BOX */ + 1614, /* GL_SCISSOR_TEST */ 706, /* GL_INDEX_CLEAR_VALUE */ 711, /* GL_INDEX_WRITEMASK */ 212, /* GL_COLOR_CLEAR_VALUE */ 254, /* GL_COLOR_WRITEMASK */ 708, /* GL_INDEX_MODE */ - 1561, /* GL_RGBA_MODE */ + 1571, /* GL_RGBA_MODE */ 425, /* GL_DOUBLEBUFFER */ - 1725, /* GL_STEREO */ - 1498, /* GL_RENDER_MODE */ - 1239, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1297, /* GL_POINT_SMOOTH_HINT */ - 784, /* GL_LINE_SMOOTH_HINT */ - 1315, /* GL_POLYGON_SMOOTH_HINT */ + 1741, /* GL_STEREO */ + 1508, /* GL_RENDER_MODE */ + 1249, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1307, /* GL_POINT_SMOOTH_HINT */ + 792, /* GL_LINE_SMOOTH_HINT */ + 1325, /* GL_POLYGON_SMOOTH_HINT */ 563, /* GL_FOG_HINT */ - 1908, /* GL_TEXTURE_GEN_S */ - 1910, /* GL_TEXTURE_GEN_T */ - 1907, /* GL_TEXTURE_GEN_R */ - 1906, /* GL_TEXTURE_GEN_Q */ - 1252, /* GL_PIXEL_MAP_I_TO_I */ - 1258, /* GL_PIXEL_MAP_S_TO_S */ - 1254, /* GL_PIXEL_MAP_I_TO_R */ - 1250, /* GL_PIXEL_MAP_I_TO_G */ - 1248, /* GL_PIXEL_MAP_I_TO_B */ - 1246, /* GL_PIXEL_MAP_I_TO_A */ - 1256, /* GL_PIXEL_MAP_R_TO_R */ - 1244, /* GL_PIXEL_MAP_G_TO_G */ - 1242, /* GL_PIXEL_MAP_B_TO_B */ - 1240, /* GL_PIXEL_MAP_A_TO_A */ - 1253, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1259, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1255, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1251, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1249, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1247, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1257, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1245, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1243, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1241, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 1999, /* GL_UNPACK_SWAP_BYTES */ - 1994, /* GL_UNPACK_LSB_FIRST */ - 1995, /* GL_UNPACK_ROW_LENGTH */ - 1998, /* GL_UNPACK_SKIP_ROWS */ - 1997, /* GL_UNPACK_SKIP_PIXELS */ - 1992, /* GL_UNPACK_ALIGNMENT */ - 1227, /* GL_PACK_SWAP_BYTES */ - 1222, /* GL_PACK_LSB_FIRST */ - 1223, /* GL_PACK_ROW_LENGTH */ - 1226, /* GL_PACK_SKIP_ROWS */ - 1225, /* GL_PACK_SKIP_PIXELS */ - 1219, /* GL_PACK_ALIGNMENT */ - 895, /* GL_MAP_COLOR */ - 900, /* GL_MAP_STENCIL */ + 1924, /* GL_TEXTURE_GEN_S */ + 1926, /* GL_TEXTURE_GEN_T */ + 1923, /* GL_TEXTURE_GEN_R */ + 1922, /* GL_TEXTURE_GEN_Q */ + 1262, /* GL_PIXEL_MAP_I_TO_I */ + 1268, /* GL_PIXEL_MAP_S_TO_S */ + 1264, /* GL_PIXEL_MAP_I_TO_R */ + 1260, /* GL_PIXEL_MAP_I_TO_G */ + 1258, /* GL_PIXEL_MAP_I_TO_B */ + 1256, /* GL_PIXEL_MAP_I_TO_A */ + 1266, /* GL_PIXEL_MAP_R_TO_R */ + 1254, /* GL_PIXEL_MAP_G_TO_G */ + 1252, /* GL_PIXEL_MAP_B_TO_B */ + 1250, /* GL_PIXEL_MAP_A_TO_A */ + 1263, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1269, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1265, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1261, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1259, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1257, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1267, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1255, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1253, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1251, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 2015, /* GL_UNPACK_SWAP_BYTES */ + 2010, /* GL_UNPACK_LSB_FIRST */ + 2011, /* GL_UNPACK_ROW_LENGTH */ + 2014, /* GL_UNPACK_SKIP_ROWS */ + 2013, /* GL_UNPACK_SKIP_PIXELS */ + 2008, /* GL_UNPACK_ALIGNMENT */ + 1237, /* GL_PACK_SWAP_BYTES */ + 1232, /* GL_PACK_LSB_FIRST */ + 1233, /* GL_PACK_ROW_LENGTH */ + 1236, /* GL_PACK_SKIP_ROWS */ + 1235, /* GL_PACK_SKIP_PIXELS */ + 1229, /* GL_PACK_ALIGNMENT */ + 903, /* GL_MAP_COLOR */ + 908, /* GL_MAP_STENCIL */ 710, /* GL_INDEX_SHIFT */ 709, /* GL_INDEX_OFFSET */ - 1461, /* GL_RED_SCALE */ - 1458, /* GL_RED_BIAS */ - 2113, /* GL_ZOOM_X */ - 2114, /* GL_ZOOM_Y */ + 1471, /* GL_RED_SCALE */ + 1468, /* GL_RED_BIAS */ + 2141, /* GL_ZOOM_X */ + 2142, /* GL_ZOOM_Y */ 665, /* GL_GREEN_SCALE */ 662, /* GL_GREEN_BIAS */ 112, /* GL_BLUE_SCALE */ @@ -4508,87 +4564,87 @@ static const unsigned reduced_enums[1472] = 47, /* GL_ALPHA_BIAS */ 402, /* GL_DEPTH_SCALE */ 379, /* GL_DEPTH_BIAS */ - 984, /* GL_MAX_EVAL_ORDER */ - 994, /* GL_MAX_LIGHTS */ - 965, /* GL_MAX_CLIP_PLANES */ - 1045, /* GL_MAX_TEXTURE_SIZE */ - 1001, /* GL_MAX_PIXEL_MAP_TABLE */ - 961, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 997, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 998, /* GL_MAX_NAME_STACK_DEPTH */ - 1027, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 1046, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 1068, /* GL_MAX_VIEWPORT_DIMS */ - 962, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1735, /* GL_SUBPIXEL_BITS */ + 992, /* GL_MAX_EVAL_ORDER */ + 1002, /* GL_MAX_LIGHTS */ + 973, /* GL_MAX_CLIP_PLANES */ + 1054, /* GL_MAX_TEXTURE_SIZE */ + 1009, /* GL_MAX_PIXEL_MAP_TABLE */ + 969, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 1005, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 1006, /* GL_MAX_NAME_STACK_DEPTH */ + 1036, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 1055, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 1077, /* GL_MAX_VIEWPORT_DIMS */ + 970, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1751, /* GL_SUBPIXEL_BITS */ 705, /* GL_INDEX_BITS */ - 1459, /* GL_RED_BITS */ + 1469, /* GL_RED_BITS */ 663, /* GL_GREEN_BITS */ 110, /* GL_BLUE_BITS */ 48, /* GL_ALPHA_BITS */ 380, /* GL_DEPTH_BITS */ - 1700, /* GL_STENCIL_BITS */ + 1716, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 1137, /* GL_NAME_STACK_DEPTH */ + 1147, /* GL_NAME_STACK_DEPTH */ 70, /* GL_AUTO_NORMAL */ - 841, /* GL_MAP1_COLOR_4 */ - 844, /* GL_MAP1_INDEX */ - 845, /* GL_MAP1_NORMAL */ - 846, /* GL_MAP1_TEXTURE_COORD_1 */ - 847, /* GL_MAP1_TEXTURE_COORD_2 */ - 848, /* GL_MAP1_TEXTURE_COORD_3 */ - 849, /* GL_MAP1_TEXTURE_COORD_4 */ - 850, /* GL_MAP1_VERTEX_3 */ - 851, /* GL_MAP1_VERTEX_4 */ - 868, /* GL_MAP2_COLOR_4 */ - 871, /* GL_MAP2_INDEX */ - 872, /* GL_MAP2_NORMAL */ - 873, /* GL_MAP2_TEXTURE_COORD_1 */ - 874, /* GL_MAP2_TEXTURE_COORD_2 */ - 875, /* GL_MAP2_TEXTURE_COORD_3 */ - 876, /* GL_MAP2_TEXTURE_COORD_4 */ - 877, /* GL_MAP2_VERTEX_3 */ - 878, /* GL_MAP2_VERTEX_4 */ - 842, /* GL_MAP1_GRID_DOMAIN */ - 843, /* GL_MAP1_GRID_SEGMENTS */ - 869, /* GL_MAP2_GRID_DOMAIN */ - 870, /* GL_MAP2_GRID_SEGMENTS */ - 1818, /* GL_TEXTURE_1D */ - 1820, /* GL_TEXTURE_2D */ + 849, /* GL_MAP1_COLOR_4 */ + 852, /* GL_MAP1_INDEX */ + 853, /* GL_MAP1_NORMAL */ + 854, /* GL_MAP1_TEXTURE_COORD_1 */ + 855, /* GL_MAP1_TEXTURE_COORD_2 */ + 856, /* GL_MAP1_TEXTURE_COORD_3 */ + 857, /* GL_MAP1_TEXTURE_COORD_4 */ + 858, /* GL_MAP1_VERTEX_3 */ + 859, /* GL_MAP1_VERTEX_4 */ + 876, /* GL_MAP2_COLOR_4 */ + 879, /* GL_MAP2_INDEX */ + 880, /* GL_MAP2_NORMAL */ + 881, /* GL_MAP2_TEXTURE_COORD_1 */ + 882, /* GL_MAP2_TEXTURE_COORD_2 */ + 883, /* GL_MAP2_TEXTURE_COORD_3 */ + 884, /* GL_MAP2_TEXTURE_COORD_4 */ + 885, /* GL_MAP2_VERTEX_3 */ + 886, /* GL_MAP2_VERTEX_4 */ + 850, /* GL_MAP1_GRID_DOMAIN */ + 851, /* GL_MAP1_GRID_SEGMENTS */ + 877, /* GL_MAP2_GRID_DOMAIN */ + 878, /* GL_MAP2_GRID_SEGMENTS */ + 1834, /* GL_TEXTURE_1D */ + 1836, /* GL_TEXTURE_2D */ 514, /* GL_FEEDBACK_BUFFER_POINTER */ 515, /* GL_FEEDBACK_BUFFER_SIZE */ 516, /* GL_FEEDBACK_BUFFER_TYPE */ - 1607, /* GL_SELECTION_BUFFER_POINTER */ - 1608, /* GL_SELECTION_BUFFER_SIZE */ - 1952, /* GL_TEXTURE_WIDTH */ - 1914, /* GL_TEXTURE_HEIGHT */ - 1858, /* GL_TEXTURE_COMPONENTS */ - 1842, /* GL_TEXTURE_BORDER_COLOR */ - 1841, /* GL_TEXTURE_BORDER */ + 1623, /* GL_SELECTION_BUFFER_POINTER */ + 1624, /* GL_SELECTION_BUFFER_SIZE */ + 1968, /* GL_TEXTURE_WIDTH */ + 1930, /* GL_TEXTURE_HEIGHT */ + 1874, /* GL_TEXTURE_COMPONENTS */ + 1858, /* GL_TEXTURE_BORDER_COLOR */ + 1857, /* GL_TEXTURE_BORDER */ 417, /* GL_DONT_CARE */ 512, /* GL_FASTEST */ - 1145, /* GL_NICEST */ + 1155, /* GL_NICEST */ 56, /* GL_AMBIENT */ 414, /* GL_DIFFUSE */ - 1659, /* GL_SPECULAR */ - 1319, /* GL_POSITION */ - 1662, /* GL_SPOT_DIRECTION */ - 1663, /* GL_SPOT_EXPONENT */ - 1661, /* GL_SPOT_CUTOFF */ + 1675, /* GL_SPECULAR */ + 1329, /* GL_POSITION */ + 1678, /* GL_SPOT_DIRECTION */ + 1679, /* GL_SPOT_EXPONENT */ + 1677, /* GL_SPOT_CUTOFF */ 299, /* GL_CONSTANT_ATTENUATION */ - 773, /* GL_LINEAR_ATTENUATION */ - 1426, /* GL_QUADRATIC_ATTENUATION */ + 781, /* GL_LINEAR_ATTENUATION */ + 1436, /* GL_QUADRATIC_ATTENUATION */ 268, /* GL_COMPILE */ 269, /* GL_COMPILE_AND_EXECUTE */ 143, /* GL_BYTE */ - 2001, /* GL_UNSIGNED_BYTE */ - 1624, /* GL_SHORT */ - 2016, /* GL_UNSIGNED_SHORT */ + 2017, /* GL_UNSIGNED_BYTE */ + 1640, /* GL_SHORT */ + 2043, /* GL_UNSIGNED_SHORT */ 713, /* GL_INT */ - 2004, /* GL_UNSIGNED_INT */ + 2020, /* GL_UNSIGNED_INT */ 523, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ @@ -4601,148 +4657,148 @@ static const unsigned reduced_enums[1472] = 60, /* GL_AND_REVERSE */ 324, /* GL_COPY */ 59, /* GL_AND_INVERTED */ - 1148, /* GL_NOOP */ - 2109, /* GL_XOR */ - 1214, /* GL_OR */ - 1149, /* GL_NOR */ + 1158, /* GL_NOOP */ + 2137, /* GL_XOR */ + 1224, /* GL_OR */ + 1159, /* GL_NOR */ 502, /* GL_EQUIV */ - 749, /* GL_INVERT */ - 1217, /* GL_OR_REVERSE */ + 757, /* GL_INVERT */ + 1227, /* GL_OR_REVERSE */ 325, /* GL_COPY_INVERTED */ - 1216, /* GL_OR_INVERTED */ - 1138, /* GL_NAND */ - 1613, /* GL_SET */ + 1226, /* GL_OR_INVERTED */ + 1148, /* GL_NAND */ + 1629, /* GL_SET */ 499, /* GL_EMISSION */ - 1623, /* GL_SHININESS */ + 1639, /* GL_SHININESS */ 57, /* GL_AMBIENT_AND_DIFFUSE */ 214, /* GL_COLOR_INDEXES */ - 1087, /* GL_MODELVIEW */ - 1401, /* GL_PROJECTION */ - 1753, /* GL_TEXTURE */ + 1097, /* GL_MODELVIEW */ + 1411, /* GL_PROJECTION */ + 1769, /* GL_TEXTURE */ 170, /* GL_COLOR */ 372, /* GL_DEPTH */ - 1685, /* GL_STENCIL */ + 1701, /* GL_STENCIL */ 213, /* GL_COLOR_INDEX */ - 1705, /* GL_STENCIL_INDEX */ + 1721, /* GL_STENCIL_INDEX */ 387, /* GL_DEPTH_COMPONENT */ - 1455, /* GL_RED */ + 1465, /* GL_RED */ 661, /* GL_GREEN */ 108, /* GL_BLUE */ 32, /* GL_ALPHA */ - 1507, /* GL_RGB */ - 1536, /* GL_RGBA */ - 805, /* GL_LUMINANCE */ - 832, /* GL_LUMINANCE_ALPHA */ + 1517, /* GL_RGB */ + 1546, /* GL_RGBA */ + 813, /* GL_LUMINANCE */ + 840, /* GL_LUMINANCE_ALPHA */ 84, /* GL_BITMAP */ - 1269, /* GL_POINT */ - 771, /* GL_LINE */ + 1279, /* GL_POINT */ + 779, /* GL_LINE */ 517, /* GL_FILL */ - 1467, /* GL_RENDER */ + 1477, /* GL_RENDER */ 513, /* GL_FEEDBACK */ - 1606, /* GL_SELECT */ + 1622, /* GL_SELECT */ 522, /* GL_FLAT */ - 1634, /* GL_SMOOTH */ - 750, /* GL_KEEP */ - 1500, /* GL_REPLACE */ + 1650, /* GL_SMOOTH */ + 758, /* GL_KEEP */ + 1510, /* GL_REPLACE */ 695, /* GL_INCR */ 368, /* GL_DECR */ - 2033, /* GL_VENDOR */ - 1497, /* GL_RENDERER */ - 2034, /* GL_VERSION */ + 2060, /* GL_VENDOR */ + 1507, /* GL_RENDERER */ + 2061, /* GL_VERSION */ 506, /* GL_EXTENSIONS */ - 1570, /* GL_S */ - 1744, /* GL_T */ - 1442, /* GL_R */ - 1425, /* GL_Q */ - 1124, /* GL_MODULATE */ + 1580, /* GL_S */ + 1760, /* GL_T */ + 1452, /* GL_R */ + 1435, /* GL_Q */ + 1134, /* GL_MODULATE */ 367, /* GL_DECAL */ - 1901, /* GL_TEXTURE_ENV_MODE */ - 1900, /* GL_TEXTURE_ENV_COLOR */ - 1899, /* GL_TEXTURE_ENV */ + 1917, /* GL_TEXTURE_ENV_MODE */ + 1916, /* GL_TEXTURE_ENV_COLOR */ + 1915, /* GL_TEXTURE_ENV */ 507, /* GL_EYE_LINEAR */ - 1175, /* GL_OBJECT_LINEAR */ - 1660, /* GL_SPHERE_MAP */ - 1904, /* GL_TEXTURE_GEN_MODE */ - 1177, /* GL_OBJECT_PLANE */ + 1185, /* GL_OBJECT_LINEAR */ + 1676, /* GL_SPHERE_MAP */ + 1920, /* GL_TEXTURE_GEN_MODE */ + 1187, /* GL_OBJECT_PLANE */ 508, /* GL_EYE_PLANE */ - 1139, /* GL_NEAREST */ - 772, /* GL_LINEAR */ - 1143, /* GL_NEAREST_MIPMAP_NEAREST */ - 777, /* GL_LINEAR_MIPMAP_NEAREST */ - 1142, /* GL_NEAREST_MIPMAP_LINEAR */ - 776, /* GL_LINEAR_MIPMAP_LINEAR */ - 1927, /* GL_TEXTURE_MAG_FILTER */ - 1936, /* GL_TEXTURE_MIN_FILTER */ - 1955, /* GL_TEXTURE_WRAP_S */ - 1956, /* GL_TEXTURE_WRAP_T */ + 1149, /* GL_NEAREST */ + 780, /* GL_LINEAR */ + 1153, /* GL_NEAREST_MIPMAP_NEAREST */ + 785, /* GL_LINEAR_MIPMAP_NEAREST */ + 1152, /* GL_NEAREST_MIPMAP_LINEAR */ + 784, /* GL_LINEAR_MIPMAP_LINEAR */ + 1943, /* GL_TEXTURE_MAG_FILTER */ + 1952, /* GL_TEXTURE_MIN_FILTER */ + 1971, /* GL_TEXTURE_WRAP_S */ + 1972, /* GL_TEXTURE_WRAP_T */ 149, /* GL_CLAMP */ - 1499, /* GL_REPEAT */ - 1313, /* GL_POLYGON_OFFSET_UNITS */ - 1312, /* GL_POLYGON_OFFSET_POINT */ - 1311, /* GL_POLYGON_OFFSET_LINE */ - 1443, /* GL_R3_G3_B2 */ - 2030, /* GL_V2F */ - 2031, /* GL_V3F */ + 1509, /* GL_REPEAT */ + 1323, /* GL_POLYGON_OFFSET_UNITS */ + 1322, /* GL_POLYGON_OFFSET_POINT */ + 1321, /* GL_POLYGON_OFFSET_LINE */ + 1453, /* GL_R3_G3_B2 */ + 2057, /* GL_V2F */ + 2058, /* GL_V3F */ 146, /* GL_C4UB_V2F */ 147, /* GL_C4UB_V3F */ 144, /* GL_C3F_V3F */ - 1136, /* GL_N3F_V3F */ + 1146, /* GL_N3F_V3F */ 145, /* GL_C4F_N3F_V3F */ - 1749, /* GL_T2F_V3F */ - 1751, /* GL_T4F_V4F */ - 1747, /* GL_T2F_C4UB_V3F */ - 1745, /* GL_T2F_C3F_V3F */ - 1748, /* GL_T2F_N3F_V3F */ - 1746, /* GL_T2F_C4F_N3F_V3F */ - 1750, /* GL_T4F_C4F_N3F_V4F */ + 1765, /* GL_T2F_V3F */ + 1767, /* GL_T4F_V4F */ + 1763, /* GL_T2F_C4UB_V3F */ + 1761, /* GL_T2F_C3F_V3F */ + 1764, /* GL_T2F_N3F_V3F */ + 1762, /* GL_T2F_C4F_N3F_V3F */ + 1766, /* GL_T4F_C4F_N3F_V4F */ 162, /* GL_CLIP_PLANE0 */ 163, /* GL_CLIP_PLANE1 */ 164, /* GL_CLIP_PLANE2 */ 165, /* GL_CLIP_PLANE3 */ 166, /* GL_CLIP_PLANE4 */ 167, /* GL_CLIP_PLANE5 */ - 756, /* GL_LIGHT0 */ - 757, /* GL_LIGHT1 */ - 758, /* GL_LIGHT2 */ - 759, /* GL_LIGHT3 */ - 760, /* GL_LIGHT4 */ - 761, /* GL_LIGHT5 */ - 762, /* GL_LIGHT6 */ - 763, /* GL_LIGHT7 */ + 764, /* GL_LIGHT0 */ + 765, /* GL_LIGHT1 */ + 766, /* GL_LIGHT2 */ + 767, /* GL_LIGHT3 */ + 768, /* GL_LIGHT4 */ + 769, /* GL_LIGHT5 */ + 770, /* GL_LIGHT6 */ + 771, /* GL_LIGHT7 */ 670, /* GL_HINT_BIT */ 301, /* GL_CONSTANT_COLOR */ - 1188, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 1198, /* GL_ONE_MINUS_CONSTANT_COLOR */ 296, /* GL_CONSTANT_ALPHA */ - 1186, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 1196, /* GL_ONE_MINUS_CONSTANT_ALPHA */ 87, /* GL_BLEND_COLOR */ 642, /* GL_FUNC_ADD */ - 1071, /* GL_MIN */ - 957, /* GL_MAX */ + 1080, /* GL_MIN */ + 965, /* GL_MAX */ 94, /* GL_BLEND_EQUATION */ 648, /* GL_FUNC_SUBTRACT */ 645, /* GL_FUNC_REVERSE_SUBTRACT */ 304, /* GL_CONVOLUTION_1D */ 305, /* GL_CONVOLUTION_2D */ - 1609, /* GL_SEPARABLE_2D */ + 1625, /* GL_SEPARABLE_2D */ 308, /* GL_CONVOLUTION_BORDER_MODE */ 312, /* GL_CONVOLUTION_FILTER_SCALE */ 310, /* GL_CONVOLUTION_FILTER_BIAS */ - 1456, /* GL_REDUCE */ + 1466, /* GL_REDUCE */ 314, /* GL_CONVOLUTION_FORMAT */ 318, /* GL_CONVOLUTION_WIDTH */ 316, /* GL_CONVOLUTION_HEIGHT */ - 974, /* GL_MAX_CONVOLUTION_WIDTH */ - 972, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1352, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1348, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1343, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1339, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1350, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1346, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1341, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1337, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 982, /* GL_MAX_CONVOLUTION_WIDTH */ + 980, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1362, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1358, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1353, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1349, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1360, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1356, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1351, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1347, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ 671, /* GL_HISTOGRAM */ - 1408, /* GL_PROXY_HISTOGRAM */ + 1418, /* GL_PROXY_HISTOGRAM */ 687, /* GL_HISTOGRAM_WIDTH */ 677, /* GL_HISTOGRAM_FORMAT */ 683, /* GL_HISTOGRAM_RED_SIZE */ @@ -4751,134 +4807,134 @@ static const unsigned reduced_enums[1472] = 672, /* GL_HISTOGRAM_ALPHA_SIZE */ 681, /* GL_HISTOGRAM_LUMINANCE_SIZE */ 685, /* GL_HISTOGRAM_SINK */ - 1072, /* GL_MINMAX */ - 1074, /* GL_MINMAX_FORMAT */ - 1076, /* GL_MINMAX_SINK */ - 1752, /* GL_TABLE_TOO_LARGE_EXT */ - 2003, /* GL_UNSIGNED_BYTE_3_3_2 */ - 2019, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 2022, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 2013, /* GL_UNSIGNED_INT_8_8_8_8 */ - 2005, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1310, /* GL_POLYGON_OFFSET_FILL */ - 1309, /* GL_POLYGON_OFFSET_FACTOR */ - 1308, /* GL_POLYGON_OFFSET_BIAS */ - 1503, /* GL_RESCALE_NORMAL */ + 1081, /* GL_MINMAX */ + 1083, /* GL_MINMAX_FORMAT */ + 1085, /* GL_MINMAX_SINK */ + 1768, /* GL_TABLE_TOO_LARGE_EXT */ + 2019, /* GL_UNSIGNED_BYTE_3_3_2 */ + 2046, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 2049, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 2029, /* GL_UNSIGNED_INT_8_8_8_8 */ + 2021, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1320, /* GL_POLYGON_OFFSET_FILL */ + 1319, /* GL_POLYGON_OFFSET_FACTOR */ + 1318, /* GL_POLYGON_OFFSET_BIAS */ + 1513, /* GL_RESCALE_NORMAL */ 41, /* GL_ALPHA4 */ 43, /* GL_ALPHA8 */ 33, /* GL_ALPHA12 */ 35, /* GL_ALPHA16 */ - 820, /* GL_LUMINANCE4 */ - 826, /* GL_LUMINANCE8 */ - 806, /* GL_LUMINANCE12 */ - 812, /* GL_LUMINANCE16 */ - 821, /* GL_LUMINANCE4_ALPHA4 */ - 824, /* GL_LUMINANCE6_ALPHA2 */ - 829, /* GL_LUMINANCE8_ALPHA8 */ - 809, /* GL_LUMINANCE12_ALPHA4 */ - 807, /* GL_LUMINANCE12_ALPHA12 */ - 815, /* GL_LUMINANCE16_ALPHA16 */ + 828, /* GL_LUMINANCE4 */ + 834, /* GL_LUMINANCE8 */ + 814, /* GL_LUMINANCE12 */ + 820, /* GL_LUMINANCE16 */ + 829, /* GL_LUMINANCE4_ALPHA4 */ + 832, /* GL_LUMINANCE6_ALPHA2 */ + 837, /* GL_LUMINANCE8_ALPHA8 */ + 817, /* GL_LUMINANCE12_ALPHA4 */ + 815, /* GL_LUMINANCE12_ALPHA12 */ + 823, /* GL_LUMINANCE16_ALPHA16 */ 714, /* GL_INTENSITY */ 723, /* GL_INTENSITY4 */ 725, /* GL_INTENSITY8 */ 715, /* GL_INTENSITY12 */ 717, /* GL_INTENSITY16 */ - 1518, /* GL_RGB2_EXT */ - 1521, /* GL_RGB4 */ - 1524, /* GL_RGB5 */ - 1531, /* GL_RGB8 */ - 1508, /* GL_RGB10 */ - 1512, /* GL_RGB12 */ - 1514, /* GL_RGB16 */ - 1543, /* GL_RGBA2 */ - 1547, /* GL_RGBA4 */ - 1527, /* GL_RGB5_A1 */ - 1552, /* GL_RGBA8 */ - 1509, /* GL_RGB10_A2 */ - 1537, /* GL_RGBA12 */ - 1539, /* GL_RGBA16 */ - 1943, /* GL_TEXTURE_RED_SIZE */ - 1912, /* GL_TEXTURE_GREEN_SIZE */ - 1839, /* GL_TEXTURE_BLUE_SIZE */ - 1824, /* GL_TEXTURE_ALPHA_SIZE */ - 1925, /* GL_TEXTURE_LUMINANCE_SIZE */ - 1916, /* GL_TEXTURE_INTENSITY_SIZE */ - 1501, /* GL_REPLACE_EXT */ - 1412, /* GL_PROXY_TEXTURE_1D */ - 1415, /* GL_PROXY_TEXTURE_2D */ - 1950, /* GL_TEXTURE_TOO_LARGE_EXT */ - 1938, /* GL_TEXTURE_PRIORITY */ - 1945, /* GL_TEXTURE_RESIDENT */ - 1827, /* GL_TEXTURE_BINDING_1D */ - 1829, /* GL_TEXTURE_BINDING_2D */ - 1831, /* GL_TEXTURE_BINDING_3D */ - 1224, /* GL_PACK_SKIP_IMAGES */ - 1220, /* GL_PACK_IMAGE_HEIGHT */ - 1996, /* GL_UNPACK_SKIP_IMAGES */ - 1993, /* GL_UNPACK_IMAGE_HEIGHT */ - 1822, /* GL_TEXTURE_3D */ - 1418, /* GL_PROXY_TEXTURE_3D */ - 1896, /* GL_TEXTURE_DEPTH */ - 1953, /* GL_TEXTURE_WRAP_R */ - 958, /* GL_MAX_3D_TEXTURE_SIZE */ - 2035, /* GL_VERTEX_ARRAY */ - 1151, /* GL_NORMAL_ARRAY */ + 1528, /* GL_RGB2_EXT */ + 1531, /* GL_RGB4 */ + 1534, /* GL_RGB5 */ + 1541, /* GL_RGB8 */ + 1518, /* GL_RGB10 */ + 1522, /* GL_RGB12 */ + 1524, /* GL_RGB16 */ + 1553, /* GL_RGBA2 */ + 1557, /* GL_RGBA4 */ + 1537, /* GL_RGB5_A1 */ + 1562, /* GL_RGBA8 */ + 1519, /* GL_RGB10_A2 */ + 1547, /* GL_RGBA12 */ + 1549, /* GL_RGBA16 */ + 1959, /* GL_TEXTURE_RED_SIZE */ + 1928, /* GL_TEXTURE_GREEN_SIZE */ + 1855, /* GL_TEXTURE_BLUE_SIZE */ + 1840, /* GL_TEXTURE_ALPHA_SIZE */ + 1941, /* GL_TEXTURE_LUMINANCE_SIZE */ + 1932, /* GL_TEXTURE_INTENSITY_SIZE */ + 1511, /* GL_REPLACE_EXT */ + 1422, /* GL_PROXY_TEXTURE_1D */ + 1425, /* GL_PROXY_TEXTURE_2D */ + 1966, /* GL_TEXTURE_TOO_LARGE_EXT */ + 1954, /* GL_TEXTURE_PRIORITY */ + 1961, /* GL_TEXTURE_RESIDENT */ + 1843, /* GL_TEXTURE_BINDING_1D */ + 1845, /* GL_TEXTURE_BINDING_2D */ + 1847, /* GL_TEXTURE_BINDING_3D */ + 1234, /* GL_PACK_SKIP_IMAGES */ + 1230, /* GL_PACK_IMAGE_HEIGHT */ + 2012, /* GL_UNPACK_SKIP_IMAGES */ + 2009, /* GL_UNPACK_IMAGE_HEIGHT */ + 1838, /* GL_TEXTURE_3D */ + 1428, /* GL_PROXY_TEXTURE_3D */ + 1912, /* GL_TEXTURE_DEPTH */ + 1969, /* GL_TEXTURE_WRAP_R */ + 966, /* GL_MAX_3D_TEXTURE_SIZE */ + 2062, /* GL_VERTEX_ARRAY */ + 1161, /* GL_NORMAL_ARRAY */ 171, /* GL_COLOR_ARRAY */ 699, /* GL_INDEX_ARRAY */ - 1866, /* GL_TEXTURE_COORD_ARRAY */ + 1882, /* GL_TEXTURE_COORD_ARRAY */ 491, /* GL_EDGE_FLAG_ARRAY */ - 2041, /* GL_VERTEX_ARRAY_SIZE */ - 2043, /* GL_VERTEX_ARRAY_TYPE */ - 2042, /* GL_VERTEX_ARRAY_STRIDE */ - 1156, /* GL_NORMAL_ARRAY_TYPE */ - 1155, /* GL_NORMAL_ARRAY_STRIDE */ + 2068, /* GL_VERTEX_ARRAY_SIZE */ + 2070, /* GL_VERTEX_ARRAY_TYPE */ + 2069, /* GL_VERTEX_ARRAY_STRIDE */ + 1166, /* GL_NORMAL_ARRAY_TYPE */ + 1165, /* GL_NORMAL_ARRAY_STRIDE */ 175, /* GL_COLOR_ARRAY_SIZE */ 177, /* GL_COLOR_ARRAY_TYPE */ 176, /* GL_COLOR_ARRAY_STRIDE */ 704, /* GL_INDEX_ARRAY_TYPE */ 703, /* GL_INDEX_ARRAY_STRIDE */ - 1870, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 1872, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 1871, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 1886, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 1888, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 1887, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ 495, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 2040, /* GL_VERTEX_ARRAY_POINTER */ - 1154, /* GL_NORMAL_ARRAY_POINTER */ + 2067, /* GL_VERTEX_ARRAY_POINTER */ + 1164, /* GL_NORMAL_ARRAY_POINTER */ 174, /* GL_COLOR_ARRAY_POINTER */ 702, /* GL_INDEX_ARRAY_POINTER */ - 1869, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 1885, /* GL_TEXTURE_COORD_ARRAY_POINTER */ 494, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 1129, /* GL_MULTISAMPLE */ - 1583, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1585, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1590, /* GL_SAMPLE_COVERAGE */ - 1587, /* GL_SAMPLE_BUFFERS */ - 1578, /* GL_SAMPLES */ - 1594, /* GL_SAMPLE_COVERAGE_VALUE */ - 1592, /* GL_SAMPLE_COVERAGE_INVERT */ + 1139, /* GL_MULTISAMPLE */ + 1599, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1601, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1606, /* GL_SAMPLE_COVERAGE */ + 1603, /* GL_SAMPLE_BUFFERS */ + 1594, /* GL_SAMPLES */ + 1610, /* GL_SAMPLE_COVERAGE_VALUE */ + 1608, /* GL_SAMPLE_COVERAGE_INVERT */ 219, /* GL_COLOR_MATRIX */ 221, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 968, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1335, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1331, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1326, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1322, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1333, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1329, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1324, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1320, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 1849, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1419, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 1851, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 976, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1345, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1341, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1336, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1332, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1343, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1339, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1334, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1330, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1865, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1429, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1867, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ 92, /* GL_BLEND_DST_RGB */ 106, /* GL_BLEND_SRC_RGB */ 90, /* GL_BLEND_DST_ALPHA */ 104, /* GL_BLEND_SRC_ALPHA */ 225, /* GL_COLOR_TABLE */ - 1345, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1328, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1407, /* GL_PROXY_COLOR_TABLE */ - 1411, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1410, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 1355, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1338, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1417, /* GL_PROXY_COLOR_TABLE */ + 1421, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1420, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ 249, /* GL_COLOR_TABLE_SCALE */ 229, /* GL_COLOR_TABLE_BIAS */ 234, /* GL_COLOR_TABLE_FORMAT */ @@ -4891,62 +4947,62 @@ static const unsigned reduced_enums[1472] = 240, /* GL_COLOR_TABLE_INTENSITY_SIZE */ 79, /* GL_BGR */ 80, /* GL_BGRA */ - 983, /* GL_MAX_ELEMENTS_VERTICES */ - 982, /* GL_MAX_ELEMENTS_INDICES */ - 1915, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 991, /* GL_MAX_ELEMENTS_VERTICES */ + 990, /* GL_MAX_ELEMENTS_INDICES */ + 1931, /* GL_TEXTURE_INDEX_SIZE_EXT */ 168, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1291, /* GL_POINT_SIZE_MIN */ - 1287, /* GL_POINT_SIZE_MAX */ - 1276, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1272, /* GL_POINT_DISTANCE_ATTENUATION */ + 1301, /* GL_POINT_SIZE_MIN */ + 1297, /* GL_POINT_SIZE_MAX */ + 1286, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1282, /* GL_POINT_DISTANCE_ATTENUATION */ 150, /* GL_CLAMP_TO_BORDER */ 153, /* GL_CLAMP_TO_EDGE */ - 1937, /* GL_TEXTURE_MIN_LOD */ - 1935, /* GL_TEXTURE_MAX_LOD */ - 1826, /* GL_TEXTURE_BASE_LEVEL */ - 1934, /* GL_TEXTURE_MAX_LEVEL */ + 1953, /* GL_TEXTURE_MIN_LOD */ + 1951, /* GL_TEXTURE_MAX_LOD */ + 1842, /* GL_TEXTURE_BASE_LEVEL */ + 1950, /* GL_TEXTURE_MAX_LEVEL */ 690, /* GL_IGNORE_BORDER_HP */ 300, /* GL_CONSTANT_BORDER_HP */ - 1502, /* GL_REPLICATE_BORDER_HP */ + 1512, /* GL_REPLICATE_BORDER_HP */ 306, /* GL_CONVOLUTION_BORDER_COLOR */ - 1183, /* GL_OCCLUSION_TEST_HP */ - 1184, /* GL_OCCLUSION_TEST_RESULT_HP */ - 774, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 1843, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 1845, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 1847, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 1848, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1846, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 1844, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 963, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 964, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1355, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1357, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1354, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1356, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 1923, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 1924, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 1922, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 1193, /* GL_OCCLUSION_TEST_HP */ + 1194, /* GL_OCCLUSION_TEST_RESULT_HP */ + 782, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1859, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1861, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1863, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1864, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1862, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1860, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 971, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 972, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1365, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1367, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1364, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1366, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 1939, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 1940, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 1938, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ 651, /* GL_GENERATE_MIPMAP */ 652, /* GL_GENERATE_MIPMAP_HINT */ 566, /* GL_FOG_OFFSET_SGIX */ 567, /* GL_FOG_OFFSET_VALUE_SGIX */ - 1857, /* GL_TEXTURE_COMPARE_SGIX */ - 1856, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 1919, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 1911, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 1873, /* GL_TEXTURE_COMPARE_SGIX */ + 1872, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 1935, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 1927, /* GL_TEXTURE_GEQUAL_R_SGIX */ 388, /* GL_DEPTH_COMPONENT16 */ 392, /* GL_DEPTH_COMPONENT24 */ 396, /* GL_DEPTH_COMPONENT32 */ 331, /* GL_CULL_VERTEX_EXT */ 333, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ 332, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 2105, /* GL_WRAP_BORDER_SUN */ - 1850, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 767, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1627, /* GL_SINGLE_COLOR */ - 1611, /* GL_SEPARATE_SPECULAR_COLOR */ - 1622, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 2133, /* GL_WRAP_BORDER_SUN */ + 1866, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 775, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1643, /* GL_SINGLE_COLOR */ + 1627, /* GL_SEPARATE_SPECULAR_COLOR */ + 1638, /* GL_SHARED_TEXTURE_PALETTE_EXT */ 578, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ 579, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ 589, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ @@ -4959,30 +5015,30 @@ static const unsigned reduced_enums[1472] = 633, /* GL_FRAMEBUFFER_UNDEFINED */ 404, /* GL_DEPTH_STENCIL_ATTACHMENT */ 698, /* GL_INDEX */ - 2002, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 2023, /* GL_UNSIGNED_SHORT_5_6_5 */ - 2024, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 2020, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 2017, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 2014, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 2011, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 1932, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 1933, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 1931, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 1079, /* GL_MIRRORED_REPEAT */ - 1565, /* GL_RGB_S3TC */ - 1523, /* GL_RGB4_S3TC */ - 1562, /* GL_RGBA_S3TC */ - 1551, /* GL_RGBA4_S3TC */ - 1558, /* GL_RGBA_DXT5_S3TC */ - 1548, /* GL_RGBA4_DXT5_S3TC */ + 2018, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 2050, /* GL_UNSIGNED_SHORT_5_6_5 */ + 2051, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 2047, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 2044, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 2030, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 2027, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 1948, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 1949, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 1947, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 1089, /* GL_MIRRORED_REPEAT */ + 1575, /* GL_RGB_S3TC */ + 1533, /* GL_RGB4_S3TC */ + 1572, /* GL_RGBA_S3TC */ + 1561, /* GL_RGBA4_S3TC */ + 1568, /* GL_RGBA_DXT5_S3TC */ + 1558, /* GL_RGBA4_DXT5_S3TC */ 288, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ 283, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ 284, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ 285, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 1141, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 1140, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 775, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 1151, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1150, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 783, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ 553, /* GL_FOG_COORDINATE_SOURCE */ 545, /* GL_FOG_COORD */ 569, /* GL_FRAGMENT_DEPTH */ @@ -4993,281 +5049,281 @@ static const unsigned reduced_enums[1472] = 547, /* GL_FOG_COORDINATE_ARRAY */ 223, /* GL_COLOR_SUM */ 358, /* GL_CURRENT_SECONDARY_COLOR */ - 1603, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1605, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1604, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1602, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1599, /* GL_SECONDARY_COLOR_ARRAY */ + 1619, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1621, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1620, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1618, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1615, /* GL_SECONDARY_COLOR_ARRAY */ 356, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ 29, /* GL_ALIASED_POINT_SIZE_RANGE */ 28, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1754, /* GL_TEXTURE0 */ - 1756, /* GL_TEXTURE1 */ - 1778, /* GL_TEXTURE2 */ - 1800, /* GL_TEXTURE3 */ - 1806, /* GL_TEXTURE4 */ - 1808, /* GL_TEXTURE5 */ - 1810, /* GL_TEXTURE6 */ - 1812, /* GL_TEXTURE7 */ - 1814, /* GL_TEXTURE8 */ - 1816, /* GL_TEXTURE9 */ - 1757, /* GL_TEXTURE10 */ - 1759, /* GL_TEXTURE11 */ - 1761, /* GL_TEXTURE12 */ - 1763, /* GL_TEXTURE13 */ - 1765, /* GL_TEXTURE14 */ - 1767, /* GL_TEXTURE15 */ - 1769, /* GL_TEXTURE16 */ - 1771, /* GL_TEXTURE17 */ - 1773, /* GL_TEXTURE18 */ - 1775, /* GL_TEXTURE19 */ - 1779, /* GL_TEXTURE20 */ - 1781, /* GL_TEXTURE21 */ - 1783, /* GL_TEXTURE22 */ - 1785, /* GL_TEXTURE23 */ - 1787, /* GL_TEXTURE24 */ - 1789, /* GL_TEXTURE25 */ - 1791, /* GL_TEXTURE26 */ - 1793, /* GL_TEXTURE27 */ - 1795, /* GL_TEXTURE28 */ - 1797, /* GL_TEXTURE29 */ - 1801, /* GL_TEXTURE30 */ - 1803, /* GL_TEXTURE31 */ + 1770, /* GL_TEXTURE0 */ + 1772, /* GL_TEXTURE1 */ + 1794, /* GL_TEXTURE2 */ + 1816, /* GL_TEXTURE3 */ + 1822, /* GL_TEXTURE4 */ + 1824, /* GL_TEXTURE5 */ + 1826, /* GL_TEXTURE6 */ + 1828, /* GL_TEXTURE7 */ + 1830, /* GL_TEXTURE8 */ + 1832, /* GL_TEXTURE9 */ + 1773, /* GL_TEXTURE10 */ + 1775, /* GL_TEXTURE11 */ + 1777, /* GL_TEXTURE12 */ + 1779, /* GL_TEXTURE13 */ + 1781, /* GL_TEXTURE14 */ + 1783, /* GL_TEXTURE15 */ + 1785, /* GL_TEXTURE16 */ + 1787, /* GL_TEXTURE17 */ + 1789, /* GL_TEXTURE18 */ + 1791, /* GL_TEXTURE19 */ + 1795, /* GL_TEXTURE20 */ + 1797, /* GL_TEXTURE21 */ + 1799, /* GL_TEXTURE22 */ + 1801, /* GL_TEXTURE23 */ + 1803, /* GL_TEXTURE24 */ + 1805, /* GL_TEXTURE25 */ + 1807, /* GL_TEXTURE26 */ + 1809, /* GL_TEXTURE27 */ + 1811, /* GL_TEXTURE28 */ + 1813, /* GL_TEXTURE29 */ + 1817, /* GL_TEXTURE30 */ + 1819, /* GL_TEXTURE31 */ 19, /* GL_ACTIVE_TEXTURE */ 156, /* GL_CLIENT_ACTIVE_TEXTURE */ - 1047, /* GL_MAX_TEXTURE_UNITS */ - 1977, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 1980, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 1982, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 1974, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1736, /* GL_SUBTRACT */ - 1030, /* GL_MAX_RENDERBUFFER_SIZE */ + 1056, /* GL_MAX_TEXTURE_UNITS */ + 1993, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 1996, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 1998, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 1990, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1752, /* GL_SUBTRACT */ + 1039, /* GL_MAX_RENDERBUFFER_SIZE */ 271, /* GL_COMPRESSED_ALPHA */ 275, /* GL_COMPRESSED_LUMINANCE */ 276, /* GL_COMPRESSED_LUMINANCE_ALPHA */ 273, /* GL_COMPRESSED_INTENSITY */ 279, /* GL_COMPRESSED_RGB */ 280, /* GL_COMPRESSED_RGBA */ - 1864, /* GL_TEXTURE_COMPRESSION_HINT */ - 1941, /* GL_TEXTURE_RECTANGLE_ARB */ - 1836, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - 1422, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - 1028, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + 1880, /* GL_TEXTURE_COMPRESSION_HINT */ + 1957, /* GL_TEXTURE_RECTANGLE_ARB */ + 1852, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + 1432, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + 1037, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ 403, /* GL_DEPTH_STENCIL */ - 2007, /* GL_UNSIGNED_INT_24_8 */ - 1042, /* GL_MAX_TEXTURE_LOD_BIAS */ - 1930, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 1044, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 1902, /* GL_TEXTURE_FILTER_CONTROL */ - 1920, /* GL_TEXTURE_LOD_BIAS */ + 2023, /* GL_UNSIGNED_INT_24_8 */ + 1051, /* GL_MAX_TEXTURE_LOD_BIAS */ + 1946, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 1053, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 1918, /* GL_TEXTURE_FILTER_CONTROL */ + 1936, /* GL_TEXTURE_LOD_BIAS */ 256, /* GL_COMBINE4 */ - 1036, /* GL_MAX_SHININESS_NV */ - 1037, /* GL_MAX_SPOT_EXPONENT_NV */ + 1045, /* GL_MAX_SHININESS_NV */ + 1046, /* GL_MAX_SPOT_EXPONENT_NV */ 696, /* GL_INCR_WRAP */ 369, /* GL_DECR_WRAP */ - 1099, /* GL_MODELVIEW1_ARB */ - 1157, /* GL_NORMAL_MAP */ - 1462, /* GL_REFLECTION_MAP */ - 1874, /* GL_TEXTURE_CUBE_MAP */ - 1833, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 1886, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 1876, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 1889, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 1879, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 1892, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 1882, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1420, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 976, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 1135, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 1366, /* GL_PRIMITIVE_RESTART_NV */ - 1365, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + 1109, /* GL_MODELVIEW1_ARB */ + 1167, /* GL_NORMAL_MAP */ + 1472, /* GL_REFLECTION_MAP */ + 1890, /* GL_TEXTURE_CUBE_MAP */ + 1849, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 1902, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 1892, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 1905, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 1895, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 1908, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 1898, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1430, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 984, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 1145, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 1376, /* GL_PRIMITIVE_RESTART_NV */ + 1375, /* GL_PRIMITIVE_RESTART_INDEX_NV */ 561, /* GL_FOG_DISTANCE_MODE_NV */ 510, /* GL_EYE_RADIAL_NV */ 509, /* GL_EYE_PLANE_ABSOLUTE_NV */ 255, /* GL_COMBINE */ 262, /* GL_COMBINE_RGB */ 257, /* GL_COMBINE_ALPHA */ - 1566, /* GL_RGB_SCALE */ + 1576, /* GL_RGB_SCALE */ 25, /* GL_ADD_SIGNED */ 731, /* GL_INTERPOLATE */ 295, /* GL_CONSTANT */ - 1361, /* GL_PRIMARY_COLOR */ - 1358, /* GL_PREVIOUS */ - 1642, /* GL_SOURCE0_RGB */ - 1648, /* GL_SOURCE1_RGB */ - 1654, /* GL_SOURCE2_RGB */ - 1658, /* GL_SOURCE3_RGB_NV */ - 1639, /* GL_SOURCE0_ALPHA */ - 1645, /* GL_SOURCE1_ALPHA */ - 1651, /* GL_SOURCE2_ALPHA */ - 1657, /* GL_SOURCE3_ALPHA_NV */ - 1197, /* GL_OPERAND0_RGB */ - 1203, /* GL_OPERAND1_RGB */ - 1209, /* GL_OPERAND2_RGB */ - 1213, /* GL_OPERAND3_RGB_NV */ - 1194, /* GL_OPERAND0_ALPHA */ - 1200, /* GL_OPERAND1_ALPHA */ - 1206, /* GL_OPERAND2_ALPHA */ - 1212, /* GL_OPERAND3_ALPHA_NV */ + 1371, /* GL_PRIMARY_COLOR */ + 1368, /* GL_PREVIOUS */ + 1658, /* GL_SOURCE0_RGB */ + 1664, /* GL_SOURCE1_RGB */ + 1670, /* GL_SOURCE2_RGB */ + 1674, /* GL_SOURCE3_RGB_NV */ + 1655, /* GL_SOURCE0_ALPHA */ + 1661, /* GL_SOURCE1_ALPHA */ + 1667, /* GL_SOURCE2_ALPHA */ + 1673, /* GL_SOURCE3_ALPHA_NV */ + 1207, /* GL_OPERAND0_RGB */ + 1213, /* GL_OPERAND1_RGB */ + 1219, /* GL_OPERAND2_RGB */ + 1223, /* GL_OPERAND3_RGB_NV */ + 1204, /* GL_OPERAND0_ALPHA */ + 1210, /* GL_OPERAND1_ALPHA */ + 1216, /* GL_OPERAND2_ALPHA */ + 1222, /* GL_OPERAND3_ALPHA_NV */ 131, /* GL_BUFFER_OBJECT_APPLE */ - 2036, /* GL_VERTEX_ARRAY_BINDING */ - 1939, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - 1940, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 2110, /* GL_YCBCR_422_APPLE */ - 2025, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 2027, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 1949, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - 1727, /* GL_STORAGE_PRIVATE_APPLE */ - 1726, /* GL_STORAGE_CACHED_APPLE */ - 1728, /* GL_STORAGE_SHARED_APPLE */ - 1629, /* GL_SLICE_ACCUM_SUN */ - 1430, /* GL_QUAD_MESH_SUN */ - 1987, /* GL_TRIANGLE_MESH_SUN */ - 2075, /* GL_VERTEX_PROGRAM_ARB */ - 2086, /* GL_VERTEX_STATE_PROGRAM_NV */ - 2062, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 2068, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 2070, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 2072, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 2063, /* GL_VERTEX_ARRAY_BINDING */ + 1955, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 1956, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 2138, /* GL_YCBCR_422_APPLE */ + 2052, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 2054, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 1965, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1743, /* GL_STORAGE_PRIVATE_APPLE */ + 1742, /* GL_STORAGE_CACHED_APPLE */ + 1744, /* GL_STORAGE_SHARED_APPLE */ + 1645, /* GL_SLICE_ACCUM_SUN */ + 1440, /* GL_QUAD_MESH_SUN */ + 2003, /* GL_TRIANGLE_MESH_SUN */ + 2103, /* GL_VERTEX_PROGRAM_ARB */ + 2114, /* GL_VERTEX_STATE_PROGRAM_NV */ + 2089, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 2096, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 2098, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 2100, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ 360, /* GL_CURRENT_VERTEX_ATTRIB */ - 1379, /* GL_PROGRAM_LENGTH_ARB */ - 1394, /* GL_PROGRAM_STRING_ARB */ - 1122, /* GL_MODELVIEW_PROJECTION_NV */ + 1389, /* GL_PROGRAM_LENGTH_ARB */ + 1404, /* GL_PROGRAM_STRING_ARB */ + 1132, /* GL_MODELVIEW_PROJECTION_NV */ 689, /* GL_IDENTITY_NV */ - 747, /* GL_INVERSE_NV */ - 1979, /* GL_TRANSPOSE_NV */ - 748, /* GL_INVERSE_TRANSPOSE_NV */ - 1014, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 1013, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 904, /* GL_MATRIX0_NV */ - 916, /* GL_MATRIX1_NV */ - 928, /* GL_MATRIX2_NV */ - 932, /* GL_MATRIX3_NV */ - 934, /* GL_MATRIX4_NV */ - 936, /* GL_MATRIX5_NV */ - 938, /* GL_MATRIX6_NV */ - 940, /* GL_MATRIX7_NV */ + 755, /* GL_INVERSE_NV */ + 1995, /* GL_TRANSPOSE_NV */ + 756, /* GL_INVERSE_TRANSPOSE_NV */ + 1022, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 1021, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 912, /* GL_MATRIX0_NV */ + 924, /* GL_MATRIX1_NV */ + 936, /* GL_MATRIX2_NV */ + 940, /* GL_MATRIX3_NV */ + 942, /* GL_MATRIX4_NV */ + 944, /* GL_MATRIX5_NV */ + 946, /* GL_MATRIX6_NV */ + 948, /* GL_MATRIX7_NV */ 343, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ 340, /* GL_CURRENT_MATRIX_ARB */ - 2078, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - 2081, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1391, /* GL_PROGRAM_PARAMETER_NV */ - 2066, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1396, /* GL_PROGRAM_TARGET_NV */ - 1393, /* GL_PROGRAM_RESIDENT_NV */ - 1959, /* GL_TRACK_MATRIX_NV */ - 1960, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 2076, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1373, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 2106, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + 2109, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1401, /* GL_PROGRAM_PARAMETER_NV */ + 2094, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1406, /* GL_PROGRAM_TARGET_NV */ + 1403, /* GL_PROGRAM_RESIDENT_NV */ + 1975, /* GL_TRACK_MATRIX_NV */ + 1976, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 2104, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1383, /* GL_PROGRAM_ERROR_POSITION_ARB */ 384, /* GL_DEPTH_CLAMP */ - 2044, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 2051, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 2052, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 2053, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 2054, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 2055, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 2056, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 2057, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 2058, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 2059, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 2045, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 2046, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 2047, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 2048, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 2049, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 2050, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 852, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 859, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 860, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 861, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 862, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 863, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 864, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 865, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 866, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 867, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 853, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 854, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 855, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 856, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 857, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 858, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 879, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 886, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 887, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 888, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 889, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 890, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 891, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1372, /* GL_PROGRAM_BINDING_ARB */ - 893, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 894, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 880, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 881, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 882, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 883, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 884, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 885, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 1862, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 1859, /* GL_TEXTURE_COMPRESSED */ - 1163, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 2071, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 2078, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 2079, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 2080, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 2081, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 2082, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 2083, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 2084, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 2085, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 2086, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 2072, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 2073, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 2074, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 2075, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 2076, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 2077, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 860, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 867, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 868, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 869, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 870, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 871, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 872, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 873, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 874, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 875, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 861, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 862, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 863, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 864, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 865, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 866, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 887, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 894, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 895, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 896, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 897, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 898, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 899, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1382, /* GL_PROGRAM_BINDING_ARB */ + 901, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 902, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 888, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 889, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 890, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 891, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 892, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 893, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 1878, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 1875, /* GL_TEXTURE_COMPRESSED */ + 1173, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ 293, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 1065, /* GL_MAX_VERTEX_UNITS_ARB */ + 1074, /* GL_MAX_VERTEX_UNITS_ARB */ 23, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 2104, /* GL_WEIGHT_SUM_UNITY_ARB */ - 2074, /* GL_VERTEX_BLEND_ARB */ + 2132, /* GL_WEIGHT_SUM_UNITY_ARB */ + 2102, /* GL_VERTEX_BLEND_ARB */ 362, /* GL_CURRENT_WEIGHT_ARB */ - 2102, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 2100, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 2098, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 2096, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 2091, /* GL_WEIGHT_ARRAY_ARB */ + 2130, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 2128, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 2126, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 2124, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 2119, /* GL_WEIGHT_ARRAY_ARB */ 418, /* GL_DOT3_RGB */ 419, /* GL_DOT3_RGBA */ 287, /* GL_COMPRESSED_RGB_FXT1_3DFX */ 282, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 1130, /* GL_MULTISAMPLE_3DFX */ - 1588, /* GL_SAMPLE_BUFFERS_3DFX */ - 1579, /* GL_SAMPLES_3DFX */ - 1110, /* GL_MODELVIEW2_ARB */ - 1113, /* GL_MODELVIEW3_ARB */ - 1114, /* GL_MODELVIEW4_ARB */ - 1115, /* GL_MODELVIEW5_ARB */ - 1116, /* GL_MODELVIEW6_ARB */ - 1117, /* GL_MODELVIEW7_ARB */ - 1118, /* GL_MODELVIEW8_ARB */ - 1119, /* GL_MODELVIEW9_ARB */ - 1089, /* GL_MODELVIEW10_ARB */ - 1090, /* GL_MODELVIEW11_ARB */ - 1091, /* GL_MODELVIEW12_ARB */ - 1092, /* GL_MODELVIEW13_ARB */ - 1093, /* GL_MODELVIEW14_ARB */ - 1094, /* GL_MODELVIEW15_ARB */ - 1095, /* GL_MODELVIEW16_ARB */ - 1096, /* GL_MODELVIEW17_ARB */ - 1097, /* GL_MODELVIEW18_ARB */ - 1098, /* GL_MODELVIEW19_ARB */ - 1100, /* GL_MODELVIEW20_ARB */ - 1101, /* GL_MODELVIEW21_ARB */ - 1102, /* GL_MODELVIEW22_ARB */ - 1103, /* GL_MODELVIEW23_ARB */ - 1104, /* GL_MODELVIEW24_ARB */ - 1105, /* GL_MODELVIEW25_ARB */ - 1106, /* GL_MODELVIEW26_ARB */ - 1107, /* GL_MODELVIEW27_ARB */ - 1108, /* GL_MODELVIEW28_ARB */ - 1109, /* GL_MODELVIEW29_ARB */ - 1111, /* GL_MODELVIEW30_ARB */ - 1112, /* GL_MODELVIEW31_ARB */ + 1140, /* GL_MULTISAMPLE_3DFX */ + 1604, /* GL_SAMPLE_BUFFERS_3DFX */ + 1595, /* GL_SAMPLES_3DFX */ + 1120, /* GL_MODELVIEW2_ARB */ + 1123, /* GL_MODELVIEW3_ARB */ + 1124, /* GL_MODELVIEW4_ARB */ + 1125, /* GL_MODELVIEW5_ARB */ + 1126, /* GL_MODELVIEW6_ARB */ + 1127, /* GL_MODELVIEW7_ARB */ + 1128, /* GL_MODELVIEW8_ARB */ + 1129, /* GL_MODELVIEW9_ARB */ + 1099, /* GL_MODELVIEW10_ARB */ + 1100, /* GL_MODELVIEW11_ARB */ + 1101, /* GL_MODELVIEW12_ARB */ + 1102, /* GL_MODELVIEW13_ARB */ + 1103, /* GL_MODELVIEW14_ARB */ + 1104, /* GL_MODELVIEW15_ARB */ + 1105, /* GL_MODELVIEW16_ARB */ + 1106, /* GL_MODELVIEW17_ARB */ + 1107, /* GL_MODELVIEW18_ARB */ + 1108, /* GL_MODELVIEW19_ARB */ + 1110, /* GL_MODELVIEW20_ARB */ + 1111, /* GL_MODELVIEW21_ARB */ + 1112, /* GL_MODELVIEW22_ARB */ + 1113, /* GL_MODELVIEW23_ARB */ + 1114, /* GL_MODELVIEW24_ARB */ + 1115, /* GL_MODELVIEW25_ARB */ + 1116, /* GL_MODELVIEW26_ARB */ + 1117, /* GL_MODELVIEW27_ARB */ + 1118, /* GL_MODELVIEW28_ARB */ + 1119, /* GL_MODELVIEW29_ARB */ + 1121, /* GL_MODELVIEW30_ARB */ + 1122, /* GL_MODELVIEW31_ARB */ 423, /* GL_DOT3_RGB_EXT */ 421, /* GL_DOT3_RGBA_EXT */ - 1083, /* GL_MIRROR_CLAMP_EXT */ - 1086, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 1125, /* GL_MODULATE_ADD_ATI */ - 1126, /* GL_MODULATE_SIGNED_ADD_ATI */ - 1127, /* GL_MODULATE_SUBTRACT_ATI */ - 2111, /* GL_YCBCR_MESA */ - 1221, /* GL_PACK_INVERT_MESA */ + 1093, /* GL_MIRROR_CLAMP_EXT */ + 1096, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 1135, /* GL_MODULATE_ADD_ATI */ + 1136, /* GL_MODULATE_SIGNED_ADD_ATI */ + 1137, /* GL_MODULATE_SUBTRACT_ATI */ + 2139, /* GL_YCBCR_MESA */ + 1231, /* GL_PACK_INVERT_MESA */ 365, /* GL_DEBUG_OBJECT_MESA */ 366, /* GL_DEBUG_PRINT_MESA */ 364, /* GL_DEBUG_ASSERT_MESA */ @@ -5281,26 +5337,26 @@ static const unsigned reduced_enums[1472] = 482, /* GL_DU8DV8_ATI */ 137, /* GL_BUMP_ENVMAP_ATI */ 141, /* GL_BUMP_TARGET_ATI */ - 1165, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ - 1370, /* GL_PROGRAM_BINARY_FORMATS_OES */ - 1691, /* GL_STENCIL_BACK_FUNC */ - 1689, /* GL_STENCIL_BACK_FAIL */ - 1693, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1695, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 1175, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + 1380, /* GL_PROGRAM_BINARY_FORMATS_OES */ + 1707, /* GL_STENCIL_BACK_FUNC */ + 1705, /* GL_STENCIL_BACK_FAIL */ + 1709, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1711, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ 570, /* GL_FRAGMENT_PROGRAM_ARB */ - 1368, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1399, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1398, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1382, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1388, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1387, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 1003, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1026, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1025, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1016, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1022, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1021, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 979, /* GL_MAX_DRAW_BUFFERS */ + 1378, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1409, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1408, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1392, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1398, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1397, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 1011, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1035, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1034, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1024, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1030, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1029, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 987, /* GL_MAX_DRAW_BUFFERS */ 427, /* GL_DRAW_BUFFER0 */ 430, /* GL_DRAW_BUFFER1 */ 451, /* GL_DRAW_BUFFER2 */ @@ -5318,172 +5374,175 @@ static const unsigned reduced_enums[1472] = 443, /* GL_DRAW_BUFFER14 */ 446, /* GL_DRAW_BUFFER15 */ 95, /* GL_BLEND_EQUATION_ALPHA */ - 955, /* GL_MATRIX_PALETTE_ARB */ - 996, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 999, /* GL_MAX_PALETTE_MATRICES_ARB */ + 963, /* GL_MATRIX_PALETTE_ARB */ + 1004, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 1007, /* GL_MAX_PALETTE_MATRICES_ARB */ 346, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 943, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 951, /* GL_MATRIX_INDEX_ARRAY_ARB */ 341, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 948, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 952, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 950, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 946, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 1897, /* GL_TEXTURE_DEPTH_SIZE */ + 956, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 960, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 958, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 954, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 1913, /* GL_TEXTURE_DEPTH_SIZE */ 411, /* GL_DEPTH_TEXTURE_MODE */ - 1854, /* GL_TEXTURE_COMPARE_MODE */ - 1852, /* GL_TEXTURE_COMPARE_FUNC */ + 1870, /* GL_TEXTURE_COMPARE_MODE */ + 1868, /* GL_TEXTURE_COMPARE_FUNC */ 266, /* GL_COMPARE_R_TO_TEXTURE */ - 1298, /* GL_POINT_SPRITE */ + 1308, /* GL_POINT_SPRITE */ 320, /* GL_COORD_REPLACE */ - 1303, /* GL_POINT_SPRITE_R_MODE_NV */ - 1434, /* GL_QUERY_COUNTER_BITS */ + 1313, /* GL_POINT_SPRITE_R_MODE_NV */ + 1444, /* GL_QUERY_COUNTER_BITS */ 349, /* GL_CURRENT_QUERY */ - 1437, /* GL_QUERY_RESULT */ - 1439, /* GL_QUERY_RESULT_AVAILABLE */ - 1058, /* GL_MAX_VERTEX_ATTRIBS */ - 2064, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 1447, /* GL_QUERY_RESULT */ + 1449, /* GL_QUERY_RESULT_AVAILABLE */ + 1067, /* GL_MAX_VERTEX_ATTRIBS */ + 2092, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ 409, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ 408, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 1038, /* GL_MAX_TEXTURE_COORDS */ - 1040, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1375, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1377, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1376, /* GL_PROGRAM_FORMAT_ARB */ - 1951, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 1047, /* GL_MAX_TEXTURE_COORDS */ + 1049, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1385, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1387, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1386, /* GL_PROGRAM_FORMAT_ARB */ + 1967, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ 382, /* GL_DEPTH_BOUNDS_TEST_EXT */ 381, /* GL_DEPTH_BOUNDS_EXT */ 61, /* GL_ARRAY_BUFFER */ 496, /* GL_ELEMENT_ARRAY_BUFFER */ 62, /* GL_ARRAY_BUFFER_BINDING */ 497, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 2038, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 1152, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 2065, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1162, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ 172, /* GL_COLOR_ARRAY_BUFFER_BINDING */ 700, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 1867, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 1883, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ 492, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1600, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 1616, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ 548, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 2092, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 2060, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1378, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 1009, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1384, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1018, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1397, /* GL_PROGRAM_TEMPORARIES_ARB */ - 1024, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1386, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1020, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1390, /* GL_PROGRAM_PARAMETERS_ARB */ - 1023, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1385, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1019, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1369, /* GL_PROGRAM_ATTRIBS_ARB */ - 1004, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1383, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1017, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1367, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1002, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1381, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 1015, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 1010, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 1006, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1400, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 1976, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1451, /* GL_READ_ONLY */ - 2106, /* GL_WRITE_ONLY */ - 1453, /* GL_READ_WRITE */ + 2120, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 2087, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1388, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 1017, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1394, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1026, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1407, /* GL_PROGRAM_TEMPORARIES_ARB */ + 1032, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1396, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1028, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1400, /* GL_PROGRAM_PARAMETERS_ARB */ + 1031, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1395, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1027, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1379, /* GL_PROGRAM_ATTRIBS_ARB */ + 1012, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1393, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1025, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1377, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1010, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1391, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1023, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1018, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 1014, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1410, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 1992, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1461, /* GL_READ_ONLY */ + 2134, /* GL_WRITE_ONLY */ + 1463, /* GL_READ_WRITE */ 121, /* GL_BUFFER_ACCESS */ 125, /* GL_BUFFER_MAPPED */ 128, /* GL_BUFFER_MAP_POINTER */ - 1958, /* GL_TIME_ELAPSED_EXT */ - 903, /* GL_MATRIX0_ARB */ - 915, /* GL_MATRIX1_ARB */ - 927, /* GL_MATRIX2_ARB */ - 931, /* GL_MATRIX3_ARB */ - 933, /* GL_MATRIX4_ARB */ - 935, /* GL_MATRIX5_ARB */ - 937, /* GL_MATRIX6_ARB */ - 939, /* GL_MATRIX7_ARB */ - 941, /* GL_MATRIX8_ARB */ - 942, /* GL_MATRIX9_ARB */ - 905, /* GL_MATRIX10_ARB */ - 906, /* GL_MATRIX11_ARB */ - 907, /* GL_MATRIX12_ARB */ - 908, /* GL_MATRIX13_ARB */ - 909, /* GL_MATRIX14_ARB */ - 910, /* GL_MATRIX15_ARB */ - 911, /* GL_MATRIX16_ARB */ - 912, /* GL_MATRIX17_ARB */ - 913, /* GL_MATRIX18_ARB */ - 914, /* GL_MATRIX19_ARB */ - 917, /* GL_MATRIX20_ARB */ - 918, /* GL_MATRIX21_ARB */ - 919, /* GL_MATRIX22_ARB */ - 920, /* GL_MATRIX23_ARB */ - 921, /* GL_MATRIX24_ARB */ - 922, /* GL_MATRIX25_ARB */ - 923, /* GL_MATRIX26_ARB */ - 924, /* GL_MATRIX27_ARB */ - 925, /* GL_MATRIX28_ARB */ - 926, /* GL_MATRIX29_ARB */ - 929, /* GL_MATRIX30_ARB */ - 930, /* GL_MATRIX31_ARB */ - 1731, /* GL_STREAM_DRAW */ - 1733, /* GL_STREAM_READ */ - 1729, /* GL_STREAM_COPY */ - 1681, /* GL_STATIC_DRAW */ - 1683, /* GL_STATIC_READ */ - 1679, /* GL_STATIC_COPY */ + 1974, /* GL_TIME_ELAPSED_EXT */ + 911, /* GL_MATRIX0_ARB */ + 923, /* GL_MATRIX1_ARB */ + 935, /* GL_MATRIX2_ARB */ + 939, /* GL_MATRIX3_ARB */ + 941, /* GL_MATRIX4_ARB */ + 943, /* GL_MATRIX5_ARB */ + 945, /* GL_MATRIX6_ARB */ + 947, /* GL_MATRIX7_ARB */ + 949, /* GL_MATRIX8_ARB */ + 950, /* GL_MATRIX9_ARB */ + 913, /* GL_MATRIX10_ARB */ + 914, /* GL_MATRIX11_ARB */ + 915, /* GL_MATRIX12_ARB */ + 916, /* GL_MATRIX13_ARB */ + 917, /* GL_MATRIX14_ARB */ + 918, /* GL_MATRIX15_ARB */ + 919, /* GL_MATRIX16_ARB */ + 920, /* GL_MATRIX17_ARB */ + 921, /* GL_MATRIX18_ARB */ + 922, /* GL_MATRIX19_ARB */ + 925, /* GL_MATRIX20_ARB */ + 926, /* GL_MATRIX21_ARB */ + 927, /* GL_MATRIX22_ARB */ + 928, /* GL_MATRIX23_ARB */ + 929, /* GL_MATRIX24_ARB */ + 930, /* GL_MATRIX25_ARB */ + 931, /* GL_MATRIX26_ARB */ + 932, /* GL_MATRIX27_ARB */ + 933, /* GL_MATRIX28_ARB */ + 934, /* GL_MATRIX29_ARB */ + 937, /* GL_MATRIX30_ARB */ + 938, /* GL_MATRIX31_ARB */ + 1747, /* GL_STREAM_DRAW */ + 1749, /* GL_STREAM_READ */ + 1745, /* GL_STREAM_COPY */ + 1697, /* GL_STATIC_DRAW */ + 1699, /* GL_STATIC_READ */ + 1695, /* GL_STATIC_COPY */ 486, /* GL_DYNAMIC_DRAW */ 488, /* GL_DYNAMIC_READ */ 484, /* GL_DYNAMIC_COPY */ - 1261, /* GL_PIXEL_PACK_BUFFER */ - 1265, /* GL_PIXEL_UNPACK_BUFFER */ - 1262, /* GL_PIXEL_PACK_BUFFER_BINDING */ - 1266, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 1271, /* GL_PIXEL_PACK_BUFFER */ + 1275, /* GL_PIXEL_UNPACK_BUFFER */ + 1272, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1276, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ 373, /* GL_DEPTH24_STENCIL8 */ - 1947, /* GL_TEXTURE_STENCIL_SIZE */ - 1895, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - 1005, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 1008, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 1012, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 1011, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 960, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - 1722, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 1963, /* GL_TEXTURE_STENCIL_SIZE */ + 1911, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 1013, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 1016, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 1020, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 1019, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 2091, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ + 968, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + 1088, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */ + 1033, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */ + 1738, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 18, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 1084, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1581, /* GL_SAMPLES_PASSED */ - 1285, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - 1284, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - 1283, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - 1121, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - 1403, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - 1929, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1094, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1597, /* GL_SAMPLES_PASSED */ + 1295, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + 1294, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + 1293, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + 1131, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1413, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1945, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ 132, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ 124, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - 1466, /* GL_RELEASED_APPLE */ - 2089, /* GL_VOLATILE_APPLE */ - 1505, /* GL_RETAINED_APPLE */ - 1991, /* GL_UNDEFINED_APPLE */ - 1424, /* GL_PURGEABLE_APPLE */ + 1476, /* GL_RELEASED_APPLE */ + 2117, /* GL_VOLATILE_APPLE */ + 1515, /* GL_RETAINED_APPLE */ + 2007, /* GL_UNDEFINED_APPLE */ + 1434, /* GL_PURGEABLE_APPLE */ 571, /* GL_FRAGMENT_SHADER */ - 2084, /* GL_VERTEX_SHADER */ - 1389, /* GL_PROGRAM_OBJECT_ARB */ - 1616, /* GL_SHADER_OBJECT_ARB */ - 986, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 1062, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 1055, /* GL_MAX_VARYING_FLOATS */ - 1060, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 970, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 1181, /* GL_OBJECT_TYPE_ARB */ - 1618, /* GL_SHADER_TYPE */ + 2112, /* GL_VERTEX_SHADER */ + 1399, /* GL_PROGRAM_OBJECT_ARB */ + 1632, /* GL_SHADER_OBJECT_ARB */ + 994, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 1071, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 1064, /* GL_MAX_VARYING_FLOATS */ + 1069, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 978, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1191, /* GL_OBJECT_TYPE_ARB */ + 1634, /* GL_SHADER_TYPE */ 536, /* GL_FLOAT_VEC2 */ 538, /* GL_FLOAT_VEC3 */ 540, /* GL_FLOAT_VEC4 */ - 735, /* GL_INT_VEC2 */ - 737, /* GL_INT_VEC3 */ - 739, /* GL_INT_VEC4 */ + 743, /* GL_INT_VEC2 */ + 745, /* GL_INT_VEC3 */ + 747, /* GL_INT_VEC4 */ 113, /* GL_BOOL */ 115, /* GL_BOOL_VEC2 */ 117, /* GL_BOOL_VEC3 */ @@ -5491,12 +5550,12 @@ static const unsigned reduced_enums[1472] = 524, /* GL_FLOAT_MAT2 */ 528, /* GL_FLOAT_MAT3 */ 532, /* GL_FLOAT_MAT4 */ - 1571, /* GL_SAMPLER_1D */ - 1573, /* GL_SAMPLER_2D */ - 1575, /* GL_SAMPLER_3D */ - 1577, /* GL_SAMPLER_CUBE */ - 1572, /* GL_SAMPLER_1D_SHADOW */ - 1574, /* GL_SAMPLER_2D_SHADOW */ + 1581, /* GL_SAMPLER_1D */ + 1585, /* GL_SAMPLER_2D */ + 1589, /* GL_SAMPLER_3D */ + 1592, /* GL_SAMPLER_CUBE */ + 1584, /* GL_SAMPLER_1D_SHADOW */ + 1588, /* GL_SAMPLER_2D_SHADOW */ 526, /* GL_FLOAT_MAT2x3 */ 527, /* GL_FLOAT_MAT2x4 */ 530, /* GL_FLOAT_MAT3x2 */ @@ -5505,81 +5564,81 @@ static const unsigned reduced_enums[1472] = 535, /* GL_FLOAT_MAT4x3 */ 371, /* GL_DELETE_STATUS */ 270, /* GL_COMPILE_STATUS */ - 794, /* GL_LINK_STATUS */ - 2032, /* GL_VALIDATE_STATUS */ + 802, /* GL_LINK_STATUS */ + 2059, /* GL_VALIDATE_STATUS */ 712, /* GL_INFO_LOG_LENGTH */ 64, /* GL_ATTACHED_SHADERS */ 21, /* GL_ACTIVE_UNIFORMS */ 22, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1617, /* GL_SHADER_SOURCE_LENGTH */ + 1633, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ 573, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1620, /* GL_SHADING_LANGUAGE_VERSION */ + 1636, /* GL_SHADING_LANGUAGE_VERSION */ 348, /* GL_CURRENT_PROGRAM */ - 1230, /* GL_PALETTE4_RGB8_OES */ - 1232, /* GL_PALETTE4_RGBA8_OES */ - 1228, /* GL_PALETTE4_R5_G6_B5_OES */ - 1231, /* GL_PALETTE4_RGBA4_OES */ - 1229, /* GL_PALETTE4_RGB5_A1_OES */ - 1235, /* GL_PALETTE8_RGB8_OES */ - 1237, /* GL_PALETTE8_RGBA8_OES */ - 1233, /* GL_PALETTE8_R5_G6_B5_OES */ - 1236, /* GL_PALETTE8_RGBA4_OES */ - 1234, /* GL_PALETTE8_RGB5_A1_OES */ + 1240, /* GL_PALETTE4_RGB8_OES */ + 1242, /* GL_PALETTE4_RGBA8_OES */ + 1238, /* GL_PALETTE4_R5_G6_B5_OES */ + 1241, /* GL_PALETTE4_RGBA4_OES */ + 1239, /* GL_PALETTE4_RGB5_A1_OES */ + 1245, /* GL_PALETTE8_RGB8_OES */ + 1247, /* GL_PALETTE8_RGBA8_OES */ + 1243, /* GL_PALETTE8_R5_G6_B5_OES */ + 1246, /* GL_PALETTE8_RGBA4_OES */ + 1244, /* GL_PALETTE8_RGB5_A1_OES */ 694, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ 692, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - 1282, /* GL_POINT_SIZE_ARRAY_OES */ - 1873, /* GL_TEXTURE_CROP_RECT_OES */ - 944, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - 1281, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - 2015, /* GL_UNSIGNED_NORMALIZED */ - 1819, /* GL_TEXTURE_1D_ARRAY_EXT */ - 1413, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - 1821, /* GL_TEXTURE_2D_ARRAY_EXT */ - 1416, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - 1828, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - 1830, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - 990, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ - 1673, /* GL_SRGB */ - 1674, /* GL_SRGB8 */ - 1676, /* GL_SRGB_ALPHA */ - 1675, /* GL_SRGB8_ALPHA8 */ - 1633, /* GL_SLUMINANCE_ALPHA */ - 1632, /* GL_SLUMINANCE8_ALPHA8 */ - 1630, /* GL_SLUMINANCE */ - 1631, /* GL_SLUMINANCE8 */ + 1292, /* GL_POINT_SIZE_ARRAY_OES */ + 1889, /* GL_TEXTURE_CROP_RECT_OES */ + 952, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + 1291, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + 2042, /* GL_UNSIGNED_NORMALIZED */ + 1835, /* GL_TEXTURE_1D_ARRAY_EXT */ + 1423, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + 1837, /* GL_TEXTURE_2D_ARRAY_EXT */ + 1426, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + 1844, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + 1846, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + 998, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ + 1689, /* GL_SRGB */ + 1690, /* GL_SRGB8 */ + 1692, /* GL_SRGB_ALPHA */ + 1691, /* GL_SRGB8_ALPHA8 */ + 1649, /* GL_SLUMINANCE_ALPHA */ + 1648, /* GL_SLUMINANCE8_ALPHA8 */ + 1646, /* GL_SLUMINANCE */ + 1647, /* GL_SLUMINANCE8 */ 291, /* GL_COMPRESSED_SRGB */ 292, /* GL_COMPRESSED_SRGB_ALPHA */ 289, /* GL_COMPRESSED_SLUMINANCE */ 290, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - 1973, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - 1967, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - 1053, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - 1972, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - 1970, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - 1969, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - 1364, /* GL_PRIMITIVES_GENERATED_EXT */ - 1971, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - 1444, /* GL_RASTERIZER_DISCARD_EXT */ - 1051, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - 1052, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + 1989, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + 1983, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + 1062, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + 1988, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + 1986, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + 1985, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + 1374, /* GL_PRIMITIVES_GENERATED_EXT */ + 1987, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + 1454, /* GL_RASTERIZER_DISCARD_EXT */ + 1060, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + 1061, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ 730, /* GL_INTERLEAVED_ATTRIBS_EXT */ - 1610, /* GL_SEPARATE_ATTRIBS_EXT */ - 1966, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - 1965, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - 1300, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 802, /* GL_LOWER_LEFT */ - 2029, /* GL_UPPER_LEFT */ - 1697, /* GL_STENCIL_BACK_REF */ - 1698, /* GL_STENCIL_BACK_VALUE_MASK */ - 1699, /* GL_STENCIL_BACK_WRITEMASK */ + 1626, /* GL_SEPARATE_ATTRIBS_EXT */ + 1982, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + 1981, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + 1310, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 810, /* GL_LOWER_LEFT */ + 2056, /* GL_UPPER_LEFT */ + 1713, /* GL_STENCIL_BACK_REF */ + 1714, /* GL_STENCIL_BACK_VALUE_MASK */ + 1715, /* GL_STENCIL_BACK_WRITEMASK */ 476, /* GL_DRAW_FRAMEBUFFER_BINDING */ - 1471, /* GL_RENDERBUFFER_BINDING */ - 1447, /* GL_READ_FRAMEBUFFER */ + 1481, /* GL_RENDERBUFFER_BINDING */ + 1457, /* GL_READ_FRAMEBUFFER */ 475, /* GL_DRAW_FRAMEBUFFER */ - 1448, /* GL_READ_FRAMEBUFFER_BINDING */ - 1490, /* GL_RENDERBUFFER_SAMPLES */ + 1458, /* GL_READ_FRAMEBUFFER_BINDING */ + 1500, /* GL_RENDERBUFFER_SAMPLES */ 586, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ 583, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ 598, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ @@ -5595,7 +5654,7 @@ static const unsigned reduced_enums[1472] = 628, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ 634, /* GL_FRAMEBUFFER_UNSUPPORTED */ 632, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 966, /* GL_MAX_COLOR_ATTACHMENTS */ + 974, /* GL_MAX_COLOR_ATTACHMENTS */ 178, /* GL_COLOR_ATTACHMENT0 */ 181, /* GL_COLOR_ATTACHMENT1 */ 195, /* GL_COLOR_ATTACHMENT2 */ @@ -5613,138 +5672,163 @@ static const unsigned reduced_enums[1472] = 190, /* GL_COLOR_ATTACHMENT14 */ 192, /* GL_COLOR_ATTACHMENT15 */ 376, /* GL_DEPTH_ATTACHMENT */ - 1686, /* GL_STENCIL_ATTACHMENT */ + 1702, /* GL_STENCIL_ATTACHMENT */ 575, /* GL_FRAMEBUFFER */ - 1468, /* GL_RENDERBUFFER */ - 1494, /* GL_RENDERBUFFER_WIDTH */ - 1481, /* GL_RENDERBUFFER_HEIGHT */ - 1484, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - 1717, /* GL_STENCIL_INDEX_EXT */ - 1706, /* GL_STENCIL_INDEX1 */ - 1711, /* GL_STENCIL_INDEX4 */ - 1714, /* GL_STENCIL_INDEX8 */ - 1707, /* GL_STENCIL_INDEX16 */ - 1488, /* GL_RENDERBUFFER_RED_SIZE */ - 1479, /* GL_RENDERBUFFER_GREEN_SIZE */ - 1474, /* GL_RENDERBUFFER_BLUE_SIZE */ - 1469, /* GL_RENDERBUFFER_ALPHA_SIZE */ - 1476, /* GL_RENDERBUFFER_DEPTH_SIZE */ - 1492, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 1478, /* GL_RENDERBUFFER */ + 1504, /* GL_RENDERBUFFER_WIDTH */ + 1491, /* GL_RENDERBUFFER_HEIGHT */ + 1494, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1733, /* GL_STENCIL_INDEX_EXT */ + 1722, /* GL_STENCIL_INDEX1 */ + 1727, /* GL_STENCIL_INDEX4 */ + 1730, /* GL_STENCIL_INDEX8 */ + 1723, /* GL_STENCIL_INDEX16 */ + 1498, /* GL_RENDERBUFFER_RED_SIZE */ + 1489, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1484, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1479, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1486, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1502, /* GL_RENDERBUFFER_STENCIL_SIZE */ 626, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - 1033, /* GL_MAX_SAMPLES */ - 1909, /* GL_TEXTURE_GEN_STR_OES */ + 1042, /* GL_MAX_SAMPLES */ + 1925, /* GL_TEXTURE_GEN_STR_OES */ 667, /* GL_HALF_FLOAT_OES */ - 1526, /* GL_RGB565_OES */ - 1546, /* GL_RGBA32UI_EXT */ - 1520, /* GL_RGB32UI_EXT */ + 1536, /* GL_RGB565_OES */ + 1556, /* GL_RGBA32UI_EXT */ + 1530, /* GL_RGB32UI_EXT */ 40, /* GL_ALPHA32UI_EXT */ 722, /* GL_INTENSITY32UI_EXT */ - 819, /* GL_LUMINANCE32UI_EXT */ - 836, /* GL_LUMINANCE_ALPHA32UI_EXT */ - 1541, /* GL_RGBA16UI_EXT */ - 1516, /* GL_RGB16UI_EXT */ + 827, /* GL_LUMINANCE32UI_EXT */ + 844, /* GL_LUMINANCE_ALPHA32UI_EXT */ + 1551, /* GL_RGBA16UI_EXT */ + 1526, /* GL_RGB16UI_EXT */ 37, /* GL_ALPHA16UI_EXT */ 719, /* GL_INTENSITY16UI_EXT */ - 814, /* GL_LUMINANCE16UI_EXT */ - 834, /* GL_LUMINANCE_ALPHA16UI_EXT */ - 1554, /* GL_RGBA8UI_EXT */ - 1533, /* GL_RGB8UI_EXT */ + 822, /* GL_LUMINANCE16UI_EXT */ + 842, /* GL_LUMINANCE_ALPHA16UI_EXT */ + 1564, /* GL_RGBA8UI_EXT */ + 1543, /* GL_RGB8UI_EXT */ 45, /* GL_ALPHA8UI_EXT */ 727, /* GL_INTENSITY8UI_EXT */ - 828, /* GL_LUMINANCE8UI_EXT */ - 838, /* GL_LUMINANCE_ALPHA8UI_EXT */ - 1545, /* GL_RGBA32I_EXT */ - 1519, /* GL_RGB32I_EXT */ + 836, /* GL_LUMINANCE8UI_EXT */ + 846, /* GL_LUMINANCE_ALPHA8UI_EXT */ + 1555, /* GL_RGBA32I_EXT */ + 1529, /* GL_RGB32I_EXT */ 39, /* GL_ALPHA32I_EXT */ 721, /* GL_INTENSITY32I_EXT */ - 818, /* GL_LUMINANCE32I_EXT */ - 835, /* GL_LUMINANCE_ALPHA32I_EXT */ - 1540, /* GL_RGBA16I_EXT */ - 1515, /* GL_RGB16I_EXT */ + 826, /* GL_LUMINANCE32I_EXT */ + 843, /* GL_LUMINANCE_ALPHA32I_EXT */ + 1550, /* GL_RGBA16I_EXT */ + 1525, /* GL_RGB16I_EXT */ 36, /* GL_ALPHA16I_EXT */ 718, /* GL_INTENSITY16I_EXT */ - 813, /* GL_LUMINANCE16I_EXT */ - 833, /* GL_LUMINANCE_ALPHA16I_EXT */ - 1553, /* GL_RGBA8I_EXT */ - 1532, /* GL_RGB8I_EXT */ + 821, /* GL_LUMINANCE16I_EXT */ + 841, /* GL_LUMINANCE_ALPHA16I_EXT */ + 1563, /* GL_RGBA8I_EXT */ + 1542, /* GL_RGB8I_EXT */ 44, /* GL_ALPHA8I_EXT */ 726, /* GL_INTENSITY8I_EXT */ - 827, /* GL_LUMINANCE8I_EXT */ - 837, /* GL_LUMINANCE_ALPHA8I_EXT */ - 1460, /* GL_RED_INTEGER_EXT */ + 835, /* GL_LUMINANCE8I_EXT */ + 845, /* GL_LUMINANCE_ALPHA8I_EXT */ + 1470, /* GL_RED_INTEGER_EXT */ 664, /* GL_GREEN_INTEGER_EXT */ 111, /* GL_BLUE_INTEGER_EXT */ 49, /* GL_ALPHA_INTEGER_EXT */ - 1564, /* GL_RGB_INTEGER_EXT */ - 1559, /* GL_RGBA_INTEGER_EXT */ + 1574, /* GL_RGB_INTEGER_EXT */ + 1569, /* GL_RGBA_INTEGER_EXT */ 83, /* GL_BGR_INTEGER_EXT */ 82, /* GL_BGRA_INTEGER_EXT */ - 840, /* GL_LUMINANCE_INTEGER_EXT */ - 839, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ - 1560, /* GL_RGBA_INTEGER_MODE_EXT */ + 848, /* GL_LUMINANCE_INTEGER_EXT */ + 847, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + 1570, /* GL_RGBA_INTEGER_MODE_EXT */ 582, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */ 622, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */ 621, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */ + 1582, /* GL_SAMPLER_1D_ARRAY_EXT */ + 1586, /* GL_SAMPLER_2D_ARRAY_EXT */ + 1591, /* GL_SAMPLER_BUFFER_EXT */ + 1583, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */ + 1587, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */ + 1593, /* GL_SAMPLER_CUBE_SHADOW_EXT */ + 2039, /* GL_UNSIGNED_INT_VEC2_EXT */ + 2040, /* GL_UNSIGNED_INT_VEC3_EXT */ + 2041, /* GL_UNSIGNED_INT_VEC4_EXT */ + 736, /* GL_INT_SAMPLER_1D_EXT */ + 738, /* GL_INT_SAMPLER_2D_EXT */ + 740, /* GL_INT_SAMPLER_3D_EXT */ + 742, /* GL_INT_SAMPLER_CUBE_EXT */ + 739, /* GL_INT_SAMPLER_2D_RECT_EXT */ + 735, /* GL_INT_SAMPLER_1D_ARRAY_EXT */ + 737, /* GL_INT_SAMPLER_2D_ARRAY_EXT */ + 741, /* GL_INT_SAMPLER_BUFFER_EXT */ + 2032, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */ + 2034, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */ + 2036, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */ + 2038, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */ + 2035, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */ + 2031, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */ + 2033, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */ + 2037, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */ 657, /* GL_GEOMETRY_SHADER_ARB */ 658, /* GL_GEOMETRY_VERTICES_OUT_ARB */ 655, /* GL_GEOMETRY_INPUT_TYPE_ARB */ 656, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */ - 993, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ - 1067, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ - 992, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ - 989, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ - 991, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ - 803, /* GL_LOW_FLOAT */ - 1069, /* GL_MEDIUM_FLOAT */ + 1001, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + 1076, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + 1000, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ + 997, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ + 999, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ + 811, /* GL_LOW_FLOAT */ + 1078, /* GL_MEDIUM_FLOAT */ 668, /* GL_HIGH_FLOAT */ - 804, /* GL_LOW_INT */ - 1070, /* GL_MEDIUM_INT */ + 812, /* GL_LOW_INT */ + 1079, /* GL_MEDIUM_INT */ 669, /* GL_HIGH_INT */ - 2006, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + 2022, /* GL_UNSIGNED_INT_10_10_10_2_OES */ 734, /* GL_INT_10_10_10_2_OES */ - 1614, /* GL_SHADER_BINARY_FORMATS */ - 1166, /* GL_NUM_SHADER_BINARY_FORMATS */ - 1615, /* GL_SHADER_COMPILER */ - 1064, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - 1057, /* GL_MAX_VARYING_VECTORS */ - 988, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - 1441, /* GL_QUERY_WAIT_NV */ - 1436, /* GL_QUERY_NO_WAIT_NV */ - 1433, /* GL_QUERY_BY_REGION_WAIT_NV */ - 1432, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - 1962, /* GL_TRANSFORM_FEEDBACK */ - 1968, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ - 1964, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ - 1963, /* GL_TRANSFORM_FEEDBACK_BINDING */ - 1428, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + 1630, /* GL_SHADER_BINARY_FORMATS */ + 1176, /* GL_NUM_SHADER_BINARY_FORMATS */ + 1631, /* GL_SHADER_COMPILER */ + 1073, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + 1066, /* GL_MAX_VARYING_VECTORS */ + 996, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + 1451, /* GL_QUERY_WAIT_NV */ + 1446, /* GL_QUERY_NO_WAIT_NV */ + 1443, /* GL_QUERY_BY_REGION_WAIT_NV */ + 1442, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + 1978, /* GL_TRANSFORM_FEEDBACK */ + 1984, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + 1980, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + 1979, /* GL_TRANSFORM_FEEDBACK_BINDING */ + 1438, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ 518, /* GL_FIRST_VERTEX_CONVENTION */ - 751, /* GL_LAST_VERTEX_CONVENTION */ - 1405, /* GL_PROVOKING_VERTEX */ + 759, /* GL_LAST_VERTEX_CONVENTION */ + 1415, /* GL_PROVOKING_VERTEX */ 327, /* GL_COPY_READ_BUFFER */ 328, /* GL_COPY_WRITE_BUFFER */ - 1563, /* GL_RGBA_SNORM */ - 1557, /* GL_RGBA8_SNORM */ - 1626, /* GL_SIGNED_NORMALIZED */ - 1035, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - 1180, /* GL_OBJECT_TYPE */ - 1738, /* GL_SYNC_CONDITION */ - 1743, /* GL_SYNC_STATUS */ - 1740, /* GL_SYNC_FLAGS */ - 1739, /* GL_SYNC_FENCE */ - 1742, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - 2000, /* GL_UNSIGNALED */ - 1625, /* GL_SIGNALED */ + 1573, /* GL_RGBA_SNORM */ + 1567, /* GL_RGBA8_SNORM */ + 1642, /* GL_SIGNED_NORMALIZED */ + 1044, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1190, /* GL_OBJECT_TYPE */ + 1754, /* GL_SYNC_CONDITION */ + 1759, /* GL_SYNC_STATUS */ + 1756, /* GL_SYNC_FLAGS */ + 1755, /* GL_SYNC_FENCE */ + 1758, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 2016, /* GL_UNSIGNALED */ + 1641, /* GL_SIGNALED */ 54, /* GL_ALREADY_SIGNALED */ - 1957, /* GL_TIMEOUT_EXPIRED */ + 1973, /* GL_TIMEOUT_EXPIRED */ 294, /* GL_CONDITION_SATISFIED */ - 2090, /* GL_WAIT_FAILED */ + 2118, /* GL_WAIT_FAILED */ 503, /* GL_EVAL_BIT */ - 1445, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 796, /* GL_LIST_BIT */ - 1838, /* GL_TEXTURE_BIT */ - 1596, /* GL_SCISSOR_BIT */ + 1455, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 804, /* GL_LIST_BIT */ + 1854, /* GL_TEXTURE_BIT */ + 1612, /* GL_SCISSOR_BIT */ 30, /* GL_ALL_ATTRIB_BITS */ - 1132, /* GL_MULTISAMPLE_BIT */ + 1142, /* GL_MULTISAMPLE_BIT */ 31, /* GL_ALL_CLIENT_ATTRIB_BITS */ }; diff --git a/src/mesa/main/enums.h b/src/mesa/main/enums.h index b5f69001b84..c03cd34da92 100644 --- a/src/mesa/main/enums.h +++ b/src/mesa/main/enums.h @@ -36,6 +36,7 @@ #ifndef _ENUMS_H_ #define _ENUMS_H_ +#include "mfeatures.h" #if defined(_HAVE_FULL_GL) && _HAVE_FULL_GL diff --git a/src/mesa/main/es_generator.py b/src/mesa/main/es_generator.py index ecb34bb5cdf..aa8dab7a743 100644 --- a/src/mesa/main/es_generator.py +++ b/src/mesa/main/es_generator.py @@ -191,6 +191,8 @@ print """ #include "%s" #include "%s" #include "main/mfeatures.h" +#include "main/compiler.h" +#include "main/api_exec.h" #if FEATURE_%s """ % (versionHeader, versionExtHeader, shortname.upper()) @@ -206,50 +208,7 @@ typedef double GLclampd; /* Mesa error handling requires these */ extern void *_mesa_get_current_context(void); extern void _mesa_error(void *ctx, GLenum error, const char *fmtString, ... ); - -#include "main/compiler.h" -#include "main/api_exec.h" -#include "main/remap.h" - -/* cannot include main/dispatch.h here */ -#ifdef IN_DRI_DRIVER -#define _GLAPI_USE_REMAP_TABLE -#endif -/* glapi uses GLAPIENTRY while GLES headers define GL_APIENTRY */ -#ifndef GLAPIENTRY -#define GLAPIENTRY GL_APIENTRY -#endif -#include "%sapi/glapi/glapitable.h" -#include "%sapi/glapi/glapioffsets.h" -#include "%sapi/glapi/glapidispatch.h" - -#if FEATURE_remap_table - -#if !FEATURE_GL -int driDispatchRemapTable[driDispatchRemapTable_size]; -#endif - -#define need_MESA_remap_table - -#include "%sapi/main/remap_helper.h" - -void -_mesa_init_remap_table_%s(void) -{ - _mesa_do_init_remap_table(_mesa_function_pool, - driDispatchRemapTable_size, - MESA_remap_table_functions); -} - -void -_mesa_map_static_functions_%s(void) -{ -} - -#endif - -typedef void (*_glapi_proc)(void); /* generic function pointer */ -""" % (shortname, shortname, shortname, shortname, shortname, shortname); +""" # Finally we get to the all-important functions print """/************************************************************* @@ -713,15 +672,73 @@ for funcName in keys: # end for each function print """ +#include "glapi/glapi.h" + +#if FEATURE_remap_table + +/* cannot include main/dispatch.h here */ +#define _GLAPI_USE_REMAP_TABLE +#include "%sapi/main/glapidispatch.h" + +#define need_MESA_remap_table +#include "%sapi/main/remap_helper.h" + +/* force SET_* macros to use the local remap table */ +#define driDispatchRemapTable remap_table +static int remap_table[driDispatchRemapTable_size]; + +static void +init_remap_table(void) +{ + _glthread_DECLARE_STATIC_MUTEX(mutex); + static GLboolean initialized = GL_FALSE; + const struct gl_function_pool_remap *remap = MESA_remap_table_functions; + int i; + + _glthread_LOCK_MUTEX(mutex); + if (initialized) { + _glthread_UNLOCK_MUTEX(mutex); + return; + } + + for (i = 0; i < driDispatchRemapTable_size; i++) { + GLint offset; + const char *spec; + + /* sanity check */ + ASSERT(i == remap[i].remap_index); + spec = _mesa_function_pool + remap[i].pool_index; + + offset = _mesa_map_function_spec(spec); + remap_table[i] = offset; + } + initialized = GL_TRUE; + _glthread_UNLOCK_MUTEX(mutex); +} + +#else /* FEATURE_remap_table */ + +/* cannot include main/dispatch.h here */ +#include "%sapi/main/glapidispatch.h" + +static INLINE void +init_remap_table(void) +{ +} + +#endif /* FEATURE_remap_table */ + struct _glapi_table * _mesa_create_exec_table_%s(void) { struct _glapi_table *exec; - exec = _mesa_alloc_dispatch_table(sizeof *exec); + + exec = _mesa_alloc_dispatch_table(_gloffset_COUNT); if (exec == NULL) return NULL; -""" % shortname + init_remap_table(); +""" % (shortname, shortname, shortname, shortname) for func in keys: prefix = "_es_" if func not in allSpecials else "_check_" diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index caa5dad950a..3d5830c01cc 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -128,6 +128,7 @@ static const struct { { OFF, "GL_EXT_framebuffer_sRGB", F(EXT_framebuffer_sRGB) }, { OFF, "GL_EXT_fog_coord", F(EXT_fog_coord) }, { OFF, "GL_EXT_gpu_program_parameters", F(EXT_gpu_program_parameters) }, + { OFF, "GL_EXT_gpu_shader4", F(EXT_gpu_shader4) }, { ON, "GL_EXT_multi_draw_arrays", F(EXT_multi_draw_arrays) }, { OFF, "GL_EXT_packed_depth_stencil", F(EXT_packed_depth_stencil) }, { OFF, "GL_EXT_packed_float", F(EXT_packed_float) }, diff --git a/src/mesa/main/extensions.h b/src/mesa/main/extensions.h index 6eb85393965..a9ed41f86bb 100644 --- a/src/mesa/main/extensions.h +++ b/src/mesa/main/extensions.h @@ -36,7 +36,10 @@ #ifndef _EXTENSIONS_H_ #define _EXTENSIONS_H_ -#include "mtypes.h" +#include "glheader.h" +#include "mfeatures.h" + +struct gl_context; #if _HAVE_FULL_GL diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h index 9e18e538a6f..2aace2ebd4b 100644 --- a/src/mesa/main/fbobject.h +++ b/src/mesa/main/fbobject.h @@ -26,7 +26,10 @@ #ifndef FBOBJECT_H #define FBOBJECT_H -#include "mtypes.h" +#include "glheader.h" + +struct gl_context; +struct gl_texture_object; extern void _mesa_init_fbobjects(struct gl_context *ctx); diff --git a/src/mesa/main/ffvertex_prog.h b/src/mesa/main/ffvertex_prog.h index 72cd6ea115d..837a15efca0 100644 --- a/src/mesa/main/ffvertex_prog.h +++ b/src/mesa/main/ffvertex_prog.h @@ -30,7 +30,7 @@ #define FFVERTEX_PROG_H -#include "main/mtypes.h" +struct gl_context; struct gl_vertex_program * _mesa_get_fixed_func_vertex_program(struct gl_context *ctx); diff --git a/src/mesa/main/fog.h b/src/mesa/main/fog.h index 7df4f0b6735..9191a4a54cc 100644 --- a/src/mesa/main/fog.h +++ b/src/mesa/main/fog.h @@ -37,7 +37,10 @@ #define FOG_H -#include "mtypes.h" +#include "glheader.h" +#include "mfeatures.h" + +struct gl_context; #if _HAVE_FULL_GL diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index e18a9fc9977..88a04e888e4 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -1194,6 +1194,7 @@ _mesa_format_to_type_and_comps(gl_format format, case MESA_FORMAT_ARGB8888: case MESA_FORMAT_ARGB8888_REV: case MESA_FORMAT_XRGB8888: + case MESA_FORMAT_XRGB8888_REV: *datatype = GL_UNSIGNED_BYTE; *comps = 4; return; @@ -1220,6 +1221,11 @@ _mesa_format_to_type_and_comps(gl_format format, *comps = 4; return; + case MESA_FORMAT_RGBA5551: + *datatype = GL_UNSIGNED_SHORT_5_5_5_1; + *comps = 4; + return; + case MESA_FORMAT_AL88: case MESA_FORMAT_AL88_REV: case MESA_FORMAT_RG88: @@ -1251,6 +1257,7 @@ _mesa_format_to_type_and_comps(gl_format format, case MESA_FORMAT_I8: case MESA_FORMAT_CI8: case MESA_FORMAT_R8: + case MESA_FORMAT_S8: *datatype = GL_UNSIGNED_BYTE; *comps = 1; return; @@ -1296,12 +1303,26 @@ _mesa_format_to_type_and_comps(gl_format format, *comps = 2; return; + case MESA_FORMAT_SIGNED_R8: + *datatype = GL_BYTE; + *comps = 1; + return; + case MESA_FORMAT_SIGNED_RG88: + *datatype = GL_BYTE; + *comps = 2; + return; case MESA_FORMAT_SIGNED_RGBA8888: case MESA_FORMAT_SIGNED_RGBA8888_REV: + case MESA_FORMAT_SIGNED_RGBX8888: *datatype = GL_BYTE; *comps = 4; return; + case MESA_FORMAT_RGBA_16: + *datatype = GL_UNSIGNED_SHORT; + *comps = 4; + return; + case MESA_FORMAT_SIGNED_R_16: *datatype = GL_SHORT; *comps = 1; @@ -1426,9 +1447,14 @@ _mesa_format_to_type_and_comps(gl_format format, *comps = 4; return; - + case MESA_FORMAT_NONE: + case MESA_FORMAT_COUNT: + /* For debug builds, warn if any formats are not handled */ +#ifndef DEBUG default: - _mesa_problem(NULL, "bad format in _mesa_format_to_type_and_comps"); +#endif + _mesa_problem(NULL, "bad format %s in _mesa_format_to_type_and_comps", + _mesa_get_format_name(format)); *datatype = 0; *comps = 1; } diff --git a/src/mesa/main/framebuffer.h b/src/mesa/main/framebuffer.h index 13722ea457a..20e3ff56b55 100644 --- a/src/mesa/main/framebuffer.h +++ b/src/mesa/main/framebuffer.h @@ -26,7 +26,10 @@ #ifndef FRAMEBUFFER_H #define FRAMEBUFFER_H -#include "mtypes.h" +#include "glheader.h" + +struct gl_config; +struct gl_context; extern struct gl_framebuffer * _mesa_create_framebuffer(const struct gl_config *visual); diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index da9df27bdb6..b54af6ee86b 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -266,6 +266,11 @@ static const int extra_EXT_texture_integer[] = { EXTRA_END }; +static const int extra_EXT_gpu_shader4[] = { + EXT(EXT_gpu_shader4), + EXTRA_END +}; + EXTRA_EXT(ARB_multitexture); EXTRA_EXT(ARB_texture_cube_map); @@ -292,7 +297,7 @@ EXTRA_EXT(ARB_shader_objects); EXTRA_EXT(EXT_provoking_vertex); EXTRA_EXT(ARB_fragment_shader); EXTRA_EXT(ARB_fragment_program); -EXTRA_EXT(ARB_framebuffer_object); +EXTRA_EXT2(ARB_framebuffer_object, EXT_framebuffer_multisample); EXTRA_EXT(EXT_framebuffer_object); EXTRA_EXT(APPLE_vertex_array_object); EXTRA_EXT(ARB_seamless_cube_map); @@ -1137,7 +1142,7 @@ static const struct value_desc values[] = { /* GL_ARB_framebuffer_object */ { GL_MAX_SAMPLES, CONTEXT_INT(Const.MaxSamples), - extra_ARB_framebuffer_object }, + extra_ARB_framebuffer_object_EXT_framebuffer_multisample }, /* GL_APPLE_vertex_array_object */ { GL_VERTEX_ARRAY_BINDING_APPLE, ARRAY_INT(Name), @@ -1198,6 +1203,14 @@ static const struct value_desc values[] = { CONTEXT_INT(Const.GeometryProgram.MaxVertexVaryingComponents), extra_ARB_geometry_shader4 }, + /* GL_EXT_gpu_shader4 / GL 3.0 */ + { GL_MIN_PROGRAM_TEXEL_OFFSET, + CONTEXT_INT(Const.MinProgramTexelOffset), + extra_EXT_gpu_shader4 }, + { GL_MAX_PROGRAM_TEXEL_OFFSET, + CONTEXT_INT(Const.MaxProgramTexelOffset), + extra_EXT_gpu_shader4 }, + /* GL 3.0 */ { GL_NUM_EXTENSIONS, LOC_CUSTOM, TYPE_INT, 0, extra_version_30 }, { GL_MAJOR_VERSION, CONTEXT_INT(VersionMajor), extra_version_30 }, diff --git a/src/mesa/main/glapidispatch.h b/src/mesa/main/glapidispatch.h new file mode 100644 index 00000000000..434d38cb89a --- /dev/null +++ b/src/mesa/main/glapidispatch.h @@ -0,0 +1,4482 @@ +/* DO NOT EDIT - This file generated automatically by gl_table.py (from Mesa) script */ + +/* + * (C) Copyright IBM Corporation 2005 + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sub license, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * IBM, + * AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#if !defined( _GLAPI_DISPATCH_H_ ) +# define _GLAPI_DISPATCH_H_ + + +/* this file should not be included directly in mesa */ + +/** + * \file glapidispatch.h + * Macros for handling GL dispatch tables. + * + * For each known GL function, there are 3 macros in this file. The first + * macro is named CALL_FuncName and is used to call that GL function using + * the specified dispatch table. The other 2 macros, called GET_FuncName + * can SET_FuncName, are used to get and set the dispatch pointer for the + * named function in the specified dispatch table. + */ + +#define CALL_by_offset(disp, cast, offset, parameters) \ + (*(cast (GET_by_offset(disp, offset)))) parameters +#define GET_by_offset(disp, offset) \ + (offset >= 0) ? (((_glapi_proc *)(disp))[offset]) : NULL +#define SET_by_offset(disp, offset, fn) \ + do { \ + if ( (offset) < 0 ) { \ + /* fprintf( stderr, "[%s:%u] SET_by_offset(%p, %d, %s)!\n", */ \ + /* __func__, __LINE__, disp, offset, # fn); */ \ + /* abort(); */ \ + } \ + else { \ + ( (_glapi_proc *) (disp) )[offset] = (_glapi_proc) fn; \ + } \ + } while(0) + +/* total number of offsets below */ +#define _gloffset_COUNT 870 + +#define _gloffset_NewList 0 +#define _gloffset_EndList 1 +#define _gloffset_CallList 2 +#define _gloffset_CallLists 3 +#define _gloffset_DeleteLists 4 +#define _gloffset_GenLists 5 +#define _gloffset_ListBase 6 +#define _gloffset_Begin 7 +#define _gloffset_Bitmap 8 +#define _gloffset_Color3b 9 +#define _gloffset_Color3bv 10 +#define _gloffset_Color3d 11 +#define _gloffset_Color3dv 12 +#define _gloffset_Color3f 13 +#define _gloffset_Color3fv 14 +#define _gloffset_Color3i 15 +#define _gloffset_Color3iv 16 +#define _gloffset_Color3s 17 +#define _gloffset_Color3sv 18 +#define _gloffset_Color3ub 19 +#define _gloffset_Color3ubv 20 +#define _gloffset_Color3ui 21 +#define _gloffset_Color3uiv 22 +#define _gloffset_Color3us 23 +#define _gloffset_Color3usv 24 +#define _gloffset_Color4b 25 +#define _gloffset_Color4bv 26 +#define _gloffset_Color4d 27 +#define _gloffset_Color4dv 28 +#define _gloffset_Color4f 29 +#define _gloffset_Color4fv 30 +#define _gloffset_Color4i 31 +#define _gloffset_Color4iv 32 +#define _gloffset_Color4s 33 +#define _gloffset_Color4sv 34 +#define _gloffset_Color4ub 35 +#define _gloffset_Color4ubv 36 +#define _gloffset_Color4ui 37 +#define _gloffset_Color4uiv 38 +#define _gloffset_Color4us 39 +#define _gloffset_Color4usv 40 +#define _gloffset_EdgeFlag 41 +#define _gloffset_EdgeFlagv 42 +#define _gloffset_End 43 +#define _gloffset_Indexd 44 +#define _gloffset_Indexdv 45 +#define _gloffset_Indexf 46 +#define _gloffset_Indexfv 47 +#define _gloffset_Indexi 48 +#define _gloffset_Indexiv 49 +#define _gloffset_Indexs 50 +#define _gloffset_Indexsv 51 +#define _gloffset_Normal3b 52 +#define _gloffset_Normal3bv 53 +#define _gloffset_Normal3d 54 +#define _gloffset_Normal3dv 55 +#define _gloffset_Normal3f 56 +#define _gloffset_Normal3fv 57 +#define _gloffset_Normal3i 58 +#define _gloffset_Normal3iv 59 +#define _gloffset_Normal3s 60 +#define _gloffset_Normal3sv 61 +#define _gloffset_RasterPos2d 62 +#define _gloffset_RasterPos2dv 63 +#define _gloffset_RasterPos2f 64 +#define _gloffset_RasterPos2fv 65 +#define _gloffset_RasterPos2i 66 +#define _gloffset_RasterPos2iv 67 +#define _gloffset_RasterPos2s 68 +#define _gloffset_RasterPos2sv 69 +#define _gloffset_RasterPos3d 70 +#define _gloffset_RasterPos3dv 71 +#define _gloffset_RasterPos3f 72 +#define _gloffset_RasterPos3fv 73 +#define _gloffset_RasterPos3i 74 +#define _gloffset_RasterPos3iv 75 +#define _gloffset_RasterPos3s 76 +#define _gloffset_RasterPos3sv 77 +#define _gloffset_RasterPos4d 78 +#define _gloffset_RasterPos4dv 79 +#define _gloffset_RasterPos4f 80 +#define _gloffset_RasterPos4fv 81 +#define _gloffset_RasterPos4i 82 +#define _gloffset_RasterPos4iv 83 +#define _gloffset_RasterPos4s 84 +#define _gloffset_RasterPos4sv 85 +#define _gloffset_Rectd 86 +#define _gloffset_Rectdv 87 +#define _gloffset_Rectf 88 +#define _gloffset_Rectfv 89 +#define _gloffset_Recti 90 +#define _gloffset_Rectiv 91 +#define _gloffset_Rects 92 +#define _gloffset_Rectsv 93 +#define _gloffset_TexCoord1d 94 +#define _gloffset_TexCoord1dv 95 +#define _gloffset_TexCoord1f 96 +#define _gloffset_TexCoord1fv 97 +#define _gloffset_TexCoord1i 98 +#define _gloffset_TexCoord1iv 99 +#define _gloffset_TexCoord1s 100 +#define _gloffset_TexCoord1sv 101 +#define _gloffset_TexCoord2d 102 +#define _gloffset_TexCoord2dv 103 +#define _gloffset_TexCoord2f 104 +#define _gloffset_TexCoord2fv 105 +#define _gloffset_TexCoord2i 106 +#define _gloffset_TexCoord2iv 107 +#define _gloffset_TexCoord2s 108 +#define _gloffset_TexCoord2sv 109 +#define _gloffset_TexCoord3d 110 +#define _gloffset_TexCoord3dv 111 +#define _gloffset_TexCoord3f 112 +#define _gloffset_TexCoord3fv 113 +#define _gloffset_TexCoord3i 114 +#define _gloffset_TexCoord3iv 115 +#define _gloffset_TexCoord3s 116 +#define _gloffset_TexCoord3sv 117 +#define _gloffset_TexCoord4d 118 +#define _gloffset_TexCoord4dv 119 +#define _gloffset_TexCoord4f 120 +#define _gloffset_TexCoord4fv 121 +#define _gloffset_TexCoord4i 122 +#define _gloffset_TexCoord4iv 123 +#define _gloffset_TexCoord4s 124 +#define _gloffset_TexCoord4sv 125 +#define _gloffset_Vertex2d 126 +#define _gloffset_Vertex2dv 127 +#define _gloffset_Vertex2f 128 +#define _gloffset_Vertex2fv 129 +#define _gloffset_Vertex2i 130 +#define _gloffset_Vertex2iv 131 +#define _gloffset_Vertex2s 132 +#define _gloffset_Vertex2sv 133 +#define _gloffset_Vertex3d 134 +#define _gloffset_Vertex3dv 135 +#define _gloffset_Vertex3f 136 +#define _gloffset_Vertex3fv 137 +#define _gloffset_Vertex3i 138 +#define _gloffset_Vertex3iv 139 +#define _gloffset_Vertex3s 140 +#define _gloffset_Vertex3sv 141 +#define _gloffset_Vertex4d 142 +#define _gloffset_Vertex4dv 143 +#define _gloffset_Vertex4f 144 +#define _gloffset_Vertex4fv 145 +#define _gloffset_Vertex4i 146 +#define _gloffset_Vertex4iv 147 +#define _gloffset_Vertex4s 148 +#define _gloffset_Vertex4sv 149 +#define _gloffset_ClipPlane 150 +#define _gloffset_ColorMaterial 151 +#define _gloffset_CullFace 152 +#define _gloffset_Fogf 153 +#define _gloffset_Fogfv 154 +#define _gloffset_Fogi 155 +#define _gloffset_Fogiv 156 +#define _gloffset_FrontFace 157 +#define _gloffset_Hint 158 +#define _gloffset_Lightf 159 +#define _gloffset_Lightfv 160 +#define _gloffset_Lighti 161 +#define _gloffset_Lightiv 162 +#define _gloffset_LightModelf 163 +#define _gloffset_LightModelfv 164 +#define _gloffset_LightModeli 165 +#define _gloffset_LightModeliv 166 +#define _gloffset_LineStipple 167 +#define _gloffset_LineWidth 168 +#define _gloffset_Materialf 169 +#define _gloffset_Materialfv 170 +#define _gloffset_Materiali 171 +#define _gloffset_Materialiv 172 +#define _gloffset_PointSize 173 +#define _gloffset_PolygonMode 174 +#define _gloffset_PolygonStipple 175 +#define _gloffset_Scissor 176 +#define _gloffset_ShadeModel 177 +#define _gloffset_TexParameterf 178 +#define _gloffset_TexParameterfv 179 +#define _gloffset_TexParameteri 180 +#define _gloffset_TexParameteriv 181 +#define _gloffset_TexImage1D 182 +#define _gloffset_TexImage2D 183 +#define _gloffset_TexEnvf 184 +#define _gloffset_TexEnvfv 185 +#define _gloffset_TexEnvi 186 +#define _gloffset_TexEnviv 187 +#define _gloffset_TexGend 188 +#define _gloffset_TexGendv 189 +#define _gloffset_TexGenf 190 +#define _gloffset_TexGenfv 191 +#define _gloffset_TexGeni 192 +#define _gloffset_TexGeniv 193 +#define _gloffset_FeedbackBuffer 194 +#define _gloffset_SelectBuffer 195 +#define _gloffset_RenderMode 196 +#define _gloffset_InitNames 197 +#define _gloffset_LoadName 198 +#define _gloffset_PassThrough 199 +#define _gloffset_PopName 200 +#define _gloffset_PushName 201 +#define _gloffset_DrawBuffer 202 +#define _gloffset_Clear 203 +#define _gloffset_ClearAccum 204 +#define _gloffset_ClearIndex 205 +#define _gloffset_ClearColor 206 +#define _gloffset_ClearStencil 207 +#define _gloffset_ClearDepth 208 +#define _gloffset_StencilMask 209 +#define _gloffset_ColorMask 210 +#define _gloffset_DepthMask 211 +#define _gloffset_IndexMask 212 +#define _gloffset_Accum 213 +#define _gloffset_Disable 214 +#define _gloffset_Enable 215 +#define _gloffset_Finish 216 +#define _gloffset_Flush 217 +#define _gloffset_PopAttrib 218 +#define _gloffset_PushAttrib 219 +#define _gloffset_Map1d 220 +#define _gloffset_Map1f 221 +#define _gloffset_Map2d 222 +#define _gloffset_Map2f 223 +#define _gloffset_MapGrid1d 224 +#define _gloffset_MapGrid1f 225 +#define _gloffset_MapGrid2d 226 +#define _gloffset_MapGrid2f 227 +#define _gloffset_EvalCoord1d 228 +#define _gloffset_EvalCoord1dv 229 +#define _gloffset_EvalCoord1f 230 +#define _gloffset_EvalCoord1fv 231 +#define _gloffset_EvalCoord2d 232 +#define _gloffset_EvalCoord2dv 233 +#define _gloffset_EvalCoord2f 234 +#define _gloffset_EvalCoord2fv 235 +#define _gloffset_EvalMesh1 236 +#define _gloffset_EvalPoint1 237 +#define _gloffset_EvalMesh2 238 +#define _gloffset_EvalPoint2 239 +#define _gloffset_AlphaFunc 240 +#define _gloffset_BlendFunc 241 +#define _gloffset_LogicOp 242 +#define _gloffset_StencilFunc 243 +#define _gloffset_StencilOp 244 +#define _gloffset_DepthFunc 245 +#define _gloffset_PixelZoom 246 +#define _gloffset_PixelTransferf 247 +#define _gloffset_PixelTransferi 248 +#define _gloffset_PixelStoref 249 +#define _gloffset_PixelStorei 250 +#define _gloffset_PixelMapfv 251 +#define _gloffset_PixelMapuiv 252 +#define _gloffset_PixelMapusv 253 +#define _gloffset_ReadBuffer 254 +#define _gloffset_CopyPixels 255 +#define _gloffset_ReadPixels 256 +#define _gloffset_DrawPixels 257 +#define _gloffset_GetBooleanv 258 +#define _gloffset_GetClipPlane 259 +#define _gloffset_GetDoublev 260 +#define _gloffset_GetError 261 +#define _gloffset_GetFloatv 262 +#define _gloffset_GetIntegerv 263 +#define _gloffset_GetLightfv 264 +#define _gloffset_GetLightiv 265 +#define _gloffset_GetMapdv 266 +#define _gloffset_GetMapfv 267 +#define _gloffset_GetMapiv 268 +#define _gloffset_GetMaterialfv 269 +#define _gloffset_GetMaterialiv 270 +#define _gloffset_GetPixelMapfv 271 +#define _gloffset_GetPixelMapuiv 272 +#define _gloffset_GetPixelMapusv 273 +#define _gloffset_GetPolygonStipple 274 +#define _gloffset_GetString 275 +#define _gloffset_GetTexEnvfv 276 +#define _gloffset_GetTexEnviv 277 +#define _gloffset_GetTexGendv 278 +#define _gloffset_GetTexGenfv 279 +#define _gloffset_GetTexGeniv 280 +#define _gloffset_GetTexImage 281 +#define _gloffset_GetTexParameterfv 282 +#define _gloffset_GetTexParameteriv 283 +#define _gloffset_GetTexLevelParameterfv 284 +#define _gloffset_GetTexLevelParameteriv 285 +#define _gloffset_IsEnabled 286 +#define _gloffset_IsList 287 +#define _gloffset_DepthRange 288 +#define _gloffset_Frustum 289 +#define _gloffset_LoadIdentity 290 +#define _gloffset_LoadMatrixf 291 +#define _gloffset_LoadMatrixd 292 +#define _gloffset_MatrixMode 293 +#define _gloffset_MultMatrixf 294 +#define _gloffset_MultMatrixd 295 +#define _gloffset_Ortho 296 +#define _gloffset_PopMatrix 297 +#define _gloffset_PushMatrix 298 +#define _gloffset_Rotated 299 +#define _gloffset_Rotatef 300 +#define _gloffset_Scaled 301 +#define _gloffset_Scalef 302 +#define _gloffset_Translated 303 +#define _gloffset_Translatef 304 +#define _gloffset_Viewport 305 +#define _gloffset_ArrayElement 306 +#define _gloffset_BindTexture 307 +#define _gloffset_ColorPointer 308 +#define _gloffset_DisableClientState 309 +#define _gloffset_DrawArrays 310 +#define _gloffset_DrawElements 311 +#define _gloffset_EdgeFlagPointer 312 +#define _gloffset_EnableClientState 313 +#define _gloffset_IndexPointer 314 +#define _gloffset_Indexub 315 +#define _gloffset_Indexubv 316 +#define _gloffset_InterleavedArrays 317 +#define _gloffset_NormalPointer 318 +#define _gloffset_PolygonOffset 319 +#define _gloffset_TexCoordPointer 320 +#define _gloffset_VertexPointer 321 +#define _gloffset_AreTexturesResident 322 +#define _gloffset_CopyTexImage1D 323 +#define _gloffset_CopyTexImage2D 324 +#define _gloffset_CopyTexSubImage1D 325 +#define _gloffset_CopyTexSubImage2D 326 +#define _gloffset_DeleteTextures 327 +#define _gloffset_GenTextures 328 +#define _gloffset_GetPointerv 329 +#define _gloffset_IsTexture 330 +#define _gloffset_PrioritizeTextures 331 +#define _gloffset_TexSubImage1D 332 +#define _gloffset_TexSubImage2D 333 +#define _gloffset_PopClientAttrib 334 +#define _gloffset_PushClientAttrib 335 +#define _gloffset_BlendColor 336 +#define _gloffset_BlendEquation 337 +#define _gloffset_DrawRangeElements 338 +#define _gloffset_ColorTable 339 +#define _gloffset_ColorTableParameterfv 340 +#define _gloffset_ColorTableParameteriv 341 +#define _gloffset_CopyColorTable 342 +#define _gloffset_GetColorTable 343 +#define _gloffset_GetColorTableParameterfv 344 +#define _gloffset_GetColorTableParameteriv 345 +#define _gloffset_ColorSubTable 346 +#define _gloffset_CopyColorSubTable 347 +#define _gloffset_ConvolutionFilter1D 348 +#define _gloffset_ConvolutionFilter2D 349 +#define _gloffset_ConvolutionParameterf 350 +#define _gloffset_ConvolutionParameterfv 351 +#define _gloffset_ConvolutionParameteri 352 +#define _gloffset_ConvolutionParameteriv 353 +#define _gloffset_CopyConvolutionFilter1D 354 +#define _gloffset_CopyConvolutionFilter2D 355 +#define _gloffset_GetConvolutionFilter 356 +#define _gloffset_GetConvolutionParameterfv 357 +#define _gloffset_GetConvolutionParameteriv 358 +#define _gloffset_GetSeparableFilter 359 +#define _gloffset_SeparableFilter2D 360 +#define _gloffset_GetHistogram 361 +#define _gloffset_GetHistogramParameterfv 362 +#define _gloffset_GetHistogramParameteriv 363 +#define _gloffset_GetMinmax 364 +#define _gloffset_GetMinmaxParameterfv 365 +#define _gloffset_GetMinmaxParameteriv 366 +#define _gloffset_Histogram 367 +#define _gloffset_Minmax 368 +#define _gloffset_ResetHistogram 369 +#define _gloffset_ResetMinmax 370 +#define _gloffset_TexImage3D 371 +#define _gloffset_TexSubImage3D 372 +#define _gloffset_CopyTexSubImage3D 373 +#define _gloffset_ActiveTextureARB 374 +#define _gloffset_ClientActiveTextureARB 375 +#define _gloffset_MultiTexCoord1dARB 376 +#define _gloffset_MultiTexCoord1dvARB 377 +#define _gloffset_MultiTexCoord1fARB 378 +#define _gloffset_MultiTexCoord1fvARB 379 +#define _gloffset_MultiTexCoord1iARB 380 +#define _gloffset_MultiTexCoord1ivARB 381 +#define _gloffset_MultiTexCoord1sARB 382 +#define _gloffset_MultiTexCoord1svARB 383 +#define _gloffset_MultiTexCoord2dARB 384 +#define _gloffset_MultiTexCoord2dvARB 385 +#define _gloffset_MultiTexCoord2fARB 386 +#define _gloffset_MultiTexCoord2fvARB 387 +#define _gloffset_MultiTexCoord2iARB 388 +#define _gloffset_MultiTexCoord2ivARB 389 +#define _gloffset_MultiTexCoord2sARB 390 +#define _gloffset_MultiTexCoord2svARB 391 +#define _gloffset_MultiTexCoord3dARB 392 +#define _gloffset_MultiTexCoord3dvARB 393 +#define _gloffset_MultiTexCoord3fARB 394 +#define _gloffset_MultiTexCoord3fvARB 395 +#define _gloffset_MultiTexCoord3iARB 396 +#define _gloffset_MultiTexCoord3ivARB 397 +#define _gloffset_MultiTexCoord3sARB 398 +#define _gloffset_MultiTexCoord3svARB 399 +#define _gloffset_MultiTexCoord4dARB 400 +#define _gloffset_MultiTexCoord4dvARB 401 +#define _gloffset_MultiTexCoord4fARB 402 +#define _gloffset_MultiTexCoord4fvARB 403 +#define _gloffset_MultiTexCoord4iARB 404 +#define _gloffset_MultiTexCoord4ivARB 405 +#define _gloffset_MultiTexCoord4sARB 406 +#define _gloffset_MultiTexCoord4svARB 407 + +#if !defined(_GLAPI_USE_REMAP_TABLE) + +#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_DrawArraysInstanced 430 +#define _gloffset_DrawElementsInstanced 431 +#define _gloffset_LoadTransposeMatrixdARB 432 +#define _gloffset_LoadTransposeMatrixfARB 433 +#define _gloffset_MultTransposeMatrixdARB 434 +#define _gloffset_MultTransposeMatrixfARB 435 +#define _gloffset_SampleCoverageARB 436 +#define _gloffset_CompressedTexImage1DARB 437 +#define _gloffset_CompressedTexImage2DARB 438 +#define _gloffset_CompressedTexImage3DARB 439 +#define _gloffset_CompressedTexSubImage1DARB 440 +#define _gloffset_CompressedTexSubImage2DARB 441 +#define _gloffset_CompressedTexSubImage3DARB 442 +#define _gloffset_GetCompressedTexImageARB 443 +#define _gloffset_DisableVertexAttribArrayARB 444 +#define _gloffset_EnableVertexAttribArrayARB 445 +#define _gloffset_GetProgramEnvParameterdvARB 446 +#define _gloffset_GetProgramEnvParameterfvARB 447 +#define _gloffset_GetProgramLocalParameterdvARB 448 +#define _gloffset_GetProgramLocalParameterfvARB 449 +#define _gloffset_GetProgramStringARB 450 +#define _gloffset_GetProgramivARB 451 +#define _gloffset_GetVertexAttribdvARB 452 +#define _gloffset_GetVertexAttribfvARB 453 +#define _gloffset_GetVertexAttribivARB 454 +#define _gloffset_ProgramEnvParameter4dARB 455 +#define _gloffset_ProgramEnvParameter4dvARB 456 +#define _gloffset_ProgramEnvParameter4fARB 457 +#define _gloffset_ProgramEnvParameter4fvARB 458 +#define _gloffset_ProgramLocalParameter4dARB 459 +#define _gloffset_ProgramLocalParameter4dvARB 460 +#define _gloffset_ProgramLocalParameter4fARB 461 +#define _gloffset_ProgramLocalParameter4fvARB 462 +#define _gloffset_ProgramStringARB 463 +#define _gloffset_VertexAttrib1dARB 464 +#define _gloffset_VertexAttrib1dvARB 465 +#define _gloffset_VertexAttrib1fARB 466 +#define _gloffset_VertexAttrib1fvARB 467 +#define _gloffset_VertexAttrib1sARB 468 +#define _gloffset_VertexAttrib1svARB 469 +#define _gloffset_VertexAttrib2dARB 470 +#define _gloffset_VertexAttrib2dvARB 471 +#define _gloffset_VertexAttrib2fARB 472 +#define _gloffset_VertexAttrib2fvARB 473 +#define _gloffset_VertexAttrib2sARB 474 +#define _gloffset_VertexAttrib2svARB 475 +#define _gloffset_VertexAttrib3dARB 476 +#define _gloffset_VertexAttrib3dvARB 477 +#define _gloffset_VertexAttrib3fARB 478 +#define _gloffset_VertexAttrib3fvARB 479 +#define _gloffset_VertexAttrib3sARB 480 +#define _gloffset_VertexAttrib3svARB 481 +#define _gloffset_VertexAttrib4NbvARB 482 +#define _gloffset_VertexAttrib4NivARB 483 +#define _gloffset_VertexAttrib4NsvARB 484 +#define _gloffset_VertexAttrib4NubARB 485 +#define _gloffset_VertexAttrib4NubvARB 486 +#define _gloffset_VertexAttrib4NuivARB 487 +#define _gloffset_VertexAttrib4NusvARB 488 +#define _gloffset_VertexAttrib4bvARB 489 +#define _gloffset_VertexAttrib4dARB 490 +#define _gloffset_VertexAttrib4dvARB 491 +#define _gloffset_VertexAttrib4fARB 492 +#define _gloffset_VertexAttrib4fvARB 493 +#define _gloffset_VertexAttrib4ivARB 494 +#define _gloffset_VertexAttrib4sARB 495 +#define _gloffset_VertexAttrib4svARB 496 +#define _gloffset_VertexAttrib4ubvARB 497 +#define _gloffset_VertexAttrib4uivARB 498 +#define _gloffset_VertexAttrib4usvARB 499 +#define _gloffset_VertexAttribPointerARB 500 +#define _gloffset_BindBufferARB 501 +#define _gloffset_BufferDataARB 502 +#define _gloffset_BufferSubDataARB 503 +#define _gloffset_DeleteBuffersARB 504 +#define _gloffset_GenBuffersARB 505 +#define _gloffset_GetBufferParameterivARB 506 +#define _gloffset_GetBufferPointervARB 507 +#define _gloffset_GetBufferSubDataARB 508 +#define _gloffset_IsBufferARB 509 +#define _gloffset_MapBufferARB 510 +#define _gloffset_UnmapBufferARB 511 +#define _gloffset_BeginQueryARB 512 +#define _gloffset_DeleteQueriesARB 513 +#define _gloffset_EndQueryARB 514 +#define _gloffset_GenQueriesARB 515 +#define _gloffset_GetQueryObjectivARB 516 +#define _gloffset_GetQueryObjectuivARB 517 +#define _gloffset_GetQueryivARB 518 +#define _gloffset_IsQueryARB 519 +#define _gloffset_AttachObjectARB 520 +#define _gloffset_CompileShaderARB 521 +#define _gloffset_CreateProgramObjectARB 522 +#define _gloffset_CreateShaderObjectARB 523 +#define _gloffset_DeleteObjectARB 524 +#define _gloffset_DetachObjectARB 525 +#define _gloffset_GetActiveUniformARB 526 +#define _gloffset_GetAttachedObjectsARB 527 +#define _gloffset_GetHandleARB 528 +#define _gloffset_GetInfoLogARB 529 +#define _gloffset_GetObjectParameterfvARB 530 +#define _gloffset_GetObjectParameterivARB 531 +#define _gloffset_GetShaderSourceARB 532 +#define _gloffset_GetUniformLocationARB 533 +#define _gloffset_GetUniformfvARB 534 +#define _gloffset_GetUniformivARB 535 +#define _gloffset_LinkProgramARB 536 +#define _gloffset_ShaderSourceARB 537 +#define _gloffset_Uniform1fARB 538 +#define _gloffset_Uniform1fvARB 539 +#define _gloffset_Uniform1iARB 540 +#define _gloffset_Uniform1ivARB 541 +#define _gloffset_Uniform2fARB 542 +#define _gloffset_Uniform2fvARB 543 +#define _gloffset_Uniform2iARB 544 +#define _gloffset_Uniform2ivARB 545 +#define _gloffset_Uniform3fARB 546 +#define _gloffset_Uniform3fvARB 547 +#define _gloffset_Uniform3iARB 548 +#define _gloffset_Uniform3ivARB 549 +#define _gloffset_Uniform4fARB 550 +#define _gloffset_Uniform4fvARB 551 +#define _gloffset_Uniform4iARB 552 +#define _gloffset_Uniform4ivARB 553 +#define _gloffset_UniformMatrix2fvARB 554 +#define _gloffset_UniformMatrix3fvARB 555 +#define _gloffset_UniformMatrix4fvARB 556 +#define _gloffset_UseProgramObjectARB 557 +#define _gloffset_ValidateProgramARB 558 +#define _gloffset_BindAttribLocationARB 559 +#define _gloffset_GetActiveAttribARB 560 +#define _gloffset_GetAttribLocationARB 561 +#define _gloffset_DrawBuffersARB 562 +#define _gloffset_RenderbufferStorageMultisample 563 +#define _gloffset_FramebufferTextureARB 564 +#define _gloffset_FramebufferTextureFaceARB 565 +#define _gloffset_ProgramParameteriARB 566 +#define _gloffset_FlushMappedBufferRange 567 +#define _gloffset_MapBufferRange 568 +#define _gloffset_BindVertexArray 569 +#define _gloffset_GenVertexArrays 570 +#define _gloffset_CopyBufferSubData 571 +#define _gloffset_ClientWaitSync 572 +#define _gloffset_DeleteSync 573 +#define _gloffset_FenceSync 574 +#define _gloffset_GetInteger64v 575 +#define _gloffset_GetSynciv 576 +#define _gloffset_IsSync 577 +#define _gloffset_WaitSync 578 +#define _gloffset_DrawElementsBaseVertex 579 +#define _gloffset_DrawRangeElementsBaseVertex 580 +#define _gloffset_MultiDrawElementsBaseVertex 581 +#define _gloffset_BindTransformFeedback 582 +#define _gloffset_DeleteTransformFeedbacks 583 +#define _gloffset_DrawTransformFeedback 584 +#define _gloffset_GenTransformFeedbacks 585 +#define _gloffset_IsTransformFeedback 586 +#define _gloffset_PauseTransformFeedback 587 +#define _gloffset_ResumeTransformFeedback 588 +#define _gloffset_PolygonOffsetEXT 589 +#define _gloffset_GetPixelTexGenParameterfvSGIS 590 +#define _gloffset_GetPixelTexGenParameterivSGIS 591 +#define _gloffset_PixelTexGenParameterfSGIS 592 +#define _gloffset_PixelTexGenParameterfvSGIS 593 +#define _gloffset_PixelTexGenParameteriSGIS 594 +#define _gloffset_PixelTexGenParameterivSGIS 595 +#define _gloffset_SampleMaskSGIS 596 +#define _gloffset_SamplePatternSGIS 597 +#define _gloffset_ColorPointerEXT 598 +#define _gloffset_EdgeFlagPointerEXT 599 +#define _gloffset_IndexPointerEXT 600 +#define _gloffset_NormalPointerEXT 601 +#define _gloffset_TexCoordPointerEXT 602 +#define _gloffset_VertexPointerEXT 603 +#define _gloffset_PointParameterfEXT 604 +#define _gloffset_PointParameterfvEXT 605 +#define _gloffset_LockArraysEXT 606 +#define _gloffset_UnlockArraysEXT 607 +#define _gloffset_SecondaryColor3bEXT 608 +#define _gloffset_SecondaryColor3bvEXT 609 +#define _gloffset_SecondaryColor3dEXT 610 +#define _gloffset_SecondaryColor3dvEXT 611 +#define _gloffset_SecondaryColor3fEXT 612 +#define _gloffset_SecondaryColor3fvEXT 613 +#define _gloffset_SecondaryColor3iEXT 614 +#define _gloffset_SecondaryColor3ivEXT 615 +#define _gloffset_SecondaryColor3sEXT 616 +#define _gloffset_SecondaryColor3svEXT 617 +#define _gloffset_SecondaryColor3ubEXT 618 +#define _gloffset_SecondaryColor3ubvEXT 619 +#define _gloffset_SecondaryColor3uiEXT 620 +#define _gloffset_SecondaryColor3uivEXT 621 +#define _gloffset_SecondaryColor3usEXT 622 +#define _gloffset_SecondaryColor3usvEXT 623 +#define _gloffset_SecondaryColorPointerEXT 624 +#define _gloffset_MultiDrawArraysEXT 625 +#define _gloffset_MultiDrawElementsEXT 626 +#define _gloffset_FogCoordPointerEXT 627 +#define _gloffset_FogCoorddEXT 628 +#define _gloffset_FogCoorddvEXT 629 +#define _gloffset_FogCoordfEXT 630 +#define _gloffset_FogCoordfvEXT 631 +#define _gloffset_PixelTexGenSGIX 632 +#define _gloffset_BlendFuncSeparateEXT 633 +#define _gloffset_FlushVertexArrayRangeNV 634 +#define _gloffset_VertexArrayRangeNV 635 +#define _gloffset_CombinerInputNV 636 +#define _gloffset_CombinerOutputNV 637 +#define _gloffset_CombinerParameterfNV 638 +#define _gloffset_CombinerParameterfvNV 639 +#define _gloffset_CombinerParameteriNV 640 +#define _gloffset_CombinerParameterivNV 641 +#define _gloffset_FinalCombinerInputNV 642 +#define _gloffset_GetCombinerInputParameterfvNV 643 +#define _gloffset_GetCombinerInputParameterivNV 644 +#define _gloffset_GetCombinerOutputParameterfvNV 645 +#define _gloffset_GetCombinerOutputParameterivNV 646 +#define _gloffset_GetFinalCombinerInputParameterfvNV 647 +#define _gloffset_GetFinalCombinerInputParameterivNV 648 +#define _gloffset_ResizeBuffersMESA 649 +#define _gloffset_WindowPos2dMESA 650 +#define _gloffset_WindowPos2dvMESA 651 +#define _gloffset_WindowPos2fMESA 652 +#define _gloffset_WindowPos2fvMESA 653 +#define _gloffset_WindowPos2iMESA 654 +#define _gloffset_WindowPos2ivMESA 655 +#define _gloffset_WindowPos2sMESA 656 +#define _gloffset_WindowPos2svMESA 657 +#define _gloffset_WindowPos3dMESA 658 +#define _gloffset_WindowPos3dvMESA 659 +#define _gloffset_WindowPos3fMESA 660 +#define _gloffset_WindowPos3fvMESA 661 +#define _gloffset_WindowPos3iMESA 662 +#define _gloffset_WindowPos3ivMESA 663 +#define _gloffset_WindowPos3sMESA 664 +#define _gloffset_WindowPos3svMESA 665 +#define _gloffset_WindowPos4dMESA 666 +#define _gloffset_WindowPos4dvMESA 667 +#define _gloffset_WindowPos4fMESA 668 +#define _gloffset_WindowPos4fvMESA 669 +#define _gloffset_WindowPos4iMESA 670 +#define _gloffset_WindowPos4ivMESA 671 +#define _gloffset_WindowPos4sMESA 672 +#define _gloffset_WindowPos4svMESA 673 +#define _gloffset_MultiModeDrawArraysIBM 674 +#define _gloffset_MultiModeDrawElementsIBM 675 +#define _gloffset_DeleteFencesNV 676 +#define _gloffset_FinishFenceNV 677 +#define _gloffset_GenFencesNV 678 +#define _gloffset_GetFenceivNV 679 +#define _gloffset_IsFenceNV 680 +#define _gloffset_SetFenceNV 681 +#define _gloffset_TestFenceNV 682 +#define _gloffset_AreProgramsResidentNV 683 +#define _gloffset_BindProgramNV 684 +#define _gloffset_DeleteProgramsNV 685 +#define _gloffset_ExecuteProgramNV 686 +#define _gloffset_GenProgramsNV 687 +#define _gloffset_GetProgramParameterdvNV 688 +#define _gloffset_GetProgramParameterfvNV 689 +#define _gloffset_GetProgramStringNV 690 +#define _gloffset_GetProgramivNV 691 +#define _gloffset_GetTrackMatrixivNV 692 +#define _gloffset_GetVertexAttribPointervNV 693 +#define _gloffset_GetVertexAttribdvNV 694 +#define _gloffset_GetVertexAttribfvNV 695 +#define _gloffset_GetVertexAttribivNV 696 +#define _gloffset_IsProgramNV 697 +#define _gloffset_LoadProgramNV 698 +#define _gloffset_ProgramParameters4dvNV 699 +#define _gloffset_ProgramParameters4fvNV 700 +#define _gloffset_RequestResidentProgramsNV 701 +#define _gloffset_TrackMatrixNV 702 +#define _gloffset_VertexAttrib1dNV 703 +#define _gloffset_VertexAttrib1dvNV 704 +#define _gloffset_VertexAttrib1fNV 705 +#define _gloffset_VertexAttrib1fvNV 706 +#define _gloffset_VertexAttrib1sNV 707 +#define _gloffset_VertexAttrib1svNV 708 +#define _gloffset_VertexAttrib2dNV 709 +#define _gloffset_VertexAttrib2dvNV 710 +#define _gloffset_VertexAttrib2fNV 711 +#define _gloffset_VertexAttrib2fvNV 712 +#define _gloffset_VertexAttrib2sNV 713 +#define _gloffset_VertexAttrib2svNV 714 +#define _gloffset_VertexAttrib3dNV 715 +#define _gloffset_VertexAttrib3dvNV 716 +#define _gloffset_VertexAttrib3fNV 717 +#define _gloffset_VertexAttrib3fvNV 718 +#define _gloffset_VertexAttrib3sNV 719 +#define _gloffset_VertexAttrib3svNV 720 +#define _gloffset_VertexAttrib4dNV 721 +#define _gloffset_VertexAttrib4dvNV 722 +#define _gloffset_VertexAttrib4fNV 723 +#define _gloffset_VertexAttrib4fvNV 724 +#define _gloffset_VertexAttrib4sNV 725 +#define _gloffset_VertexAttrib4svNV 726 +#define _gloffset_VertexAttrib4ubNV 727 +#define _gloffset_VertexAttrib4ubvNV 728 +#define _gloffset_VertexAttribPointerNV 729 +#define _gloffset_VertexAttribs1dvNV 730 +#define _gloffset_VertexAttribs1fvNV 731 +#define _gloffset_VertexAttribs1svNV 732 +#define _gloffset_VertexAttribs2dvNV 733 +#define _gloffset_VertexAttribs2fvNV 734 +#define _gloffset_VertexAttribs2svNV 735 +#define _gloffset_VertexAttribs3dvNV 736 +#define _gloffset_VertexAttribs3fvNV 737 +#define _gloffset_VertexAttribs3svNV 738 +#define _gloffset_VertexAttribs4dvNV 739 +#define _gloffset_VertexAttribs4fvNV 740 +#define _gloffset_VertexAttribs4svNV 741 +#define _gloffset_VertexAttribs4ubvNV 742 +#define _gloffset_GetTexBumpParameterfvATI 743 +#define _gloffset_GetTexBumpParameterivATI 744 +#define _gloffset_TexBumpParameterfvATI 745 +#define _gloffset_TexBumpParameterivATI 746 +#define _gloffset_AlphaFragmentOp1ATI 747 +#define _gloffset_AlphaFragmentOp2ATI 748 +#define _gloffset_AlphaFragmentOp3ATI 749 +#define _gloffset_BeginFragmentShaderATI 750 +#define _gloffset_BindFragmentShaderATI 751 +#define _gloffset_ColorFragmentOp1ATI 752 +#define _gloffset_ColorFragmentOp2ATI 753 +#define _gloffset_ColorFragmentOp3ATI 754 +#define _gloffset_DeleteFragmentShaderATI 755 +#define _gloffset_EndFragmentShaderATI 756 +#define _gloffset_GenFragmentShadersATI 757 +#define _gloffset_PassTexCoordATI 758 +#define _gloffset_SampleMapATI 759 +#define _gloffset_SetFragmentShaderConstantATI 760 +#define _gloffset_PointParameteriNV 761 +#define _gloffset_PointParameterivNV 762 +#define _gloffset_ActiveStencilFaceEXT 763 +#define _gloffset_BindVertexArrayAPPLE 764 +#define _gloffset_DeleteVertexArraysAPPLE 765 +#define _gloffset_GenVertexArraysAPPLE 766 +#define _gloffset_IsVertexArrayAPPLE 767 +#define _gloffset_GetProgramNamedParameterdvNV 768 +#define _gloffset_GetProgramNamedParameterfvNV 769 +#define _gloffset_ProgramNamedParameter4dNV 770 +#define _gloffset_ProgramNamedParameter4dvNV 771 +#define _gloffset_ProgramNamedParameter4fNV 772 +#define _gloffset_ProgramNamedParameter4fvNV 773 +#define _gloffset_PrimitiveRestartIndexNV 774 +#define _gloffset_PrimitiveRestartNV 775 +#define _gloffset_DepthBoundsEXT 776 +#define _gloffset_BlendEquationSeparateEXT 777 +#define _gloffset_BindFramebufferEXT 778 +#define _gloffset_BindRenderbufferEXT 779 +#define _gloffset_CheckFramebufferStatusEXT 780 +#define _gloffset_DeleteFramebuffersEXT 781 +#define _gloffset_DeleteRenderbuffersEXT 782 +#define _gloffset_FramebufferRenderbufferEXT 783 +#define _gloffset_FramebufferTexture1DEXT 784 +#define _gloffset_FramebufferTexture2DEXT 785 +#define _gloffset_FramebufferTexture3DEXT 786 +#define _gloffset_GenFramebuffersEXT 787 +#define _gloffset_GenRenderbuffersEXT 788 +#define _gloffset_GenerateMipmapEXT 789 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 790 +#define _gloffset_GetRenderbufferParameterivEXT 791 +#define _gloffset_IsFramebufferEXT 792 +#define _gloffset_IsRenderbufferEXT 793 +#define _gloffset_RenderbufferStorageEXT 794 +#define _gloffset_BlitFramebufferEXT 795 +#define _gloffset_BufferParameteriAPPLE 796 +#define _gloffset_FlushMappedBufferRangeAPPLE 797 +#define _gloffset_BindFragDataLocationEXT 798 +#define _gloffset_GetFragDataLocationEXT 799 +#define _gloffset_GetUniformuivEXT 800 +#define _gloffset_GetVertexAttribIivEXT 801 +#define _gloffset_GetVertexAttribIuivEXT 802 +#define _gloffset_Uniform1uiEXT 803 +#define _gloffset_Uniform1uivEXT 804 +#define _gloffset_Uniform2uiEXT 805 +#define _gloffset_Uniform2uivEXT 806 +#define _gloffset_Uniform3uiEXT 807 +#define _gloffset_Uniform3uivEXT 808 +#define _gloffset_Uniform4uiEXT 809 +#define _gloffset_Uniform4uivEXT 810 +#define _gloffset_VertexAttribI1iEXT 811 +#define _gloffset_VertexAttribI1ivEXT 812 +#define _gloffset_VertexAttribI1uiEXT 813 +#define _gloffset_VertexAttribI1uivEXT 814 +#define _gloffset_VertexAttribI2iEXT 815 +#define _gloffset_VertexAttribI2ivEXT 816 +#define _gloffset_VertexAttribI2uiEXT 817 +#define _gloffset_VertexAttribI2uivEXT 818 +#define _gloffset_VertexAttribI3iEXT 819 +#define _gloffset_VertexAttribI3ivEXT 820 +#define _gloffset_VertexAttribI3uiEXT 821 +#define _gloffset_VertexAttribI3uivEXT 822 +#define _gloffset_VertexAttribI4bvEXT 823 +#define _gloffset_VertexAttribI4iEXT 824 +#define _gloffset_VertexAttribI4ivEXT 825 +#define _gloffset_VertexAttribI4svEXT 826 +#define _gloffset_VertexAttribI4ubvEXT 827 +#define _gloffset_VertexAttribI4uiEXT 828 +#define _gloffset_VertexAttribI4uivEXT 829 +#define _gloffset_VertexAttribI4usvEXT 830 +#define _gloffset_VertexAttribIPointerEXT 831 +#define _gloffset_FramebufferTextureLayerEXT 832 +#define _gloffset_ColorMaskIndexedEXT 833 +#define _gloffset_DisableIndexedEXT 834 +#define _gloffset_EnableIndexedEXT 835 +#define _gloffset_GetBooleanIndexedvEXT 836 +#define _gloffset_GetIntegerIndexedvEXT 837 +#define _gloffset_IsEnabledIndexedEXT 838 +#define _gloffset_ClearColorIiEXT 839 +#define _gloffset_ClearColorIuiEXT 840 +#define _gloffset_GetTexParameterIivEXT 841 +#define _gloffset_GetTexParameterIuivEXT 842 +#define _gloffset_TexParameterIivEXT 843 +#define _gloffset_TexParameterIuivEXT 844 +#define _gloffset_BeginConditionalRenderNV 845 +#define _gloffset_EndConditionalRenderNV 846 +#define _gloffset_BeginTransformFeedbackEXT 847 +#define _gloffset_BindBufferBaseEXT 848 +#define _gloffset_BindBufferOffsetEXT 849 +#define _gloffset_BindBufferRangeEXT 850 +#define _gloffset_EndTransformFeedbackEXT 851 +#define _gloffset_GetTransformFeedbackVaryingEXT 852 +#define _gloffset_TransformFeedbackVaryingsEXT 853 +#define _gloffset_ProvokingVertexEXT 854 +#define _gloffset_GetTexParameterPointervAPPLE 855 +#define _gloffset_TextureRangeAPPLE 856 +#define _gloffset_GetObjectParameterivAPPLE 857 +#define _gloffset_ObjectPurgeableAPPLE 858 +#define _gloffset_ObjectUnpurgeableAPPLE 859 +#define _gloffset_ActiveProgramEXT 860 +#define _gloffset_CreateShaderProgramEXT 861 +#define _gloffset_UseShaderProgramEXT 862 +#define _gloffset_StencilFuncSeparateATI 863 +#define _gloffset_ProgramEnvParameters4fvEXT 864 +#define _gloffset_ProgramLocalParameters4fvEXT 865 +#define _gloffset_GetQueryObjecti64vEXT 866 +#define _gloffset_GetQueryObjectui64vEXT 867 +#define _gloffset_EGLImageTargetRenderbufferStorageOES 868 +#define _gloffset_EGLImageTargetTexture2DOES 869 + +#else /* !_GLAPI_USE_REMAP_TABLE */ + +#define driDispatchRemapTable_size 462 +extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; + +#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 DrawArraysInstanced_remap_index 22 +#define DrawElementsInstanced_remap_index 23 +#define LoadTransposeMatrixdARB_remap_index 24 +#define LoadTransposeMatrixfARB_remap_index 25 +#define MultTransposeMatrixdARB_remap_index 26 +#define MultTransposeMatrixfARB_remap_index 27 +#define SampleCoverageARB_remap_index 28 +#define CompressedTexImage1DARB_remap_index 29 +#define CompressedTexImage2DARB_remap_index 30 +#define CompressedTexImage3DARB_remap_index 31 +#define CompressedTexSubImage1DARB_remap_index 32 +#define CompressedTexSubImage2DARB_remap_index 33 +#define CompressedTexSubImage3DARB_remap_index 34 +#define GetCompressedTexImageARB_remap_index 35 +#define DisableVertexAttribArrayARB_remap_index 36 +#define EnableVertexAttribArrayARB_remap_index 37 +#define GetProgramEnvParameterdvARB_remap_index 38 +#define GetProgramEnvParameterfvARB_remap_index 39 +#define GetProgramLocalParameterdvARB_remap_index 40 +#define GetProgramLocalParameterfvARB_remap_index 41 +#define GetProgramStringARB_remap_index 42 +#define GetProgramivARB_remap_index 43 +#define GetVertexAttribdvARB_remap_index 44 +#define GetVertexAttribfvARB_remap_index 45 +#define GetVertexAttribivARB_remap_index 46 +#define ProgramEnvParameter4dARB_remap_index 47 +#define ProgramEnvParameter4dvARB_remap_index 48 +#define ProgramEnvParameter4fARB_remap_index 49 +#define ProgramEnvParameter4fvARB_remap_index 50 +#define ProgramLocalParameter4dARB_remap_index 51 +#define ProgramLocalParameter4dvARB_remap_index 52 +#define ProgramLocalParameter4fARB_remap_index 53 +#define ProgramLocalParameter4fvARB_remap_index 54 +#define ProgramStringARB_remap_index 55 +#define VertexAttrib1dARB_remap_index 56 +#define VertexAttrib1dvARB_remap_index 57 +#define VertexAttrib1fARB_remap_index 58 +#define VertexAttrib1fvARB_remap_index 59 +#define VertexAttrib1sARB_remap_index 60 +#define VertexAttrib1svARB_remap_index 61 +#define VertexAttrib2dARB_remap_index 62 +#define VertexAttrib2dvARB_remap_index 63 +#define VertexAttrib2fARB_remap_index 64 +#define VertexAttrib2fvARB_remap_index 65 +#define VertexAttrib2sARB_remap_index 66 +#define VertexAttrib2svARB_remap_index 67 +#define VertexAttrib3dARB_remap_index 68 +#define VertexAttrib3dvARB_remap_index 69 +#define VertexAttrib3fARB_remap_index 70 +#define VertexAttrib3fvARB_remap_index 71 +#define VertexAttrib3sARB_remap_index 72 +#define VertexAttrib3svARB_remap_index 73 +#define VertexAttrib4NbvARB_remap_index 74 +#define VertexAttrib4NivARB_remap_index 75 +#define VertexAttrib4NsvARB_remap_index 76 +#define VertexAttrib4NubARB_remap_index 77 +#define VertexAttrib4NubvARB_remap_index 78 +#define VertexAttrib4NuivARB_remap_index 79 +#define VertexAttrib4NusvARB_remap_index 80 +#define VertexAttrib4bvARB_remap_index 81 +#define VertexAttrib4dARB_remap_index 82 +#define VertexAttrib4dvARB_remap_index 83 +#define VertexAttrib4fARB_remap_index 84 +#define VertexAttrib4fvARB_remap_index 85 +#define VertexAttrib4ivARB_remap_index 86 +#define VertexAttrib4sARB_remap_index 87 +#define VertexAttrib4svARB_remap_index 88 +#define VertexAttrib4ubvARB_remap_index 89 +#define VertexAttrib4uivARB_remap_index 90 +#define VertexAttrib4usvARB_remap_index 91 +#define VertexAttribPointerARB_remap_index 92 +#define BindBufferARB_remap_index 93 +#define BufferDataARB_remap_index 94 +#define BufferSubDataARB_remap_index 95 +#define DeleteBuffersARB_remap_index 96 +#define GenBuffersARB_remap_index 97 +#define GetBufferParameterivARB_remap_index 98 +#define GetBufferPointervARB_remap_index 99 +#define GetBufferSubDataARB_remap_index 100 +#define IsBufferARB_remap_index 101 +#define MapBufferARB_remap_index 102 +#define UnmapBufferARB_remap_index 103 +#define BeginQueryARB_remap_index 104 +#define DeleteQueriesARB_remap_index 105 +#define EndQueryARB_remap_index 106 +#define GenQueriesARB_remap_index 107 +#define GetQueryObjectivARB_remap_index 108 +#define GetQueryObjectuivARB_remap_index 109 +#define GetQueryivARB_remap_index 110 +#define IsQueryARB_remap_index 111 +#define AttachObjectARB_remap_index 112 +#define CompileShaderARB_remap_index 113 +#define CreateProgramObjectARB_remap_index 114 +#define CreateShaderObjectARB_remap_index 115 +#define DeleteObjectARB_remap_index 116 +#define DetachObjectARB_remap_index 117 +#define GetActiveUniformARB_remap_index 118 +#define GetAttachedObjectsARB_remap_index 119 +#define GetHandleARB_remap_index 120 +#define GetInfoLogARB_remap_index 121 +#define GetObjectParameterfvARB_remap_index 122 +#define GetObjectParameterivARB_remap_index 123 +#define GetShaderSourceARB_remap_index 124 +#define GetUniformLocationARB_remap_index 125 +#define GetUniformfvARB_remap_index 126 +#define GetUniformivARB_remap_index 127 +#define LinkProgramARB_remap_index 128 +#define ShaderSourceARB_remap_index 129 +#define Uniform1fARB_remap_index 130 +#define Uniform1fvARB_remap_index 131 +#define Uniform1iARB_remap_index 132 +#define Uniform1ivARB_remap_index 133 +#define Uniform2fARB_remap_index 134 +#define Uniform2fvARB_remap_index 135 +#define Uniform2iARB_remap_index 136 +#define Uniform2ivARB_remap_index 137 +#define Uniform3fARB_remap_index 138 +#define Uniform3fvARB_remap_index 139 +#define Uniform3iARB_remap_index 140 +#define Uniform3ivARB_remap_index 141 +#define Uniform4fARB_remap_index 142 +#define Uniform4fvARB_remap_index 143 +#define Uniform4iARB_remap_index 144 +#define Uniform4ivARB_remap_index 145 +#define UniformMatrix2fvARB_remap_index 146 +#define UniformMatrix3fvARB_remap_index 147 +#define UniformMatrix4fvARB_remap_index 148 +#define UseProgramObjectARB_remap_index 149 +#define ValidateProgramARB_remap_index 150 +#define BindAttribLocationARB_remap_index 151 +#define GetActiveAttribARB_remap_index 152 +#define GetAttribLocationARB_remap_index 153 +#define DrawBuffersARB_remap_index 154 +#define RenderbufferStorageMultisample_remap_index 155 +#define FramebufferTextureARB_remap_index 156 +#define FramebufferTextureFaceARB_remap_index 157 +#define ProgramParameteriARB_remap_index 158 +#define FlushMappedBufferRange_remap_index 159 +#define MapBufferRange_remap_index 160 +#define BindVertexArray_remap_index 161 +#define GenVertexArrays_remap_index 162 +#define CopyBufferSubData_remap_index 163 +#define ClientWaitSync_remap_index 164 +#define DeleteSync_remap_index 165 +#define FenceSync_remap_index 166 +#define GetInteger64v_remap_index 167 +#define GetSynciv_remap_index 168 +#define IsSync_remap_index 169 +#define WaitSync_remap_index 170 +#define DrawElementsBaseVertex_remap_index 171 +#define DrawRangeElementsBaseVertex_remap_index 172 +#define MultiDrawElementsBaseVertex_remap_index 173 +#define BindTransformFeedback_remap_index 174 +#define DeleteTransformFeedbacks_remap_index 175 +#define DrawTransformFeedback_remap_index 176 +#define GenTransformFeedbacks_remap_index 177 +#define IsTransformFeedback_remap_index 178 +#define PauseTransformFeedback_remap_index 179 +#define ResumeTransformFeedback_remap_index 180 +#define PolygonOffsetEXT_remap_index 181 +#define GetPixelTexGenParameterfvSGIS_remap_index 182 +#define GetPixelTexGenParameterivSGIS_remap_index 183 +#define PixelTexGenParameterfSGIS_remap_index 184 +#define PixelTexGenParameterfvSGIS_remap_index 185 +#define PixelTexGenParameteriSGIS_remap_index 186 +#define PixelTexGenParameterivSGIS_remap_index 187 +#define SampleMaskSGIS_remap_index 188 +#define SamplePatternSGIS_remap_index 189 +#define ColorPointerEXT_remap_index 190 +#define EdgeFlagPointerEXT_remap_index 191 +#define IndexPointerEXT_remap_index 192 +#define NormalPointerEXT_remap_index 193 +#define TexCoordPointerEXT_remap_index 194 +#define VertexPointerEXT_remap_index 195 +#define PointParameterfEXT_remap_index 196 +#define PointParameterfvEXT_remap_index 197 +#define LockArraysEXT_remap_index 198 +#define UnlockArraysEXT_remap_index 199 +#define SecondaryColor3bEXT_remap_index 200 +#define SecondaryColor3bvEXT_remap_index 201 +#define SecondaryColor3dEXT_remap_index 202 +#define SecondaryColor3dvEXT_remap_index 203 +#define SecondaryColor3fEXT_remap_index 204 +#define SecondaryColor3fvEXT_remap_index 205 +#define SecondaryColor3iEXT_remap_index 206 +#define SecondaryColor3ivEXT_remap_index 207 +#define SecondaryColor3sEXT_remap_index 208 +#define SecondaryColor3svEXT_remap_index 209 +#define SecondaryColor3ubEXT_remap_index 210 +#define SecondaryColor3ubvEXT_remap_index 211 +#define SecondaryColor3uiEXT_remap_index 212 +#define SecondaryColor3uivEXT_remap_index 213 +#define SecondaryColor3usEXT_remap_index 214 +#define SecondaryColor3usvEXT_remap_index 215 +#define SecondaryColorPointerEXT_remap_index 216 +#define MultiDrawArraysEXT_remap_index 217 +#define MultiDrawElementsEXT_remap_index 218 +#define FogCoordPointerEXT_remap_index 219 +#define FogCoorddEXT_remap_index 220 +#define FogCoorddvEXT_remap_index 221 +#define FogCoordfEXT_remap_index 222 +#define FogCoordfvEXT_remap_index 223 +#define PixelTexGenSGIX_remap_index 224 +#define BlendFuncSeparateEXT_remap_index 225 +#define FlushVertexArrayRangeNV_remap_index 226 +#define VertexArrayRangeNV_remap_index 227 +#define CombinerInputNV_remap_index 228 +#define CombinerOutputNV_remap_index 229 +#define CombinerParameterfNV_remap_index 230 +#define CombinerParameterfvNV_remap_index 231 +#define CombinerParameteriNV_remap_index 232 +#define CombinerParameterivNV_remap_index 233 +#define FinalCombinerInputNV_remap_index 234 +#define GetCombinerInputParameterfvNV_remap_index 235 +#define GetCombinerInputParameterivNV_remap_index 236 +#define GetCombinerOutputParameterfvNV_remap_index 237 +#define GetCombinerOutputParameterivNV_remap_index 238 +#define GetFinalCombinerInputParameterfvNV_remap_index 239 +#define GetFinalCombinerInputParameterivNV_remap_index 240 +#define ResizeBuffersMESA_remap_index 241 +#define WindowPos2dMESA_remap_index 242 +#define WindowPos2dvMESA_remap_index 243 +#define WindowPos2fMESA_remap_index 244 +#define WindowPos2fvMESA_remap_index 245 +#define WindowPos2iMESA_remap_index 246 +#define WindowPos2ivMESA_remap_index 247 +#define WindowPos2sMESA_remap_index 248 +#define WindowPos2svMESA_remap_index 249 +#define WindowPos3dMESA_remap_index 250 +#define WindowPos3dvMESA_remap_index 251 +#define WindowPos3fMESA_remap_index 252 +#define WindowPos3fvMESA_remap_index 253 +#define WindowPos3iMESA_remap_index 254 +#define WindowPos3ivMESA_remap_index 255 +#define WindowPos3sMESA_remap_index 256 +#define WindowPos3svMESA_remap_index 257 +#define WindowPos4dMESA_remap_index 258 +#define WindowPos4dvMESA_remap_index 259 +#define WindowPos4fMESA_remap_index 260 +#define WindowPos4fvMESA_remap_index 261 +#define WindowPos4iMESA_remap_index 262 +#define WindowPos4ivMESA_remap_index 263 +#define WindowPos4sMESA_remap_index 264 +#define WindowPos4svMESA_remap_index 265 +#define MultiModeDrawArraysIBM_remap_index 266 +#define MultiModeDrawElementsIBM_remap_index 267 +#define DeleteFencesNV_remap_index 268 +#define FinishFenceNV_remap_index 269 +#define GenFencesNV_remap_index 270 +#define GetFenceivNV_remap_index 271 +#define IsFenceNV_remap_index 272 +#define SetFenceNV_remap_index 273 +#define TestFenceNV_remap_index 274 +#define AreProgramsResidentNV_remap_index 275 +#define BindProgramNV_remap_index 276 +#define DeleteProgramsNV_remap_index 277 +#define ExecuteProgramNV_remap_index 278 +#define GenProgramsNV_remap_index 279 +#define GetProgramParameterdvNV_remap_index 280 +#define GetProgramParameterfvNV_remap_index 281 +#define GetProgramStringNV_remap_index 282 +#define GetProgramivNV_remap_index 283 +#define GetTrackMatrixivNV_remap_index 284 +#define GetVertexAttribPointervNV_remap_index 285 +#define GetVertexAttribdvNV_remap_index 286 +#define GetVertexAttribfvNV_remap_index 287 +#define GetVertexAttribivNV_remap_index 288 +#define IsProgramNV_remap_index 289 +#define LoadProgramNV_remap_index 290 +#define ProgramParameters4dvNV_remap_index 291 +#define ProgramParameters4fvNV_remap_index 292 +#define RequestResidentProgramsNV_remap_index 293 +#define TrackMatrixNV_remap_index 294 +#define VertexAttrib1dNV_remap_index 295 +#define VertexAttrib1dvNV_remap_index 296 +#define VertexAttrib1fNV_remap_index 297 +#define VertexAttrib1fvNV_remap_index 298 +#define VertexAttrib1sNV_remap_index 299 +#define VertexAttrib1svNV_remap_index 300 +#define VertexAttrib2dNV_remap_index 301 +#define VertexAttrib2dvNV_remap_index 302 +#define VertexAttrib2fNV_remap_index 303 +#define VertexAttrib2fvNV_remap_index 304 +#define VertexAttrib2sNV_remap_index 305 +#define VertexAttrib2svNV_remap_index 306 +#define VertexAttrib3dNV_remap_index 307 +#define VertexAttrib3dvNV_remap_index 308 +#define VertexAttrib3fNV_remap_index 309 +#define VertexAttrib3fvNV_remap_index 310 +#define VertexAttrib3sNV_remap_index 311 +#define VertexAttrib3svNV_remap_index 312 +#define VertexAttrib4dNV_remap_index 313 +#define VertexAttrib4dvNV_remap_index 314 +#define VertexAttrib4fNV_remap_index 315 +#define VertexAttrib4fvNV_remap_index 316 +#define VertexAttrib4sNV_remap_index 317 +#define VertexAttrib4svNV_remap_index 318 +#define VertexAttrib4ubNV_remap_index 319 +#define VertexAttrib4ubvNV_remap_index 320 +#define VertexAttribPointerNV_remap_index 321 +#define VertexAttribs1dvNV_remap_index 322 +#define VertexAttribs1fvNV_remap_index 323 +#define VertexAttribs1svNV_remap_index 324 +#define VertexAttribs2dvNV_remap_index 325 +#define VertexAttribs2fvNV_remap_index 326 +#define VertexAttribs2svNV_remap_index 327 +#define VertexAttribs3dvNV_remap_index 328 +#define VertexAttribs3fvNV_remap_index 329 +#define VertexAttribs3svNV_remap_index 330 +#define VertexAttribs4dvNV_remap_index 331 +#define VertexAttribs4fvNV_remap_index 332 +#define VertexAttribs4svNV_remap_index 333 +#define VertexAttribs4ubvNV_remap_index 334 +#define GetTexBumpParameterfvATI_remap_index 335 +#define GetTexBumpParameterivATI_remap_index 336 +#define TexBumpParameterfvATI_remap_index 337 +#define TexBumpParameterivATI_remap_index 338 +#define AlphaFragmentOp1ATI_remap_index 339 +#define AlphaFragmentOp2ATI_remap_index 340 +#define AlphaFragmentOp3ATI_remap_index 341 +#define BeginFragmentShaderATI_remap_index 342 +#define BindFragmentShaderATI_remap_index 343 +#define ColorFragmentOp1ATI_remap_index 344 +#define ColorFragmentOp2ATI_remap_index 345 +#define ColorFragmentOp3ATI_remap_index 346 +#define DeleteFragmentShaderATI_remap_index 347 +#define EndFragmentShaderATI_remap_index 348 +#define GenFragmentShadersATI_remap_index 349 +#define PassTexCoordATI_remap_index 350 +#define SampleMapATI_remap_index 351 +#define SetFragmentShaderConstantATI_remap_index 352 +#define PointParameteriNV_remap_index 353 +#define PointParameterivNV_remap_index 354 +#define ActiveStencilFaceEXT_remap_index 355 +#define BindVertexArrayAPPLE_remap_index 356 +#define DeleteVertexArraysAPPLE_remap_index 357 +#define GenVertexArraysAPPLE_remap_index 358 +#define IsVertexArrayAPPLE_remap_index 359 +#define GetProgramNamedParameterdvNV_remap_index 360 +#define GetProgramNamedParameterfvNV_remap_index 361 +#define ProgramNamedParameter4dNV_remap_index 362 +#define ProgramNamedParameter4dvNV_remap_index 363 +#define ProgramNamedParameter4fNV_remap_index 364 +#define ProgramNamedParameter4fvNV_remap_index 365 +#define PrimitiveRestartIndexNV_remap_index 366 +#define PrimitiveRestartNV_remap_index 367 +#define DepthBoundsEXT_remap_index 368 +#define BlendEquationSeparateEXT_remap_index 369 +#define BindFramebufferEXT_remap_index 370 +#define BindRenderbufferEXT_remap_index 371 +#define CheckFramebufferStatusEXT_remap_index 372 +#define DeleteFramebuffersEXT_remap_index 373 +#define DeleteRenderbuffersEXT_remap_index 374 +#define FramebufferRenderbufferEXT_remap_index 375 +#define FramebufferTexture1DEXT_remap_index 376 +#define FramebufferTexture2DEXT_remap_index 377 +#define FramebufferTexture3DEXT_remap_index 378 +#define GenFramebuffersEXT_remap_index 379 +#define GenRenderbuffersEXT_remap_index 380 +#define GenerateMipmapEXT_remap_index 381 +#define GetFramebufferAttachmentParameterivEXT_remap_index 382 +#define GetRenderbufferParameterivEXT_remap_index 383 +#define IsFramebufferEXT_remap_index 384 +#define IsRenderbufferEXT_remap_index 385 +#define RenderbufferStorageEXT_remap_index 386 +#define BlitFramebufferEXT_remap_index 387 +#define BufferParameteriAPPLE_remap_index 388 +#define FlushMappedBufferRangeAPPLE_remap_index 389 +#define BindFragDataLocationEXT_remap_index 390 +#define GetFragDataLocationEXT_remap_index 391 +#define GetUniformuivEXT_remap_index 392 +#define GetVertexAttribIivEXT_remap_index 393 +#define GetVertexAttribIuivEXT_remap_index 394 +#define Uniform1uiEXT_remap_index 395 +#define Uniform1uivEXT_remap_index 396 +#define Uniform2uiEXT_remap_index 397 +#define Uniform2uivEXT_remap_index 398 +#define Uniform3uiEXT_remap_index 399 +#define Uniform3uivEXT_remap_index 400 +#define Uniform4uiEXT_remap_index 401 +#define Uniform4uivEXT_remap_index 402 +#define VertexAttribI1iEXT_remap_index 403 +#define VertexAttribI1ivEXT_remap_index 404 +#define VertexAttribI1uiEXT_remap_index 405 +#define VertexAttribI1uivEXT_remap_index 406 +#define VertexAttribI2iEXT_remap_index 407 +#define VertexAttribI2ivEXT_remap_index 408 +#define VertexAttribI2uiEXT_remap_index 409 +#define VertexAttribI2uivEXT_remap_index 410 +#define VertexAttribI3iEXT_remap_index 411 +#define VertexAttribI3ivEXT_remap_index 412 +#define VertexAttribI3uiEXT_remap_index 413 +#define VertexAttribI3uivEXT_remap_index 414 +#define VertexAttribI4bvEXT_remap_index 415 +#define VertexAttribI4iEXT_remap_index 416 +#define VertexAttribI4ivEXT_remap_index 417 +#define VertexAttribI4svEXT_remap_index 418 +#define VertexAttribI4ubvEXT_remap_index 419 +#define VertexAttribI4uiEXT_remap_index 420 +#define VertexAttribI4uivEXT_remap_index 421 +#define VertexAttribI4usvEXT_remap_index 422 +#define VertexAttribIPointerEXT_remap_index 423 +#define FramebufferTextureLayerEXT_remap_index 424 +#define ColorMaskIndexedEXT_remap_index 425 +#define DisableIndexedEXT_remap_index 426 +#define EnableIndexedEXT_remap_index 427 +#define GetBooleanIndexedvEXT_remap_index 428 +#define GetIntegerIndexedvEXT_remap_index 429 +#define IsEnabledIndexedEXT_remap_index 430 +#define ClearColorIiEXT_remap_index 431 +#define ClearColorIuiEXT_remap_index 432 +#define GetTexParameterIivEXT_remap_index 433 +#define GetTexParameterIuivEXT_remap_index 434 +#define TexParameterIivEXT_remap_index 435 +#define TexParameterIuivEXT_remap_index 436 +#define BeginConditionalRenderNV_remap_index 437 +#define EndConditionalRenderNV_remap_index 438 +#define BeginTransformFeedbackEXT_remap_index 439 +#define BindBufferBaseEXT_remap_index 440 +#define BindBufferOffsetEXT_remap_index 441 +#define BindBufferRangeEXT_remap_index 442 +#define EndTransformFeedbackEXT_remap_index 443 +#define GetTransformFeedbackVaryingEXT_remap_index 444 +#define TransformFeedbackVaryingsEXT_remap_index 445 +#define ProvokingVertexEXT_remap_index 446 +#define GetTexParameterPointervAPPLE_remap_index 447 +#define TextureRangeAPPLE_remap_index 448 +#define GetObjectParameterivAPPLE_remap_index 449 +#define ObjectPurgeableAPPLE_remap_index 450 +#define ObjectUnpurgeableAPPLE_remap_index 451 +#define ActiveProgramEXT_remap_index 452 +#define CreateShaderProgramEXT_remap_index 453 +#define UseShaderProgramEXT_remap_index 454 +#define StencilFuncSeparateATI_remap_index 455 +#define ProgramEnvParameters4fvEXT_remap_index 456 +#define ProgramLocalParameters4fvEXT_remap_index 457 +#define GetQueryObjecti64vEXT_remap_index 458 +#define GetQueryObjectui64vEXT_remap_index 459 +#define EGLImageTargetRenderbufferStorageOES_remap_index 460 +#define EGLImageTargetTexture2DOES_remap_index 461 + +#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_DrawArraysInstanced driDispatchRemapTable[DrawArraysInstanced_remap_index] +#define _gloffset_DrawElementsInstanced driDispatchRemapTable[DrawElementsInstanced_remap_index] +#define _gloffset_LoadTransposeMatrixdARB driDispatchRemapTable[LoadTransposeMatrixdARB_remap_index] +#define _gloffset_LoadTransposeMatrixfARB driDispatchRemapTable[LoadTransposeMatrixfARB_remap_index] +#define _gloffset_MultTransposeMatrixdARB driDispatchRemapTable[MultTransposeMatrixdARB_remap_index] +#define _gloffset_MultTransposeMatrixfARB driDispatchRemapTable[MultTransposeMatrixfARB_remap_index] +#define _gloffset_SampleCoverageARB driDispatchRemapTable[SampleCoverageARB_remap_index] +#define _gloffset_CompressedTexImage1DARB driDispatchRemapTable[CompressedTexImage1DARB_remap_index] +#define _gloffset_CompressedTexImage2DARB driDispatchRemapTable[CompressedTexImage2DARB_remap_index] +#define _gloffset_CompressedTexImage3DARB driDispatchRemapTable[CompressedTexImage3DARB_remap_index] +#define _gloffset_CompressedTexSubImage1DARB driDispatchRemapTable[CompressedTexSubImage1DARB_remap_index] +#define _gloffset_CompressedTexSubImage2DARB driDispatchRemapTable[CompressedTexSubImage2DARB_remap_index] +#define _gloffset_CompressedTexSubImage3DARB driDispatchRemapTable[CompressedTexSubImage3DARB_remap_index] +#define _gloffset_GetCompressedTexImageARB driDispatchRemapTable[GetCompressedTexImageARB_remap_index] +#define _gloffset_DisableVertexAttribArrayARB driDispatchRemapTable[DisableVertexAttribArrayARB_remap_index] +#define _gloffset_EnableVertexAttribArrayARB driDispatchRemapTable[EnableVertexAttribArrayARB_remap_index] +#define _gloffset_GetProgramEnvParameterdvARB driDispatchRemapTable[GetProgramEnvParameterdvARB_remap_index] +#define _gloffset_GetProgramEnvParameterfvARB driDispatchRemapTable[GetProgramEnvParameterfvARB_remap_index] +#define _gloffset_GetProgramLocalParameterdvARB driDispatchRemapTable[GetProgramLocalParameterdvARB_remap_index] +#define _gloffset_GetProgramLocalParameterfvARB driDispatchRemapTable[GetProgramLocalParameterfvARB_remap_index] +#define _gloffset_GetProgramStringARB driDispatchRemapTable[GetProgramStringARB_remap_index] +#define _gloffset_GetProgramivARB driDispatchRemapTable[GetProgramivARB_remap_index] +#define _gloffset_GetVertexAttribdvARB driDispatchRemapTable[GetVertexAttribdvARB_remap_index] +#define _gloffset_GetVertexAttribfvARB driDispatchRemapTable[GetVertexAttribfvARB_remap_index] +#define _gloffset_GetVertexAttribivARB driDispatchRemapTable[GetVertexAttribivARB_remap_index] +#define _gloffset_ProgramEnvParameter4dARB driDispatchRemapTable[ProgramEnvParameter4dARB_remap_index] +#define _gloffset_ProgramEnvParameter4dvARB driDispatchRemapTable[ProgramEnvParameter4dvARB_remap_index] +#define _gloffset_ProgramEnvParameter4fARB driDispatchRemapTable[ProgramEnvParameter4fARB_remap_index] +#define _gloffset_ProgramEnvParameter4fvARB driDispatchRemapTable[ProgramEnvParameter4fvARB_remap_index] +#define _gloffset_ProgramLocalParameter4dARB driDispatchRemapTable[ProgramLocalParameter4dARB_remap_index] +#define _gloffset_ProgramLocalParameter4dvARB driDispatchRemapTable[ProgramLocalParameter4dvARB_remap_index] +#define _gloffset_ProgramLocalParameter4fARB driDispatchRemapTable[ProgramLocalParameter4fARB_remap_index] +#define _gloffset_ProgramLocalParameter4fvARB driDispatchRemapTable[ProgramLocalParameter4fvARB_remap_index] +#define _gloffset_ProgramStringARB driDispatchRemapTable[ProgramStringARB_remap_index] +#define _gloffset_VertexAttrib1dARB driDispatchRemapTable[VertexAttrib1dARB_remap_index] +#define _gloffset_VertexAttrib1dvARB driDispatchRemapTable[VertexAttrib1dvARB_remap_index] +#define _gloffset_VertexAttrib1fARB driDispatchRemapTable[VertexAttrib1fARB_remap_index] +#define _gloffset_VertexAttrib1fvARB driDispatchRemapTable[VertexAttrib1fvARB_remap_index] +#define _gloffset_VertexAttrib1sARB driDispatchRemapTable[VertexAttrib1sARB_remap_index] +#define _gloffset_VertexAttrib1svARB driDispatchRemapTable[VertexAttrib1svARB_remap_index] +#define _gloffset_VertexAttrib2dARB driDispatchRemapTable[VertexAttrib2dARB_remap_index] +#define _gloffset_VertexAttrib2dvARB driDispatchRemapTable[VertexAttrib2dvARB_remap_index] +#define _gloffset_VertexAttrib2fARB driDispatchRemapTable[VertexAttrib2fARB_remap_index] +#define _gloffset_VertexAttrib2fvARB driDispatchRemapTable[VertexAttrib2fvARB_remap_index] +#define _gloffset_VertexAttrib2sARB driDispatchRemapTable[VertexAttrib2sARB_remap_index] +#define _gloffset_VertexAttrib2svARB driDispatchRemapTable[VertexAttrib2svARB_remap_index] +#define _gloffset_VertexAttrib3dARB driDispatchRemapTable[VertexAttrib3dARB_remap_index] +#define _gloffset_VertexAttrib3dvARB driDispatchRemapTable[VertexAttrib3dvARB_remap_index] +#define _gloffset_VertexAttrib3fARB driDispatchRemapTable[VertexAttrib3fARB_remap_index] +#define _gloffset_VertexAttrib3fvARB driDispatchRemapTable[VertexAttrib3fvARB_remap_index] +#define _gloffset_VertexAttrib3sARB driDispatchRemapTable[VertexAttrib3sARB_remap_index] +#define _gloffset_VertexAttrib3svARB driDispatchRemapTable[VertexAttrib3svARB_remap_index] +#define _gloffset_VertexAttrib4NbvARB driDispatchRemapTable[VertexAttrib4NbvARB_remap_index] +#define _gloffset_VertexAttrib4NivARB driDispatchRemapTable[VertexAttrib4NivARB_remap_index] +#define _gloffset_VertexAttrib4NsvARB driDispatchRemapTable[VertexAttrib4NsvARB_remap_index] +#define _gloffset_VertexAttrib4NubARB driDispatchRemapTable[VertexAttrib4NubARB_remap_index] +#define _gloffset_VertexAttrib4NubvARB driDispatchRemapTable[VertexAttrib4NubvARB_remap_index] +#define _gloffset_VertexAttrib4NuivARB driDispatchRemapTable[VertexAttrib4NuivARB_remap_index] +#define _gloffset_VertexAttrib4NusvARB driDispatchRemapTable[VertexAttrib4NusvARB_remap_index] +#define _gloffset_VertexAttrib4bvARB driDispatchRemapTable[VertexAttrib4bvARB_remap_index] +#define _gloffset_VertexAttrib4dARB driDispatchRemapTable[VertexAttrib4dARB_remap_index] +#define _gloffset_VertexAttrib4dvARB driDispatchRemapTable[VertexAttrib4dvARB_remap_index] +#define _gloffset_VertexAttrib4fARB driDispatchRemapTable[VertexAttrib4fARB_remap_index] +#define _gloffset_VertexAttrib4fvARB driDispatchRemapTable[VertexAttrib4fvARB_remap_index] +#define _gloffset_VertexAttrib4ivARB driDispatchRemapTable[VertexAttrib4ivARB_remap_index] +#define _gloffset_VertexAttrib4sARB driDispatchRemapTable[VertexAttrib4sARB_remap_index] +#define _gloffset_VertexAttrib4svARB driDispatchRemapTable[VertexAttrib4svARB_remap_index] +#define _gloffset_VertexAttrib4ubvARB driDispatchRemapTable[VertexAttrib4ubvARB_remap_index] +#define _gloffset_VertexAttrib4uivARB driDispatchRemapTable[VertexAttrib4uivARB_remap_index] +#define _gloffset_VertexAttrib4usvARB driDispatchRemapTable[VertexAttrib4usvARB_remap_index] +#define _gloffset_VertexAttribPointerARB driDispatchRemapTable[VertexAttribPointerARB_remap_index] +#define _gloffset_BindBufferARB driDispatchRemapTable[BindBufferARB_remap_index] +#define _gloffset_BufferDataARB driDispatchRemapTable[BufferDataARB_remap_index] +#define _gloffset_BufferSubDataARB driDispatchRemapTable[BufferSubDataARB_remap_index] +#define _gloffset_DeleteBuffersARB driDispatchRemapTable[DeleteBuffersARB_remap_index] +#define _gloffset_GenBuffersARB driDispatchRemapTable[GenBuffersARB_remap_index] +#define _gloffset_GetBufferParameterivARB driDispatchRemapTable[GetBufferParameterivARB_remap_index] +#define _gloffset_GetBufferPointervARB driDispatchRemapTable[GetBufferPointervARB_remap_index] +#define _gloffset_GetBufferSubDataARB driDispatchRemapTable[GetBufferSubDataARB_remap_index] +#define _gloffset_IsBufferARB driDispatchRemapTable[IsBufferARB_remap_index] +#define _gloffset_MapBufferARB driDispatchRemapTable[MapBufferARB_remap_index] +#define _gloffset_UnmapBufferARB driDispatchRemapTable[UnmapBufferARB_remap_index] +#define _gloffset_BeginQueryARB driDispatchRemapTable[BeginQueryARB_remap_index] +#define _gloffset_DeleteQueriesARB driDispatchRemapTable[DeleteQueriesARB_remap_index] +#define _gloffset_EndQueryARB driDispatchRemapTable[EndQueryARB_remap_index] +#define _gloffset_GenQueriesARB driDispatchRemapTable[GenQueriesARB_remap_index] +#define _gloffset_GetQueryObjectivARB driDispatchRemapTable[GetQueryObjectivARB_remap_index] +#define _gloffset_GetQueryObjectuivARB driDispatchRemapTable[GetQueryObjectuivARB_remap_index] +#define _gloffset_GetQueryivARB driDispatchRemapTable[GetQueryivARB_remap_index] +#define _gloffset_IsQueryARB driDispatchRemapTable[IsQueryARB_remap_index] +#define _gloffset_AttachObjectARB driDispatchRemapTable[AttachObjectARB_remap_index] +#define _gloffset_CompileShaderARB driDispatchRemapTable[CompileShaderARB_remap_index] +#define _gloffset_CreateProgramObjectARB driDispatchRemapTable[CreateProgramObjectARB_remap_index] +#define _gloffset_CreateShaderObjectARB driDispatchRemapTable[CreateShaderObjectARB_remap_index] +#define _gloffset_DeleteObjectARB driDispatchRemapTable[DeleteObjectARB_remap_index] +#define _gloffset_DetachObjectARB driDispatchRemapTable[DetachObjectARB_remap_index] +#define _gloffset_GetActiveUniformARB driDispatchRemapTable[GetActiveUniformARB_remap_index] +#define _gloffset_GetAttachedObjectsARB driDispatchRemapTable[GetAttachedObjectsARB_remap_index] +#define _gloffset_GetHandleARB driDispatchRemapTable[GetHandleARB_remap_index] +#define _gloffset_GetInfoLogARB driDispatchRemapTable[GetInfoLogARB_remap_index] +#define _gloffset_GetObjectParameterfvARB driDispatchRemapTable[GetObjectParameterfvARB_remap_index] +#define _gloffset_GetObjectParameterivARB driDispatchRemapTable[GetObjectParameterivARB_remap_index] +#define _gloffset_GetShaderSourceARB driDispatchRemapTable[GetShaderSourceARB_remap_index] +#define _gloffset_GetUniformLocationARB driDispatchRemapTable[GetUniformLocationARB_remap_index] +#define _gloffset_GetUniformfvARB driDispatchRemapTable[GetUniformfvARB_remap_index] +#define _gloffset_GetUniformivARB driDispatchRemapTable[GetUniformivARB_remap_index] +#define _gloffset_LinkProgramARB driDispatchRemapTable[LinkProgramARB_remap_index] +#define _gloffset_ShaderSourceARB driDispatchRemapTable[ShaderSourceARB_remap_index] +#define _gloffset_Uniform1fARB driDispatchRemapTable[Uniform1fARB_remap_index] +#define _gloffset_Uniform1fvARB driDispatchRemapTable[Uniform1fvARB_remap_index] +#define _gloffset_Uniform1iARB driDispatchRemapTable[Uniform1iARB_remap_index] +#define _gloffset_Uniform1ivARB driDispatchRemapTable[Uniform1ivARB_remap_index] +#define _gloffset_Uniform2fARB driDispatchRemapTable[Uniform2fARB_remap_index] +#define _gloffset_Uniform2fvARB driDispatchRemapTable[Uniform2fvARB_remap_index] +#define _gloffset_Uniform2iARB driDispatchRemapTable[Uniform2iARB_remap_index] +#define _gloffset_Uniform2ivARB driDispatchRemapTable[Uniform2ivARB_remap_index] +#define _gloffset_Uniform3fARB driDispatchRemapTable[Uniform3fARB_remap_index] +#define _gloffset_Uniform3fvARB driDispatchRemapTable[Uniform3fvARB_remap_index] +#define _gloffset_Uniform3iARB driDispatchRemapTable[Uniform3iARB_remap_index] +#define _gloffset_Uniform3ivARB driDispatchRemapTable[Uniform3ivARB_remap_index] +#define _gloffset_Uniform4fARB driDispatchRemapTable[Uniform4fARB_remap_index] +#define _gloffset_Uniform4fvARB driDispatchRemapTable[Uniform4fvARB_remap_index] +#define _gloffset_Uniform4iARB driDispatchRemapTable[Uniform4iARB_remap_index] +#define _gloffset_Uniform4ivARB driDispatchRemapTable[Uniform4ivARB_remap_index] +#define _gloffset_UniformMatrix2fvARB driDispatchRemapTable[UniformMatrix2fvARB_remap_index] +#define _gloffset_UniformMatrix3fvARB driDispatchRemapTable[UniformMatrix3fvARB_remap_index] +#define _gloffset_UniformMatrix4fvARB driDispatchRemapTable[UniformMatrix4fvARB_remap_index] +#define _gloffset_UseProgramObjectARB driDispatchRemapTable[UseProgramObjectARB_remap_index] +#define _gloffset_ValidateProgramARB driDispatchRemapTable[ValidateProgramARB_remap_index] +#define _gloffset_BindAttribLocationARB driDispatchRemapTable[BindAttribLocationARB_remap_index] +#define _gloffset_GetActiveAttribARB driDispatchRemapTable[GetActiveAttribARB_remap_index] +#define _gloffset_GetAttribLocationARB driDispatchRemapTable[GetAttribLocationARB_remap_index] +#define _gloffset_DrawBuffersARB driDispatchRemapTable[DrawBuffersARB_remap_index] +#define _gloffset_RenderbufferStorageMultisample driDispatchRemapTable[RenderbufferStorageMultisample_remap_index] +#define _gloffset_FramebufferTextureARB driDispatchRemapTable[FramebufferTextureARB_remap_index] +#define _gloffset_FramebufferTextureFaceARB driDispatchRemapTable[FramebufferTextureFaceARB_remap_index] +#define _gloffset_ProgramParameteriARB driDispatchRemapTable[ProgramParameteriARB_remap_index] +#define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index] +#define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index] +#define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index] +#define _gloffset_GenVertexArrays driDispatchRemapTable[GenVertexArrays_remap_index] +#define _gloffset_CopyBufferSubData driDispatchRemapTable[CopyBufferSubData_remap_index] +#define _gloffset_ClientWaitSync driDispatchRemapTable[ClientWaitSync_remap_index] +#define _gloffset_DeleteSync driDispatchRemapTable[DeleteSync_remap_index] +#define _gloffset_FenceSync driDispatchRemapTable[FenceSync_remap_index] +#define _gloffset_GetInteger64v driDispatchRemapTable[GetInteger64v_remap_index] +#define _gloffset_GetSynciv driDispatchRemapTable[GetSynciv_remap_index] +#define _gloffset_IsSync driDispatchRemapTable[IsSync_remap_index] +#define _gloffset_WaitSync driDispatchRemapTable[WaitSync_remap_index] +#define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index] +#define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index] +#define _gloffset_MultiDrawElementsBaseVertex driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index] +#define _gloffset_BindTransformFeedback driDispatchRemapTable[BindTransformFeedback_remap_index] +#define _gloffset_DeleteTransformFeedbacks driDispatchRemapTable[DeleteTransformFeedbacks_remap_index] +#define _gloffset_DrawTransformFeedback driDispatchRemapTable[DrawTransformFeedback_remap_index] +#define _gloffset_GenTransformFeedbacks driDispatchRemapTable[GenTransformFeedbacks_remap_index] +#define _gloffset_IsTransformFeedback driDispatchRemapTable[IsTransformFeedback_remap_index] +#define _gloffset_PauseTransformFeedback driDispatchRemapTable[PauseTransformFeedback_remap_index] +#define _gloffset_ResumeTransformFeedback driDispatchRemapTable[ResumeTransformFeedback_remap_index] +#define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_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_SampleMaskSGIS driDispatchRemapTable[SampleMaskSGIS_remap_index] +#define _gloffset_SamplePatternSGIS driDispatchRemapTable[SamplePatternSGIS_remap_index] +#define _gloffset_ColorPointerEXT driDispatchRemapTable[ColorPointerEXT_remap_index] +#define _gloffset_EdgeFlagPointerEXT driDispatchRemapTable[EdgeFlagPointerEXT_remap_index] +#define _gloffset_IndexPointerEXT driDispatchRemapTable[IndexPointerEXT_remap_index] +#define _gloffset_NormalPointerEXT driDispatchRemapTable[NormalPointerEXT_remap_index] +#define _gloffset_TexCoordPointerEXT driDispatchRemapTable[TexCoordPointerEXT_remap_index] +#define _gloffset_VertexPointerEXT driDispatchRemapTable[VertexPointerEXT_remap_index] +#define _gloffset_PointParameterfEXT driDispatchRemapTable[PointParameterfEXT_remap_index] +#define _gloffset_PointParameterfvEXT driDispatchRemapTable[PointParameterfvEXT_remap_index] +#define _gloffset_LockArraysEXT driDispatchRemapTable[LockArraysEXT_remap_index] +#define _gloffset_UnlockArraysEXT driDispatchRemapTable[UnlockArraysEXT_remap_index] +#define _gloffset_SecondaryColor3bEXT driDispatchRemapTable[SecondaryColor3bEXT_remap_index] +#define _gloffset_SecondaryColor3bvEXT driDispatchRemapTable[SecondaryColor3bvEXT_remap_index] +#define _gloffset_SecondaryColor3dEXT driDispatchRemapTable[SecondaryColor3dEXT_remap_index] +#define _gloffset_SecondaryColor3dvEXT driDispatchRemapTable[SecondaryColor3dvEXT_remap_index] +#define _gloffset_SecondaryColor3fEXT driDispatchRemapTable[SecondaryColor3fEXT_remap_index] +#define _gloffset_SecondaryColor3fvEXT driDispatchRemapTable[SecondaryColor3fvEXT_remap_index] +#define _gloffset_SecondaryColor3iEXT driDispatchRemapTable[SecondaryColor3iEXT_remap_index] +#define _gloffset_SecondaryColor3ivEXT driDispatchRemapTable[SecondaryColor3ivEXT_remap_index] +#define _gloffset_SecondaryColor3sEXT driDispatchRemapTable[SecondaryColor3sEXT_remap_index] +#define _gloffset_SecondaryColor3svEXT driDispatchRemapTable[SecondaryColor3svEXT_remap_index] +#define _gloffset_SecondaryColor3ubEXT driDispatchRemapTable[SecondaryColor3ubEXT_remap_index] +#define _gloffset_SecondaryColor3ubvEXT driDispatchRemapTable[SecondaryColor3ubvEXT_remap_index] +#define _gloffset_SecondaryColor3uiEXT driDispatchRemapTable[SecondaryColor3uiEXT_remap_index] +#define _gloffset_SecondaryColor3uivEXT driDispatchRemapTable[SecondaryColor3uivEXT_remap_index] +#define _gloffset_SecondaryColor3usEXT driDispatchRemapTable[SecondaryColor3usEXT_remap_index] +#define _gloffset_SecondaryColor3usvEXT driDispatchRemapTable[SecondaryColor3usvEXT_remap_index] +#define _gloffset_SecondaryColorPointerEXT driDispatchRemapTable[SecondaryColorPointerEXT_remap_index] +#define _gloffset_MultiDrawArraysEXT driDispatchRemapTable[MultiDrawArraysEXT_remap_index] +#define _gloffset_MultiDrawElementsEXT driDispatchRemapTable[MultiDrawElementsEXT_remap_index] +#define _gloffset_FogCoordPointerEXT driDispatchRemapTable[FogCoordPointerEXT_remap_index] +#define _gloffset_FogCoorddEXT driDispatchRemapTable[FogCoorddEXT_remap_index] +#define _gloffset_FogCoorddvEXT driDispatchRemapTable[FogCoorddvEXT_remap_index] +#define _gloffset_FogCoordfEXT driDispatchRemapTable[FogCoordfEXT_remap_index] +#define _gloffset_FogCoordfvEXT driDispatchRemapTable[FogCoordfvEXT_remap_index] +#define _gloffset_PixelTexGenSGIX driDispatchRemapTable[PixelTexGenSGIX_remap_index] +#define _gloffset_BlendFuncSeparateEXT driDispatchRemapTable[BlendFuncSeparateEXT_remap_index] +#define _gloffset_FlushVertexArrayRangeNV driDispatchRemapTable[FlushVertexArrayRangeNV_remap_index] +#define _gloffset_VertexArrayRangeNV driDispatchRemapTable[VertexArrayRangeNV_remap_index] +#define _gloffset_CombinerInputNV driDispatchRemapTable[CombinerInputNV_remap_index] +#define _gloffset_CombinerOutputNV driDispatchRemapTable[CombinerOutputNV_remap_index] +#define _gloffset_CombinerParameterfNV driDispatchRemapTable[CombinerParameterfNV_remap_index] +#define _gloffset_CombinerParameterfvNV driDispatchRemapTable[CombinerParameterfvNV_remap_index] +#define _gloffset_CombinerParameteriNV driDispatchRemapTable[CombinerParameteriNV_remap_index] +#define _gloffset_CombinerParameterivNV driDispatchRemapTable[CombinerParameterivNV_remap_index] +#define _gloffset_FinalCombinerInputNV driDispatchRemapTable[FinalCombinerInputNV_remap_index] +#define _gloffset_GetCombinerInputParameterfvNV driDispatchRemapTable[GetCombinerInputParameterfvNV_remap_index] +#define _gloffset_GetCombinerInputParameterivNV driDispatchRemapTable[GetCombinerInputParameterivNV_remap_index] +#define _gloffset_GetCombinerOutputParameterfvNV driDispatchRemapTable[GetCombinerOutputParameterfvNV_remap_index] +#define _gloffset_GetCombinerOutputParameterivNV driDispatchRemapTable[GetCombinerOutputParameterivNV_remap_index] +#define _gloffset_GetFinalCombinerInputParameterfvNV driDispatchRemapTable[GetFinalCombinerInputParameterfvNV_remap_index] +#define _gloffset_GetFinalCombinerInputParameterivNV driDispatchRemapTable[GetFinalCombinerInputParameterivNV_remap_index] +#define _gloffset_ResizeBuffersMESA driDispatchRemapTable[ResizeBuffersMESA_remap_index] +#define _gloffset_WindowPos2dMESA driDispatchRemapTable[WindowPos2dMESA_remap_index] +#define _gloffset_WindowPos2dvMESA driDispatchRemapTable[WindowPos2dvMESA_remap_index] +#define _gloffset_WindowPos2fMESA driDispatchRemapTable[WindowPos2fMESA_remap_index] +#define _gloffset_WindowPos2fvMESA driDispatchRemapTable[WindowPos2fvMESA_remap_index] +#define _gloffset_WindowPos2iMESA driDispatchRemapTable[WindowPos2iMESA_remap_index] +#define _gloffset_WindowPos2ivMESA driDispatchRemapTable[WindowPos2ivMESA_remap_index] +#define _gloffset_WindowPos2sMESA driDispatchRemapTable[WindowPos2sMESA_remap_index] +#define _gloffset_WindowPos2svMESA driDispatchRemapTable[WindowPos2svMESA_remap_index] +#define _gloffset_WindowPos3dMESA driDispatchRemapTable[WindowPos3dMESA_remap_index] +#define _gloffset_WindowPos3dvMESA driDispatchRemapTable[WindowPos3dvMESA_remap_index] +#define _gloffset_WindowPos3fMESA driDispatchRemapTable[WindowPos3fMESA_remap_index] +#define _gloffset_WindowPos3fvMESA driDispatchRemapTable[WindowPos3fvMESA_remap_index] +#define _gloffset_WindowPos3iMESA driDispatchRemapTable[WindowPos3iMESA_remap_index] +#define _gloffset_WindowPos3ivMESA driDispatchRemapTable[WindowPos3ivMESA_remap_index] +#define _gloffset_WindowPos3sMESA driDispatchRemapTable[WindowPos3sMESA_remap_index] +#define _gloffset_WindowPos3svMESA driDispatchRemapTable[WindowPos3svMESA_remap_index] +#define _gloffset_WindowPos4dMESA driDispatchRemapTable[WindowPos4dMESA_remap_index] +#define _gloffset_WindowPos4dvMESA driDispatchRemapTable[WindowPos4dvMESA_remap_index] +#define _gloffset_WindowPos4fMESA driDispatchRemapTable[WindowPos4fMESA_remap_index] +#define _gloffset_WindowPos4fvMESA driDispatchRemapTable[WindowPos4fvMESA_remap_index] +#define _gloffset_WindowPos4iMESA driDispatchRemapTable[WindowPos4iMESA_remap_index] +#define _gloffset_WindowPos4ivMESA driDispatchRemapTable[WindowPos4ivMESA_remap_index] +#define _gloffset_WindowPos4sMESA driDispatchRemapTable[WindowPos4sMESA_remap_index] +#define _gloffset_WindowPos4svMESA driDispatchRemapTable[WindowPos4svMESA_remap_index] +#define _gloffset_MultiModeDrawArraysIBM driDispatchRemapTable[MultiModeDrawArraysIBM_remap_index] +#define _gloffset_MultiModeDrawElementsIBM driDispatchRemapTable[MultiModeDrawElementsIBM_remap_index] +#define _gloffset_DeleteFencesNV driDispatchRemapTable[DeleteFencesNV_remap_index] +#define _gloffset_FinishFenceNV driDispatchRemapTable[FinishFenceNV_remap_index] +#define _gloffset_GenFencesNV driDispatchRemapTable[GenFencesNV_remap_index] +#define _gloffset_GetFenceivNV driDispatchRemapTable[GetFenceivNV_remap_index] +#define _gloffset_IsFenceNV driDispatchRemapTable[IsFenceNV_remap_index] +#define _gloffset_SetFenceNV driDispatchRemapTable[SetFenceNV_remap_index] +#define _gloffset_TestFenceNV driDispatchRemapTable[TestFenceNV_remap_index] +#define _gloffset_AreProgramsResidentNV driDispatchRemapTable[AreProgramsResidentNV_remap_index] +#define _gloffset_BindProgramNV driDispatchRemapTable[BindProgramNV_remap_index] +#define _gloffset_DeleteProgramsNV driDispatchRemapTable[DeleteProgramsNV_remap_index] +#define _gloffset_ExecuteProgramNV driDispatchRemapTable[ExecuteProgramNV_remap_index] +#define _gloffset_GenProgramsNV driDispatchRemapTable[GenProgramsNV_remap_index] +#define _gloffset_GetProgramParameterdvNV driDispatchRemapTable[GetProgramParameterdvNV_remap_index] +#define _gloffset_GetProgramParameterfvNV driDispatchRemapTable[GetProgramParameterfvNV_remap_index] +#define _gloffset_GetProgramStringNV driDispatchRemapTable[GetProgramStringNV_remap_index] +#define _gloffset_GetProgramivNV driDispatchRemapTable[GetProgramivNV_remap_index] +#define _gloffset_GetTrackMatrixivNV driDispatchRemapTable[GetTrackMatrixivNV_remap_index] +#define _gloffset_GetVertexAttribPointervNV driDispatchRemapTable[GetVertexAttribPointervNV_remap_index] +#define _gloffset_GetVertexAttribdvNV driDispatchRemapTable[GetVertexAttribdvNV_remap_index] +#define _gloffset_GetVertexAttribfvNV driDispatchRemapTable[GetVertexAttribfvNV_remap_index] +#define _gloffset_GetVertexAttribivNV driDispatchRemapTable[GetVertexAttribivNV_remap_index] +#define _gloffset_IsProgramNV driDispatchRemapTable[IsProgramNV_remap_index] +#define _gloffset_LoadProgramNV driDispatchRemapTable[LoadProgramNV_remap_index] +#define _gloffset_ProgramParameters4dvNV driDispatchRemapTable[ProgramParameters4dvNV_remap_index] +#define _gloffset_ProgramParameters4fvNV driDispatchRemapTable[ProgramParameters4fvNV_remap_index] +#define _gloffset_RequestResidentProgramsNV driDispatchRemapTable[RequestResidentProgramsNV_remap_index] +#define _gloffset_TrackMatrixNV driDispatchRemapTable[TrackMatrixNV_remap_index] +#define _gloffset_VertexAttrib1dNV driDispatchRemapTable[VertexAttrib1dNV_remap_index] +#define _gloffset_VertexAttrib1dvNV driDispatchRemapTable[VertexAttrib1dvNV_remap_index] +#define _gloffset_VertexAttrib1fNV driDispatchRemapTable[VertexAttrib1fNV_remap_index] +#define _gloffset_VertexAttrib1fvNV driDispatchRemapTable[VertexAttrib1fvNV_remap_index] +#define _gloffset_VertexAttrib1sNV driDispatchRemapTable[VertexAttrib1sNV_remap_index] +#define _gloffset_VertexAttrib1svNV driDispatchRemapTable[VertexAttrib1svNV_remap_index] +#define _gloffset_VertexAttrib2dNV driDispatchRemapTable[VertexAttrib2dNV_remap_index] +#define _gloffset_VertexAttrib2dvNV driDispatchRemapTable[VertexAttrib2dvNV_remap_index] +#define _gloffset_VertexAttrib2fNV driDispatchRemapTable[VertexAttrib2fNV_remap_index] +#define _gloffset_VertexAttrib2fvNV driDispatchRemapTable[VertexAttrib2fvNV_remap_index] +#define _gloffset_VertexAttrib2sNV driDispatchRemapTable[VertexAttrib2sNV_remap_index] +#define _gloffset_VertexAttrib2svNV driDispatchRemapTable[VertexAttrib2svNV_remap_index] +#define _gloffset_VertexAttrib3dNV driDispatchRemapTable[VertexAttrib3dNV_remap_index] +#define _gloffset_VertexAttrib3dvNV driDispatchRemapTable[VertexAttrib3dvNV_remap_index] +#define _gloffset_VertexAttrib3fNV driDispatchRemapTable[VertexAttrib3fNV_remap_index] +#define _gloffset_VertexAttrib3fvNV driDispatchRemapTable[VertexAttrib3fvNV_remap_index] +#define _gloffset_VertexAttrib3sNV driDispatchRemapTable[VertexAttrib3sNV_remap_index] +#define _gloffset_VertexAttrib3svNV driDispatchRemapTable[VertexAttrib3svNV_remap_index] +#define _gloffset_VertexAttrib4dNV driDispatchRemapTable[VertexAttrib4dNV_remap_index] +#define _gloffset_VertexAttrib4dvNV driDispatchRemapTable[VertexAttrib4dvNV_remap_index] +#define _gloffset_VertexAttrib4fNV driDispatchRemapTable[VertexAttrib4fNV_remap_index] +#define _gloffset_VertexAttrib4fvNV driDispatchRemapTable[VertexAttrib4fvNV_remap_index] +#define _gloffset_VertexAttrib4sNV driDispatchRemapTable[VertexAttrib4sNV_remap_index] +#define _gloffset_VertexAttrib4svNV driDispatchRemapTable[VertexAttrib4svNV_remap_index] +#define _gloffset_VertexAttrib4ubNV driDispatchRemapTable[VertexAttrib4ubNV_remap_index] +#define _gloffset_VertexAttrib4ubvNV driDispatchRemapTable[VertexAttrib4ubvNV_remap_index] +#define _gloffset_VertexAttribPointerNV driDispatchRemapTable[VertexAttribPointerNV_remap_index] +#define _gloffset_VertexAttribs1dvNV driDispatchRemapTable[VertexAttribs1dvNV_remap_index] +#define _gloffset_VertexAttribs1fvNV driDispatchRemapTable[VertexAttribs1fvNV_remap_index] +#define _gloffset_VertexAttribs1svNV driDispatchRemapTable[VertexAttribs1svNV_remap_index] +#define _gloffset_VertexAttribs2dvNV driDispatchRemapTable[VertexAttribs2dvNV_remap_index] +#define _gloffset_VertexAttribs2fvNV driDispatchRemapTable[VertexAttribs2fvNV_remap_index] +#define _gloffset_VertexAttribs2svNV driDispatchRemapTable[VertexAttribs2svNV_remap_index] +#define _gloffset_VertexAttribs3dvNV driDispatchRemapTable[VertexAttribs3dvNV_remap_index] +#define _gloffset_VertexAttribs3fvNV driDispatchRemapTable[VertexAttribs3fvNV_remap_index] +#define _gloffset_VertexAttribs3svNV driDispatchRemapTable[VertexAttribs3svNV_remap_index] +#define _gloffset_VertexAttribs4dvNV driDispatchRemapTable[VertexAttribs4dvNV_remap_index] +#define _gloffset_VertexAttribs4fvNV driDispatchRemapTable[VertexAttribs4fvNV_remap_index] +#define _gloffset_VertexAttribs4svNV driDispatchRemapTable[VertexAttribs4svNV_remap_index] +#define _gloffset_VertexAttribs4ubvNV driDispatchRemapTable[VertexAttribs4ubvNV_remap_index] +#define _gloffset_GetTexBumpParameterfvATI driDispatchRemapTable[GetTexBumpParameterfvATI_remap_index] +#define _gloffset_GetTexBumpParameterivATI driDispatchRemapTable[GetTexBumpParameterivATI_remap_index] +#define _gloffset_TexBumpParameterfvATI driDispatchRemapTable[TexBumpParameterfvATI_remap_index] +#define _gloffset_TexBumpParameterivATI driDispatchRemapTable[TexBumpParameterivATI_remap_index] +#define _gloffset_AlphaFragmentOp1ATI driDispatchRemapTable[AlphaFragmentOp1ATI_remap_index] +#define _gloffset_AlphaFragmentOp2ATI driDispatchRemapTable[AlphaFragmentOp2ATI_remap_index] +#define _gloffset_AlphaFragmentOp3ATI driDispatchRemapTable[AlphaFragmentOp3ATI_remap_index] +#define _gloffset_BeginFragmentShaderATI driDispatchRemapTable[BeginFragmentShaderATI_remap_index] +#define _gloffset_BindFragmentShaderATI driDispatchRemapTable[BindFragmentShaderATI_remap_index] +#define _gloffset_ColorFragmentOp1ATI driDispatchRemapTable[ColorFragmentOp1ATI_remap_index] +#define _gloffset_ColorFragmentOp2ATI driDispatchRemapTable[ColorFragmentOp2ATI_remap_index] +#define _gloffset_ColorFragmentOp3ATI driDispatchRemapTable[ColorFragmentOp3ATI_remap_index] +#define _gloffset_DeleteFragmentShaderATI driDispatchRemapTable[DeleteFragmentShaderATI_remap_index] +#define _gloffset_EndFragmentShaderATI driDispatchRemapTable[EndFragmentShaderATI_remap_index] +#define _gloffset_GenFragmentShadersATI driDispatchRemapTable[GenFragmentShadersATI_remap_index] +#define _gloffset_PassTexCoordATI driDispatchRemapTable[PassTexCoordATI_remap_index] +#define _gloffset_SampleMapATI driDispatchRemapTable[SampleMapATI_remap_index] +#define _gloffset_SetFragmentShaderConstantATI driDispatchRemapTable[SetFragmentShaderConstantATI_remap_index] +#define _gloffset_PointParameteriNV driDispatchRemapTable[PointParameteriNV_remap_index] +#define _gloffset_PointParameterivNV driDispatchRemapTable[PointParameterivNV_remap_index] +#define _gloffset_ActiveStencilFaceEXT driDispatchRemapTable[ActiveStencilFaceEXT_remap_index] +#define _gloffset_BindVertexArrayAPPLE driDispatchRemapTable[BindVertexArrayAPPLE_remap_index] +#define _gloffset_DeleteVertexArraysAPPLE driDispatchRemapTable[DeleteVertexArraysAPPLE_remap_index] +#define _gloffset_GenVertexArraysAPPLE driDispatchRemapTable[GenVertexArraysAPPLE_remap_index] +#define _gloffset_IsVertexArrayAPPLE driDispatchRemapTable[IsVertexArrayAPPLE_remap_index] +#define _gloffset_GetProgramNamedParameterdvNV driDispatchRemapTable[GetProgramNamedParameterdvNV_remap_index] +#define _gloffset_GetProgramNamedParameterfvNV driDispatchRemapTable[GetProgramNamedParameterfvNV_remap_index] +#define _gloffset_ProgramNamedParameter4dNV driDispatchRemapTable[ProgramNamedParameter4dNV_remap_index] +#define _gloffset_ProgramNamedParameter4dvNV driDispatchRemapTable[ProgramNamedParameter4dvNV_remap_index] +#define _gloffset_ProgramNamedParameter4fNV driDispatchRemapTable[ProgramNamedParameter4fNV_remap_index] +#define _gloffset_ProgramNamedParameter4fvNV driDispatchRemapTable[ProgramNamedParameter4fvNV_remap_index] +#define _gloffset_PrimitiveRestartIndexNV driDispatchRemapTable[PrimitiveRestartIndexNV_remap_index] +#define _gloffset_PrimitiveRestartNV driDispatchRemapTable[PrimitiveRestartNV_remap_index] +#define _gloffset_DepthBoundsEXT driDispatchRemapTable[DepthBoundsEXT_remap_index] +#define _gloffset_BlendEquationSeparateEXT driDispatchRemapTable[BlendEquationSeparateEXT_remap_index] +#define _gloffset_BindFramebufferEXT driDispatchRemapTable[BindFramebufferEXT_remap_index] +#define _gloffset_BindRenderbufferEXT driDispatchRemapTable[BindRenderbufferEXT_remap_index] +#define _gloffset_CheckFramebufferStatusEXT driDispatchRemapTable[CheckFramebufferStatusEXT_remap_index] +#define _gloffset_DeleteFramebuffersEXT driDispatchRemapTable[DeleteFramebuffersEXT_remap_index] +#define _gloffset_DeleteRenderbuffersEXT driDispatchRemapTable[DeleteRenderbuffersEXT_remap_index] +#define _gloffset_FramebufferRenderbufferEXT driDispatchRemapTable[FramebufferRenderbufferEXT_remap_index] +#define _gloffset_FramebufferTexture1DEXT driDispatchRemapTable[FramebufferTexture1DEXT_remap_index] +#define _gloffset_FramebufferTexture2DEXT driDispatchRemapTable[FramebufferTexture2DEXT_remap_index] +#define _gloffset_FramebufferTexture3DEXT driDispatchRemapTable[FramebufferTexture3DEXT_remap_index] +#define _gloffset_GenFramebuffersEXT driDispatchRemapTable[GenFramebuffersEXT_remap_index] +#define _gloffset_GenRenderbuffersEXT driDispatchRemapTable[GenRenderbuffersEXT_remap_index] +#define _gloffset_GenerateMipmapEXT driDispatchRemapTable[GenerateMipmapEXT_remap_index] +#define _gloffset_GetFramebufferAttachmentParameterivEXT driDispatchRemapTable[GetFramebufferAttachmentParameterivEXT_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_BufferParameteriAPPLE driDispatchRemapTable[BufferParameteriAPPLE_remap_index] +#define _gloffset_FlushMappedBufferRangeAPPLE driDispatchRemapTable[FlushMappedBufferRangeAPPLE_remap_index] +#define _gloffset_BindFragDataLocationEXT driDispatchRemapTable[BindFragDataLocationEXT_remap_index] +#define _gloffset_GetFragDataLocationEXT driDispatchRemapTable[GetFragDataLocationEXT_remap_index] +#define _gloffset_GetUniformuivEXT driDispatchRemapTable[GetUniformuivEXT_remap_index] +#define _gloffset_GetVertexAttribIivEXT driDispatchRemapTable[GetVertexAttribIivEXT_remap_index] +#define _gloffset_GetVertexAttribIuivEXT driDispatchRemapTable[GetVertexAttribIuivEXT_remap_index] +#define _gloffset_Uniform1uiEXT driDispatchRemapTable[Uniform1uiEXT_remap_index] +#define _gloffset_Uniform1uivEXT driDispatchRemapTable[Uniform1uivEXT_remap_index] +#define _gloffset_Uniform2uiEXT driDispatchRemapTable[Uniform2uiEXT_remap_index] +#define _gloffset_Uniform2uivEXT driDispatchRemapTable[Uniform2uivEXT_remap_index] +#define _gloffset_Uniform3uiEXT driDispatchRemapTable[Uniform3uiEXT_remap_index] +#define _gloffset_Uniform3uivEXT driDispatchRemapTable[Uniform3uivEXT_remap_index] +#define _gloffset_Uniform4uiEXT driDispatchRemapTable[Uniform4uiEXT_remap_index] +#define _gloffset_Uniform4uivEXT driDispatchRemapTable[Uniform4uivEXT_remap_index] +#define _gloffset_VertexAttribI1iEXT driDispatchRemapTable[VertexAttribI1iEXT_remap_index] +#define _gloffset_VertexAttribI1ivEXT driDispatchRemapTable[VertexAttribI1ivEXT_remap_index] +#define _gloffset_VertexAttribI1uiEXT driDispatchRemapTable[VertexAttribI1uiEXT_remap_index] +#define _gloffset_VertexAttribI1uivEXT driDispatchRemapTable[VertexAttribI1uivEXT_remap_index] +#define _gloffset_VertexAttribI2iEXT driDispatchRemapTable[VertexAttribI2iEXT_remap_index] +#define _gloffset_VertexAttribI2ivEXT driDispatchRemapTable[VertexAttribI2ivEXT_remap_index] +#define _gloffset_VertexAttribI2uiEXT driDispatchRemapTable[VertexAttribI2uiEXT_remap_index] +#define _gloffset_VertexAttribI2uivEXT driDispatchRemapTable[VertexAttribI2uivEXT_remap_index] +#define _gloffset_VertexAttribI3iEXT driDispatchRemapTable[VertexAttribI3iEXT_remap_index] +#define _gloffset_VertexAttribI3ivEXT driDispatchRemapTable[VertexAttribI3ivEXT_remap_index] +#define _gloffset_VertexAttribI3uiEXT driDispatchRemapTable[VertexAttribI3uiEXT_remap_index] +#define _gloffset_VertexAttribI3uivEXT driDispatchRemapTable[VertexAttribI3uivEXT_remap_index] +#define _gloffset_VertexAttribI4bvEXT driDispatchRemapTable[VertexAttribI4bvEXT_remap_index] +#define _gloffset_VertexAttribI4iEXT driDispatchRemapTable[VertexAttribI4iEXT_remap_index] +#define _gloffset_VertexAttribI4ivEXT driDispatchRemapTable[VertexAttribI4ivEXT_remap_index] +#define _gloffset_VertexAttribI4svEXT driDispatchRemapTable[VertexAttribI4svEXT_remap_index] +#define _gloffset_VertexAttribI4ubvEXT driDispatchRemapTable[VertexAttribI4ubvEXT_remap_index] +#define _gloffset_VertexAttribI4uiEXT driDispatchRemapTable[VertexAttribI4uiEXT_remap_index] +#define _gloffset_VertexAttribI4uivEXT driDispatchRemapTable[VertexAttribI4uivEXT_remap_index] +#define _gloffset_VertexAttribI4usvEXT driDispatchRemapTable[VertexAttribI4usvEXT_remap_index] +#define _gloffset_VertexAttribIPointerEXT driDispatchRemapTable[VertexAttribIPointerEXT_remap_index] +#define _gloffset_FramebufferTextureLayerEXT driDispatchRemapTable[FramebufferTextureLayerEXT_remap_index] +#define _gloffset_ColorMaskIndexedEXT driDispatchRemapTable[ColorMaskIndexedEXT_remap_index] +#define _gloffset_DisableIndexedEXT driDispatchRemapTable[DisableIndexedEXT_remap_index] +#define _gloffset_EnableIndexedEXT driDispatchRemapTable[EnableIndexedEXT_remap_index] +#define _gloffset_GetBooleanIndexedvEXT driDispatchRemapTable[GetBooleanIndexedvEXT_remap_index] +#define _gloffset_GetIntegerIndexedvEXT driDispatchRemapTable[GetIntegerIndexedvEXT_remap_index] +#define _gloffset_IsEnabledIndexedEXT driDispatchRemapTable[IsEnabledIndexedEXT_remap_index] +#define _gloffset_ClearColorIiEXT driDispatchRemapTable[ClearColorIiEXT_remap_index] +#define _gloffset_ClearColorIuiEXT driDispatchRemapTable[ClearColorIuiEXT_remap_index] +#define _gloffset_GetTexParameterIivEXT driDispatchRemapTable[GetTexParameterIivEXT_remap_index] +#define _gloffset_GetTexParameterIuivEXT driDispatchRemapTable[GetTexParameterIuivEXT_remap_index] +#define _gloffset_TexParameterIivEXT driDispatchRemapTable[TexParameterIivEXT_remap_index] +#define _gloffset_TexParameterIuivEXT driDispatchRemapTable[TexParameterIuivEXT_remap_index] +#define _gloffset_BeginConditionalRenderNV driDispatchRemapTable[BeginConditionalRenderNV_remap_index] +#define _gloffset_EndConditionalRenderNV driDispatchRemapTable[EndConditionalRenderNV_remap_index] +#define _gloffset_BeginTransformFeedbackEXT driDispatchRemapTable[BeginTransformFeedbackEXT_remap_index] +#define _gloffset_BindBufferBaseEXT driDispatchRemapTable[BindBufferBaseEXT_remap_index] +#define _gloffset_BindBufferOffsetEXT driDispatchRemapTable[BindBufferOffsetEXT_remap_index] +#define _gloffset_BindBufferRangeEXT driDispatchRemapTable[BindBufferRangeEXT_remap_index] +#define _gloffset_EndTransformFeedbackEXT driDispatchRemapTable[EndTransformFeedbackEXT_remap_index] +#define _gloffset_GetTransformFeedbackVaryingEXT driDispatchRemapTable[GetTransformFeedbackVaryingEXT_remap_index] +#define _gloffset_TransformFeedbackVaryingsEXT driDispatchRemapTable[TransformFeedbackVaryingsEXT_remap_index] +#define _gloffset_ProvokingVertexEXT driDispatchRemapTable[ProvokingVertexEXT_remap_index] +#define _gloffset_GetTexParameterPointervAPPLE driDispatchRemapTable[GetTexParameterPointervAPPLE_remap_index] +#define _gloffset_TextureRangeAPPLE driDispatchRemapTable[TextureRangeAPPLE_remap_index] +#define _gloffset_GetObjectParameterivAPPLE driDispatchRemapTable[GetObjectParameterivAPPLE_remap_index] +#define _gloffset_ObjectPurgeableAPPLE driDispatchRemapTable[ObjectPurgeableAPPLE_remap_index] +#define _gloffset_ObjectUnpurgeableAPPLE driDispatchRemapTable[ObjectUnpurgeableAPPLE_remap_index] +#define _gloffset_ActiveProgramEXT driDispatchRemapTable[ActiveProgramEXT_remap_index] +#define _gloffset_CreateShaderProgramEXT driDispatchRemapTable[CreateShaderProgramEXT_remap_index] +#define _gloffset_UseShaderProgramEXT driDispatchRemapTable[UseShaderProgramEXT_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] +#define _gloffset_EGLImageTargetRenderbufferStorageOES driDispatchRemapTable[EGLImageTargetRenderbufferStorageOES_remap_index] +#define _gloffset_EGLImageTargetTexture2DOES driDispatchRemapTable[EGLImageTargetTexture2DOES_remap_index] + +#endif /* _GLAPI_USE_REMAP_TABLE */ + +#define CALL_NewList(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum)), _gloffset_NewList, parameters) +#define GET_NewList(disp) GET_by_offset(disp, _gloffset_NewList) +#define SET_NewList(disp, fn) SET_by_offset(disp, _gloffset_NewList, fn) +#define CALL_EndList(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_EndList, parameters) +#define GET_EndList(disp) GET_by_offset(disp, _gloffset_EndList) +#define SET_EndList(disp, fn) SET_by_offset(disp, _gloffset_EndList, fn) +#define CALL_CallList(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_CallList, parameters) +#define GET_CallList(disp) GET_by_offset(disp, _gloffset_CallList) +#define SET_CallList(disp, fn) SET_by_offset(disp, _gloffset_CallList, fn) +#define CALL_CallLists(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLenum, const GLvoid *)), _gloffset_CallLists, parameters) +#define GET_CallLists(disp) GET_by_offset(disp, _gloffset_CallLists) +#define SET_CallLists(disp, fn) SET_by_offset(disp, _gloffset_CallLists, fn) +#define CALL_DeleteLists(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei)), _gloffset_DeleteLists, parameters) +#define GET_DeleteLists(disp) GET_by_offset(disp, _gloffset_DeleteLists) +#define SET_DeleteLists(disp, fn) SET_by_offset(disp, _gloffset_DeleteLists, fn) +#define CALL_GenLists(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLsizei)), _gloffset_GenLists, parameters) +#define GET_GenLists(disp) GET_by_offset(disp, _gloffset_GenLists) +#define SET_GenLists(disp, fn) SET_by_offset(disp, _gloffset_GenLists, fn) +#define CALL_ListBase(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_ListBase, parameters) +#define GET_ListBase(disp) GET_by_offset(disp, _gloffset_ListBase) +#define SET_ListBase(disp, fn) SET_by_offset(disp, _gloffset_ListBase, fn) +#define CALL_Begin(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_Begin, parameters) +#define GET_Begin(disp) GET_by_offset(disp, _gloffset_Begin) +#define SET_Begin(disp, fn) SET_by_offset(disp, _gloffset_Begin, fn) +#define CALL_Bitmap(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *)), _gloffset_Bitmap, parameters) +#define GET_Bitmap(disp) GET_by_offset(disp, _gloffset_Bitmap) +#define SET_Bitmap(disp, fn) SET_by_offset(disp, _gloffset_Bitmap, fn) +#define CALL_Color3b(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbyte, GLbyte, GLbyte)), _gloffset_Color3b, parameters) +#define GET_Color3b(disp) GET_by_offset(disp, _gloffset_Color3b) +#define SET_Color3b(disp, fn) SET_by_offset(disp, _gloffset_Color3b, fn) +#define CALL_Color3bv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLbyte *)), _gloffset_Color3bv, parameters) +#define GET_Color3bv(disp) GET_by_offset(disp, _gloffset_Color3bv) +#define SET_Color3bv(disp, fn) SET_by_offset(disp, _gloffset_Color3bv, fn) +#define CALL_Color3d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_Color3d, parameters) +#define GET_Color3d(disp) GET_by_offset(disp, _gloffset_Color3d) +#define SET_Color3d(disp, fn) SET_by_offset(disp, _gloffset_Color3d, fn) +#define CALL_Color3dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_Color3dv, parameters) +#define GET_Color3dv(disp) GET_by_offset(disp, _gloffset_Color3dv) +#define SET_Color3dv(disp, fn) SET_by_offset(disp, _gloffset_Color3dv, fn) +#define CALL_Color3f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_Color3f, parameters) +#define GET_Color3f(disp) GET_by_offset(disp, _gloffset_Color3f) +#define SET_Color3f(disp, fn) SET_by_offset(disp, _gloffset_Color3f, fn) +#define CALL_Color3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_Color3fv, parameters) +#define GET_Color3fv(disp) GET_by_offset(disp, _gloffset_Color3fv) +#define SET_Color3fv(disp, fn) SET_by_offset(disp, _gloffset_Color3fv, fn) +#define CALL_Color3i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_Color3i, parameters) +#define GET_Color3i(disp) GET_by_offset(disp, _gloffset_Color3i) +#define SET_Color3i(disp, fn) SET_by_offset(disp, _gloffset_Color3i, fn) +#define CALL_Color3iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_Color3iv, parameters) +#define GET_Color3iv(disp) GET_by_offset(disp, _gloffset_Color3iv) +#define SET_Color3iv(disp, fn) SET_by_offset(disp, _gloffset_Color3iv, fn) +#define CALL_Color3s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), _gloffset_Color3s, parameters) +#define GET_Color3s(disp) GET_by_offset(disp, _gloffset_Color3s) +#define SET_Color3s(disp, fn) SET_by_offset(disp, _gloffset_Color3s, fn) +#define CALL_Color3sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_Color3sv, parameters) +#define GET_Color3sv(disp) GET_by_offset(disp, _gloffset_Color3sv) +#define SET_Color3sv(disp, fn) SET_by_offset(disp, _gloffset_Color3sv, fn) +#define CALL_Color3ub(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLubyte, GLubyte, GLubyte)), _gloffset_Color3ub, parameters) +#define GET_Color3ub(disp) GET_by_offset(disp, _gloffset_Color3ub) +#define SET_Color3ub(disp, fn) SET_by_offset(disp, _gloffset_Color3ub, fn) +#define CALL_Color3ubv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLubyte *)), _gloffset_Color3ubv, parameters) +#define GET_Color3ubv(disp) GET_by_offset(disp, _gloffset_Color3ubv) +#define SET_Color3ubv(disp, fn) SET_by_offset(disp, _gloffset_Color3ubv, fn) +#define CALL_Color3ui(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint)), _gloffset_Color3ui, parameters) +#define GET_Color3ui(disp) GET_by_offset(disp, _gloffset_Color3ui) +#define SET_Color3ui(disp, fn) SET_by_offset(disp, _gloffset_Color3ui, fn) +#define CALL_Color3uiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLuint *)), _gloffset_Color3uiv, parameters) +#define GET_Color3uiv(disp) GET_by_offset(disp, _gloffset_Color3uiv) +#define SET_Color3uiv(disp, fn) SET_by_offset(disp, _gloffset_Color3uiv, fn) +#define CALL_Color3us(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLushort, GLushort, GLushort)), _gloffset_Color3us, parameters) +#define GET_Color3us(disp) GET_by_offset(disp, _gloffset_Color3us) +#define SET_Color3us(disp, fn) SET_by_offset(disp, _gloffset_Color3us, fn) +#define CALL_Color3usv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLushort *)), _gloffset_Color3usv, parameters) +#define GET_Color3usv(disp) GET_by_offset(disp, _gloffset_Color3usv) +#define SET_Color3usv(disp, fn) SET_by_offset(disp, _gloffset_Color3usv, fn) +#define CALL_Color4b(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbyte, GLbyte, GLbyte, GLbyte)), _gloffset_Color4b, parameters) +#define GET_Color4b(disp) GET_by_offset(disp, _gloffset_Color4b) +#define SET_Color4b(disp, fn) SET_by_offset(disp, _gloffset_Color4b, fn) +#define CALL_Color4bv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLbyte *)), _gloffset_Color4bv, parameters) +#define GET_Color4bv(disp) GET_by_offset(disp, _gloffset_Color4bv) +#define SET_Color4bv(disp, fn) SET_by_offset(disp, _gloffset_Color4bv, fn) +#define CALL_Color4d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_Color4d, parameters) +#define GET_Color4d(disp) GET_by_offset(disp, _gloffset_Color4d) +#define SET_Color4d(disp, fn) SET_by_offset(disp, _gloffset_Color4d, fn) +#define CALL_Color4dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_Color4dv, parameters) +#define GET_Color4dv(disp) GET_by_offset(disp, _gloffset_Color4dv) +#define SET_Color4dv(disp, fn) SET_by_offset(disp, _gloffset_Color4dv, fn) +#define CALL_Color4f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_Color4f, parameters) +#define GET_Color4f(disp) GET_by_offset(disp, _gloffset_Color4f) +#define SET_Color4f(disp, fn) SET_by_offset(disp, _gloffset_Color4f, fn) +#define CALL_Color4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_Color4fv, parameters) +#define GET_Color4fv(disp) GET_by_offset(disp, _gloffset_Color4fv) +#define SET_Color4fv(disp, fn) SET_by_offset(disp, _gloffset_Color4fv, fn) +#define CALL_Color4i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_Color4i, parameters) +#define GET_Color4i(disp) GET_by_offset(disp, _gloffset_Color4i) +#define SET_Color4i(disp, fn) SET_by_offset(disp, _gloffset_Color4i, fn) +#define CALL_Color4iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_Color4iv, parameters) +#define GET_Color4iv(disp) GET_by_offset(disp, _gloffset_Color4iv) +#define SET_Color4iv(disp, fn) SET_by_offset(disp, _gloffset_Color4iv, fn) +#define CALL_Color4s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), _gloffset_Color4s, parameters) +#define GET_Color4s(disp) GET_by_offset(disp, _gloffset_Color4s) +#define SET_Color4s(disp, fn) SET_by_offset(disp, _gloffset_Color4s, fn) +#define CALL_Color4sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_Color4sv, parameters) +#define GET_Color4sv(disp) GET_by_offset(disp, _gloffset_Color4sv) +#define SET_Color4sv(disp, fn) SET_by_offset(disp, _gloffset_Color4sv, fn) +#define CALL_Color4ub(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLubyte, GLubyte, GLubyte, GLubyte)), _gloffset_Color4ub, parameters) +#define GET_Color4ub(disp) GET_by_offset(disp, _gloffset_Color4ub) +#define SET_Color4ub(disp, fn) SET_by_offset(disp, _gloffset_Color4ub, fn) +#define CALL_Color4ubv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLubyte *)), _gloffset_Color4ubv, parameters) +#define GET_Color4ubv(disp) GET_by_offset(disp, _gloffset_Color4ubv) +#define SET_Color4ubv(disp, fn) SET_by_offset(disp, _gloffset_Color4ubv, fn) +#define CALL_Color4ui(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint, GLuint)), _gloffset_Color4ui, parameters) +#define GET_Color4ui(disp) GET_by_offset(disp, _gloffset_Color4ui) +#define SET_Color4ui(disp, fn) SET_by_offset(disp, _gloffset_Color4ui, fn) +#define CALL_Color4uiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLuint *)), _gloffset_Color4uiv, parameters) +#define GET_Color4uiv(disp) GET_by_offset(disp, _gloffset_Color4uiv) +#define SET_Color4uiv(disp, fn) SET_by_offset(disp, _gloffset_Color4uiv, fn) +#define CALL_Color4us(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLushort, GLushort, GLushort, GLushort)), _gloffset_Color4us, parameters) +#define GET_Color4us(disp) GET_by_offset(disp, _gloffset_Color4us) +#define SET_Color4us(disp, fn) SET_by_offset(disp, _gloffset_Color4us, fn) +#define CALL_Color4usv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLushort *)), _gloffset_Color4usv, parameters) +#define GET_Color4usv(disp) GET_by_offset(disp, _gloffset_Color4usv) +#define SET_Color4usv(disp, fn) SET_by_offset(disp, _gloffset_Color4usv, fn) +#define CALL_EdgeFlag(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLboolean)), _gloffset_EdgeFlag, parameters) +#define GET_EdgeFlag(disp) GET_by_offset(disp, _gloffset_EdgeFlag) +#define SET_EdgeFlag(disp, fn) SET_by_offset(disp, _gloffset_EdgeFlag, fn) +#define CALL_EdgeFlagv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLboolean *)), _gloffset_EdgeFlagv, parameters) +#define GET_EdgeFlagv(disp) GET_by_offset(disp, _gloffset_EdgeFlagv) +#define SET_EdgeFlagv(disp, fn) SET_by_offset(disp, _gloffset_EdgeFlagv, fn) +#define CALL_End(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_End, parameters) +#define GET_End(disp) GET_by_offset(disp, _gloffset_End) +#define SET_End(disp, fn) SET_by_offset(disp, _gloffset_End, fn) +#define CALL_Indexd(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble)), _gloffset_Indexd, parameters) +#define GET_Indexd(disp) GET_by_offset(disp, _gloffset_Indexd) +#define SET_Indexd(disp, fn) SET_by_offset(disp, _gloffset_Indexd, fn) +#define CALL_Indexdv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_Indexdv, parameters) +#define GET_Indexdv(disp) GET_by_offset(disp, _gloffset_Indexdv) +#define SET_Indexdv(disp, fn) SET_by_offset(disp, _gloffset_Indexdv, fn) +#define CALL_Indexf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_Indexf, parameters) +#define GET_Indexf(disp) GET_by_offset(disp, _gloffset_Indexf) +#define SET_Indexf(disp, fn) SET_by_offset(disp, _gloffset_Indexf, fn) +#define CALL_Indexfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_Indexfv, parameters) +#define GET_Indexfv(disp) GET_by_offset(disp, _gloffset_Indexfv) +#define SET_Indexfv(disp, fn) SET_by_offset(disp, _gloffset_Indexfv, fn) +#define CALL_Indexi(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint)), _gloffset_Indexi, parameters) +#define GET_Indexi(disp) GET_by_offset(disp, _gloffset_Indexi) +#define SET_Indexi(disp, fn) SET_by_offset(disp, _gloffset_Indexi, fn) +#define CALL_Indexiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_Indexiv, parameters) +#define GET_Indexiv(disp) GET_by_offset(disp, _gloffset_Indexiv) +#define SET_Indexiv(disp, fn) SET_by_offset(disp, _gloffset_Indexiv, fn) +#define CALL_Indexs(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort)), _gloffset_Indexs, parameters) +#define GET_Indexs(disp) GET_by_offset(disp, _gloffset_Indexs) +#define SET_Indexs(disp, fn) SET_by_offset(disp, _gloffset_Indexs, fn) +#define CALL_Indexsv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_Indexsv, parameters) +#define GET_Indexsv(disp) GET_by_offset(disp, _gloffset_Indexsv) +#define SET_Indexsv(disp, fn) SET_by_offset(disp, _gloffset_Indexsv, fn) +#define CALL_Normal3b(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbyte, GLbyte, GLbyte)), _gloffset_Normal3b, parameters) +#define GET_Normal3b(disp) GET_by_offset(disp, _gloffset_Normal3b) +#define SET_Normal3b(disp, fn) SET_by_offset(disp, _gloffset_Normal3b, fn) +#define CALL_Normal3bv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLbyte *)), _gloffset_Normal3bv, parameters) +#define GET_Normal3bv(disp) GET_by_offset(disp, _gloffset_Normal3bv) +#define SET_Normal3bv(disp, fn) SET_by_offset(disp, _gloffset_Normal3bv, fn) +#define CALL_Normal3d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_Normal3d, parameters) +#define GET_Normal3d(disp) GET_by_offset(disp, _gloffset_Normal3d) +#define SET_Normal3d(disp, fn) SET_by_offset(disp, _gloffset_Normal3d, fn) +#define CALL_Normal3dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_Normal3dv, parameters) +#define GET_Normal3dv(disp) GET_by_offset(disp, _gloffset_Normal3dv) +#define SET_Normal3dv(disp, fn) SET_by_offset(disp, _gloffset_Normal3dv, fn) +#define CALL_Normal3f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_Normal3f, parameters) +#define GET_Normal3f(disp) GET_by_offset(disp, _gloffset_Normal3f) +#define SET_Normal3f(disp, fn) SET_by_offset(disp, _gloffset_Normal3f, fn) +#define CALL_Normal3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_Normal3fv, parameters) +#define GET_Normal3fv(disp) GET_by_offset(disp, _gloffset_Normal3fv) +#define SET_Normal3fv(disp, fn) SET_by_offset(disp, _gloffset_Normal3fv, fn) +#define CALL_Normal3i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_Normal3i, parameters) +#define GET_Normal3i(disp) GET_by_offset(disp, _gloffset_Normal3i) +#define SET_Normal3i(disp, fn) SET_by_offset(disp, _gloffset_Normal3i, fn) +#define CALL_Normal3iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_Normal3iv, parameters) +#define GET_Normal3iv(disp) GET_by_offset(disp, _gloffset_Normal3iv) +#define SET_Normal3iv(disp, fn) SET_by_offset(disp, _gloffset_Normal3iv, fn) +#define CALL_Normal3s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), _gloffset_Normal3s, parameters) +#define GET_Normal3s(disp) GET_by_offset(disp, _gloffset_Normal3s) +#define SET_Normal3s(disp, fn) SET_by_offset(disp, _gloffset_Normal3s, fn) +#define CALL_Normal3sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_Normal3sv, parameters) +#define GET_Normal3sv(disp) GET_by_offset(disp, _gloffset_Normal3sv) +#define SET_Normal3sv(disp, fn) SET_by_offset(disp, _gloffset_Normal3sv, fn) +#define CALL_RasterPos2d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble)), _gloffset_RasterPos2d, parameters) +#define GET_RasterPos2d(disp) GET_by_offset(disp, _gloffset_RasterPos2d) +#define SET_RasterPos2d(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2d, fn) +#define CALL_RasterPos2dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_RasterPos2dv, parameters) +#define GET_RasterPos2dv(disp) GET_by_offset(disp, _gloffset_RasterPos2dv) +#define SET_RasterPos2dv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2dv, fn) +#define CALL_RasterPos2f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_RasterPos2f, parameters) +#define GET_RasterPos2f(disp) GET_by_offset(disp, _gloffset_RasterPos2f) +#define SET_RasterPos2f(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2f, fn) +#define CALL_RasterPos2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_RasterPos2fv, parameters) +#define GET_RasterPos2fv(disp) GET_by_offset(disp, _gloffset_RasterPos2fv) +#define SET_RasterPos2fv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2fv, fn) +#define CALL_RasterPos2i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), _gloffset_RasterPos2i, parameters) +#define GET_RasterPos2i(disp) GET_by_offset(disp, _gloffset_RasterPos2i) +#define SET_RasterPos2i(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2i, fn) +#define CALL_RasterPos2iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_RasterPos2iv, parameters) +#define GET_RasterPos2iv(disp) GET_by_offset(disp, _gloffset_RasterPos2iv) +#define SET_RasterPos2iv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2iv, fn) +#define CALL_RasterPos2s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort)), _gloffset_RasterPos2s, parameters) +#define GET_RasterPos2s(disp) GET_by_offset(disp, _gloffset_RasterPos2s) +#define SET_RasterPos2s(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2s, fn) +#define CALL_RasterPos2sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_RasterPos2sv, parameters) +#define GET_RasterPos2sv(disp) GET_by_offset(disp, _gloffset_RasterPos2sv) +#define SET_RasterPos2sv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos2sv, fn) +#define CALL_RasterPos3d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_RasterPos3d, parameters) +#define GET_RasterPos3d(disp) GET_by_offset(disp, _gloffset_RasterPos3d) +#define SET_RasterPos3d(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3d, fn) +#define CALL_RasterPos3dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_RasterPos3dv, parameters) +#define GET_RasterPos3dv(disp) GET_by_offset(disp, _gloffset_RasterPos3dv) +#define SET_RasterPos3dv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3dv, fn) +#define CALL_RasterPos3f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_RasterPos3f, parameters) +#define GET_RasterPos3f(disp) GET_by_offset(disp, _gloffset_RasterPos3f) +#define SET_RasterPos3f(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3f, fn) +#define CALL_RasterPos3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_RasterPos3fv, parameters) +#define GET_RasterPos3fv(disp) GET_by_offset(disp, _gloffset_RasterPos3fv) +#define SET_RasterPos3fv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3fv, fn) +#define CALL_RasterPos3i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_RasterPos3i, parameters) +#define GET_RasterPos3i(disp) GET_by_offset(disp, _gloffset_RasterPos3i) +#define SET_RasterPos3i(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3i, fn) +#define CALL_RasterPos3iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_RasterPos3iv, parameters) +#define GET_RasterPos3iv(disp) GET_by_offset(disp, _gloffset_RasterPos3iv) +#define SET_RasterPos3iv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3iv, fn) +#define CALL_RasterPos3s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), _gloffset_RasterPos3s, parameters) +#define GET_RasterPos3s(disp) GET_by_offset(disp, _gloffset_RasterPos3s) +#define SET_RasterPos3s(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3s, fn) +#define CALL_RasterPos3sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_RasterPos3sv, parameters) +#define GET_RasterPos3sv(disp) GET_by_offset(disp, _gloffset_RasterPos3sv) +#define SET_RasterPos3sv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos3sv, fn) +#define CALL_RasterPos4d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_RasterPos4d, parameters) +#define GET_RasterPos4d(disp) GET_by_offset(disp, _gloffset_RasterPos4d) +#define SET_RasterPos4d(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4d, fn) +#define CALL_RasterPos4dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_RasterPos4dv, parameters) +#define GET_RasterPos4dv(disp) GET_by_offset(disp, _gloffset_RasterPos4dv) +#define SET_RasterPos4dv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4dv, fn) +#define CALL_RasterPos4f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_RasterPos4f, parameters) +#define GET_RasterPos4f(disp) GET_by_offset(disp, _gloffset_RasterPos4f) +#define SET_RasterPos4f(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4f, fn) +#define CALL_RasterPos4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_RasterPos4fv, parameters) +#define GET_RasterPos4fv(disp) GET_by_offset(disp, _gloffset_RasterPos4fv) +#define SET_RasterPos4fv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4fv, fn) +#define CALL_RasterPos4i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_RasterPos4i, parameters) +#define GET_RasterPos4i(disp) GET_by_offset(disp, _gloffset_RasterPos4i) +#define SET_RasterPos4i(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4i, fn) +#define CALL_RasterPos4iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_RasterPos4iv, parameters) +#define GET_RasterPos4iv(disp) GET_by_offset(disp, _gloffset_RasterPos4iv) +#define SET_RasterPos4iv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4iv, fn) +#define CALL_RasterPos4s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), _gloffset_RasterPos4s, parameters) +#define GET_RasterPos4s(disp) GET_by_offset(disp, _gloffset_RasterPos4s) +#define SET_RasterPos4s(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4s, fn) +#define CALL_RasterPos4sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_RasterPos4sv, parameters) +#define GET_RasterPos4sv(disp) GET_by_offset(disp, _gloffset_RasterPos4sv) +#define SET_RasterPos4sv(disp, fn) SET_by_offset(disp, _gloffset_RasterPos4sv, fn) +#define CALL_Rectd(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_Rectd, parameters) +#define GET_Rectd(disp) GET_by_offset(disp, _gloffset_Rectd) +#define SET_Rectd(disp, fn) SET_by_offset(disp, _gloffset_Rectd, fn) +#define CALL_Rectdv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *, const GLdouble *)), _gloffset_Rectdv, parameters) +#define GET_Rectdv(disp) GET_by_offset(disp, _gloffset_Rectdv) +#define SET_Rectdv(disp, fn) SET_by_offset(disp, _gloffset_Rectdv, fn) +#define CALL_Rectf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_Rectf, parameters) +#define GET_Rectf(disp) GET_by_offset(disp, _gloffset_Rectf) +#define SET_Rectf(disp, fn) SET_by_offset(disp, _gloffset_Rectf, fn) +#define CALL_Rectfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *, const GLfloat *)), _gloffset_Rectfv, parameters) +#define GET_Rectfv(disp) GET_by_offset(disp, _gloffset_Rectfv) +#define SET_Rectfv(disp, fn) SET_by_offset(disp, _gloffset_Rectfv, fn) +#define CALL_Recti(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_Recti, parameters) +#define GET_Recti(disp) GET_by_offset(disp, _gloffset_Recti) +#define SET_Recti(disp, fn) SET_by_offset(disp, _gloffset_Recti, fn) +#define CALL_Rectiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *, const GLint *)), _gloffset_Rectiv, parameters) +#define GET_Rectiv(disp) GET_by_offset(disp, _gloffset_Rectiv) +#define SET_Rectiv(disp, fn) SET_by_offset(disp, _gloffset_Rectiv, fn) +#define CALL_Rects(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), _gloffset_Rects, parameters) +#define GET_Rects(disp) GET_by_offset(disp, _gloffset_Rects) +#define SET_Rects(disp, fn) SET_by_offset(disp, _gloffset_Rects, fn) +#define CALL_Rectsv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *, const GLshort *)), _gloffset_Rectsv, parameters) +#define GET_Rectsv(disp) GET_by_offset(disp, _gloffset_Rectsv) +#define SET_Rectsv(disp, fn) SET_by_offset(disp, _gloffset_Rectsv, fn) +#define CALL_TexCoord1d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble)), _gloffset_TexCoord1d, parameters) +#define GET_TexCoord1d(disp) GET_by_offset(disp, _gloffset_TexCoord1d) +#define SET_TexCoord1d(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1d, fn) +#define CALL_TexCoord1dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_TexCoord1dv, parameters) +#define GET_TexCoord1dv(disp) GET_by_offset(disp, _gloffset_TexCoord1dv) +#define SET_TexCoord1dv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1dv, fn) +#define CALL_TexCoord1f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_TexCoord1f, parameters) +#define GET_TexCoord1f(disp) GET_by_offset(disp, _gloffset_TexCoord1f) +#define SET_TexCoord1f(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1f, fn) +#define CALL_TexCoord1fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_TexCoord1fv, parameters) +#define GET_TexCoord1fv(disp) GET_by_offset(disp, _gloffset_TexCoord1fv) +#define SET_TexCoord1fv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1fv, fn) +#define CALL_TexCoord1i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint)), _gloffset_TexCoord1i, parameters) +#define GET_TexCoord1i(disp) GET_by_offset(disp, _gloffset_TexCoord1i) +#define SET_TexCoord1i(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1i, fn) +#define CALL_TexCoord1iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_TexCoord1iv, parameters) +#define GET_TexCoord1iv(disp) GET_by_offset(disp, _gloffset_TexCoord1iv) +#define SET_TexCoord1iv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1iv, fn) +#define CALL_TexCoord1s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort)), _gloffset_TexCoord1s, parameters) +#define GET_TexCoord1s(disp) GET_by_offset(disp, _gloffset_TexCoord1s) +#define SET_TexCoord1s(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1s, fn) +#define CALL_TexCoord1sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_TexCoord1sv, parameters) +#define GET_TexCoord1sv(disp) GET_by_offset(disp, _gloffset_TexCoord1sv) +#define SET_TexCoord1sv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord1sv, fn) +#define CALL_TexCoord2d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble)), _gloffset_TexCoord2d, parameters) +#define GET_TexCoord2d(disp) GET_by_offset(disp, _gloffset_TexCoord2d) +#define SET_TexCoord2d(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2d, fn) +#define CALL_TexCoord2dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_TexCoord2dv, parameters) +#define GET_TexCoord2dv(disp) GET_by_offset(disp, _gloffset_TexCoord2dv) +#define SET_TexCoord2dv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2dv, fn) +#define CALL_TexCoord2f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_TexCoord2f, parameters) +#define GET_TexCoord2f(disp) GET_by_offset(disp, _gloffset_TexCoord2f) +#define SET_TexCoord2f(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2f, fn) +#define CALL_TexCoord2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_TexCoord2fv, parameters) +#define GET_TexCoord2fv(disp) GET_by_offset(disp, _gloffset_TexCoord2fv) +#define SET_TexCoord2fv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2fv, fn) +#define CALL_TexCoord2i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), _gloffset_TexCoord2i, parameters) +#define GET_TexCoord2i(disp) GET_by_offset(disp, _gloffset_TexCoord2i) +#define SET_TexCoord2i(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2i, fn) +#define CALL_TexCoord2iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_TexCoord2iv, parameters) +#define GET_TexCoord2iv(disp) GET_by_offset(disp, _gloffset_TexCoord2iv) +#define SET_TexCoord2iv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2iv, fn) +#define CALL_TexCoord2s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort)), _gloffset_TexCoord2s, parameters) +#define GET_TexCoord2s(disp) GET_by_offset(disp, _gloffset_TexCoord2s) +#define SET_TexCoord2s(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2s, fn) +#define CALL_TexCoord2sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_TexCoord2sv, parameters) +#define GET_TexCoord2sv(disp) GET_by_offset(disp, _gloffset_TexCoord2sv) +#define SET_TexCoord2sv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord2sv, fn) +#define CALL_TexCoord3d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_TexCoord3d, parameters) +#define GET_TexCoord3d(disp) GET_by_offset(disp, _gloffset_TexCoord3d) +#define SET_TexCoord3d(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3d, fn) +#define CALL_TexCoord3dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_TexCoord3dv, parameters) +#define GET_TexCoord3dv(disp) GET_by_offset(disp, _gloffset_TexCoord3dv) +#define SET_TexCoord3dv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3dv, fn) +#define CALL_TexCoord3f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_TexCoord3f, parameters) +#define GET_TexCoord3f(disp) GET_by_offset(disp, _gloffset_TexCoord3f) +#define SET_TexCoord3f(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3f, fn) +#define CALL_TexCoord3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_TexCoord3fv, parameters) +#define GET_TexCoord3fv(disp) GET_by_offset(disp, _gloffset_TexCoord3fv) +#define SET_TexCoord3fv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3fv, fn) +#define CALL_TexCoord3i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_TexCoord3i, parameters) +#define GET_TexCoord3i(disp) GET_by_offset(disp, _gloffset_TexCoord3i) +#define SET_TexCoord3i(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3i, fn) +#define CALL_TexCoord3iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_TexCoord3iv, parameters) +#define GET_TexCoord3iv(disp) GET_by_offset(disp, _gloffset_TexCoord3iv) +#define SET_TexCoord3iv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3iv, fn) +#define CALL_TexCoord3s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), _gloffset_TexCoord3s, parameters) +#define GET_TexCoord3s(disp) GET_by_offset(disp, _gloffset_TexCoord3s) +#define SET_TexCoord3s(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3s, fn) +#define CALL_TexCoord3sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_TexCoord3sv, parameters) +#define GET_TexCoord3sv(disp) GET_by_offset(disp, _gloffset_TexCoord3sv) +#define SET_TexCoord3sv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord3sv, fn) +#define CALL_TexCoord4d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_TexCoord4d, parameters) +#define GET_TexCoord4d(disp) GET_by_offset(disp, _gloffset_TexCoord4d) +#define SET_TexCoord4d(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4d, fn) +#define CALL_TexCoord4dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_TexCoord4dv, parameters) +#define GET_TexCoord4dv(disp) GET_by_offset(disp, _gloffset_TexCoord4dv) +#define SET_TexCoord4dv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4dv, fn) +#define CALL_TexCoord4f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_TexCoord4f, parameters) +#define GET_TexCoord4f(disp) GET_by_offset(disp, _gloffset_TexCoord4f) +#define SET_TexCoord4f(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4f, fn) +#define CALL_TexCoord4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_TexCoord4fv, parameters) +#define GET_TexCoord4fv(disp) GET_by_offset(disp, _gloffset_TexCoord4fv) +#define SET_TexCoord4fv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4fv, fn) +#define CALL_TexCoord4i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_TexCoord4i, parameters) +#define GET_TexCoord4i(disp) GET_by_offset(disp, _gloffset_TexCoord4i) +#define SET_TexCoord4i(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4i, fn) +#define CALL_TexCoord4iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_TexCoord4iv, parameters) +#define GET_TexCoord4iv(disp) GET_by_offset(disp, _gloffset_TexCoord4iv) +#define SET_TexCoord4iv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4iv, fn) +#define CALL_TexCoord4s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), _gloffset_TexCoord4s, parameters) +#define GET_TexCoord4s(disp) GET_by_offset(disp, _gloffset_TexCoord4s) +#define SET_TexCoord4s(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4s, fn) +#define CALL_TexCoord4sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_TexCoord4sv, parameters) +#define GET_TexCoord4sv(disp) GET_by_offset(disp, _gloffset_TexCoord4sv) +#define SET_TexCoord4sv(disp, fn) SET_by_offset(disp, _gloffset_TexCoord4sv, fn) +#define CALL_Vertex2d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble)), _gloffset_Vertex2d, parameters) +#define GET_Vertex2d(disp) GET_by_offset(disp, _gloffset_Vertex2d) +#define SET_Vertex2d(disp, fn) SET_by_offset(disp, _gloffset_Vertex2d, fn) +#define CALL_Vertex2dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_Vertex2dv, parameters) +#define GET_Vertex2dv(disp) GET_by_offset(disp, _gloffset_Vertex2dv) +#define SET_Vertex2dv(disp, fn) SET_by_offset(disp, _gloffset_Vertex2dv, fn) +#define CALL_Vertex2f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_Vertex2f, parameters) +#define GET_Vertex2f(disp) GET_by_offset(disp, _gloffset_Vertex2f) +#define SET_Vertex2f(disp, fn) SET_by_offset(disp, _gloffset_Vertex2f, fn) +#define CALL_Vertex2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_Vertex2fv, parameters) +#define GET_Vertex2fv(disp) GET_by_offset(disp, _gloffset_Vertex2fv) +#define SET_Vertex2fv(disp, fn) SET_by_offset(disp, _gloffset_Vertex2fv, fn) +#define CALL_Vertex2i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), _gloffset_Vertex2i, parameters) +#define GET_Vertex2i(disp) GET_by_offset(disp, _gloffset_Vertex2i) +#define SET_Vertex2i(disp, fn) SET_by_offset(disp, _gloffset_Vertex2i, fn) +#define CALL_Vertex2iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_Vertex2iv, parameters) +#define GET_Vertex2iv(disp) GET_by_offset(disp, _gloffset_Vertex2iv) +#define SET_Vertex2iv(disp, fn) SET_by_offset(disp, _gloffset_Vertex2iv, fn) +#define CALL_Vertex2s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort)), _gloffset_Vertex2s, parameters) +#define GET_Vertex2s(disp) GET_by_offset(disp, _gloffset_Vertex2s) +#define SET_Vertex2s(disp, fn) SET_by_offset(disp, _gloffset_Vertex2s, fn) +#define CALL_Vertex2sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_Vertex2sv, parameters) +#define GET_Vertex2sv(disp) GET_by_offset(disp, _gloffset_Vertex2sv) +#define SET_Vertex2sv(disp, fn) SET_by_offset(disp, _gloffset_Vertex2sv, fn) +#define CALL_Vertex3d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_Vertex3d, parameters) +#define GET_Vertex3d(disp) GET_by_offset(disp, _gloffset_Vertex3d) +#define SET_Vertex3d(disp, fn) SET_by_offset(disp, _gloffset_Vertex3d, fn) +#define CALL_Vertex3dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_Vertex3dv, parameters) +#define GET_Vertex3dv(disp) GET_by_offset(disp, _gloffset_Vertex3dv) +#define SET_Vertex3dv(disp, fn) SET_by_offset(disp, _gloffset_Vertex3dv, fn) +#define CALL_Vertex3f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_Vertex3f, parameters) +#define GET_Vertex3f(disp) GET_by_offset(disp, _gloffset_Vertex3f) +#define SET_Vertex3f(disp, fn) SET_by_offset(disp, _gloffset_Vertex3f, fn) +#define CALL_Vertex3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_Vertex3fv, parameters) +#define GET_Vertex3fv(disp) GET_by_offset(disp, _gloffset_Vertex3fv) +#define SET_Vertex3fv(disp, fn) SET_by_offset(disp, _gloffset_Vertex3fv, fn) +#define CALL_Vertex3i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_Vertex3i, parameters) +#define GET_Vertex3i(disp) GET_by_offset(disp, _gloffset_Vertex3i) +#define SET_Vertex3i(disp, fn) SET_by_offset(disp, _gloffset_Vertex3i, fn) +#define CALL_Vertex3iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_Vertex3iv, parameters) +#define GET_Vertex3iv(disp) GET_by_offset(disp, _gloffset_Vertex3iv) +#define SET_Vertex3iv(disp, fn) SET_by_offset(disp, _gloffset_Vertex3iv, fn) +#define CALL_Vertex3s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), _gloffset_Vertex3s, parameters) +#define GET_Vertex3s(disp) GET_by_offset(disp, _gloffset_Vertex3s) +#define SET_Vertex3s(disp, fn) SET_by_offset(disp, _gloffset_Vertex3s, fn) +#define CALL_Vertex3sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_Vertex3sv, parameters) +#define GET_Vertex3sv(disp) GET_by_offset(disp, _gloffset_Vertex3sv) +#define SET_Vertex3sv(disp, fn) SET_by_offset(disp, _gloffset_Vertex3sv, fn) +#define CALL_Vertex4d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_Vertex4d, parameters) +#define GET_Vertex4d(disp) GET_by_offset(disp, _gloffset_Vertex4d) +#define SET_Vertex4d(disp, fn) SET_by_offset(disp, _gloffset_Vertex4d, fn) +#define CALL_Vertex4dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_Vertex4dv, parameters) +#define GET_Vertex4dv(disp) GET_by_offset(disp, _gloffset_Vertex4dv) +#define SET_Vertex4dv(disp, fn) SET_by_offset(disp, _gloffset_Vertex4dv, fn) +#define CALL_Vertex4f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_Vertex4f, parameters) +#define GET_Vertex4f(disp) GET_by_offset(disp, _gloffset_Vertex4f) +#define SET_Vertex4f(disp, fn) SET_by_offset(disp, _gloffset_Vertex4f, fn) +#define CALL_Vertex4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_Vertex4fv, parameters) +#define GET_Vertex4fv(disp) GET_by_offset(disp, _gloffset_Vertex4fv) +#define SET_Vertex4fv(disp, fn) SET_by_offset(disp, _gloffset_Vertex4fv, fn) +#define CALL_Vertex4i(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_Vertex4i, parameters) +#define GET_Vertex4i(disp) GET_by_offset(disp, _gloffset_Vertex4i) +#define SET_Vertex4i(disp, fn) SET_by_offset(disp, _gloffset_Vertex4i, fn) +#define CALL_Vertex4iv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_Vertex4iv, parameters) +#define GET_Vertex4iv(disp) GET_by_offset(disp, _gloffset_Vertex4iv) +#define SET_Vertex4iv(disp, fn) SET_by_offset(disp, _gloffset_Vertex4iv, fn) +#define CALL_Vertex4s(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), _gloffset_Vertex4s, parameters) +#define GET_Vertex4s(disp) GET_by_offset(disp, _gloffset_Vertex4s) +#define SET_Vertex4s(disp, fn) SET_by_offset(disp, _gloffset_Vertex4s, fn) +#define CALL_Vertex4sv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_Vertex4sv, parameters) +#define GET_Vertex4sv(disp) GET_by_offset(disp, _gloffset_Vertex4sv) +#define SET_Vertex4sv(disp, fn) SET_by_offset(disp, _gloffset_Vertex4sv, fn) +#define CALL_ClipPlane(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLdouble *)), _gloffset_ClipPlane, parameters) +#define GET_ClipPlane(disp) GET_by_offset(disp, _gloffset_ClipPlane) +#define SET_ClipPlane(disp, fn) SET_by_offset(disp, _gloffset_ClipPlane, fn) +#define CALL_ColorMaterial(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum)), _gloffset_ColorMaterial, parameters) +#define GET_ColorMaterial(disp) GET_by_offset(disp, _gloffset_ColorMaterial) +#define SET_ColorMaterial(disp, fn) SET_by_offset(disp, _gloffset_ColorMaterial, fn) +#define CALL_CullFace(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_CullFace, parameters) +#define GET_CullFace(disp) GET_by_offset(disp, _gloffset_CullFace) +#define SET_CullFace(disp, fn) SET_by_offset(disp, _gloffset_CullFace, fn) +#define CALL_Fogf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_Fogf, parameters) +#define GET_Fogf(disp) GET_by_offset(disp, _gloffset_Fogf) +#define SET_Fogf(disp, fn) SET_by_offset(disp, _gloffset_Fogf, fn) +#define CALL_Fogfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_Fogfv, parameters) +#define GET_Fogfv(disp) GET_by_offset(disp, _gloffset_Fogfv) +#define SET_Fogfv(disp, fn) SET_by_offset(disp, _gloffset_Fogfv, fn) +#define CALL_Fogi(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_Fogi, parameters) +#define GET_Fogi(disp) GET_by_offset(disp, _gloffset_Fogi) +#define SET_Fogi(disp, fn) SET_by_offset(disp, _gloffset_Fogi, fn) +#define CALL_Fogiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_Fogiv, parameters) +#define GET_Fogiv(disp) GET_by_offset(disp, _gloffset_Fogiv) +#define SET_Fogiv(disp, fn) SET_by_offset(disp, _gloffset_Fogiv, fn) +#define CALL_FrontFace(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_FrontFace, parameters) +#define GET_FrontFace(disp) GET_by_offset(disp, _gloffset_FrontFace) +#define SET_FrontFace(disp, fn) SET_by_offset(disp, _gloffset_FrontFace, fn) +#define CALL_Hint(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum)), _gloffset_Hint, parameters) +#define GET_Hint(disp) GET_by_offset(disp, _gloffset_Hint) +#define SET_Hint(disp, fn) SET_by_offset(disp, _gloffset_Hint, fn) +#define CALL_Lightf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat)), _gloffset_Lightf, parameters) +#define GET_Lightf(disp) GET_by_offset(disp, _gloffset_Lightf) +#define SET_Lightf(disp, fn) SET_by_offset(disp, _gloffset_Lightf, fn) +#define CALL_Lightfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLfloat *)), _gloffset_Lightfv, parameters) +#define GET_Lightfv(disp) GET_by_offset(disp, _gloffset_Lightfv) +#define SET_Lightfv(disp, fn) SET_by_offset(disp, _gloffset_Lightfv, fn) +#define CALL_Lighti(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), _gloffset_Lighti, parameters) +#define GET_Lighti(disp) GET_by_offset(disp, _gloffset_Lighti) +#define SET_Lighti(disp, fn) SET_by_offset(disp, _gloffset_Lighti, fn) +#define CALL_Lightiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_Lightiv, parameters) +#define GET_Lightiv(disp) GET_by_offset(disp, _gloffset_Lightiv) +#define SET_Lightiv(disp, fn) SET_by_offset(disp, _gloffset_Lightiv, fn) +#define CALL_LightModelf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_LightModelf, parameters) +#define GET_LightModelf(disp) GET_by_offset(disp, _gloffset_LightModelf) +#define SET_LightModelf(disp, fn) SET_by_offset(disp, _gloffset_LightModelf, fn) +#define CALL_LightModelfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_LightModelfv, parameters) +#define GET_LightModelfv(disp) GET_by_offset(disp, _gloffset_LightModelfv) +#define SET_LightModelfv(disp, fn) SET_by_offset(disp, _gloffset_LightModelfv, fn) +#define CALL_LightModeli(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_LightModeli, parameters) +#define GET_LightModeli(disp) GET_by_offset(disp, _gloffset_LightModeli) +#define SET_LightModeli(disp, fn) SET_by_offset(disp, _gloffset_LightModeli, fn) +#define CALL_LightModeliv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_LightModeliv, parameters) +#define GET_LightModeliv(disp) GET_by_offset(disp, _gloffset_LightModeliv) +#define SET_LightModeliv(disp, fn) SET_by_offset(disp, _gloffset_LightModeliv, fn) +#define CALL_LineStipple(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLushort)), _gloffset_LineStipple, parameters) +#define GET_LineStipple(disp) GET_by_offset(disp, _gloffset_LineStipple) +#define SET_LineStipple(disp, fn) SET_by_offset(disp, _gloffset_LineStipple, fn) +#define CALL_LineWidth(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_LineWidth, parameters) +#define GET_LineWidth(disp) GET_by_offset(disp, _gloffset_LineWidth) +#define SET_LineWidth(disp, fn) SET_by_offset(disp, _gloffset_LineWidth, fn) +#define CALL_Materialf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat)), _gloffset_Materialf, parameters) +#define GET_Materialf(disp) GET_by_offset(disp, _gloffset_Materialf) +#define SET_Materialf(disp, fn) SET_by_offset(disp, _gloffset_Materialf, fn) +#define CALL_Materialfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLfloat *)), _gloffset_Materialfv, parameters) +#define GET_Materialfv(disp) GET_by_offset(disp, _gloffset_Materialfv) +#define SET_Materialfv(disp, fn) SET_by_offset(disp, _gloffset_Materialfv, fn) +#define CALL_Materiali(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), _gloffset_Materiali, parameters) +#define GET_Materiali(disp) GET_by_offset(disp, _gloffset_Materiali) +#define SET_Materiali(disp, fn) SET_by_offset(disp, _gloffset_Materiali, fn) +#define CALL_Materialiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_Materialiv, parameters) +#define GET_Materialiv(disp) GET_by_offset(disp, _gloffset_Materialiv) +#define SET_Materialiv(disp, fn) SET_by_offset(disp, _gloffset_Materialiv, fn) +#define CALL_PointSize(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_PointSize, parameters) +#define GET_PointSize(disp) GET_by_offset(disp, _gloffset_PointSize) +#define SET_PointSize(disp, fn) SET_by_offset(disp, _gloffset_PointSize, fn) +#define CALL_PolygonMode(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum)), _gloffset_PolygonMode, parameters) +#define GET_PolygonMode(disp) GET_by_offset(disp, _gloffset_PolygonMode) +#define SET_PolygonMode(disp, fn) SET_by_offset(disp, _gloffset_PolygonMode, fn) +#define CALL_PolygonStipple(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLubyte *)), _gloffset_PolygonStipple, parameters) +#define GET_PolygonStipple(disp) GET_by_offset(disp, _gloffset_PolygonStipple) +#define SET_PolygonStipple(disp, fn) SET_by_offset(disp, _gloffset_PolygonStipple, fn) +#define CALL_Scissor(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLsizei, GLsizei)), _gloffset_Scissor, parameters) +#define GET_Scissor(disp) GET_by_offset(disp, _gloffset_Scissor) +#define SET_Scissor(disp, fn) SET_by_offset(disp, _gloffset_Scissor, fn) +#define CALL_ShadeModel(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ShadeModel, parameters) +#define GET_ShadeModel(disp) GET_by_offset(disp, _gloffset_ShadeModel) +#define SET_ShadeModel(disp, fn) SET_by_offset(disp, _gloffset_ShadeModel, fn) +#define CALL_TexParameterf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat)), _gloffset_TexParameterf, parameters) +#define GET_TexParameterf(disp) GET_by_offset(disp, _gloffset_TexParameterf) +#define SET_TexParameterf(disp, fn) SET_by_offset(disp, _gloffset_TexParameterf, fn) +#define CALL_TexParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLfloat *)), _gloffset_TexParameterfv, parameters) +#define GET_TexParameterfv(disp) GET_by_offset(disp, _gloffset_TexParameterfv) +#define SET_TexParameterfv(disp, fn) SET_by_offset(disp, _gloffset_TexParameterfv, fn) +#define CALL_TexParameteri(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), _gloffset_TexParameteri, parameters) +#define GET_TexParameteri(disp) GET_by_offset(disp, _gloffset_TexParameteri) +#define SET_TexParameteri(disp, fn) SET_by_offset(disp, _gloffset_TexParameteri, fn) +#define CALL_TexParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_TexParameteriv, parameters) +#define GET_TexParameteriv(disp) GET_by_offset(disp, _gloffset_TexParameteriv) +#define SET_TexParameteriv(disp, fn) SET_by_offset(disp, _gloffset_TexParameteriv, fn) +#define CALL_TexImage1D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *)), _gloffset_TexImage1D, parameters) +#define GET_TexImage1D(disp) GET_by_offset(disp, _gloffset_TexImage1D) +#define SET_TexImage1D(disp, fn) SET_by_offset(disp, _gloffset_TexImage1D, fn) +#define CALL_TexImage2D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)), _gloffset_TexImage2D, parameters) +#define GET_TexImage2D(disp) GET_by_offset(disp, _gloffset_TexImage2D) +#define SET_TexImage2D(disp, fn) SET_by_offset(disp, _gloffset_TexImage2D, fn) +#define CALL_TexEnvf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat)), _gloffset_TexEnvf, parameters) +#define GET_TexEnvf(disp) GET_by_offset(disp, _gloffset_TexEnvf) +#define SET_TexEnvf(disp, fn) SET_by_offset(disp, _gloffset_TexEnvf, fn) +#define CALL_TexEnvfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLfloat *)), _gloffset_TexEnvfv, parameters) +#define GET_TexEnvfv(disp) GET_by_offset(disp, _gloffset_TexEnvfv) +#define SET_TexEnvfv(disp, fn) SET_by_offset(disp, _gloffset_TexEnvfv, fn) +#define CALL_TexEnvi(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), _gloffset_TexEnvi, parameters) +#define GET_TexEnvi(disp) GET_by_offset(disp, _gloffset_TexEnvi) +#define SET_TexEnvi(disp, fn) SET_by_offset(disp, _gloffset_TexEnvi, fn) +#define CALL_TexEnviv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_TexEnviv, parameters) +#define GET_TexEnviv(disp) GET_by_offset(disp, _gloffset_TexEnviv) +#define SET_TexEnviv(disp, fn) SET_by_offset(disp, _gloffset_TexEnviv, fn) +#define CALL_TexGend(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLdouble)), _gloffset_TexGend, parameters) +#define GET_TexGend(disp) GET_by_offset(disp, _gloffset_TexGend) +#define SET_TexGend(disp, fn) SET_by_offset(disp, _gloffset_TexGend, fn) +#define CALL_TexGendv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLdouble *)), _gloffset_TexGendv, parameters) +#define GET_TexGendv(disp) GET_by_offset(disp, _gloffset_TexGendv) +#define SET_TexGendv(disp, fn) SET_by_offset(disp, _gloffset_TexGendv, fn) +#define CALL_TexGenf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat)), _gloffset_TexGenf, parameters) +#define GET_TexGenf(disp) GET_by_offset(disp, _gloffset_TexGenf) +#define SET_TexGenf(disp, fn) SET_by_offset(disp, _gloffset_TexGenf, fn) +#define CALL_TexGenfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLfloat *)), _gloffset_TexGenfv, parameters) +#define GET_TexGenfv(disp) GET_by_offset(disp, _gloffset_TexGenfv) +#define SET_TexGenfv(disp, fn) SET_by_offset(disp, _gloffset_TexGenfv, fn) +#define CALL_TexGeni(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), _gloffset_TexGeni, parameters) +#define GET_TexGeni(disp) GET_by_offset(disp, _gloffset_TexGeni) +#define SET_TexGeni(disp, fn) SET_by_offset(disp, _gloffset_TexGeni, fn) +#define CALL_TexGeniv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_TexGeniv, parameters) +#define GET_TexGeniv(disp) GET_by_offset(disp, _gloffset_TexGeniv) +#define SET_TexGeniv(disp, fn) SET_by_offset(disp, _gloffset_TexGeniv, fn) +#define CALL_FeedbackBuffer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLenum, GLfloat *)), _gloffset_FeedbackBuffer, parameters) +#define GET_FeedbackBuffer(disp) GET_by_offset(disp, _gloffset_FeedbackBuffer) +#define SET_FeedbackBuffer(disp, fn) SET_by_offset(disp, _gloffset_FeedbackBuffer, fn) +#define CALL_SelectBuffer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_SelectBuffer, parameters) +#define GET_SelectBuffer(disp) GET_by_offset(disp, _gloffset_SelectBuffer) +#define SET_SelectBuffer(disp, fn) SET_by_offset(disp, _gloffset_SelectBuffer, fn) +#define CALL_RenderMode(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLenum)), _gloffset_RenderMode, parameters) +#define GET_RenderMode(disp) GET_by_offset(disp, _gloffset_RenderMode) +#define SET_RenderMode(disp, fn) SET_by_offset(disp, _gloffset_RenderMode, fn) +#define CALL_InitNames(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_InitNames, parameters) +#define GET_InitNames(disp) GET_by_offset(disp, _gloffset_InitNames) +#define SET_InitNames(disp, fn) SET_by_offset(disp, _gloffset_InitNames, fn) +#define CALL_LoadName(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_LoadName, parameters) +#define GET_LoadName(disp) GET_by_offset(disp, _gloffset_LoadName) +#define SET_LoadName(disp, fn) SET_by_offset(disp, _gloffset_LoadName, fn) +#define CALL_PassThrough(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_PassThrough, parameters) +#define GET_PassThrough(disp) GET_by_offset(disp, _gloffset_PassThrough) +#define SET_PassThrough(disp, fn) SET_by_offset(disp, _gloffset_PassThrough, fn) +#define CALL_PopName(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_PopName, parameters) +#define GET_PopName(disp) GET_by_offset(disp, _gloffset_PopName) +#define SET_PopName(disp, fn) SET_by_offset(disp, _gloffset_PopName, fn) +#define CALL_PushName(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_PushName, parameters) +#define GET_PushName(disp) GET_by_offset(disp, _gloffset_PushName) +#define SET_PushName(disp, fn) SET_by_offset(disp, _gloffset_PushName, fn) +#define CALL_DrawBuffer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_DrawBuffer, parameters) +#define GET_DrawBuffer(disp) GET_by_offset(disp, _gloffset_DrawBuffer) +#define SET_DrawBuffer(disp, fn) SET_by_offset(disp, _gloffset_DrawBuffer, fn) +#define CALL_Clear(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbitfield)), _gloffset_Clear, parameters) +#define GET_Clear(disp) GET_by_offset(disp, _gloffset_Clear) +#define SET_Clear(disp, fn) SET_by_offset(disp, _gloffset_Clear, fn) +#define CALL_ClearAccum(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_ClearAccum, parameters) +#define GET_ClearAccum(disp) GET_by_offset(disp, _gloffset_ClearAccum) +#define SET_ClearAccum(disp, fn) SET_by_offset(disp, _gloffset_ClearAccum, fn) +#define CALL_ClearIndex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_ClearIndex, parameters) +#define GET_ClearIndex(disp) GET_by_offset(disp, _gloffset_ClearIndex) +#define SET_ClearIndex(disp, fn) SET_by_offset(disp, _gloffset_ClearIndex, fn) +#define CALL_ClearColor(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLclampf, GLclampf, GLclampf)), _gloffset_ClearColor, parameters) +#define GET_ClearColor(disp) GET_by_offset(disp, _gloffset_ClearColor) +#define SET_ClearColor(disp, fn) SET_by_offset(disp, _gloffset_ClearColor, fn) +#define CALL_ClearStencil(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint)), _gloffset_ClearStencil, parameters) +#define GET_ClearStencil(disp) GET_by_offset(disp, _gloffset_ClearStencil) +#define SET_ClearStencil(disp, fn) SET_by_offset(disp, _gloffset_ClearStencil, fn) +#define CALL_ClearDepth(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampd)), _gloffset_ClearDepth, parameters) +#define GET_ClearDepth(disp) GET_by_offset(disp, _gloffset_ClearDepth) +#define SET_ClearDepth(disp, fn) SET_by_offset(disp, _gloffset_ClearDepth, fn) +#define CALL_StencilMask(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_StencilMask, parameters) +#define GET_StencilMask(disp) GET_by_offset(disp, _gloffset_StencilMask) +#define SET_StencilMask(disp, fn) SET_by_offset(disp, _gloffset_StencilMask, fn) +#define CALL_ColorMask(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLboolean, GLboolean, GLboolean, GLboolean)), _gloffset_ColorMask, parameters) +#define GET_ColorMask(disp) GET_by_offset(disp, _gloffset_ColorMask) +#define SET_ColorMask(disp, fn) SET_by_offset(disp, _gloffset_ColorMask, fn) +#define CALL_DepthMask(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLboolean)), _gloffset_DepthMask, parameters) +#define GET_DepthMask(disp) GET_by_offset(disp, _gloffset_DepthMask) +#define SET_DepthMask(disp, fn) SET_by_offset(disp, _gloffset_DepthMask, fn) +#define CALL_IndexMask(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_IndexMask, parameters) +#define GET_IndexMask(disp) GET_by_offset(disp, _gloffset_IndexMask) +#define SET_IndexMask(disp, fn) SET_by_offset(disp, _gloffset_IndexMask, fn) +#define CALL_Accum(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_Accum, parameters) +#define GET_Accum(disp) GET_by_offset(disp, _gloffset_Accum) +#define SET_Accum(disp, fn) SET_by_offset(disp, _gloffset_Accum, fn) +#define CALL_Disable(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_Disable, parameters) +#define GET_Disable(disp) GET_by_offset(disp, _gloffset_Disable) +#define SET_Disable(disp, fn) SET_by_offset(disp, _gloffset_Disable, fn) +#define CALL_Enable(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_Enable, parameters) +#define GET_Enable(disp) GET_by_offset(disp, _gloffset_Enable) +#define SET_Enable(disp, fn) SET_by_offset(disp, _gloffset_Enable, fn) +#define CALL_Finish(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_Finish, parameters) +#define GET_Finish(disp) GET_by_offset(disp, _gloffset_Finish) +#define SET_Finish(disp, fn) SET_by_offset(disp, _gloffset_Finish, fn) +#define CALL_Flush(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_Flush, parameters) +#define GET_Flush(disp) GET_by_offset(disp, _gloffset_Flush) +#define SET_Flush(disp, fn) SET_by_offset(disp, _gloffset_Flush, fn) +#define CALL_PopAttrib(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_PopAttrib, parameters) +#define GET_PopAttrib(disp) GET_by_offset(disp, _gloffset_PopAttrib) +#define SET_PopAttrib(disp, fn) SET_by_offset(disp, _gloffset_PopAttrib, fn) +#define CALL_PushAttrib(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbitfield)), _gloffset_PushAttrib, parameters) +#define GET_PushAttrib(disp) GET_by_offset(disp, _gloffset_PushAttrib) +#define SET_PushAttrib(disp, fn) SET_by_offset(disp, _gloffset_PushAttrib, fn) +#define CALL_Map1d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble *)), _gloffset_Map1d, parameters) +#define GET_Map1d(disp) GET_by_offset(disp, _gloffset_Map1d) +#define SET_Map1d(disp, fn) SET_by_offset(disp, _gloffset_Map1d, fn) +#define CALL_Map1f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *)), _gloffset_Map1f, parameters) +#define GET_Map1f(disp) GET_by_offset(disp, _gloffset_Map1f) +#define SET_Map1f(disp, fn) SET_by_offset(disp, _gloffset_Map1f, fn) +#define CALL_Map2d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *)), _gloffset_Map2d, parameters) +#define GET_Map2d(disp) GET_by_offset(disp, _gloffset_Map2d) +#define SET_Map2d(disp, fn) SET_by_offset(disp, _gloffset_Map2d, fn) +#define CALL_Map2f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *)), _gloffset_Map2f, parameters) +#define GET_Map2f(disp) GET_by_offset(disp, _gloffset_Map2f) +#define SET_Map2f(disp, fn) SET_by_offset(disp, _gloffset_Map2f, fn) +#define CALL_MapGrid1d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLdouble, GLdouble)), _gloffset_MapGrid1d, parameters) +#define GET_MapGrid1d(disp) GET_by_offset(disp, _gloffset_MapGrid1d) +#define SET_MapGrid1d(disp, fn) SET_by_offset(disp, _gloffset_MapGrid1d, fn) +#define CALL_MapGrid1f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat)), _gloffset_MapGrid1f, parameters) +#define GET_MapGrid1f(disp) GET_by_offset(disp, _gloffset_MapGrid1f) +#define SET_MapGrid1f(disp, fn) SET_by_offset(disp, _gloffset_MapGrid1f, fn) +#define CALL_MapGrid2d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble)), _gloffset_MapGrid2d, parameters) +#define GET_MapGrid2d(disp) GET_by_offset(disp, _gloffset_MapGrid2d) +#define SET_MapGrid2d(disp, fn) SET_by_offset(disp, _gloffset_MapGrid2d, fn) +#define CALL_MapGrid2f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat)), _gloffset_MapGrid2f, parameters) +#define GET_MapGrid2f(disp) GET_by_offset(disp, _gloffset_MapGrid2f) +#define SET_MapGrid2f(disp, fn) SET_by_offset(disp, _gloffset_MapGrid2f, fn) +#define CALL_EvalCoord1d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble)), _gloffset_EvalCoord1d, parameters) +#define GET_EvalCoord1d(disp) GET_by_offset(disp, _gloffset_EvalCoord1d) +#define SET_EvalCoord1d(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord1d, fn) +#define CALL_EvalCoord1dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_EvalCoord1dv, parameters) +#define GET_EvalCoord1dv(disp) GET_by_offset(disp, _gloffset_EvalCoord1dv) +#define SET_EvalCoord1dv(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord1dv, fn) +#define CALL_EvalCoord1f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_EvalCoord1f, parameters) +#define GET_EvalCoord1f(disp) GET_by_offset(disp, _gloffset_EvalCoord1f) +#define SET_EvalCoord1f(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord1f, fn) +#define CALL_EvalCoord1fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_EvalCoord1fv, parameters) +#define GET_EvalCoord1fv(disp) GET_by_offset(disp, _gloffset_EvalCoord1fv) +#define SET_EvalCoord1fv(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord1fv, fn) +#define CALL_EvalCoord2d(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble)), _gloffset_EvalCoord2d, parameters) +#define GET_EvalCoord2d(disp) GET_by_offset(disp, _gloffset_EvalCoord2d) +#define SET_EvalCoord2d(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord2d, fn) +#define CALL_EvalCoord2dv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_EvalCoord2dv, parameters) +#define GET_EvalCoord2dv(disp) GET_by_offset(disp, _gloffset_EvalCoord2dv) +#define SET_EvalCoord2dv(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord2dv, fn) +#define CALL_EvalCoord2f(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_EvalCoord2f, parameters) +#define GET_EvalCoord2f(disp) GET_by_offset(disp, _gloffset_EvalCoord2f) +#define SET_EvalCoord2f(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord2f, fn) +#define CALL_EvalCoord2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_EvalCoord2fv, parameters) +#define GET_EvalCoord2fv(disp) GET_by_offset(disp, _gloffset_EvalCoord2fv) +#define SET_EvalCoord2fv(disp, fn) SET_by_offset(disp, _gloffset_EvalCoord2fv, fn) +#define CALL_EvalMesh1(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint)), _gloffset_EvalMesh1, parameters) +#define GET_EvalMesh1(disp) GET_by_offset(disp, _gloffset_EvalMesh1) +#define SET_EvalMesh1(disp, fn) SET_by_offset(disp, _gloffset_EvalMesh1, fn) +#define CALL_EvalPoint1(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint)), _gloffset_EvalPoint1, parameters) +#define GET_EvalPoint1(disp) GET_by_offset(disp, _gloffset_EvalPoint1) +#define SET_EvalPoint1(disp, fn) SET_by_offset(disp, _gloffset_EvalPoint1, fn) +#define CALL_EvalMesh2(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint)), _gloffset_EvalMesh2, parameters) +#define GET_EvalMesh2(disp) GET_by_offset(disp, _gloffset_EvalMesh2) +#define SET_EvalMesh2(disp, fn) SET_by_offset(disp, _gloffset_EvalMesh2, fn) +#define CALL_EvalPoint2(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), _gloffset_EvalPoint2, parameters) +#define GET_EvalPoint2(disp) GET_by_offset(disp, _gloffset_EvalPoint2) +#define SET_EvalPoint2(disp, fn) SET_by_offset(disp, _gloffset_EvalPoint2, fn) +#define CALL_AlphaFunc(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLclampf)), _gloffset_AlphaFunc, parameters) +#define GET_AlphaFunc(disp) GET_by_offset(disp, _gloffset_AlphaFunc) +#define SET_AlphaFunc(disp, fn) SET_by_offset(disp, _gloffset_AlphaFunc, fn) +#define CALL_BlendFunc(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum)), _gloffset_BlendFunc, parameters) +#define GET_BlendFunc(disp) GET_by_offset(disp, _gloffset_BlendFunc) +#define SET_BlendFunc(disp, fn) SET_by_offset(disp, _gloffset_BlendFunc, fn) +#define CALL_LogicOp(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_LogicOp, parameters) +#define GET_LogicOp(disp) GET_by_offset(disp, _gloffset_LogicOp) +#define SET_LogicOp(disp, fn) SET_by_offset(disp, _gloffset_LogicOp, fn) +#define CALL_StencilFunc(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLuint)), _gloffset_StencilFunc, parameters) +#define GET_StencilFunc(disp) GET_by_offset(disp, _gloffset_StencilFunc) +#define SET_StencilFunc(disp, fn) SET_by_offset(disp, _gloffset_StencilFunc, fn) +#define CALL_StencilOp(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum)), _gloffset_StencilOp, parameters) +#define GET_StencilOp(disp) GET_by_offset(disp, _gloffset_StencilOp) +#define SET_StencilOp(disp, fn) SET_by_offset(disp, _gloffset_StencilOp, fn) +#define CALL_DepthFunc(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_DepthFunc, parameters) +#define GET_DepthFunc(disp) GET_by_offset(disp, _gloffset_DepthFunc) +#define SET_DepthFunc(disp, fn) SET_by_offset(disp, _gloffset_DepthFunc, fn) +#define CALL_PixelZoom(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_PixelZoom, parameters) +#define GET_PixelZoom(disp) GET_by_offset(disp, _gloffset_PixelZoom) +#define SET_PixelZoom(disp, fn) SET_by_offset(disp, _gloffset_PixelZoom, fn) +#define CALL_PixelTransferf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_PixelTransferf, parameters) +#define GET_PixelTransferf(disp) GET_by_offset(disp, _gloffset_PixelTransferf) +#define SET_PixelTransferf(disp, fn) SET_by_offset(disp, _gloffset_PixelTransferf, fn) +#define CALL_PixelTransferi(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_PixelTransferi, parameters) +#define GET_PixelTransferi(disp) GET_by_offset(disp, _gloffset_PixelTransferi) +#define SET_PixelTransferi(disp, fn) SET_by_offset(disp, _gloffset_PixelTransferi, fn) +#define CALL_PixelStoref(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_PixelStoref, parameters) +#define GET_PixelStoref(disp) GET_by_offset(disp, _gloffset_PixelStoref) +#define SET_PixelStoref(disp, fn) SET_by_offset(disp, _gloffset_PixelStoref, fn) +#define CALL_PixelStorei(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_PixelStorei, parameters) +#define GET_PixelStorei(disp) GET_by_offset(disp, _gloffset_PixelStorei) +#define SET_PixelStorei(disp, fn) SET_by_offset(disp, _gloffset_PixelStorei, fn) +#define CALL_PixelMapfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLfloat *)), _gloffset_PixelMapfv, parameters) +#define GET_PixelMapfv(disp) GET_by_offset(disp, _gloffset_PixelMapfv) +#define SET_PixelMapfv(disp, fn) SET_by_offset(disp, _gloffset_PixelMapfv, fn) +#define CALL_PixelMapuiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLuint *)), _gloffset_PixelMapuiv, parameters) +#define GET_PixelMapuiv(disp) GET_by_offset(disp, _gloffset_PixelMapuiv) +#define SET_PixelMapuiv(disp, fn) SET_by_offset(disp, _gloffset_PixelMapuiv, fn) +#define CALL_PixelMapusv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLushort *)), _gloffset_PixelMapusv, parameters) +#define GET_PixelMapusv(disp) GET_by_offset(disp, _gloffset_PixelMapusv) +#define SET_PixelMapusv(disp, fn) SET_by_offset(disp, _gloffset_PixelMapusv, fn) +#define CALL_ReadBuffer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ReadBuffer, parameters) +#define GET_ReadBuffer(disp) GET_by_offset(disp, _gloffset_ReadBuffer) +#define SET_ReadBuffer(disp, fn) SET_by_offset(disp, _gloffset_ReadBuffer, fn) +#define CALL_CopyPixels(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLsizei, GLsizei, GLenum)), _gloffset_CopyPixels, parameters) +#define GET_CopyPixels(disp) GET_by_offset(disp, _gloffset_CopyPixels) +#define SET_CopyPixels(disp, fn) SET_by_offset(disp, _gloffset_CopyPixels, fn) +#define CALL_ReadPixels(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *)), _gloffset_ReadPixels, parameters) +#define GET_ReadPixels(disp) GET_by_offset(disp, _gloffset_ReadPixels) +#define SET_ReadPixels(disp, fn) SET_by_offset(disp, _gloffset_ReadPixels, fn) +#define CALL_DrawPixels(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_DrawPixels, parameters) +#define GET_DrawPixels(disp) GET_by_offset(disp, _gloffset_DrawPixels) +#define SET_DrawPixels(disp, fn) SET_by_offset(disp, _gloffset_DrawPixels, fn) +#define CALL_GetBooleanv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLboolean *)), _gloffset_GetBooleanv, parameters) +#define GET_GetBooleanv(disp) GET_by_offset(disp, _gloffset_GetBooleanv) +#define SET_GetBooleanv(disp, fn) SET_by_offset(disp, _gloffset_GetBooleanv, fn) +#define CALL_GetClipPlane(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble *)), _gloffset_GetClipPlane, parameters) +#define GET_GetClipPlane(disp) GET_by_offset(disp, _gloffset_GetClipPlane) +#define SET_GetClipPlane(disp, fn) SET_by_offset(disp, _gloffset_GetClipPlane, fn) +#define CALL_GetDoublev(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble *)), _gloffset_GetDoublev, parameters) +#define GET_GetDoublev(disp) GET_by_offset(disp, _gloffset_GetDoublev) +#define SET_GetDoublev(disp, fn) SET_by_offset(disp, _gloffset_GetDoublev, fn) +#define CALL_GetError(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(void)), _gloffset_GetError, parameters) +#define GET_GetError(disp) GET_by_offset(disp, _gloffset_GetError) +#define SET_GetError(disp, fn) SET_by_offset(disp, _gloffset_GetError, fn) +#define CALL_GetFloatv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), _gloffset_GetFloatv, parameters) +#define GET_GetFloatv(disp) GET_by_offset(disp, _gloffset_GetFloatv) +#define SET_GetFloatv(disp, fn) SET_by_offset(disp, _gloffset_GetFloatv, fn) +#define CALL_GetIntegerv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint *)), _gloffset_GetIntegerv, parameters) +#define GET_GetIntegerv(disp) GET_by_offset(disp, _gloffset_GetIntegerv) +#define SET_GetIntegerv(disp, fn) SET_by_offset(disp, _gloffset_GetIntegerv, fn) +#define CALL_GetLightfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetLightfv, parameters) +#define GET_GetLightfv(disp) GET_by_offset(disp, _gloffset_GetLightfv) +#define SET_GetLightfv(disp, fn) SET_by_offset(disp, _gloffset_GetLightfv, fn) +#define CALL_GetLightiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetLightiv, parameters) +#define GET_GetLightiv(disp) GET_by_offset(disp, _gloffset_GetLightiv) +#define SET_GetLightiv(disp, fn) SET_by_offset(disp, _gloffset_GetLightiv, fn) +#define CALL_GetMapdv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLdouble *)), _gloffset_GetMapdv, parameters) +#define GET_GetMapdv(disp) GET_by_offset(disp, _gloffset_GetMapdv) +#define SET_GetMapdv(disp, fn) SET_by_offset(disp, _gloffset_GetMapdv, fn) +#define CALL_GetMapfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetMapfv, parameters) +#define GET_GetMapfv(disp) GET_by_offset(disp, _gloffset_GetMapfv) +#define SET_GetMapfv(disp, fn) SET_by_offset(disp, _gloffset_GetMapfv, fn) +#define CALL_GetMapiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetMapiv, parameters) +#define GET_GetMapiv(disp) GET_by_offset(disp, _gloffset_GetMapiv) +#define SET_GetMapiv(disp, fn) SET_by_offset(disp, _gloffset_GetMapiv, fn) +#define CALL_GetMaterialfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetMaterialfv, parameters) +#define GET_GetMaterialfv(disp) GET_by_offset(disp, _gloffset_GetMaterialfv) +#define SET_GetMaterialfv(disp, fn) SET_by_offset(disp, _gloffset_GetMaterialfv, fn) +#define CALL_GetMaterialiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetMaterialiv, parameters) +#define GET_GetMaterialiv(disp) GET_by_offset(disp, _gloffset_GetMaterialiv) +#define SET_GetMaterialiv(disp, fn) SET_by_offset(disp, _gloffset_GetMaterialiv, fn) +#define CALL_GetPixelMapfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), _gloffset_GetPixelMapfv, parameters) +#define GET_GetPixelMapfv(disp) GET_by_offset(disp, _gloffset_GetPixelMapfv) +#define SET_GetPixelMapfv(disp, fn) SET_by_offset(disp, _gloffset_GetPixelMapfv, fn) +#define CALL_GetPixelMapuiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint *)), _gloffset_GetPixelMapuiv, parameters) +#define GET_GetPixelMapuiv(disp) GET_by_offset(disp, _gloffset_GetPixelMapuiv) +#define SET_GetPixelMapuiv(disp, fn) SET_by_offset(disp, _gloffset_GetPixelMapuiv, fn) +#define CALL_GetPixelMapusv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLushort *)), _gloffset_GetPixelMapusv, parameters) +#define GET_GetPixelMapusv(disp) GET_by_offset(disp, _gloffset_GetPixelMapusv) +#define SET_GetPixelMapusv(disp, fn) SET_by_offset(disp, _gloffset_GetPixelMapusv, fn) +#define CALL_GetPolygonStipple(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLubyte *)), _gloffset_GetPolygonStipple, parameters) +#define GET_GetPolygonStipple(disp) GET_by_offset(disp, _gloffset_GetPolygonStipple) +#define SET_GetPolygonStipple(disp, fn) SET_by_offset(disp, _gloffset_GetPolygonStipple, fn) +#define CALL_GetString(disp, parameters) CALL_by_offset(disp, (const GLubyte * (GLAPIENTRYP)(GLenum)), _gloffset_GetString, parameters) +#define GET_GetString(disp) GET_by_offset(disp, _gloffset_GetString) +#define SET_GetString(disp, fn) SET_by_offset(disp, _gloffset_GetString, fn) +#define CALL_GetTexEnvfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetTexEnvfv, parameters) +#define GET_GetTexEnvfv(disp) GET_by_offset(disp, _gloffset_GetTexEnvfv) +#define SET_GetTexEnvfv(disp, fn) SET_by_offset(disp, _gloffset_GetTexEnvfv, fn) +#define CALL_GetTexEnviv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetTexEnviv, parameters) +#define GET_GetTexEnviv(disp) GET_by_offset(disp, _gloffset_GetTexEnviv) +#define SET_GetTexEnviv(disp, fn) SET_by_offset(disp, _gloffset_GetTexEnviv, fn) +#define CALL_GetTexGendv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLdouble *)), _gloffset_GetTexGendv, parameters) +#define GET_GetTexGendv(disp) GET_by_offset(disp, _gloffset_GetTexGendv) +#define SET_GetTexGendv(disp, fn) SET_by_offset(disp, _gloffset_GetTexGendv, fn) +#define CALL_GetTexGenfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetTexGenfv, parameters) +#define GET_GetTexGenfv(disp) GET_by_offset(disp, _gloffset_GetTexGenfv) +#define SET_GetTexGenfv(disp, fn) SET_by_offset(disp, _gloffset_GetTexGenfv, fn) +#define CALL_GetTexGeniv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetTexGeniv, parameters) +#define GET_GetTexGeniv(disp) GET_by_offset(disp, _gloffset_GetTexGeniv) +#define SET_GetTexGeniv(disp, fn) SET_by_offset(disp, _gloffset_GetTexGeniv, fn) +#define CALL_GetTexImage(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLenum, GLvoid *)), _gloffset_GetTexImage, parameters) +#define GET_GetTexImage(disp) GET_by_offset(disp, _gloffset_GetTexImage) +#define SET_GetTexImage(disp, fn) SET_by_offset(disp, _gloffset_GetTexImage, fn) +#define CALL_GetTexParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetTexParameterfv, parameters) +#define GET_GetTexParameterfv(disp) GET_by_offset(disp, _gloffset_GetTexParameterfv) +#define SET_GetTexParameterfv(disp, fn) SET_by_offset(disp, _gloffset_GetTexParameterfv, fn) +#define CALL_GetTexParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetTexParameteriv, parameters) +#define GET_GetTexParameteriv(disp) GET_by_offset(disp, _gloffset_GetTexParameteriv) +#define SET_GetTexParameteriv(disp, fn) SET_by_offset(disp, _gloffset_GetTexParameteriv, fn) +#define CALL_GetTexLevelParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLfloat *)), _gloffset_GetTexLevelParameterfv, parameters) +#define GET_GetTexLevelParameterfv(disp) GET_by_offset(disp, _gloffset_GetTexLevelParameterfv) +#define SET_GetTexLevelParameterfv(disp, fn) SET_by_offset(disp, _gloffset_GetTexLevelParameterfv, fn) +#define CALL_GetTexLevelParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLint *)), _gloffset_GetTexLevelParameteriv, parameters) +#define GET_GetTexLevelParameteriv(disp) GET_by_offset(disp, _gloffset_GetTexLevelParameteriv) +#define SET_GetTexLevelParameteriv(disp, fn) SET_by_offset(disp, _gloffset_GetTexLevelParameteriv, fn) +#define CALL_IsEnabled(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLenum)), _gloffset_IsEnabled, parameters) +#define GET_IsEnabled(disp) GET_by_offset(disp, _gloffset_IsEnabled) +#define SET_IsEnabled(disp, fn) SET_by_offset(disp, _gloffset_IsEnabled, fn) +#define CALL_IsList(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsList, parameters) +#define GET_IsList(disp) GET_by_offset(disp, _gloffset_IsList) +#define SET_IsList(disp, fn) SET_by_offset(disp, _gloffset_IsList, fn) +#define CALL_DepthRange(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampd, GLclampd)), _gloffset_DepthRange, parameters) +#define GET_DepthRange(disp) GET_by_offset(disp, _gloffset_DepthRange) +#define SET_DepthRange(disp, fn) SET_by_offset(disp, _gloffset_DepthRange, fn) +#define CALL_Frustum(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_Frustum, parameters) +#define GET_Frustum(disp) GET_by_offset(disp, _gloffset_Frustum) +#define SET_Frustum(disp, fn) SET_by_offset(disp, _gloffset_Frustum, fn) +#define CALL_LoadIdentity(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_LoadIdentity, parameters) +#define GET_LoadIdentity(disp) GET_by_offset(disp, _gloffset_LoadIdentity) +#define SET_LoadIdentity(disp, fn) SET_by_offset(disp, _gloffset_LoadIdentity, fn) +#define CALL_LoadMatrixf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_LoadMatrixf, parameters) +#define GET_LoadMatrixf(disp) GET_by_offset(disp, _gloffset_LoadMatrixf) +#define SET_LoadMatrixf(disp, fn) SET_by_offset(disp, _gloffset_LoadMatrixf, fn) +#define CALL_LoadMatrixd(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_LoadMatrixd, parameters) +#define GET_LoadMatrixd(disp) GET_by_offset(disp, _gloffset_LoadMatrixd) +#define SET_LoadMatrixd(disp, fn) SET_by_offset(disp, _gloffset_LoadMatrixd, fn) +#define CALL_MatrixMode(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_MatrixMode, parameters) +#define GET_MatrixMode(disp) GET_by_offset(disp, _gloffset_MatrixMode) +#define SET_MatrixMode(disp, fn) SET_by_offset(disp, _gloffset_MatrixMode, fn) +#define CALL_MultMatrixf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_MultMatrixf, parameters) +#define GET_MultMatrixf(disp) GET_by_offset(disp, _gloffset_MultMatrixf) +#define SET_MultMatrixf(disp, fn) SET_by_offset(disp, _gloffset_MultMatrixf, fn) +#define CALL_MultMatrixd(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_MultMatrixd, parameters) +#define GET_MultMatrixd(disp) GET_by_offset(disp, _gloffset_MultMatrixd) +#define SET_MultMatrixd(disp, fn) SET_by_offset(disp, _gloffset_MultMatrixd, fn) +#define CALL_Ortho(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_Ortho, parameters) +#define GET_Ortho(disp) GET_by_offset(disp, _gloffset_Ortho) +#define SET_Ortho(disp, fn) SET_by_offset(disp, _gloffset_Ortho, fn) +#define CALL_PopMatrix(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_PopMatrix, parameters) +#define GET_PopMatrix(disp) GET_by_offset(disp, _gloffset_PopMatrix) +#define SET_PopMatrix(disp, fn) SET_by_offset(disp, _gloffset_PopMatrix, fn) +#define CALL_PushMatrix(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_PushMatrix, parameters) +#define GET_PushMatrix(disp) GET_by_offset(disp, _gloffset_PushMatrix) +#define SET_PushMatrix(disp, fn) SET_by_offset(disp, _gloffset_PushMatrix, fn) +#define CALL_Rotated(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_Rotated, parameters) +#define GET_Rotated(disp) GET_by_offset(disp, _gloffset_Rotated) +#define SET_Rotated(disp, fn) SET_by_offset(disp, _gloffset_Rotated, fn) +#define CALL_Rotatef(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_Rotatef, parameters) +#define GET_Rotatef(disp) GET_by_offset(disp, _gloffset_Rotatef) +#define SET_Rotatef(disp, fn) SET_by_offset(disp, _gloffset_Rotatef, fn) +#define CALL_Scaled(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_Scaled, parameters) +#define GET_Scaled(disp) GET_by_offset(disp, _gloffset_Scaled) +#define SET_Scaled(disp, fn) SET_by_offset(disp, _gloffset_Scaled, fn) +#define CALL_Scalef(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_Scalef, parameters) +#define GET_Scalef(disp) GET_by_offset(disp, _gloffset_Scalef) +#define SET_Scalef(disp, fn) SET_by_offset(disp, _gloffset_Scalef, fn) +#define CALL_Translated(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_Translated, parameters) +#define GET_Translated(disp) GET_by_offset(disp, _gloffset_Translated) +#define SET_Translated(disp, fn) SET_by_offset(disp, _gloffset_Translated, fn) +#define CALL_Translatef(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_Translatef, parameters) +#define GET_Translatef(disp) GET_by_offset(disp, _gloffset_Translatef) +#define SET_Translatef(disp, fn) SET_by_offset(disp, _gloffset_Translatef, fn) +#define CALL_Viewport(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLsizei, GLsizei)), _gloffset_Viewport, parameters) +#define GET_Viewport(disp) GET_by_offset(disp, _gloffset_Viewport) +#define SET_Viewport(disp, fn) SET_by_offset(disp, _gloffset_Viewport, fn) +#define CALL_ArrayElement(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint)), _gloffset_ArrayElement, parameters) +#define GET_ArrayElement(disp) GET_by_offset(disp, _gloffset_ArrayElement) +#define SET_ArrayElement(disp, fn) SET_by_offset(disp, _gloffset_ArrayElement, fn) +#define CALL_BindTexture(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_BindTexture, parameters) +#define GET_BindTexture(disp) GET_by_offset(disp, _gloffset_BindTexture) +#define SET_BindTexture(disp, fn) SET_by_offset(disp, _gloffset_BindTexture, fn) +#define CALL_ColorPointer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, const GLvoid *)), _gloffset_ColorPointer, parameters) +#define GET_ColorPointer(disp) GET_by_offset(disp, _gloffset_ColorPointer) +#define SET_ColorPointer(disp, fn) SET_by_offset(disp, _gloffset_ColorPointer, fn) +#define CALL_DisableClientState(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_DisableClientState, parameters) +#define GET_DisableClientState(disp) GET_by_offset(disp, _gloffset_DisableClientState) +#define SET_DisableClientState(disp, fn) SET_by_offset(disp, _gloffset_DisableClientState, fn) +#define CALL_DrawArrays(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLsizei)), _gloffset_DrawArrays, parameters) +#define GET_DrawArrays(disp) GET_by_offset(disp, _gloffset_DrawArrays) +#define SET_DrawArrays(disp, fn) SET_by_offset(disp, _gloffset_DrawArrays, fn) +#define CALL_DrawElements(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, const GLvoid *)), _gloffset_DrawElements, parameters) +#define GET_DrawElements(disp) GET_by_offset(disp, _gloffset_DrawElements) +#define SET_DrawElements(disp, fn) SET_by_offset(disp, _gloffset_DrawElements, fn) +#define CALL_EdgeFlagPointer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLvoid *)), _gloffset_EdgeFlagPointer, parameters) +#define GET_EdgeFlagPointer(disp) GET_by_offset(disp, _gloffset_EdgeFlagPointer) +#define SET_EdgeFlagPointer(disp, fn) SET_by_offset(disp, _gloffset_EdgeFlagPointer, fn) +#define CALL_EnableClientState(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_EnableClientState, parameters) +#define GET_EnableClientState(disp) GET_by_offset(disp, _gloffset_EnableClientState) +#define SET_EnableClientState(disp, fn) SET_by_offset(disp, _gloffset_EnableClientState, fn) +#define CALL_IndexPointer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLvoid *)), _gloffset_IndexPointer, parameters) +#define GET_IndexPointer(disp) GET_by_offset(disp, _gloffset_IndexPointer) +#define SET_IndexPointer(disp, fn) SET_by_offset(disp, _gloffset_IndexPointer, fn) +#define CALL_Indexub(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLubyte)), _gloffset_Indexub, parameters) +#define GET_Indexub(disp) GET_by_offset(disp, _gloffset_Indexub) +#define SET_Indexub(disp, fn) SET_by_offset(disp, _gloffset_Indexub, fn) +#define CALL_Indexubv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLubyte *)), _gloffset_Indexubv, parameters) +#define GET_Indexubv(disp) GET_by_offset(disp, _gloffset_Indexubv) +#define SET_Indexubv(disp, fn) SET_by_offset(disp, _gloffset_Indexubv, fn) +#define CALL_InterleavedArrays(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLvoid *)), _gloffset_InterleavedArrays, parameters) +#define GET_InterleavedArrays(disp) GET_by_offset(disp, _gloffset_InterleavedArrays) +#define SET_InterleavedArrays(disp, fn) SET_by_offset(disp, _gloffset_InterleavedArrays, fn) +#define CALL_NormalPointer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLvoid *)), _gloffset_NormalPointer, parameters) +#define GET_NormalPointer(disp) GET_by_offset(disp, _gloffset_NormalPointer) +#define SET_NormalPointer(disp, fn) SET_by_offset(disp, _gloffset_NormalPointer, fn) +#define CALL_PolygonOffset(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_PolygonOffset, parameters) +#define GET_PolygonOffset(disp) GET_by_offset(disp, _gloffset_PolygonOffset) +#define SET_PolygonOffset(disp, fn) SET_by_offset(disp, _gloffset_PolygonOffset, fn) +#define CALL_TexCoordPointer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, const GLvoid *)), _gloffset_TexCoordPointer, parameters) +#define GET_TexCoordPointer(disp) GET_by_offset(disp, _gloffset_TexCoordPointer) +#define SET_TexCoordPointer(disp, fn) SET_by_offset(disp, _gloffset_TexCoordPointer, fn) +#define CALL_VertexPointer(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, const GLvoid *)), _gloffset_VertexPointer, parameters) +#define GET_VertexPointer(disp) GET_by_offset(disp, _gloffset_VertexPointer) +#define SET_VertexPointer(disp, fn) SET_by_offset(disp, _gloffset_VertexPointer, fn) +#define CALL_AreTexturesResident(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsizei, const GLuint *, GLboolean *)), _gloffset_AreTexturesResident, parameters) +#define GET_AreTexturesResident(disp) GET_by_offset(disp, _gloffset_AreTexturesResident) +#define SET_AreTexturesResident(disp, fn) SET_by_offset(disp, _gloffset_AreTexturesResident, fn) +#define CALL_CopyTexImage1D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint)), _gloffset_CopyTexImage1D, parameters) +#define GET_CopyTexImage1D(disp) GET_by_offset(disp, _gloffset_CopyTexImage1D) +#define SET_CopyTexImage1D(disp, fn) SET_by_offset(disp, _gloffset_CopyTexImage1D, fn) +#define CALL_CopyTexImage2D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint)), _gloffset_CopyTexImage2D, parameters) +#define GET_CopyTexImage2D(disp) GET_by_offset(disp, _gloffset_CopyTexImage2D) +#define SET_CopyTexImage2D(disp, fn) SET_by_offset(disp, _gloffset_CopyTexImage2D, fn) +#define CALL_CopyTexSubImage1D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint, GLsizei)), _gloffset_CopyTexSubImage1D, parameters) +#define GET_CopyTexSubImage1D(disp) GET_by_offset(disp, _gloffset_CopyTexSubImage1D) +#define SET_CopyTexSubImage1D(disp, fn) SET_by_offset(disp, _gloffset_CopyTexSubImage1D, fn) +#define CALL_CopyTexSubImage2D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)), _gloffset_CopyTexSubImage2D, parameters) +#define GET_CopyTexSubImage2D(disp) GET_by_offset(disp, _gloffset_CopyTexSubImage2D) +#define SET_CopyTexSubImage2D(disp, fn) SET_by_offset(disp, _gloffset_CopyTexSubImage2D, fn) +#define CALL_DeleteTextures(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteTextures, parameters) +#define GET_DeleteTextures(disp) GET_by_offset(disp, _gloffset_DeleteTextures) +#define SET_DeleteTextures(disp, fn) SET_by_offset(disp, _gloffset_DeleteTextures, fn) +#define CALL_GenTextures(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenTextures, parameters) +#define GET_GenTextures(disp) GET_by_offset(disp, _gloffset_GenTextures) +#define SET_GenTextures(disp, fn) SET_by_offset(disp, _gloffset_GenTextures, fn) +#define CALL_GetPointerv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLvoid **)), _gloffset_GetPointerv, parameters) +#define GET_GetPointerv(disp) GET_by_offset(disp, _gloffset_GetPointerv) +#define SET_GetPointerv(disp, fn) SET_by_offset(disp, _gloffset_GetPointerv, fn) +#define CALL_IsTexture(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsTexture, parameters) +#define GET_IsTexture(disp) GET_by_offset(disp, _gloffset_IsTexture) +#define SET_IsTexture(disp, fn) SET_by_offset(disp, _gloffset_IsTexture, fn) +#define CALL_PrioritizeTextures(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *, const GLclampf *)), _gloffset_PrioritizeTextures, parameters) +#define GET_PrioritizeTextures(disp) GET_by_offset(disp, _gloffset_PrioritizeTextures) +#define SET_PrioritizeTextures(disp, fn) SET_by_offset(disp, _gloffset_PrioritizeTextures, fn) +#define CALL_TexSubImage1D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_TexSubImage1D, parameters) +#define GET_TexSubImage1D(disp) GET_by_offset(disp, _gloffset_TexSubImage1D) +#define SET_TexSubImage1D(disp, fn) SET_by_offset(disp, _gloffset_TexSubImage1D, fn) +#define CALL_TexSubImage2D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_TexSubImage2D, parameters) +#define GET_TexSubImage2D(disp) GET_by_offset(disp, _gloffset_TexSubImage2D) +#define SET_TexSubImage2D(disp, fn) SET_by_offset(disp, _gloffset_TexSubImage2D, fn) +#define CALL_PopClientAttrib(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_PopClientAttrib, parameters) +#define GET_PopClientAttrib(disp) GET_by_offset(disp, _gloffset_PopClientAttrib) +#define SET_PopClientAttrib(disp, fn) SET_by_offset(disp, _gloffset_PopClientAttrib, fn) +#define CALL_PushClientAttrib(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbitfield)), _gloffset_PushClientAttrib, parameters) +#define GET_PushClientAttrib(disp) GET_by_offset(disp, _gloffset_PushClientAttrib) +#define SET_PushClientAttrib(disp, fn) SET_by_offset(disp, _gloffset_PushClientAttrib, fn) +#define CALL_BlendColor(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLclampf, GLclampf, GLclampf)), _gloffset_BlendColor, parameters) +#define GET_BlendColor(disp) GET_by_offset(disp, _gloffset_BlendColor) +#define SET_BlendColor(disp, fn) SET_by_offset(disp, _gloffset_BlendColor, fn) +#define CALL_BlendEquation(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_BlendEquation, parameters) +#define GET_BlendEquation(disp) GET_by_offset(disp, _gloffset_BlendEquation) +#define SET_BlendEquation(disp, fn) SET_by_offset(disp, _gloffset_BlendEquation, fn) +#define CALL_DrawRangeElements(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *)), _gloffset_DrawRangeElements, parameters) +#define GET_DrawRangeElements(disp) GET_by_offset(disp, _gloffset_DrawRangeElements) +#define SET_DrawRangeElements(disp, fn) SET_by_offset(disp, _gloffset_DrawRangeElements, fn) +#define CALL_ColorTable(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_ColorTable, parameters) +#define GET_ColorTable(disp) GET_by_offset(disp, _gloffset_ColorTable) +#define SET_ColorTable(disp, fn) SET_by_offset(disp, _gloffset_ColorTable, fn) +#define CALL_ColorTableParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLfloat *)), _gloffset_ColorTableParameterfv, parameters) +#define GET_ColorTableParameterfv(disp) GET_by_offset(disp, _gloffset_ColorTableParameterfv) +#define SET_ColorTableParameterfv(disp, fn) SET_by_offset(disp, _gloffset_ColorTableParameterfv, fn) +#define CALL_ColorTableParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_ColorTableParameteriv, parameters) +#define GET_ColorTableParameteriv(disp) GET_by_offset(disp, _gloffset_ColorTableParameteriv) +#define SET_ColorTableParameteriv(disp, fn) SET_by_offset(disp, _gloffset_ColorTableParameteriv, fn) +#define CALL_CopyColorTable(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLint, GLsizei)), _gloffset_CopyColorTable, parameters) +#define GET_CopyColorTable(disp) GET_by_offset(disp, _gloffset_CopyColorTable) +#define SET_CopyColorTable(disp, fn) SET_by_offset(disp, _gloffset_CopyColorTable, fn) +#define CALL_GetColorTable(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLvoid *)), _gloffset_GetColorTable, parameters) +#define GET_GetColorTable(disp) GET_by_offset(disp, _gloffset_GetColorTable) +#define SET_GetColorTable(disp, fn) SET_by_offset(disp, _gloffset_GetColorTable, fn) +#define CALL_GetColorTableParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetColorTableParameterfv, parameters) +#define GET_GetColorTableParameterfv(disp) GET_by_offset(disp, _gloffset_GetColorTableParameterfv) +#define SET_GetColorTableParameterfv(disp, fn) SET_by_offset(disp, _gloffset_GetColorTableParameterfv, fn) +#define CALL_GetColorTableParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetColorTableParameteriv, parameters) +#define GET_GetColorTableParameteriv(disp) GET_by_offset(disp, _gloffset_GetColorTableParameteriv) +#define SET_GetColorTableParameteriv(disp, fn) SET_by_offset(disp, _gloffset_GetColorTableParameteriv, fn) +#define CALL_ColorSubTable(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_ColorSubTable, parameters) +#define GET_ColorSubTable(disp) GET_by_offset(disp, _gloffset_ColorSubTable) +#define SET_ColorSubTable(disp, fn) SET_by_offset(disp, _gloffset_ColorSubTable, fn) +#define CALL_CopyColorSubTable(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLint, GLint, GLsizei)), _gloffset_CopyColorSubTable, parameters) +#define GET_CopyColorSubTable(disp) GET_by_offset(disp, _gloffset_CopyColorSubTable) +#define SET_CopyColorSubTable(disp, fn) SET_by_offset(disp, _gloffset_CopyColorSubTable, fn) +#define CALL_ConvolutionFilter1D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_ConvolutionFilter1D, parameters) +#define GET_ConvolutionFilter1D(disp) GET_by_offset(disp, _gloffset_ConvolutionFilter1D) +#define SET_ConvolutionFilter1D(disp, fn) SET_by_offset(disp, _gloffset_ConvolutionFilter1D, fn) +#define CALL_ConvolutionFilter2D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_ConvolutionFilter2D, parameters) +#define GET_ConvolutionFilter2D(disp) GET_by_offset(disp, _gloffset_ConvolutionFilter2D) +#define SET_ConvolutionFilter2D(disp, fn) SET_by_offset(disp, _gloffset_ConvolutionFilter2D, fn) +#define CALL_ConvolutionParameterf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat)), _gloffset_ConvolutionParameterf, parameters) +#define GET_ConvolutionParameterf(disp) GET_by_offset(disp, _gloffset_ConvolutionParameterf) +#define SET_ConvolutionParameterf(disp, fn) SET_by_offset(disp, _gloffset_ConvolutionParameterf, fn) +#define CALL_ConvolutionParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLfloat *)), _gloffset_ConvolutionParameterfv, parameters) +#define GET_ConvolutionParameterfv(disp) GET_by_offset(disp, _gloffset_ConvolutionParameterfv) +#define SET_ConvolutionParameterfv(disp, fn) SET_by_offset(disp, _gloffset_ConvolutionParameterfv, fn) +#define CALL_ConvolutionParameteri(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), _gloffset_ConvolutionParameteri, parameters) +#define GET_ConvolutionParameteri(disp) GET_by_offset(disp, _gloffset_ConvolutionParameteri) +#define SET_ConvolutionParameteri(disp, fn) SET_by_offset(disp, _gloffset_ConvolutionParameteri, fn) +#define CALL_ConvolutionParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_ConvolutionParameteriv, parameters) +#define GET_ConvolutionParameteriv(disp) GET_by_offset(disp, _gloffset_ConvolutionParameteriv) +#define SET_ConvolutionParameteriv(disp, fn) SET_by_offset(disp, _gloffset_ConvolutionParameteriv, fn) +#define CALL_CopyConvolutionFilter1D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLint, GLsizei)), _gloffset_CopyConvolutionFilter1D, parameters) +#define GET_CopyConvolutionFilter1D(disp) GET_by_offset(disp, _gloffset_CopyConvolutionFilter1D) +#define SET_CopyConvolutionFilter1D(disp, fn) SET_by_offset(disp, _gloffset_CopyConvolutionFilter1D, fn) +#define CALL_CopyConvolutionFilter2D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLint, GLsizei, GLsizei)), _gloffset_CopyConvolutionFilter2D, parameters) +#define GET_CopyConvolutionFilter2D(disp) GET_by_offset(disp, _gloffset_CopyConvolutionFilter2D) +#define SET_CopyConvolutionFilter2D(disp, fn) SET_by_offset(disp, _gloffset_CopyConvolutionFilter2D, fn) +#define CALL_GetConvolutionFilter(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLvoid *)), _gloffset_GetConvolutionFilter, parameters) +#define GET_GetConvolutionFilter(disp) GET_by_offset(disp, _gloffset_GetConvolutionFilter) +#define SET_GetConvolutionFilter(disp, fn) SET_by_offset(disp, _gloffset_GetConvolutionFilter, fn) +#define CALL_GetConvolutionParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetConvolutionParameterfv, parameters) +#define GET_GetConvolutionParameterfv(disp) GET_by_offset(disp, _gloffset_GetConvolutionParameterfv) +#define SET_GetConvolutionParameterfv(disp, fn) SET_by_offset(disp, _gloffset_GetConvolutionParameterfv, fn) +#define CALL_GetConvolutionParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetConvolutionParameteriv, parameters) +#define GET_GetConvolutionParameteriv(disp) GET_by_offset(disp, _gloffset_GetConvolutionParameteriv) +#define SET_GetConvolutionParameteriv(disp, fn) SET_by_offset(disp, _gloffset_GetConvolutionParameteriv, fn) +#define CALL_GetSeparableFilter(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *)), _gloffset_GetSeparableFilter, parameters) +#define GET_GetSeparableFilter(disp) GET_by_offset(disp, _gloffset_GetSeparableFilter) +#define SET_GetSeparableFilter(disp, fn) SET_by_offset(disp, _gloffset_GetSeparableFilter, fn) +#define CALL_SeparableFilter2D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *)), _gloffset_SeparableFilter2D, parameters) +#define GET_SeparableFilter2D(disp) GET_by_offset(disp, _gloffset_SeparableFilter2D) +#define SET_SeparableFilter2D(disp, fn) SET_by_offset(disp, _gloffset_SeparableFilter2D, fn) +#define CALL_GetHistogram(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)), _gloffset_GetHistogram, parameters) +#define GET_GetHistogram(disp) GET_by_offset(disp, _gloffset_GetHistogram) +#define SET_GetHistogram(disp, fn) SET_by_offset(disp, _gloffset_GetHistogram, fn) +#define CALL_GetHistogramParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetHistogramParameterfv, parameters) +#define GET_GetHistogramParameterfv(disp) GET_by_offset(disp, _gloffset_GetHistogramParameterfv) +#define SET_GetHistogramParameterfv(disp, fn) SET_by_offset(disp, _gloffset_GetHistogramParameterfv, fn) +#define CALL_GetHistogramParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetHistogramParameteriv, parameters) +#define GET_GetHistogramParameteriv(disp) GET_by_offset(disp, _gloffset_GetHistogramParameteriv) +#define SET_GetHistogramParameteriv(disp, fn) SET_by_offset(disp, _gloffset_GetHistogramParameteriv, fn) +#define CALL_GetMinmax(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLboolean, GLenum, GLenum, GLvoid *)), _gloffset_GetMinmax, parameters) +#define GET_GetMinmax(disp) GET_by_offset(disp, _gloffset_GetMinmax) +#define SET_GetMinmax(disp, fn) SET_by_offset(disp, _gloffset_GetMinmax, fn) +#define CALL_GetMinmaxParameterfv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetMinmaxParameterfv, parameters) +#define GET_GetMinmaxParameterfv(disp) GET_by_offset(disp, _gloffset_GetMinmaxParameterfv) +#define SET_GetMinmaxParameterfv(disp, fn) SET_by_offset(disp, _gloffset_GetMinmaxParameterfv, fn) +#define CALL_GetMinmaxParameteriv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetMinmaxParameteriv, parameters) +#define GET_GetMinmaxParameteriv(disp) GET_by_offset(disp, _gloffset_GetMinmaxParameteriv) +#define SET_GetMinmaxParameteriv(disp, fn) SET_by_offset(disp, _gloffset_GetMinmaxParameteriv, fn) +#define CALL_Histogram(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, GLboolean)), _gloffset_Histogram, parameters) +#define GET_Histogram(disp) GET_by_offset(disp, _gloffset_Histogram) +#define SET_Histogram(disp, fn) SET_by_offset(disp, _gloffset_Histogram, fn) +#define CALL_Minmax(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLboolean)), _gloffset_Minmax, parameters) +#define GET_Minmax(disp) GET_by_offset(disp, _gloffset_Minmax) +#define SET_Minmax(disp, fn) SET_by_offset(disp, _gloffset_Minmax, fn) +#define CALL_ResetHistogram(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ResetHistogram, parameters) +#define GET_ResetHistogram(disp) GET_by_offset(disp, _gloffset_ResetHistogram) +#define SET_ResetHistogram(disp, fn) SET_by_offset(disp, _gloffset_ResetHistogram, fn) +#define CALL_ResetMinmax(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ResetMinmax, parameters) +#define GET_ResetMinmax(disp) GET_by_offset(disp, _gloffset_ResetMinmax) +#define SET_ResetMinmax(disp, fn) SET_by_offset(disp, _gloffset_ResetMinmax, fn) +#define CALL_TexImage3D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *)), _gloffset_TexImage3D, parameters) +#define GET_TexImage3D(disp) GET_by_offset(disp, _gloffset_TexImage3D) +#define SET_TexImage3D(disp, fn) SET_by_offset(disp, _gloffset_TexImage3D, fn) +#define CALL_TexSubImage3D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)), _gloffset_TexSubImage3D, parameters) +#define GET_TexSubImage3D(disp) GET_by_offset(disp, _gloffset_TexSubImage3D) +#define SET_TexSubImage3D(disp, fn) SET_by_offset(disp, _gloffset_TexSubImage3D, fn) +#define CALL_CopyTexSubImage3D(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)), _gloffset_CopyTexSubImage3D, parameters) +#define GET_CopyTexSubImage3D(disp) GET_by_offset(disp, _gloffset_CopyTexSubImage3D) +#define SET_CopyTexSubImage3D(disp, fn) SET_by_offset(disp, _gloffset_CopyTexSubImage3D, fn) +#define CALL_ActiveTextureARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ActiveTextureARB, parameters) +#define GET_ActiveTextureARB(disp) GET_by_offset(disp, _gloffset_ActiveTextureARB) +#define SET_ActiveTextureARB(disp, fn) SET_by_offset(disp, _gloffset_ActiveTextureARB, fn) +#define CALL_ClientActiveTextureARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ClientActiveTextureARB, parameters) +#define GET_ClientActiveTextureARB(disp) GET_by_offset(disp, _gloffset_ClientActiveTextureARB) +#define SET_ClientActiveTextureARB(disp, fn) SET_by_offset(disp, _gloffset_ClientActiveTextureARB, fn) +#define CALL_MultiTexCoord1dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble)), _gloffset_MultiTexCoord1dARB, parameters) +#define GET_MultiTexCoord1dARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1dARB) +#define SET_MultiTexCoord1dARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1dARB, fn) +#define CALL_MultiTexCoord1dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLdouble *)), _gloffset_MultiTexCoord1dvARB, parameters) +#define GET_MultiTexCoord1dvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1dvARB) +#define SET_MultiTexCoord1dvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1dvARB, fn) +#define CALL_MultiTexCoord1fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_MultiTexCoord1fARB, parameters) +#define GET_MultiTexCoord1fARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1fARB) +#define SET_MultiTexCoord1fARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1fARB, fn) +#define CALL_MultiTexCoord1fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_MultiTexCoord1fvARB, parameters) +#define GET_MultiTexCoord1fvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1fvARB) +#define SET_MultiTexCoord1fvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1fvARB, fn) +#define CALL_MultiTexCoord1iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_MultiTexCoord1iARB, parameters) +#define GET_MultiTexCoord1iARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1iARB) +#define SET_MultiTexCoord1iARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1iARB, fn) +#define CALL_MultiTexCoord1ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_MultiTexCoord1ivARB, parameters) +#define GET_MultiTexCoord1ivARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1ivARB) +#define SET_MultiTexCoord1ivARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1ivARB, fn) +#define CALL_MultiTexCoord1sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLshort)), _gloffset_MultiTexCoord1sARB, parameters) +#define GET_MultiTexCoord1sARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1sARB) +#define SET_MultiTexCoord1sARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1sARB, fn) +#define CALL_MultiTexCoord1svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLshort *)), _gloffset_MultiTexCoord1svARB, parameters) +#define GET_MultiTexCoord1svARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord1svARB) +#define SET_MultiTexCoord1svARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord1svARB, fn) +#define CALL_MultiTexCoord2dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble, GLdouble)), _gloffset_MultiTexCoord2dARB, parameters) +#define GET_MultiTexCoord2dARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2dARB) +#define SET_MultiTexCoord2dARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2dARB, fn) +#define CALL_MultiTexCoord2dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLdouble *)), _gloffset_MultiTexCoord2dvARB, parameters) +#define GET_MultiTexCoord2dvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2dvARB) +#define SET_MultiTexCoord2dvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2dvARB, fn) +#define CALL_MultiTexCoord2fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat, GLfloat)), _gloffset_MultiTexCoord2fARB, parameters) +#define GET_MultiTexCoord2fARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2fARB) +#define SET_MultiTexCoord2fARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2fARB, fn) +#define CALL_MultiTexCoord2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_MultiTexCoord2fvARB, parameters) +#define GET_MultiTexCoord2fvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2fvARB) +#define SET_MultiTexCoord2fvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2fvARB, fn) +#define CALL_MultiTexCoord2iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint)), _gloffset_MultiTexCoord2iARB, parameters) +#define GET_MultiTexCoord2iARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2iARB) +#define SET_MultiTexCoord2iARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2iARB, fn) +#define CALL_MultiTexCoord2ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_MultiTexCoord2ivARB, parameters) +#define GET_MultiTexCoord2ivARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2ivARB) +#define SET_MultiTexCoord2ivARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2ivARB, fn) +#define CALL_MultiTexCoord2sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLshort, GLshort)), _gloffset_MultiTexCoord2sARB, parameters) +#define GET_MultiTexCoord2sARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2sARB) +#define SET_MultiTexCoord2sARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2sARB, fn) +#define CALL_MultiTexCoord2svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLshort *)), _gloffset_MultiTexCoord2svARB, parameters) +#define GET_MultiTexCoord2svARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord2svARB) +#define SET_MultiTexCoord2svARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord2svARB, fn) +#define CALL_MultiTexCoord3dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble, GLdouble, GLdouble)), _gloffset_MultiTexCoord3dARB, parameters) +#define GET_MultiTexCoord3dARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3dARB) +#define SET_MultiTexCoord3dARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3dARB, fn) +#define CALL_MultiTexCoord3dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLdouble *)), _gloffset_MultiTexCoord3dvARB, parameters) +#define GET_MultiTexCoord3dvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3dvARB) +#define SET_MultiTexCoord3dvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3dvARB, fn) +#define CALL_MultiTexCoord3fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat, GLfloat, GLfloat)), _gloffset_MultiTexCoord3fARB, parameters) +#define GET_MultiTexCoord3fARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3fARB) +#define SET_MultiTexCoord3fARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3fARB, fn) +#define CALL_MultiTexCoord3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_MultiTexCoord3fvARB, parameters) +#define GET_MultiTexCoord3fvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3fvARB) +#define SET_MultiTexCoord3fvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3fvARB, fn) +#define CALL_MultiTexCoord3iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint)), _gloffset_MultiTexCoord3iARB, parameters) +#define GET_MultiTexCoord3iARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3iARB) +#define SET_MultiTexCoord3iARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3iARB, fn) +#define CALL_MultiTexCoord3ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_MultiTexCoord3ivARB, parameters) +#define GET_MultiTexCoord3ivARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3ivARB) +#define SET_MultiTexCoord3ivARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3ivARB, fn) +#define CALL_MultiTexCoord3sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLshort, GLshort, GLshort)), _gloffset_MultiTexCoord3sARB, parameters) +#define GET_MultiTexCoord3sARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3sARB) +#define SET_MultiTexCoord3sARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3sARB, fn) +#define CALL_MultiTexCoord3svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLshort *)), _gloffset_MultiTexCoord3svARB, parameters) +#define GET_MultiTexCoord3svARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord3svARB) +#define SET_MultiTexCoord3svARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord3svARB, fn) +#define CALL_MultiTexCoord4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_MultiTexCoord4dARB, parameters) +#define GET_MultiTexCoord4dARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4dARB) +#define SET_MultiTexCoord4dARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4dARB, fn) +#define CALL_MultiTexCoord4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLdouble *)), _gloffset_MultiTexCoord4dvARB, parameters) +#define GET_MultiTexCoord4dvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4dvARB) +#define SET_MultiTexCoord4dvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4dvARB, fn) +#define CALL_MultiTexCoord4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_MultiTexCoord4fARB, parameters) +#define GET_MultiTexCoord4fARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4fARB) +#define SET_MultiTexCoord4fARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4fARB, fn) +#define CALL_MultiTexCoord4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_MultiTexCoord4fvARB, parameters) +#define GET_MultiTexCoord4fvARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4fvARB) +#define SET_MultiTexCoord4fvARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4fvARB, fn) +#define CALL_MultiTexCoord4iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint)), _gloffset_MultiTexCoord4iARB, parameters) +#define GET_MultiTexCoord4iARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4iARB) +#define SET_MultiTexCoord4iARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4iARB, fn) +#define CALL_MultiTexCoord4ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_MultiTexCoord4ivARB, parameters) +#define GET_MultiTexCoord4ivARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4ivARB) +#define SET_MultiTexCoord4ivARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4ivARB, fn) +#define CALL_MultiTexCoord4sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLshort, GLshort, GLshort, GLshort)), _gloffset_MultiTexCoord4sARB, parameters) +#define GET_MultiTexCoord4sARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4sARB) +#define SET_MultiTexCoord4sARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4sARB, fn) +#define CALL_MultiTexCoord4svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLshort *)), _gloffset_MultiTexCoord4svARB, parameters) +#define GET_MultiTexCoord4svARB(disp) GET_by_offset(disp, _gloffset_MultiTexCoord4svARB) +#define SET_MultiTexCoord4svARB(disp, fn) SET_by_offset(disp, _gloffset_MultiTexCoord4svARB, fn) +#define CALL_AttachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), _gloffset_AttachShader, parameters) +#define GET_AttachShader(disp) GET_by_offset(disp, _gloffset_AttachShader) +#define SET_AttachShader(disp, fn) SET_by_offset(disp, _gloffset_AttachShader, fn) +#define CALL_CreateProgram(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(void)), _gloffset_CreateProgram, parameters) +#define GET_CreateProgram(disp) GET_by_offset(disp, _gloffset_CreateProgram) +#define SET_CreateProgram(disp, fn) SET_by_offset(disp, _gloffset_CreateProgram, fn) +#define CALL_CreateShader(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLenum)), _gloffset_CreateShader, parameters) +#define GET_CreateShader(disp) GET_by_offset(disp, _gloffset_CreateShader) +#define SET_CreateShader(disp, fn) SET_by_offset(disp, _gloffset_CreateShader, fn) +#define CALL_DeleteProgram(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_DeleteProgram, parameters) +#define GET_DeleteProgram(disp) GET_by_offset(disp, _gloffset_DeleteProgram) +#define SET_DeleteProgram(disp, fn) SET_by_offset(disp, _gloffset_DeleteProgram, fn) +#define CALL_DeleteShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_DeleteShader, parameters) +#define GET_DeleteShader(disp) GET_by_offset(disp, _gloffset_DeleteShader) +#define SET_DeleteShader(disp, fn) SET_by_offset(disp, _gloffset_DeleteShader, fn) +#define CALL_DetachShader(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), _gloffset_DetachShader, parameters) +#define GET_DetachShader(disp) GET_by_offset(disp, _gloffset_DetachShader) +#define SET_DetachShader(disp, fn) SET_by_offset(disp, _gloffset_DetachShader, fn) +#define CALL_GetAttachedShaders(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLuint *)), _gloffset_GetAttachedShaders, parameters) +#define GET_GetAttachedShaders(disp) GET_by_offset(disp, _gloffset_GetAttachedShaders) +#define SET_GetAttachedShaders(disp, fn) SET_by_offset(disp, _gloffset_GetAttachedShaders, fn) +#define CALL_GetProgramInfoLog(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLchar *)), _gloffset_GetProgramInfoLog, parameters) +#define GET_GetProgramInfoLog(disp) GET_by_offset(disp, _gloffset_GetProgramInfoLog) +#define SET_GetProgramInfoLog(disp, fn) SET_by_offset(disp, _gloffset_GetProgramInfoLog, fn) +#define CALL_GetProgramiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetProgramiv, parameters) +#define GET_GetProgramiv(disp) GET_by_offset(disp, _gloffset_GetProgramiv) +#define SET_GetProgramiv(disp, fn) SET_by_offset(disp, _gloffset_GetProgramiv, fn) +#define CALL_GetShaderInfoLog(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, GLsizei *, GLchar *)), _gloffset_GetShaderInfoLog, parameters) +#define GET_GetShaderInfoLog(disp) GET_by_offset(disp, _gloffset_GetShaderInfoLog) +#define SET_GetShaderInfoLog(disp, fn) SET_by_offset(disp, _gloffset_GetShaderInfoLog, fn) +#define CALL_GetShaderiv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetShaderiv, parameters) +#define GET_GetShaderiv(disp) GET_by_offset(disp, _gloffset_GetShaderiv) +#define SET_GetShaderiv(disp, fn) SET_by_offset(disp, _gloffset_GetShaderiv, fn) +#define CALL_IsProgram(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsProgram, parameters) +#define GET_IsProgram(disp) GET_by_offset(disp, _gloffset_IsProgram) +#define SET_IsProgram(disp, fn) SET_by_offset(disp, _gloffset_IsProgram, fn) +#define CALL_IsShader(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsShader, parameters) +#define GET_IsShader(disp) GET_by_offset(disp, _gloffset_IsShader) +#define SET_IsShader(disp, fn) SET_by_offset(disp, _gloffset_IsShader, fn) +#define CALL_StencilFuncSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), _gloffset_StencilFuncSeparate, parameters) +#define GET_StencilFuncSeparate(disp) GET_by_offset(disp, _gloffset_StencilFuncSeparate) +#define SET_StencilFuncSeparate(disp, fn) SET_by_offset(disp, _gloffset_StencilFuncSeparate, fn) +#define CALL_StencilMaskSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_StencilMaskSeparate, parameters) +#define GET_StencilMaskSeparate(disp) GET_by_offset(disp, _gloffset_StencilMaskSeparate) +#define SET_StencilMaskSeparate(disp, fn) SET_by_offset(disp, _gloffset_StencilMaskSeparate, fn) +#define CALL_StencilOpSeparate(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), _gloffset_StencilOpSeparate, parameters) +#define GET_StencilOpSeparate(disp) GET_by_offset(disp, _gloffset_StencilOpSeparate) +#define SET_StencilOpSeparate(disp, fn) SET_by_offset(disp, _gloffset_StencilOpSeparate, fn) +#define CALL_UniformMatrix2x3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix2x3fv, parameters) +#define GET_UniformMatrix2x3fv(disp) GET_by_offset(disp, _gloffset_UniformMatrix2x3fv) +#define SET_UniformMatrix2x3fv(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix2x3fv, fn) +#define CALL_UniformMatrix2x4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix2x4fv, parameters) +#define GET_UniformMatrix2x4fv(disp) GET_by_offset(disp, _gloffset_UniformMatrix2x4fv) +#define SET_UniformMatrix2x4fv(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix2x4fv, fn) +#define CALL_UniformMatrix3x2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix3x2fv, parameters) +#define GET_UniformMatrix3x2fv(disp) GET_by_offset(disp, _gloffset_UniformMatrix3x2fv) +#define SET_UniformMatrix3x2fv(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix3x2fv, fn) +#define CALL_UniformMatrix3x4fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix3x4fv, parameters) +#define GET_UniformMatrix3x4fv(disp) GET_by_offset(disp, _gloffset_UniformMatrix3x4fv) +#define SET_UniformMatrix3x4fv(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix3x4fv, fn) +#define CALL_UniformMatrix4x2fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix4x2fv, parameters) +#define GET_UniformMatrix4x2fv(disp) GET_by_offset(disp, _gloffset_UniformMatrix4x2fv) +#define SET_UniformMatrix4x2fv(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix4x2fv, fn) +#define CALL_UniformMatrix4x3fv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix4x3fv, parameters) +#define GET_UniformMatrix4x3fv(disp) GET_by_offset(disp, _gloffset_UniformMatrix4x3fv) +#define SET_UniformMatrix4x3fv(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix4x3fv, fn) +#define CALL_DrawArraysInstanced(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLsizei, GLsizei)), _gloffset_DrawArraysInstanced, parameters) +#define GET_DrawArraysInstanced(disp) GET_by_offset(disp, _gloffset_DrawArraysInstanced) +#define SET_DrawArraysInstanced(disp, fn) SET_by_offset(disp, _gloffset_DrawArraysInstanced, fn) +#define CALL_DrawElementsInstanced(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei)), _gloffset_DrawElementsInstanced, parameters) +#define GET_DrawElementsInstanced(disp) GET_by_offset(disp, _gloffset_DrawElementsInstanced) +#define SET_DrawElementsInstanced(disp, fn) SET_by_offset(disp, _gloffset_DrawElementsInstanced, fn) +#define CALL_LoadTransposeMatrixdARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_LoadTransposeMatrixdARB, parameters) +#define GET_LoadTransposeMatrixdARB(disp) GET_by_offset(disp, _gloffset_LoadTransposeMatrixdARB) +#define SET_LoadTransposeMatrixdARB(disp, fn) SET_by_offset(disp, _gloffset_LoadTransposeMatrixdARB, fn) +#define CALL_LoadTransposeMatrixfARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_LoadTransposeMatrixfARB, parameters) +#define GET_LoadTransposeMatrixfARB(disp) GET_by_offset(disp, _gloffset_LoadTransposeMatrixfARB) +#define SET_LoadTransposeMatrixfARB(disp, fn) SET_by_offset(disp, _gloffset_LoadTransposeMatrixfARB, fn) +#define CALL_MultTransposeMatrixdARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_MultTransposeMatrixdARB, parameters) +#define GET_MultTransposeMatrixdARB(disp) GET_by_offset(disp, _gloffset_MultTransposeMatrixdARB) +#define SET_MultTransposeMatrixdARB(disp, fn) SET_by_offset(disp, _gloffset_MultTransposeMatrixdARB, fn) +#define CALL_MultTransposeMatrixfARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_MultTransposeMatrixfARB, parameters) +#define GET_MultTransposeMatrixfARB(disp) GET_by_offset(disp, _gloffset_MultTransposeMatrixfARB) +#define SET_MultTransposeMatrixfARB(disp, fn) SET_by_offset(disp, _gloffset_MultTransposeMatrixfARB, fn) +#define CALL_SampleCoverageARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLboolean)), _gloffset_SampleCoverageARB, parameters) +#define GET_SampleCoverageARB(disp) GET_by_offset(disp, _gloffset_SampleCoverageARB) +#define SET_SampleCoverageARB(disp, fn) SET_by_offset(disp, _gloffset_SampleCoverageARB, fn) +#define CALL_CompressedTexImage1DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *)), _gloffset_CompressedTexImage1DARB, parameters) +#define GET_CompressedTexImage1DARB(disp) GET_by_offset(disp, _gloffset_CompressedTexImage1DARB) +#define SET_CompressedTexImage1DARB(disp, fn) SET_by_offset(disp, _gloffset_CompressedTexImage1DARB, fn) +#define CALL_CompressedTexImage2DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)), _gloffset_CompressedTexImage2DARB, parameters) +#define GET_CompressedTexImage2DARB(disp) GET_by_offset(disp, _gloffset_CompressedTexImage2DARB) +#define SET_CompressedTexImage2DARB(disp, fn) SET_by_offset(disp, _gloffset_CompressedTexImage2DARB, fn) +#define CALL_CompressedTexImage3DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *)), _gloffset_CompressedTexImage3DARB, parameters) +#define GET_CompressedTexImage3DARB(disp) GET_by_offset(disp, _gloffset_CompressedTexImage3DARB) +#define SET_CompressedTexImage3DARB(disp, fn) SET_by_offset(disp, _gloffset_CompressedTexImage3DARB, fn) +#define CALL_CompressedTexSubImage1DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *)), _gloffset_CompressedTexSubImage1DARB, parameters) +#define GET_CompressedTexSubImage1DARB(disp) GET_by_offset(disp, _gloffset_CompressedTexSubImage1DARB) +#define SET_CompressedTexSubImage1DARB(disp, fn) SET_by_offset(disp, _gloffset_CompressedTexSubImage1DARB, fn) +#define CALL_CompressedTexSubImage2DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)), _gloffset_CompressedTexSubImage2DARB, parameters) +#define GET_CompressedTexSubImage2DARB(disp) GET_by_offset(disp, _gloffset_CompressedTexSubImage2DARB) +#define SET_CompressedTexSubImage2DARB(disp, fn) SET_by_offset(disp, _gloffset_CompressedTexSubImage2DARB, fn) +#define CALL_CompressedTexSubImage3DARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *)), _gloffset_CompressedTexSubImage3DARB, parameters) +#define GET_CompressedTexSubImage3DARB(disp) GET_by_offset(disp, _gloffset_CompressedTexSubImage3DARB) +#define SET_CompressedTexSubImage3DARB(disp, fn) SET_by_offset(disp, _gloffset_CompressedTexSubImage3DARB, fn) +#define CALL_GetCompressedTexImageARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint, GLvoid *)), _gloffset_GetCompressedTexImageARB, parameters) +#define GET_GetCompressedTexImageARB(disp) GET_by_offset(disp, _gloffset_GetCompressedTexImageARB) +#define SET_GetCompressedTexImageARB(disp, fn) SET_by_offset(disp, _gloffset_GetCompressedTexImageARB, fn) +#define CALL_DisableVertexAttribArrayARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_DisableVertexAttribArrayARB, parameters) +#define GET_DisableVertexAttribArrayARB(disp) GET_by_offset(disp, _gloffset_DisableVertexAttribArrayARB) +#define SET_DisableVertexAttribArrayARB(disp, fn) SET_by_offset(disp, _gloffset_DisableVertexAttribArrayARB, fn) +#define CALL_EnableVertexAttribArrayARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_EnableVertexAttribArrayARB, parameters) +#define GET_EnableVertexAttribArrayARB(disp) GET_by_offset(disp, _gloffset_EnableVertexAttribArrayARB) +#define SET_EnableVertexAttribArrayARB(disp, fn) SET_by_offset(disp, _gloffset_EnableVertexAttribArrayARB, fn) +#define CALL_GetProgramEnvParameterdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble *)), _gloffset_GetProgramEnvParameterdvARB, parameters) +#define GET_GetProgramEnvParameterdvARB(disp) GET_by_offset(disp, _gloffset_GetProgramEnvParameterdvARB) +#define SET_GetProgramEnvParameterdvARB(disp, fn) SET_by_offset(disp, _gloffset_GetProgramEnvParameterdvARB, fn) +#define CALL_GetProgramEnvParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat *)), _gloffset_GetProgramEnvParameterfvARB, parameters) +#define GET_GetProgramEnvParameterfvARB(disp) GET_by_offset(disp, _gloffset_GetProgramEnvParameterfvARB) +#define SET_GetProgramEnvParameterfvARB(disp, fn) SET_by_offset(disp, _gloffset_GetProgramEnvParameterfvARB, fn) +#define CALL_GetProgramLocalParameterdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble *)), _gloffset_GetProgramLocalParameterdvARB, parameters) +#define GET_GetProgramLocalParameterdvARB(disp) GET_by_offset(disp, _gloffset_GetProgramLocalParameterdvARB) +#define SET_GetProgramLocalParameterdvARB(disp, fn) SET_by_offset(disp, _gloffset_GetProgramLocalParameterdvARB, fn) +#define CALL_GetProgramLocalParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat *)), _gloffset_GetProgramLocalParameterfvARB, parameters) +#define GET_GetProgramLocalParameterfvARB(disp) GET_by_offset(disp, _gloffset_GetProgramLocalParameterfvARB) +#define SET_GetProgramLocalParameterfvARB(disp, fn) SET_by_offset(disp, _gloffset_GetProgramLocalParameterfvARB, fn) +#define CALL_GetProgramStringARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid *)), _gloffset_GetProgramStringARB, parameters) +#define GET_GetProgramStringARB(disp) GET_by_offset(disp, _gloffset_GetProgramStringARB) +#define SET_GetProgramStringARB(disp, fn) SET_by_offset(disp, _gloffset_GetProgramStringARB, fn) +#define CALL_GetProgramivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetProgramivARB, parameters) +#define GET_GetProgramivARB(disp) GET_by_offset(disp, _gloffset_GetProgramivARB) +#define SET_GetProgramivARB(disp, fn) SET_by_offset(disp, _gloffset_GetProgramivARB, fn) +#define CALL_GetVertexAttribdvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLdouble *)), _gloffset_GetVertexAttribdvARB, parameters) +#define GET_GetVertexAttribdvARB(disp) GET_by_offset(disp, _gloffset_GetVertexAttribdvARB) +#define SET_GetVertexAttribdvARB(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribdvARB, fn) +#define CALL_GetVertexAttribfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLfloat *)), _gloffset_GetVertexAttribfvARB, parameters) +#define GET_GetVertexAttribfvARB(disp) GET_by_offset(disp, _gloffset_GetVertexAttribfvARB) +#define SET_GetVertexAttribfvARB(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribfvARB, fn) +#define CALL_GetVertexAttribivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetVertexAttribivARB, parameters) +#define GET_GetVertexAttribivARB(disp) GET_by_offset(disp, _gloffset_GetVertexAttribivARB) +#define SET_GetVertexAttribivARB(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribivARB, fn) +#define CALL_ProgramEnvParameter4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_ProgramEnvParameter4dARB, parameters) +#define GET_ProgramEnvParameter4dARB(disp) GET_by_offset(disp, _gloffset_ProgramEnvParameter4dARB) +#define SET_ProgramEnvParameter4dARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramEnvParameter4dARB, fn) +#define CALL_ProgramEnvParameter4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLdouble *)), _gloffset_ProgramEnvParameter4dvARB, parameters) +#define GET_ProgramEnvParameter4dvARB(disp) GET_by_offset(disp, _gloffset_ProgramEnvParameter4dvARB) +#define SET_ProgramEnvParameter4dvARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramEnvParameter4dvARB, fn) +#define CALL_ProgramEnvParameter4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_ProgramEnvParameter4fARB, parameters) +#define GET_ProgramEnvParameter4fARB(disp) GET_by_offset(disp, _gloffset_ProgramEnvParameter4fARB) +#define SET_ProgramEnvParameter4fARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramEnvParameter4fARB, fn) +#define CALL_ProgramEnvParameter4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), _gloffset_ProgramEnvParameter4fvARB, parameters) +#define GET_ProgramEnvParameter4fvARB(disp) GET_by_offset(disp, _gloffset_ProgramEnvParameter4fvARB) +#define SET_ProgramEnvParameter4fvARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramEnvParameter4fvARB, fn) +#define CALL_ProgramLocalParameter4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_ProgramLocalParameter4dARB, parameters) +#define GET_ProgramLocalParameter4dARB(disp) GET_by_offset(disp, _gloffset_ProgramLocalParameter4dARB) +#define SET_ProgramLocalParameter4dARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramLocalParameter4dARB, fn) +#define CALL_ProgramLocalParameter4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLdouble *)), _gloffset_ProgramLocalParameter4dvARB, parameters) +#define GET_ProgramLocalParameter4dvARB(disp) GET_by_offset(disp, _gloffset_ProgramLocalParameter4dvARB) +#define SET_ProgramLocalParameter4dvARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramLocalParameter4dvARB, fn) +#define CALL_ProgramLocalParameter4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_ProgramLocalParameter4fARB, parameters) +#define GET_ProgramLocalParameter4fARB(disp) GET_by_offset(disp, _gloffset_ProgramLocalParameter4fARB) +#define SET_ProgramLocalParameter4fARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramLocalParameter4fARB, fn) +#define CALL_ProgramLocalParameter4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), _gloffset_ProgramLocalParameter4fvARB, parameters) +#define GET_ProgramLocalParameter4fvARB(disp) GET_by_offset(disp, _gloffset_ProgramLocalParameter4fvARB) +#define SET_ProgramLocalParameter4fvARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramLocalParameter4fvARB, fn) +#define CALL_ProgramStringARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, const GLvoid *)), _gloffset_ProgramStringARB, parameters) +#define GET_ProgramStringARB(disp) GET_by_offset(disp, _gloffset_ProgramStringARB) +#define SET_ProgramStringARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramStringARB, fn) +#define CALL_VertexAttrib1dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble)), _gloffset_VertexAttrib1dARB, parameters) +#define GET_VertexAttrib1dARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib1dARB) +#define SET_VertexAttrib1dARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1dARB, fn) +#define CALL_VertexAttrib1dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib1dvARB, parameters) +#define GET_VertexAttrib1dvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib1dvARB) +#define SET_VertexAttrib1dvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1dvARB, fn) +#define CALL_VertexAttrib1fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat)), _gloffset_VertexAttrib1fARB, parameters) +#define GET_VertexAttrib1fARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib1fARB) +#define SET_VertexAttrib1fARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1fARB, fn) +#define CALL_VertexAttrib1fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib1fvARB, parameters) +#define GET_VertexAttrib1fvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib1fvARB) +#define SET_VertexAttrib1fvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1fvARB, fn) +#define CALL_VertexAttrib1sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort)), _gloffset_VertexAttrib1sARB, parameters) +#define GET_VertexAttrib1sARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib1sARB) +#define SET_VertexAttrib1sARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1sARB, fn) +#define CALL_VertexAttrib1svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib1svARB, parameters) +#define GET_VertexAttrib1svARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib1svARB) +#define SET_VertexAttrib1svARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1svARB, fn) +#define CALL_VertexAttrib2dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble)), _gloffset_VertexAttrib2dARB, parameters) +#define GET_VertexAttrib2dARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib2dARB) +#define SET_VertexAttrib2dARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2dARB, fn) +#define CALL_VertexAttrib2dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib2dvARB, parameters) +#define GET_VertexAttrib2dvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib2dvARB) +#define SET_VertexAttrib2dvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2dvARB, fn) +#define CALL_VertexAttrib2fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat)), _gloffset_VertexAttrib2fARB, parameters) +#define GET_VertexAttrib2fARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib2fARB) +#define SET_VertexAttrib2fARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2fARB, fn) +#define CALL_VertexAttrib2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib2fvARB, parameters) +#define GET_VertexAttrib2fvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib2fvARB) +#define SET_VertexAttrib2fvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2fvARB, fn) +#define CALL_VertexAttrib2sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort)), _gloffset_VertexAttrib2sARB, parameters) +#define GET_VertexAttrib2sARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib2sARB) +#define SET_VertexAttrib2sARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2sARB, fn) +#define CALL_VertexAttrib2svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib2svARB, parameters) +#define GET_VertexAttrib2svARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib2svARB) +#define SET_VertexAttrib2svARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2svARB, fn) +#define CALL_VertexAttrib3dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble)), _gloffset_VertexAttrib3dARB, parameters) +#define GET_VertexAttrib3dARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib3dARB) +#define SET_VertexAttrib3dARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3dARB, fn) +#define CALL_VertexAttrib3dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib3dvARB, parameters) +#define GET_VertexAttrib3dvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib3dvARB) +#define SET_VertexAttrib3dvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3dvARB, fn) +#define CALL_VertexAttrib3fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat)), _gloffset_VertexAttrib3fARB, parameters) +#define GET_VertexAttrib3fARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib3fARB) +#define SET_VertexAttrib3fARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3fARB, fn) +#define CALL_VertexAttrib3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib3fvARB, parameters) +#define GET_VertexAttrib3fvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib3fvARB) +#define SET_VertexAttrib3fvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3fvARB, fn) +#define CALL_VertexAttrib3sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort)), _gloffset_VertexAttrib3sARB, parameters) +#define GET_VertexAttrib3sARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib3sARB) +#define SET_VertexAttrib3sARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3sARB, fn) +#define CALL_VertexAttrib3svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib3svARB, parameters) +#define GET_VertexAttrib3svARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib3svARB) +#define SET_VertexAttrib3svARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3svARB, fn) +#define CALL_VertexAttrib4NbvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLbyte *)), _gloffset_VertexAttrib4NbvARB, parameters) +#define GET_VertexAttrib4NbvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4NbvARB) +#define SET_VertexAttrib4NbvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4NbvARB, fn) +#define CALL_VertexAttrib4NivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), _gloffset_VertexAttrib4NivARB, parameters) +#define GET_VertexAttrib4NivARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4NivARB) +#define SET_VertexAttrib4NivARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4NivARB, fn) +#define CALL_VertexAttrib4NsvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib4NsvARB, parameters) +#define GET_VertexAttrib4NsvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4NsvARB) +#define SET_VertexAttrib4NsvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4NsvARB, fn) +#define CALL_VertexAttrib4NubARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)), _gloffset_VertexAttrib4NubARB, parameters) +#define GET_VertexAttrib4NubARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4NubARB) +#define SET_VertexAttrib4NubARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4NubARB, fn) +#define CALL_VertexAttrib4NubvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), _gloffset_VertexAttrib4NubvARB, parameters) +#define GET_VertexAttrib4NubvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4NubvARB) +#define SET_VertexAttrib4NubvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4NubvARB, fn) +#define CALL_VertexAttrib4NuivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), _gloffset_VertexAttrib4NuivARB, parameters) +#define GET_VertexAttrib4NuivARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4NuivARB) +#define SET_VertexAttrib4NuivARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4NuivARB, fn) +#define CALL_VertexAttrib4NusvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLushort *)), _gloffset_VertexAttrib4NusvARB, parameters) +#define GET_VertexAttrib4NusvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4NusvARB) +#define SET_VertexAttrib4NusvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4NusvARB, fn) +#define CALL_VertexAttrib4bvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLbyte *)), _gloffset_VertexAttrib4bvARB, parameters) +#define GET_VertexAttrib4bvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4bvARB) +#define SET_VertexAttrib4bvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4bvARB, fn) +#define CALL_VertexAttrib4dARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_VertexAttrib4dARB, parameters) +#define GET_VertexAttrib4dARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4dARB) +#define SET_VertexAttrib4dARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4dARB, fn) +#define CALL_VertexAttrib4dvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib4dvARB, parameters) +#define GET_VertexAttrib4dvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4dvARB) +#define SET_VertexAttrib4dvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4dvARB, fn) +#define CALL_VertexAttrib4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_VertexAttrib4fARB, parameters) +#define GET_VertexAttrib4fARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4fARB) +#define SET_VertexAttrib4fARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4fARB, fn) +#define CALL_VertexAttrib4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib4fvARB, parameters) +#define GET_VertexAttrib4fvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4fvARB) +#define SET_VertexAttrib4fvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4fvARB, fn) +#define CALL_VertexAttrib4ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), _gloffset_VertexAttrib4ivARB, parameters) +#define GET_VertexAttrib4ivARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4ivARB) +#define SET_VertexAttrib4ivARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4ivARB, fn) +#define CALL_VertexAttrib4sARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort, GLshort)), _gloffset_VertexAttrib4sARB, parameters) +#define GET_VertexAttrib4sARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4sARB) +#define SET_VertexAttrib4sARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4sARB, fn) +#define CALL_VertexAttrib4svARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib4svARB, parameters) +#define GET_VertexAttrib4svARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4svARB) +#define SET_VertexAttrib4svARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4svARB, fn) +#define CALL_VertexAttrib4ubvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), _gloffset_VertexAttrib4ubvARB, parameters) +#define GET_VertexAttrib4ubvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4ubvARB) +#define SET_VertexAttrib4ubvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4ubvARB, fn) +#define CALL_VertexAttrib4uivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), _gloffset_VertexAttrib4uivARB, parameters) +#define GET_VertexAttrib4uivARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4uivARB) +#define SET_VertexAttrib4uivARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4uivARB, fn) +#define CALL_VertexAttrib4usvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLushort *)), _gloffset_VertexAttrib4usvARB, parameters) +#define GET_VertexAttrib4usvARB(disp) GET_by_offset(disp, _gloffset_VertexAttrib4usvARB) +#define SET_VertexAttrib4usvARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4usvARB, fn) +#define CALL_VertexAttribPointerARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *)), _gloffset_VertexAttribPointerARB, parameters) +#define GET_VertexAttribPointerARB(disp) GET_by_offset(disp, _gloffset_VertexAttribPointerARB) +#define SET_VertexAttribPointerARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribPointerARB, fn) +#define CALL_BindBufferARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_BindBufferARB, parameters) +#define GET_BindBufferARB(disp) GET_by_offset(disp, _gloffset_BindBufferARB) +#define SET_BindBufferARB(disp, fn) SET_by_offset(disp, _gloffset_BindBufferARB, fn) +#define CALL_BufferDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizeiptrARB, const GLvoid *, GLenum)), _gloffset_BufferDataARB, parameters) +#define GET_BufferDataARB(disp) GET_by_offset(disp, _gloffset_BufferDataARB) +#define SET_BufferDataARB(disp, fn) SET_by_offset(disp, _gloffset_BufferDataARB, fn) +#define CALL_BufferSubDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *)), _gloffset_BufferSubDataARB, parameters) +#define GET_BufferSubDataARB(disp) GET_by_offset(disp, _gloffset_BufferSubDataARB) +#define SET_BufferSubDataARB(disp, fn) SET_by_offset(disp, _gloffset_BufferSubDataARB, fn) +#define CALL_DeleteBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteBuffersARB, parameters) +#define GET_DeleteBuffersARB(disp) GET_by_offset(disp, _gloffset_DeleteBuffersARB) +#define SET_DeleteBuffersARB(disp, fn) SET_by_offset(disp, _gloffset_DeleteBuffersARB, fn) +#define CALL_GenBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenBuffersARB, parameters) +#define GET_GenBuffersARB(disp) GET_by_offset(disp, _gloffset_GenBuffersARB) +#define SET_GenBuffersARB(disp, fn) SET_by_offset(disp, _gloffset_GenBuffersARB, fn) +#define CALL_GetBufferParameterivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetBufferParameterivARB, parameters) +#define GET_GetBufferParameterivARB(disp) GET_by_offset(disp, _gloffset_GetBufferParameterivARB) +#define SET_GetBufferParameterivARB(disp, fn) SET_by_offset(disp, _gloffset_GetBufferParameterivARB, fn) +#define CALL_GetBufferPointervARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid **)), _gloffset_GetBufferPointervARB, parameters) +#define GET_GetBufferPointervARB(disp) GET_by_offset(disp, _gloffset_GetBufferPointervARB) +#define SET_GetBufferPointervARB(disp, fn) SET_by_offset(disp, _gloffset_GetBufferPointervARB, fn) +#define CALL_GetBufferSubDataARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *)), _gloffset_GetBufferSubDataARB, parameters) +#define GET_GetBufferSubDataARB(disp) GET_by_offset(disp, _gloffset_GetBufferSubDataARB) +#define SET_GetBufferSubDataARB(disp, fn) SET_by_offset(disp, _gloffset_GetBufferSubDataARB, fn) +#define CALL_IsBufferARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsBufferARB, parameters) +#define GET_IsBufferARB(disp) GET_by_offset(disp, _gloffset_IsBufferARB) +#define SET_IsBufferARB(disp, fn) SET_by_offset(disp, _gloffset_IsBufferARB, fn) +#define CALL_MapBufferARB(disp, parameters) CALL_by_offset(disp, (GLvoid * (GLAPIENTRYP)(GLenum, GLenum)), _gloffset_MapBufferARB, parameters) +#define GET_MapBufferARB(disp) GET_by_offset(disp, _gloffset_MapBufferARB) +#define SET_MapBufferARB(disp, fn) SET_by_offset(disp, _gloffset_MapBufferARB, fn) +#define CALL_UnmapBufferARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLenum)), _gloffset_UnmapBufferARB, parameters) +#define GET_UnmapBufferARB(disp) GET_by_offset(disp, _gloffset_UnmapBufferARB) +#define SET_UnmapBufferARB(disp, fn) SET_by_offset(disp, _gloffset_UnmapBufferARB, fn) +#define CALL_BeginQueryARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_BeginQueryARB, parameters) +#define GET_BeginQueryARB(disp) GET_by_offset(disp, _gloffset_BeginQueryARB) +#define SET_BeginQueryARB(disp, fn) SET_by_offset(disp, _gloffset_BeginQueryARB, fn) +#define CALL_DeleteQueriesARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteQueriesARB, parameters) +#define GET_DeleteQueriesARB(disp) GET_by_offset(disp, _gloffset_DeleteQueriesARB) +#define SET_DeleteQueriesARB(disp, fn) SET_by_offset(disp, _gloffset_DeleteQueriesARB, fn) +#define CALL_EndQueryARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_EndQueryARB, parameters) +#define GET_EndQueryARB(disp) GET_by_offset(disp, _gloffset_EndQueryARB) +#define SET_EndQueryARB(disp, fn) SET_by_offset(disp, _gloffset_EndQueryARB, fn) +#define CALL_GenQueriesARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenQueriesARB, parameters) +#define GET_GenQueriesARB(disp) GET_by_offset(disp, _gloffset_GenQueriesARB) +#define SET_GenQueriesARB(disp, fn) SET_by_offset(disp, _gloffset_GenQueriesARB, fn) +#define CALL_GetQueryObjectivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetQueryObjectivARB, parameters) +#define GET_GetQueryObjectivARB(disp) GET_by_offset(disp, _gloffset_GetQueryObjectivARB) +#define SET_GetQueryObjectivARB(disp, fn) SET_by_offset(disp, _gloffset_GetQueryObjectivARB, fn) +#define CALL_GetQueryObjectuivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint *)), _gloffset_GetQueryObjectuivARB, parameters) +#define GET_GetQueryObjectuivARB(disp) GET_by_offset(disp, _gloffset_GetQueryObjectuivARB) +#define SET_GetQueryObjectuivARB(disp, fn) SET_by_offset(disp, _gloffset_GetQueryObjectuivARB, fn) +#define CALL_GetQueryivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetQueryivARB, parameters) +#define GET_GetQueryivARB(disp) GET_by_offset(disp, _gloffset_GetQueryivARB) +#define SET_GetQueryivARB(disp, fn) SET_by_offset(disp, _gloffset_GetQueryivARB, fn) +#define CALL_IsQueryARB(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsQueryARB, parameters) +#define GET_IsQueryARB(disp) GET_by_offset(disp, _gloffset_IsQueryARB) +#define SET_IsQueryARB(disp, fn) SET_by_offset(disp, _gloffset_IsQueryARB, fn) +#define CALL_AttachObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLhandleARB)), _gloffset_AttachObjectARB, parameters) +#define GET_AttachObjectARB(disp) GET_by_offset(disp, _gloffset_AttachObjectARB) +#define SET_AttachObjectARB(disp, fn) SET_by_offset(disp, _gloffset_AttachObjectARB, fn) +#define CALL_CompileShaderARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), _gloffset_CompileShaderARB, parameters) +#define GET_CompileShaderARB(disp) GET_by_offset(disp, _gloffset_CompileShaderARB) +#define SET_CompileShaderARB(disp, fn) SET_by_offset(disp, _gloffset_CompileShaderARB, fn) +#define CALL_CreateProgramObjectARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(void)), _gloffset_CreateProgramObjectARB, parameters) +#define GET_CreateProgramObjectARB(disp) GET_by_offset(disp, _gloffset_CreateProgramObjectARB) +#define SET_CreateProgramObjectARB(disp, fn) SET_by_offset(disp, _gloffset_CreateProgramObjectARB, fn) +#define CALL_CreateShaderObjectARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(GLenum)), _gloffset_CreateShaderObjectARB, parameters) +#define GET_CreateShaderObjectARB(disp) GET_by_offset(disp, _gloffset_CreateShaderObjectARB) +#define SET_CreateShaderObjectARB(disp, fn) SET_by_offset(disp, _gloffset_CreateShaderObjectARB, fn) +#define CALL_DeleteObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), _gloffset_DeleteObjectARB, parameters) +#define GET_DeleteObjectARB(disp) GET_by_offset(disp, _gloffset_DeleteObjectARB) +#define SET_DeleteObjectARB(disp, fn) SET_by_offset(disp, _gloffset_DeleteObjectARB, fn) +#define CALL_DetachObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLhandleARB)), _gloffset_DetachObjectARB, parameters) +#define GET_DetachObjectARB(disp) GET_by_offset(disp, _gloffset_DetachObjectARB) +#define SET_DetachObjectARB(disp, fn) SET_by_offset(disp, _gloffset_DetachObjectARB, fn) +#define CALL_GetActiveUniformARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)), _gloffset_GetActiveUniformARB, parameters) +#define GET_GetActiveUniformARB(disp) GET_by_offset(disp, _gloffset_GetActiveUniformARB) +#define SET_GetActiveUniformARB(disp, fn) SET_by_offset(disp, _gloffset_GetActiveUniformARB, fn) +#define CALL_GetAttachedObjectsARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *)), _gloffset_GetAttachedObjectsARB, parameters) +#define GET_GetAttachedObjectsARB(disp) GET_by_offset(disp, _gloffset_GetAttachedObjectsARB) +#define SET_GetAttachedObjectsARB(disp, fn) SET_by_offset(disp, _gloffset_GetAttachedObjectsARB, fn) +#define CALL_GetHandleARB(disp, parameters) CALL_by_offset(disp, (GLhandleARB (GLAPIENTRYP)(GLenum)), _gloffset_GetHandleARB, parameters) +#define GET_GetHandleARB(disp) GET_by_offset(disp, _gloffset_GetHandleARB) +#define SET_GetHandleARB(disp, fn) SET_by_offset(disp, _gloffset_GetHandleARB, fn) +#define CALL_GetInfoLogARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)), _gloffset_GetInfoLogARB, parameters) +#define GET_GetInfoLogARB(disp) GET_by_offset(disp, _gloffset_GetInfoLogARB) +#define SET_GetInfoLogARB(disp, fn) SET_by_offset(disp, _gloffset_GetInfoLogARB, fn) +#define CALL_GetObjectParameterfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLenum, GLfloat *)), _gloffset_GetObjectParameterfvARB, parameters) +#define GET_GetObjectParameterfvARB(disp) GET_by_offset(disp, _gloffset_GetObjectParameterfvARB) +#define SET_GetObjectParameterfvARB(disp, fn) SET_by_offset(disp, _gloffset_GetObjectParameterfvARB, fn) +#define CALL_GetObjectParameterivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLenum, GLint *)), _gloffset_GetObjectParameterivARB, parameters) +#define GET_GetObjectParameterivARB(disp) GET_by_offset(disp, _gloffset_GetObjectParameterivARB) +#define SET_GetObjectParameterivARB(disp, fn) SET_by_offset(disp, _gloffset_GetObjectParameterivARB, fn) +#define CALL_GetShaderSourceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, GLsizei *, GLcharARB *)), _gloffset_GetShaderSourceARB, parameters) +#define GET_GetShaderSourceARB(disp) GET_by_offset(disp, _gloffset_GetShaderSourceARB) +#define SET_GetShaderSourceARB(disp, fn) SET_by_offset(disp, _gloffset_GetShaderSourceARB, fn) +#define CALL_GetUniformLocationARB(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLhandleARB, const GLcharARB *)), _gloffset_GetUniformLocationARB, parameters) +#define GET_GetUniformLocationARB(disp) GET_by_offset(disp, _gloffset_GetUniformLocationARB) +#define SET_GetUniformLocationARB(disp, fn) SET_by_offset(disp, _gloffset_GetUniformLocationARB, fn) +#define CALL_GetUniformfvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLint, GLfloat *)), _gloffset_GetUniformfvARB, parameters) +#define GET_GetUniformfvARB(disp) GET_by_offset(disp, _gloffset_GetUniformfvARB) +#define SET_GetUniformfvARB(disp, fn) SET_by_offset(disp, _gloffset_GetUniformfvARB, fn) +#define CALL_GetUniformivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLint, GLint *)), _gloffset_GetUniformivARB, parameters) +#define GET_GetUniformivARB(disp) GET_by_offset(disp, _gloffset_GetUniformivARB) +#define SET_GetUniformivARB(disp, fn) SET_by_offset(disp, _gloffset_GetUniformivARB, fn) +#define CALL_LinkProgramARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), _gloffset_LinkProgramARB, parameters) +#define GET_LinkProgramARB(disp) GET_by_offset(disp, _gloffset_LinkProgramARB) +#define SET_LinkProgramARB(disp, fn) SET_by_offset(disp, _gloffset_LinkProgramARB, fn) +#define CALL_ShaderSourceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLsizei, const GLcharARB **, const GLint *)), _gloffset_ShaderSourceARB, parameters) +#define GET_ShaderSourceARB(disp) GET_by_offset(disp, _gloffset_ShaderSourceARB) +#define SET_ShaderSourceARB(disp, fn) SET_by_offset(disp, _gloffset_ShaderSourceARB, fn) +#define CALL_Uniform1fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat)), _gloffset_Uniform1fARB, parameters) +#define GET_Uniform1fARB(disp) GET_by_offset(disp, _gloffset_Uniform1fARB) +#define SET_Uniform1fARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform1fARB, fn) +#define CALL_Uniform1fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), _gloffset_Uniform1fvARB, parameters) +#define GET_Uniform1fvARB(disp) GET_by_offset(disp, _gloffset_Uniform1fvARB) +#define SET_Uniform1fvARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform1fvARB, fn) +#define CALL_Uniform1iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), _gloffset_Uniform1iARB, parameters) +#define GET_Uniform1iARB(disp) GET_by_offset(disp, _gloffset_Uniform1iARB) +#define SET_Uniform1iARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform1iARB, fn) +#define CALL_Uniform1ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), _gloffset_Uniform1ivARB, parameters) +#define GET_Uniform1ivARB(disp) GET_by_offset(disp, _gloffset_Uniform1ivARB) +#define SET_Uniform1ivARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform1ivARB, fn) +#define CALL_Uniform2fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat)), _gloffset_Uniform2fARB, parameters) +#define GET_Uniform2fARB(disp) GET_by_offset(disp, _gloffset_Uniform2fARB) +#define SET_Uniform2fARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform2fARB, fn) +#define CALL_Uniform2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), _gloffset_Uniform2fvARB, parameters) +#define GET_Uniform2fvARB(disp) GET_by_offset(disp, _gloffset_Uniform2fvARB) +#define SET_Uniform2fvARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform2fvARB, fn) +#define CALL_Uniform2iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_Uniform2iARB, parameters) +#define GET_Uniform2iARB(disp) GET_by_offset(disp, _gloffset_Uniform2iARB) +#define SET_Uniform2iARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform2iARB, fn) +#define CALL_Uniform2ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), _gloffset_Uniform2ivARB, parameters) +#define GET_Uniform2ivARB(disp) GET_by_offset(disp, _gloffset_Uniform2ivARB) +#define SET_Uniform2ivARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform2ivARB, fn) +#define CALL_Uniform3fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat, GLfloat)), _gloffset_Uniform3fARB, parameters) +#define GET_Uniform3fARB(disp) GET_by_offset(disp, _gloffset_Uniform3fARB) +#define SET_Uniform3fARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform3fARB, fn) +#define CALL_Uniform3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), _gloffset_Uniform3fvARB, parameters) +#define GET_Uniform3fvARB(disp) GET_by_offset(disp, _gloffset_Uniform3fvARB) +#define SET_Uniform3fvARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform3fvARB, fn) +#define CALL_Uniform3iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_Uniform3iARB, parameters) +#define GET_Uniform3iARB(disp) GET_by_offset(disp, _gloffset_Uniform3iARB) +#define SET_Uniform3iARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform3iARB, fn) +#define CALL_Uniform3ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), _gloffset_Uniform3ivARB, parameters) +#define GET_Uniform3ivARB(disp) GET_by_offset(disp, _gloffset_Uniform3ivARB) +#define SET_Uniform3ivARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform3ivARB, fn) +#define CALL_Uniform4fARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_Uniform4fARB, parameters) +#define GET_Uniform4fARB(disp) GET_by_offset(disp, _gloffset_Uniform4fARB) +#define SET_Uniform4fARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform4fARB, fn) +#define CALL_Uniform4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLfloat *)), _gloffset_Uniform4fvARB, parameters) +#define GET_Uniform4fvARB(disp) GET_by_offset(disp, _gloffset_Uniform4fvARB) +#define SET_Uniform4fvARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform4fvARB, fn) +#define CALL_Uniform4iARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint)), _gloffset_Uniform4iARB, parameters) +#define GET_Uniform4iARB(disp) GET_by_offset(disp, _gloffset_Uniform4iARB) +#define SET_Uniform4iARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform4iARB, fn) +#define CALL_Uniform4ivARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLint *)), _gloffset_Uniform4ivARB, parameters) +#define GET_Uniform4ivARB(disp) GET_by_offset(disp, _gloffset_Uniform4ivARB) +#define SET_Uniform4ivARB(disp, fn) SET_by_offset(disp, _gloffset_Uniform4ivARB, fn) +#define CALL_UniformMatrix2fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix2fvARB, parameters) +#define GET_UniformMatrix2fvARB(disp) GET_by_offset(disp, _gloffset_UniformMatrix2fvARB) +#define SET_UniformMatrix2fvARB(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix2fvARB, fn) +#define CALL_UniformMatrix3fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix3fvARB, parameters) +#define GET_UniformMatrix3fvARB(disp) GET_by_offset(disp, _gloffset_UniformMatrix3fvARB) +#define SET_UniformMatrix3fvARB(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix3fvARB, fn) +#define CALL_UniformMatrix4fvARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, GLboolean, const GLfloat *)), _gloffset_UniformMatrix4fvARB, parameters) +#define GET_UniformMatrix4fvARB(disp) GET_by_offset(disp, _gloffset_UniformMatrix4fvARB) +#define SET_UniformMatrix4fvARB(disp, fn) SET_by_offset(disp, _gloffset_UniformMatrix4fvARB, fn) +#define CALL_UseProgramObjectARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), _gloffset_UseProgramObjectARB, parameters) +#define GET_UseProgramObjectARB(disp) GET_by_offset(disp, _gloffset_UseProgramObjectARB) +#define SET_UseProgramObjectARB(disp, fn) SET_by_offset(disp, _gloffset_UseProgramObjectARB, fn) +#define CALL_ValidateProgramARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB)), _gloffset_ValidateProgramARB, parameters) +#define GET_ValidateProgramARB(disp) GET_by_offset(disp, _gloffset_ValidateProgramARB) +#define SET_ValidateProgramARB(disp, fn) SET_by_offset(disp, _gloffset_ValidateProgramARB, fn) +#define CALL_BindAttribLocationARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, const GLcharARB *)), _gloffset_BindAttribLocationARB, parameters) +#define GET_BindAttribLocationARB(disp) GET_by_offset(disp, _gloffset_BindAttribLocationARB) +#define SET_BindAttribLocationARB(disp, fn) SET_by_offset(disp, _gloffset_BindAttribLocationARB, fn) +#define CALL_GetActiveAttribARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *)), _gloffset_GetActiveAttribARB, parameters) +#define GET_GetActiveAttribARB(disp) GET_by_offset(disp, _gloffset_GetActiveAttribARB) +#define SET_GetActiveAttribARB(disp, fn) SET_by_offset(disp, _gloffset_GetActiveAttribARB, fn) +#define CALL_GetAttribLocationARB(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLhandleARB, const GLcharARB *)), _gloffset_GetAttribLocationARB, parameters) +#define GET_GetAttribLocationARB(disp) GET_by_offset(disp, _gloffset_GetAttribLocationARB) +#define SET_GetAttribLocationARB(disp, fn) SET_by_offset(disp, _gloffset_GetAttribLocationARB, fn) +#define CALL_DrawBuffersARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLenum *)), _gloffset_DrawBuffersARB, parameters) +#define GET_DrawBuffersARB(disp) GET_by_offset(disp, _gloffset_DrawBuffersARB) +#define SET_DrawBuffersARB(disp, fn) SET_by_offset(disp, _gloffset_DrawBuffersARB, fn) +#define CALL_RenderbufferStorageMultisample(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, GLsizei, GLsizei)), _gloffset_RenderbufferStorageMultisample, parameters) +#define GET_RenderbufferStorageMultisample(disp) GET_by_offset(disp, _gloffset_RenderbufferStorageMultisample) +#define SET_RenderbufferStorageMultisample(disp, fn) SET_by_offset(disp, _gloffset_RenderbufferStorageMultisample, fn) +#define CALL_FramebufferTextureARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint)), _gloffset_FramebufferTextureARB, parameters) +#define GET_FramebufferTextureARB(disp) GET_by_offset(disp, _gloffset_FramebufferTextureARB) +#define SET_FramebufferTextureARB(disp, fn) SET_by_offset(disp, _gloffset_FramebufferTextureARB, fn) +#define CALL_FramebufferTextureFaceARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLenum)), _gloffset_FramebufferTextureFaceARB, parameters) +#define GET_FramebufferTextureFaceARB(disp) GET_by_offset(disp, _gloffset_FramebufferTextureFaceARB) +#define SET_FramebufferTextureFaceARB(disp, fn) SET_by_offset(disp, _gloffset_FramebufferTextureFaceARB, fn) +#define CALL_ProgramParameteriARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint)), _gloffset_ProgramParameteriARB, parameters) +#define GET_ProgramParameteriARB(disp) GET_by_offset(disp, _gloffset_ProgramParameteriARB) +#define SET_ProgramParameteriARB(disp, fn) SET_by_offset(disp, _gloffset_ProgramParameteriARB, fn) +#define CALL_FlushMappedBufferRange(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptr, GLsizeiptr)), _gloffset_FlushMappedBufferRange, parameters) +#define GET_FlushMappedBufferRange(disp) GET_by_offset(disp, _gloffset_FlushMappedBufferRange) +#define SET_FlushMappedBufferRange(disp, fn) SET_by_offset(disp, _gloffset_FlushMappedBufferRange, fn) +#define CALL_MapBufferRange(disp, parameters) CALL_by_offset(disp, (GLvoid * (GLAPIENTRYP)(GLenum, GLintptr, GLsizeiptr, GLbitfield)), _gloffset_MapBufferRange, parameters) +#define GET_MapBufferRange(disp) GET_by_offset(disp, _gloffset_MapBufferRange) +#define SET_MapBufferRange(disp, fn) SET_by_offset(disp, _gloffset_MapBufferRange, fn) +#define CALL_BindVertexArray(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_BindVertexArray, parameters) +#define GET_BindVertexArray(disp) GET_by_offset(disp, _gloffset_BindVertexArray) +#define SET_BindVertexArray(disp, fn) SET_by_offset(disp, _gloffset_BindVertexArray, fn) +#define CALL_GenVertexArrays(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenVertexArrays, parameters) +#define GET_GenVertexArrays(disp) GET_by_offset(disp, _gloffset_GenVertexArrays) +#define SET_GenVertexArrays(disp, fn) SET_by_offset(disp, _gloffset_GenVertexArrays, fn) +#define CALL_CopyBufferSubData(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)), _gloffset_CopyBufferSubData, parameters) +#define GET_CopyBufferSubData(disp) GET_by_offset(disp, _gloffset_CopyBufferSubData) +#define SET_CopyBufferSubData(disp, fn) SET_by_offset(disp, _gloffset_CopyBufferSubData, fn) +#define CALL_ClientWaitSync(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), _gloffset_ClientWaitSync, parameters) +#define GET_ClientWaitSync(disp) GET_by_offset(disp, _gloffset_ClientWaitSync) +#define SET_ClientWaitSync(disp, fn) SET_by_offset(disp, _gloffset_ClientWaitSync, fn) +#define CALL_DeleteSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync)), _gloffset_DeleteSync, parameters) +#define GET_DeleteSync(disp) GET_by_offset(disp, _gloffset_DeleteSync) +#define SET_DeleteSync(disp, fn) SET_by_offset(disp, _gloffset_DeleteSync, fn) +#define CALL_FenceSync(disp, parameters) CALL_by_offset(disp, (GLsync (GLAPIENTRYP)(GLenum, GLbitfield)), _gloffset_FenceSync, parameters) +#define GET_FenceSync(disp) GET_by_offset(disp, _gloffset_FenceSync) +#define SET_FenceSync(disp, fn) SET_by_offset(disp, _gloffset_FenceSync, fn) +#define CALL_GetInteger64v(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint64 *)), _gloffset_GetInteger64v, parameters) +#define GET_GetInteger64v(disp) GET_by_offset(disp, _gloffset_GetInteger64v) +#define SET_GetInteger64v(disp, fn) SET_by_offset(disp, _gloffset_GetInteger64v, fn) +#define CALL_GetSynciv(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLenum, GLsizei, GLsizei *, GLint *)), _gloffset_GetSynciv, parameters) +#define GET_GetSynciv(disp) GET_by_offset(disp, _gloffset_GetSynciv) +#define SET_GetSynciv(disp, fn) SET_by_offset(disp, _gloffset_GetSynciv, fn) +#define CALL_IsSync(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsync)), _gloffset_IsSync, parameters) +#define GET_IsSync(disp) GET_by_offset(disp, _gloffset_IsSync) +#define SET_IsSync(disp, fn) SET_by_offset(disp, _gloffset_IsSync, fn) +#define CALL_WaitSync(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsync, GLbitfield, GLuint64)), _gloffset_WaitSync, parameters) +#define GET_WaitSync(disp) GET_by_offset(disp, _gloffset_WaitSync) +#define SET_WaitSync(disp, fn) SET_by_offset(disp, _gloffset_WaitSync, fn) +#define CALL_DrawElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLenum, const GLvoid *, GLint)), _gloffset_DrawElementsBaseVertex, parameters) +#define GET_DrawElementsBaseVertex(disp) GET_by_offset(disp, _gloffset_DrawElementsBaseVertex) +#define SET_DrawElementsBaseVertex(disp, fn) SET_by_offset(disp, _gloffset_DrawElementsBaseVertex, fn) +#define CALL_DrawRangeElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint)), _gloffset_DrawRangeElementsBaseVertex, parameters) +#define GET_DrawRangeElementsBaseVertex(disp) GET_by_offset(disp, _gloffset_DrawRangeElementsBaseVertex) +#define SET_DrawRangeElementsBaseVertex(disp, fn) SET_by_offset(disp, _gloffset_DrawRangeElementsBaseVertex, fn) +#define CALL_MultiDrawElementsBaseVertex(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei, const GLint *)), _gloffset_MultiDrawElementsBaseVertex, parameters) +#define GET_MultiDrawElementsBaseVertex(disp) GET_by_offset(disp, _gloffset_MultiDrawElementsBaseVertex) +#define SET_MultiDrawElementsBaseVertex(disp, fn) SET_by_offset(disp, _gloffset_MultiDrawElementsBaseVertex, fn) +#define CALL_BindTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_BindTransformFeedback, parameters) +#define GET_BindTransformFeedback(disp) GET_by_offset(disp, _gloffset_BindTransformFeedback) +#define SET_BindTransformFeedback(disp, fn) SET_by_offset(disp, _gloffset_BindTransformFeedback, fn) +#define CALL_DeleteTransformFeedbacks(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteTransformFeedbacks, parameters) +#define GET_DeleteTransformFeedbacks(disp) GET_by_offset(disp, _gloffset_DeleteTransformFeedbacks) +#define SET_DeleteTransformFeedbacks(disp, fn) SET_by_offset(disp, _gloffset_DeleteTransformFeedbacks, fn) +#define CALL_DrawTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_DrawTransformFeedback, parameters) +#define GET_DrawTransformFeedback(disp) GET_by_offset(disp, _gloffset_DrawTransformFeedback) +#define SET_DrawTransformFeedback(disp, fn) SET_by_offset(disp, _gloffset_DrawTransformFeedback, fn) +#define CALL_GenTransformFeedbacks(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenTransformFeedbacks, parameters) +#define GET_GenTransformFeedbacks(disp) GET_by_offset(disp, _gloffset_GenTransformFeedbacks) +#define SET_GenTransformFeedbacks(disp, fn) SET_by_offset(disp, _gloffset_GenTransformFeedbacks, fn) +#define CALL_IsTransformFeedback(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsTransformFeedback, parameters) +#define GET_IsTransformFeedback(disp) GET_by_offset(disp, _gloffset_IsTransformFeedback) +#define SET_IsTransformFeedback(disp, fn) SET_by_offset(disp, _gloffset_IsTransformFeedback, fn) +#define CALL_PauseTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_PauseTransformFeedback, parameters) +#define GET_PauseTransformFeedback(disp) GET_by_offset(disp, _gloffset_PauseTransformFeedback) +#define SET_PauseTransformFeedback(disp, fn) SET_by_offset(disp, _gloffset_PauseTransformFeedback, fn) +#define CALL_ResumeTransformFeedback(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_ResumeTransformFeedback, parameters) +#define GET_ResumeTransformFeedback(disp) GET_by_offset(disp, _gloffset_ResumeTransformFeedback) +#define SET_ResumeTransformFeedback(disp, fn) SET_by_offset(disp, _gloffset_ResumeTransformFeedback, fn) +#define CALL_PolygonOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_PolygonOffsetEXT, parameters) +#define GET_PolygonOffsetEXT(disp) GET_by_offset(disp, _gloffset_PolygonOffsetEXT) +#define SET_PolygonOffsetEXT(disp, fn) SET_by_offset(disp, _gloffset_PolygonOffsetEXT, fn) +#define CALL_GetPixelTexGenParameterfvSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), _gloffset_GetPixelTexGenParameterfvSGIS, parameters) +#define GET_GetPixelTexGenParameterfvSGIS(disp) GET_by_offset(disp, _gloffset_GetPixelTexGenParameterfvSGIS) +#define SET_GetPixelTexGenParameterfvSGIS(disp, fn) SET_by_offset(disp, _gloffset_GetPixelTexGenParameterfvSGIS, fn) +#define CALL_GetPixelTexGenParameterivSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint *)), _gloffset_GetPixelTexGenParameterivSGIS, parameters) +#define GET_GetPixelTexGenParameterivSGIS(disp) GET_by_offset(disp, _gloffset_GetPixelTexGenParameterivSGIS) +#define SET_GetPixelTexGenParameterivSGIS(disp, fn) SET_by_offset(disp, _gloffset_GetPixelTexGenParameterivSGIS, fn) +#define CALL_PixelTexGenParameterfSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_PixelTexGenParameterfSGIS, parameters) +#define GET_PixelTexGenParameterfSGIS(disp) GET_by_offset(disp, _gloffset_PixelTexGenParameterfSGIS) +#define SET_PixelTexGenParameterfSGIS(disp, fn) SET_by_offset(disp, _gloffset_PixelTexGenParameterfSGIS, fn) +#define CALL_PixelTexGenParameterfvSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_PixelTexGenParameterfvSGIS, parameters) +#define GET_PixelTexGenParameterfvSGIS(disp) GET_by_offset(disp, _gloffset_PixelTexGenParameterfvSGIS) +#define SET_PixelTexGenParameterfvSGIS(disp, fn) SET_by_offset(disp, _gloffset_PixelTexGenParameterfvSGIS, fn) +#define CALL_PixelTexGenParameteriSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_PixelTexGenParameteriSGIS, parameters) +#define GET_PixelTexGenParameteriSGIS(disp) GET_by_offset(disp, _gloffset_PixelTexGenParameteriSGIS) +#define SET_PixelTexGenParameteriSGIS(disp, fn) SET_by_offset(disp, _gloffset_PixelTexGenParameteriSGIS, fn) +#define CALL_PixelTexGenParameterivSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_PixelTexGenParameterivSGIS, parameters) +#define GET_PixelTexGenParameterivSGIS(disp) GET_by_offset(disp, _gloffset_PixelTexGenParameterivSGIS) +#define SET_PixelTexGenParameterivSGIS(disp, fn) SET_by_offset(disp, _gloffset_PixelTexGenParameterivSGIS, fn) +#define CALL_SampleMaskSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLboolean)), _gloffset_SampleMaskSGIS, parameters) +#define GET_SampleMaskSGIS(disp) GET_by_offset(disp, _gloffset_SampleMaskSGIS) +#define SET_SampleMaskSGIS(disp, fn) SET_by_offset(disp, _gloffset_SampleMaskSGIS, fn) +#define CALL_SamplePatternSGIS(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_SamplePatternSGIS, parameters) +#define GET_SamplePatternSGIS(disp) GET_by_offset(disp, _gloffset_SamplePatternSGIS) +#define SET_SamplePatternSGIS(disp, fn) SET_by_offset(disp, _gloffset_SamplePatternSGIS, fn) +#define CALL_ColorPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), _gloffset_ColorPointerEXT, parameters) +#define GET_ColorPointerEXT(disp) GET_by_offset(disp, _gloffset_ColorPointerEXT) +#define SET_ColorPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_ColorPointerEXT, fn) +#define CALL_EdgeFlagPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLsizei, const GLboolean *)), _gloffset_EdgeFlagPointerEXT, parameters) +#define GET_EdgeFlagPointerEXT(disp) GET_by_offset(disp, _gloffset_EdgeFlagPointerEXT) +#define SET_EdgeFlagPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_EdgeFlagPointerEXT, fn) +#define CALL_IndexPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLsizei, const GLvoid *)), _gloffset_IndexPointerEXT, parameters) +#define GET_IndexPointerEXT(disp) GET_by_offset(disp, _gloffset_IndexPointerEXT) +#define SET_IndexPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_IndexPointerEXT, fn) +#define CALL_NormalPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLsizei, const GLvoid *)), _gloffset_NormalPointerEXT, parameters) +#define GET_NormalPointerEXT(disp) GET_by_offset(disp, _gloffset_NormalPointerEXT) +#define SET_NormalPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_NormalPointerEXT, fn) +#define CALL_TexCoordPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), _gloffset_TexCoordPointerEXT, parameters) +#define GET_TexCoordPointerEXT(disp) GET_by_offset(disp, _gloffset_TexCoordPointerEXT) +#define SET_TexCoordPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_TexCoordPointerEXT, fn) +#define CALL_VertexPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, GLsizei, const GLvoid *)), _gloffset_VertexPointerEXT, parameters) +#define GET_VertexPointerEXT(disp) GET_by_offset(disp, _gloffset_VertexPointerEXT) +#define SET_VertexPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexPointerEXT, fn) +#define CALL_PointParameterfEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_PointParameterfEXT, parameters) +#define GET_PointParameterfEXT(disp) GET_by_offset(disp, _gloffset_PointParameterfEXT) +#define SET_PointParameterfEXT(disp, fn) SET_by_offset(disp, _gloffset_PointParameterfEXT, fn) +#define CALL_PointParameterfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_PointParameterfvEXT, parameters) +#define GET_PointParameterfvEXT(disp) GET_by_offset(disp, _gloffset_PointParameterfvEXT) +#define SET_PointParameterfvEXT(disp, fn) SET_by_offset(disp, _gloffset_PointParameterfvEXT, fn) +#define CALL_LockArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei)), _gloffset_LockArraysEXT, parameters) +#define GET_LockArraysEXT(disp) GET_by_offset(disp, _gloffset_LockArraysEXT) +#define SET_LockArraysEXT(disp, fn) SET_by_offset(disp, _gloffset_LockArraysEXT, fn) +#define CALL_UnlockArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_UnlockArraysEXT, parameters) +#define GET_UnlockArraysEXT(disp) GET_by_offset(disp, _gloffset_UnlockArraysEXT) +#define SET_UnlockArraysEXT(disp, fn) SET_by_offset(disp, _gloffset_UnlockArraysEXT, fn) +#define CALL_SecondaryColor3bEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLbyte, GLbyte, GLbyte)), _gloffset_SecondaryColor3bEXT, parameters) +#define GET_SecondaryColor3bEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3bEXT) +#define SET_SecondaryColor3bEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3bEXT, fn) +#define CALL_SecondaryColor3bvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLbyte *)), _gloffset_SecondaryColor3bvEXT, parameters) +#define GET_SecondaryColor3bvEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3bvEXT) +#define SET_SecondaryColor3bvEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3bvEXT, fn) +#define CALL_SecondaryColor3dEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_SecondaryColor3dEXT, parameters) +#define GET_SecondaryColor3dEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3dEXT) +#define SET_SecondaryColor3dEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3dEXT, fn) +#define CALL_SecondaryColor3dvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_SecondaryColor3dvEXT, parameters) +#define GET_SecondaryColor3dvEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3dvEXT) +#define SET_SecondaryColor3dvEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3dvEXT, fn) +#define CALL_SecondaryColor3fEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_SecondaryColor3fEXT, parameters) +#define GET_SecondaryColor3fEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3fEXT) +#define SET_SecondaryColor3fEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3fEXT, fn) +#define CALL_SecondaryColor3fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_SecondaryColor3fvEXT, parameters) +#define GET_SecondaryColor3fvEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3fvEXT) +#define SET_SecondaryColor3fvEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3fvEXT, fn) +#define CALL_SecondaryColor3iEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_SecondaryColor3iEXT, parameters) +#define GET_SecondaryColor3iEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3iEXT) +#define SET_SecondaryColor3iEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3iEXT, fn) +#define CALL_SecondaryColor3ivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_SecondaryColor3ivEXT, parameters) +#define GET_SecondaryColor3ivEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3ivEXT) +#define SET_SecondaryColor3ivEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3ivEXT, fn) +#define CALL_SecondaryColor3sEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), _gloffset_SecondaryColor3sEXT, parameters) +#define GET_SecondaryColor3sEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3sEXT) +#define SET_SecondaryColor3sEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3sEXT, fn) +#define CALL_SecondaryColor3svEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_SecondaryColor3svEXT, parameters) +#define GET_SecondaryColor3svEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3svEXT) +#define SET_SecondaryColor3svEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3svEXT, fn) +#define CALL_SecondaryColor3ubEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLubyte, GLubyte, GLubyte)), _gloffset_SecondaryColor3ubEXT, parameters) +#define GET_SecondaryColor3ubEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3ubEXT) +#define SET_SecondaryColor3ubEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3ubEXT, fn) +#define CALL_SecondaryColor3ubvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLubyte *)), _gloffset_SecondaryColor3ubvEXT, parameters) +#define GET_SecondaryColor3ubvEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3ubvEXT) +#define SET_SecondaryColor3ubvEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3ubvEXT, fn) +#define CALL_SecondaryColor3uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint)), _gloffset_SecondaryColor3uiEXT, parameters) +#define GET_SecondaryColor3uiEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3uiEXT) +#define SET_SecondaryColor3uiEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3uiEXT, fn) +#define CALL_SecondaryColor3uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLuint *)), _gloffset_SecondaryColor3uivEXT, parameters) +#define GET_SecondaryColor3uivEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3uivEXT) +#define SET_SecondaryColor3uivEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3uivEXT, fn) +#define CALL_SecondaryColor3usEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLushort, GLushort, GLushort)), _gloffset_SecondaryColor3usEXT, parameters) +#define GET_SecondaryColor3usEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3usEXT) +#define SET_SecondaryColor3usEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3usEXT, fn) +#define CALL_SecondaryColor3usvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLushort *)), _gloffset_SecondaryColor3usvEXT, parameters) +#define GET_SecondaryColor3usvEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColor3usvEXT) +#define SET_SecondaryColor3usvEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColor3usvEXT, fn) +#define CALL_SecondaryColorPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLenum, GLsizei, const GLvoid *)), _gloffset_SecondaryColorPointerEXT, parameters) +#define GET_SecondaryColorPointerEXT(disp) GET_by_offset(disp, _gloffset_SecondaryColorPointerEXT) +#define SET_SecondaryColorPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_SecondaryColorPointerEXT, fn) +#define CALL_MultiDrawArraysEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *, const GLsizei *, GLsizei)), _gloffset_MultiDrawArraysEXT, parameters) +#define GET_MultiDrawArraysEXT(disp) GET_by_offset(disp, _gloffset_MultiDrawArraysEXT) +#define SET_MultiDrawArraysEXT(disp, fn) SET_by_offset(disp, _gloffset_MultiDrawArraysEXT, fn) +#define CALL_MultiDrawElementsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei)), _gloffset_MultiDrawElementsEXT, parameters) +#define GET_MultiDrawElementsEXT(disp) GET_by_offset(disp, _gloffset_MultiDrawElementsEXT) +#define SET_MultiDrawElementsEXT(disp, fn) SET_by_offset(disp, _gloffset_MultiDrawElementsEXT, fn) +#define CALL_FogCoordPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, const GLvoid *)), _gloffset_FogCoordPointerEXT, parameters) +#define GET_FogCoordPointerEXT(disp) GET_by_offset(disp, _gloffset_FogCoordPointerEXT) +#define SET_FogCoordPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_FogCoordPointerEXT, fn) +#define CALL_FogCoorddEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble)), _gloffset_FogCoorddEXT, parameters) +#define GET_FogCoorddEXT(disp) GET_by_offset(disp, _gloffset_FogCoorddEXT) +#define SET_FogCoorddEXT(disp, fn) SET_by_offset(disp, _gloffset_FogCoorddEXT, fn) +#define CALL_FogCoorddvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_FogCoorddvEXT, parameters) +#define GET_FogCoorddvEXT(disp) GET_by_offset(disp, _gloffset_FogCoorddvEXT) +#define SET_FogCoorddvEXT(disp, fn) SET_by_offset(disp, _gloffset_FogCoorddvEXT, fn) +#define CALL_FogCoordfEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat)), _gloffset_FogCoordfEXT, parameters) +#define GET_FogCoordfEXT(disp) GET_by_offset(disp, _gloffset_FogCoordfEXT) +#define SET_FogCoordfEXT(disp, fn) SET_by_offset(disp, _gloffset_FogCoordfEXT, fn) +#define CALL_FogCoordfvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_FogCoordfvEXT, parameters) +#define GET_FogCoordfvEXT(disp) GET_by_offset(disp, _gloffset_FogCoordfvEXT) +#define SET_FogCoordfvEXT(disp, fn) SET_by_offset(disp, _gloffset_FogCoordfvEXT, fn) +#define CALL_PixelTexGenSGIX(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_PixelTexGenSGIX, parameters) +#define GET_PixelTexGenSGIX(disp) GET_by_offset(disp, _gloffset_PixelTexGenSGIX) +#define SET_PixelTexGenSGIX(disp, fn) SET_by_offset(disp, _gloffset_PixelTexGenSGIX, fn) +#define CALL_BlendFuncSeparateEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), _gloffset_BlendFuncSeparateEXT, parameters) +#define GET_BlendFuncSeparateEXT(disp) GET_by_offset(disp, _gloffset_BlendFuncSeparateEXT) +#define SET_BlendFuncSeparateEXT(disp, fn) SET_by_offset(disp, _gloffset_BlendFuncSeparateEXT, fn) +#define CALL_FlushVertexArrayRangeNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_FlushVertexArrayRangeNV, parameters) +#define GET_FlushVertexArrayRangeNV(disp) GET_by_offset(disp, _gloffset_FlushVertexArrayRangeNV) +#define SET_FlushVertexArrayRangeNV(disp, fn) SET_by_offset(disp, _gloffset_FlushVertexArrayRangeNV, fn) +#define CALL_VertexArrayRangeNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLvoid *)), _gloffset_VertexArrayRangeNV, parameters) +#define GET_VertexArrayRangeNV(disp) GET_by_offset(disp, _gloffset_VertexArrayRangeNV) +#define SET_VertexArrayRangeNV(disp, fn) SET_by_offset(disp, _gloffset_VertexArrayRangeNV, fn) +#define CALL_CombinerInputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum)), _gloffset_CombinerInputNV, parameters) +#define GET_CombinerInputNV(disp) GET_by_offset(disp, _gloffset_CombinerInputNV) +#define SET_CombinerInputNV(disp, fn) SET_by_offset(disp, _gloffset_CombinerInputNV, fn) +#define CALL_CombinerOutputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean)), _gloffset_CombinerOutputNV, parameters) +#define GET_CombinerOutputNV(disp) GET_by_offset(disp, _gloffset_CombinerOutputNV) +#define SET_CombinerOutputNV(disp, fn) SET_by_offset(disp, _gloffset_CombinerOutputNV, fn) +#define CALL_CombinerParameterfNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat)), _gloffset_CombinerParameterfNV, parameters) +#define GET_CombinerParameterfNV(disp) GET_by_offset(disp, _gloffset_CombinerParameterfNV) +#define SET_CombinerParameterfNV(disp, fn) SET_by_offset(disp, _gloffset_CombinerParameterfNV, fn) +#define CALL_CombinerParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_CombinerParameterfvNV, parameters) +#define GET_CombinerParameterfvNV(disp) GET_by_offset(disp, _gloffset_CombinerParameterfvNV) +#define SET_CombinerParameterfvNV(disp, fn) SET_by_offset(disp, _gloffset_CombinerParameterfvNV, fn) +#define CALL_CombinerParameteriNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_CombinerParameteriNV, parameters) +#define GET_CombinerParameteriNV(disp) GET_by_offset(disp, _gloffset_CombinerParameteriNV) +#define SET_CombinerParameteriNV(disp, fn) SET_by_offset(disp, _gloffset_CombinerParameteriNV, fn) +#define CALL_CombinerParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_CombinerParameterivNV, parameters) +#define GET_CombinerParameterivNV(disp) GET_by_offset(disp, _gloffset_CombinerParameterivNV) +#define SET_CombinerParameterivNV(disp, fn) SET_by_offset(disp, _gloffset_CombinerParameterivNV, fn) +#define CALL_FinalCombinerInputNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum)), _gloffset_FinalCombinerInputNV, parameters) +#define GET_FinalCombinerInputNV(disp) GET_by_offset(disp, _gloffset_FinalCombinerInputNV) +#define SET_FinalCombinerInputNV(disp, fn) SET_by_offset(disp, _gloffset_FinalCombinerInputNV, fn) +#define CALL_GetCombinerInputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLfloat *)), _gloffset_GetCombinerInputParameterfvNV, parameters) +#define GET_GetCombinerInputParameterfvNV(disp) GET_by_offset(disp, _gloffset_GetCombinerInputParameterfvNV) +#define SET_GetCombinerInputParameterfvNV(disp, fn) SET_by_offset(disp, _gloffset_GetCombinerInputParameterfvNV, fn) +#define CALL_GetCombinerInputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLenum, GLint *)), _gloffset_GetCombinerInputParameterivNV, parameters) +#define GET_GetCombinerInputParameterivNV(disp) GET_by_offset(disp, _gloffset_GetCombinerInputParameterivNV) +#define SET_GetCombinerInputParameterivNV(disp, fn) SET_by_offset(disp, _gloffset_GetCombinerInputParameterivNV, fn) +#define CALL_GetCombinerOutputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLfloat *)), _gloffset_GetCombinerOutputParameterfvNV, parameters) +#define GET_GetCombinerOutputParameterfvNV(disp) GET_by_offset(disp, _gloffset_GetCombinerOutputParameterfvNV) +#define SET_GetCombinerOutputParameterfvNV(disp, fn) SET_by_offset(disp, _gloffset_GetCombinerOutputParameterfvNV, fn) +#define CALL_GetCombinerOutputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLint *)), _gloffset_GetCombinerOutputParameterivNV, parameters) +#define GET_GetCombinerOutputParameterivNV(disp) GET_by_offset(disp, _gloffset_GetCombinerOutputParameterivNV) +#define SET_GetCombinerOutputParameterivNV(disp, fn) SET_by_offset(disp, _gloffset_GetCombinerOutputParameterivNV, fn) +#define CALL_GetFinalCombinerInputParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLfloat *)), _gloffset_GetFinalCombinerInputParameterfvNV, parameters) +#define GET_GetFinalCombinerInputParameterfvNV(disp) GET_by_offset(disp, _gloffset_GetFinalCombinerInputParameterfvNV) +#define SET_GetFinalCombinerInputParameterfvNV(disp, fn) SET_by_offset(disp, _gloffset_GetFinalCombinerInputParameterfvNV, fn) +#define CALL_GetFinalCombinerInputParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetFinalCombinerInputParameterivNV, parameters) +#define GET_GetFinalCombinerInputParameterivNV(disp) GET_by_offset(disp, _gloffset_GetFinalCombinerInputParameterivNV) +#define SET_GetFinalCombinerInputParameterivNV(disp, fn) SET_by_offset(disp, _gloffset_GetFinalCombinerInputParameterivNV, fn) +#define CALL_ResizeBuffersMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_ResizeBuffersMESA, parameters) +#define GET_ResizeBuffersMESA(disp) GET_by_offset(disp, _gloffset_ResizeBuffersMESA) +#define SET_ResizeBuffersMESA(disp, fn) SET_by_offset(disp, _gloffset_ResizeBuffersMESA, fn) +#define CALL_WindowPos2dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble)), _gloffset_WindowPos2dMESA, parameters) +#define GET_WindowPos2dMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2dMESA) +#define SET_WindowPos2dMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2dMESA, fn) +#define CALL_WindowPos2dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_WindowPos2dvMESA, parameters) +#define GET_WindowPos2dvMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2dvMESA) +#define SET_WindowPos2dvMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2dvMESA, fn) +#define CALL_WindowPos2fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat)), _gloffset_WindowPos2fMESA, parameters) +#define GET_WindowPos2fMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2fMESA) +#define SET_WindowPos2fMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2fMESA, fn) +#define CALL_WindowPos2fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_WindowPos2fvMESA, parameters) +#define GET_WindowPos2fvMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2fvMESA) +#define SET_WindowPos2fvMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2fvMESA, fn) +#define CALL_WindowPos2iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint)), _gloffset_WindowPos2iMESA, parameters) +#define GET_WindowPos2iMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2iMESA) +#define SET_WindowPos2iMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2iMESA, fn) +#define CALL_WindowPos2ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_WindowPos2ivMESA, parameters) +#define GET_WindowPos2ivMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2ivMESA) +#define SET_WindowPos2ivMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2ivMESA, fn) +#define CALL_WindowPos2sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort)), _gloffset_WindowPos2sMESA, parameters) +#define GET_WindowPos2sMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2sMESA) +#define SET_WindowPos2sMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2sMESA, fn) +#define CALL_WindowPos2svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_WindowPos2svMESA, parameters) +#define GET_WindowPos2svMESA(disp) GET_by_offset(disp, _gloffset_WindowPos2svMESA) +#define SET_WindowPos2svMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos2svMESA, fn) +#define CALL_WindowPos3dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble)), _gloffset_WindowPos3dMESA, parameters) +#define GET_WindowPos3dMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3dMESA) +#define SET_WindowPos3dMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3dMESA, fn) +#define CALL_WindowPos3dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_WindowPos3dvMESA, parameters) +#define GET_WindowPos3dvMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3dvMESA) +#define SET_WindowPos3dvMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3dvMESA, fn) +#define CALL_WindowPos3fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat)), _gloffset_WindowPos3fMESA, parameters) +#define GET_WindowPos3fMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3fMESA) +#define SET_WindowPos3fMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3fMESA, fn) +#define CALL_WindowPos3fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_WindowPos3fvMESA, parameters) +#define GET_WindowPos3fvMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3fvMESA) +#define SET_WindowPos3fvMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3fvMESA, fn) +#define CALL_WindowPos3iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint)), _gloffset_WindowPos3iMESA, parameters) +#define GET_WindowPos3iMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3iMESA) +#define SET_WindowPos3iMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3iMESA, fn) +#define CALL_WindowPos3ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_WindowPos3ivMESA, parameters) +#define GET_WindowPos3ivMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3ivMESA) +#define SET_WindowPos3ivMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3ivMESA, fn) +#define CALL_WindowPos3sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort)), _gloffset_WindowPos3sMESA, parameters) +#define GET_WindowPos3sMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3sMESA) +#define SET_WindowPos3sMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3sMESA, fn) +#define CALL_WindowPos3svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_WindowPos3svMESA, parameters) +#define GET_WindowPos3svMESA(disp) GET_by_offset(disp, _gloffset_WindowPos3svMESA) +#define SET_WindowPos3svMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos3svMESA, fn) +#define CALL_WindowPos4dMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_WindowPos4dMESA, parameters) +#define GET_WindowPos4dMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4dMESA) +#define SET_WindowPos4dMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4dMESA, fn) +#define CALL_WindowPos4dvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLdouble *)), _gloffset_WindowPos4dvMESA, parameters) +#define GET_WindowPos4dvMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4dvMESA) +#define SET_WindowPos4dvMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4dvMESA, fn) +#define CALL_WindowPos4fMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_WindowPos4fMESA, parameters) +#define GET_WindowPos4fMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4fMESA) +#define SET_WindowPos4fMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4fMESA, fn) +#define CALL_WindowPos4fvMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLfloat *)), _gloffset_WindowPos4fvMESA, parameters) +#define GET_WindowPos4fvMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4fvMESA) +#define SET_WindowPos4fvMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4fvMESA, fn) +#define CALL_WindowPos4iMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_WindowPos4iMESA, parameters) +#define GET_WindowPos4iMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4iMESA) +#define SET_WindowPos4iMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4iMESA, fn) +#define CALL_WindowPos4ivMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLint *)), _gloffset_WindowPos4ivMESA, parameters) +#define GET_WindowPos4ivMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4ivMESA) +#define SET_WindowPos4ivMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4ivMESA, fn) +#define CALL_WindowPos4sMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLshort, GLshort, GLshort, GLshort)), _gloffset_WindowPos4sMESA, parameters) +#define GET_WindowPos4sMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4sMESA) +#define SET_WindowPos4sMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4sMESA, fn) +#define CALL_WindowPos4svMESA(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLshort *)), _gloffset_WindowPos4svMESA, parameters) +#define GET_WindowPos4svMESA(disp) GET_by_offset(disp, _gloffset_WindowPos4svMESA) +#define SET_WindowPos4svMESA(disp, fn) SET_by_offset(disp, _gloffset_WindowPos4svMESA, fn) +#define CALL_MultiModeDrawArraysIBM(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint)), _gloffset_MultiModeDrawArraysIBM, parameters) +#define GET_MultiModeDrawArraysIBM(disp) GET_by_offset(disp, _gloffset_MultiModeDrawArraysIBM) +#define SET_MultiModeDrawArraysIBM(disp, fn) SET_by_offset(disp, _gloffset_MultiModeDrawArraysIBM, fn) +#define CALL_MultiModeDrawElementsIBM(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(const GLenum *, const GLsizei *, GLenum, const GLvoid * const *, GLsizei, GLint)), _gloffset_MultiModeDrawElementsIBM, parameters) +#define GET_MultiModeDrawElementsIBM(disp) GET_by_offset(disp, _gloffset_MultiModeDrawElementsIBM) +#define SET_MultiModeDrawElementsIBM(disp, fn) SET_by_offset(disp, _gloffset_MultiModeDrawElementsIBM, fn) +#define CALL_DeleteFencesNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteFencesNV, parameters) +#define GET_DeleteFencesNV(disp) GET_by_offset(disp, _gloffset_DeleteFencesNV) +#define SET_DeleteFencesNV(disp, fn) SET_by_offset(disp, _gloffset_DeleteFencesNV, fn) +#define CALL_FinishFenceNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_FinishFenceNV, parameters) +#define GET_FinishFenceNV(disp) GET_by_offset(disp, _gloffset_FinishFenceNV) +#define SET_FinishFenceNV(disp, fn) SET_by_offset(disp, _gloffset_FinishFenceNV, fn) +#define CALL_GenFencesNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenFencesNV, parameters) +#define GET_GenFencesNV(disp) GET_by_offset(disp, _gloffset_GenFencesNV) +#define SET_GenFencesNV(disp, fn) SET_by_offset(disp, _gloffset_GenFencesNV, fn) +#define CALL_GetFenceivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetFenceivNV, parameters) +#define GET_GetFenceivNV(disp) GET_by_offset(disp, _gloffset_GetFenceivNV) +#define SET_GetFenceivNV(disp, fn) SET_by_offset(disp, _gloffset_GetFenceivNV, fn) +#define CALL_IsFenceNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsFenceNV, parameters) +#define GET_IsFenceNV(disp) GET_by_offset(disp, _gloffset_IsFenceNV) +#define SET_IsFenceNV(disp, fn) SET_by_offset(disp, _gloffset_IsFenceNV, fn) +#define CALL_SetFenceNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum)), _gloffset_SetFenceNV, parameters) +#define GET_SetFenceNV(disp) GET_by_offset(disp, _gloffset_SetFenceNV) +#define SET_SetFenceNV(disp, fn) SET_by_offset(disp, _gloffset_SetFenceNV, fn) +#define CALL_TestFenceNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_TestFenceNV, parameters) +#define GET_TestFenceNV(disp) GET_by_offset(disp, _gloffset_TestFenceNV) +#define SET_TestFenceNV(disp, fn) SET_by_offset(disp, _gloffset_TestFenceNV, fn) +#define CALL_AreProgramsResidentNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLsizei, const GLuint *, GLboolean *)), _gloffset_AreProgramsResidentNV, parameters) +#define GET_AreProgramsResidentNV(disp) GET_by_offset(disp, _gloffset_AreProgramsResidentNV) +#define SET_AreProgramsResidentNV(disp, fn) SET_by_offset(disp, _gloffset_AreProgramsResidentNV, fn) +#define CALL_BindProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_BindProgramNV, parameters) +#define GET_BindProgramNV(disp) GET_by_offset(disp, _gloffset_BindProgramNV) +#define SET_BindProgramNV(disp, fn) SET_by_offset(disp, _gloffset_BindProgramNV, fn) +#define CALL_DeleteProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteProgramsNV, parameters) +#define GET_DeleteProgramsNV(disp) GET_by_offset(disp, _gloffset_DeleteProgramsNV) +#define SET_DeleteProgramsNV(disp, fn) SET_by_offset(disp, _gloffset_DeleteProgramsNV, fn) +#define CALL_ExecuteProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, const GLfloat *)), _gloffset_ExecuteProgramNV, parameters) +#define GET_ExecuteProgramNV(disp) GET_by_offset(disp, _gloffset_ExecuteProgramNV) +#define SET_ExecuteProgramNV(disp, fn) SET_by_offset(disp, _gloffset_ExecuteProgramNV, fn) +#define CALL_GenProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenProgramsNV, parameters) +#define GET_GenProgramsNV(disp) GET_by_offset(disp, _gloffset_GenProgramsNV) +#define SET_GenProgramsNV(disp, fn) SET_by_offset(disp, _gloffset_GenProgramsNV, fn) +#define CALL_GetProgramParameterdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLdouble *)), _gloffset_GetProgramParameterdvNV, parameters) +#define GET_GetProgramParameterdvNV(disp) GET_by_offset(disp, _gloffset_GetProgramParameterdvNV) +#define SET_GetProgramParameterdvNV(disp, fn) SET_by_offset(disp, _gloffset_GetProgramParameterdvNV, fn) +#define CALL_GetProgramParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLfloat *)), _gloffset_GetProgramParameterfvNV, parameters) +#define GET_GetProgramParameterfvNV(disp) GET_by_offset(disp, _gloffset_GetProgramParameterfvNV) +#define SET_GetProgramParameterfvNV(disp, fn) SET_by_offset(disp, _gloffset_GetProgramParameterfvNV, fn) +#define CALL_GetProgramStringNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLubyte *)), _gloffset_GetProgramStringNV, parameters) +#define GET_GetProgramStringNV(disp) GET_by_offset(disp, _gloffset_GetProgramStringNV) +#define SET_GetProgramStringNV(disp, fn) SET_by_offset(disp, _gloffset_GetProgramStringNV, fn) +#define CALL_GetProgramivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetProgramivNV, parameters) +#define GET_GetProgramivNV(disp) GET_by_offset(disp, _gloffset_GetProgramivNV) +#define SET_GetProgramivNV(disp, fn) SET_by_offset(disp, _gloffset_GetProgramivNV, fn) +#define CALL_GetTrackMatrixivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLint *)), _gloffset_GetTrackMatrixivNV, parameters) +#define GET_GetTrackMatrixivNV(disp) GET_by_offset(disp, _gloffset_GetTrackMatrixivNV) +#define SET_GetTrackMatrixivNV(disp, fn) SET_by_offset(disp, _gloffset_GetTrackMatrixivNV, fn) +#define CALL_GetVertexAttribPointervNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLvoid **)), _gloffset_GetVertexAttribPointervNV, parameters) +#define GET_GetVertexAttribPointervNV(disp) GET_by_offset(disp, _gloffset_GetVertexAttribPointervNV) +#define SET_GetVertexAttribPointervNV(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribPointervNV, fn) +#define CALL_GetVertexAttribdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLdouble *)), _gloffset_GetVertexAttribdvNV, parameters) +#define GET_GetVertexAttribdvNV(disp) GET_by_offset(disp, _gloffset_GetVertexAttribdvNV) +#define SET_GetVertexAttribdvNV(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribdvNV, fn) +#define CALL_GetVertexAttribfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLfloat *)), _gloffset_GetVertexAttribfvNV, parameters) +#define GET_GetVertexAttribfvNV(disp) GET_by_offset(disp, _gloffset_GetVertexAttribfvNV) +#define SET_GetVertexAttribfvNV(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribfvNV, fn) +#define CALL_GetVertexAttribivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetVertexAttribivNV, parameters) +#define GET_GetVertexAttribivNV(disp) GET_by_offset(disp, _gloffset_GetVertexAttribivNV) +#define SET_GetVertexAttribivNV(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribivNV, fn) +#define CALL_IsProgramNV(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsProgramNV, parameters) +#define GET_IsProgramNV(disp) GET_by_offset(disp, _gloffset_IsProgramNV) +#define SET_IsProgramNV(disp, fn) SET_by_offset(disp, _gloffset_IsProgramNV, fn) +#define CALL_LoadProgramNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLubyte *)), _gloffset_LoadProgramNV, parameters) +#define GET_LoadProgramNV(disp) GET_by_offset(disp, _gloffset_LoadProgramNV) +#define SET_LoadProgramNV(disp, fn) SET_by_offset(disp, _gloffset_LoadProgramNV, fn) +#define CALL_ProgramParameters4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, const GLdouble *)), _gloffset_ProgramParameters4dvNV, parameters) +#define GET_ProgramParameters4dvNV(disp) GET_by_offset(disp, _gloffset_ProgramParameters4dvNV) +#define SET_ProgramParameters4dvNV(disp, fn) SET_by_offset(disp, _gloffset_ProgramParameters4dvNV, fn) +#define CALL_ProgramParameters4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, const GLfloat *)), _gloffset_ProgramParameters4fvNV, parameters) +#define GET_ProgramParameters4fvNV(disp) GET_by_offset(disp, _gloffset_ProgramParameters4fvNV) +#define SET_ProgramParameters4fvNV(disp, fn) SET_by_offset(disp, _gloffset_ProgramParameters4fvNV, fn) +#define CALL_RequestResidentProgramsNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_RequestResidentProgramsNV, parameters) +#define GET_RequestResidentProgramsNV(disp) GET_by_offset(disp, _gloffset_RequestResidentProgramsNV) +#define SET_RequestResidentProgramsNV(disp, fn) SET_by_offset(disp, _gloffset_RequestResidentProgramsNV, fn) +#define CALL_TrackMatrixNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLenum)), _gloffset_TrackMatrixNV, parameters) +#define GET_TrackMatrixNV(disp) GET_by_offset(disp, _gloffset_TrackMatrixNV) +#define SET_TrackMatrixNV(disp, fn) SET_by_offset(disp, _gloffset_TrackMatrixNV, fn) +#define CALL_VertexAttrib1dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble)), _gloffset_VertexAttrib1dNV, parameters) +#define GET_VertexAttrib1dNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib1dNV) +#define SET_VertexAttrib1dNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1dNV, fn) +#define CALL_VertexAttrib1dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib1dvNV, parameters) +#define GET_VertexAttrib1dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib1dvNV) +#define SET_VertexAttrib1dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1dvNV, fn) +#define CALL_VertexAttrib1fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat)), _gloffset_VertexAttrib1fNV, parameters) +#define GET_VertexAttrib1fNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib1fNV) +#define SET_VertexAttrib1fNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1fNV, fn) +#define CALL_VertexAttrib1fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib1fvNV, parameters) +#define GET_VertexAttrib1fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib1fvNV) +#define SET_VertexAttrib1fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1fvNV, fn) +#define CALL_VertexAttrib1sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort)), _gloffset_VertexAttrib1sNV, parameters) +#define GET_VertexAttrib1sNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib1sNV) +#define SET_VertexAttrib1sNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1sNV, fn) +#define CALL_VertexAttrib1svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib1svNV, parameters) +#define GET_VertexAttrib1svNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib1svNV) +#define SET_VertexAttrib1svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib1svNV, fn) +#define CALL_VertexAttrib2dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble)), _gloffset_VertexAttrib2dNV, parameters) +#define GET_VertexAttrib2dNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib2dNV) +#define SET_VertexAttrib2dNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2dNV, fn) +#define CALL_VertexAttrib2dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib2dvNV, parameters) +#define GET_VertexAttrib2dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib2dvNV) +#define SET_VertexAttrib2dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2dvNV, fn) +#define CALL_VertexAttrib2fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat)), _gloffset_VertexAttrib2fNV, parameters) +#define GET_VertexAttrib2fNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib2fNV) +#define SET_VertexAttrib2fNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2fNV, fn) +#define CALL_VertexAttrib2fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib2fvNV, parameters) +#define GET_VertexAttrib2fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib2fvNV) +#define SET_VertexAttrib2fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2fvNV, fn) +#define CALL_VertexAttrib2sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort)), _gloffset_VertexAttrib2sNV, parameters) +#define GET_VertexAttrib2sNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib2sNV) +#define SET_VertexAttrib2sNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2sNV, fn) +#define CALL_VertexAttrib2svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib2svNV, parameters) +#define GET_VertexAttrib2svNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib2svNV) +#define SET_VertexAttrib2svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib2svNV, fn) +#define CALL_VertexAttrib3dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble)), _gloffset_VertexAttrib3dNV, parameters) +#define GET_VertexAttrib3dNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib3dNV) +#define SET_VertexAttrib3dNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3dNV, fn) +#define CALL_VertexAttrib3dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib3dvNV, parameters) +#define GET_VertexAttrib3dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib3dvNV) +#define SET_VertexAttrib3dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3dvNV, fn) +#define CALL_VertexAttrib3fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat)), _gloffset_VertexAttrib3fNV, parameters) +#define GET_VertexAttrib3fNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib3fNV) +#define SET_VertexAttrib3fNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3fNV, fn) +#define CALL_VertexAttrib3fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib3fvNV, parameters) +#define GET_VertexAttrib3fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib3fvNV) +#define SET_VertexAttrib3fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3fvNV, fn) +#define CALL_VertexAttrib3sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort)), _gloffset_VertexAttrib3sNV, parameters) +#define GET_VertexAttrib3sNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib3sNV) +#define SET_VertexAttrib3sNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3sNV, fn) +#define CALL_VertexAttrib3svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib3svNV, parameters) +#define GET_VertexAttrib3svNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib3svNV) +#define SET_VertexAttrib3svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib3svNV, fn) +#define CALL_VertexAttrib4dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_VertexAttrib4dNV, parameters) +#define GET_VertexAttrib4dNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4dNV) +#define SET_VertexAttrib4dNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4dNV, fn) +#define CALL_VertexAttrib4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLdouble *)), _gloffset_VertexAttrib4dvNV, parameters) +#define GET_VertexAttrib4dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4dvNV) +#define SET_VertexAttrib4dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4dvNV, fn) +#define CALL_VertexAttrib4fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_VertexAttrib4fNV, parameters) +#define GET_VertexAttrib4fNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4fNV) +#define SET_VertexAttrib4fNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4fNV, fn) +#define CALL_VertexAttrib4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_VertexAttrib4fvNV, parameters) +#define GET_VertexAttrib4fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4fvNV) +#define SET_VertexAttrib4fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4fvNV, fn) +#define CALL_VertexAttrib4sNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLshort, GLshort, GLshort, GLshort)), _gloffset_VertexAttrib4sNV, parameters) +#define GET_VertexAttrib4sNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4sNV) +#define SET_VertexAttrib4sNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4sNV, fn) +#define CALL_VertexAttrib4svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttrib4svNV, parameters) +#define GET_VertexAttrib4svNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4svNV) +#define SET_VertexAttrib4svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4svNV, fn) +#define CALL_VertexAttrib4ubNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLubyte, GLubyte, GLubyte, GLubyte)), _gloffset_VertexAttrib4ubNV, parameters) +#define GET_VertexAttrib4ubNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4ubNV) +#define SET_VertexAttrib4ubNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4ubNV, fn) +#define CALL_VertexAttrib4ubvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), _gloffset_VertexAttrib4ubvNV, parameters) +#define GET_VertexAttrib4ubvNV(disp) GET_by_offset(disp, _gloffset_VertexAttrib4ubvNV) +#define SET_VertexAttrib4ubvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttrib4ubvNV, fn) +#define CALL_VertexAttribPointerNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)), _gloffset_VertexAttribPointerNV, parameters) +#define GET_VertexAttribPointerNV(disp) GET_by_offset(disp, _gloffset_VertexAttribPointerNV) +#define SET_VertexAttribPointerNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribPointerNV, fn) +#define CALL_VertexAttribs1dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), _gloffset_VertexAttribs1dvNV, parameters) +#define GET_VertexAttribs1dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs1dvNV) +#define SET_VertexAttribs1dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs1dvNV, fn) +#define CALL_VertexAttribs1fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), _gloffset_VertexAttribs1fvNV, parameters) +#define GET_VertexAttribs1fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs1fvNV) +#define SET_VertexAttribs1fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs1fvNV, fn) +#define CALL_VertexAttribs1svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), _gloffset_VertexAttribs1svNV, parameters) +#define GET_VertexAttribs1svNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs1svNV) +#define SET_VertexAttribs1svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs1svNV, fn) +#define CALL_VertexAttribs2dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), _gloffset_VertexAttribs2dvNV, parameters) +#define GET_VertexAttribs2dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs2dvNV) +#define SET_VertexAttribs2dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs2dvNV, fn) +#define CALL_VertexAttribs2fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), _gloffset_VertexAttribs2fvNV, parameters) +#define GET_VertexAttribs2fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs2fvNV) +#define SET_VertexAttribs2fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs2fvNV, fn) +#define CALL_VertexAttribs2svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), _gloffset_VertexAttribs2svNV, parameters) +#define GET_VertexAttribs2svNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs2svNV) +#define SET_VertexAttribs2svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs2svNV, fn) +#define CALL_VertexAttribs3dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), _gloffset_VertexAttribs3dvNV, parameters) +#define GET_VertexAttribs3dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs3dvNV) +#define SET_VertexAttribs3dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs3dvNV, fn) +#define CALL_VertexAttribs3fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), _gloffset_VertexAttribs3fvNV, parameters) +#define GET_VertexAttribs3fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs3fvNV) +#define SET_VertexAttribs3fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs3fvNV, fn) +#define CALL_VertexAttribs3svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), _gloffset_VertexAttribs3svNV, parameters) +#define GET_VertexAttribs3svNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs3svNV) +#define SET_VertexAttribs3svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs3svNV, fn) +#define CALL_VertexAttribs4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLdouble *)), _gloffset_VertexAttribs4dvNV, parameters) +#define GET_VertexAttribs4dvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs4dvNV) +#define SET_VertexAttribs4dvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs4dvNV, fn) +#define CALL_VertexAttribs4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLfloat *)), _gloffset_VertexAttribs4fvNV, parameters) +#define GET_VertexAttribs4fvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs4fvNV) +#define SET_VertexAttribs4fvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs4fvNV, fn) +#define CALL_VertexAttribs4svNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLshort *)), _gloffset_VertexAttribs4svNV, parameters) +#define GET_VertexAttribs4svNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs4svNV) +#define SET_VertexAttribs4svNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs4svNV, fn) +#define CALL_VertexAttribs4ubvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *)), _gloffset_VertexAttribs4ubvNV, parameters) +#define GET_VertexAttribs4ubvNV(disp) GET_by_offset(disp, _gloffset_VertexAttribs4ubvNV) +#define SET_VertexAttribs4ubvNV(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribs4ubvNV, fn) +#define CALL_GetTexBumpParameterfvATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLfloat *)), _gloffset_GetTexBumpParameterfvATI, parameters) +#define GET_GetTexBumpParameterfvATI(disp) GET_by_offset(disp, _gloffset_GetTexBumpParameterfvATI) +#define SET_GetTexBumpParameterfvATI(disp, fn) SET_by_offset(disp, _gloffset_GetTexBumpParameterfvATI, fn) +#define CALL_GetTexBumpParameterivATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint *)), _gloffset_GetTexBumpParameterivATI, parameters) +#define GET_GetTexBumpParameterivATI(disp) GET_by_offset(disp, _gloffset_GetTexBumpParameterivATI) +#define SET_GetTexBumpParameterivATI(disp, fn) SET_by_offset(disp, _gloffset_GetTexBumpParameterivATI, fn) +#define CALL_TexBumpParameterfvATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLfloat *)), _gloffset_TexBumpParameterfvATI, parameters) +#define GET_TexBumpParameterfvATI(disp) GET_by_offset(disp, _gloffset_TexBumpParameterfvATI) +#define SET_TexBumpParameterfvATI(disp, fn) SET_by_offset(disp, _gloffset_TexBumpParameterfvATI, fn) +#define CALL_TexBumpParameterivATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_TexBumpParameterivATI, parameters) +#define GET_TexBumpParameterivATI(disp) GET_by_offset(disp, _gloffset_TexBumpParameterivATI) +#define SET_TexBumpParameterivATI(disp, fn) SET_by_offset(disp, _gloffset_TexBumpParameterivATI, fn) +#define CALL_AlphaFragmentOp1ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint)), _gloffset_AlphaFragmentOp1ATI, parameters) +#define GET_AlphaFragmentOp1ATI(disp) GET_by_offset(disp, _gloffset_AlphaFragmentOp1ATI) +#define SET_AlphaFragmentOp1ATI(disp, fn) SET_by_offset(disp, _gloffset_AlphaFragmentOp1ATI, fn) +#define CALL_AlphaFragmentOp2ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), _gloffset_AlphaFragmentOp2ATI, parameters) +#define GET_AlphaFragmentOp2ATI(disp) GET_by_offset(disp, _gloffset_AlphaFragmentOp2ATI) +#define SET_AlphaFragmentOp2ATI(disp, fn) SET_by_offset(disp, _gloffset_AlphaFragmentOp2ATI, fn) +#define CALL_AlphaFragmentOp3ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), _gloffset_AlphaFragmentOp3ATI, parameters) +#define GET_AlphaFragmentOp3ATI(disp) GET_by_offset(disp, _gloffset_AlphaFragmentOp3ATI) +#define SET_AlphaFragmentOp3ATI(disp, fn) SET_by_offset(disp, _gloffset_AlphaFragmentOp3ATI, fn) +#define CALL_BeginFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_BeginFragmentShaderATI, parameters) +#define GET_BeginFragmentShaderATI(disp) GET_by_offset(disp, _gloffset_BeginFragmentShaderATI) +#define SET_BeginFragmentShaderATI(disp, fn) SET_by_offset(disp, _gloffset_BeginFragmentShaderATI, fn) +#define CALL_BindFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_BindFragmentShaderATI, parameters) +#define GET_BindFragmentShaderATI(disp) GET_by_offset(disp, _gloffset_BindFragmentShaderATI) +#define SET_BindFragmentShaderATI(disp, fn) SET_by_offset(disp, _gloffset_BindFragmentShaderATI, fn) +#define CALL_ColorFragmentOp1ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), _gloffset_ColorFragmentOp1ATI, parameters) +#define GET_ColorFragmentOp1ATI(disp) GET_by_offset(disp, _gloffset_ColorFragmentOp1ATI) +#define SET_ColorFragmentOp1ATI(disp, fn) SET_by_offset(disp, _gloffset_ColorFragmentOp1ATI, fn) +#define CALL_ColorFragmentOp2ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), _gloffset_ColorFragmentOp2ATI, parameters) +#define GET_ColorFragmentOp2ATI(disp) GET_by_offset(disp, _gloffset_ColorFragmentOp2ATI) +#define SET_ColorFragmentOp2ATI(disp, fn) SET_by_offset(disp, _gloffset_ColorFragmentOp2ATI, fn) +#define CALL_ColorFragmentOp3ATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint)), _gloffset_ColorFragmentOp3ATI, parameters) +#define GET_ColorFragmentOp3ATI(disp) GET_by_offset(disp, _gloffset_ColorFragmentOp3ATI) +#define SET_ColorFragmentOp3ATI(disp, fn) SET_by_offset(disp, _gloffset_ColorFragmentOp3ATI, fn) +#define CALL_DeleteFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_DeleteFragmentShaderATI, parameters) +#define GET_DeleteFragmentShaderATI(disp) GET_by_offset(disp, _gloffset_DeleteFragmentShaderATI) +#define SET_DeleteFragmentShaderATI(disp, fn) SET_by_offset(disp, _gloffset_DeleteFragmentShaderATI, fn) +#define CALL_EndFragmentShaderATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_EndFragmentShaderATI, parameters) +#define GET_EndFragmentShaderATI(disp) GET_by_offset(disp, _gloffset_EndFragmentShaderATI) +#define SET_EndFragmentShaderATI(disp, fn) SET_by_offset(disp, _gloffset_EndFragmentShaderATI, fn) +#define CALL_GenFragmentShadersATI(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLuint)), _gloffset_GenFragmentShadersATI, parameters) +#define GET_GenFragmentShadersATI(disp) GET_by_offset(disp, _gloffset_GenFragmentShadersATI) +#define SET_GenFragmentShadersATI(disp, fn) SET_by_offset(disp, _gloffset_GenFragmentShadersATI, fn) +#define CALL_PassTexCoordATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLenum)), _gloffset_PassTexCoordATI, parameters) +#define GET_PassTexCoordATI(disp) GET_by_offset(disp, _gloffset_PassTexCoordATI) +#define SET_PassTexCoordATI(disp, fn) SET_by_offset(disp, _gloffset_PassTexCoordATI, fn) +#define CALL_SampleMapATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLenum)), _gloffset_SampleMapATI, parameters) +#define GET_SampleMapATI(disp) GET_by_offset(disp, _gloffset_SampleMapATI) +#define SET_SampleMapATI(disp, fn) SET_by_offset(disp, _gloffset_SampleMapATI, fn) +#define CALL_SetFragmentShaderConstantATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLfloat *)), _gloffset_SetFragmentShaderConstantATI, parameters) +#define GET_SetFragmentShaderConstantATI(disp) GET_by_offset(disp, _gloffset_SetFragmentShaderConstantATI) +#define SET_SetFragmentShaderConstantATI(disp, fn) SET_by_offset(disp, _gloffset_SetFragmentShaderConstantATI, fn) +#define CALL_PointParameteriNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLint)), _gloffset_PointParameteriNV, parameters) +#define GET_PointParameteriNV(disp) GET_by_offset(disp, _gloffset_PointParameteriNV) +#define SET_PointParameteriNV(disp, fn) SET_by_offset(disp, _gloffset_PointParameteriNV, fn) +#define CALL_PointParameterivNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, const GLint *)), _gloffset_PointParameterivNV, parameters) +#define GET_PointParameterivNV(disp) GET_by_offset(disp, _gloffset_PointParameterivNV) +#define SET_PointParameterivNV(disp, fn) SET_by_offset(disp, _gloffset_PointParameterivNV, fn) +#define CALL_ActiveStencilFaceEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ActiveStencilFaceEXT, parameters) +#define GET_ActiveStencilFaceEXT(disp) GET_by_offset(disp, _gloffset_ActiveStencilFaceEXT) +#define SET_ActiveStencilFaceEXT(disp, fn) SET_by_offset(disp, _gloffset_ActiveStencilFaceEXT, fn) +#define CALL_BindVertexArrayAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_BindVertexArrayAPPLE, parameters) +#define GET_BindVertexArrayAPPLE(disp) GET_by_offset(disp, _gloffset_BindVertexArrayAPPLE) +#define SET_BindVertexArrayAPPLE(disp, fn) SET_by_offset(disp, _gloffset_BindVertexArrayAPPLE, fn) +#define CALL_DeleteVertexArraysAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteVertexArraysAPPLE, parameters) +#define GET_DeleteVertexArraysAPPLE(disp) GET_by_offset(disp, _gloffset_DeleteVertexArraysAPPLE) +#define SET_DeleteVertexArraysAPPLE(disp, fn) SET_by_offset(disp, _gloffset_DeleteVertexArraysAPPLE, fn) +#define CALL_GenVertexArraysAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenVertexArraysAPPLE, parameters) +#define GET_GenVertexArraysAPPLE(disp) GET_by_offset(disp, _gloffset_GenVertexArraysAPPLE) +#define SET_GenVertexArraysAPPLE(disp, fn) SET_by_offset(disp, _gloffset_GenVertexArraysAPPLE, fn) +#define CALL_IsVertexArrayAPPLE(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsVertexArrayAPPLE, parameters) +#define GET_IsVertexArrayAPPLE(disp) GET_by_offset(disp, _gloffset_IsVertexArrayAPPLE) +#define SET_IsVertexArrayAPPLE(disp, fn) SET_by_offset(disp, _gloffset_IsVertexArrayAPPLE, fn) +#define CALL_GetProgramNamedParameterdvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLdouble *)), _gloffset_GetProgramNamedParameterdvNV, parameters) +#define GET_GetProgramNamedParameterdvNV(disp) GET_by_offset(disp, _gloffset_GetProgramNamedParameterdvNV) +#define SET_GetProgramNamedParameterdvNV(disp, fn) SET_by_offset(disp, _gloffset_GetProgramNamedParameterdvNV, fn) +#define CALL_GetProgramNamedParameterfvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLfloat *)), _gloffset_GetProgramNamedParameterfvNV, parameters) +#define GET_GetProgramNamedParameterfvNV(disp) GET_by_offset(disp, _gloffset_GetProgramNamedParameterfvNV) +#define SET_GetProgramNamedParameterfvNV(disp, fn) SET_by_offset(disp, _gloffset_GetProgramNamedParameterfvNV, fn) +#define CALL_ProgramNamedParameter4dNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble)), _gloffset_ProgramNamedParameter4dNV, parameters) +#define GET_ProgramNamedParameter4dNV(disp) GET_by_offset(disp, _gloffset_ProgramNamedParameter4dNV) +#define SET_ProgramNamedParameter4dNV(disp, fn) SET_by_offset(disp, _gloffset_ProgramNamedParameter4dNV, fn) +#define CALL_ProgramNamedParameter4dvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, const GLdouble *)), _gloffset_ProgramNamedParameter4dvNV, parameters) +#define GET_ProgramNamedParameter4dvNV(disp) GET_by_offset(disp, _gloffset_ProgramNamedParameter4dvNV) +#define SET_ProgramNamedParameter4dvNV(disp, fn) SET_by_offset(disp, _gloffset_ProgramNamedParameter4dvNV, fn) +#define CALL_ProgramNamedParameter4fNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat)), _gloffset_ProgramNamedParameter4fNV, parameters) +#define GET_ProgramNamedParameter4fNV(disp) GET_by_offset(disp, _gloffset_ProgramNamedParameter4fNV) +#define SET_ProgramNamedParameter4fNV(disp, fn) SET_by_offset(disp, _gloffset_ProgramNamedParameter4fNV, fn) +#define CALL_ProgramNamedParameter4fvNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const GLubyte *, const GLfloat *)), _gloffset_ProgramNamedParameter4fvNV, parameters) +#define GET_ProgramNamedParameter4fvNV(disp) GET_by_offset(disp, _gloffset_ProgramNamedParameter4fvNV) +#define SET_ProgramNamedParameter4fvNV(disp, fn) SET_by_offset(disp, _gloffset_ProgramNamedParameter4fvNV, fn) +#define CALL_PrimitiveRestartIndexNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_PrimitiveRestartIndexNV, parameters) +#define GET_PrimitiveRestartIndexNV(disp) GET_by_offset(disp, _gloffset_PrimitiveRestartIndexNV) +#define SET_PrimitiveRestartIndexNV(disp, fn) SET_by_offset(disp, _gloffset_PrimitiveRestartIndexNV, fn) +#define CALL_PrimitiveRestartNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_PrimitiveRestartNV, parameters) +#define GET_PrimitiveRestartNV(disp) GET_by_offset(disp, _gloffset_PrimitiveRestartNV) +#define SET_PrimitiveRestartNV(disp, fn) SET_by_offset(disp, _gloffset_PrimitiveRestartNV, fn) +#define CALL_DepthBoundsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampd, GLclampd)), _gloffset_DepthBoundsEXT, parameters) +#define GET_DepthBoundsEXT(disp) GET_by_offset(disp, _gloffset_DepthBoundsEXT) +#define SET_DepthBoundsEXT(disp, fn) SET_by_offset(disp, _gloffset_DepthBoundsEXT, fn) +#define CALL_BlendEquationSeparateEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum)), _gloffset_BlendEquationSeparateEXT, parameters) +#define GET_BlendEquationSeparateEXT(disp) GET_by_offset(disp, _gloffset_BlendEquationSeparateEXT) +#define SET_BlendEquationSeparateEXT(disp, fn) SET_by_offset(disp, _gloffset_BlendEquationSeparateEXT, fn) +#define CALL_BindFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_BindFramebufferEXT, parameters) +#define GET_BindFramebufferEXT(disp) GET_by_offset(disp, _gloffset_BindFramebufferEXT) +#define SET_BindFramebufferEXT(disp, fn) SET_by_offset(disp, _gloffset_BindFramebufferEXT, fn) +#define CALL_BindRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_BindRenderbufferEXT, parameters) +#define GET_BindRenderbufferEXT(disp) GET_by_offset(disp, _gloffset_BindRenderbufferEXT) +#define SET_BindRenderbufferEXT(disp, fn) SET_by_offset(disp, _gloffset_BindRenderbufferEXT, fn) +#define CALL_CheckFramebufferStatusEXT(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLenum)), _gloffset_CheckFramebufferStatusEXT, parameters) +#define GET_CheckFramebufferStatusEXT(disp) GET_by_offset(disp, _gloffset_CheckFramebufferStatusEXT) +#define SET_CheckFramebufferStatusEXT(disp, fn) SET_by_offset(disp, _gloffset_CheckFramebufferStatusEXT, fn) +#define CALL_DeleteFramebuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteFramebuffersEXT, parameters) +#define GET_DeleteFramebuffersEXT(disp) GET_by_offset(disp, _gloffset_DeleteFramebuffersEXT) +#define SET_DeleteFramebuffersEXT(disp, fn) SET_by_offset(disp, _gloffset_DeleteFramebuffersEXT, fn) +#define CALL_DeleteRenderbuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *)), _gloffset_DeleteRenderbuffersEXT, parameters) +#define GET_DeleteRenderbuffersEXT(disp) GET_by_offset(disp, _gloffset_DeleteRenderbuffersEXT) +#define SET_DeleteRenderbuffersEXT(disp, fn) SET_by_offset(disp, _gloffset_DeleteRenderbuffersEXT, fn) +#define CALL_FramebufferRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint)), _gloffset_FramebufferRenderbufferEXT, parameters) +#define GET_FramebufferRenderbufferEXT(disp) GET_by_offset(disp, _gloffset_FramebufferRenderbufferEXT) +#define SET_FramebufferRenderbufferEXT(disp, fn) SET_by_offset(disp, _gloffset_FramebufferRenderbufferEXT, fn) +#define CALL_FramebufferTexture1DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint)), _gloffset_FramebufferTexture1DEXT, parameters) +#define GET_FramebufferTexture1DEXT(disp) GET_by_offset(disp, _gloffset_FramebufferTexture1DEXT) +#define SET_FramebufferTexture1DEXT(disp, fn) SET_by_offset(disp, _gloffset_FramebufferTexture1DEXT, fn) +#define CALL_FramebufferTexture2DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint)), _gloffset_FramebufferTexture2DEXT, parameters) +#define GET_FramebufferTexture2DEXT(disp) GET_by_offset(disp, _gloffset_FramebufferTexture2DEXT) +#define SET_FramebufferTexture2DEXT(disp, fn) SET_by_offset(disp, _gloffset_FramebufferTexture2DEXT, fn) +#define CALL_FramebufferTexture3DEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLuint, GLint, GLint)), _gloffset_FramebufferTexture3DEXT, parameters) +#define GET_FramebufferTexture3DEXT(disp) GET_by_offset(disp, _gloffset_FramebufferTexture3DEXT) +#define SET_FramebufferTexture3DEXT(disp, fn) SET_by_offset(disp, _gloffset_FramebufferTexture3DEXT, fn) +#define CALL_GenFramebuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenFramebuffersEXT, parameters) +#define GET_GenFramebuffersEXT(disp) GET_by_offset(disp, _gloffset_GenFramebuffersEXT) +#define SET_GenFramebuffersEXT(disp, fn) SET_by_offset(disp, _gloffset_GenFramebuffersEXT, fn) +#define CALL_GenRenderbuffersEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, GLuint *)), _gloffset_GenRenderbuffersEXT, parameters) +#define GET_GenRenderbuffersEXT(disp) GET_by_offset(disp, _gloffset_GenRenderbuffersEXT) +#define SET_GenRenderbuffersEXT(disp, fn) SET_by_offset(disp, _gloffset_GenRenderbuffersEXT, fn) +#define CALL_GenerateMipmapEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_GenerateMipmapEXT, parameters) +#define GET_GenerateMipmapEXT(disp) GET_by_offset(disp, _gloffset_GenerateMipmapEXT) +#define SET_GenerateMipmapEXT(disp, fn) SET_by_offset(disp, _gloffset_GenerateMipmapEXT, fn) +#define CALL_GetFramebufferAttachmentParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLenum, GLint *)), _gloffset_GetFramebufferAttachmentParameterivEXT, parameters) +#define GET_GetFramebufferAttachmentParameterivEXT(disp) GET_by_offset(disp, _gloffset_GetFramebufferAttachmentParameterivEXT) +#define SET_GetFramebufferAttachmentParameterivEXT(disp, fn) SET_by_offset(disp, _gloffset_GetFramebufferAttachmentParameterivEXT, fn) +#define CALL_GetRenderbufferParameterivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetRenderbufferParameterivEXT, parameters) +#define GET_GetRenderbufferParameterivEXT(disp) GET_by_offset(disp, _gloffset_GetRenderbufferParameterivEXT) +#define SET_GetRenderbufferParameterivEXT(disp, fn) SET_by_offset(disp, _gloffset_GetRenderbufferParameterivEXT, fn) +#define CALL_IsFramebufferEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsFramebufferEXT, parameters) +#define GET_IsFramebufferEXT(disp) GET_by_offset(disp, _gloffset_IsFramebufferEXT) +#define SET_IsFramebufferEXT(disp, fn) SET_by_offset(disp, _gloffset_IsFramebufferEXT, fn) +#define CALL_IsRenderbufferEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLuint)), _gloffset_IsRenderbufferEXT, parameters) +#define GET_IsRenderbufferEXT(disp) GET_by_offset(disp, _gloffset_IsRenderbufferEXT) +#define SET_IsRenderbufferEXT(disp, fn) SET_by_offset(disp, _gloffset_IsRenderbufferEXT, fn) +#define CALL_RenderbufferStorageEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLsizei, GLsizei)), _gloffset_RenderbufferStorageEXT, parameters) +#define GET_RenderbufferStorageEXT(disp) GET_by_offset(disp, _gloffset_RenderbufferStorageEXT) +#define SET_RenderbufferStorageEXT(disp, fn) SET_by_offset(disp, _gloffset_RenderbufferStorageEXT, fn) +#define CALL_BlitFramebufferEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)), _gloffset_BlitFramebufferEXT, parameters) +#define GET_BlitFramebufferEXT(disp) GET_by_offset(disp, _gloffset_BlitFramebufferEXT) +#define SET_BlitFramebufferEXT(disp, fn) SET_by_offset(disp, _gloffset_BlitFramebufferEXT, fn) +#define CALL_BufferParameteriAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint)), _gloffset_BufferParameteriAPPLE, parameters) +#define GET_BufferParameteriAPPLE(disp) GET_by_offset(disp, _gloffset_BufferParameteriAPPLE) +#define SET_BufferParameteriAPPLE(disp, fn) SET_by_offset(disp, _gloffset_BufferParameteriAPPLE, fn) +#define CALL_FlushMappedBufferRangeAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLintptr, GLsizeiptr)), _gloffset_FlushMappedBufferRangeAPPLE, parameters) +#define GET_FlushMappedBufferRangeAPPLE(disp) GET_by_offset(disp, _gloffset_FlushMappedBufferRangeAPPLE) +#define SET_FlushMappedBufferRangeAPPLE(disp, fn) SET_by_offset(disp, _gloffset_FlushMappedBufferRangeAPPLE, fn) +#define CALL_BindFragDataLocationEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, const GLchar *)), _gloffset_BindFragDataLocationEXT, parameters) +#define GET_BindFragDataLocationEXT(disp) GET_by_offset(disp, _gloffset_BindFragDataLocationEXT) +#define SET_BindFragDataLocationEXT(disp, fn) SET_by_offset(disp, _gloffset_BindFragDataLocationEXT, fn) +#define CALL_GetFragDataLocationEXT(disp, parameters) CALL_by_offset(disp, (GLint (GLAPIENTRYP)(GLuint, const GLchar *)), _gloffset_GetFragDataLocationEXT, parameters) +#define GET_GetFragDataLocationEXT(disp) GET_by_offset(disp, _gloffset_GetFragDataLocationEXT) +#define SET_GetFragDataLocationEXT(disp, fn) SET_by_offset(disp, _gloffset_GetFragDataLocationEXT, fn) +#define CALL_GetUniformuivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLuint *)), _gloffset_GetUniformuivEXT, parameters) +#define GET_GetUniformuivEXT(disp) GET_by_offset(disp, _gloffset_GetUniformuivEXT) +#define SET_GetUniformuivEXT(disp, fn) SET_by_offset(disp, _gloffset_GetUniformuivEXT, fn) +#define CALL_GetVertexAttribIivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint *)), _gloffset_GetVertexAttribIivEXT, parameters) +#define GET_GetVertexAttribIivEXT(disp) GET_by_offset(disp, _gloffset_GetVertexAttribIivEXT) +#define SET_GetVertexAttribIivEXT(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribIivEXT, fn) +#define CALL_GetVertexAttribIuivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint *)), _gloffset_GetVertexAttribIuivEXT, parameters) +#define GET_GetVertexAttribIuivEXT(disp) GET_by_offset(disp, _gloffset_GetVertexAttribIuivEXT) +#define SET_GetVertexAttribIuivEXT(disp, fn) SET_by_offset(disp, _gloffset_GetVertexAttribIuivEXT, fn) +#define CALL_Uniform1uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLuint)), _gloffset_Uniform1uiEXT, parameters) +#define GET_Uniform1uiEXT(disp) GET_by_offset(disp, _gloffset_Uniform1uiEXT) +#define SET_Uniform1uiEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform1uiEXT, fn) +#define CALL_Uniform1uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLuint *)), _gloffset_Uniform1uivEXT, parameters) +#define GET_Uniform1uivEXT(disp) GET_by_offset(disp, _gloffset_Uniform1uivEXT) +#define SET_Uniform1uivEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform1uivEXT, fn) +#define CALL_Uniform2uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLuint, GLuint)), _gloffset_Uniform2uiEXT, parameters) +#define GET_Uniform2uiEXT(disp) GET_by_offset(disp, _gloffset_Uniform2uiEXT) +#define SET_Uniform2uiEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform2uiEXT, fn) +#define CALL_Uniform2uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLuint *)), _gloffset_Uniform2uivEXT, parameters) +#define GET_Uniform2uivEXT(disp) GET_by_offset(disp, _gloffset_Uniform2uivEXT) +#define SET_Uniform2uivEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform2uivEXT, fn) +#define CALL_Uniform3uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLuint, GLuint, GLuint)), _gloffset_Uniform3uiEXT, parameters) +#define GET_Uniform3uiEXT(disp) GET_by_offset(disp, _gloffset_Uniform3uiEXT) +#define SET_Uniform3uiEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform3uiEXT, fn) +#define CALL_Uniform3uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLuint *)), _gloffset_Uniform3uivEXT, parameters) +#define GET_Uniform3uivEXT(disp) GET_by_offset(disp, _gloffset_Uniform3uivEXT) +#define SET_Uniform3uivEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform3uivEXT, fn) +#define CALL_Uniform4uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLuint, GLuint, GLuint, GLuint)), _gloffset_Uniform4uiEXT, parameters) +#define GET_Uniform4uiEXT(disp) GET_by_offset(disp, _gloffset_Uniform4uiEXT) +#define SET_Uniform4uiEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform4uiEXT, fn) +#define CALL_Uniform4uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLsizei, const GLuint *)), _gloffset_Uniform4uivEXT, parameters) +#define GET_Uniform4uivEXT(disp) GET_by_offset(disp, _gloffset_Uniform4uivEXT) +#define SET_Uniform4uivEXT(disp, fn) SET_by_offset(disp, _gloffset_Uniform4uivEXT, fn) +#define CALL_VertexAttribI1iEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint)), _gloffset_VertexAttribI1iEXT, parameters) +#define GET_VertexAttribI1iEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI1iEXT) +#define SET_VertexAttribI1iEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI1iEXT, fn) +#define CALL_VertexAttribI1ivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), _gloffset_VertexAttribI1ivEXT, parameters) +#define GET_VertexAttribI1ivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI1ivEXT) +#define SET_VertexAttribI1ivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI1ivEXT, fn) +#define CALL_VertexAttribI1uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), _gloffset_VertexAttribI1uiEXT, parameters) +#define GET_VertexAttribI1uiEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI1uiEXT) +#define SET_VertexAttribI1uiEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI1uiEXT, fn) +#define CALL_VertexAttribI1uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), _gloffset_VertexAttribI1uivEXT, parameters) +#define GET_VertexAttribI1uivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI1uivEXT) +#define SET_VertexAttribI1uivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI1uivEXT, fn) +#define CALL_VertexAttribI2iEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLint)), _gloffset_VertexAttribI2iEXT, parameters) +#define GET_VertexAttribI2iEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI2iEXT) +#define SET_VertexAttribI2iEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI2iEXT, fn) +#define CALL_VertexAttribI2ivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), _gloffset_VertexAttribI2ivEXT, parameters) +#define GET_VertexAttribI2ivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI2ivEXT) +#define SET_VertexAttribI2ivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI2ivEXT, fn) +#define CALL_VertexAttribI2uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint)), _gloffset_VertexAttribI2uiEXT, parameters) +#define GET_VertexAttribI2uiEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI2uiEXT) +#define SET_VertexAttribI2uiEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI2uiEXT, fn) +#define CALL_VertexAttribI2uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), _gloffset_VertexAttribI2uivEXT, parameters) +#define GET_VertexAttribI2uivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI2uivEXT) +#define SET_VertexAttribI2uivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI2uivEXT, fn) +#define CALL_VertexAttribI3iEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLint, GLint)), _gloffset_VertexAttribI3iEXT, parameters) +#define GET_VertexAttribI3iEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI3iEXT) +#define SET_VertexAttribI3iEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI3iEXT, fn) +#define CALL_VertexAttribI3ivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), _gloffset_VertexAttribI3ivEXT, parameters) +#define GET_VertexAttribI3ivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI3ivEXT) +#define SET_VertexAttribI3ivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI3ivEXT, fn) +#define CALL_VertexAttribI3uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint, GLuint)), _gloffset_VertexAttribI3uiEXT, parameters) +#define GET_VertexAttribI3uiEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI3uiEXT) +#define SET_VertexAttribI3uiEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI3uiEXT, fn) +#define CALL_VertexAttribI3uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), _gloffset_VertexAttribI3uivEXT, parameters) +#define GET_VertexAttribI3uivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI3uivEXT) +#define SET_VertexAttribI3uivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI3uivEXT, fn) +#define CALL_VertexAttribI4bvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLbyte *)), _gloffset_VertexAttribI4bvEXT, parameters) +#define GET_VertexAttribI4bvEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4bvEXT) +#define SET_VertexAttribI4bvEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4bvEXT, fn) +#define CALL_VertexAttribI4iEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLint, GLint, GLint)), _gloffset_VertexAttribI4iEXT, parameters) +#define GET_VertexAttribI4iEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4iEXT) +#define SET_VertexAttribI4iEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4iEXT, fn) +#define CALL_VertexAttribI4ivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLint *)), _gloffset_VertexAttribI4ivEXT, parameters) +#define GET_VertexAttribI4ivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4ivEXT) +#define SET_VertexAttribI4ivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4ivEXT, fn) +#define CALL_VertexAttribI4svEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLshort *)), _gloffset_VertexAttribI4svEXT, parameters) +#define GET_VertexAttribI4svEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4svEXT) +#define SET_VertexAttribI4svEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4svEXT, fn) +#define CALL_VertexAttribI4ubvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLubyte *)), _gloffset_VertexAttribI4ubvEXT, parameters) +#define GET_VertexAttribI4ubvEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4ubvEXT) +#define SET_VertexAttribI4ubvEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4ubvEXT, fn) +#define CALL_VertexAttribI4uiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint, GLuint, GLuint)), _gloffset_VertexAttribI4uiEXT, parameters) +#define GET_VertexAttribI4uiEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4uiEXT) +#define SET_VertexAttribI4uiEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4uiEXT, fn) +#define CALL_VertexAttribI4uivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLuint *)), _gloffset_VertexAttribI4uivEXT, parameters) +#define GET_VertexAttribI4uivEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4uivEXT) +#define SET_VertexAttribI4uivEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4uivEXT, fn) +#define CALL_VertexAttribI4usvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, const GLushort *)), _gloffset_VertexAttribI4usvEXT, parameters) +#define GET_VertexAttribI4usvEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribI4usvEXT) +#define SET_VertexAttribI4usvEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribI4usvEXT, fn) +#define CALL_VertexAttribIPointerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLint, GLenum, GLsizei, const GLvoid *)), _gloffset_VertexAttribIPointerEXT, parameters) +#define GET_VertexAttribIPointerEXT(disp) GET_by_offset(disp, _gloffset_VertexAttribIPointerEXT) +#define SET_VertexAttribIPointerEXT(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribIPointerEXT, fn) +#define CALL_FramebufferTextureLayerEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint, GLint, GLint)), _gloffset_FramebufferTextureLayerEXT, parameters) +#define GET_FramebufferTextureLayerEXT(disp) GET_by_offset(disp, _gloffset_FramebufferTextureLayerEXT) +#define SET_FramebufferTextureLayerEXT(disp, fn) SET_by_offset(disp, _gloffset_FramebufferTextureLayerEXT, fn) +#define CALL_ColorMaskIndexedEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLboolean, GLboolean, GLboolean, GLboolean)), _gloffset_ColorMaskIndexedEXT, parameters) +#define GET_ColorMaskIndexedEXT(disp) GET_by_offset(disp, _gloffset_ColorMaskIndexedEXT) +#define SET_ColorMaskIndexedEXT(disp, fn) SET_by_offset(disp, _gloffset_ColorMaskIndexedEXT, fn) +#define CALL_DisableIndexedEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_DisableIndexedEXT, parameters) +#define GET_DisableIndexedEXT(disp) GET_by_offset(disp, _gloffset_DisableIndexedEXT) +#define SET_DisableIndexedEXT(disp, fn) SET_by_offset(disp, _gloffset_DisableIndexedEXT, fn) +#define CALL_EnableIndexedEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_EnableIndexedEXT, parameters) +#define GET_EnableIndexedEXT(disp) GET_by_offset(disp, _gloffset_EnableIndexedEXT) +#define SET_EnableIndexedEXT(disp, fn) SET_by_offset(disp, _gloffset_EnableIndexedEXT, fn) +#define CALL_GetBooleanIndexedvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLboolean *)), _gloffset_GetBooleanIndexedvEXT, parameters) +#define GET_GetBooleanIndexedvEXT(disp) GET_by_offset(disp, _gloffset_GetBooleanIndexedvEXT) +#define SET_GetBooleanIndexedvEXT(disp, fn) SET_by_offset(disp, _gloffset_GetBooleanIndexedvEXT, fn) +#define CALL_GetIntegerIndexedvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLint *)), _gloffset_GetIntegerIndexedvEXT, parameters) +#define GET_GetIntegerIndexedvEXT(disp) GET_by_offset(disp, _gloffset_GetIntegerIndexedvEXT) +#define SET_GetIntegerIndexedvEXT(disp, fn) SET_by_offset(disp, _gloffset_GetIntegerIndexedvEXT, fn) +#define CALL_IsEnabledIndexedEXT(disp, parameters) CALL_by_offset(disp, (GLboolean (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_IsEnabledIndexedEXT, parameters) +#define GET_IsEnabledIndexedEXT(disp) GET_by_offset(disp, _gloffset_IsEnabledIndexedEXT) +#define SET_IsEnabledIndexedEXT(disp, fn) SET_by_offset(disp, _gloffset_IsEnabledIndexedEXT, fn) +#define CALL_ClearColorIiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLint, GLint, GLint, GLint)), _gloffset_ClearColorIiEXT, parameters) +#define GET_ClearColorIiEXT(disp) GET_by_offset(disp, _gloffset_ClearColorIiEXT) +#define SET_ClearColorIiEXT(disp, fn) SET_by_offset(disp, _gloffset_ClearColorIiEXT, fn) +#define CALL_ClearColorIuiEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLuint, GLuint)), _gloffset_ClearColorIuiEXT, parameters) +#define GET_ClearColorIuiEXT(disp) GET_by_offset(disp, _gloffset_ClearColorIuiEXT) +#define SET_ClearColorIuiEXT(disp, fn) SET_by_offset(disp, _gloffset_ClearColorIuiEXT, fn) +#define CALL_GetTexParameterIivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *)), _gloffset_GetTexParameterIivEXT, parameters) +#define GET_GetTexParameterIivEXT(disp) GET_by_offset(disp, _gloffset_GetTexParameterIivEXT) +#define SET_GetTexParameterIivEXT(disp, fn) SET_by_offset(disp, _gloffset_GetTexParameterIivEXT, fn) +#define CALL_GetTexParameterIuivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLuint *)), _gloffset_GetTexParameterIuivEXT, parameters) +#define GET_GetTexParameterIuivEXT(disp) GET_by_offset(disp, _gloffset_GetTexParameterIuivEXT) +#define SET_GetTexParameterIuivEXT(disp, fn) SET_by_offset(disp, _gloffset_GetTexParameterIuivEXT, fn) +#define CALL_TexParameterIivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLint *)), _gloffset_TexParameterIivEXT, parameters) +#define GET_TexParameterIivEXT(disp) GET_by_offset(disp, _gloffset_TexParameterIivEXT) +#define SET_TexParameterIivEXT(disp, fn) SET_by_offset(disp, _gloffset_TexParameterIivEXT, fn) +#define CALL_TexParameterIuivEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, const GLuint *)), _gloffset_TexParameterIuivEXT, parameters) +#define GET_TexParameterIuivEXT(disp) GET_by_offset(disp, _gloffset_TexParameterIuivEXT) +#define SET_TexParameterIuivEXT(disp, fn) SET_by_offset(disp, _gloffset_TexParameterIuivEXT, fn) +#define CALL_BeginConditionalRenderNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum)), _gloffset_BeginConditionalRenderNV, parameters) +#define GET_BeginConditionalRenderNV(disp) GET_by_offset(disp, _gloffset_BeginConditionalRenderNV) +#define SET_BeginConditionalRenderNV(disp, fn) SET_by_offset(disp, _gloffset_BeginConditionalRenderNV, fn) +#define CALL_EndConditionalRenderNV(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_EndConditionalRenderNV, parameters) +#define GET_EndConditionalRenderNV(disp) GET_by_offset(disp, _gloffset_EndConditionalRenderNV) +#define SET_EndConditionalRenderNV(disp, fn) SET_by_offset(disp, _gloffset_EndConditionalRenderNV, fn) +#define CALL_BeginTransformFeedbackEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_BeginTransformFeedbackEXT, parameters) +#define GET_BeginTransformFeedbackEXT(disp) GET_by_offset(disp, _gloffset_BeginTransformFeedbackEXT) +#define SET_BeginTransformFeedbackEXT(disp, fn) SET_by_offset(disp, _gloffset_BeginTransformFeedbackEXT, fn) +#define CALL_BindBufferBaseEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint)), _gloffset_BindBufferBaseEXT, parameters) +#define GET_BindBufferBaseEXT(disp) GET_by_offset(disp, _gloffset_BindBufferBaseEXT) +#define SET_BindBufferBaseEXT(disp, fn) SET_by_offset(disp, _gloffset_BindBufferBaseEXT, fn) +#define CALL_BindBufferOffsetEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLintptr)), _gloffset_BindBufferOffsetEXT, parameters) +#define GET_BindBufferOffsetEXT(disp) GET_by_offset(disp, _gloffset_BindBufferOffsetEXT) +#define SET_BindBufferOffsetEXT(disp, fn) SET_by_offset(disp, _gloffset_BindBufferOffsetEXT, fn) +#define CALL_BindBufferRangeEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)), _gloffset_BindBufferRangeEXT, parameters) +#define GET_BindBufferRangeEXT(disp) GET_by_offset(disp, _gloffset_BindBufferRangeEXT) +#define SET_BindBufferRangeEXT(disp, fn) SET_by_offset(disp, _gloffset_BindBufferRangeEXT, fn) +#define CALL_EndTransformFeedbackEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_EndTransformFeedbackEXT, parameters) +#define GET_EndTransformFeedbackEXT(disp) GET_by_offset(disp, _gloffset_EndTransformFeedbackEXT) +#define SET_EndTransformFeedbackEXT(disp, fn) SET_by_offset(disp, _gloffset_EndTransformFeedbackEXT, fn) +#define CALL_GetTransformFeedbackVaryingEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint, GLsizei, GLsizei *, GLsizei *, GLenum *, GLchar *)), _gloffset_GetTransformFeedbackVaryingEXT, parameters) +#define GET_GetTransformFeedbackVaryingEXT(disp) GET_by_offset(disp, _gloffset_GetTransformFeedbackVaryingEXT) +#define SET_GetTransformFeedbackVaryingEXT(disp, fn) SET_by_offset(disp, _gloffset_GetTransformFeedbackVaryingEXT, fn) +#define CALL_TransformFeedbackVaryingsEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLsizei, const char **, GLenum)), _gloffset_TransformFeedbackVaryingsEXT, parameters) +#define GET_TransformFeedbackVaryingsEXT(disp) GET_by_offset(disp, _gloffset_TransformFeedbackVaryingsEXT) +#define SET_TransformFeedbackVaryingsEXT(disp, fn) SET_by_offset(disp, _gloffset_TransformFeedbackVaryingsEXT, fn) +#define CALL_ProvokingVertexEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum)), _gloffset_ProvokingVertexEXT, parameters) +#define GET_ProvokingVertexEXT(disp) GET_by_offset(disp, _gloffset_ProvokingVertexEXT) +#define SET_ProvokingVertexEXT(disp, fn) SET_by_offset(disp, _gloffset_ProvokingVertexEXT, fn) +#define CALL_GetTexParameterPointervAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLvoid **)), _gloffset_GetTexParameterPointervAPPLE, parameters) +#define GET_GetTexParameterPointervAPPLE(disp) GET_by_offset(disp, _gloffset_GetTexParameterPointervAPPLE) +#define SET_GetTexParameterPointervAPPLE(disp, fn) SET_by_offset(disp, _gloffset_GetTexParameterPointervAPPLE, fn) +#define CALL_TextureRangeAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLsizei, GLvoid *)), _gloffset_TextureRangeAPPLE, parameters) +#define GET_TextureRangeAPPLE(disp) GET_by_offset(disp, _gloffset_TextureRangeAPPLE) +#define SET_TextureRangeAPPLE(disp, fn) SET_by_offset(disp, _gloffset_TextureRangeAPPLE, fn) +#define CALL_GetObjectParameterivAPPLE(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLenum, GLint *)), _gloffset_GetObjectParameterivAPPLE, parameters) +#define GET_GetObjectParameterivAPPLE(disp) GET_by_offset(disp, _gloffset_GetObjectParameterivAPPLE) +#define SET_GetObjectParameterivAPPLE(disp, fn) SET_by_offset(disp, _gloffset_GetObjectParameterivAPPLE, fn) +#define CALL_ObjectPurgeableAPPLE(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLenum, GLuint, GLenum)), _gloffset_ObjectPurgeableAPPLE, parameters) +#define GET_ObjectPurgeableAPPLE(disp) GET_by_offset(disp, _gloffset_ObjectPurgeableAPPLE) +#define SET_ObjectPurgeableAPPLE(disp, fn) SET_by_offset(disp, _gloffset_ObjectPurgeableAPPLE, fn) +#define CALL_ObjectUnpurgeableAPPLE(disp, parameters) CALL_by_offset(disp, (GLenum (GLAPIENTRYP)(GLenum, GLuint, GLenum)), _gloffset_ObjectUnpurgeableAPPLE, parameters) +#define GET_ObjectUnpurgeableAPPLE(disp) GET_by_offset(disp, _gloffset_ObjectUnpurgeableAPPLE) +#define SET_ObjectUnpurgeableAPPLE(disp, fn) SET_by_offset(disp, _gloffset_ObjectUnpurgeableAPPLE, fn) +#define CALL_ActiveProgramEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint)), _gloffset_ActiveProgramEXT, parameters) +#define GET_ActiveProgramEXT(disp) GET_by_offset(disp, _gloffset_ActiveProgramEXT) +#define SET_ActiveProgramEXT(disp, fn) SET_by_offset(disp, _gloffset_ActiveProgramEXT, fn) +#define CALL_CreateShaderProgramEXT(disp, parameters) CALL_by_offset(disp, (GLuint (GLAPIENTRYP)(GLenum, const GLchar *)), _gloffset_CreateShaderProgramEXT, parameters) +#define GET_CreateShaderProgramEXT(disp) GET_by_offset(disp, _gloffset_CreateShaderProgramEXT) +#define SET_CreateShaderProgramEXT(disp, fn) SET_by_offset(disp, _gloffset_CreateShaderProgramEXT, fn) +#define CALL_UseShaderProgramEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint)), _gloffset_UseShaderProgramEXT, parameters) +#define GET_UseShaderProgramEXT(disp) GET_by_offset(disp, _gloffset_UseShaderProgramEXT) +#define SET_UseShaderProgramEXT(disp, fn) SET_by_offset(disp, _gloffset_UseShaderProgramEXT, fn) +#define CALL_StencilFuncSeparateATI(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint, GLuint)), _gloffset_StencilFuncSeparateATI, parameters) +#define GET_StencilFuncSeparateATI(disp) GET_by_offset(disp, _gloffset_StencilFuncSeparateATI) +#define SET_StencilFuncSeparateATI(disp, fn) SET_by_offset(disp, _gloffset_StencilFuncSeparateATI, fn) +#define CALL_ProgramEnvParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), _gloffset_ProgramEnvParameters4fvEXT, parameters) +#define GET_ProgramEnvParameters4fvEXT(disp) GET_by_offset(disp, _gloffset_ProgramEnvParameters4fvEXT) +#define SET_ProgramEnvParameters4fvEXT(disp, fn) SET_by_offset(disp, _gloffset_ProgramEnvParameters4fvEXT, fn) +#define CALL_ProgramLocalParameters4fvEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLuint, GLsizei, const GLfloat *)), _gloffset_ProgramLocalParameters4fvEXT, parameters) +#define GET_ProgramLocalParameters4fvEXT(disp) GET_by_offset(disp, _gloffset_ProgramLocalParameters4fvEXT) +#define SET_ProgramLocalParameters4fvEXT(disp, fn) SET_by_offset(disp, _gloffset_ProgramLocalParameters4fvEXT, fn) +#define CALL_GetQueryObjecti64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLint64EXT *)), _gloffset_GetQueryObjecti64vEXT, parameters) +#define GET_GetQueryObjecti64vEXT(disp) GET_by_offset(disp, _gloffset_GetQueryObjecti64vEXT) +#define SET_GetQueryObjecti64vEXT(disp, fn) SET_by_offset(disp, _gloffset_GetQueryObjecti64vEXT, fn) +#define CALL_GetQueryObjectui64vEXT(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLuint64EXT *)), _gloffset_GetQueryObjectui64vEXT, parameters) +#define GET_GetQueryObjectui64vEXT(disp) GET_by_offset(disp, _gloffset_GetQueryObjectui64vEXT) +#define SET_GetQueryObjectui64vEXT(disp, fn) SET_by_offset(disp, _gloffset_GetQueryObjectui64vEXT, fn) +#define CALL_EGLImageTargetRenderbufferStorageOES(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLvoid *)), _gloffset_EGLImageTargetRenderbufferStorageOES, parameters) +#define GET_EGLImageTargetRenderbufferStorageOES(disp) GET_by_offset(disp, _gloffset_EGLImageTargetRenderbufferStorageOES) +#define SET_EGLImageTargetRenderbufferStorageOES(disp, fn) SET_by_offset(disp, _gloffset_EGLImageTargetRenderbufferStorageOES, fn) +#define CALL_EGLImageTargetTexture2DOES(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLvoid *)), _gloffset_EGLImageTargetTexture2DOES, parameters) +#define GET_EGLImageTargetTexture2DOES(disp) GET_by_offset(disp, _gloffset_EGLImageTargetTexture2DOES) +#define SET_EGLImageTargetTexture2DOES(disp, fn) SET_by_offset(disp, _gloffset_EGLImageTargetTexture2DOES, fn) + +#endif /* !defined( _GLAPI_DISPATCH_H_ ) */ diff --git a/src/mesa/main/hint.h b/src/mesa/main/hint.h index 66e78ad6557..6c62068743a 100644 --- a/src/mesa/main/hint.h +++ b/src/mesa/main/hint.h @@ -36,8 +36,10 @@ #ifndef HINT_H #define HINT_H +#include "glheader.h" +#include "mfeatures.h" -#include "mtypes.h" +struct gl_context; #if _HAVE_FULL_GL diff --git a/src/mesa/main/histogram.h b/src/mesa/main/histogram.h index 240087141b3..577324222ca 100644 --- a/src/mesa/main/histogram.h +++ b/src/mesa/main/histogram.h @@ -36,7 +36,10 @@ #ifndef HISTOGRAM_H #define HISTOGRAM_H -#include "main/mtypes.h" +#include "compiler.h" +#include "mfeatures.h" + +struct _glapi_table; #if FEATURE_histogram diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index 43cc06d7196..df1527b47f1 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -315,13 +315,15 @@ _mesa_bytes_per_pixel( GLenum format, GLenum type ) return comps * sizeof(GLhalfARB); case GL_UNSIGNED_BYTE_3_3_2: case GL_UNSIGNED_BYTE_2_3_3_REV: - if (format == GL_RGB || format == GL_BGR) + if (format == GL_RGB || format == GL_BGR || + format == GL_RGB_INTEGER_EXT || format == GL_BGR_INTEGER_EXT) return sizeof(GLubyte); else return -1; /* error */ case GL_UNSIGNED_SHORT_5_6_5: case GL_UNSIGNED_SHORT_5_6_5_REV: - if (format == GL_RGB || format == GL_BGR) + if (format == GL_RGB || format == GL_BGR || + format == GL_RGB_INTEGER_EXT || format == GL_BGR_INTEGER_EXT) return sizeof(GLushort); else return -1; /* error */ @@ -329,7 +331,8 @@ _mesa_bytes_per_pixel( GLenum format, GLenum type ) 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: - if (format == GL_RGBA || format == GL_BGRA || format == GL_ABGR_EXT) + if (format == GL_RGBA || format == GL_BGRA || format == GL_ABGR_EXT || + format == GL_RGBA_INTEGER_EXT || format == GL_BGRA_INTEGER_EXT) return sizeof(GLushort); else return -1; @@ -337,7 +340,8 @@ _mesa_bytes_per_pixel( GLenum format, GLenum type ) 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: - if (format == GL_RGBA || format == GL_BGRA || format == GL_ABGR_EXT) + if (format == GL_RGBA || format == GL_BGRA || format == GL_ABGR_EXT || + format == GL_RGBA_INTEGER_EXT || format == GL_BGRA_INTEGER_EXT) return sizeof(GLuint); else return -1; @@ -368,7 +372,8 @@ _mesa_bytes_per_pixel( GLenum format, GLenum type ) * otherwise. */ GLboolean -_mesa_is_legal_format_and_type( struct gl_context *ctx, GLenum format, GLenum type ) +_mesa_is_legal_format_and_type(const struct gl_context *ctx, + GLenum format, GLenum type) { switch (format) { case GL_COLOR_INDEX: @@ -518,14 +523,77 @@ _mesa_is_legal_format_and_type( struct gl_context *ctx, GLenum format, GLenum ty default: return GL_FALSE; } + + /* integer-valued formats */ case GL_RED_INTEGER_EXT: case GL_GREEN_INTEGER_EXT: case GL_BLUE_INTEGER_EXT: case GL_ALPHA_INTEGER_EXT: + switch (type) { + case GL_BYTE: + case GL_UNSIGNED_BYTE: + case GL_SHORT: + case GL_UNSIGNED_SHORT: + case GL_INT: + case GL_UNSIGNED_INT: + return ctx->Extensions.EXT_texture_integer; + default: + return GL_FALSE; + } + case GL_RGB_INTEGER_EXT: - case GL_RGBA_INTEGER_EXT: + switch (type) { + case GL_BYTE: + case GL_UNSIGNED_BYTE: + case GL_SHORT: + case GL_UNSIGNED_SHORT: + case GL_INT: + case GL_UNSIGNED_INT: + 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: + return ctx->Extensions.EXT_texture_integer; + default: + return GL_FALSE; + } + case GL_BGR_INTEGER_EXT: + switch (type) { + case GL_BYTE: + case GL_UNSIGNED_BYTE: + case GL_SHORT: + case GL_UNSIGNED_SHORT: + case GL_INT: + case GL_UNSIGNED_INT: + /* NOTE: no packed formats w/ BGR format */ + return ctx->Extensions.EXT_texture_integer; + default: + return GL_FALSE; + } + + case GL_RGBA_INTEGER_EXT: case GL_BGRA_INTEGER_EXT: + switch (type) { + case GL_BYTE: + case GL_UNSIGNED_BYTE: + case GL_SHORT: + case GL_UNSIGNED_SHORT: + case GL_INT: + case GL_UNSIGNED_INT: + 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: + return ctx->Extensions.EXT_texture_integer; + default: + return GL_FALSE; + } + case GL_LUMINANCE_INTEGER_EXT: case GL_LUMINANCE_ALPHA_INTEGER_EXT: switch (type) { diff --git a/src/mesa/main/image.h b/src/mesa/main/image.h index b40717223e1..005fbccbeb0 100644 --- a/src/mesa/main/image.h +++ b/src/mesa/main/image.h @@ -27,8 +27,10 @@ #define IMAGE_H -#include "mtypes.h" +#include "glheader.h" +struct gl_context; +struct gl_pixelstore_attrib; extern void _mesa_swap2( GLushort *p, GLuint n ); @@ -52,7 +54,8 @@ extern GLint _mesa_bytes_per_pixel( GLenum format, GLenum type ); extern GLboolean -_mesa_is_legal_format_and_type( struct gl_context *ctx, GLenum format, GLenum type ); +_mesa_is_legal_format_and_type(const struct gl_context *ctx, + GLenum format, GLenum type); extern GLboolean _mesa_is_color_format(GLenum format); diff --git a/src/mesa/main/light.h b/src/mesa/main/light.h index 021f5ea1939..f42fbe6f506 100644 --- a/src/mesa/main/light.h +++ b/src/mesa/main/light.h @@ -28,7 +28,12 @@ #define LIGHT_H -#include "mtypes.h" +#include "glheader.h" +#include "mfeatures.h" + +struct gl_context; +struct gl_light; +struct gl_material; extern void GLAPIENTRY _mesa_ShadeModel( GLenum mode ); diff --git a/src/mesa/main/lines.c b/src/mesa/main/lines.c index 505f840ba5a..81e179a9254 100644 --- a/src/mesa/main/lines.c +++ b/src/mesa/main/lines.c @@ -54,11 +54,6 @@ _mesa_LineWidth( GLfloat width ) FLUSH_VERTICES(ctx, _NEW_LINE); ctx->Line.Width = width; - if (width != 1.0F) - ctx->_TriangleCaps |= DD_LINE_WIDTH; - else - ctx->_TriangleCaps &= ~DD_LINE_WIDTH; - if (ctx->Driver.LineWidth) ctx->Driver.LineWidth(ctx, width); } diff --git a/src/mesa/main/lines.h b/src/mesa/main/lines.h index 3accdd78004..8e8b3f8d6e1 100644 --- a/src/mesa/main/lines.h +++ b/src/mesa/main/lines.h @@ -33,8 +33,9 @@ #define LINES_H -#include "mtypes.h" +#include "glheader.h" +struct gl_context; extern void GLAPIENTRY _mesa_LineWidth( GLfloat width ); diff --git a/src/mesa/main/matrix.h b/src/mesa/main/matrix.h index 38fd235b117..2878cc134b5 100644 --- a/src/mesa/main/matrix.h +++ b/src/mesa/main/matrix.h @@ -28,8 +28,9 @@ #define MATRIX_H -#include "mtypes.h" +#include "glheader.h" +struct gl_context; extern void GLAPIENTRY _mesa_Frustum( GLdouble left, GLdouble right, diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h index 5afd65d9766..1b39f5fdd36 100644 --- a/src/mesa/main/mfeatures.h +++ b/src/mesa/main/mfeatures.h @@ -78,7 +78,7 @@ #define FEATURE_GL !FEATURE_ES #endif -#ifdef IN_DRI_DRIVER +#if defined(IN_DRI_DRIVER) || (FEATURE_GL + FEATURE_ES1 + FEATURE_ES2 > 1) #define FEATURE_remap_table 1 #else #define FEATURE_remap_table 0 @@ -107,9 +107,7 @@ #define FEATURE_texture_s3tc FEATURE_GL #define FEATURE_extra_context_init FEATURE_ES -#define FEATURE_fixedpt FEATURE_ES #define FEATURE_point_size_array FEATURE_ES -#define FEATURE_vertex_array_byte FEATURE_ES #define FEATURE_es2_glsl FEATURE_ES2 diff --git a/src/mesa/main/mipmap.c b/src/mesa/main/mipmap.c index 11d5a0519e0..b1989b4b91e 100644 --- a/src/mesa/main/mipmap.c +++ b/src/mesa/main/mipmap.c @@ -288,6 +288,54 @@ do_row(GLenum datatype, GLuint comps, GLint srcWidth, dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4; } } + + else if (datatype == GL_SHORT && comps == 4) { + GLuint i, j, k; + const GLshort(*rowA)[4] = (const GLshort(*)[4]) srcRowA; + const GLshort(*rowB)[4] = (const GLshort(*)[4]) srcRowB; + GLshort(*dst)[4] = (GLshort(*)[4]) dstRow; + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4; + dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4; + dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4; + dst[i][3] = (rowA[j][3] + rowA[k][3] + rowB[j][3] + rowB[k][3]) / 4; + } + } + else if (datatype == GL_SHORT && comps == 3) { + GLuint i, j, k; + const GLshort(*rowA)[3] = (const GLshort(*)[3]) srcRowA; + const GLshort(*rowB)[3] = (const GLshort(*)[3]) srcRowB; + GLshort(*dst)[3] = (GLshort(*)[3]) dstRow; + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4; + dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4; + dst[i][2] = (rowA[j][2] + rowA[k][2] + rowB[j][2] + rowB[k][2]) / 4; + } + } + else if (datatype == GL_SHORT && comps == 2) { + GLuint i, j, k; + const GLshort(*rowA)[2] = (const GLshort(*)[2]) srcRowA; + const GLshort(*rowB)[2] = (const GLshort(*)[2]) srcRowB; + GLshort(*dst)[2] = (GLshort(*)[2]) dstRow; + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + dst[i][0] = (rowA[j][0] + rowA[k][0] + rowB[j][0] + rowB[k][0]) / 4; + dst[i][1] = (rowA[j][1] + rowA[k][1] + rowB[j][1] + rowB[k][1]) / 4; + } + } + else if (datatype == GL_SHORT && comps == 1) { + GLuint i, j, k; + const GLshort *rowA = (const GLshort *) srcRowA; + const GLshort *rowB = (const GLshort *) srcRowB; + GLshort *dst = (GLshort *) dstRow; + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + dst[i] = (rowA[j] + rowA[k] + rowB[j] + rowB[k]) / 4; + } + } + else if (datatype == GL_FLOAT && comps == 4) { GLuint i, j, k; const GLfloat(*rowA)[4] = (const GLfloat(*)[4]) srcRowA; @@ -507,6 +555,37 @@ do_row(GLenum datatype, GLuint comps, GLint srcWidth, dst[i] = (alpha << 15) | (blue << 10) | (green << 5) | red; } } + else if (datatype == GL_UNSIGNED_SHORT_5_5_5_1 && comps == 4) { + GLuint i, j, k; + const GLushort *rowA = (const GLushort *) srcRowA; + const GLushort *rowB = (const GLushort *) srcRowB; + GLushort *dst = (GLushort *) dstRow; + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + const GLint rowAr0 = (rowA[j] >> 11) & 0x1f; + const GLint rowAr1 = (rowA[k] >> 11) & 0x1f; + const GLint rowBr0 = (rowB[j] >> 11) & 0x1f; + const GLint rowBr1 = (rowB[k] >> 11) & 0x1f; + const GLint rowAg0 = (rowA[j] >> 6) & 0x1f; + const GLint rowAg1 = (rowA[k] >> 6) & 0x1f; + const GLint rowBg0 = (rowB[j] >> 6) & 0x1f; + const GLint rowBg1 = (rowB[k] >> 6) & 0x1f; + const GLint rowAb0 = (rowA[j] >> 1) & 0x1f; + const GLint rowAb1 = (rowA[k] >> 1) & 0x1f; + const GLint rowBb0 = (rowB[j] >> 1) & 0x1f; + const GLint rowBb1 = (rowB[k] >> 1) & 0x1f; + const GLint rowAa0 = (rowA[j] & 0x1); + const GLint rowAa1 = (rowA[k] & 0x1); + const GLint rowBa0 = (rowB[j] & 0x1); + const GLint rowBa1 = (rowB[k] & 0x1); + const GLint red = (rowAr0 + rowAr1 + rowBr0 + rowBr1) >> 2; + const GLint green = (rowAg0 + rowAg1 + rowBg0 + rowBg1) >> 2; + const GLint blue = (rowAb0 + rowAb1 + rowBb0 + rowBb1) >> 2; + const GLint alpha = (rowAa0 + rowAa1 + rowBa0 + rowBa1) >> 2; + dst[i] = (red << 11) | (green << 6) | (blue << 1) | alpha; + } + } + else if (datatype == GL_UNSIGNED_BYTE_3_3_2 && comps == 3) { GLuint i, j, k; const GLubyte *rowA = (const GLubyte *) srcRowA; @@ -682,6 +761,44 @@ do_row_3D(GLenum datatype, GLuint comps, GLint srcWidth, FILTER_3D(0); } } + else if ((datatype == GL_SHORT) && (comps == 4)) { + DECLARE_ROW_POINTERS(GLshort, 4); + + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + FILTER_3D(0); + FILTER_3D(1); + FILTER_3D(2); + FILTER_3D(3); + } + } + else if ((datatype == GL_SHORT) && (comps == 3)) { + DECLARE_ROW_POINTERS(GLshort, 3); + + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + FILTER_3D(0); + FILTER_3D(1); + FILTER_3D(2); + } + } + else if ((datatype == GL_SHORT) && (comps == 2)) { + DECLARE_ROW_POINTERS(GLshort, 2); + + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + FILTER_3D(0); + FILTER_3D(1); + } + } + else if ((datatype == GL_SHORT) && (comps == 1)) { + DECLARE_ROW_POINTERS(GLshort, 1); + + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + FILTER_3D(0); + } + } else if ((datatype == GL_FLOAT) && (comps == 4)) { DECLARE_ROW_POINTERS(GLfloat, 4); @@ -910,6 +1027,55 @@ do_row_3D(GLenum datatype, GLuint comps, GLint srcWidth, dst[i] = (a << 15) | (b << 10) | (g << 5) | r; } } + else if ((datatype == GL_UNSIGNED_SHORT_5_5_5_1) && (comps == 4)) { + DECLARE_ROW_POINTERS0(GLushort); + + for (i = j = 0, k = k0; i < (GLuint) dstWidth; + i++, j += colStride, k += colStride) { + const GLint rowAr0 = (rowA[j] >> 11) & 0x1f; + const GLint rowAr1 = (rowA[k] >> 11) & 0x1f; + const GLint rowBr0 = (rowB[j] >> 11) & 0x1f; + const GLint rowBr1 = (rowB[k] >> 11) & 0x1f; + const GLint rowCr0 = (rowC[j] >> 11) & 0x1f; + const GLint rowCr1 = (rowC[k] >> 11) & 0x1f; + const GLint rowDr0 = (rowD[j] >> 11) & 0x1f; + const GLint rowDr1 = (rowD[k] >> 11) & 0x1f; + const GLint rowAg0 = (rowA[j] >> 6) & 0x1f; + const GLint rowAg1 = (rowA[k] >> 6) & 0x1f; + const GLint rowBg0 = (rowB[j] >> 6) & 0x1f; + const GLint rowBg1 = (rowB[k] >> 6) & 0x1f; + const GLint rowCg0 = (rowC[j] >> 6) & 0x1f; + const GLint rowCg1 = (rowC[k] >> 6) & 0x1f; + const GLint rowDg0 = (rowD[j] >> 6) & 0x1f; + const GLint rowDg1 = (rowD[k] >> 6) & 0x1f; + const GLint rowAb0 = (rowA[j] >> 1) & 0x1f; + const GLint rowAb1 = (rowA[k] >> 1) & 0x1f; + const GLint rowBb0 = (rowB[j] >> 1) & 0x1f; + const GLint rowBb1 = (rowB[k] >> 1) & 0x1f; + const GLint rowCb0 = (rowC[j] >> 1) & 0x1f; + const GLint rowCb1 = (rowC[k] >> 1) & 0x1f; + const GLint rowDb0 = (rowD[j] >> 1) & 0x1f; + const GLint rowDb1 = (rowD[k] >> 1) & 0x1f; + const GLint rowAa0 = (rowA[j] & 0x1); + const GLint rowAa1 = (rowA[k] & 0x1); + const GLint rowBa0 = (rowB[j] & 0x1); + const GLint rowBa1 = (rowB[k] & 0x1); + const GLint rowCa0 = (rowC[j] & 0x1); + const GLint rowCa1 = (rowC[k] & 0x1); + const GLint rowDa0 = (rowD[j] & 0x1); + const GLint rowDa1 = (rowD[k] & 0x1); + const GLint r = FILTER_SUM_3D(rowAr0, rowAr1, rowBr0, rowBr1, + rowCr0, rowCr1, rowDr0, rowDr1); + const GLint g = FILTER_SUM_3D(rowAg0, rowAg1, rowBg0, rowBg1, + rowCg0, rowCg1, rowDg0, rowDg1); + const GLint b = FILTER_SUM_3D(rowAb0, rowAb1, rowBb0, rowBb1, + rowCb0, rowCb1, rowDb0, rowDb1); + const GLint a = FILTER_SUM_3D(rowAa0, rowAa1, rowBa0, rowBa1, + rowCa0, rowCa1, rowDa0, rowDa1); + + dst[i] = (r << 11) | (g << 6) | (b << 1) | a; + } + } else if ((datatype == GL_UNSIGNED_BYTE_3_3_2) && (comps == 3)) { DECLARE_ROW_POINTERS0(GLushort); diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 1b8a80416c9..87b96489dbf 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -454,6 +454,68 @@ typedef enum /** + * Framebuffer configuration (aka visual / pixelformat) + * Note: some of these fields should be boolean, but it appears that + * code in drivers/dri/common/util.c requires int-sized fields. + */ +struct gl_config +{ + GLboolean rgbMode; + GLboolean floatMode; + GLboolean colorIndexMode; /* XXX is this used anywhere? */ + GLuint doubleBufferMode; + GLuint stereoMode; + + GLboolean haveAccumBuffer; + GLboolean haveDepthBuffer; + GLboolean haveStencilBuffer; + + GLint redBits, greenBits, blueBits, alphaBits; /* bits per comp */ + GLuint redMask, greenMask, blueMask, alphaMask; + GLint rgbBits; /* total bits for rgb */ + GLint indexBits; /* total bits for colorindex */ + + GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits; + GLint depthBits; + GLint stencilBits; + + GLint numAuxBuffers; + + GLint level; + + /* EXT_visual_rating / GLX 1.2 */ + GLint visualRating; + + /* EXT_visual_info / GLX 1.2 */ + GLint transparentPixel; + /* colors are floats scaled to ints */ + GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha; + GLint transparentIndex; + + /* ARB_multisample / SGIS_multisample */ + GLint sampleBuffers; + GLint samples; + + /* SGIX_pbuffer / GLX 1.3 */ + GLint maxPbufferWidth; + GLint maxPbufferHeight; + GLint maxPbufferPixels; + GLint optimalPbufferWidth; /* Only for SGIX_pbuffer. */ + GLint optimalPbufferHeight; /* Only for SGIX_pbuffer. */ + + /* OML_swap_method */ + GLint swapMethod; + + /* EXT_texture_from_pixmap */ + GLint bindToTextureRgb; + GLint bindToTextureRgba; + GLint bindToMipmapTexture; + GLint bindToTextureTargets; + GLint yInverted; +}; + + +/** * Data structure for color tables */ struct gl_color_table @@ -547,60 +609,6 @@ struct gl_shine_tab GLuint refcount; }; -struct gl_config { - GLboolean rgbMode; - GLboolean floatMode; - GLboolean colorIndexMode; - GLuint doubleBufferMode; - GLuint stereoMode; - - GLboolean haveAccumBuffer; - GLboolean haveDepthBuffer; - GLboolean haveStencilBuffer; - - GLint redBits, greenBits, blueBits, alphaBits; /* bits per comp */ - GLuint redMask, greenMask, blueMask, alphaMask; - GLint rgbBits; /* total bits for rgb */ - GLint indexBits; /* total bits for colorindex */ - - GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits; - GLint depthBits; - GLint stencilBits; - - GLint numAuxBuffers; - - GLint level; - - /* EXT_visual_rating / GLX 1.2 */ - GLint visualRating; - - /* EXT_visual_info / GLX 1.2 */ - GLint transparentPixel; - /* colors are floats scaled to ints */ - GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha; - GLint transparentIndex; - - /* ARB_multisample / SGIS_multisample */ - GLint sampleBuffers; - GLint samples; - - /* SGIX_pbuffer / GLX 1.3 */ - GLint maxPbufferWidth; - GLint maxPbufferHeight; - GLint maxPbufferPixels; - GLint optimalPbufferWidth; /* Only for SGIX_pbuffer. */ - GLint optimalPbufferHeight; /* Only for SGIX_pbuffer. */ - - /* OML_swap_method */ - GLint swapMethod; - - /* EXT_texture_from_pixmap */ - GLint bindToTextureRgb; - GLint bindToTextureRgba; - GLint bindToMipmapTexture; - GLint bindToTextureTargets; - GLint yInverted; -}; /** * Light source state. @@ -1530,6 +1538,7 @@ struct gl_client_array const GLubyte *Ptr; /**< Points to array data */ GLboolean Enabled; /**< Enabled flag is a boolean */ GLboolean Normalized; /**< GL_ARB_vertex_program */ + GLboolean Integer; /**< Integer-valued? */ GLuint _ElementSize; /**< size of each element in bytes */ struct gl_buffer_object *BufferObj;/**< GL_ARB_vertex_buffer_object */ @@ -2624,6 +2633,9 @@ struct gl_constants GLuint MaxTransformFeedbackSeparateAttribs; GLuint MaxTransformFeedbackSeparateComponents; GLuint MaxTransformFeedbackInterleavedComponents; + + /** GL_EXT_gpu_shader4 */ + GLint MinProgramTexelOffset, MaxProgramTexelOffset; }; @@ -2913,11 +2925,9 @@ struct gl_matrix_stack #define DD_TRI_OFFSET 0x80 #define DD_LINE_SMOOTH 0x100 #define DD_LINE_STIPPLE 0x200 -#define DD_LINE_WIDTH 0x400 -#define DD_POINT_SMOOTH 0x800 -#define DD_POINT_SIZE 0x1000 -#define DD_POINT_ATTEN 0x2000 -#define DD_TRI_TWOSTENCIL 0x4000 +#define DD_POINT_SMOOTH 0x400 +#define DD_POINT_ATTEN 0x800 +#define DD_TRI_TWOSTENCIL 0x1000 /*@}*/ diff --git a/src/mesa/main/multisample.h b/src/mesa/main/multisample.h index c7cc432daac..e86d4092bc9 100644 --- a/src/mesa/main/multisample.h +++ b/src/mesa/main/multisample.h @@ -26,7 +26,9 @@ #ifndef MULTISAMPLE_H #define MULTISAMPLE_H -#include "mtypes.h" +#include "glheader.h" + +struct gl_context; extern void GLAPIENTRY _mesa_SampleCoverageARB(GLclampf value, GLboolean invert); diff --git a/src/mesa/main/nvprogram.h b/src/mesa/main/nvprogram.h index 035f2fe2426..5668963da10 100644 --- a/src/mesa/main/nvprogram.h +++ b/src/mesa/main/nvprogram.h @@ -30,7 +30,9 @@ #define NVPROGRAM_H #include "glheader.h" -#include "mtypes.h" + +struct gl_context; +struct gl_program; extern void GLAPIENTRY _mesa_ExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params); diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c index 877d27ce1e4..fdb647c7ea8 100644 --- a/src/mesa/main/pack.c +++ b/src/mesa/main/pack.c @@ -33,6 +33,7 @@ #include "colormac.h" #include "enums.h" #include "image.h" +#include "imports.h" #include "pack.h" #include "pixeltransfer.h" #include "imports.h" @@ -334,6 +335,104 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, } +/** + * Get indexes of color components for a basic color format, such as + * GL_RGBA, GL_RED, GL_LUMINANCE_ALPHA, etc. Return -1 for indexes + * that do not apply. + */ +static void +get_component_indexes(GLenum format, + GLint *redIndex, + GLint *greenIndex, + GLint *blueIndex, + GLint *alphaIndex, + GLint *luminanceIndex, + GLint *intensityIndex) +{ + *redIndex = -1; + *greenIndex = -1; + *blueIndex = -1; + *alphaIndex = -1; + *luminanceIndex = -1; + *intensityIndex = -1; + + switch (format) { + case GL_LUMINANCE: + case GL_LUMINANCE_INTEGER_EXT: + *luminanceIndex = 0; + break; + case GL_LUMINANCE_ALPHA: + case GL_LUMINANCE_ALPHA_INTEGER_EXT: + *luminanceIndex = 0; + *alphaIndex = 1; + break; + case GL_INTENSITY: + *intensityIndex = 0; + break; + case GL_RED: + case GL_RED_INTEGER_EXT: + *redIndex = 0; + break; + case GL_GREEN: + case GL_GREEN_INTEGER_EXT: + *greenIndex = 0; + break; + case GL_BLUE: + case GL_BLUE_INTEGER_EXT: + *blueIndex = 0; + break; + case GL_ALPHA: + case GL_ALPHA_INTEGER_EXT: + *alphaIndex = 0; + break; + case GL_RG: + case GL_RG_INTEGER: + *redIndex = 0; + *greenIndex = 1; + break; + case GL_RGB: + case GL_RGB_INTEGER_EXT: + *redIndex = 0; + *greenIndex = 1; + *blueIndex = 2; + break; + case GL_BGR: + case GL_BGR_INTEGER_EXT: + *blueIndex = 0; + *greenIndex = 1; + *redIndex = 2; + break; + case GL_RGBA: + case GL_RGBA_INTEGER_EXT: + *redIndex = 0; + *greenIndex = 1; + *blueIndex = 2; + *alphaIndex = 3; + break; + case GL_BGRA: + case GL_BGRA_INTEGER: + *redIndex = 2; + *greenIndex = 1; + *blueIndex = 0; + *alphaIndex = 3; + break; + case GL_ABGR_EXT: + *redIndex = 3; + *greenIndex = 2; + *blueIndex = 1; + *alphaIndex = 0; + break; + case GL_DU8DV8_ATI: + case GL_DUDV_ATI: + *redIndex = 0; + *greenIndex = 1; + break; + default: + assert(0 && "bad format in get_component_indexes()"); + } +} + + /** * For small integer types, return the min and max possible values. @@ -2027,6 +2126,133 @@ extract_uint_indexes(GLuint n, GLuint indexes[], } +/** + * Return source/dest RGBA indexes for unpacking pixels. + */ +static void +get_component_mapping(GLenum format, + GLint *rSrc, + GLint *gSrc, + GLint *bSrc, + GLint *aSrc, + GLint *rDst, + GLint *gDst, + GLint *bDst, + GLint *aDst) +{ + switch (format) { + case GL_RED: + case GL_RED_INTEGER_EXT: + *rSrc = 0; + *gSrc = *bSrc = *aSrc = -1; + break; + case GL_GREEN: + case GL_GREEN_INTEGER_EXT: + *gSrc = 0; + *rSrc = *bSrc = *aSrc = -1; + break; + case GL_BLUE: + case GL_BLUE_INTEGER_EXT: + *bSrc = 0; + *rSrc = *gSrc = *aSrc = -1; + break; + case GL_ALPHA: + case GL_ALPHA_INTEGER_EXT: + *rSrc = *gSrc = *bSrc = -1; + *aSrc = 0; + break; + case GL_LUMINANCE: + case GL_LUMINANCE_INTEGER_EXT: + *rSrc = *gSrc = *bSrc = 0; + *aSrc = -1; + break; + case GL_LUMINANCE_ALPHA: + case GL_LUMINANCE_ALPHA_INTEGER_EXT: + *rSrc = *gSrc = *bSrc = 0; + *aSrc = 1; + break; + case GL_INTENSITY: + *rSrc = *gSrc = *bSrc = *aSrc = 0; + break; + case GL_RG: + case GL_RG_INTEGER: + *rSrc = 0; + *gSrc = 1; + *bSrc = -1; + *aSrc = -1; + *rDst = 0; + *gDst = 1; + *bDst = 2; + *aDst = 3; + break; + case GL_RGB: + case GL_RGB_INTEGER: + *rSrc = 0; + *gSrc = 1; + *bSrc = 2; + *aSrc = -1; + *rDst = 0; + *gDst = 1; + *bDst = 2; + *aDst = 3; + break; + case GL_BGR: + *rSrc = 2; + *gSrc = 1; + *bSrc = 0; + *aSrc = -1; + *rDst = 2; + *gDst = 1; + *bDst = 0; + *aDst = 3; + break; + case GL_RGBA: + case GL_RGBA_INTEGER: + *rSrc = 0; + *gSrc = 1; + *bSrc = 2; + *aSrc = 3; + *rDst = 0; + *gDst = 1; + *bDst = 2; + *aDst = 3; + break; + case GL_BGRA: + *rSrc = 2; + *gSrc = 1; + *bSrc = 0; + *aSrc = 3; + *rDst = 2; + *gDst = 1; + *bDst = 0; + *aDst = 3; + break; + case GL_ABGR_EXT: + *rSrc = 3; + *gSrc = 2; + *bSrc = 1; + *aSrc = 0; + *rDst = 3; + *gDst = 2; + *bDst = 1; + *aDst = 0; + break; + case GL_DU8DV8_ATI: + case GL_DUDV_ATI: + *rSrc = 0; + *gSrc = 1; + *bSrc = -1; + *aSrc = -1; + break; + default: + _mesa_problem(NULL, "bad srcFormat %s in get_component_mapping", + _mesa_lookup_enum_by_nr(format)); + return; + } +} + + + /* * This function extracts floating point RGBA values from arbitrary * image data. srcFormat and srcType are the format and type parameters @@ -2048,9 +2274,9 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLenum srcFormat, GLenum srcType, const GLvoid *src, GLboolean swapBytes) { - GLint redIndex, greenIndex, blueIndex, alphaIndex; + GLint rSrc, gSrc, bSrc, aSrc; GLint stride; - GLint rComp, bComp, gComp, aComp; + GLint rDst, bDst, gDst, aDst; GLboolean intFormat; GLfloat rs = 1.0f, gs = 1.0f, bs = 1.0f, as = 1.0f; /* scale factors */ @@ -2101,145 +2327,25 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], srcType == GL_UNSIGNED_INT_10_10_10_2 || srcType == GL_UNSIGNED_INT_2_10_10_10_REV); - rComp = gComp = bComp = aComp = -1; + get_component_mapping(srcFormat, + &rSrc, &gSrc, &bSrc, &aSrc, + &rDst, &gDst, &bDst, &aDst); - switch (srcFormat) { - case GL_RED: - case GL_RED_INTEGER_EXT: - redIndex = 0; - greenIndex = blueIndex = alphaIndex = -1; - stride = 1; - break; - case GL_GREEN: - case GL_GREEN_INTEGER_EXT: - greenIndex = 0; - redIndex = blueIndex = alphaIndex = -1; - stride = 1; - break; - case GL_BLUE: - case GL_BLUE_INTEGER_EXT: - blueIndex = 0; - redIndex = greenIndex = alphaIndex = -1; - stride = 1; - break; - case GL_ALPHA: - case GL_ALPHA_INTEGER_EXT: - redIndex = greenIndex = blueIndex = -1; - alphaIndex = 0; - stride = 1; - break; - case GL_LUMINANCE: - case GL_LUMINANCE_INTEGER_EXT: - redIndex = greenIndex = blueIndex = 0; - alphaIndex = -1; - stride = 1; - break; - case GL_LUMINANCE_ALPHA: - case GL_LUMINANCE_ALPHA_INTEGER_EXT: - redIndex = greenIndex = blueIndex = 0; - alphaIndex = 1; - stride = 2; - break; - case GL_INTENSITY: - redIndex = greenIndex = blueIndex = alphaIndex = 0; - stride = 1; - break; - case GL_RG: - case GL_RG_INTEGER: - redIndex = 0; - greenIndex = 1; - blueIndex = -1; - alphaIndex = -1; - rComp = 0; - gComp = 1; - bComp = 2; - aComp = 3; - stride = 2; - break; - case GL_RGB: - case GL_RGB_INTEGER: - redIndex = 0; - greenIndex = 1; - blueIndex = 2; - alphaIndex = -1; - rComp = 0; - gComp = 1; - bComp = 2; - aComp = 3; - stride = 3; - break; - case GL_BGR: - redIndex = 2; - greenIndex = 1; - blueIndex = 0; - alphaIndex = -1; - rComp = 2; - gComp = 1; - bComp = 0; - aComp = 3; - stride = 3; - break; - case GL_RGBA: - case GL_RGBA_INTEGER: - redIndex = 0; - greenIndex = 1; - blueIndex = 2; - alphaIndex = 3; - rComp = 0; - gComp = 1; - bComp = 2; - aComp = 3; - stride = 4; - break; - case GL_BGRA: - redIndex = 2; - greenIndex = 1; - blueIndex = 0; - alphaIndex = 3; - rComp = 2; - gComp = 1; - bComp = 0; - aComp = 3; - stride = 4; - break; - case GL_ABGR_EXT: - redIndex = 3; - greenIndex = 2; - blueIndex = 1; - alphaIndex = 0; - rComp = 3; - gComp = 2; - bComp = 1; - aComp = 0; - stride = 4; - break; - case GL_DU8DV8_ATI: - case GL_DUDV_ATI: - redIndex = 0; - greenIndex = 1; - blueIndex = -1; - alphaIndex = -1; - stride = 2; - break; - default: - _mesa_problem(NULL, "bad srcFormat %s in extract float data", - _mesa_lookup_enum_by_nr(srcFormat)); - return; - } + stride = _mesa_components_in_format(srcFormat); intFormat = _mesa_is_integer_format(srcFormat); -#define PROCESS(INDEX, CHANNEL, DEFAULT, DEFAULT_INT, TYPE, CONVERSION) \ - if ((INDEX) < 0) { \ +#define PROCESS(SRC_INDEX, DST_INDEX, DEFAULT_FLT, DEFAULT_INT, TYPE, CONVERSION) \ + if ((SRC_INDEX) < 0) { \ GLuint i; \ if (intFormat) { \ for (i = 0; i < n; i++) { \ - rgba[i][CHANNEL] = DEFAULT_INT; \ + rgba[i][DST_INDEX] = DEFAULT_INT; \ } \ } \ else { \ for (i = 0; i < n; i++) { \ - rgba[i][CHANNEL] = DEFAULT; \ + rgba[i][DST_INDEX] = DEFAULT_FLT; \ } \ } \ } \ @@ -2247,7 +2353,7 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], const TYPE *s = (const TYPE *) src; \ GLuint i; \ for (i = 0; i < n; i++) { \ - TYPE value = s[INDEX]; \ + TYPE value = s[SRC_INDEX]; \ if (sizeof(TYPE) == 2) { \ SWAP2BYTE(value); \ } \ @@ -2255,9 +2361,9 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], SWAP4BYTE(value); \ } \ if (intFormat) \ - rgba[i][CHANNEL] = (GLfloat) value; \ + rgba[i][DST_INDEX] = (GLfloat) value; \ else \ - rgba[i][CHANNEL] = (GLfloat) CONVERSION(value); \ + rgba[i][DST_INDEX] = (GLfloat) CONVERSION(value); \ s += stride; \ } \ } \ @@ -2266,13 +2372,13 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; \ if (intFormat) { \ for (i = 0; i < n; i++) { \ - rgba[i][CHANNEL] = (GLfloat) s[INDEX]; \ + rgba[i][DST_INDEX] = (GLfloat) s[SRC_INDEX]; \ s += stride; \ } \ } \ else { \ for (i = 0; i < n; i++) { \ - rgba[i][CHANNEL] = (GLfloat) CONVERSION(s[INDEX]); \ + rgba[i][DST_INDEX] = (GLfloat) CONVERSION(s[SRC_INDEX]); \ s += stride; \ } \ } \ @@ -2280,52 +2386,52 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], switch (srcType) { case GL_UNSIGNED_BYTE: - PROCESS(redIndex, RCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT); - PROCESS(greenIndex, GCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT); - PROCESS(blueIndex, BCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT); - PROCESS(alphaIndex, ACOMP, 1.0F, 255, GLubyte, UBYTE_TO_FLOAT); + PROCESS(rSrc, RCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT); + PROCESS(gSrc, GCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT); + PROCESS(bSrc, BCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT); + PROCESS(aSrc, ACOMP, 1.0F, 255, GLubyte, UBYTE_TO_FLOAT); break; case GL_BYTE: - PROCESS(redIndex, RCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT); - PROCESS(greenIndex, GCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT); - PROCESS(blueIndex, BCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT); - PROCESS(alphaIndex, ACOMP, 1.0F, 127, GLbyte, BYTE_TO_FLOAT); + PROCESS(rSrc, RCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT); + PROCESS(gSrc, GCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT); + PROCESS(bSrc, BCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT); + PROCESS(aSrc, ACOMP, 1.0F, 127, GLbyte, BYTE_TO_FLOAT); break; case GL_UNSIGNED_SHORT: - PROCESS(redIndex, RCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT); - PROCESS(greenIndex, GCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT); - PROCESS(blueIndex, BCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT); - PROCESS(alphaIndex, ACOMP, 1.0F, 0xffff, GLushort, USHORT_TO_FLOAT); + PROCESS(rSrc, RCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT); + PROCESS(gSrc, GCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT); + PROCESS(bSrc, BCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT); + PROCESS(aSrc, ACOMP, 1.0F, 0xffff, GLushort, USHORT_TO_FLOAT); break; case GL_SHORT: - PROCESS(redIndex, RCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT); - PROCESS(greenIndex, GCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT); - PROCESS(blueIndex, BCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT); - PROCESS(alphaIndex, ACOMP, 1.0F, 32767, GLshort, SHORT_TO_FLOAT); + PROCESS(rSrc, RCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT); + PROCESS(gSrc, GCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT); + PROCESS(bSrc, BCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT); + PROCESS(aSrc, ACOMP, 1.0F, 32767, GLshort, SHORT_TO_FLOAT); break; case GL_UNSIGNED_INT: - PROCESS(redIndex, RCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT); - PROCESS(greenIndex, GCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT); - PROCESS(blueIndex, BCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT); - PROCESS(alphaIndex, ACOMP, 1.0F, 0xffffffff, GLuint, UINT_TO_FLOAT); + PROCESS(rSrc, RCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT); + PROCESS(gSrc, GCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT); + PROCESS(bSrc, BCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT); + PROCESS(aSrc, ACOMP, 1.0F, 0xffffffff, GLuint, UINT_TO_FLOAT); break; case GL_INT: - PROCESS(redIndex, RCOMP, 0.0F, 0, GLint, INT_TO_FLOAT); - PROCESS(greenIndex, GCOMP, 0.0F, 0, GLint, INT_TO_FLOAT); - PROCESS(blueIndex, BCOMP, 0.0F, 0, GLint, INT_TO_FLOAT); - PROCESS(alphaIndex, ACOMP, 1.0F, 2147483647, GLint, INT_TO_FLOAT); + PROCESS(rSrc, RCOMP, 0.0F, 0, GLint, INT_TO_FLOAT); + PROCESS(gSrc, GCOMP, 0.0F, 0, GLint, INT_TO_FLOAT); + PROCESS(bSrc, BCOMP, 0.0F, 0, GLint, INT_TO_FLOAT); + PROCESS(aSrc, ACOMP, 1.0F, 2147483647, GLint, INT_TO_FLOAT); break; case GL_FLOAT: - PROCESS(redIndex, RCOMP, 0.0F, 0.0F, GLfloat, (GLfloat)); - PROCESS(greenIndex, GCOMP, 0.0F, 0.0F, GLfloat, (GLfloat)); - PROCESS(blueIndex, BCOMP, 0.0F, 0.0F, GLfloat, (GLfloat)); - PROCESS(alphaIndex, ACOMP, 1.0F, 1.0F, GLfloat, (GLfloat)); + PROCESS(rSrc, RCOMP, 0.0F, 0.0F, GLfloat, (GLfloat)); + PROCESS(gSrc, GCOMP, 0.0F, 0.0F, GLfloat, (GLfloat)); + PROCESS(bSrc, BCOMP, 0.0F, 0.0F, GLfloat, (GLfloat)); + PROCESS(aSrc, ACOMP, 1.0F, 1.0F, GLfloat, (GLfloat)); break; case GL_HALF_FLOAT_ARB: - PROCESS(redIndex, RCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); - PROCESS(greenIndex, GCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); - PROCESS(blueIndex, BCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); - PROCESS(alphaIndex, ACOMP, 1.0F, 1.0F, GLhalfARB, _mesa_half_to_float); + PROCESS(rSrc, RCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); + PROCESS(gSrc, GCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); + PROCESS(bSrc, BCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float); + PROCESS(aSrc, ACOMP, 1.0F, 1.0F, GLhalfARB, _mesa_half_to_float); break; case GL_UNSIGNED_BYTE_3_3_2: { @@ -2338,10 +2444,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], } for (i = 0; i < n; i ++) { GLubyte p = ubsrc[i]; - rgba[i][rComp] = ((p >> 5) ) * rs; - rgba[i][gComp] = ((p >> 2) & 0x7) * gs; - rgba[i][bComp] = ((p ) & 0x3) * bs; - rgba[i][aComp] = 1.0F; + rgba[i][rDst] = ((p >> 5) ) * rs; + rgba[i][gDst] = ((p >> 2) & 0x7) * gs; + rgba[i][bDst] = ((p ) & 0x3) * bs; + rgba[i][aDst] = 1.0F; } } break; @@ -2356,10 +2462,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], } for (i = 0; i < n; i ++) { GLubyte p = ubsrc[i]; - rgba[i][rComp] = ((p ) & 0x7) * rs; - rgba[i][gComp] = ((p >> 3) & 0x7) * gs; - rgba[i][bComp] = ((p >> 6) ) * bs; - rgba[i][aComp] = 1.0F; + rgba[i][rDst] = ((p ) & 0x7) * rs; + rgba[i][gDst] = ((p >> 3) & 0x7) * gs; + rgba[i][bDst] = ((p >> 6) ) * bs; + rgba[i][aDst] = 1.0F; } } break; @@ -2375,10 +2481,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; SWAP2BYTE(p); - rgba[i][rComp] = ((p >> 11) ) * rs; - rgba[i][gComp] = ((p >> 5) & 0x3f) * gs; - rgba[i][bComp] = ((p ) & 0x1f) * bs; - rgba[i][aComp] = 1.0F; + rgba[i][rDst] = ((p >> 11) ) * rs; + rgba[i][gDst] = ((p >> 5) & 0x3f) * gs; + rgba[i][bDst] = ((p ) & 0x1f) * bs; + rgba[i][aDst] = 1.0F; } } else { @@ -2386,10 +2492,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; - rgba[i][rComp] = ((p >> 11) ) * rs; - rgba[i][gComp] = ((p >> 5) & 0x3f) * gs; - rgba[i][bComp] = ((p ) & 0x1f) * bs; - rgba[i][aComp] = 1.0F; + rgba[i][rDst] = ((p >> 11) ) * rs; + rgba[i][gDst] = ((p >> 5) & 0x3f) * gs; + rgba[i][bDst] = ((p ) & 0x1f) * bs; + rgba[i][aDst] = 1.0F; } } break; @@ -2405,10 +2511,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; SWAP2BYTE(p); - rgba[i][rComp] = ((p ) & 0x1f) * rs; - rgba[i][gComp] = ((p >> 5) & 0x3f) * gs; - rgba[i][bComp] = ((p >> 11) ) * bs; - rgba[i][aComp] = 1.0F; + rgba[i][rDst] = ((p ) & 0x1f) * rs; + rgba[i][gDst] = ((p >> 5) & 0x3f) * gs; + rgba[i][bDst] = ((p >> 11) ) * bs; + rgba[i][aDst] = 1.0F; } } else { @@ -2416,10 +2522,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; - rgba[i][rComp] = ((p ) & 0x1f) * rs; - rgba[i][gComp] = ((p >> 5) & 0x3f) * gs; - rgba[i][bComp] = ((p >> 11) ) * bs; - rgba[i][aComp] = 1.0F; + rgba[i][rDst] = ((p ) & 0x1f) * rs; + rgba[i][gDst] = ((p >> 5) & 0x3f) * gs; + rgba[i][bDst] = ((p >> 11) ) * bs; + rgba[i][aDst] = 1.0F; } } break; @@ -2433,10 +2539,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; SWAP2BYTE(p); - rgba[i][rComp] = ((p >> 12) ) * rs; - rgba[i][gComp] = ((p >> 8) & 0xf) * gs; - rgba[i][bComp] = ((p >> 4) & 0xf) * bs; - rgba[i][aComp] = ((p ) & 0xf) * as; + rgba[i][rDst] = ((p >> 12) ) * rs; + rgba[i][gDst] = ((p >> 8) & 0xf) * gs; + rgba[i][bDst] = ((p >> 4) & 0xf) * bs; + rgba[i][aDst] = ((p ) & 0xf) * as; } } else { @@ -2444,10 +2550,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; - rgba[i][rComp] = ((p >> 12) ) * rs; - rgba[i][gComp] = ((p >> 8) & 0xf) * gs; - rgba[i][bComp] = ((p >> 4) & 0xf) * bs; - rgba[i][aComp] = ((p ) & 0xf) * as; + rgba[i][rDst] = ((p >> 12) ) * rs; + rgba[i][gDst] = ((p >> 8) & 0xf) * gs; + rgba[i][bDst] = ((p >> 4) & 0xf) * bs; + rgba[i][aDst] = ((p ) & 0xf) * as; } } break; @@ -2461,10 +2567,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; SWAP2BYTE(p); - rgba[i][rComp] = ((p ) & 0xf) * rs; - rgba[i][gComp] = ((p >> 4) & 0xf) * gs; - rgba[i][bComp] = ((p >> 8) & 0xf) * bs; - rgba[i][aComp] = ((p >> 12) ) * as; + rgba[i][rDst] = ((p ) & 0xf) * rs; + rgba[i][gDst] = ((p >> 4) & 0xf) * gs; + rgba[i][bDst] = ((p >> 8) & 0xf) * bs; + rgba[i][aDst] = ((p >> 12) ) * as; } } else { @@ -2472,10 +2578,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; - rgba[i][rComp] = ((p ) & 0xf) * rs; - rgba[i][gComp] = ((p >> 4) & 0xf) * gs; - rgba[i][bComp] = ((p >> 8) & 0xf) * bs; - rgba[i][aComp] = ((p >> 12) ) * as; + rgba[i][rDst] = ((p ) & 0xf) * rs; + rgba[i][gDst] = ((p >> 4) & 0xf) * gs; + rgba[i][bDst] = ((p >> 8) & 0xf) * bs; + rgba[i][aDst] = ((p >> 12) ) * as; } } break; @@ -2489,10 +2595,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; SWAP2BYTE(p); - rgba[i][rComp] = ((p >> 11) ) * rs; - rgba[i][gComp] = ((p >> 6) & 0x1f) * gs; - rgba[i][bComp] = ((p >> 1) & 0x1f) * bs; - rgba[i][aComp] = ((p ) & 0x1) * as; + rgba[i][rDst] = ((p >> 11) ) * rs; + rgba[i][gDst] = ((p >> 6) & 0x1f) * gs; + rgba[i][bDst] = ((p >> 1) & 0x1f) * bs; + rgba[i][aDst] = ((p ) & 0x1) * as; } } else { @@ -2500,10 +2606,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; - rgba[i][rComp] = ((p >> 11) ) * rs; - rgba[i][gComp] = ((p >> 6) & 0x1f) * gs; - rgba[i][bComp] = ((p >> 1) & 0x1f) * bs; - rgba[i][aComp] = ((p ) & 0x1) * as; + rgba[i][rDst] = ((p >> 11) ) * rs; + rgba[i][gDst] = ((p >> 6) & 0x1f) * gs; + rgba[i][bDst] = ((p >> 1) & 0x1f) * bs; + rgba[i][aDst] = ((p ) & 0x1) * as; } } break; @@ -2517,10 +2623,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; SWAP2BYTE(p); - rgba[i][rComp] = ((p ) & 0x1f) * rs; - rgba[i][gComp] = ((p >> 5) & 0x1f) * gs; - rgba[i][bComp] = ((p >> 10) & 0x1f) * bs; - rgba[i][aComp] = ((p >> 15) ) * as; + rgba[i][rDst] = ((p ) & 0x1f) * rs; + rgba[i][gDst] = ((p >> 5) & 0x1f) * gs; + rgba[i][bDst] = ((p >> 10) & 0x1f) * bs; + rgba[i][aDst] = ((p >> 15) ) * as; } } else { @@ -2528,10 +2634,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLushort p = ussrc[i]; - rgba[i][rComp] = ((p ) & 0x1f) * rs; - rgba[i][gComp] = ((p >> 5) & 0x1f) * gs; - rgba[i][bComp] = ((p >> 10) & 0x1f) * bs; - rgba[i][aComp] = ((p >> 15) ) * as; + rgba[i][rDst] = ((p ) & 0x1f) * rs; + rgba[i][gDst] = ((p >> 5) & 0x1f) * gs; + rgba[i][bDst] = ((p >> 10) & 0x1f) * bs; + rgba[i][aDst] = ((p >> 15) ) * as; } } break; @@ -2542,19 +2648,19 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], if (intFormat) { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = (GLfloat) ((p ) & 0xff); - rgba[i][gComp] = (GLfloat) ((p >> 8) & 0xff); - rgba[i][bComp] = (GLfloat) ((p >> 16) & 0xff); - rgba[i][aComp] = (GLfloat) ((p >> 24) ); + rgba[i][rDst] = (GLfloat) ((p ) & 0xff); + rgba[i][gDst] = (GLfloat) ((p >> 8) & 0xff); + rgba[i][bDst] = (GLfloat) ((p >> 16) & 0xff); + rgba[i][aDst] = (GLfloat) ((p >> 24) ); } } else { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = UBYTE_TO_FLOAT((p ) & 0xff); - rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff); - rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff); - rgba[i][aComp] = UBYTE_TO_FLOAT((p >> 24) ); + rgba[i][rDst] = UBYTE_TO_FLOAT((p ) & 0xff); + rgba[i][gDst] = UBYTE_TO_FLOAT((p >> 8) & 0xff); + rgba[i][bDst] = UBYTE_TO_FLOAT((p >> 16) & 0xff); + rgba[i][aDst] = UBYTE_TO_FLOAT((p >> 24) ); } } } @@ -2564,19 +2670,19 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], if (intFormat) { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = (GLfloat) ((p >> 24) ); - rgba[i][gComp] = (GLfloat) ((p >> 16) & 0xff); - rgba[i][bComp] = (GLfloat) ((p >> 8) & 0xff); - rgba[i][aComp] = (GLfloat) ((p ) & 0xff); + rgba[i][rDst] = (GLfloat) ((p >> 24) ); + rgba[i][gDst] = (GLfloat) ((p >> 16) & 0xff); + rgba[i][bDst] = (GLfloat) ((p >> 8) & 0xff); + rgba[i][aDst] = (GLfloat) ((p ) & 0xff); } } else { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = UBYTE_TO_FLOAT((p >> 24) ); - rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff); - rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff); - rgba[i][aComp] = UBYTE_TO_FLOAT((p ) & 0xff); + rgba[i][rDst] = UBYTE_TO_FLOAT((p >> 24) ); + rgba[i][gDst] = UBYTE_TO_FLOAT((p >> 16) & 0xff); + rgba[i][bDst] = UBYTE_TO_FLOAT((p >> 8) & 0xff); + rgba[i][aDst] = UBYTE_TO_FLOAT((p ) & 0xff); } } } @@ -2588,19 +2694,19 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], if (intFormat) { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = (GLfloat) ((p >> 24) ); - rgba[i][gComp] = (GLfloat) ((p >> 16) & 0xff); - rgba[i][bComp] = (GLfloat) ((p >> 8) & 0xff); - rgba[i][aComp] = (GLfloat) ((p ) & 0xff); + rgba[i][rDst] = (GLfloat) ((p >> 24) ); + rgba[i][gDst] = (GLfloat) ((p >> 16) & 0xff); + rgba[i][bDst] = (GLfloat) ((p >> 8) & 0xff); + rgba[i][aDst] = (GLfloat) ((p ) & 0xff); } } else { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = UBYTE_TO_FLOAT((p >> 24) ); - rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff); - rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff); - rgba[i][aComp] = UBYTE_TO_FLOAT((p ) & 0xff); + rgba[i][rDst] = UBYTE_TO_FLOAT((p >> 24) ); + rgba[i][gDst] = UBYTE_TO_FLOAT((p >> 16) & 0xff); + rgba[i][bDst] = UBYTE_TO_FLOAT((p >> 8) & 0xff); + rgba[i][aDst] = UBYTE_TO_FLOAT((p ) & 0xff); } } } @@ -2610,19 +2716,19 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], if (intFormat) { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = (GLfloat) ((p ) & 0xff); - rgba[i][gComp] = (GLfloat) ((p >> 8) & 0xff); - rgba[i][bComp] = (GLfloat) ((p >> 16) & 0xff); - rgba[i][aComp] = (GLfloat) ((p >> 24) ); + rgba[i][rDst] = (GLfloat) ((p ) & 0xff); + rgba[i][gDst] = (GLfloat) ((p >> 8) & 0xff); + rgba[i][bDst] = (GLfloat) ((p >> 16) & 0xff); + rgba[i][aDst] = (GLfloat) ((p >> 24) ); } } else { for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = UBYTE_TO_FLOAT((p ) & 0xff); - rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff); - rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff); - rgba[i][aComp] = UBYTE_TO_FLOAT((p >> 24) ); + rgba[i][rDst] = UBYTE_TO_FLOAT((p ) & 0xff); + rgba[i][gDst] = UBYTE_TO_FLOAT((p >> 8) & 0xff); + rgba[i][bDst] = UBYTE_TO_FLOAT((p >> 16) & 0xff); + rgba[i][aDst] = UBYTE_TO_FLOAT((p >> 24) ); } } } @@ -2640,10 +2746,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; SWAP4BYTE(p); - rgba[i][rComp] = ((p >> 22) ) * rs; - rgba[i][gComp] = ((p >> 12) & 0x3ff) * gs; - rgba[i][bComp] = ((p >> 2) & 0x3ff) * bs; - rgba[i][aComp] = ((p ) & 0x3 ) * as; + rgba[i][rDst] = ((p >> 22) ) * rs; + rgba[i][gDst] = ((p >> 12) & 0x3ff) * gs; + rgba[i][bDst] = ((p >> 2) & 0x3ff) * bs; + rgba[i][aDst] = ((p ) & 0x3 ) * as; } } else { @@ -2651,10 +2757,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = ((p >> 22) ) * rs; - rgba[i][gComp] = ((p >> 12) & 0x3ff) * gs; - rgba[i][bComp] = ((p >> 2) & 0x3ff) * bs; - rgba[i][aComp] = ((p ) & 0x3 ) * as; + rgba[i][rDst] = ((p >> 22) ) * rs; + rgba[i][gDst] = ((p >> 12) & 0x3ff) * gs; + rgba[i][bDst] = ((p >> 2) & 0x3ff) * bs; + rgba[i][aDst] = ((p ) & 0x3 ) * as; } } break; @@ -2671,10 +2777,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; SWAP4BYTE(p); - rgba[i][rComp] = ((p ) & 0x3ff) * rs; - rgba[i][gComp] = ((p >> 10) & 0x3ff) * gs; - rgba[i][bComp] = ((p >> 20) & 0x3ff) * bs; - rgba[i][aComp] = ((p >> 30) ) * as; + rgba[i][rDst] = ((p ) & 0x3ff) * rs; + rgba[i][gDst] = ((p >> 10) & 0x3ff) * gs; + rgba[i][bDst] = ((p >> 20) & 0x3ff) * bs; + rgba[i][aDst] = ((p >> 30) ) * as; } } else { @@ -2682,10 +2788,10 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], GLuint i; for (i = 0; i < n; i ++) { GLuint p = uisrc[i]; - rgba[i][rComp] = ((p ) & 0x3ff) * rs; - rgba[i][gComp] = ((p >> 10) & 0x3ff) * gs; - rgba[i][bComp] = ((p >> 20) & 0x3ff) * bs; - rgba[i][aComp] = ((p >> 30) ) * as; + rgba[i][rDst] = ((p ) & 0x3ff) * rs; + rgba[i][gDst] = ((p >> 10) & 0x3ff) * gs; + rgba[i][bDst] = ((p >> 20) & 0x3ff) * bs; + rgba[i][aDst] = ((p >> 30) ) * as; } } break; @@ -2693,9 +2799,477 @@ extract_float_rgba(GLuint n, GLfloat rgba[][4], _mesa_problem(NULL, "bad srcType in extract float data"); break; } +#undef PROCESS } +static INLINE GLuint +clamp_byte_to_uint(GLbyte b) +{ + return b < 0 ? 0 : b; +} + + +static INLINE GLuint +clamp_short_to_uint(GLshort s) +{ + return s < 0 ? 0 : s; +} + + +static INLINE GLuint +clamp_int_to_uint(GLint i) +{ + return i < 0 ? 0 : i; +} + + +static INLINE GLuint +clamp_float_to_uint(GLfloat f) +{ + return f < 0.0F ? 0 : IROUND(f); +} + + +static INLINE GLuint +clamp_half_to_uint(GLhalfARB h) +{ + GLfloat f = _mesa_half_to_float(h); + return f < 0.0F ? 0 : IROUND(f); +} + + +/** + * \sa extract_float_rgba() + */ +static void +extract_uint_rgba(GLuint n, GLuint rgba[][4], + GLenum srcFormat, GLenum srcType, const GLvoid *src, + GLboolean swapBytes) +{ + GLint rSrc, gSrc, bSrc, aSrc; + GLint stride; + GLint rDst, bDst, gDst, aDst; + GLboolean intFormat; + + ASSERT(srcFormat == GL_RED || + srcFormat == GL_GREEN || + srcFormat == GL_BLUE || + srcFormat == GL_ALPHA || + srcFormat == GL_LUMINANCE || + srcFormat == GL_LUMINANCE_ALPHA || + srcFormat == GL_INTENSITY || + srcFormat == GL_RG || + srcFormat == GL_RGB || + srcFormat == GL_BGR || + srcFormat == GL_RGBA || + srcFormat == GL_BGRA || + srcFormat == GL_ABGR_EXT || + srcFormat == GL_DU8DV8_ATI || + srcFormat == GL_DUDV_ATI || + srcFormat == GL_RED_INTEGER_EXT || + srcFormat == GL_GREEN_INTEGER_EXT || + srcFormat == GL_BLUE_INTEGER_EXT || + srcFormat == GL_ALPHA_INTEGER_EXT || + srcFormat == GL_RGB_INTEGER_EXT || + srcFormat == GL_RGBA_INTEGER_EXT || + srcFormat == GL_BGR_INTEGER_EXT || + srcFormat == GL_BGRA_INTEGER_EXT || + srcFormat == GL_LUMINANCE_INTEGER_EXT || + srcFormat == GL_LUMINANCE_ALPHA_INTEGER_EXT); + + ASSERT(srcType == GL_UNSIGNED_BYTE || + srcType == GL_BYTE || + srcType == GL_UNSIGNED_SHORT || + srcType == GL_SHORT || + srcType == GL_UNSIGNED_INT || + srcType == GL_INT || + srcType == GL_HALF_FLOAT_ARB || + srcType == GL_FLOAT || + srcType == GL_UNSIGNED_BYTE_3_3_2 || + srcType == GL_UNSIGNED_BYTE_2_3_3_REV || + srcType == GL_UNSIGNED_SHORT_5_6_5 || + srcType == GL_UNSIGNED_SHORT_5_6_5_REV || + srcType == GL_UNSIGNED_SHORT_4_4_4_4 || + srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV || + srcType == GL_UNSIGNED_SHORT_5_5_5_1 || + srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV || + srcType == GL_UNSIGNED_INT_8_8_8_8 || + srcType == GL_UNSIGNED_INT_8_8_8_8_REV || + srcType == GL_UNSIGNED_INT_10_10_10_2 || + srcType == GL_UNSIGNED_INT_2_10_10_10_REV); + + get_component_mapping(srcFormat, + &rSrc, &gSrc, &bSrc, &aSrc, + &rDst, &gDst, &bDst, &aDst); + + stride = _mesa_components_in_format(srcFormat); + + intFormat = _mesa_is_integer_format(srcFormat); + +#define PROCESS(SRC_INDEX, DST_INDEX, DEFAULT, TYPE, CONVERSION) \ + if ((SRC_INDEX) < 0) { \ + GLuint i; \ + for (i = 0; i < n; i++) { \ + rgba[i][DST_INDEX] = DEFAULT; \ + } \ + } \ + else if (swapBytes) { \ + const TYPE *s = (const TYPE *) src; \ + GLuint i; \ + for (i = 0; i < n; i++) { \ + TYPE value = s[SRC_INDEX]; \ + if (sizeof(TYPE) == 2) { \ + SWAP2BYTE(value); \ + } \ + else if (sizeof(TYPE) == 4) { \ + SWAP4BYTE(value); \ + } \ + rgba[i][DST_INDEX] = CONVERSION(value); \ + s += stride; \ + } \ + } \ + else { \ + const TYPE *s = (const TYPE *) src; \ + GLuint i; \ + for (i = 0; i < n; i++) { \ + rgba[i][DST_INDEX] = CONVERSION(s[SRC_INDEX]); \ + s += stride; \ + } \ + } + + switch (srcType) { + case GL_UNSIGNED_BYTE: + PROCESS(rSrc, RCOMP, 0, GLubyte, (GLuint)); + PROCESS(gSrc, GCOMP, 0, GLubyte, (GLuint)); + PROCESS(bSrc, BCOMP, 0, GLubyte, (GLuint)); + PROCESS(aSrc, ACOMP, 1, GLubyte, (GLuint)); + break; + case GL_BYTE: + PROCESS(rSrc, RCOMP, 0, GLbyte, clamp_byte_to_uint); + PROCESS(gSrc, GCOMP, 0, GLbyte, clamp_byte_to_uint); + PROCESS(bSrc, BCOMP, 0, GLbyte, clamp_byte_to_uint); + PROCESS(aSrc, ACOMP, 1, GLbyte, clamp_byte_to_uint); + break; + case GL_UNSIGNED_SHORT: + PROCESS(rSrc, RCOMP, 0, GLushort, (GLuint)); + PROCESS(gSrc, GCOMP, 0, GLushort, (GLuint)); + PROCESS(bSrc, BCOMP, 0, GLushort, (GLuint)); + PROCESS(aSrc, ACOMP, 1, GLushort, (GLuint)); + break; + case GL_SHORT: + PROCESS(rSrc, RCOMP, 0, GLshort, clamp_short_to_uint); + PROCESS(gSrc, GCOMP, 0, GLshort, clamp_short_to_uint); + PROCESS(bSrc, BCOMP, 0, GLshort, clamp_short_to_uint); + PROCESS(aSrc, ACOMP, 1, GLshort, clamp_short_to_uint); + break; + case GL_UNSIGNED_INT: + PROCESS(rSrc, RCOMP, 0, GLuint, (GLuint)); + PROCESS(gSrc, GCOMP, 0, GLuint, (GLuint)); + PROCESS(bSrc, BCOMP, 0, GLuint, (GLuint)); + PROCESS(aSrc, ACOMP, 1, GLuint, (GLuint)); + break; + case GL_INT: + PROCESS(rSrc, RCOMP, 0, GLint, clamp_int_to_uint); + PROCESS(gSrc, GCOMP, 0, GLint, clamp_int_to_uint); + PROCESS(bSrc, BCOMP, 0, GLint, clamp_int_to_uint); + PROCESS(aSrc, ACOMP, 1, GLint, clamp_int_to_uint); + break; + case GL_FLOAT: + PROCESS(rSrc, RCOMP, 0, GLfloat, clamp_float_to_uint); + PROCESS(gSrc, GCOMP, 0, GLfloat, clamp_float_to_uint); + PROCESS(bSrc, BCOMP, 0, GLfloat, clamp_float_to_uint); + PROCESS(aSrc, ACOMP, 1, GLfloat, clamp_float_to_uint); + break; + case GL_HALF_FLOAT_ARB: + PROCESS(rSrc, RCOMP, 0, GLhalfARB, clamp_half_to_uint); + PROCESS(gSrc, GCOMP, 0, GLhalfARB, clamp_half_to_uint); + PROCESS(bSrc, BCOMP, 0, GLhalfARB, clamp_half_to_uint); + PROCESS(aSrc, ACOMP, 1, GLhalfARB, clamp_half_to_uint); + break; + case GL_UNSIGNED_BYTE_3_3_2: + { + const GLubyte *ubsrc = (const GLubyte *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLubyte p = ubsrc[i]; + rgba[i][rDst] = ((p >> 5) ); + rgba[i][gDst] = ((p >> 2) & 0x7); + rgba[i][bDst] = ((p ) & 0x3); + rgba[i][aDst] = 1; + } + } + break; + case GL_UNSIGNED_BYTE_2_3_3_REV: + { + const GLubyte *ubsrc = (const GLubyte *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLubyte p = ubsrc[i]; + rgba[i][rDst] = ((p ) & 0x7); + rgba[i][gDst] = ((p >> 3) & 0x7); + rgba[i][bDst] = ((p >> 6) ); + rgba[i][aDst] = 1; + } + } + break; + case GL_UNSIGNED_SHORT_5_6_5: + if (swapBytes) { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + SWAP2BYTE(p); + rgba[i][rDst] = ((p >> 11) ); + rgba[i][gDst] = ((p >> 5) & 0x3f); + rgba[i][bDst] = ((p ) & 0x1f); + rgba[i][aDst] = 1; + } + } + else { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + rgba[i][rDst] = ((p >> 11) ); + rgba[i][gDst] = ((p >> 5) & 0x3f); + rgba[i][bDst] = ((p ) & 0x1f); + rgba[i][aDst] = 1; + } + } + break; + case GL_UNSIGNED_SHORT_5_6_5_REV: + if (swapBytes) { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + SWAP2BYTE(p); + rgba[i][rDst] = ((p ) & 0x1f); + rgba[i][gDst] = ((p >> 5) & 0x3f); + rgba[i][bDst] = ((p >> 11) ); + rgba[i][aDst] = 1; + } + } + else { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + rgba[i][rDst] = ((p ) & 0x1f); + rgba[i][gDst] = ((p >> 5) & 0x3f); + rgba[i][bDst] = ((p >> 11) ); + rgba[i][aDst] = 1; + } + } + break; + case GL_UNSIGNED_SHORT_4_4_4_4: + if (swapBytes) { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + SWAP2BYTE(p); + rgba[i][rDst] = ((p >> 12) ); + rgba[i][gDst] = ((p >> 8) & 0xf); + rgba[i][bDst] = ((p >> 4) & 0xf); + rgba[i][aDst] = ((p ) & 0xf); + } + } + else { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + rgba[i][rDst] = ((p >> 12) ); + rgba[i][gDst] = ((p >> 8) & 0xf); + rgba[i][bDst] = ((p >> 4) & 0xf); + rgba[i][aDst] = ((p ) & 0xf); + } + } + break; + case GL_UNSIGNED_SHORT_4_4_4_4_REV: + if (swapBytes) { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + SWAP2BYTE(p); + rgba[i][rDst] = ((p ) & 0xf); + rgba[i][gDst] = ((p >> 4) & 0xf); + rgba[i][bDst] = ((p >> 8) & 0xf); + rgba[i][aDst] = ((p >> 12) ); + } + } + else { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + rgba[i][rDst] = ((p ) & 0xf); + rgba[i][gDst] = ((p >> 4) & 0xf); + rgba[i][bDst] = ((p >> 8) & 0xf); + rgba[i][aDst] = ((p >> 12) ); + } + } + break; + case GL_UNSIGNED_SHORT_5_5_5_1: + if (swapBytes) { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + SWAP2BYTE(p); + rgba[i][rDst] = ((p >> 11) ); + rgba[i][gDst] = ((p >> 6) & 0x1f); + rgba[i][bDst] = ((p >> 1) & 0x1f); + rgba[i][aDst] = ((p ) & 0x1 ); + } + } + else { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + rgba[i][rDst] = ((p >> 11) ); + rgba[i][gDst] = ((p >> 6) & 0x1f); + rgba[i][bDst] = ((p >> 1) & 0x1f); + rgba[i][aDst] = ((p ) & 0x1 ); + } + } + break; + case GL_UNSIGNED_SHORT_1_5_5_5_REV: + if (swapBytes) { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + SWAP2BYTE(p); + rgba[i][rDst] = ((p ) & 0x1f); + rgba[i][gDst] = ((p >> 5) & 0x1f); + rgba[i][bDst] = ((p >> 10) & 0x1f); + rgba[i][aDst] = ((p >> 15) ); + } + } + else { + const GLushort *ussrc = (const GLushort *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLushort p = ussrc[i]; + rgba[i][rDst] = ((p ) & 0x1f); + rgba[i][gDst] = ((p >> 5) & 0x1f); + rgba[i][bDst] = ((p >> 10) & 0x1f); + rgba[i][aDst] = ((p >> 15) ); + } + } + break; + case GL_UNSIGNED_INT_8_8_8_8: + if (swapBytes) { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + rgba[i][rDst] = ((p ) & 0xff); + rgba[i][gDst] = ((p >> 8) & 0xff); + rgba[i][bDst] = ((p >> 16) & 0xff); + rgba[i][aDst] = ((p >> 24) ); + } + } + else { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + rgba[i][rDst] = ((p >> 24) ); + rgba[i][gDst] = ((p >> 16) & 0xff); + rgba[i][bDst] = ((p >> 8) & 0xff); + rgba[i][aDst] = ((p ) & 0xff); + } + } + break; + case GL_UNSIGNED_INT_8_8_8_8_REV: + if (swapBytes) { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + rgba[i][rDst] = ((p >> 24) ); + rgba[i][gDst] = ((p >> 16) & 0xff); + rgba[i][bDst] = ((p >> 8) & 0xff); + rgba[i][aDst] = ((p ) & 0xff); + } + } + else { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + rgba[i][rDst] = ((p ) & 0xff); + rgba[i][gDst] = ((p >> 8) & 0xff); + rgba[i][bDst] = ((p >> 16) & 0xff); + rgba[i][aDst] = ((p >> 24) ); + } + } + break; + case GL_UNSIGNED_INT_10_10_10_2: + if (swapBytes) { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + SWAP4BYTE(p); + rgba[i][rDst] = ((p >> 22) ); + rgba[i][gDst] = ((p >> 12) & 0x3ff); + rgba[i][bDst] = ((p >> 2) & 0x3ff); + rgba[i][aDst] = ((p ) & 0x3 ); + } + } + else { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + rgba[i][rDst] = ((p >> 22) ); + rgba[i][gDst] = ((p >> 12) & 0x3ff); + rgba[i][bDst] = ((p >> 2) & 0x3ff); + rgba[i][aDst] = ((p ) & 0x3 ); + } + } + break; + case GL_UNSIGNED_INT_2_10_10_10_REV: + if (swapBytes) { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + SWAP4BYTE(p); + rgba[i][rDst] = ((p ) & 0x3ff); + rgba[i][gDst] = ((p >> 10) & 0x3ff); + rgba[i][bDst] = ((p >> 20) & 0x3ff); + rgba[i][aDst] = ((p >> 30) ); + } + } + else { + const GLuint *uisrc = (const GLuint *) src; + GLuint i; + for (i = 0; i < n; i ++) { + GLuint p = uisrc[i]; + rgba[i][rDst] = ((p ) & 0x3ff); + rgba[i][gDst] = ((p >> 10) & 0x3ff); + rgba[i][bDst] = ((p >> 20) & 0x3ff); + rgba[i][aDst] = ((p >> 30) ); + } + } + break; + default: + _mesa_problem(NULL, "bad srcType in extract uint data"); + break; + } +#undef PROCESS +} + + + /* * Unpack a row of color image data from a client buffer according to * the pixel unpacking parameters. @@ -2887,8 +3461,7 @@ _mesa_unpack_color_span_chan( struct gl_context *ctx, /* general solution begins here */ { GLint dstComponents; - GLint dstRedIndex, dstGreenIndex, dstBlueIndex, dstAlphaIndex; - GLint dstLuminanceIndex, dstIntensityIndex; + GLint rDst, gDst, bDst, aDst, lDst, iDst; GLfloat rgba[MAX_WIDTH][4]; dstComponents = _mesa_components_in_format( dstFormat ); @@ -2941,103 +3514,50 @@ _mesa_unpack_color_span_chan( struct gl_context *ctx, _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba); } - /* Now determine which color channels we need to produce. - * And determine the dest index (offset) within each color tuple. - */ - switch (dstFormat) { - case GL_ALPHA: - dstAlphaIndex = 0; - dstRedIndex = dstGreenIndex = dstBlueIndex = -1; - dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_LUMINANCE: - dstLuminanceIndex = 0; - dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1; - dstIntensityIndex = -1; - break; - case GL_LUMINANCE_ALPHA: - dstLuminanceIndex = 0; - dstAlphaIndex = 1; - dstRedIndex = dstGreenIndex = dstBlueIndex = -1; - dstIntensityIndex = -1; - break; - case GL_INTENSITY: - dstIntensityIndex = 0; - dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1; - dstLuminanceIndex = -1; - break; - case GL_RED: - dstRedIndex = 0; - dstGreenIndex = dstBlueIndex = -1; - dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_RG: - dstRedIndex = 0; - dstGreenIndex = 1; - dstBlueIndex = -1; - dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_RGB: - dstRedIndex = 0; - dstGreenIndex = 1; - dstBlueIndex = 2; - dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_RGBA: - dstRedIndex = 0; - dstGreenIndex = 1; - dstBlueIndex = 2; - dstAlphaIndex = 3; - dstLuminanceIndex = dstIntensityIndex = -1; - break; - default: - _mesa_problem(ctx, "bad dstFormat in _mesa_unpack_chan_span()"); - return; - } - + get_component_indexes(dstFormat, + &rDst, &gDst, &bDst, &aDst, &lDst, &iDst); /* Now return the GLchan data in the requested dstFormat */ - - if (dstRedIndex >= 0) { + if (rDst >= 0) { GLchan *dst = dest; GLuint i; for (i = 0; i < n; i++) { - CLAMPED_FLOAT_TO_CHAN(dst[dstRedIndex], rgba[i][RCOMP]); + CLAMPED_FLOAT_TO_CHAN(dst[rDst], rgba[i][RCOMP]); dst += dstComponents; } } - if (dstGreenIndex >= 0) { + if (gDst >= 0) { GLchan *dst = dest; GLuint i; for (i = 0; i < n; i++) { - CLAMPED_FLOAT_TO_CHAN(dst[dstGreenIndex], rgba[i][GCOMP]); + CLAMPED_FLOAT_TO_CHAN(dst[gDst], rgba[i][GCOMP]); dst += dstComponents; } } - if (dstBlueIndex >= 0) { + if (bDst >= 0) { GLchan *dst = dest; GLuint i; for (i = 0; i < n; i++) { - CLAMPED_FLOAT_TO_CHAN(dst[dstBlueIndex], rgba[i][BCOMP]); + CLAMPED_FLOAT_TO_CHAN(dst[bDst], rgba[i][BCOMP]); dst += dstComponents; } } - if (dstAlphaIndex >= 0) { + if (aDst >= 0) { GLchan *dst = dest; GLuint i; for (i = 0; i < n; i++) { - CLAMPED_FLOAT_TO_CHAN(dst[dstAlphaIndex], rgba[i][ACOMP]); + CLAMPED_FLOAT_TO_CHAN(dst[aDst], rgba[i][ACOMP]); dst += dstComponents; } } - if (dstIntensityIndex >= 0) { + if (iDst >= 0) { GLchan *dst = dest; GLuint i; - assert(dstIntensityIndex == 0); + assert(iDst == 0); assert(dstComponents == 1); for (i = 0; i < n; i++) { /* Intensity comes from red channel */ @@ -3045,10 +3565,10 @@ _mesa_unpack_color_span_chan( struct gl_context *ctx, } } - if (dstLuminanceIndex >= 0) { + if (lDst >= 0) { GLchan *dst = dest; GLuint i; - assert(dstLuminanceIndex == 0); + assert(lDst == 0); for (i = 0; i < n; i++) { /* Luminance comes from red channel */ CLAMPED_FLOAT_TO_CHAN(dst[0], rgba[i][RCOMP]); @@ -3131,8 +3651,7 @@ _mesa_unpack_color_span_float( struct gl_context *ctx, /* general solution, no special cases, yet */ { GLint dstComponents; - GLint dstRedIndex, dstGreenIndex, dstBlueIndex, dstAlphaIndex; - GLint dstLuminanceIndex, dstIntensityIndex; + GLint rDst, gDst, bDst, aDst, lDst, iDst; GLfloat rgba[MAX_WIDTH][4]; dstComponents = _mesa_components_in_format( dstFormat ); @@ -3180,101 +3699,50 @@ _mesa_unpack_color_span_float( struct gl_context *ctx, _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba); } - /* Now determine which color channels we need to produce. - * And determine the dest index (offset) within each color tuple. - */ - switch (dstFormat) { - case GL_ALPHA: - dstAlphaIndex = 0; - dstRedIndex = dstGreenIndex = dstBlueIndex = -1; - dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_LUMINANCE: - dstLuminanceIndex = 0; - dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1; - dstIntensityIndex = -1; - break; - case GL_LUMINANCE_ALPHA: - dstLuminanceIndex = 0; - dstAlphaIndex = 1; - dstRedIndex = dstGreenIndex = dstBlueIndex = -1; - dstIntensityIndex = -1; - break; - case GL_INTENSITY: - dstIntensityIndex = 0; - dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1; - dstLuminanceIndex = -1; - break; - case GL_RED: - dstRedIndex = 0; - dstGreenIndex = dstBlueIndex = -1; - dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_RG: - dstRedIndex = 0; - dstGreenIndex = 1; - dstBlueIndex = -1; - dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_RGB: - dstRedIndex = 0; - dstGreenIndex = 1; - dstBlueIndex = 2; - dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1; - break; - case GL_RGBA: - dstRedIndex = 0; - dstGreenIndex = 1; - dstBlueIndex = 2; - dstAlphaIndex = 3; - dstLuminanceIndex = dstIntensityIndex = -1; - break; - default: - _mesa_problem(ctx, "bad dstFormat in _mesa_unpack_color_span_float()"); - return; - } + get_component_indexes(dstFormat, + &rDst, &gDst, &bDst, &aDst, &lDst, &iDst); /* Now pack results in the requested dstFormat */ - if (dstRedIndex >= 0) { + if (rDst >= 0) { GLfloat *dst = dest; GLuint i; for (i = 0; i < n; i++) { - dst[dstRedIndex] = rgba[i][RCOMP]; + dst[rDst] = rgba[i][RCOMP]; dst += dstComponents; } } - if (dstGreenIndex >= 0) { + if (gDst >= 0) { GLfloat *dst = dest; GLuint i; for (i = 0; i < n; i++) { - dst[dstGreenIndex] = rgba[i][GCOMP]; + dst[gDst] = rgba[i][GCOMP]; dst += dstComponents; } } - if (dstBlueIndex >= 0) { + if (bDst >= 0) { GLfloat *dst = dest; GLuint i; for (i = 0; i < n; i++) { - dst[dstBlueIndex] = rgba[i][BCOMP]; + dst[bDst] = rgba[i][BCOMP]; dst += dstComponents; } } - if (dstAlphaIndex >= 0) { + if (aDst >= 0) { GLfloat *dst = dest; GLuint i; for (i = 0; i < n; i++) { - dst[dstAlphaIndex] = rgba[i][ACOMP]; + dst[aDst] = rgba[i][ACOMP]; dst += dstComponents; } } - if (dstIntensityIndex >= 0) { + if (iDst >= 0) { GLfloat *dst = dest; GLuint i; - assert(dstIntensityIndex == 0); + assert(iDst == 0); assert(dstComponents == 1); for (i = 0; i < n; i++) { /* Intensity comes from red channel */ @@ -3282,10 +3750,10 @@ _mesa_unpack_color_span_float( struct gl_context *ctx, } } - if (dstLuminanceIndex >= 0) { + if (lDst >= 0) { GLfloat *dst = dest; GLuint i; - assert(dstLuminanceIndex == 0); + assert(lDst == 0); for (i = 0; i < n; i++) { /* Luminance comes from red channel */ dst[0] = rgba[i][RCOMP]; @@ -3295,6 +3763,159 @@ _mesa_unpack_color_span_float( struct gl_context *ctx, } } + +/** + * Same as _mesa_unpack_color_span_chan(), but return GLuint data + * instead of GLchan. + * No pixel transfer ops are applied. + */ +void +_mesa_unpack_color_span_uint(struct gl_context *ctx, + GLuint n, GLenum dstFormat, GLuint *dest, + GLenum srcFormat, GLenum srcType, + const GLvoid *source, + const struct gl_pixelstore_attrib *srcPacking) +{ + GLuint rgba[MAX_WIDTH][4]; + + ASSERT(n <= MAX_WIDTH); + + ASSERT(dstFormat == GL_ALPHA || + dstFormat == GL_LUMINANCE || + dstFormat == GL_LUMINANCE_ALPHA || + dstFormat == GL_INTENSITY || + dstFormat == GL_RED || + dstFormat == GL_RG || + dstFormat == GL_RGB || + dstFormat == GL_RGBA); + + ASSERT(srcFormat == GL_RED || + srcFormat == GL_GREEN || + srcFormat == GL_BLUE || + srcFormat == GL_ALPHA || + srcFormat == GL_LUMINANCE || + srcFormat == GL_LUMINANCE_ALPHA || + srcFormat == GL_INTENSITY || + srcFormat == GL_RG || + srcFormat == GL_RGB || + srcFormat == GL_BGR || + srcFormat == GL_RGBA || + srcFormat == GL_BGRA || + srcFormat == GL_ABGR_EXT || + srcFormat == GL_RED_INTEGER_EXT || + srcFormat == GL_GREEN_INTEGER_EXT || + srcFormat == GL_BLUE_INTEGER_EXT || + srcFormat == GL_ALPHA_INTEGER_EXT || + srcFormat == GL_RGB_INTEGER_EXT || + srcFormat == GL_RGBA_INTEGER_EXT || + srcFormat == GL_BGR_INTEGER_EXT || + srcFormat == GL_BGRA_INTEGER_EXT || + srcFormat == GL_LUMINANCE_INTEGER_EXT || + srcFormat == GL_LUMINANCE_ALPHA_INTEGER_EXT); + + ASSERT(srcType == GL_UNSIGNED_BYTE || + srcType == GL_BYTE || + srcType == GL_UNSIGNED_SHORT || + srcType == GL_SHORT || + srcType == GL_UNSIGNED_INT || + srcType == GL_INT || + srcType == GL_HALF_FLOAT_ARB || + srcType == GL_FLOAT || + srcType == GL_UNSIGNED_BYTE_3_3_2 || + srcType == GL_UNSIGNED_BYTE_2_3_3_REV || + srcType == GL_UNSIGNED_SHORT_5_6_5 || + srcType == GL_UNSIGNED_SHORT_5_6_5_REV || + srcType == GL_UNSIGNED_SHORT_4_4_4_4 || + srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV || + srcType == GL_UNSIGNED_SHORT_5_5_5_1 || + srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV || + srcType == GL_UNSIGNED_INT_8_8_8_8 || + srcType == GL_UNSIGNED_INT_8_8_8_8_REV || + srcType == GL_UNSIGNED_INT_10_10_10_2 || + srcType == GL_UNSIGNED_INT_2_10_10_10_REV); + + + /* Extract image data as uint[4] pixels */ + extract_uint_rgba(n, rgba, srcFormat, srcType, source, + srcPacking->SwapBytes); + + if (dstFormat == GL_RGBA) { + /* simple case */ + memcpy(dest, rgba, 4 * sizeof(GLuint) * n); + } + else { + /* general case */ + GLint rDst, gDst, bDst, aDst, lDst, iDst; + GLint dstComponents = _mesa_components_in_format( dstFormat ); + + assert(dstComponents > 0); + + get_component_indexes(dstFormat, + &rDst, &gDst, &bDst, &aDst, &lDst, &iDst); + + /* Now pack values in the requested dest format */ + if (rDst >= 0) { + GLuint *dst = dest; + GLuint i; + for (i = 0; i < n; i++) { + dst[rDst] = rgba[i][RCOMP]; + dst += dstComponents; + } + } + + if (gDst >= 0) { + GLuint *dst = dest; + GLuint i; + for (i = 0; i < n; i++) { + dst[gDst] = rgba[i][GCOMP]; + dst += dstComponents; + } + } + + if (bDst >= 0) { + GLuint *dst = dest; + GLuint i; + for (i = 0; i < n; i++) { + dst[bDst] = rgba[i][BCOMP]; + dst += dstComponents; + } + } + + if (aDst >= 0) { + GLuint *dst = dest; + GLuint i; + for (i = 0; i < n; i++) { + dst[aDst] = rgba[i][ACOMP]; + dst += dstComponents; + } + } + + if (iDst >= 0) { + GLuint *dst = dest; + GLuint i; + assert(iDst == 0); + assert(dstComponents == 1); + for (i = 0; i < n; i++) { + /* Intensity comes from red channel */ + dst[i] = rgba[i][RCOMP]; + } + } + + if (lDst >= 0) { + GLuint *dst = dest; + GLuint i; + assert(lDst == 0); + for (i = 0; i < n; i++) { + /* Luminance comes from red channel */ + dst[0] = rgba[i][RCOMP]; + dst += dstComponents; + } + } + } +} + + + /** * Similar to _mesa_unpack_color_span_float(), but for dudv data instead of rgba, * directly return GLbyte data, no transfer ops apply. diff --git a/src/mesa/main/pack.h b/src/mesa/main/pack.h index 3b24159fc2b..65d3f7a0fb2 100644 --- a/src/mesa/main/pack.h +++ b/src/mesa/main/pack.h @@ -75,6 +75,13 @@ _mesa_unpack_color_span_float(struct gl_context *ctx, GLbitfield transferOps); extern void +_mesa_unpack_color_span_uint(struct gl_context *ctx, + GLuint n, GLenum dstFormat, GLuint *dest, + GLenum srcFormat, GLenum srcType, + const GLvoid *source, + const struct gl_pixelstore_attrib *srcPacking); + +extern void _mesa_unpack_dudv_span_byte(struct gl_context *ctx, GLuint n, GLenum dstFormat, GLbyte dest[], GLenum srcFormat, GLenum srcType, diff --git a/src/mesa/main/pixel.h b/src/mesa/main/pixel.h index 03560835a8c..6f04eb62724 100644 --- a/src/mesa/main/pixel.h +++ b/src/mesa/main/pixel.h @@ -33,7 +33,12 @@ #define PIXEL_H -#include "main/mtypes.h" +#include "compiler.h" +#include "glheader.h" +#include "mfeatures.h" + +struct _glapi_table; +struct gl_context; #if FEATURE_pixel_transfer diff --git a/src/mesa/main/pixelstore.h b/src/mesa/main/pixelstore.h index cdef7de2613..eb508197490 100644 --- a/src/mesa/main/pixelstore.h +++ b/src/mesa/main/pixelstore.h @@ -33,7 +33,8 @@ #include "glheader.h" -#include "mtypes.h" + +struct gl_context; extern void GLAPIENTRY diff --git a/src/mesa/main/remap.c b/src/mesa/main/remap.c index 2341f8488d1..c89fba45302 100644 --- a/src/mesa/main/remap.c +++ b/src/mesa/main/remap.c @@ -44,10 +44,15 @@ #include "imports.h" #include "glapi/glapi.h" -#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0])) #define MAX_ENTRY_POINTS 16 -static const char *_mesa_function_pool; +#define need_MESA_remap_table +#include "main/remap_helper.h" + + +/* this is global for quick access */ +int driDispatchRemapTable[driDispatchRemapTable_size]; + /** * Return the spec string associated with the given function index. @@ -60,7 +65,10 @@ static const char *_mesa_function_pool; const char * _mesa_get_function_spec(GLint func_index) { - return _mesa_function_pool + func_index; + if (func_index < Elements(_mesa_function_pool)) + return _mesa_function_pool + func_index; + else + return NULL; } @@ -152,11 +160,31 @@ _mesa_map_function_array(const struct gl_function_remap *func_array) /** + * Map the functions which are already static. + * + * When a extension function are incorporated into the ABI, the + * extension suffix is usually stripped. Mapping such functions + * makes sure the alternative names are available. + * + * Note that functions mapped by _mesa_init_remap_table() are + * excluded. + */ +void +_mesa_map_static_functions(void) +{ + /* Remap static functions which have alternative names and are in the ABI. + * This is to be on the safe side. glapi should have defined those names. + */ + _mesa_map_function_array(MESA_alt_functions); +} + + +/** * Initialize the remap table. This is called in one_time_init(). * The remap table needs to be initialized before calling the * CALL/GET/SET macros defined in main/dispatch.h. */ -void +static void _mesa_do_init_remap_table(const char *pool, int size, const struct gl_function_pool_remap *remap) @@ -167,7 +195,6 @@ _mesa_do_init_remap_table(const char *pool, if (initialized) return; initialized = GL_TRUE; - _mesa_function_pool = pool; /* initialize the remap table */ for (i = 0; i < size; i++) { @@ -187,4 +214,13 @@ _mesa_do_init_remap_table(const char *pool, } +void +_mesa_init_remap_table(void) +{ + _mesa_do_init_remap_table(_mesa_function_pool, + driDispatchRemapTable_size, + MESA_remap_table_functions); +} + + #endif /* FEATURE_remap_table */ diff --git a/src/mesa/main/remap.h b/src/mesa/main/remap.h index a2a55f615d5..5fee3005290 100644 --- a/src/mesa/main/remap.h +++ b/src/mesa/main/remap.h @@ -60,25 +60,8 @@ extern void _mesa_map_static_functions(void); extern void -_mesa_map_static_functions_es1(void); - -extern void -_mesa_map_static_functions_es2(void); - -extern void -_mesa_do_init_remap_table(const char *pool, - int size, - const struct gl_function_pool_remap *remap); - -extern void _mesa_init_remap_table(void); -extern void -_mesa_init_remap_table_es1(void); - -extern void -_mesa_init_remap_table_es2(void); - #else /* FEATURE_remap_table */ static INLINE const char * @@ -105,37 +88,10 @@ _mesa_map_static_functions(void) static INLINE void -_mesa_map_static_functions_es1(void) -{ -} - -static INLINE void -_mesa_map_static_functions_es2(void) -{ -} - -static INLINE void -_mesa_do_init_remap_table(const char *pool, - int size, - const struct gl_function_pool_remap *remap) -{ -} - -static INLINE void _mesa_init_remap_table(void) { } -static INLINE void -_mesa_init_remap_table_es1(void) -{ -} - -static INLINE void -_mesa_init_remap_table_es2(void) -{ -} - #endif /* FEATURE_remap_table */ diff --git a/src/mesa/main/remap_helper.h b/src/mesa/main/remap_helper.h index 9034b10d488..1aa2cdea38f 100644 --- a/src/mesa/main/remap_helper.h +++ b/src/mesa/main/remap_helper.h @@ -45,4464 +45,4600 @@ static const char _mesa_function_pool[] = "iff\0" "glMapGrid1f\0" "\0" - /* _mesa_function_pool[81]: RasterPos4i (offset 82) */ + /* _mesa_function_pool[81]: VertexAttribI2iEXT (will be remapped) */ + "iii\0" + "glVertexAttribI2iEXT\0" + "\0" + /* _mesa_function_pool[107]: RasterPos4i (offset 82) */ "iiii\0" "glRasterPos4i\0" "\0" - /* _mesa_function_pool[101]: RasterPos4d (offset 78) */ + /* _mesa_function_pool[127]: RasterPos4d (offset 78) */ "dddd\0" "glRasterPos4d\0" "\0" - /* _mesa_function_pool[121]: NewList (dynamic) */ + /* _mesa_function_pool[147]: NewList (dynamic) */ "ii\0" "glNewList\0" "\0" - /* _mesa_function_pool[135]: RasterPos4f (offset 80) */ + /* _mesa_function_pool[161]: RasterPos4f (offset 80) */ "ffff\0" "glRasterPos4f\0" "\0" - /* _mesa_function_pool[155]: LoadIdentity (offset 290) */ + /* _mesa_function_pool[181]: LoadIdentity (offset 290) */ "\0" "glLoadIdentity\0" "\0" - /* _mesa_function_pool[172]: GetCombinerOutputParameterfvNV (will be remapped) */ - "iiip\0" - "glGetCombinerOutputParameterfvNV\0" - "\0" - /* _mesa_function_pool[211]: SampleCoverageARB (will be remapped) */ + /* _mesa_function_pool[198]: SampleCoverageARB (will be remapped) */ "fi\0" "glSampleCoverage\0" "glSampleCoverageARB\0" "\0" - /* _mesa_function_pool[252]: ConvolutionFilter1D (offset 348) */ + /* _mesa_function_pool[239]: ConvolutionFilter1D (offset 348) */ "iiiiip\0" "glConvolutionFilter1D\0" "glConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[307]: BeginQueryARB (will be remapped) */ + /* _mesa_function_pool[294]: BeginQueryARB (will be remapped) */ "ii\0" "glBeginQuery\0" "glBeginQueryARB\0" "\0" - /* _mesa_function_pool[340]: RasterPos3dv (offset 71) */ + /* _mesa_function_pool[327]: RasterPos3dv (offset 71) */ "p\0" "glRasterPos3dv\0" "\0" - /* _mesa_function_pool[358]: PointParameteriNV (will be remapped) */ + /* _mesa_function_pool[345]: PointParameteriNV (will be remapped) */ "ii\0" "glPointParameteri\0" "glPointParameteriNV\0" "\0" - /* _mesa_function_pool[400]: GetProgramiv (will be remapped) */ + /* _mesa_function_pool[387]: GetProgramiv (will be remapped) */ "iip\0" "glGetProgramiv\0" "\0" - /* _mesa_function_pool[420]: MultiTexCoord3sARB (offset 398) */ + /* _mesa_function_pool[407]: MultiTexCoord3sARB (offset 398) */ "iiii\0" "glMultiTexCoord3s\0" "glMultiTexCoord3sARB\0" "\0" - /* _mesa_function_pool[465]: SecondaryColor3iEXT (will be remapped) */ + /* _mesa_function_pool[452]: SecondaryColor3iEXT (will be remapped) */ "iii\0" "glSecondaryColor3i\0" "glSecondaryColor3iEXT\0" "\0" - /* _mesa_function_pool[511]: WindowPos3fMESA (will be remapped) */ + /* _mesa_function_pool[498]: WindowPos3fMESA (will be remapped) */ "fff\0" "glWindowPos3f\0" "glWindowPos3fARB\0" "glWindowPos3fMESA\0" "\0" - /* _mesa_function_pool[565]: TexCoord1iv (offset 99) */ + /* _mesa_function_pool[552]: TexCoord1iv (offset 99) */ "p\0" "glTexCoord1iv\0" "\0" - /* _mesa_function_pool[582]: TexCoord4sv (offset 125) */ + /* _mesa_function_pool[569]: TexCoord4sv (offset 125) */ "p\0" "glTexCoord4sv\0" "\0" - /* _mesa_function_pool[599]: RasterPos4s (offset 84) */ + /* _mesa_function_pool[586]: RasterPos4s (offset 84) */ "iiii\0" "glRasterPos4s\0" "\0" - /* _mesa_function_pool[619]: PixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[606]: PixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[652]: ActiveTextureARB (offset 374) */ + /* _mesa_function_pool[639]: ActiveTextureARB (offset 374) */ "i\0" "glActiveTexture\0" "glActiveTextureARB\0" "\0" - /* _mesa_function_pool[690]: BlitFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[677]: BlitFramebufferEXT (will be remapped) */ "iiiiiiiiii\0" "glBlitFramebuffer\0" "glBlitFramebufferEXT\0" "\0" - /* _mesa_function_pool[741]: TexCoord1f (offset 96) */ + /* _mesa_function_pool[728]: TexCoord1f (offset 96) */ "f\0" "glTexCoord1f\0" "\0" - /* _mesa_function_pool[757]: TexCoord1d (offset 94) */ + /* _mesa_function_pool[744]: TexCoord1d (offset 94) */ "d\0" "glTexCoord1d\0" "\0" - /* _mesa_function_pool[773]: VertexAttrib4ubvNV (will be remapped) */ + /* _mesa_function_pool[760]: VertexAttrib4ubvNV (will be remapped) */ "ip\0" "glVertexAttrib4ubvNV\0" "\0" - /* _mesa_function_pool[798]: TexCoord1i (offset 98) */ + /* _mesa_function_pool[785]: TexCoord1i (offset 98) */ "i\0" "glTexCoord1i\0" "\0" - /* _mesa_function_pool[814]: GetProgramNamedParameterdvNV (will be remapped) */ + /* _mesa_function_pool[801]: GetProgramNamedParameterdvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterdvNV\0" "\0" - /* _mesa_function_pool[851]: Histogram (offset 367) */ + /* _mesa_function_pool[838]: Histogram (offset 367) */ "iiii\0" "glHistogram\0" "glHistogramEXT\0" "\0" - /* _mesa_function_pool[884]: TexCoord1s (offset 100) */ + /* _mesa_function_pool[871]: TexCoord1s (offset 100) */ "i\0" "glTexCoord1s\0" "\0" - /* _mesa_function_pool[900]: GetMapfv (offset 267) */ + /* _mesa_function_pool[887]: GetMapfv (offset 267) */ "iip\0" "glGetMapfv\0" "\0" - /* _mesa_function_pool[916]: EvalCoord1f (offset 230) */ + /* _mesa_function_pool[903]: EvalCoord1f (offset 230) */ "f\0" "glEvalCoord1f\0" "\0" - /* _mesa_function_pool[933]: TexImage4DSGIS (dynamic) */ + /* _mesa_function_pool[920]: VertexAttribI1ivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI1ivEXT\0" + "\0" + /* _mesa_function_pool[946]: TexImage4DSGIS (dynamic) */ "iiiiiiiiiip\0" "glTexImage4DSGIS\0" "\0" - /* _mesa_function_pool[963]: PolygonStipple (offset 175) */ + /* _mesa_function_pool[976]: PolygonStipple (offset 175) */ "p\0" "glPolygonStipple\0" "\0" - /* _mesa_function_pool[983]: WindowPos2dvMESA (will be remapped) */ + /* _mesa_function_pool[996]: WindowPos2dvMESA (will be remapped) */ "p\0" "glWindowPos2dv\0" "glWindowPos2dvARB\0" "glWindowPos2dvMESA\0" "\0" - /* _mesa_function_pool[1038]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1051]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1082]: BlendEquationSeparateEXT (will be remapped) */ + /* _mesa_function_pool[1095]: BlendEquationSeparateEXT (will be remapped) */ "ii\0" "glBlendEquationSeparate\0" "glBlendEquationSeparateEXT\0" "glBlendEquationSeparateATI\0" "\0" - /* _mesa_function_pool[1164]: ListParameterfSGIX (dynamic) */ + /* _mesa_function_pool[1177]: ListParameterfSGIX (dynamic) */ "iif\0" "glListParameterfSGIX\0" "\0" - /* _mesa_function_pool[1190]: SecondaryColor3bEXT (will be remapped) */ + /* _mesa_function_pool[1203]: SecondaryColor3bEXT (will be remapped) */ "iii\0" "glSecondaryColor3b\0" "glSecondaryColor3bEXT\0" "\0" - /* _mesa_function_pool[1236]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[1249]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ "pppp\0" "glTexCoord4fColor4fNormal3fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[1282]: GetPixelMapfv (offset 271) */ + /* _mesa_function_pool[1295]: GetPixelMapfv (offset 271) */ "ip\0" "glGetPixelMapfv\0" "\0" - /* _mesa_function_pool[1302]: Color3uiv (offset 22) */ + /* _mesa_function_pool[1315]: Color3uiv (offset 22) */ "p\0" "glColor3uiv\0" "\0" - /* _mesa_function_pool[1317]: IsEnabled (offset 286) */ + /* _mesa_function_pool[1330]: IsEnabled (offset 286) */ "i\0" "glIsEnabled\0" "\0" - /* _mesa_function_pool[1332]: VertexAttrib4svNV (will be remapped) */ + /* _mesa_function_pool[1345]: VertexAttrib4svNV (will be remapped) */ "ip\0" "glVertexAttrib4svNV\0" "\0" - /* _mesa_function_pool[1356]: EvalCoord2fv (offset 235) */ + /* _mesa_function_pool[1369]: EvalCoord2fv (offset 235) */ "p\0" "glEvalCoord2fv\0" "\0" - /* _mesa_function_pool[1374]: GetBufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1387]: GetBufferSubDataARB (will be remapped) */ "iiip\0" "glGetBufferSubData\0" "glGetBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1421]: BufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1434]: BufferSubDataARB (will be remapped) */ "iiip\0" "glBufferSubData\0" "glBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1462]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1475]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1500]: AttachShader (will be remapped) */ + /* _mesa_function_pool[1513]: AttachShader (will be remapped) */ "ii\0" "glAttachShader\0" "\0" - /* _mesa_function_pool[1519]: VertexAttrib2fARB (will be remapped) */ + /* _mesa_function_pool[1532]: VertexAttrib2fARB (will be remapped) */ "iff\0" "glVertexAttrib2f\0" "glVertexAttrib2fARB\0" "\0" - /* _mesa_function_pool[1561]: GetDebugLogLengthMESA (dynamic) */ + /* _mesa_function_pool[1574]: GetDebugLogLengthMESA (dynamic) */ "iii\0" "glGetDebugLogLengthMESA\0" "\0" - /* _mesa_function_pool[1590]: GetMapiv (offset 268) */ + /* _mesa_function_pool[1603]: GetMapiv (offset 268) */ "iip\0" "glGetMapiv\0" "\0" - /* _mesa_function_pool[1606]: VertexAttrib3fARB (will be remapped) */ + /* _mesa_function_pool[1619]: VertexAttrib3fARB (will be remapped) */ "ifff\0" "glVertexAttrib3f\0" "glVertexAttrib3fARB\0" "\0" - /* _mesa_function_pool[1649]: Indexubv (offset 316) */ + /* _mesa_function_pool[1662]: Indexubv (offset 316) */ "p\0" "glIndexubv\0" "\0" - /* _mesa_function_pool[1663]: GetQueryivARB (will be remapped) */ + /* _mesa_function_pool[1676]: GetQueryivARB (will be remapped) */ "iip\0" "glGetQueryiv\0" "glGetQueryivARB\0" "\0" - /* _mesa_function_pool[1697]: TexImage3D (offset 371) */ + /* _mesa_function_pool[1710]: TexImage3D (offset 371) */ "iiiiiiiiip\0" "glTexImage3D\0" "glTexImage3DEXT\0" "\0" - /* _mesa_function_pool[1738]: ReplacementCodeuiVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1751]: BindFragDataLocationEXT (will be remapped) */ + "iip\0" + "glBindFragDataLocationEXT\0" + "\0" + /* _mesa_function_pool[1782]: ReplacementCodeuiVertex3fvSUN (dynamic) */ "pp\0" "glReplacementCodeuiVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1774]: EdgeFlagPointer (offset 312) */ + /* _mesa_function_pool[1818]: EdgeFlagPointer (offset 312) */ "ip\0" "glEdgeFlagPointer\0" "\0" - /* _mesa_function_pool[1796]: Color3ubv (offset 20) */ + /* _mesa_function_pool[1840]: Color3ubv (offset 20) */ "p\0" "glColor3ubv\0" "\0" - /* _mesa_function_pool[1811]: GetQueryObjectivARB (will be remapped) */ + /* _mesa_function_pool[1855]: GetQueryObjectivARB (will be remapped) */ "iip\0" "glGetQueryObjectiv\0" "glGetQueryObjectivARB\0" "\0" - /* _mesa_function_pool[1857]: Vertex3dv (offset 135) */ + /* _mesa_function_pool[1901]: Vertex3dv (offset 135) */ "p\0" "glVertex3dv\0" "\0" - /* _mesa_function_pool[1872]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1916]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1919]: CompressedTexSubImage2DARB (will be remapped) */ + /* _mesa_function_pool[1963]: CompressedTexSubImage2DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexSubImage2D\0" "glCompressedTexSubImage2DARB\0" "\0" - /* _mesa_function_pool[1985]: CombinerOutputNV (will be remapped) */ + /* _mesa_function_pool[2029]: CombinerOutputNV (will be remapped) */ "iiiiiiiiii\0" "glCombinerOutputNV\0" "\0" - /* _mesa_function_pool[2016]: VertexAttribs3fvNV (will be remapped) */ + /* _mesa_function_pool[2060]: VertexAttribs3fvNV (will be remapped) */ "iip\0" "glVertexAttribs3fvNV\0" "\0" - /* _mesa_function_pool[2042]: Uniform2fARB (will be remapped) */ + /* _mesa_function_pool[2086]: Uniform2fARB (will be remapped) */ "iff\0" "glUniform2f\0" "glUniform2fARB\0" "\0" - /* _mesa_function_pool[2074]: LightModeliv (offset 166) */ + /* _mesa_function_pool[2118]: LightModeliv (offset 166) */ "ip\0" "glLightModeliv\0" "\0" - /* _mesa_function_pool[2093]: VertexAttrib1svARB (will be remapped) */ + /* _mesa_function_pool[2137]: VertexAttrib1svARB (will be remapped) */ "ip\0" "glVertexAttrib1sv\0" "glVertexAttrib1svARB\0" "\0" - /* _mesa_function_pool[2136]: VertexAttribs1dvNV (will be remapped) */ + /* _mesa_function_pool[2180]: VertexAttribs1dvNV (will be remapped) */ "iip\0" "glVertexAttribs1dvNV\0" "\0" - /* _mesa_function_pool[2162]: Uniform2ivARB (will be remapped) */ + /* _mesa_function_pool[2206]: Uniform2ivARB (will be remapped) */ "iip\0" "glUniform2iv\0" "glUniform2ivARB\0" "\0" - /* _mesa_function_pool[2196]: GetImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[2240]: GetImageTransformParameterfvHP (dynamic) */ "iip\0" "glGetImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[2234]: Normal3bv (offset 53) */ + /* _mesa_function_pool[2278]: Normal3bv (offset 53) */ "p\0" "glNormal3bv\0" "\0" - /* _mesa_function_pool[2249]: TexGeniv (offset 193) */ + /* _mesa_function_pool[2293]: TexGeniv (offset 193) */ "iip\0" "glTexGeniv\0" "\0" - /* _mesa_function_pool[2265]: WeightubvARB (dynamic) */ + /* _mesa_function_pool[2309]: WeightubvARB (dynamic) */ "ip\0" "glWeightubvARB\0" "\0" - /* _mesa_function_pool[2284]: VertexAttrib1fvNV (will be remapped) */ + /* _mesa_function_pool[2328]: VertexAttrib1fvNV (will be remapped) */ "ip\0" "glVertexAttrib1fvNV\0" "\0" - /* _mesa_function_pool[2308]: Vertex3iv (offset 139) */ + /* _mesa_function_pool[2352]: Vertex3iv (offset 139) */ "p\0" "glVertex3iv\0" "\0" - /* _mesa_function_pool[2323]: CopyConvolutionFilter1D (offset 354) */ + /* _mesa_function_pool[2367]: CopyConvolutionFilter1D (offset 354) */ "iiiii\0" "glCopyConvolutionFilter1D\0" "glCopyConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[2385]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[2429]: VertexAttribI1uiEXT (will be remapped) */ + "ii\0" + "glVertexAttribI1uiEXT\0" + "\0" + /* _mesa_function_pool[2455]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[2433]: DeleteSync (will be remapped) */ + /* _mesa_function_pool[2503]: DeleteSync (will be remapped) */ "i\0" "glDeleteSync\0" "\0" - /* _mesa_function_pool[2449]: FragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[2519]: FragmentMaterialfvSGIX (dynamic) */ "iip\0" "glFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[2479]: BlendColor (offset 336) */ + /* _mesa_function_pool[2549]: BlendColor (offset 336) */ "ffff\0" "glBlendColor\0" "glBlendColorEXT\0" "\0" - /* _mesa_function_pool[2514]: UniformMatrix4fvARB (will be remapped) */ + /* _mesa_function_pool[2584]: UniformMatrix4fvARB (will be remapped) */ "iiip\0" "glUniformMatrix4fv\0" "glUniformMatrix4fvARB\0" "\0" - /* _mesa_function_pool[2561]: DeleteVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[2631]: DeleteVertexArraysAPPLE (will be remapped) */ "ip\0" "glDeleteVertexArrays\0" "glDeleteVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[2612]: ReadInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[2682]: ReadInstrumentsSGIX (dynamic) */ "i\0" "glReadInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[2637]: CallLists (offset 3) */ + /* _mesa_function_pool[2707]: CallLists (offset 3) */ "iip\0" "glCallLists\0" "\0" - /* _mesa_function_pool[2654]: UniformMatrix2x4fv (will be remapped) */ + /* _mesa_function_pool[2724]: UniformMatrix2x4fv (will be remapped) */ "iiip\0" "glUniformMatrix2x4fv\0" "\0" - /* _mesa_function_pool[2681]: Color4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2751]: Color4ubVertex3fvSUN (dynamic) */ "pp\0" "glColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2708]: Normal3iv (offset 59) */ + /* _mesa_function_pool[2778]: Normal3iv (offset 59) */ "p\0" "glNormal3iv\0" "\0" - /* _mesa_function_pool[2723]: PassThrough (offset 199) */ + /* _mesa_function_pool[2793]: PassThrough (offset 199) */ "f\0" "glPassThrough\0" "\0" - /* _mesa_function_pool[2740]: TexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[2810]: GetVertexAttribIivEXT (will be remapped) */ + "iip\0" + "glGetVertexAttribIivEXT\0" + "\0" + /* _mesa_function_pool[2839]: TexParameterIivEXT (will be remapped) */ "iip\0" "glTexParameterIivEXT\0" "\0" - /* _mesa_function_pool[2766]: FramebufferTextureLayerEXT (will be remapped) */ + /* _mesa_function_pool[2865]: FramebufferTextureLayerEXT (will be remapped) */ "iiiii\0" "glFramebufferTextureLayer\0" "glFramebufferTextureLayerEXT\0" "\0" - /* _mesa_function_pool[2828]: GetListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[2927]: GetListParameterfvSGIX (dynamic) */ "iip\0" "glGetListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[2858]: Viewport (offset 305) */ + /* _mesa_function_pool[2957]: Viewport (offset 305) */ "iiii\0" "glViewport\0" "\0" - /* _mesa_function_pool[2875]: VertexAttrib4NusvARB (will be remapped) */ + /* _mesa_function_pool[2974]: VertexAttrib4NusvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nusv\0" "glVertexAttrib4NusvARB\0" "\0" - /* _mesa_function_pool[2922]: WindowPos4svMESA (will be remapped) */ + /* _mesa_function_pool[3021]: WindowPos4svMESA (will be remapped) */ "p\0" "glWindowPos4svMESA\0" "\0" - /* _mesa_function_pool[2944]: CreateProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[3043]: CreateProgramObjectARB (will be remapped) */ "\0" "glCreateProgramObjectARB\0" "\0" - /* _mesa_function_pool[2971]: DeleteTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[3070]: DeleteTransformFeedbacks (will be remapped) */ "ip\0" "glDeleteTransformFeedbacks\0" "\0" - /* _mesa_function_pool[3002]: UniformMatrix4x3fv (will be remapped) */ + /* _mesa_function_pool[3101]: UniformMatrix4x3fv (will be remapped) */ "iiip\0" "glUniformMatrix4x3fv\0" "\0" - /* _mesa_function_pool[3029]: PrioritizeTextures (offset 331) */ + /* _mesa_function_pool[3128]: PrioritizeTextures (offset 331) */ "ipp\0" "glPrioritizeTextures\0" "glPrioritizeTexturesEXT\0" "\0" - /* _mesa_function_pool[3079]: AsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[3178]: VertexAttribI3uiEXT (will be remapped) */ + "iiii\0" + "glVertexAttribI3uiEXT\0" + "\0" + /* _mesa_function_pool[3206]: AsyncMarkerSGIX (dynamic) */ "i\0" "glAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[3100]: GlobalAlphaFactorubSUN (dynamic) */ + /* _mesa_function_pool[3227]: GlobalAlphaFactorubSUN (dynamic) */ "i\0" "glGlobalAlphaFactorubSUN\0" "\0" - /* _mesa_function_pool[3128]: ClearColorIuiEXT (will be remapped) */ + /* _mesa_function_pool[3255]: ClearColorIuiEXT (will be remapped) */ "iiii\0" "glClearColorIuiEXT\0" "\0" - /* _mesa_function_pool[3153]: ClearDebugLogMESA (dynamic) */ + /* _mesa_function_pool[3280]: ClearDebugLogMESA (dynamic) */ "iii\0" "glClearDebugLogMESA\0" "\0" - /* _mesa_function_pool[3178]: ResetHistogram (offset 369) */ + /* _mesa_function_pool[3305]: Uniform4uiEXT (will be remapped) */ + "iiiii\0" + "glUniform4uiEXT\0" + "\0" + /* _mesa_function_pool[3328]: ResetHistogram (offset 369) */ "i\0" "glResetHistogram\0" "glResetHistogramEXT\0" "\0" - /* _mesa_function_pool[3218]: GetProgramNamedParameterfvNV (will be remapped) */ + /* _mesa_function_pool[3368]: GetProgramNamedParameterfvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterfvNV\0" "\0" - /* _mesa_function_pool[3255]: PointParameterfEXT (will be remapped) */ + /* _mesa_function_pool[3405]: PointParameterfEXT (will be remapped) */ "if\0" "glPointParameterf\0" "glPointParameterfARB\0" "glPointParameterfEXT\0" "glPointParameterfSGIS\0" "\0" - /* _mesa_function_pool[3341]: LoadIdentityDeformationMapSGIX (dynamic) */ + /* _mesa_function_pool[3491]: LoadIdentityDeformationMapSGIX (dynamic) */ "i\0" "glLoadIdentityDeformationMapSGIX\0" "\0" - /* _mesa_function_pool[3377]: GenFencesNV (will be remapped) */ + /* _mesa_function_pool[3527]: GenFencesNV (will be remapped) */ "ip\0" "glGenFencesNV\0" "\0" - /* _mesa_function_pool[3395]: ImageTransformParameterfHP (dynamic) */ + /* _mesa_function_pool[3545]: ImageTransformParameterfHP (dynamic) */ "iif\0" "glImageTransformParameterfHP\0" "\0" - /* _mesa_function_pool[3429]: MatrixIndexusvARB (dynamic) */ + /* _mesa_function_pool[3579]: MatrixIndexusvARB (dynamic) */ "ip\0" "glMatrixIndexusvARB\0" "\0" - /* _mesa_function_pool[3453]: DrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[3603]: DrawElementsBaseVertex (will be remapped) */ "iiipi\0" "glDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[3485]: DisableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[3635]: DisableVertexAttribArrayARB (will be remapped) */ "i\0" "glDisableVertexAttribArray\0" "glDisableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[3545]: TexCoord2sv (offset 109) */ + /* _mesa_function_pool[3695]: TexCoord2sv (offset 109) */ "p\0" "glTexCoord2sv\0" "\0" - /* _mesa_function_pool[3562]: Vertex4dv (offset 143) */ + /* _mesa_function_pool[3712]: Vertex4dv (offset 143) */ "p\0" "glVertex4dv\0" "\0" - /* _mesa_function_pool[3577]: StencilMaskSeparate (will be remapped) */ + /* _mesa_function_pool[3727]: StencilMaskSeparate (will be remapped) */ "ii\0" "glStencilMaskSeparate\0" "\0" - /* _mesa_function_pool[3603]: ProgramLocalParameter4dARB (will be remapped) */ + /* _mesa_function_pool[3753]: ProgramLocalParameter4dARB (will be remapped) */ "iidddd\0" "glProgramLocalParameter4dARB\0" "\0" - /* _mesa_function_pool[3640]: CompressedTexImage3DARB (will be remapped) */ + /* _mesa_function_pool[3790]: CompressedTexImage3DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexImage3D\0" "glCompressedTexImage3DARB\0" "\0" - /* _mesa_function_pool[3700]: Color3sv (offset 18) */ + /* _mesa_function_pool[3850]: Color3sv (offset 18) */ "p\0" "glColor3sv\0" "\0" - /* _mesa_function_pool[3714]: GetConvolutionParameteriv (offset 358) */ + /* _mesa_function_pool[3864]: GetConvolutionParameteriv (offset 358) */ "iip\0" "glGetConvolutionParameteriv\0" "glGetConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[3778]: VertexAttrib1fARB (will be remapped) */ + /* _mesa_function_pool[3928]: VertexAttrib1fARB (will be remapped) */ "if\0" "glVertexAttrib1f\0" "glVertexAttrib1fARB\0" "\0" - /* _mesa_function_pool[3819]: Vertex2dv (offset 127) */ + /* _mesa_function_pool[3969]: Vertex2dv (offset 127) */ "p\0" "glVertex2dv\0" "\0" - /* _mesa_function_pool[3834]: TestFenceNV (will be remapped) */ + /* _mesa_function_pool[3984]: TestFenceNV (will be remapped) */ "i\0" "glTestFenceNV\0" "\0" - /* _mesa_function_pool[3851]: MultiTexCoord1fvARB (offset 379) */ + /* _mesa_function_pool[4001]: GetVertexAttribIuivEXT (will be remapped) */ + "iip\0" + "glGetVertexAttribIuivEXT\0" + "\0" + /* _mesa_function_pool[4031]: MultiTexCoord1fvARB (offset 379) */ "ip\0" "glMultiTexCoord1fv\0" "glMultiTexCoord1fvARB\0" "\0" - /* _mesa_function_pool[3896]: TexCoord3iv (offset 115) */ + /* _mesa_function_pool[4076]: TexCoord3iv (offset 115) */ "p\0" "glTexCoord3iv\0" "\0" - /* _mesa_function_pool[3913]: ColorFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[4093]: Uniform2uivEXT (will be remapped) */ + "iip\0" + "glUniform2uivEXT\0" + "\0" + /* _mesa_function_pool[4115]: ColorFragmentOp2ATI (will be remapped) */ "iiiiiiiiii\0" "glColorFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[3947]: SecondaryColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[4149]: SecondaryColorPointerListIBM (dynamic) */ "iiipi\0" "glSecondaryColorPointerListIBM\0" "\0" - /* _mesa_function_pool[3985]: GetPixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[4187]: GetPixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[4021]: Color3fv (offset 14) */ + /* _mesa_function_pool[4223]: Color3fv (offset 14) */ "p\0" "glColor3fv\0" "\0" - /* _mesa_function_pool[4035]: VertexAttrib4fNV (will be remapped) */ + /* _mesa_function_pool[4237]: VertexAttrib4fNV (will be remapped) */ "iffff\0" "glVertexAttrib4fNV\0" "\0" - /* _mesa_function_pool[4061]: ReplacementCodeubSUN (dynamic) */ + /* _mesa_function_pool[4263]: ReplacementCodeubSUN (dynamic) */ "i\0" "glReplacementCodeubSUN\0" "\0" - /* _mesa_function_pool[4087]: FinishAsyncSGIX (dynamic) */ + /* _mesa_function_pool[4289]: FinishAsyncSGIX (dynamic) */ "p\0" "glFinishAsyncSGIX\0" "\0" - /* _mesa_function_pool[4108]: GetDebugLogMESA (dynamic) */ + /* _mesa_function_pool[4310]: GetDebugLogMESA (dynamic) */ "iiiipp\0" "glGetDebugLogMESA\0" "\0" - /* _mesa_function_pool[4134]: FogCoorddEXT (will be remapped) */ + /* _mesa_function_pool[4336]: FogCoorddEXT (will be remapped) */ "d\0" "glFogCoordd\0" "glFogCoorddEXT\0" "\0" - /* _mesa_function_pool[4164]: BeginConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[4366]: BeginConditionalRenderNV (will be remapped) */ "ii\0" "glBeginConditionalRenderNV\0" "\0" - /* _mesa_function_pool[4195]: Color4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4397]: Color4ubVertex3fSUN (dynamic) */ "iiiifff\0" "glColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[4226]: FogCoordfEXT (will be remapped) */ + /* _mesa_function_pool[4428]: FogCoordfEXT (will be remapped) */ "f\0" "glFogCoordf\0" "glFogCoordfEXT\0" "\0" - /* _mesa_function_pool[4256]: PointSize (offset 173) */ + /* _mesa_function_pool[4458]: PointSize (offset 173) */ "f\0" "glPointSize\0" "\0" - /* _mesa_function_pool[4271]: TexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4473]: VertexAttribI2uivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI2uivEXT\0" + "\0" + /* _mesa_function_pool[4500]: TexCoord2fVertex3fSUN (dynamic) */ "fffff\0" "glTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[4302]: PopName (offset 200) */ + /* _mesa_function_pool[4531]: PopName (offset 200) */ "\0" "glPopName\0" "\0" - /* _mesa_function_pool[4314]: GlobalAlphaFactoriSUN (dynamic) */ + /* _mesa_function_pool[4543]: GlobalAlphaFactoriSUN (dynamic) */ "i\0" "glGlobalAlphaFactoriSUN\0" "\0" - /* _mesa_function_pool[4341]: VertexAttrib2dNV (will be remapped) */ + /* _mesa_function_pool[4570]: VertexAttrib2dNV (will be remapped) */ "idd\0" "glVertexAttrib2dNV\0" "\0" - /* _mesa_function_pool[4365]: GetProgramInfoLog (will be remapped) */ + /* _mesa_function_pool[4594]: GetProgramInfoLog (will be remapped) */ "iipp\0" "glGetProgramInfoLog\0" "\0" - /* _mesa_function_pool[4391]: VertexAttrib4NbvARB (will be remapped) */ + /* _mesa_function_pool[4620]: VertexAttrib4NbvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nbv\0" "glVertexAttrib4NbvARB\0" "\0" - /* _mesa_function_pool[4436]: GetActiveAttribARB (will be remapped) */ + /* _mesa_function_pool[4665]: GetActiveAttribARB (will be remapped) */ "iiipppp\0" "glGetActiveAttrib\0" "glGetActiveAttribARB\0" "\0" - /* _mesa_function_pool[4484]: Vertex4sv (offset 149) */ + /* _mesa_function_pool[4713]: Vertex4sv (offset 149) */ "p\0" "glVertex4sv\0" "\0" - /* _mesa_function_pool[4499]: VertexAttrib4ubNV (will be remapped) */ + /* _mesa_function_pool[4728]: VertexAttrib4ubNV (will be remapped) */ "iiiii\0" "glVertexAttrib4ubNV\0" "\0" - /* _mesa_function_pool[4526]: TextureRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[4755]: TextureRangeAPPLE (will be remapped) */ "iip\0" "glTextureRangeAPPLE\0" "\0" - /* _mesa_function_pool[4551]: GetTexEnvfv (offset 276) */ + /* _mesa_function_pool[4780]: GetTexEnvfv (offset 276) */ "iip\0" "glGetTexEnvfv\0" "\0" - /* _mesa_function_pool[4570]: BindTransformFeedback (will be remapped) */ + /* _mesa_function_pool[4799]: BindTransformFeedback (will be remapped) */ "ii\0" "glBindTransformFeedback\0" "\0" - /* _mesa_function_pool[4598]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4827]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "ffffffffffff\0" "glTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[4651]: Indexub (offset 315) */ + /* _mesa_function_pool[4880]: Indexub (offset 315) */ "i\0" "glIndexub\0" "\0" - /* _mesa_function_pool[4664]: ColorMaskIndexedEXT (will be remapped) */ - "iiiii\0" - "glColorMaskIndexedEXT\0" - "\0" - /* _mesa_function_pool[4693]: TexEnvi (offset 186) */ + /* _mesa_function_pool[4893]: TexEnvi (offset 186) */ "iii\0" "glTexEnvi\0" "\0" - /* _mesa_function_pool[4708]: GetClipPlane (offset 259) */ + /* _mesa_function_pool[4908]: GetClipPlane (offset 259) */ "ip\0" "glGetClipPlane\0" "\0" - /* _mesa_function_pool[4727]: CombinerParameterfvNV (will be remapped) */ + /* _mesa_function_pool[4927]: CombinerParameterfvNV (will be remapped) */ "ip\0" "glCombinerParameterfvNV\0" "\0" - /* _mesa_function_pool[4755]: VertexAttribs3dvNV (will be remapped) */ + /* _mesa_function_pool[4955]: VertexAttribs3dvNV (will be remapped) */ "iip\0" "glVertexAttribs3dvNV\0" "\0" - /* _mesa_function_pool[4781]: VertexAttribs4fvNV (will be remapped) */ + /* _mesa_function_pool[4981]: VertexAttribI2uiEXT (will be remapped) */ + "iii\0" + "glVertexAttribI2uiEXT\0" + "\0" + /* _mesa_function_pool[5008]: VertexAttribs4fvNV (will be remapped) */ "iip\0" "glVertexAttribs4fvNV\0" "\0" - /* _mesa_function_pool[4807]: VertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[5034]: VertexArrayRangeNV (will be remapped) */ "ip\0" "glVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[4832]: FragmentLightiSGIX (dynamic) */ + /* _mesa_function_pool[5059]: FragmentLightiSGIX (dynamic) */ "iii\0" "glFragmentLightiSGIX\0" "\0" - /* _mesa_function_pool[4858]: PolygonOffsetEXT (will be remapped) */ + /* _mesa_function_pool[5085]: PolygonOffsetEXT (will be remapped) */ "ff\0" "glPolygonOffsetEXT\0" "\0" - /* _mesa_function_pool[4881]: PollAsyncSGIX (dynamic) */ + /* _mesa_function_pool[5108]: VertexAttribI4uivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI4uivEXT\0" + "\0" + /* _mesa_function_pool[5135]: PollAsyncSGIX (dynamic) */ "p\0" "glPollAsyncSGIX\0" "\0" - /* _mesa_function_pool[4900]: DeleteFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[5154]: DeleteFragmentShaderATI (will be remapped) */ "i\0" "glDeleteFragmentShaderATI\0" "\0" - /* _mesa_function_pool[4929]: Scaled (offset 301) */ + /* _mesa_function_pool[5183]: Scaled (offset 301) */ "ddd\0" "glScaled\0" "\0" - /* _mesa_function_pool[4943]: ResumeTransformFeedback (will be remapped) */ + /* _mesa_function_pool[5197]: ResumeTransformFeedback (will be remapped) */ "\0" "glResumeTransformFeedback\0" "\0" - /* _mesa_function_pool[4971]: Scalef (offset 302) */ + /* _mesa_function_pool[5225]: Scalef (offset 302) */ "fff\0" "glScalef\0" "\0" - /* _mesa_function_pool[4985]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[5239]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[5023]: MultTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[5277]: MultTransposeMatrixdARB (will be remapped) */ "p\0" "glMultTransposeMatrixd\0" "glMultTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[5075]: ObjectUnpurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[5329]: ColorMaskIndexedEXT (will be remapped) */ + "iiiii\0" + "glColorMaskIndexedEXT\0" + "\0" + /* _mesa_function_pool[5358]: ObjectUnpurgeableAPPLE (will be remapped) */ "iii\0" "glObjectUnpurgeableAPPLE\0" "\0" - /* _mesa_function_pool[5105]: AlphaFunc (offset 240) */ + /* _mesa_function_pool[5388]: AlphaFunc (offset 240) */ "if\0" "glAlphaFunc\0" "\0" - /* _mesa_function_pool[5121]: WindowPos2svMESA (will be remapped) */ + /* _mesa_function_pool[5404]: WindowPos2svMESA (will be remapped) */ "p\0" "glWindowPos2sv\0" "glWindowPos2svARB\0" "glWindowPos2svMESA\0" "\0" - /* _mesa_function_pool[5176]: EdgeFlag (offset 41) */ + /* _mesa_function_pool[5459]: EdgeFlag (offset 41) */ "i\0" "glEdgeFlag\0" "\0" - /* _mesa_function_pool[5190]: TexCoord2iv (offset 107) */ + /* _mesa_function_pool[5473]: TexCoord2iv (offset 107) */ "p\0" "glTexCoord2iv\0" "\0" - /* _mesa_function_pool[5207]: CompressedTexImage1DARB (will be remapped) */ + /* _mesa_function_pool[5490]: CompressedTexImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexImage1D\0" "glCompressedTexImage1DARB\0" "\0" - /* _mesa_function_pool[5265]: Rotated (offset 299) */ + /* _mesa_function_pool[5548]: Rotated (offset 299) */ "dddd\0" "glRotated\0" "\0" - /* _mesa_function_pool[5281]: GetTexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[5564]: GetTexParameterIuivEXT (will be remapped) */ "iip\0" "glGetTexParameterIuivEXT\0" "\0" - /* _mesa_function_pool[5311]: VertexAttrib2sNV (will be remapped) */ + /* _mesa_function_pool[5594]: VertexAttrib2sNV (will be remapped) */ "iii\0" "glVertexAttrib2sNV\0" "\0" - /* _mesa_function_pool[5335]: ReadPixels (offset 256) */ + /* _mesa_function_pool[5618]: ReadPixels (offset 256) */ "iiiiiip\0" "glReadPixels\0" "\0" - /* _mesa_function_pool[5357]: EdgeFlagv (offset 42) */ + /* _mesa_function_pool[5640]: EdgeFlagv (offset 42) */ "p\0" "glEdgeFlagv\0" "\0" - /* _mesa_function_pool[5372]: NormalPointerListIBM (dynamic) */ + /* _mesa_function_pool[5655]: NormalPointerListIBM (dynamic) */ "iipi\0" "glNormalPointerListIBM\0" "\0" - /* _mesa_function_pool[5401]: IndexPointerEXT (will be remapped) */ + /* _mesa_function_pool[5684]: IndexPointerEXT (will be remapped) */ "iiip\0" "glIndexPointerEXT\0" "\0" - /* _mesa_function_pool[5425]: Color4iv (offset 32) */ + /* _mesa_function_pool[5708]: Color4iv (offset 32) */ "p\0" "glColor4iv\0" "\0" - /* _mesa_function_pool[5439]: TexParameterf (offset 178) */ + /* _mesa_function_pool[5722]: TexParameterf (offset 178) */ "iif\0" "glTexParameterf\0" "\0" - /* _mesa_function_pool[5460]: TexParameteri (offset 180) */ + /* _mesa_function_pool[5743]: TexParameteri (offset 180) */ "iii\0" "glTexParameteri\0" "\0" - /* _mesa_function_pool[5481]: NormalPointerEXT (will be remapped) */ + /* _mesa_function_pool[5764]: NormalPointerEXT (will be remapped) */ "iiip\0" "glNormalPointerEXT\0" "\0" - /* _mesa_function_pool[5506]: MultiTexCoord3dARB (offset 392) */ + /* _mesa_function_pool[5789]: MultiTexCoord3dARB (offset 392) */ "iddd\0" "glMultiTexCoord3d\0" "glMultiTexCoord3dARB\0" "\0" - /* _mesa_function_pool[5551]: MultiTexCoord2iARB (offset 388) */ + /* _mesa_function_pool[5834]: MultiTexCoord2iARB (offset 388) */ "iii\0" "glMultiTexCoord2i\0" "glMultiTexCoord2iARB\0" "\0" - /* _mesa_function_pool[5595]: DrawPixels (offset 257) */ + /* _mesa_function_pool[5878]: DrawPixels (offset 257) */ "iiiip\0" "glDrawPixels\0" "\0" - /* _mesa_function_pool[5615]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5898]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ "iffffffff\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5675]: MultiTexCoord2svARB (offset 391) */ + /* _mesa_function_pool[5958]: MultiTexCoord2svARB (offset 391) */ "ip\0" "glMultiTexCoord2sv\0" "glMultiTexCoord2svARB\0" "\0" - /* _mesa_function_pool[5720]: ReplacementCodeubvSUN (dynamic) */ + /* _mesa_function_pool[6003]: ReplacementCodeubvSUN (dynamic) */ "p\0" "glReplacementCodeubvSUN\0" "\0" - /* _mesa_function_pool[5747]: Uniform3iARB (will be remapped) */ + /* _mesa_function_pool[6030]: Uniform3iARB (will be remapped) */ "iiii\0" "glUniform3i\0" "glUniform3iARB\0" "\0" - /* _mesa_function_pool[5780]: DrawTransformFeedback (will be remapped) */ + /* _mesa_function_pool[6063]: DrawTransformFeedback (will be remapped) */ "ii\0" "glDrawTransformFeedback\0" "\0" - /* _mesa_function_pool[5808]: GetFragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[6091]: GetFragmentMaterialfvSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[5841]: GetShaderInfoLog (will be remapped) */ + /* _mesa_function_pool[6124]: GetShaderInfoLog (will be remapped) */ "iipp\0" "glGetShaderInfoLog\0" "\0" - /* _mesa_function_pool[5866]: WeightivARB (dynamic) */ + /* _mesa_function_pool[6149]: WeightivARB (dynamic) */ "ip\0" "glWeightivARB\0" "\0" - /* _mesa_function_pool[5884]: PollInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[6167]: PollInstrumentsSGIX (dynamic) */ "p\0" "glPollInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[5909]: GlobalAlphaFactordSUN (dynamic) */ + /* _mesa_function_pool[6192]: GlobalAlphaFactordSUN (dynamic) */ "d\0" "glGlobalAlphaFactordSUN\0" "\0" - /* _mesa_function_pool[5936]: GetFinalCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[6219]: GetFinalCombinerInputParameterfvNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[5978]: GenerateMipmapEXT (will be remapped) */ + /* _mesa_function_pool[6261]: GenerateMipmapEXT (will be remapped) */ "i\0" "glGenerateMipmap\0" "glGenerateMipmapEXT\0" "\0" - /* _mesa_function_pool[6018]: GenLists (offset 5) */ + /* _mesa_function_pool[6301]: GenLists (offset 5) */ "i\0" "glGenLists\0" "\0" - /* _mesa_function_pool[6032]: SetFragmentShaderConstantATI (will be remapped) */ + /* _mesa_function_pool[6315]: SetFragmentShaderConstantATI (will be remapped) */ "ip\0" "glSetFragmentShaderConstantATI\0" "\0" - /* _mesa_function_pool[6067]: GetMapAttribParameterivNV (dynamic) */ + /* _mesa_function_pool[6350]: GetMapAttribParameterivNV (dynamic) */ "iiip\0" "glGetMapAttribParameterivNV\0" "\0" - /* _mesa_function_pool[6101]: CreateShaderObjectARB (will be remapped) */ + /* _mesa_function_pool[6384]: CreateShaderObjectARB (will be remapped) */ "i\0" "glCreateShaderObjectARB\0" "\0" - /* _mesa_function_pool[6128]: GetSharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[6411]: GetSharpenTexFuncSGIS (dynamic) */ "ip\0" "glGetSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[6156]: BufferDataARB (will be remapped) */ + /* _mesa_function_pool[6439]: BufferDataARB (will be remapped) */ "iipi\0" "glBufferData\0" "glBufferDataARB\0" "\0" - /* _mesa_function_pool[6191]: FlushVertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[6474]: FlushVertexArrayRangeNV (will be remapped) */ "\0" "glFlushVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[6219]: MapGrid2d (offset 226) */ + /* _mesa_function_pool[6502]: MapGrid2d (offset 226) */ "iddidd\0" "glMapGrid2d\0" "\0" - /* _mesa_function_pool[6239]: MapGrid2f (offset 227) */ + /* _mesa_function_pool[6522]: MapGrid2f (offset 227) */ "iffiff\0" "glMapGrid2f\0" "\0" - /* _mesa_function_pool[6259]: SampleMapATI (will be remapped) */ + /* _mesa_function_pool[6542]: SampleMapATI (will be remapped) */ "iii\0" "glSampleMapATI\0" "\0" - /* _mesa_function_pool[6279]: VertexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6562]: VertexPointerEXT (will be remapped) */ "iiiip\0" "glVertexPointerEXT\0" "\0" - /* _mesa_function_pool[6305]: GetTexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[6588]: GetTexFilterFuncSGIS (dynamic) */ "iip\0" "glGetTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[6333]: Scissor (offset 176) */ + /* _mesa_function_pool[6616]: Scissor (offset 176) */ "iiii\0" "glScissor\0" "\0" - /* _mesa_function_pool[6349]: Fogf (offset 153) */ + /* _mesa_function_pool[6632]: Fogf (offset 153) */ "if\0" "glFogf\0" "\0" - /* _mesa_function_pool[6360]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[6643]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[6405]: TexSubImage1D (offset 332) */ + /* _mesa_function_pool[6688]: TexSubImage1D (offset 332) */ "iiiiiip\0" "glTexSubImage1D\0" "glTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[6449]: VertexAttrib1sARB (will be remapped) */ + /* _mesa_function_pool[6732]: VertexAttrib1sARB (will be remapped) */ "ii\0" "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" "\0" - /* _mesa_function_pool[6490]: FenceSync (will be remapped) */ + /* _mesa_function_pool[6773]: FenceSync (will be remapped) */ "ii\0" "glFenceSync\0" "\0" - /* _mesa_function_pool[6506]: Color4usv (offset 40) */ + /* _mesa_function_pool[6789]: Color4usv (offset 40) */ "p\0" "glColor4usv\0" "\0" - /* _mesa_function_pool[6521]: Fogi (offset 155) */ + /* _mesa_function_pool[6804]: Fogi (offset 155) */ "ii\0" "glFogi\0" "\0" - /* _mesa_function_pool[6532]: DepthRange (offset 288) */ + /* _mesa_function_pool[6815]: DepthRange (offset 288) */ "dd\0" "glDepthRange\0" "\0" - /* _mesa_function_pool[6549]: RasterPos3iv (offset 75) */ + /* _mesa_function_pool[6832]: RasterPos3iv (offset 75) */ "p\0" "glRasterPos3iv\0" "\0" - /* _mesa_function_pool[6567]: FinalCombinerInputNV (will be remapped) */ + /* _mesa_function_pool[6850]: FinalCombinerInputNV (will be remapped) */ "iiii\0" "glFinalCombinerInputNV\0" "\0" - /* _mesa_function_pool[6596]: TexCoord2i (offset 106) */ + /* _mesa_function_pool[6879]: TexCoord2i (offset 106) */ "ii\0" "glTexCoord2i\0" "\0" - /* _mesa_function_pool[6613]: PixelMapfv (offset 251) */ + /* _mesa_function_pool[6896]: PixelMapfv (offset 251) */ "iip\0" "glPixelMapfv\0" "\0" - /* _mesa_function_pool[6631]: Color4ui (offset 37) */ + /* _mesa_function_pool[6914]: Color4ui (offset 37) */ "iiii\0" "glColor4ui\0" "\0" - /* _mesa_function_pool[6648]: RasterPos3s (offset 76) */ + /* _mesa_function_pool[6931]: RasterPos3s (offset 76) */ "iii\0" "glRasterPos3s\0" "\0" - /* _mesa_function_pool[6667]: Color3usv (offset 24) */ + /* _mesa_function_pool[6950]: Color3usv (offset 24) */ "p\0" "glColor3usv\0" "\0" - /* _mesa_function_pool[6682]: FlushRasterSGIX (dynamic) */ + /* _mesa_function_pool[6965]: FlushRasterSGIX (dynamic) */ "\0" "glFlushRasterSGIX\0" "\0" - /* _mesa_function_pool[6702]: TexCoord2f (offset 104) */ + /* _mesa_function_pool[6985]: TexCoord2f (offset 104) */ "ff\0" "glTexCoord2f\0" "\0" - /* _mesa_function_pool[6719]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[7002]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ "ifffff\0" "glReplacementCodeuiTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[6768]: TexCoord2d (offset 102) */ + /* _mesa_function_pool[7051]: TexCoord2d (offset 102) */ "dd\0" "glTexCoord2d\0" "\0" - /* _mesa_function_pool[6785]: RasterPos3d (offset 70) */ + /* _mesa_function_pool[7068]: RasterPos3d (offset 70) */ "ddd\0" "glRasterPos3d\0" "\0" - /* _mesa_function_pool[6804]: RasterPos3f (offset 72) */ + /* _mesa_function_pool[7087]: RasterPos3f (offset 72) */ "fff\0" "glRasterPos3f\0" "\0" - /* _mesa_function_pool[6823]: Uniform1fARB (will be remapped) */ + /* _mesa_function_pool[7106]: Uniform1fARB (will be remapped) */ "if\0" "glUniform1f\0" "glUniform1fARB\0" "\0" - /* _mesa_function_pool[6854]: AreTexturesResident (offset 322) */ + /* _mesa_function_pool[7137]: AreTexturesResident (offset 322) */ "ipp\0" "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" "\0" - /* _mesa_function_pool[6906]: TexCoord2s (offset 108) */ + /* _mesa_function_pool[7189]: TexCoord2s (offset 108) */ "ii\0" "glTexCoord2s\0" "\0" - /* _mesa_function_pool[6923]: StencilOpSeparate (will be remapped) */ + /* _mesa_function_pool[7206]: StencilOpSeparate (will be remapped) */ "iiii\0" "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" "\0" - /* _mesa_function_pool[6972]: ColorTableParameteriv (offset 341) */ + /* _mesa_function_pool[7255]: ColorTableParameteriv (offset 341) */ "iip\0" "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" "\0" - /* _mesa_function_pool[7028]: FogCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[7311]: FogCoordPointerListIBM (dynamic) */ "iipi\0" "glFogCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[7059]: WindowPos3dMESA (will be remapped) */ + /* _mesa_function_pool[7342]: WindowPos3dMESA (will be remapped) */ "ddd\0" "glWindowPos3d\0" "glWindowPos3dARB\0" "glWindowPos3dMESA\0" "\0" - /* _mesa_function_pool[7113]: Color4us (offset 39) */ + /* _mesa_function_pool[7396]: Color4us (offset 39) */ "iiii\0" "glColor4us\0" "\0" - /* _mesa_function_pool[7130]: PointParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[7413]: PointParameterfvEXT (will be remapped) */ "ip\0" "glPointParameterfv\0" "glPointParameterfvARB\0" "glPointParameterfvEXT\0" "glPointParameterfvSGIS\0" "\0" - /* _mesa_function_pool[7220]: Color3bv (offset 10) */ + /* _mesa_function_pool[7503]: Color3bv (offset 10) */ "p\0" "glColor3bv\0" "\0" - /* _mesa_function_pool[7234]: WindowPos2fvMESA (will be remapped) */ + /* _mesa_function_pool[7517]: WindowPos2fvMESA (will be remapped) */ "p\0" "glWindowPos2fv\0" "glWindowPos2fvARB\0" "glWindowPos2fvMESA\0" "\0" - /* _mesa_function_pool[7289]: SecondaryColor3bvEXT (will be remapped) */ + /* _mesa_function_pool[7572]: SecondaryColor3bvEXT (will be remapped) */ "p\0" "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" "\0" - /* _mesa_function_pool[7335]: VertexPointerListIBM (dynamic) */ + /* _mesa_function_pool[7618]: VertexPointerListIBM (dynamic) */ "iiipi\0" "glVertexPointerListIBM\0" "\0" - /* _mesa_function_pool[7365]: GetProgramLocalParameterfvARB (will be remapped) */ + /* _mesa_function_pool[7648]: GetProgramLocalParameterfvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterfvARB\0" "\0" - /* _mesa_function_pool[7402]: FragmentMaterialfSGIX (dynamic) */ + /* _mesa_function_pool[7685]: FragmentMaterialfSGIX (dynamic) */ "iif\0" "glFragmentMaterialfSGIX\0" "\0" - /* _mesa_function_pool[7431]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[7714]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[7473]: RenderbufferStorageEXT (will be remapped) */ + /* _mesa_function_pool[7756]: RenderbufferStorageEXT (will be remapped) */ "iiii\0" "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" "\0" - /* _mesa_function_pool[7526]: IsFenceNV (will be remapped) */ + /* _mesa_function_pool[7809]: IsFenceNV (will be remapped) */ "i\0" "glIsFenceNV\0" "\0" - /* _mesa_function_pool[7541]: AttachObjectARB (will be remapped) */ + /* _mesa_function_pool[7824]: AttachObjectARB (will be remapped) */ "ii\0" "glAttachObjectARB\0" "\0" - /* _mesa_function_pool[7563]: GetFragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[7846]: GetFragmentLightivSGIX (dynamic) */ "iip\0" "glGetFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[7593]: UniformMatrix2fvARB (will be remapped) */ + /* _mesa_function_pool[7876]: UniformMatrix2fvARB (will be remapped) */ "iiip\0" "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" "\0" - /* _mesa_function_pool[7640]: MultiTexCoord2fARB (offset 386) */ + /* _mesa_function_pool[7923]: MultiTexCoord2fARB (offset 386) */ "iff\0" "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" "\0" - /* _mesa_function_pool[7684]: ColorTable (offset 339) */ + /* _mesa_function_pool[7967]: ColorTable (offset 339) */ "iiiiip\0" "glColorTable\0" "glColorTableSGI\0" "glColorTableEXT\0" "\0" - /* _mesa_function_pool[7737]: IndexPointer (offset 314) */ + /* _mesa_function_pool[8020]: IndexPointer (offset 314) */ "iip\0" "glIndexPointer\0" "\0" - /* _mesa_function_pool[7757]: Accum (offset 213) */ + /* _mesa_function_pool[8040]: Accum (offset 213) */ "if\0" "glAccum\0" "\0" - /* _mesa_function_pool[7769]: GetTexImage (offset 281) */ + /* _mesa_function_pool[8052]: GetTexImage (offset 281) */ "iiiip\0" "glGetTexImage\0" "\0" - /* _mesa_function_pool[7790]: MapControlPointsNV (dynamic) */ + /* _mesa_function_pool[8073]: MapControlPointsNV (dynamic) */ "iiiiiiiip\0" "glMapControlPointsNV\0" "\0" - /* _mesa_function_pool[7822]: ConvolutionFilter2D (offset 349) */ + /* _mesa_function_pool[8105]: ConvolutionFilter2D (offset 349) */ "iiiiiip\0" "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[7878]: Finish (offset 216) */ + /* _mesa_function_pool[8161]: Finish (offset 216) */ "\0" "glFinish\0" "\0" - /* _mesa_function_pool[7889]: MapParameterfvNV (dynamic) */ + /* _mesa_function_pool[8172]: MapParameterfvNV (dynamic) */ "iip\0" "glMapParameterfvNV\0" "\0" - /* _mesa_function_pool[7913]: ClearStencil (offset 207) */ + /* _mesa_function_pool[8196]: ClearStencil (offset 207) */ "i\0" "glClearStencil\0" "\0" - /* _mesa_function_pool[7931]: VertexAttrib3dvARB (will be remapped) */ + /* _mesa_function_pool[8214]: VertexAttrib3dvARB (will be remapped) */ "ip\0" "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" "\0" - /* _mesa_function_pool[7974]: HintPGI (dynamic) */ + /* _mesa_function_pool[8257]: Uniform4uivEXT (will be remapped) */ + "iip\0" + "glUniform4uivEXT\0" + "\0" + /* _mesa_function_pool[8279]: HintPGI (dynamic) */ "ii\0" "glHintPGI\0" "\0" - /* _mesa_function_pool[7988]: ConvolutionParameteriv (offset 353) */ + /* _mesa_function_pool[8293]: ConvolutionParameteriv (offset 353) */ "iip\0" "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[8046]: Color4s (offset 33) */ + /* _mesa_function_pool[8351]: Color4s (offset 33) */ "iiii\0" "glColor4s\0" "\0" - /* _mesa_function_pool[8062]: InterleavedArrays (offset 317) */ + /* _mesa_function_pool[8367]: InterleavedArrays (offset 317) */ "iip\0" "glInterleavedArrays\0" "\0" - /* _mesa_function_pool[8087]: RasterPos2fv (offset 65) */ + /* _mesa_function_pool[8392]: RasterPos2fv (offset 65) */ "p\0" "glRasterPos2fv\0" "\0" - /* _mesa_function_pool[8105]: TexCoord1fv (offset 97) */ + /* _mesa_function_pool[8410]: TexCoord1fv (offset 97) */ "p\0" "glTexCoord1fv\0" "\0" - /* _mesa_function_pool[8122]: Vertex2d (offset 126) */ + /* _mesa_function_pool[8427]: Vertex2d (offset 126) */ "dd\0" "glVertex2d\0" "\0" - /* _mesa_function_pool[8137]: CullParameterdvEXT (dynamic) */ + /* _mesa_function_pool[8442]: CullParameterdvEXT (dynamic) */ "ip\0" "glCullParameterdvEXT\0" "\0" - /* _mesa_function_pool[8162]: ProgramNamedParameter4fNV (will be remapped) */ + /* _mesa_function_pool[8467]: ProgramNamedParameter4fNV (will be remapped) */ "iipffff\0" "glProgramNamedParameter4fNV\0" "\0" - /* _mesa_function_pool[8199]: Color3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8504]: Color3fVertex3fSUN (dynamic) */ "ffffff\0" "glColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[8228]: ProgramEnvParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[8533]: ProgramEnvParameter4fvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" "\0" - /* _mesa_function_pool[8285]: Color4i (offset 31) */ + /* _mesa_function_pool[8590]: Color4i (offset 31) */ "iiii\0" "glColor4i\0" "\0" - /* _mesa_function_pool[8301]: Color4f (offset 29) */ + /* _mesa_function_pool[8606]: Color4f (offset 29) */ "ffff\0" "glColor4f\0" "\0" - /* _mesa_function_pool[8317]: RasterPos4fv (offset 81) */ + /* _mesa_function_pool[8622]: RasterPos4fv (offset 81) */ "p\0" "glRasterPos4fv\0" "\0" - /* _mesa_function_pool[8335]: Color4d (offset 27) */ + /* _mesa_function_pool[8640]: Color4d (offset 27) */ "dddd\0" "glColor4d\0" "\0" - /* _mesa_function_pool[8351]: ClearIndex (offset 205) */ + /* _mesa_function_pool[8656]: ClearIndex (offset 205) */ "f\0" "glClearIndex\0" "\0" - /* _mesa_function_pool[8367]: Color4b (offset 25) */ + /* _mesa_function_pool[8672]: Color4b (offset 25) */ "iiii\0" "glColor4b\0" "\0" - /* _mesa_function_pool[8383]: LoadMatrixd (offset 292) */ + /* _mesa_function_pool[8688]: LoadMatrixd (offset 292) */ "p\0" "glLoadMatrixd\0" "\0" - /* _mesa_function_pool[8400]: FragmentLightModeliSGIX (dynamic) */ + /* _mesa_function_pool[8705]: FragmentLightModeliSGIX (dynamic) */ "ii\0" "glFragmentLightModeliSGIX\0" "\0" - /* _mesa_function_pool[8430]: RasterPos2dv (offset 63) */ + /* _mesa_function_pool[8735]: RasterPos2dv (offset 63) */ "p\0" "glRasterPos2dv\0" "\0" - /* _mesa_function_pool[8448]: ConvolutionParameterfv (offset 351) */ + /* _mesa_function_pool[8753]: ConvolutionParameterfv (offset 351) */ "iip\0" "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[8506]: TbufferMask3DFX (dynamic) */ + /* _mesa_function_pool[8811]: TbufferMask3DFX (dynamic) */ "i\0" "glTbufferMask3DFX\0" "\0" - /* _mesa_function_pool[8527]: GetTexGendv (offset 278) */ + /* _mesa_function_pool[8832]: GetTexGendv (offset 278) */ "iip\0" "glGetTexGendv\0" "\0" - /* _mesa_function_pool[8546]: GetVertexAttribfvNV (will be remapped) */ + /* _mesa_function_pool[8851]: GetVertexAttribfvNV (will be remapped) */ "iip\0" "glGetVertexAttribfvNV\0" "\0" - /* _mesa_function_pool[8573]: BeginTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[8878]: BeginTransformFeedbackEXT (will be remapped) */ "i\0" "glBeginTransformFeedbackEXT\0" "glBeginTransformFeedback\0" "\0" - /* _mesa_function_pool[8629]: LoadProgramNV (will be remapped) */ + /* _mesa_function_pool[8934]: LoadProgramNV (will be remapped) */ "iiip\0" "glLoadProgramNV\0" "\0" - /* _mesa_function_pool[8651]: WaitSync (will be remapped) */ + /* _mesa_function_pool[8956]: WaitSync (will be remapped) */ "iii\0" "glWaitSync\0" "\0" - /* _mesa_function_pool[8667]: EndList (offset 1) */ + /* _mesa_function_pool[8972]: EndList (offset 1) */ "\0" "glEndList\0" "\0" - /* _mesa_function_pool[8679]: VertexAttrib4fvNV (will be remapped) */ + /* _mesa_function_pool[8984]: VertexAttrib4fvNV (will be remapped) */ "ip\0" "glVertexAttrib4fvNV\0" "\0" - /* _mesa_function_pool[8703]: GetAttachedObjectsARB (will be remapped) */ + /* _mesa_function_pool[9008]: GetAttachedObjectsARB (will be remapped) */ "iipp\0" "glGetAttachedObjectsARB\0" "\0" - /* _mesa_function_pool[8733]: Uniform3fvARB (will be remapped) */ + /* _mesa_function_pool[9038]: Uniform3fvARB (will be remapped) */ "iip\0" "glUniform3fv\0" "glUniform3fvARB\0" "\0" - /* _mesa_function_pool[8767]: EvalCoord1fv (offset 231) */ + /* _mesa_function_pool[9072]: EvalCoord1fv (offset 231) */ "p\0" "glEvalCoord1fv\0" "\0" - /* _mesa_function_pool[8785]: DrawRangeElements (offset 338) */ + /* _mesa_function_pool[9090]: DrawRangeElements (offset 338) */ "iiiiip\0" "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" "\0" - /* _mesa_function_pool[8836]: EvalMesh2 (offset 238) */ + /* _mesa_function_pool[9141]: EvalMesh2 (offset 238) */ "iiiii\0" "glEvalMesh2\0" "\0" - /* _mesa_function_pool[8855]: Vertex4fv (offset 145) */ + /* _mesa_function_pool[9160]: Vertex4fv (offset 145) */ "p\0" "glVertex4fv\0" "\0" - /* _mesa_function_pool[8870]: GenTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[9175]: GenTransformFeedbacks (will be remapped) */ "ip\0" "glGenTransformFeedbacks\0" "\0" - /* _mesa_function_pool[8898]: SpriteParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[9203]: SpriteParameterfvSGIX (dynamic) */ "ip\0" "glSpriteParameterfvSGIX\0" "\0" - /* _mesa_function_pool[8926]: CheckFramebufferStatusEXT (will be remapped) */ + /* _mesa_function_pool[9231]: CheckFramebufferStatusEXT (will be remapped) */ "i\0" "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" "\0" - /* _mesa_function_pool[8982]: GlobalAlphaFactoruiSUN (dynamic) */ + /* _mesa_function_pool[9287]: GlobalAlphaFactoruiSUN (dynamic) */ "i\0" "glGlobalAlphaFactoruiSUN\0" "\0" - /* _mesa_function_pool[9010]: GetHandleARB (will be remapped) */ + /* _mesa_function_pool[9315]: GetHandleARB (will be remapped) */ "i\0" "glGetHandleARB\0" "\0" - /* _mesa_function_pool[9028]: GetVertexAttribivARB (will be remapped) */ + /* _mesa_function_pool[9333]: GetVertexAttribivARB (will be remapped) */ "iip\0" "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" "\0" - /* _mesa_function_pool[9076]: GetCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[9381]: GetCombinerInputParameterfvNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[9115]: GetTexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[9420]: GetTexParameterIivEXT (will be remapped) */ "iip\0" "glGetTexParameterIivEXT\0" "\0" - /* _mesa_function_pool[9144]: CreateProgram (will be remapped) */ + /* _mesa_function_pool[9449]: CreateProgram (will be remapped) */ "\0" "glCreateProgram\0" "\0" - /* _mesa_function_pool[9162]: LoadTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[9467]: LoadTransposeMatrixdARB (will be remapped) */ "p\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[9214]: GetMinmax (offset 364) */ + /* _mesa_function_pool[9519]: GetMinmax (offset 364) */ "iiiip\0" "glGetMinmax\0" "glGetMinmaxEXT\0" "\0" - /* _mesa_function_pool[9248]: StencilFuncSeparate (will be remapped) */ + /* _mesa_function_pool[9553]: StencilFuncSeparate (will be remapped) */ "iiii\0" "glStencilFuncSeparate\0" "\0" - /* _mesa_function_pool[9276]: SecondaryColor3sEXT (will be remapped) */ + /* _mesa_function_pool[9581]: SecondaryColor3sEXT (will be remapped) */ "iii\0" "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" "\0" - /* _mesa_function_pool[9322]: Color3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[9627]: Color3fVertex3fvSUN (dynamic) */ "pp\0" "glColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[9348]: Normal3fv (offset 57) */ + /* _mesa_function_pool[9653]: Normal3fv (offset 57) */ "p\0" "glNormal3fv\0" "\0" - /* _mesa_function_pool[9363]: GlobalAlphaFactorbSUN (dynamic) */ + /* _mesa_function_pool[9668]: GlobalAlphaFactorbSUN (dynamic) */ "i\0" "glGlobalAlphaFactorbSUN\0" "\0" - /* _mesa_function_pool[9390]: Color3us (offset 23) */ + /* _mesa_function_pool[9695]: Color3us (offset 23) */ "iii\0" "glColor3us\0" "\0" - /* _mesa_function_pool[9406]: ImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[9711]: ImageTransformParameterfvHP (dynamic) */ "iip\0" "glImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[9441]: VertexAttrib4ivARB (will be remapped) */ + /* _mesa_function_pool[9746]: VertexAttrib4ivARB (will be remapped) */ "ip\0" "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" "\0" - /* _mesa_function_pool[9484]: End (offset 43) */ + /* _mesa_function_pool[9789]: End (offset 43) */ "\0" "glEnd\0" "\0" - /* _mesa_function_pool[9492]: VertexAttrib3fNV (will be remapped) */ + /* _mesa_function_pool[9797]: VertexAttrib3fNV (will be remapped) */ "ifff\0" "glVertexAttrib3fNV\0" "\0" - /* _mesa_function_pool[9517]: VertexAttribs2dvNV (will be remapped) */ + /* _mesa_function_pool[9822]: VertexAttribs2dvNV (will be remapped) */ "iip\0" "glVertexAttribs2dvNV\0" "\0" - /* _mesa_function_pool[9543]: GetQueryObjectui64vEXT (will be remapped) */ + /* _mesa_function_pool[9848]: GetQueryObjectui64vEXT (will be remapped) */ "iip\0" "glGetQueryObjectui64vEXT\0" "\0" - /* _mesa_function_pool[9573]: MultiTexCoord3fvARB (offset 395) */ + /* _mesa_function_pool[9878]: MultiTexCoord3fvARB (offset 395) */ "ip\0" "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" "\0" - /* _mesa_function_pool[9618]: SecondaryColor3dEXT (will be remapped) */ + /* _mesa_function_pool[9923]: SecondaryColor3dEXT (will be remapped) */ "ddd\0" "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" "\0" - /* _mesa_function_pool[9664]: Color3ub (offset 19) */ + /* _mesa_function_pool[9969]: Color3ub (offset 19) */ "iii\0" "glColor3ub\0" "\0" - /* _mesa_function_pool[9680]: GetProgramParameterfvNV (will be remapped) */ + /* _mesa_function_pool[9985]: GetProgramParameterfvNV (will be remapped) */ "iiip\0" "glGetProgramParameterfvNV\0" "\0" - /* _mesa_function_pool[9712]: TangentPointerEXT (dynamic) */ + /* _mesa_function_pool[10017]: TangentPointerEXT (dynamic) */ "iip\0" "glTangentPointerEXT\0" "\0" - /* _mesa_function_pool[9737]: Color4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10042]: Color4fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[9772]: GetInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[10077]: GetInstrumentsSGIX (dynamic) */ "\0" "glGetInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[9795]: Color3ui (offset 21) */ + /* _mesa_function_pool[10100]: GetUniformuivEXT (will be remapped) */ + "iip\0" + "glGetUniformuivEXT\0" + "\0" + /* _mesa_function_pool[10124]: Color3ui (offset 21) */ "iii\0" "glColor3ui\0" "\0" - /* _mesa_function_pool[9811]: EvalMapsNV (dynamic) */ + /* _mesa_function_pool[10140]: EvalMapsNV (dynamic) */ "ii\0" "glEvalMapsNV\0" "\0" - /* _mesa_function_pool[9828]: TexSubImage2D (offset 333) */ + /* _mesa_function_pool[10157]: TexSubImage2D (offset 333) */ "iiiiiiiip\0" "glTexSubImage2D\0" "glTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[9874]: FragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[10203]: FragmentLightivSGIX (dynamic) */ "iip\0" "glFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[9901]: GetTexParameterPointervAPPLE (will be remapped) */ + /* _mesa_function_pool[10230]: GetTexParameterPointervAPPLE (will be remapped) */ "iip\0" "glGetTexParameterPointervAPPLE\0" "\0" - /* _mesa_function_pool[9937]: TexGenfv (offset 191) */ + /* _mesa_function_pool[10266]: TexGenfv (offset 191) */ "iip\0" "glTexGenfv\0" "\0" - /* _mesa_function_pool[9953]: GetTransformFeedbackVaryingEXT (will be remapped) */ + /* _mesa_function_pool[10282]: GetTransformFeedbackVaryingEXT (will be remapped) */ "iiipppp\0" "glGetTransformFeedbackVaryingEXT\0" "glGetTransformFeedbackVarying\0" "\0" - /* _mesa_function_pool[10025]: VertexAttrib4bvARB (will be remapped) */ + /* _mesa_function_pool[10354]: VertexAttrib4bvARB (will be remapped) */ "ip\0" "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" "\0" - /* _mesa_function_pool[10068]: AlphaFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[10397]: AlphaFragmentOp2ATI (will be remapped) */ "iiiiiiiii\0" "glAlphaFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[10101]: GetIntegerIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[10430]: GetIntegerIndexedvEXT (will be remapped) */ "iip\0" "glGetIntegerIndexedvEXT\0" "\0" - /* _mesa_function_pool[10130]: MultiTexCoord4sARB (offset 406) */ + /* _mesa_function_pool[10459]: MultiTexCoord4sARB (offset 406) */ "iiiii\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" "\0" - /* _mesa_function_pool[10176]: GetFragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[10505]: GetFragmentMaterialivSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[10209]: WindowPos4dMESA (will be remapped) */ + /* _mesa_function_pool[10538]: WindowPos4dMESA (will be remapped) */ "dddd\0" "glWindowPos4dMESA\0" "\0" - /* _mesa_function_pool[10233]: WeightPointerARB (dynamic) */ + /* _mesa_function_pool[10562]: WeightPointerARB (dynamic) */ "iiip\0" "glWeightPointerARB\0" "\0" - /* _mesa_function_pool[10258]: WindowPos2dMESA (will be remapped) */ + /* _mesa_function_pool[10587]: WindowPos2dMESA (will be remapped) */ "dd\0" "glWindowPos2d\0" "glWindowPos2dARB\0" "glWindowPos2dMESA\0" "\0" - /* _mesa_function_pool[10311]: FramebufferTexture3DEXT (will be remapped) */ + /* _mesa_function_pool[10640]: FramebufferTexture3DEXT (will be remapped) */ "iiiiii\0" "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" "\0" - /* _mesa_function_pool[10368]: BlendEquation (offset 337) */ + /* _mesa_function_pool[10697]: BlendEquation (offset 337) */ "i\0" "glBlendEquation\0" "glBlendEquationEXT\0" "\0" - /* _mesa_function_pool[10406]: VertexAttrib3dNV (will be remapped) */ + /* _mesa_function_pool[10735]: VertexAttrib3dNV (will be remapped) */ "iddd\0" "glVertexAttrib3dNV\0" "\0" - /* _mesa_function_pool[10431]: VertexAttrib3dARB (will be remapped) */ + /* _mesa_function_pool[10760]: VertexAttrib3dARB (will be remapped) */ "iddd\0" "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" "\0" - /* _mesa_function_pool[10474]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10803]: VertexAttribI4usvEXT (will be remapped) */ + "ip\0" + "glVertexAttribI4usvEXT\0" + "\0" + /* _mesa_function_pool[10830]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "ppppp\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10538]: VertexAttrib4fARB (will be remapped) */ + /* _mesa_function_pool[10894]: VertexAttrib4fARB (will be remapped) */ "iffff\0" "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" "\0" - /* _mesa_function_pool[10582]: GetError (offset 261) */ + /* _mesa_function_pool[10938]: GetError (offset 261) */ "\0" "glGetError\0" "\0" - /* _mesa_function_pool[10595]: IndexFuncEXT (dynamic) */ + /* _mesa_function_pool[10951]: IndexFuncEXT (dynamic) */ "if\0" "glIndexFuncEXT\0" "\0" - /* _mesa_function_pool[10614]: TexCoord3dv (offset 111) */ + /* _mesa_function_pool[10970]: TexCoord3dv (offset 111) */ "p\0" "glTexCoord3dv\0" "\0" - /* _mesa_function_pool[10631]: Indexdv (offset 45) */ + /* _mesa_function_pool[10987]: Indexdv (offset 45) */ "p\0" "glIndexdv\0" "\0" - /* _mesa_function_pool[10644]: FramebufferTexture2DEXT (will be remapped) */ + /* _mesa_function_pool[11000]: FramebufferTexture2DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" "\0" - /* _mesa_function_pool[10700]: Normal3s (offset 60) */ + /* _mesa_function_pool[11056]: Normal3s (offset 60) */ "iii\0" "glNormal3s\0" "\0" - /* _mesa_function_pool[10716]: GetObjectParameterivAPPLE (will be remapped) */ + /* _mesa_function_pool[11072]: GetObjectParameterivAPPLE (will be remapped) */ "iiip\0" "glGetObjectParameterivAPPLE\0" "\0" - /* _mesa_function_pool[10750]: PushName (offset 201) */ + /* _mesa_function_pool[11106]: PushName (offset 201) */ "i\0" "glPushName\0" "\0" - /* _mesa_function_pool[10764]: MultiTexCoord2dvARB (offset 385) */ + /* _mesa_function_pool[11120]: MultiTexCoord2dvARB (offset 385) */ "ip\0" "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" "\0" - /* _mesa_function_pool[10809]: CullParameterfvEXT (dynamic) */ + /* _mesa_function_pool[11165]: CullParameterfvEXT (dynamic) */ "ip\0" "glCullParameterfvEXT\0" "\0" - /* _mesa_function_pool[10834]: Normal3i (offset 58) */ + /* _mesa_function_pool[11190]: Normal3i (offset 58) */ "iii\0" "glNormal3i\0" "\0" - /* _mesa_function_pool[10850]: ProgramNamedParameter4fvNV (will be remapped) */ + /* _mesa_function_pool[11206]: ProgramNamedParameter4fvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4fvNV\0" "\0" - /* _mesa_function_pool[10885]: SecondaryColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[11241]: SecondaryColorPointerEXT (will be remapped) */ "iiip\0" "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" "\0" - /* _mesa_function_pool[10942]: VertexAttrib4fvARB (will be remapped) */ + /* _mesa_function_pool[11298]: VertexAttrib4fvARB (will be remapped) */ "ip\0" "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" "\0" - /* _mesa_function_pool[10985]: ColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[11341]: ColorPointerListIBM (dynamic) */ "iiipi\0" "glColorPointerListIBM\0" "\0" - /* _mesa_function_pool[11014]: GetActiveUniformARB (will be remapped) */ + /* _mesa_function_pool[11370]: GetActiveUniformARB (will be remapped) */ "iiipppp\0" "glGetActiveUniform\0" "glGetActiveUniformARB\0" "\0" - /* _mesa_function_pool[11064]: ImageTransformParameteriHP (dynamic) */ + /* _mesa_function_pool[11420]: ImageTransformParameteriHP (dynamic) */ "iii\0" "glImageTransformParameteriHP\0" "\0" - /* _mesa_function_pool[11098]: Normal3b (offset 52) */ + /* _mesa_function_pool[11454]: Normal3b (offset 52) */ "iii\0" "glNormal3b\0" "\0" - /* _mesa_function_pool[11114]: Normal3d (offset 54) */ + /* _mesa_function_pool[11470]: Normal3d (offset 54) */ "ddd\0" "glNormal3d\0" "\0" - /* _mesa_function_pool[11130]: Normal3f (offset 56) */ + /* _mesa_function_pool[11486]: Uniform1uiEXT (will be remapped) */ + "ii\0" + "glUniform1uiEXT\0" + "\0" + /* _mesa_function_pool[11506]: Normal3f (offset 56) */ "fff\0" "glNormal3f\0" "\0" - /* _mesa_function_pool[11146]: MultiTexCoord1svARB (offset 383) */ + /* _mesa_function_pool[11522]: MultiTexCoord1svARB (offset 383) */ "ip\0" "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" "\0" - /* _mesa_function_pool[11191]: Indexi (offset 48) */ + /* _mesa_function_pool[11567]: Indexi (offset 48) */ "i\0" "glIndexi\0" "\0" - /* _mesa_function_pool[11203]: EGLImageTargetTexture2DOES (will be remapped) */ + /* _mesa_function_pool[11579]: EGLImageTargetTexture2DOES (will be remapped) */ "ip\0" "glEGLImageTargetTexture2DOES\0" "\0" - /* _mesa_function_pool[11236]: EndQueryARB (will be remapped) */ + /* _mesa_function_pool[11612]: EndQueryARB (will be remapped) */ "i\0" "glEndQuery\0" "glEndQueryARB\0" "\0" - /* _mesa_function_pool[11264]: DeleteFencesNV (will be remapped) */ + /* _mesa_function_pool[11640]: DeleteFencesNV (will be remapped) */ "ip\0" "glDeleteFencesNV\0" "\0" - /* _mesa_function_pool[11285]: DeformationMap3dSGIX (dynamic) */ - "iddiiddiiddiip\0" - "glDeformationMap3dSGIX\0" - "\0" - /* _mesa_function_pool[11324]: BindBufferRangeEXT (will be remapped) */ + /* _mesa_function_pool[11661]: BindBufferRangeEXT (will be remapped) */ "iiiii\0" "glBindBufferRangeEXT\0" "glBindBufferRange\0" "\0" - /* _mesa_function_pool[11370]: DepthMask (offset 211) */ + /* _mesa_function_pool[11707]: DepthMask (offset 211) */ "i\0" "glDepthMask\0" "\0" - /* _mesa_function_pool[11385]: IsShader (will be remapped) */ + /* _mesa_function_pool[11722]: IsShader (will be remapped) */ "i\0" "glIsShader\0" "\0" - /* _mesa_function_pool[11399]: Indexf (offset 46) */ + /* _mesa_function_pool[11736]: Indexf (offset 46) */ "f\0" "glIndexf\0" "\0" - /* _mesa_function_pool[11411]: GetImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[11748]: GetImageTransformParameterivHP (dynamic) */ "iip\0" "glGetImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[11449]: Indexd (offset 44) */ + /* _mesa_function_pool[11786]: Indexd (offset 44) */ "d\0" "glIndexd\0" "\0" - /* _mesa_function_pool[11461]: GetMaterialiv (offset 270) */ + /* _mesa_function_pool[11798]: GetMaterialiv (offset 270) */ "iip\0" "glGetMaterialiv\0" "\0" - /* _mesa_function_pool[11482]: StencilOp (offset 244) */ + /* _mesa_function_pool[11819]: StencilOp (offset 244) */ "iii\0" "glStencilOp\0" "\0" - /* _mesa_function_pool[11499]: WindowPos4ivMESA (will be remapped) */ + /* _mesa_function_pool[11836]: WindowPos4ivMESA (will be remapped) */ "p\0" "glWindowPos4ivMESA\0" "\0" - /* _mesa_function_pool[11521]: FramebufferTextureLayer (dynamic) */ + /* _mesa_function_pool[11858]: FramebufferTextureLayer (dynamic) */ "iiiii\0" "glFramebufferTextureLayerARB\0" "\0" - /* _mesa_function_pool[11557]: MultiTexCoord3svARB (offset 399) */ + /* _mesa_function_pool[11894]: MultiTexCoord3svARB (offset 399) */ "ip\0" "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" "\0" - /* _mesa_function_pool[11602]: TexEnvfv (offset 185) */ + /* _mesa_function_pool[11939]: TexEnvfv (offset 185) */ "iip\0" "glTexEnvfv\0" "\0" - /* _mesa_function_pool[11618]: MultiTexCoord4iARB (offset 404) */ + /* _mesa_function_pool[11955]: MultiTexCoord4iARB (offset 404) */ "iiiii\0" "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" "\0" - /* _mesa_function_pool[11664]: Indexs (offset 50) */ + /* _mesa_function_pool[12001]: Indexs (offset 50) */ "i\0" "glIndexs\0" "\0" - /* _mesa_function_pool[11676]: Binormal3ivEXT (dynamic) */ + /* _mesa_function_pool[12013]: Binormal3ivEXT (dynamic) */ "p\0" "glBinormal3ivEXT\0" "\0" - /* _mesa_function_pool[11696]: ResizeBuffersMESA (will be remapped) */ + /* _mesa_function_pool[12033]: ResizeBuffersMESA (will be remapped) */ "\0" "glResizeBuffersMESA\0" "\0" - /* _mesa_function_pool[11718]: GetUniformivARB (will be remapped) */ + /* _mesa_function_pool[12055]: GetUniformivARB (will be remapped) */ "iip\0" "glGetUniformiv\0" "glGetUniformivARB\0" "\0" - /* _mesa_function_pool[11756]: PixelTexGenParameteriSGIS (will be remapped) */ + /* _mesa_function_pool[12093]: PixelTexGenParameteriSGIS (will be remapped) */ "ii\0" "glPixelTexGenParameteriSGIS\0" "\0" - /* _mesa_function_pool[11788]: VertexPointervINTEL (dynamic) */ + /* _mesa_function_pool[12125]: VertexPointervINTEL (dynamic) */ "iip\0" "glVertexPointervINTEL\0" "\0" - /* _mesa_function_pool[11815]: Vertex2i (offset 130) */ + /* _mesa_function_pool[12152]: Vertex2i (offset 130) */ "ii\0" "glVertex2i\0" "\0" - /* _mesa_function_pool[11830]: LoadMatrixf (offset 291) */ + /* _mesa_function_pool[12167]: LoadMatrixf (offset 291) */ "p\0" "glLoadMatrixf\0" "\0" - /* _mesa_function_pool[11847]: Vertex2f (offset 128) */ + /* _mesa_function_pool[12184]: VertexAttribI1uivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI1uivEXT\0" + "\0" + /* _mesa_function_pool[12211]: Vertex2f (offset 128) */ "ff\0" "glVertex2f\0" "\0" - /* _mesa_function_pool[11862]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[12226]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[11915]: Color4bv (offset 26) */ + /* _mesa_function_pool[12279]: Color4bv (offset 26) */ "p\0" "glColor4bv\0" "\0" - /* _mesa_function_pool[11929]: VertexPointer (offset 321) */ + /* _mesa_function_pool[12293]: VertexPointer (offset 321) */ "iiip\0" "glVertexPointer\0" "\0" - /* _mesa_function_pool[11951]: SecondaryColor3uiEXT (will be remapped) */ + /* _mesa_function_pool[12315]: SecondaryColor3uiEXT (will be remapped) */ "iii\0" "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" "\0" - /* _mesa_function_pool[11999]: StartInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[12363]: StartInstrumentsSGIX (dynamic) */ "\0" "glStartInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[12024]: SecondaryColor3usvEXT (will be remapped) */ + /* _mesa_function_pool[12388]: SecondaryColor3usvEXT (will be remapped) */ "p\0" "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" "\0" - /* _mesa_function_pool[12072]: VertexAttrib2fvNV (will be remapped) */ + /* _mesa_function_pool[12436]: VertexAttrib2fvNV (will be remapped) */ "ip\0" "glVertexAttrib2fvNV\0" "\0" - /* _mesa_function_pool[12096]: ProgramLocalParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[12460]: ProgramLocalParameter4dvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4dvARB\0" "\0" - /* _mesa_function_pool[12131]: DeleteLists (offset 4) */ + /* _mesa_function_pool[12495]: DeleteLists (offset 4) */ "ii\0" "glDeleteLists\0" "\0" - /* _mesa_function_pool[12149]: LogicOp (offset 242) */ + /* _mesa_function_pool[12513]: LogicOp (offset 242) */ "i\0" "glLogicOp\0" "\0" - /* _mesa_function_pool[12162]: MatrixIndexuivARB (dynamic) */ + /* _mesa_function_pool[12526]: MatrixIndexuivARB (dynamic) */ "ip\0" "glMatrixIndexuivARB\0" "\0" - /* _mesa_function_pool[12186]: Vertex2s (offset 132) */ + /* _mesa_function_pool[12550]: Vertex2s (offset 132) */ "ii\0" "glVertex2s\0" "\0" - /* _mesa_function_pool[12201]: RenderbufferStorageMultisample (will be remapped) */ + /* _mesa_function_pool[12565]: RenderbufferStorageMultisample (will be remapped) */ "iiiii\0" "glRenderbufferStorageMultisample\0" "glRenderbufferStorageMultisampleEXT\0" "\0" - /* _mesa_function_pool[12277]: TexCoord4fv (offset 121) */ + /* _mesa_function_pool[12641]: TexCoord4fv (offset 121) */ "p\0" "glTexCoord4fv\0" "\0" - /* _mesa_function_pool[12294]: Tangent3sEXT (dynamic) */ + /* _mesa_function_pool[12658]: Tangent3sEXT (dynamic) */ "iii\0" "glTangent3sEXT\0" "\0" - /* _mesa_function_pool[12314]: GlobalAlphaFactorfSUN (dynamic) */ + /* _mesa_function_pool[12678]: GlobalAlphaFactorfSUN (dynamic) */ "f\0" "glGlobalAlphaFactorfSUN\0" "\0" - /* _mesa_function_pool[12341]: MultiTexCoord3iARB (offset 396) */ + /* _mesa_function_pool[12705]: MultiTexCoord3iARB (offset 396) */ "iiii\0" "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" "\0" - /* _mesa_function_pool[12386]: IsProgram (will be remapped) */ + /* _mesa_function_pool[12750]: IsProgram (will be remapped) */ "i\0" "glIsProgram\0" "\0" - /* _mesa_function_pool[12401]: TexCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[12765]: TexCoordPointerListIBM (dynamic) */ "iiipi\0" "glTexCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[12433]: GlobalAlphaFactorusSUN (dynamic) */ + /* _mesa_function_pool[12797]: VertexAttribI4svEXT (will be remapped) */ + "ip\0" + "glVertexAttribI4svEXT\0" + "\0" + /* _mesa_function_pool[12823]: GlobalAlphaFactorusSUN (dynamic) */ "i\0" "glGlobalAlphaFactorusSUN\0" "\0" - /* _mesa_function_pool[12461]: VertexAttrib2dvNV (will be remapped) */ + /* _mesa_function_pool[12851]: VertexAttrib2dvNV (will be remapped) */ "ip\0" "glVertexAttrib2dvNV\0" "\0" - /* _mesa_function_pool[12485]: FramebufferRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[12875]: FramebufferRenderbufferEXT (will be remapped) */ "iiii\0" "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" "\0" - /* _mesa_function_pool[12546]: VertexAttrib1dvNV (will be remapped) */ + /* _mesa_function_pool[12936]: VertexAttrib1dvNV (will be remapped) */ "ip\0" "glVertexAttrib1dvNV\0" "\0" - /* _mesa_function_pool[12570]: GenTextures (offset 328) */ + /* _mesa_function_pool[12960]: GenTextures (offset 328) */ "ip\0" "glGenTextures\0" "glGenTexturesEXT\0" "\0" - /* _mesa_function_pool[12605]: FramebufferTextureARB (will be remapped) */ + /* _mesa_function_pool[12995]: FramebufferTextureARB (will be remapped) */ "iiii\0" "glFramebufferTextureARB\0" "\0" - /* _mesa_function_pool[12635]: SetFenceNV (will be remapped) */ + /* _mesa_function_pool[13025]: SetFenceNV (will be remapped) */ "ii\0" "glSetFenceNV\0" "\0" - /* _mesa_function_pool[12652]: FramebufferTexture1DEXT (will be remapped) */ + /* _mesa_function_pool[13042]: FramebufferTexture1DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" "\0" - /* _mesa_function_pool[12708]: GetCombinerOutputParameterivNV (will be remapped) */ + /* _mesa_function_pool[13098]: GetCombinerOutputParameterivNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterivNV\0" "\0" - /* _mesa_function_pool[12747]: PixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[13137]: MultiModeDrawArraysIBM (will be remapped) */ + "pppii\0" + "glMultiModeDrawArraysIBM\0" + "\0" + /* _mesa_function_pool[13169]: PixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[12780]: TextureNormalEXT (dynamic) */ + /* _mesa_function_pool[13202]: TextureNormalEXT (dynamic) */ "i\0" "glTextureNormalEXT\0" "\0" - /* _mesa_function_pool[12802]: IndexPointerListIBM (dynamic) */ + /* _mesa_function_pool[13224]: IndexPointerListIBM (dynamic) */ "iipi\0" "glIndexPointerListIBM\0" "\0" - /* _mesa_function_pool[12830]: WeightfvARB (dynamic) */ + /* _mesa_function_pool[13252]: WeightfvARB (dynamic) */ "ip\0" "glWeightfvARB\0" "\0" - /* _mesa_function_pool[12848]: RasterPos2sv (offset 69) */ + /* _mesa_function_pool[13270]: GetCombinerOutputParameterfvNV (will be remapped) */ + "iiip\0" + "glGetCombinerOutputParameterfvNV\0" + "\0" + /* _mesa_function_pool[13309]: RasterPos2sv (offset 69) */ "p\0" "glRasterPos2sv\0" "\0" - /* _mesa_function_pool[12866]: Color4ubv (offset 36) */ + /* _mesa_function_pool[13327]: Color4ubv (offset 36) */ "p\0" "glColor4ubv\0" "\0" - /* _mesa_function_pool[12881]: DrawBuffer (offset 202) */ + /* _mesa_function_pool[13342]: DrawBuffer (offset 202) */ "i\0" "glDrawBuffer\0" "\0" - /* _mesa_function_pool[12897]: TexCoord2fv (offset 105) */ + /* _mesa_function_pool[13358]: TexCoord2fv (offset 105) */ "p\0" "glTexCoord2fv\0" "\0" - /* _mesa_function_pool[12914]: WindowPos4fMESA (will be remapped) */ + /* _mesa_function_pool[13375]: WindowPos4fMESA (will be remapped) */ "ffff\0" "glWindowPos4fMESA\0" "\0" - /* _mesa_function_pool[12938]: TexCoord1sv (offset 101) */ + /* _mesa_function_pool[13399]: TexCoord1sv (offset 101) */ "p\0" "glTexCoord1sv\0" "\0" - /* _mesa_function_pool[12955]: WindowPos3dvMESA (will be remapped) */ + /* _mesa_function_pool[13416]: WindowPos3dvMESA (will be remapped) */ "p\0" "glWindowPos3dv\0" "glWindowPos3dvARB\0" "glWindowPos3dvMESA\0" "\0" - /* _mesa_function_pool[13010]: DepthFunc (offset 245) */ + /* _mesa_function_pool[13471]: DepthFunc (offset 245) */ "i\0" "glDepthFunc\0" "\0" - /* _mesa_function_pool[13025]: PixelMapusv (offset 253) */ + /* _mesa_function_pool[13486]: PixelMapusv (offset 253) */ "iip\0" "glPixelMapusv\0" "\0" - /* _mesa_function_pool[13044]: GetQueryObjecti64vEXT (will be remapped) */ + /* _mesa_function_pool[13505]: GetQueryObjecti64vEXT (will be remapped) */ "iip\0" "glGetQueryObjecti64vEXT\0" "\0" - /* _mesa_function_pool[13073]: MultiTexCoord1dARB (offset 376) */ + /* _mesa_function_pool[13534]: MultiTexCoord1dARB (offset 376) */ "id\0" "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" "\0" - /* _mesa_function_pool[13116]: PointParameterivNV (will be remapped) */ + /* _mesa_function_pool[13577]: PointParameterivNV (will be remapped) */ "ip\0" "glPointParameteriv\0" "glPointParameterivNV\0" "\0" - /* _mesa_function_pool[13160]: BlendFunc (offset 241) */ + /* _mesa_function_pool[13621]: BlendFunc (offset 241) */ "ii\0" "glBlendFunc\0" "\0" - /* _mesa_function_pool[13176]: EndTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[13637]: EndTransformFeedbackEXT (will be remapped) */ "\0" "glEndTransformFeedbackEXT\0" "glEndTransformFeedback\0" "\0" - /* _mesa_function_pool[13227]: Uniform2fvARB (will be remapped) */ + /* _mesa_function_pool[13688]: Uniform2fvARB (will be remapped) */ "iip\0" "glUniform2fv\0" "glUniform2fvARB\0" "\0" - /* _mesa_function_pool[13261]: BufferParameteriAPPLE (will be remapped) */ + /* _mesa_function_pool[13722]: BufferParameteriAPPLE (will be remapped) */ "iii\0" "glBufferParameteriAPPLE\0" "\0" - /* _mesa_function_pool[13290]: MultiTexCoord3dvARB (offset 393) */ + /* _mesa_function_pool[13751]: MultiTexCoord3dvARB (offset 393) */ "ip\0" "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" "\0" - /* _mesa_function_pool[13335]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[13796]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[13391]: DeleteObjectARB (will be remapped) */ + /* _mesa_function_pool[13852]: DeleteObjectARB (will be remapped) */ "i\0" "glDeleteObjectARB\0" "\0" - /* _mesa_function_pool[13412]: MatrixIndexPointerARB (dynamic) */ + /* _mesa_function_pool[13873]: MatrixIndexPointerARB (dynamic) */ "iiip\0" "glMatrixIndexPointerARB\0" "\0" - /* _mesa_function_pool[13442]: ProgramNamedParameter4dvNV (will be remapped) */ + /* _mesa_function_pool[13903]: ProgramNamedParameter4dvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4dvNV\0" "\0" - /* _mesa_function_pool[13477]: Tangent3fvEXT (dynamic) */ + /* _mesa_function_pool[13938]: Tangent3fvEXT (dynamic) */ "p\0" "glTangent3fvEXT\0" "\0" - /* _mesa_function_pool[13496]: Flush (offset 217) */ + /* _mesa_function_pool[13957]: Flush (offset 217) */ "\0" "glFlush\0" "\0" - /* _mesa_function_pool[13506]: Color4uiv (offset 38) */ + /* _mesa_function_pool[13967]: Color4uiv (offset 38) */ "p\0" "glColor4uiv\0" "\0" - /* _mesa_function_pool[13521]: GenVertexArrays (will be remapped) */ + /* _mesa_function_pool[13982]: VertexAttribI4iEXT (will be remapped) */ + "iiiii\0" + "glVertexAttribI4iEXT\0" + "\0" + /* _mesa_function_pool[14010]: GenVertexArrays (will be remapped) */ "ip\0" "glGenVertexArrays\0" "\0" - /* _mesa_function_pool[13543]: RasterPos3sv (offset 77) */ + /* _mesa_function_pool[14032]: Uniform3uivEXT (will be remapped) */ + "iip\0" + "glUniform3uivEXT\0" + "\0" + /* _mesa_function_pool[14054]: RasterPos3sv (offset 77) */ "p\0" "glRasterPos3sv\0" "\0" - /* _mesa_function_pool[13561]: BindFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[14072]: BindFramebufferEXT (will be remapped) */ "ii\0" "glBindFramebuffer\0" "glBindFramebufferEXT\0" "\0" - /* _mesa_function_pool[13604]: ReferencePlaneSGIX (dynamic) */ + /* _mesa_function_pool[14115]: ReferencePlaneSGIX (dynamic) */ "p\0" "glReferencePlaneSGIX\0" "\0" - /* _mesa_function_pool[13628]: PushAttrib (offset 219) */ + /* _mesa_function_pool[14139]: PushAttrib (offset 219) */ "i\0" "glPushAttrib\0" "\0" - /* _mesa_function_pool[13644]: RasterPos2i (offset 66) */ + /* _mesa_function_pool[14155]: RasterPos2i (offset 66) */ "ii\0" "glRasterPos2i\0" "\0" - /* _mesa_function_pool[13662]: ValidateProgramARB (will be remapped) */ + /* _mesa_function_pool[14173]: ValidateProgramARB (will be remapped) */ "i\0" "glValidateProgram\0" "glValidateProgramARB\0" "\0" - /* _mesa_function_pool[13704]: TexParameteriv (offset 181) */ + /* _mesa_function_pool[14215]: TexParameteriv (offset 181) */ "iip\0" "glTexParameteriv\0" "\0" - /* _mesa_function_pool[13726]: UnlockArraysEXT (will be remapped) */ + /* _mesa_function_pool[14237]: UnlockArraysEXT (will be remapped) */ "\0" "glUnlockArraysEXT\0" "\0" - /* _mesa_function_pool[13746]: TexCoord2fColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[14257]: TexCoord2fColor3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[13787]: WindowPos3fvMESA (will be remapped) */ + /* _mesa_function_pool[14298]: WindowPos3fvMESA (will be remapped) */ "p\0" "glWindowPos3fv\0" "glWindowPos3fvARB\0" "glWindowPos3fvMESA\0" "\0" - /* _mesa_function_pool[13842]: RasterPos2f (offset 64) */ + /* _mesa_function_pool[14353]: RasterPos2f (offset 64) */ "ff\0" "glRasterPos2f\0" "\0" - /* _mesa_function_pool[13860]: VertexAttrib1svNV (will be remapped) */ + /* _mesa_function_pool[14371]: VertexAttrib1svNV (will be remapped) */ "ip\0" "glVertexAttrib1svNV\0" "\0" - /* _mesa_function_pool[13884]: RasterPos2d (offset 62) */ + /* _mesa_function_pool[14395]: RasterPos2d (offset 62) */ "dd\0" "glRasterPos2d\0" "\0" - /* _mesa_function_pool[13902]: RasterPos3fv (offset 73) */ + /* _mesa_function_pool[14413]: RasterPos3fv (offset 73) */ "p\0" "glRasterPos3fv\0" "\0" - /* _mesa_function_pool[13920]: CopyTexSubImage3D (offset 373) */ + /* _mesa_function_pool[14431]: CopyTexSubImage3D (offset 373) */ "iiiiiiiii\0" "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[13974]: VertexAttrib2dARB (will be remapped) */ + /* _mesa_function_pool[14485]: VertexAttrib2dARB (will be remapped) */ "idd\0" "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" "\0" - /* _mesa_function_pool[14016]: Color4ub (offset 35) */ + /* _mesa_function_pool[14527]: Color4ub (offset 35) */ "iiii\0" "glColor4ub\0" "\0" - /* _mesa_function_pool[14033]: GetInteger64v (will be remapped) */ + /* _mesa_function_pool[14544]: GetInteger64v (will be remapped) */ "ip\0" "glGetInteger64v\0" "\0" - /* _mesa_function_pool[14053]: TextureColorMaskSGIS (dynamic) */ + /* _mesa_function_pool[14564]: TextureColorMaskSGIS (dynamic) */ "iiii\0" "glTextureColorMaskSGIS\0" "\0" - /* _mesa_function_pool[14082]: RasterPos2s (offset 68) */ + /* _mesa_function_pool[14593]: RasterPos2s (offset 68) */ "ii\0" "glRasterPos2s\0" "\0" - /* _mesa_function_pool[14100]: GetColorTable (offset 343) */ + /* _mesa_function_pool[14611]: GetColorTable (offset 343) */ "iiip\0" "glGetColorTable\0" "glGetColorTableSGI\0" "glGetColorTableEXT\0" "\0" - /* _mesa_function_pool[14160]: SelectBuffer (offset 195) */ + /* _mesa_function_pool[14671]: SelectBuffer (offset 195) */ "ip\0" "glSelectBuffer\0" "\0" - /* _mesa_function_pool[14179]: Indexiv (offset 49) */ + /* _mesa_function_pool[14690]: Indexiv (offset 49) */ "p\0" "glIndexiv\0" "\0" - /* _mesa_function_pool[14192]: TexCoord3i (offset 114) */ + /* _mesa_function_pool[14703]: TexCoord3i (offset 114) */ "iii\0" "glTexCoord3i\0" "\0" - /* _mesa_function_pool[14210]: CopyColorTable (offset 342) */ + /* _mesa_function_pool[14721]: CopyColorTable (offset 342) */ "iiiii\0" "glCopyColorTable\0" "glCopyColorTableSGI\0" "\0" - /* _mesa_function_pool[14254]: GetHistogramParameterfv (offset 362) */ + /* _mesa_function_pool[14765]: GetHistogramParameterfv (offset 362) */ "iip\0" "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" "\0" - /* _mesa_function_pool[14314]: Frustum (offset 289) */ + /* _mesa_function_pool[14825]: Frustum (offset 289) */ "dddddd\0" "glFrustum\0" "\0" - /* _mesa_function_pool[14332]: GetString (offset 275) */ + /* _mesa_function_pool[14843]: GetString (offset 275) */ "i\0" "glGetString\0" "\0" - /* _mesa_function_pool[14347]: ColorPointervINTEL (dynamic) */ + /* _mesa_function_pool[14858]: ColorPointervINTEL (dynamic) */ "iip\0" "glColorPointervINTEL\0" "\0" - /* _mesa_function_pool[14373]: TexEnvf (offset 184) */ + /* _mesa_function_pool[14884]: TexEnvf (offset 184) */ "iif\0" "glTexEnvf\0" "\0" - /* _mesa_function_pool[14388]: TexCoord3d (offset 110) */ + /* _mesa_function_pool[14899]: TexCoord3d (offset 110) */ "ddd\0" "glTexCoord3d\0" "\0" - /* _mesa_function_pool[14406]: AlphaFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[14917]: AlphaFragmentOp1ATI (will be remapped) */ "iiiiii\0" "glAlphaFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[14436]: TexCoord3f (offset 112) */ + /* _mesa_function_pool[14947]: TexCoord3f (offset 112) */ "fff\0" "glTexCoord3f\0" "\0" - /* _mesa_function_pool[14454]: MultiTexCoord3ivARB (offset 397) */ + /* _mesa_function_pool[14965]: MultiTexCoord3ivARB (offset 397) */ "ip\0" "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" "\0" - /* _mesa_function_pool[14499]: MultiTexCoord2sARB (offset 390) */ + /* _mesa_function_pool[15010]: MultiTexCoord2sARB (offset 390) */ "iii\0" "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" "\0" - /* _mesa_function_pool[14543]: VertexAttrib1dvARB (will be remapped) */ + /* _mesa_function_pool[15054]: VertexAttrib1dvARB (will be remapped) */ "ip\0" "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" "\0" - /* _mesa_function_pool[14586]: DeleteTextures (offset 327) */ + /* _mesa_function_pool[15097]: DeleteTextures (offset 327) */ "ip\0" "glDeleteTextures\0" "glDeleteTexturesEXT\0" "\0" - /* _mesa_function_pool[14627]: TexCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[15138]: TexCoordPointerEXT (will be remapped) */ "iiiip\0" "glTexCoordPointerEXT\0" "\0" - /* _mesa_function_pool[14655]: TexSubImage4DSGIS (dynamic) */ + /* _mesa_function_pool[15166]: TexSubImage4DSGIS (dynamic) */ "iiiiiiiiiiiip\0" "glTexSubImage4DSGIS\0" "\0" - /* _mesa_function_pool[14690]: TexCoord3s (offset 116) */ + /* _mesa_function_pool[15201]: TexCoord3s (offset 116) */ "iii\0" "glTexCoord3s\0" "\0" - /* _mesa_function_pool[14708]: GetTexLevelParameteriv (offset 285) */ + /* _mesa_function_pool[15219]: GetTexLevelParameteriv (offset 285) */ "iiip\0" "glGetTexLevelParameteriv\0" "\0" - /* _mesa_function_pool[14739]: DrawArraysInstanced (will be remapped) */ + /* _mesa_function_pool[15250]: DrawArraysInstanced (will be remapped) */ "iiii\0" "glDrawArraysInstanced\0" "glDrawArraysInstancedARB\0" "glDrawArraysInstancedEXT\0" "\0" - /* _mesa_function_pool[14817]: CombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[15328]: CombinerStageParameterfvNV (dynamic) */ "iip\0" "glCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[14851]: StopInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[15362]: StopInstrumentsSGIX (dynamic) */ "i\0" "glStopInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[14876]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[15387]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ "fffffffffffffff\0" "glTexCoord4fColor4fNormal3fVertex4fSUN\0" "\0" - /* _mesa_function_pool[14932]: ClearAccum (offset 204) */ + /* _mesa_function_pool[15443]: ClearAccum (offset 204) */ "ffff\0" "glClearAccum\0" "\0" - /* _mesa_function_pool[14951]: DeformSGIX (dynamic) */ + /* _mesa_function_pool[15462]: DeformSGIX (dynamic) */ "i\0" "glDeformSGIX\0" "\0" - /* _mesa_function_pool[14967]: GetVertexAttribfvARB (will be remapped) */ + /* _mesa_function_pool[15478]: GetVertexAttribfvARB (will be remapped) */ "iip\0" "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" "\0" - /* _mesa_function_pool[15015]: SecondaryColor3ivEXT (will be remapped) */ + /* _mesa_function_pool[15526]: SecondaryColor3ivEXT (will be remapped) */ "p\0" "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" "\0" - /* _mesa_function_pool[15061]: TexCoord4iv (offset 123) */ + /* _mesa_function_pool[15572]: TexCoord4iv (offset 123) */ "p\0" "glTexCoord4iv\0" "\0" - /* _mesa_function_pool[15078]: UniformMatrix4x2fv (will be remapped) */ + /* _mesa_function_pool[15589]: VertexAttribI4uiEXT (will be remapped) */ + "iiiii\0" + "glVertexAttribI4uiEXT\0" + "\0" + /* _mesa_function_pool[15618]: UniformMatrix4x2fv (will be remapped) */ "iiip\0" "glUniformMatrix4x2fv\0" "\0" - /* _mesa_function_pool[15105]: GetDetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[15645]: GetDetailTexFuncSGIS (dynamic) */ "ip\0" "glGetDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[15132]: GetCombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[15672]: GetCombinerStageParameterfvNV (dynamic) */ "iip\0" "glGetCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[15169]: PolygonOffset (offset 319) */ + /* _mesa_function_pool[15709]: PolygonOffset (offset 319) */ "ff\0" "glPolygonOffset\0" "\0" - /* _mesa_function_pool[15189]: BindVertexArray (will be remapped) */ + /* _mesa_function_pool[15729]: BindVertexArray (will be remapped) */ "i\0" "glBindVertexArray\0" "\0" - /* _mesa_function_pool[15210]: Color4ubVertex2fvSUN (dynamic) */ + /* _mesa_function_pool[15750]: Color4ubVertex2fvSUN (dynamic) */ "pp\0" "glColor4ubVertex2fvSUN\0" "\0" - /* _mesa_function_pool[15237]: Rectd (offset 86) */ + /* _mesa_function_pool[15777]: Rectd (offset 86) */ "dddd\0" "glRectd\0" "\0" - /* _mesa_function_pool[15251]: TexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[15791]: TexFilterFuncSGIS (dynamic) */ "iiip\0" "glTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[15277]: SampleMaskSGIS (will be remapped) */ + /* _mesa_function_pool[15817]: SampleMaskSGIS (will be remapped) */ "fi\0" "glSampleMaskSGIS\0" "glSampleMaskEXT\0" "\0" - /* _mesa_function_pool[15314]: GetAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[15854]: VertexAttribI4ubvEXT (will be remapped) */ + "ip\0" + "glVertexAttribI4ubvEXT\0" + "\0" + /* _mesa_function_pool[15881]: GetAttribLocationARB (will be remapped) */ "ip\0" "glGetAttribLocation\0" "glGetAttribLocationARB\0" "\0" - /* _mesa_function_pool[15361]: RasterPos3i (offset 74) */ + /* _mesa_function_pool[15928]: RasterPos3i (offset 74) */ "iii\0" "glRasterPos3i\0" "\0" - /* _mesa_function_pool[15380]: VertexAttrib4ubvARB (will be remapped) */ + /* _mesa_function_pool[15947]: VertexAttrib4ubvARB (will be remapped) */ "ip\0" "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" "\0" - /* _mesa_function_pool[15425]: DetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[15992]: DetailTexFuncSGIS (dynamic) */ "iip\0" "glDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[15450]: Normal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[16017]: Normal3fVertex3fSUN (dynamic) */ "ffffff\0" "glNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[15480]: CopyTexImage2D (offset 324) */ + /* _mesa_function_pool[16047]: CopyTexImage2D (offset 324) */ "iiiiiiii\0" "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" "\0" - /* _mesa_function_pool[15527]: GetBufferPointervARB (will be remapped) */ + /* _mesa_function_pool[16094]: GetBufferPointervARB (will be remapped) */ "iip\0" "glGetBufferPointerv\0" "glGetBufferPointervARB\0" "\0" - /* _mesa_function_pool[15575]: ProgramEnvParameter4fARB (will be remapped) */ + /* _mesa_function_pool[16142]: ProgramEnvParameter4fARB (will be remapped) */ "iiffff\0" "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" "\0" - /* _mesa_function_pool[15633]: Uniform3ivARB (will be remapped) */ + /* _mesa_function_pool[16200]: Uniform3ivARB (will be remapped) */ "iip\0" "glUniform3iv\0" "glUniform3ivARB\0" "\0" - /* _mesa_function_pool[15667]: Lightfv (offset 160) */ + /* _mesa_function_pool[16234]: Lightfv (offset 160) */ "iip\0" "glLightfv\0" "\0" - /* _mesa_function_pool[15682]: PrimitiveRestartIndexNV (will be remapped) */ + /* _mesa_function_pool[16249]: PrimitiveRestartIndexNV (will be remapped) */ "i\0" "glPrimitiveRestartIndexNV\0" "\0" - /* _mesa_function_pool[15711]: ClearDepth (offset 208) */ + /* _mesa_function_pool[16278]: ClearDepth (offset 208) */ "d\0" "glClearDepth\0" "\0" - /* _mesa_function_pool[15727]: GetFenceivNV (will be remapped) */ + /* _mesa_function_pool[16294]: GetFenceivNV (will be remapped) */ "iip\0" "glGetFenceivNV\0" "\0" - /* _mesa_function_pool[15747]: WindowPos4dvMESA (will be remapped) */ + /* _mesa_function_pool[16314]: WindowPos4dvMESA (will be remapped) */ "p\0" "glWindowPos4dvMESA\0" "\0" - /* _mesa_function_pool[15769]: ColorSubTable (offset 346) */ + /* _mesa_function_pool[16336]: ColorSubTable (offset 346) */ "iiiiip\0" "glColorSubTable\0" "glColorSubTableEXT\0" "\0" - /* _mesa_function_pool[15812]: Color4fv (offset 30) */ + /* _mesa_function_pool[16379]: Color4fv (offset 30) */ "p\0" "glColor4fv\0" "\0" - /* _mesa_function_pool[15826]: MultiTexCoord4ivARB (offset 405) */ + /* _mesa_function_pool[16393]: MultiTexCoord4ivARB (offset 405) */ "ip\0" "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" "\0" - /* _mesa_function_pool[15871]: DrawElementsInstanced (will be remapped) */ + /* _mesa_function_pool[16438]: DrawElementsInstanced (will be remapped) */ "iiipi\0" "glDrawElementsInstanced\0" "glDrawElementsInstancedARB\0" "glDrawElementsInstancedEXT\0" "\0" - /* _mesa_function_pool[15956]: ColorPointer (offset 308) */ + /* _mesa_function_pool[16523]: ColorPointer (offset 308) */ "iiip\0" "glColorPointer\0" "\0" - /* _mesa_function_pool[15977]: Rects (offset 92) */ + /* _mesa_function_pool[16544]: Rects (offset 92) */ "iiii\0" "glRects\0" "\0" - /* _mesa_function_pool[15991]: GetMapAttribParameterfvNV (dynamic) */ + /* _mesa_function_pool[16558]: GetMapAttribParameterfvNV (dynamic) */ "iiip\0" "glGetMapAttribParameterfvNV\0" "\0" - /* _mesa_function_pool[16025]: CreateShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[16592]: CreateShaderProgramEXT (will be remapped) */ "ip\0" "glCreateShaderProgramEXT\0" "\0" - /* _mesa_function_pool[16054]: ActiveProgramEXT (will be remapped) */ + /* _mesa_function_pool[16621]: ActiveProgramEXT (will be remapped) */ "i\0" "glActiveProgramEXT\0" "\0" - /* _mesa_function_pool[16076]: Lightiv (offset 162) */ + /* _mesa_function_pool[16643]: Lightiv (offset 162) */ "iip\0" "glLightiv\0" "\0" - /* _mesa_function_pool[16091]: VertexAttrib4sARB (will be remapped) */ + /* _mesa_function_pool[16658]: VertexAttrib4sARB (will be remapped) */ "iiiii\0" "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" "\0" - /* _mesa_function_pool[16135]: GetQueryObjectuivARB (will be remapped) */ + /* _mesa_function_pool[16702]: GetQueryObjectuivARB (will be remapped) */ "iip\0" "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" "\0" - /* _mesa_function_pool[16183]: GetTexParameteriv (offset 283) */ + /* _mesa_function_pool[16750]: GetTexParameteriv (offset 283) */ "iip\0" "glGetTexParameteriv\0" "\0" - /* _mesa_function_pool[16208]: MapParameterivNV (dynamic) */ + /* _mesa_function_pool[16775]: MapParameterivNV (dynamic) */ "iip\0" "glMapParameterivNV\0" "\0" - /* _mesa_function_pool[16232]: GenRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[16799]: GenRenderbuffersEXT (will be remapped) */ "ip\0" "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[16277]: VertexAttrib2dvARB (will be remapped) */ + /* _mesa_function_pool[16844]: VertexAttrib2dvARB (will be remapped) */ "ip\0" "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" "\0" - /* _mesa_function_pool[16320]: EdgeFlagPointerEXT (will be remapped) */ + /* _mesa_function_pool[16887]: EdgeFlagPointerEXT (will be remapped) */ "iip\0" "glEdgeFlagPointerEXT\0" "\0" - /* _mesa_function_pool[16346]: VertexAttribs2svNV (will be remapped) */ + /* _mesa_function_pool[16913]: VertexAttribs2svNV (will be remapped) */ "iip\0" "glVertexAttribs2svNV\0" "\0" - /* _mesa_function_pool[16372]: WeightbvARB (dynamic) */ + /* _mesa_function_pool[16939]: WeightbvARB (dynamic) */ "ip\0" "glWeightbvARB\0" "\0" - /* _mesa_function_pool[16390]: VertexAttrib2fvARB (will be remapped) */ + /* _mesa_function_pool[16957]: VertexAttrib2fvARB (will be remapped) */ "ip\0" "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" "\0" - /* _mesa_function_pool[16433]: GetBufferParameterivARB (will be remapped) */ + /* _mesa_function_pool[17000]: GetBufferParameterivARB (will be remapped) */ "iip\0" "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" "\0" - /* _mesa_function_pool[16487]: Rectdv (offset 87) */ + /* _mesa_function_pool[17054]: Rectdv (offset 87) */ "pp\0" "glRectdv\0" "\0" - /* _mesa_function_pool[16500]: ListParameteriSGIX (dynamic) */ + /* _mesa_function_pool[17067]: ListParameteriSGIX (dynamic) */ "iii\0" "glListParameteriSGIX\0" "\0" - /* _mesa_function_pool[16526]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[17093]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffff\0" "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[16585]: InstrumentsBufferSGIX (dynamic) */ + /* _mesa_function_pool[17152]: InstrumentsBufferSGIX (dynamic) */ "ip\0" "glInstrumentsBufferSGIX\0" "\0" - /* _mesa_function_pool[16613]: VertexAttrib4NivARB (will be remapped) */ + /* _mesa_function_pool[17180]: VertexAttrib4NivARB (will be remapped) */ "ip\0" "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" "\0" - /* _mesa_function_pool[16658]: GetAttachedShaders (will be remapped) */ + /* _mesa_function_pool[17225]: GetAttachedShaders (will be remapped) */ "iipp\0" "glGetAttachedShaders\0" "\0" - /* _mesa_function_pool[16685]: GenVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[17252]: GenVertexArraysAPPLE (will be remapped) */ "ip\0" "glGenVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[16712]: Materialiv (offset 172) */ + /* _mesa_function_pool[17279]: Materialiv (offset 172) */ "iip\0" "glMaterialiv\0" "\0" - /* _mesa_function_pool[16730]: PushClientAttrib (offset 335) */ + /* _mesa_function_pool[17297]: PushClientAttrib (offset 335) */ "i\0" "glPushClientAttrib\0" "\0" - /* _mesa_function_pool[16752]: ProgramEnvParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[17319]: ProgramEnvParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramEnvParameters4fvEXT\0" "\0" - /* _mesa_function_pool[16787]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[17354]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[16833]: WindowPos2iMESA (will be remapped) */ + /* _mesa_function_pool[17400]: WindowPos2iMESA (will be remapped) */ "ii\0" "glWindowPos2i\0" "glWindowPos2iARB\0" "glWindowPos2iMESA\0" "\0" - /* _mesa_function_pool[16886]: SecondaryColor3fvEXT (will be remapped) */ + /* _mesa_function_pool[17453]: SecondaryColor3fvEXT (will be remapped) */ "p\0" "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" "\0" - /* _mesa_function_pool[16932]: PolygonMode (offset 174) */ + /* _mesa_function_pool[17499]: PolygonMode (offset 174) */ "ii\0" "glPolygonMode\0" "\0" - /* _mesa_function_pool[16950]: CompressedTexSubImage1DARB (will be remapped) */ + /* _mesa_function_pool[17517]: CompressedTexSubImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" "\0" - /* _mesa_function_pool[17014]: GetVertexAttribivNV (will be remapped) */ + /* _mesa_function_pool[17581]: VertexAttribI1iEXT (will be remapped) */ + "ii\0" + "glVertexAttribI1iEXT\0" + "\0" + /* _mesa_function_pool[17606]: GetVertexAttribivNV (will be remapped) */ "iip\0" "glGetVertexAttribivNV\0" "\0" - /* _mesa_function_pool[17041]: GetProgramStringARB (will be remapped) */ + /* _mesa_function_pool[17633]: GetProgramStringARB (will be remapped) */ "iip\0" "glGetProgramStringARB\0" "\0" - /* _mesa_function_pool[17068]: TexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[17660]: VertexAttribIPointerEXT (will be remapped) */ + "iiiip\0" + "glVertexAttribIPointerEXT\0" + "\0" + /* _mesa_function_pool[17693]: TexBumpParameterfvATI (will be remapped) */ "ip\0" "glTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[17096]: CompileShaderARB (will be remapped) */ + /* _mesa_function_pool[17721]: CompileShaderARB (will be remapped) */ "i\0" "glCompileShader\0" "glCompileShaderARB\0" "\0" - /* _mesa_function_pool[17134]: DeleteShader (will be remapped) */ + /* _mesa_function_pool[17759]: DeleteShader (will be remapped) */ "i\0" "glDeleteShader\0" "\0" - /* _mesa_function_pool[17152]: DisableClientState (offset 309) */ + /* _mesa_function_pool[17777]: DisableClientState (offset 309) */ "i\0" "glDisableClientState\0" "\0" - /* _mesa_function_pool[17176]: TexGeni (offset 192) */ + /* _mesa_function_pool[17801]: TexGeni (offset 192) */ "iii\0" "glTexGeni\0" "\0" - /* _mesa_function_pool[17191]: TexGenf (offset 190) */ + /* _mesa_function_pool[17816]: TexGenf (offset 190) */ "iif\0" "glTexGenf\0" "\0" - /* _mesa_function_pool[17206]: Uniform3fARB (will be remapped) */ + /* _mesa_function_pool[17831]: Uniform3fARB (will be remapped) */ "ifff\0" "glUniform3f\0" "glUniform3fARB\0" "\0" - /* _mesa_function_pool[17239]: TexGend (offset 188) */ + /* _mesa_function_pool[17864]: TexGend (offset 188) */ "iid\0" "glTexGend\0" "\0" - /* _mesa_function_pool[17254]: ListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[17879]: ListParameterfvSGIX (dynamic) */ "iip\0" "glListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[17281]: GetPolygonStipple (offset 274) */ + /* _mesa_function_pool[17906]: GetPolygonStipple (offset 274) */ "p\0" "glGetPolygonStipple\0" "\0" - /* _mesa_function_pool[17304]: Tangent3dvEXT (dynamic) */ + /* _mesa_function_pool[17929]: Tangent3dvEXT (dynamic) */ "p\0" "glTangent3dvEXT\0" "\0" - /* _mesa_function_pool[17323]: BindBufferOffsetEXT (will be remapped) */ + /* _mesa_function_pool[17948]: BindBufferOffsetEXT (will be remapped) */ "iiii\0" "glBindBufferOffsetEXT\0" "\0" - /* _mesa_function_pool[17351]: WindowPos3sMESA (will be remapped) */ + /* _mesa_function_pool[17976]: WindowPos3sMESA (will be remapped) */ "iii\0" "glWindowPos3s\0" "glWindowPos3sARB\0" "glWindowPos3sMESA\0" "\0" - /* _mesa_function_pool[17405]: VertexAttrib2svNV (will be remapped) */ + /* _mesa_function_pool[18030]: VertexAttrib2svNV (will be remapped) */ "ip\0" "glVertexAttrib2svNV\0" "\0" - /* _mesa_function_pool[17429]: DisableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[18054]: DisableIndexedEXT (will be remapped) */ "ii\0" "glDisableIndexedEXT\0" "\0" - /* _mesa_function_pool[17453]: BindBufferBaseEXT (will be remapped) */ + /* _mesa_function_pool[18078]: BindBufferBaseEXT (will be remapped) */ "iii\0" "glBindBufferBaseEXT\0" "glBindBufferBase\0" "\0" - /* _mesa_function_pool[17495]: TexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[18120]: TexCoord2fVertex3fvSUN (dynamic) */ "pp\0" "glTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[17524]: WindowPos4sMESA (will be remapped) */ + /* _mesa_function_pool[18149]: WindowPos4sMESA (will be remapped) */ "iiii\0" "glWindowPos4sMESA\0" "\0" - /* _mesa_function_pool[17548]: VertexAttrib4NuivARB (will be remapped) */ + /* _mesa_function_pool[18173]: VertexAttrib4NuivARB (will be remapped) */ "ip\0" "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" "\0" - /* _mesa_function_pool[17595]: ClientActiveTextureARB (offset 375) */ + /* _mesa_function_pool[18220]: ClientActiveTextureARB (offset 375) */ "i\0" "glClientActiveTexture\0" "glClientActiveTextureARB\0" "\0" - /* _mesa_function_pool[17645]: PixelTexGenSGIX (will be remapped) */ + /* _mesa_function_pool[18270]: PixelTexGenSGIX (will be remapped) */ "i\0" "glPixelTexGenSGIX\0" "\0" - /* _mesa_function_pool[17666]: ReplacementCodeusvSUN (dynamic) */ + /* _mesa_function_pool[18291]: ReplacementCodeusvSUN (dynamic) */ "p\0" "glReplacementCodeusvSUN\0" "\0" - /* _mesa_function_pool[17693]: Uniform4fARB (will be remapped) */ + /* _mesa_function_pool[18318]: Uniform4fARB (will be remapped) */ "iffff\0" "glUniform4f\0" "glUniform4fARB\0" "\0" - /* _mesa_function_pool[17727]: Color4sv (offset 34) */ + /* _mesa_function_pool[18352]: Color4sv (offset 34) */ "p\0" "glColor4sv\0" "\0" - /* _mesa_function_pool[17741]: FlushMappedBufferRange (will be remapped) */ + /* _mesa_function_pool[18366]: FlushMappedBufferRange (will be remapped) */ "iii\0" "glFlushMappedBufferRange\0" "\0" - /* _mesa_function_pool[17771]: IsProgramNV (will be remapped) */ + /* _mesa_function_pool[18396]: IsProgramNV (will be remapped) */ "i\0" "glIsProgramARB\0" "glIsProgramNV\0" "\0" - /* _mesa_function_pool[17803]: FlushMappedBufferRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[18428]: FlushMappedBufferRangeAPPLE (will be remapped) */ "iii\0" "glFlushMappedBufferRangeAPPLE\0" "\0" - /* _mesa_function_pool[17838]: PixelZoom (offset 246) */ + /* _mesa_function_pool[18463]: PixelZoom (offset 246) */ "ff\0" "glPixelZoom\0" "\0" - /* _mesa_function_pool[17854]: ReplacementCodePointerSUN (dynamic) */ + /* _mesa_function_pool[18479]: ReplacementCodePointerSUN (dynamic) */ "iip\0" "glReplacementCodePointerSUN\0" "\0" - /* _mesa_function_pool[17887]: ProgramEnvParameter4dARB (will be remapped) */ + /* _mesa_function_pool[18512]: ProgramEnvParameter4dARB (will be remapped) */ "iidddd\0" "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" "\0" - /* _mesa_function_pool[17945]: ColorTableParameterfv (offset 340) */ + /* _mesa_function_pool[18570]: ColorTableParameterfv (offset 340) */ "iip\0" "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" "\0" - /* _mesa_function_pool[18001]: FragmentLightModelfSGIX (dynamic) */ + /* _mesa_function_pool[18626]: FragmentLightModelfSGIX (dynamic) */ "if\0" "glFragmentLightModelfSGIX\0" "\0" - /* _mesa_function_pool[18031]: Binormal3bvEXT (dynamic) */ + /* _mesa_function_pool[18656]: Binormal3bvEXT (dynamic) */ "p\0" "glBinormal3bvEXT\0" "\0" - /* _mesa_function_pool[18051]: PixelMapuiv (offset 252) */ + /* _mesa_function_pool[18676]: PixelMapuiv (offset 252) */ "iip\0" "glPixelMapuiv\0" "\0" - /* _mesa_function_pool[18070]: Color3dv (offset 12) */ + /* _mesa_function_pool[18695]: Color3dv (offset 12) */ "p\0" "glColor3dv\0" "\0" - /* _mesa_function_pool[18084]: IsTexture (offset 330) */ + /* _mesa_function_pool[18709]: IsTexture (offset 330) */ "i\0" "glIsTexture\0" "glIsTextureEXT\0" "\0" - /* _mesa_function_pool[18114]: VertexWeightfvEXT (dynamic) */ + /* _mesa_function_pool[18739]: VertexWeightfvEXT (dynamic) */ "p\0" "glVertexWeightfvEXT\0" "\0" - /* _mesa_function_pool[18137]: VertexAttrib1dARB (will be remapped) */ + /* _mesa_function_pool[18762]: VertexAttrib1dARB (will be remapped) */ "id\0" "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" "\0" - /* _mesa_function_pool[18178]: ImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[18803]: ImageTransformParameterivHP (dynamic) */ "iip\0" "glImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[18213]: TexCoord4i (offset 122) */ + /* _mesa_function_pool[18838]: TexCoord4i (offset 122) */ "iiii\0" "glTexCoord4i\0" "\0" - /* _mesa_function_pool[18232]: DeleteQueriesARB (will be remapped) */ + /* _mesa_function_pool[18857]: DeleteQueriesARB (will be remapped) */ "ip\0" "glDeleteQueries\0" "glDeleteQueriesARB\0" "\0" - /* _mesa_function_pool[18271]: Color4ubVertex2fSUN (dynamic) */ + /* _mesa_function_pool[18896]: Color4ubVertex2fSUN (dynamic) */ "iiiiff\0" "glColor4ubVertex2fSUN\0" "\0" - /* _mesa_function_pool[18301]: FragmentColorMaterialSGIX (dynamic) */ + /* _mesa_function_pool[18926]: FragmentColorMaterialSGIX (dynamic) */ "ii\0" "glFragmentColorMaterialSGIX\0" "\0" - /* _mesa_function_pool[18333]: CurrentPaletteMatrixARB (dynamic) */ + /* _mesa_function_pool[18958]: CurrentPaletteMatrixARB (dynamic) */ "i\0" "glCurrentPaletteMatrixARB\0" "\0" - /* _mesa_function_pool[18362]: GetMapdv (offset 266) */ + /* _mesa_function_pool[18987]: GetMapdv (offset 266) */ "iip\0" "glGetMapdv\0" "\0" - /* _mesa_function_pool[18378]: ObjectPurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[19003]: ObjectPurgeableAPPLE (will be remapped) */ "iii\0" "glObjectPurgeableAPPLE\0" "\0" - /* _mesa_function_pool[18406]: SamplePatternSGIS (will be remapped) */ + /* _mesa_function_pool[19031]: SamplePatternSGIS (will be remapped) */ "i\0" "glSamplePatternSGIS\0" "glSamplePatternEXT\0" "\0" - /* _mesa_function_pool[18448]: PixelStoref (offset 249) */ + /* _mesa_function_pool[19073]: PixelStoref (offset 249) */ "if\0" "glPixelStoref\0" "\0" - /* _mesa_function_pool[18466]: IsQueryARB (will be remapped) */ + /* _mesa_function_pool[19091]: IsQueryARB (will be remapped) */ "i\0" "glIsQuery\0" "glIsQueryARB\0" "\0" - /* _mesa_function_pool[18492]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[19117]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ "iiiiifff\0" "glReplacementCodeuiColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[18541]: PixelStorei (offset 250) */ + /* _mesa_function_pool[19166]: PixelStorei (offset 250) */ "ii\0" "glPixelStorei\0" "\0" - /* _mesa_function_pool[18559]: VertexAttrib4usvARB (will be remapped) */ + /* _mesa_function_pool[19184]: VertexAttrib4usvARB (will be remapped) */ "ip\0" "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" "\0" - /* _mesa_function_pool[18604]: LinkProgramARB (will be remapped) */ + /* _mesa_function_pool[19229]: LinkProgramARB (will be remapped) */ "i\0" "glLinkProgram\0" "glLinkProgramARB\0" "\0" - /* _mesa_function_pool[18638]: VertexAttrib2fNV (will be remapped) */ + /* _mesa_function_pool[19263]: VertexAttrib2fNV (will be remapped) */ "iff\0" "glVertexAttrib2fNV\0" "\0" - /* _mesa_function_pool[18662]: ShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[19287]: ShaderSourceARB (will be remapped) */ "iipp\0" "glShaderSource\0" "glShaderSourceARB\0" "\0" - /* _mesa_function_pool[18701]: FragmentMaterialiSGIX (dynamic) */ + /* _mesa_function_pool[19326]: FragmentMaterialiSGIX (dynamic) */ "iii\0" "glFragmentMaterialiSGIX\0" "\0" - /* _mesa_function_pool[18730]: EvalCoord2dv (offset 233) */ + /* _mesa_function_pool[19355]: EvalCoord2dv (offset 233) */ "p\0" "glEvalCoord2dv\0" "\0" - /* _mesa_function_pool[18748]: VertexAttrib3svARB (will be remapped) */ + /* _mesa_function_pool[19373]: VertexAttrib3svARB (will be remapped) */ "ip\0" "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" "\0" - /* _mesa_function_pool[18791]: ColorMaterial (offset 151) */ + /* _mesa_function_pool[19416]: ColorMaterial (offset 151) */ "ii\0" "glColorMaterial\0" "\0" - /* _mesa_function_pool[18811]: CompressedTexSubImage3DARB (will be remapped) */ + /* _mesa_function_pool[19436]: CompressedTexSubImage3DARB (will be remapped) */ "iiiiiiiiiip\0" "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" "\0" - /* _mesa_function_pool[18879]: WindowPos2ivMESA (will be remapped) */ + /* _mesa_function_pool[19504]: WindowPos2ivMESA (will be remapped) */ "p\0" "glWindowPos2iv\0" "glWindowPos2ivARB\0" "glWindowPos2ivMESA\0" "\0" - /* _mesa_function_pool[18934]: IsFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[19559]: IsFramebufferEXT (will be remapped) */ "i\0" "glIsFramebuffer\0" "glIsFramebufferEXT\0" "\0" - /* _mesa_function_pool[18972]: Uniform4ivARB (will be remapped) */ + /* _mesa_function_pool[19597]: Uniform4ivARB (will be remapped) */ "iip\0" "glUniform4iv\0" "glUniform4ivARB\0" "\0" - /* _mesa_function_pool[19006]: GetVertexAttribdvARB (will be remapped) */ + /* _mesa_function_pool[19631]: GetVertexAttribdvARB (will be remapped) */ "iip\0" "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" "\0" - /* _mesa_function_pool[19054]: TexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[19679]: TexBumpParameterivATI (will be remapped) */ "ip\0" "glTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[19082]: GetSeparableFilter (offset 359) */ + /* _mesa_function_pool[19707]: GetSeparableFilter (offset 359) */ "iiippp\0" "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" "\0" - /* _mesa_function_pool[19135]: Binormal3dEXT (dynamic) */ + /* _mesa_function_pool[19760]: Binormal3dEXT (dynamic) */ "ddd\0" "glBinormal3dEXT\0" "\0" - /* _mesa_function_pool[19156]: SpriteParameteriSGIX (dynamic) */ + /* _mesa_function_pool[19781]: SpriteParameteriSGIX (dynamic) */ "ii\0" "glSpriteParameteriSGIX\0" "\0" - /* _mesa_function_pool[19183]: RequestResidentProgramsNV (will be remapped) */ + /* _mesa_function_pool[19808]: RequestResidentProgramsNV (will be remapped) */ "ip\0" "glRequestResidentProgramsNV\0" "\0" - /* _mesa_function_pool[19215]: TagSampleBufferSGIX (dynamic) */ + /* _mesa_function_pool[19840]: TagSampleBufferSGIX (dynamic) */ "\0" "glTagSampleBufferSGIX\0" "\0" - /* _mesa_function_pool[19239]: TransformFeedbackVaryingsEXT (will be remapped) */ + /* _mesa_function_pool[19864]: TransformFeedbackVaryingsEXT (will be remapped) */ "iipi\0" "glTransformFeedbackVaryingsEXT\0" "glTransformFeedbackVaryings\0" "\0" - /* _mesa_function_pool[19304]: FeedbackBuffer (offset 194) */ + /* _mesa_function_pool[19929]: FeedbackBuffer (offset 194) */ "iip\0" "glFeedbackBuffer\0" "\0" - /* _mesa_function_pool[19326]: RasterPos2iv (offset 67) */ + /* _mesa_function_pool[19951]: RasterPos2iv (offset 67) */ "p\0" "glRasterPos2iv\0" "\0" - /* _mesa_function_pool[19344]: TexImage1D (offset 182) */ + /* _mesa_function_pool[19969]: TexImage1D (offset 182) */ "iiiiiiip\0" "glTexImage1D\0" "\0" - /* _mesa_function_pool[19367]: ListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[19992]: ListParameterivSGIX (dynamic) */ "iip\0" "glListParameterivSGIX\0" "\0" - /* _mesa_function_pool[19394]: MultiDrawElementsEXT (will be remapped) */ + /* _mesa_function_pool[20019]: MultiDrawElementsEXT (will be remapped) */ "ipipi\0" "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" "\0" - /* _mesa_function_pool[19444]: Color3s (offset 17) */ + /* _mesa_function_pool[20069]: Color3s (offset 17) */ "iii\0" "glColor3s\0" "\0" - /* _mesa_function_pool[19459]: Uniform1ivARB (will be remapped) */ + /* _mesa_function_pool[20084]: Uniform1ivARB (will be remapped) */ "iip\0" "glUniform1iv\0" "glUniform1ivARB\0" "\0" - /* _mesa_function_pool[19493]: WindowPos2sMESA (will be remapped) */ + /* _mesa_function_pool[20118]: WindowPos2sMESA (will be remapped) */ "ii\0" "glWindowPos2s\0" "glWindowPos2sARB\0" "glWindowPos2sMESA\0" "\0" - /* _mesa_function_pool[19546]: WeightusvARB (dynamic) */ + /* _mesa_function_pool[20171]: WeightusvARB (dynamic) */ "ip\0" "glWeightusvARB\0" "\0" - /* _mesa_function_pool[19565]: TexCoordPointer (offset 320) */ + /* _mesa_function_pool[20190]: TexCoordPointer (offset 320) */ "iiip\0" "glTexCoordPointer\0" "\0" - /* _mesa_function_pool[19589]: FogCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[20214]: FogCoordPointerEXT (will be remapped) */ "iip\0" "glFogCoordPointer\0" "glFogCoordPointerEXT\0" "\0" - /* _mesa_function_pool[19633]: IndexMaterialEXT (dynamic) */ + /* _mesa_function_pool[20258]: IndexMaterialEXT (dynamic) */ "ii\0" "glIndexMaterialEXT\0" "\0" - /* _mesa_function_pool[19656]: Color3i (offset 15) */ + /* _mesa_function_pool[20281]: Color3i (offset 15) */ "iii\0" "glColor3i\0" "\0" - /* _mesa_function_pool[19671]: FrontFace (offset 157) */ + /* _mesa_function_pool[20296]: FrontFace (offset 157) */ "i\0" "glFrontFace\0" "\0" - /* _mesa_function_pool[19686]: EvalCoord2d (offset 232) */ + /* _mesa_function_pool[20311]: EvalCoord2d (offset 232) */ "dd\0" "glEvalCoord2d\0" "\0" - /* _mesa_function_pool[19704]: SecondaryColor3ubvEXT (will be remapped) */ + /* _mesa_function_pool[20329]: SecondaryColor3ubvEXT (will be remapped) */ "p\0" "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" "\0" - /* _mesa_function_pool[19752]: EvalCoord2f (offset 234) */ + /* _mesa_function_pool[20377]: EvalCoord2f (offset 234) */ "ff\0" "glEvalCoord2f\0" "\0" - /* _mesa_function_pool[19770]: VertexAttrib4dvARB (will be remapped) */ + /* _mesa_function_pool[20395]: VertexAttrib4dvARB (will be remapped) */ "ip\0" "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" "\0" - /* _mesa_function_pool[19813]: BindAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[20438]: BindAttribLocationARB (will be remapped) */ "iip\0" "glBindAttribLocation\0" "glBindAttribLocationARB\0" "\0" - /* _mesa_function_pool[19863]: Color3b (offset 9) */ + /* _mesa_function_pool[20488]: Color3b (offset 9) */ "iii\0" "glColor3b\0" "\0" - /* _mesa_function_pool[19878]: MultiTexCoord2dARB (offset 384) */ + /* _mesa_function_pool[20503]: MultiTexCoord2dARB (offset 384) */ "idd\0" "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" "\0" - /* _mesa_function_pool[19922]: ExecuteProgramNV (will be remapped) */ + /* _mesa_function_pool[20547]: ExecuteProgramNV (will be remapped) */ "iip\0" "glExecuteProgramNV\0" "\0" - /* _mesa_function_pool[19946]: Color3f (offset 13) */ + /* _mesa_function_pool[20571]: Color3f (offset 13) */ "fff\0" "glColor3f\0" "\0" - /* _mesa_function_pool[19961]: LightEnviSGIX (dynamic) */ + /* _mesa_function_pool[20586]: LightEnviSGIX (dynamic) */ "ii\0" "glLightEnviSGIX\0" "\0" - /* _mesa_function_pool[19981]: Color3d (offset 11) */ + /* _mesa_function_pool[20606]: Color3d (offset 11) */ "ddd\0" "glColor3d\0" "\0" - /* _mesa_function_pool[19996]: Normal3dv (offset 55) */ + /* _mesa_function_pool[20621]: Normal3dv (offset 55) */ "p\0" "glNormal3dv\0" "\0" - /* _mesa_function_pool[20011]: Lightf (offset 159) */ + /* _mesa_function_pool[20636]: Lightf (offset 159) */ "iif\0" "glLightf\0" "\0" - /* _mesa_function_pool[20025]: ReplacementCodeuiSUN (dynamic) */ + /* _mesa_function_pool[20650]: ReplacementCodeuiSUN (dynamic) */ "i\0" "glReplacementCodeuiSUN\0" "\0" - /* _mesa_function_pool[20051]: MatrixMode (offset 293) */ + /* _mesa_function_pool[20676]: MatrixMode (offset 293) */ "i\0" "glMatrixMode\0" "\0" - /* _mesa_function_pool[20067]: GetPixelMapusv (offset 273) */ + /* _mesa_function_pool[20692]: GetPixelMapusv (offset 273) */ "ip\0" "glGetPixelMapusv\0" "\0" - /* _mesa_function_pool[20088]: Lighti (offset 161) */ + /* _mesa_function_pool[20713]: Lighti (offset 161) */ "iii\0" "glLighti\0" "\0" - /* _mesa_function_pool[20102]: VertexAttribPointerNV (will be remapped) */ + /* _mesa_function_pool[20727]: VertexAttribPointerNV (will be remapped) */ "iiiip\0" "glVertexAttribPointerNV\0" "\0" - /* _mesa_function_pool[20133]: ProgramLocalParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[20758]: ProgramLocalParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramLocalParameters4fvEXT\0" "\0" - /* _mesa_function_pool[20170]: GetBooleanIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[20795]: GetBooleanIndexedvEXT (will be remapped) */ "iip\0" "glGetBooleanIndexedvEXT\0" "\0" - /* _mesa_function_pool[20199]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ + /* _mesa_function_pool[20824]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ "iiip\0" "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" "\0" - /* _mesa_function_pool[20284]: PixelTransformParameterfEXT (dynamic) */ + /* _mesa_function_pool[20909]: PixelTransformParameterfEXT (dynamic) */ "iif\0" "glPixelTransformParameterfEXT\0" "\0" - /* _mesa_function_pool[20319]: MultiTexCoord4dvARB (offset 401) */ + /* _mesa_function_pool[20944]: MultiTexCoord4dvARB (offset 401) */ "ip\0" "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" "\0" - /* _mesa_function_pool[20364]: PixelTransformParameteriEXT (dynamic) */ + /* _mesa_function_pool[20989]: PixelTransformParameteriEXT (dynamic) */ "iii\0" "glPixelTransformParameteriEXT\0" "\0" - /* _mesa_function_pool[20399]: GetDoublev (offset 260) */ + /* _mesa_function_pool[21024]: GetDoublev (offset 260) */ "ip\0" "glGetDoublev\0" "\0" - /* _mesa_function_pool[20416]: MultMatrixd (offset 295) */ + /* _mesa_function_pool[21041]: MultMatrixd (offset 295) */ "p\0" "glMultMatrixd\0" "\0" - /* _mesa_function_pool[20433]: MultMatrixf (offset 294) */ + /* _mesa_function_pool[21058]: MultMatrixf (offset 294) */ "p\0" "glMultMatrixf\0" "\0" - /* _mesa_function_pool[20450]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[21075]: VertexAttribI4bvEXT (will be remapped) */ + "ip\0" + "glVertexAttribI4bvEXT\0" + "\0" + /* _mesa_function_pool[21101]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ "ffiiiifff\0" "glTexCoord2fColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[20493]: Uniform1iARB (will be remapped) */ + /* _mesa_function_pool[21144]: Uniform1iARB (will be remapped) */ "ii\0" "glUniform1i\0" "glUniform1iARB\0" "\0" - /* _mesa_function_pool[20524]: VertexAttribPointerARB (will be remapped) */ + /* _mesa_function_pool[21175]: VertexAttribPointerARB (will be remapped) */ "iiiiip\0" "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" "\0" - /* _mesa_function_pool[20579]: VertexAttrib3sNV (will be remapped) */ + /* _mesa_function_pool[21230]: VertexAttrib3sNV (will be remapped) */ "iiii\0" "glVertexAttrib3sNV\0" "\0" - /* _mesa_function_pool[20604]: SharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[21255]: SharpenTexFuncSGIS (dynamic) */ "iip\0" "glSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[20630]: MultiTexCoord4fvARB (offset 403) */ + /* _mesa_function_pool[21281]: MultiTexCoord4fvARB (offset 403) */ "ip\0" "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" "\0" - /* _mesa_function_pool[20675]: UniformMatrix2x3fv (will be remapped) */ + /* _mesa_function_pool[21326]: Uniform2uiEXT (will be remapped) */ + "iii\0" + "glUniform2uiEXT\0" + "\0" + /* _mesa_function_pool[21347]: UniformMatrix2x3fv (will be remapped) */ "iiip\0" "glUniformMatrix2x3fv\0" "\0" - /* _mesa_function_pool[20702]: TrackMatrixNV (will be remapped) */ + /* _mesa_function_pool[21374]: TrackMatrixNV (will be remapped) */ "iiii\0" "glTrackMatrixNV\0" "\0" - /* _mesa_function_pool[20724]: CombinerParameteriNV (will be remapped) */ + /* _mesa_function_pool[21396]: CombinerParameteriNV (will be remapped) */ "ii\0" "glCombinerParameteriNV\0" "\0" - /* _mesa_function_pool[20751]: DeleteAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[21423]: DeleteAsyncMarkersSGIX (dynamic) */ "ii\0" "glDeleteAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[20780]: ReplacementCodeusSUN (dynamic) */ + /* _mesa_function_pool[21452]: ReplacementCodeusSUN (dynamic) */ "i\0" "glReplacementCodeusSUN\0" "\0" - /* _mesa_function_pool[20806]: IsAsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[21478]: IsAsyncMarkerSGIX (dynamic) */ "i\0" "glIsAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[20829]: FrameZoomSGIX (dynamic) */ + /* _mesa_function_pool[21501]: FrameZoomSGIX (dynamic) */ "i\0" "glFrameZoomSGIX\0" "\0" - /* _mesa_function_pool[20848]: Normal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[21520]: Normal3fVertex3fvSUN (dynamic) */ "pp\0" "glNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[20875]: RasterPos4sv (offset 85) */ + /* _mesa_function_pool[21547]: RasterPos4sv (offset 85) */ "p\0" "glRasterPos4sv\0" "\0" - /* _mesa_function_pool[20893]: VertexAttrib4NsvARB (will be remapped) */ + /* _mesa_function_pool[21565]: VertexAttrib4NsvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" "\0" - /* _mesa_function_pool[20938]: VertexAttrib3fvARB (will be remapped) */ + /* _mesa_function_pool[21610]: VertexAttrib3fvARB (will be remapped) */ "ip\0" "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" "\0" - /* _mesa_function_pool[20981]: ClearColor (offset 206) */ + /* _mesa_function_pool[21653]: ClearColor (offset 206) */ "ffff\0" "glClearColor\0" "\0" - /* _mesa_function_pool[21000]: GetSynciv (will be remapped) */ + /* _mesa_function_pool[21672]: GetSynciv (will be remapped) */ "iiipp\0" "glGetSynciv\0" "\0" - /* _mesa_function_pool[21019]: ClearColorIiEXT (will be remapped) */ + /* _mesa_function_pool[21691]: ClearColorIiEXT (will be remapped) */ "iiii\0" "glClearColorIiEXT\0" "\0" - /* _mesa_function_pool[21043]: DeleteFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[21715]: DeleteFramebuffersEXT (will be remapped) */ "ip\0" "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" "\0" - /* _mesa_function_pool[21092]: GlobalAlphaFactorsSUN (dynamic) */ + /* _mesa_function_pool[21764]: GlobalAlphaFactorsSUN (dynamic) */ "i\0" "glGlobalAlphaFactorsSUN\0" "\0" - /* _mesa_function_pool[21119]: IsEnabledIndexedEXT (will be remapped) */ + /* _mesa_function_pool[21791]: IsEnabledIndexedEXT (will be remapped) */ "ii\0" "glIsEnabledIndexedEXT\0" "\0" - /* _mesa_function_pool[21145]: TexEnviv (offset 187) */ + /* _mesa_function_pool[21817]: TexEnviv (offset 187) */ "iip\0" "glTexEnviv\0" "\0" - /* _mesa_function_pool[21161]: TexSubImage3D (offset 372) */ + /* _mesa_function_pool[21833]: TexSubImage3D (offset 372) */ "iiiiiiiiiip\0" "glTexSubImage3D\0" "glTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[21209]: Tangent3fEXT (dynamic) */ + /* _mesa_function_pool[21881]: Tangent3fEXT (dynamic) */ "fff\0" "glTangent3fEXT\0" "\0" - /* _mesa_function_pool[21229]: SecondaryColor3uivEXT (will be remapped) */ + /* _mesa_function_pool[21901]: SecondaryColor3uivEXT (will be remapped) */ "p\0" "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" "\0" - /* _mesa_function_pool[21277]: MatrixIndexubvARB (dynamic) */ + /* _mesa_function_pool[21949]: MatrixIndexubvARB (dynamic) */ "ip\0" "glMatrixIndexubvARB\0" "\0" - /* _mesa_function_pool[21301]: Color4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[21973]: Color4fNormal3fVertex3fSUN (dynamic) */ "ffffffffff\0" "glColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[21342]: PixelTexGenParameterfSGIS (will be remapped) */ + /* _mesa_function_pool[22014]: PixelTexGenParameterfSGIS (will be remapped) */ "if\0" "glPixelTexGenParameterfSGIS\0" "\0" - /* _mesa_function_pool[21374]: CreateShader (will be remapped) */ + /* _mesa_function_pool[22046]: CreateShader (will be remapped) */ "i\0" "glCreateShader\0" "\0" - /* _mesa_function_pool[21392]: GetColorTableParameterfv (offset 344) */ + /* _mesa_function_pool[22064]: GetColorTableParameterfv (offset 344) */ "iip\0" "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" "glGetColorTableParameterfvEXT\0" "\0" - /* _mesa_function_pool[21484]: FragmentLightModelfvSGIX (dynamic) */ + /* _mesa_function_pool[22156]: FragmentLightModelfvSGIX (dynamic) */ "ip\0" "glFragmentLightModelfvSGIX\0" "\0" - /* _mesa_function_pool[21515]: Bitmap (offset 8) */ + /* _mesa_function_pool[22187]: Bitmap (offset 8) */ "iiffffp\0" "glBitmap\0" "\0" - /* _mesa_function_pool[21533]: MultiTexCoord3fARB (offset 394) */ + /* _mesa_function_pool[22205]: MultiTexCoord3fARB (offset 394) */ "ifff\0" "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" "\0" - /* _mesa_function_pool[21578]: GetTexLevelParameterfv (offset 284) */ + /* _mesa_function_pool[22250]: GetTexLevelParameterfv (offset 284) */ "iiip\0" "glGetTexLevelParameterfv\0" "\0" - /* _mesa_function_pool[21609]: GetPixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[22281]: GetPixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[21645]: GenFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[22317]: GenFramebuffersEXT (will be remapped) */ "ip\0" "glGenFramebuffers\0" "glGenFramebuffersEXT\0" "\0" - /* _mesa_function_pool[21688]: GetProgramParameterdvNV (will be remapped) */ + /* _mesa_function_pool[22360]: GetProgramParameterdvNV (will be remapped) */ "iiip\0" "glGetProgramParameterdvNV\0" "\0" - /* _mesa_function_pool[21720]: Vertex2sv (offset 133) */ + /* _mesa_function_pool[22392]: Vertex2sv (offset 133) */ "p\0" "glVertex2sv\0" "\0" - /* _mesa_function_pool[21735]: GetIntegerv (offset 263) */ + /* _mesa_function_pool[22407]: GetIntegerv (offset 263) */ "ip\0" "glGetIntegerv\0" "\0" - /* _mesa_function_pool[21753]: IsVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[22425]: IsVertexArrayAPPLE (will be remapped) */ "i\0" "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[21793]: FragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[22465]: FragmentLightfvSGIX (dynamic) */ "iip\0" "glFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[21820]: DetachShader (will be remapped) */ + /* _mesa_function_pool[22492]: DetachShader (will be remapped) */ "ii\0" "glDetachShader\0" "\0" - /* _mesa_function_pool[21839]: VertexAttrib4NubARB (will be remapped) */ + /* _mesa_function_pool[22511]: VertexAttrib4NubARB (will be remapped) */ "iiiii\0" "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" "\0" - /* _mesa_function_pool[21887]: GetProgramEnvParameterfvARB (will be remapped) */ + /* _mesa_function_pool[22559]: GetProgramEnvParameterfvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterfvARB\0" "\0" - /* _mesa_function_pool[21922]: GetTrackMatrixivNV (will be remapped) */ + /* _mesa_function_pool[22594]: GetTrackMatrixivNV (will be remapped) */ "iiip\0" "glGetTrackMatrixivNV\0" "\0" - /* _mesa_function_pool[21949]: VertexAttrib3svNV (will be remapped) */ + /* _mesa_function_pool[22621]: VertexAttrib3svNV (will be remapped) */ "ip\0" "glVertexAttrib3svNV\0" "\0" - /* _mesa_function_pool[21973]: Uniform4fvARB (will be remapped) */ + /* _mesa_function_pool[22645]: Uniform4fvARB (will be remapped) */ "iip\0" "glUniform4fv\0" "glUniform4fvARB\0" "\0" - /* _mesa_function_pool[22007]: MultTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[22679]: MultTransposeMatrixfARB (will be remapped) */ "p\0" "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[22059]: GetTexEnviv (offset 277) */ + /* _mesa_function_pool[22731]: GetTexEnviv (offset 277) */ "iip\0" "glGetTexEnviv\0" "\0" - /* _mesa_function_pool[22078]: ColorFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[22750]: ColorFragmentOp1ATI (will be remapped) */ "iiiiiii\0" "glColorFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[22109]: GetUniformfvARB (will be remapped) */ + /* _mesa_function_pool[22781]: GetUniformfvARB (will be remapped) */ "iip\0" "glGetUniformfv\0" "glGetUniformfvARB\0" "\0" - /* _mesa_function_pool[22147]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ + /* _mesa_function_pool[22819]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ "ip\0" "glEGLImageTargetRenderbufferStorageOES\0" "\0" - /* _mesa_function_pool[22190]: PopClientAttrib (offset 334) */ + /* _mesa_function_pool[22862]: VertexAttribI2ivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI2ivEXT\0" + "\0" + /* _mesa_function_pool[22888]: PopClientAttrib (offset 334) */ "\0" "glPopClientAttrib\0" "\0" - /* _mesa_function_pool[22210]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[22908]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffffff\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[22281]: DetachObjectARB (will be remapped) */ + /* _mesa_function_pool[22979]: DetachObjectARB (will be remapped) */ "ii\0" "glDetachObjectARB\0" "\0" - /* _mesa_function_pool[22303]: VertexBlendARB (dynamic) */ + /* _mesa_function_pool[23001]: VertexBlendARB (dynamic) */ "i\0" "glVertexBlendARB\0" "\0" - /* _mesa_function_pool[22323]: WindowPos3iMESA (will be remapped) */ + /* _mesa_function_pool[23021]: WindowPos3iMESA (will be remapped) */ "iii\0" "glWindowPos3i\0" "glWindowPos3iARB\0" "glWindowPos3iMESA\0" "\0" - /* _mesa_function_pool[22377]: SeparableFilter2D (offset 360) */ + /* _mesa_function_pool[23075]: SeparableFilter2D (offset 360) */ "iiiiiipp\0" "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" "\0" - /* _mesa_function_pool[22430]: ProgramParameteriARB (will be remapped) */ + /* _mesa_function_pool[23128]: ProgramParameteriARB (will be remapped) */ "iii\0" "glProgramParameteriARB\0" "\0" - /* _mesa_function_pool[22458]: Map1d (offset 220) */ + /* _mesa_function_pool[23156]: Map1d (offset 220) */ "iddiip\0" "glMap1d\0" "\0" - /* _mesa_function_pool[22474]: Map1f (offset 221) */ + /* _mesa_function_pool[23172]: Map1f (offset 221) */ "iffiip\0" "glMap1f\0" "\0" - /* _mesa_function_pool[22490]: CompressedTexImage2DARB (will be remapped) */ + /* _mesa_function_pool[23188]: CompressedTexImage2DARB (will be remapped) */ "iiiiiiip\0" "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" "\0" - /* _mesa_function_pool[22549]: ArrayElement (offset 306) */ + /* _mesa_function_pool[23247]: ArrayElement (offset 306) */ "i\0" "glArrayElement\0" "glArrayElementEXT\0" "\0" - /* _mesa_function_pool[22585]: TexImage2D (offset 183) */ + /* _mesa_function_pool[23283]: TexImage2D (offset 183) */ "iiiiiiiip\0" "glTexImage2D\0" "\0" - /* _mesa_function_pool[22609]: DepthBoundsEXT (will be remapped) */ + /* _mesa_function_pool[23307]: DepthBoundsEXT (will be remapped) */ "dd\0" "glDepthBoundsEXT\0" "\0" - /* _mesa_function_pool[22630]: ProgramParameters4fvNV (will be remapped) */ + /* _mesa_function_pool[23328]: ProgramParameters4fvNV (will be remapped) */ "iiip\0" "glProgramParameters4fvNV\0" "\0" - /* _mesa_function_pool[22661]: DeformationMap3fSGIX (dynamic) */ + /* _mesa_function_pool[23359]: DeformationMap3fSGIX (dynamic) */ "iffiiffiiffiip\0" "glDeformationMap3fSGIX\0" "\0" - /* _mesa_function_pool[22700]: GetProgramivNV (will be remapped) */ + /* _mesa_function_pool[23398]: GetProgramivNV (will be remapped) */ "iip\0" "glGetProgramivNV\0" "\0" - /* _mesa_function_pool[22722]: GetMinmaxParameteriv (offset 366) */ + /* _mesa_function_pool[23420]: GetFragDataLocationEXT (will be remapped) */ + "ip\0" + "glGetFragDataLocationEXT\0" + "\0" + /* _mesa_function_pool[23449]: GetMinmaxParameteriv (offset 366) */ "iip\0" "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" "\0" - /* _mesa_function_pool[22776]: PixelTransferf (offset 247) */ + /* _mesa_function_pool[23503]: PixelTransferf (offset 247) */ "if\0" "glPixelTransferf\0" "\0" - /* _mesa_function_pool[22797]: CopyTexImage1D (offset 323) */ + /* _mesa_function_pool[23524]: CopyTexImage1D (offset 323) */ "iiiiiii\0" "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" "\0" - /* _mesa_function_pool[22843]: PushMatrix (offset 298) */ + /* _mesa_function_pool[23570]: PushMatrix (offset 298) */ "\0" "glPushMatrix\0" "\0" - /* _mesa_function_pool[22858]: Fogiv (offset 156) */ + /* _mesa_function_pool[23585]: Fogiv (offset 156) */ "ip\0" "glFogiv\0" "\0" - /* _mesa_function_pool[22870]: TexCoord1dv (offset 95) */ + /* _mesa_function_pool[23597]: TexCoord1dv (offset 95) */ "p\0" "glTexCoord1dv\0" "\0" - /* _mesa_function_pool[22887]: AlphaFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[23614]: AlphaFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiii\0" "glAlphaFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[22923]: PixelTransferi (offset 248) */ + /* _mesa_function_pool[23650]: PixelTransferi (offset 248) */ "ii\0" "glPixelTransferi\0" "\0" - /* _mesa_function_pool[22944]: GetVertexAttribdvNV (will be remapped) */ + /* _mesa_function_pool[23671]: GetVertexAttribdvNV (will be remapped) */ "iip\0" "glGetVertexAttribdvNV\0" "\0" - /* _mesa_function_pool[22971]: VertexAttrib3fvNV (will be remapped) */ + /* _mesa_function_pool[23698]: VertexAttrib3fvNV (will be remapped) */ "ip\0" "glVertexAttrib3fvNV\0" "\0" - /* _mesa_function_pool[22995]: Rotatef (offset 300) */ + /* _mesa_function_pool[23722]: Rotatef (offset 300) */ "ffff\0" "glRotatef\0" "\0" - /* _mesa_function_pool[23011]: GetFinalCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[23738]: GetFinalCombinerInputParameterivNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[23053]: Vertex3i (offset 138) */ + /* _mesa_function_pool[23780]: Vertex3i (offset 138) */ "iii\0" "glVertex3i\0" "\0" - /* _mesa_function_pool[23069]: Vertex3f (offset 136) */ + /* _mesa_function_pool[23796]: Vertex3f (offset 136) */ "fff\0" "glVertex3f\0" "\0" - /* _mesa_function_pool[23085]: Clear (offset 203) */ + /* _mesa_function_pool[23812]: Clear (offset 203) */ "i\0" "glClear\0" "\0" - /* _mesa_function_pool[23096]: Vertex3d (offset 134) */ + /* _mesa_function_pool[23823]: Vertex3d (offset 134) */ "ddd\0" "glVertex3d\0" "\0" - /* _mesa_function_pool[23112]: GetMapParameterivNV (dynamic) */ + /* _mesa_function_pool[23839]: GetMapParameterivNV (dynamic) */ "iip\0" "glGetMapParameterivNV\0" "\0" - /* _mesa_function_pool[23139]: Uniform4iARB (will be remapped) */ + /* _mesa_function_pool[23866]: Uniform4iARB (will be remapped) */ "iiiii\0" "glUniform4i\0" "glUniform4iARB\0" "\0" - /* _mesa_function_pool[23173]: ReadBuffer (offset 254) */ + /* _mesa_function_pool[23900]: ReadBuffer (offset 254) */ "i\0" "glReadBuffer\0" "\0" - /* _mesa_function_pool[23189]: ConvolutionParameteri (offset 352) */ + /* _mesa_function_pool[23916]: ConvolutionParameteri (offset 352) */ "iii\0" "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" "\0" - /* _mesa_function_pool[23245]: Ortho (offset 296) */ + /* _mesa_function_pool[23972]: Ortho (offset 296) */ "dddddd\0" "glOrtho\0" "\0" - /* _mesa_function_pool[23261]: Binormal3sEXT (dynamic) */ + /* _mesa_function_pool[23988]: Binormal3sEXT (dynamic) */ "iii\0" "glBinormal3sEXT\0" "\0" - /* _mesa_function_pool[23282]: ListBase (offset 6) */ + /* _mesa_function_pool[24009]: ListBase (offset 6) */ "i\0" "glListBase\0" "\0" - /* _mesa_function_pool[23296]: Vertex3s (offset 140) */ + /* _mesa_function_pool[24023]: Vertex3s (offset 140) */ "iii\0" "glVertex3s\0" "\0" - /* _mesa_function_pool[23312]: ConvolutionParameterf (offset 350) */ + /* _mesa_function_pool[24039]: ConvolutionParameterf (offset 350) */ "iif\0" "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" "\0" - /* _mesa_function_pool[23368]: GetColorTableParameteriv (offset 345) */ + /* _mesa_function_pool[24095]: GetColorTableParameteriv (offset 345) */ "iip\0" "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" "glGetColorTableParameterivEXT\0" "\0" - /* _mesa_function_pool[23460]: ProgramEnvParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[24187]: ProgramEnvParameter4dvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" "\0" - /* _mesa_function_pool[23517]: ShadeModel (offset 177) */ + /* _mesa_function_pool[24244]: ShadeModel (offset 177) */ "i\0" "glShadeModel\0" "\0" - /* _mesa_function_pool[23533]: VertexAttribs2fvNV (will be remapped) */ + /* _mesa_function_pool[24260]: VertexAttribs2fvNV (will be remapped) */ "iip\0" "glVertexAttribs2fvNV\0" "\0" - /* _mesa_function_pool[23559]: Rectiv (offset 91) */ + /* _mesa_function_pool[24286]: Rectiv (offset 91) */ "pp\0" "glRectiv\0" "\0" - /* _mesa_function_pool[23572]: UseProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[24299]: UseProgramObjectARB (will be remapped) */ "i\0" "glUseProgram\0" "glUseProgramObjectARB\0" "\0" - /* _mesa_function_pool[23610]: GetMapParameterfvNV (dynamic) */ + /* _mesa_function_pool[24337]: GetMapParameterfvNV (dynamic) */ "iip\0" "glGetMapParameterfvNV\0" "\0" - /* _mesa_function_pool[23637]: EndConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[24364]: EndConditionalRenderNV (will be remapped) */ "\0" "glEndConditionalRenderNV\0" "\0" - /* _mesa_function_pool[23664]: PassTexCoordATI (will be remapped) */ + /* _mesa_function_pool[24391]: PassTexCoordATI (will be remapped) */ "iii\0" "glPassTexCoordATI\0" "\0" - /* _mesa_function_pool[23687]: DeleteProgram (will be remapped) */ + /* _mesa_function_pool[24414]: DeleteProgram (will be remapped) */ "i\0" "glDeleteProgram\0" "\0" - /* _mesa_function_pool[23706]: Tangent3ivEXT (dynamic) */ + /* _mesa_function_pool[24433]: Tangent3ivEXT (dynamic) */ "p\0" "glTangent3ivEXT\0" "\0" - /* _mesa_function_pool[23725]: Tangent3dEXT (dynamic) */ + /* _mesa_function_pool[24452]: Tangent3dEXT (dynamic) */ "ddd\0" "glTangent3dEXT\0" "\0" - /* _mesa_function_pool[23745]: SecondaryColor3dvEXT (will be remapped) */ + /* _mesa_function_pool[24472]: SecondaryColor3dvEXT (will be remapped) */ "p\0" "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" "\0" - /* _mesa_function_pool[23791]: Vertex2fv (offset 129) */ + /* _mesa_function_pool[24518]: Vertex2fv (offset 129) */ "p\0" "glVertex2fv\0" "\0" - /* _mesa_function_pool[23806]: MultiDrawArraysEXT (will be remapped) */ + /* _mesa_function_pool[24533]: MultiDrawArraysEXT (will be remapped) */ "ippi\0" "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" "\0" - /* _mesa_function_pool[23851]: BindRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[24578]: BindRenderbufferEXT (will be remapped) */ "ii\0" "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" "\0" - /* _mesa_function_pool[23896]: MultiTexCoord4dARB (offset 400) */ + /* _mesa_function_pool[24623]: MultiTexCoord4dARB (offset 400) */ "idddd\0" "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" "\0" - /* _mesa_function_pool[23942]: FramebufferTextureFaceARB (will be remapped) */ + /* _mesa_function_pool[24669]: FramebufferTextureFaceARB (will be remapped) */ "iiiii\0" "glFramebufferTextureFaceARB\0" "\0" - /* _mesa_function_pool[23977]: Vertex3sv (offset 141) */ + /* _mesa_function_pool[24704]: Vertex3sv (offset 141) */ "p\0" "glVertex3sv\0" "\0" - /* _mesa_function_pool[23992]: SecondaryColor3usEXT (will be remapped) */ + /* _mesa_function_pool[24719]: SecondaryColor3usEXT (will be remapped) */ "iii\0" "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" "\0" - /* _mesa_function_pool[24040]: ProgramLocalParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[24767]: ProgramLocalParameter4fvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4fvARB\0" "\0" - /* _mesa_function_pool[24075]: DeleteProgramsNV (will be remapped) */ + /* _mesa_function_pool[24802]: DeleteProgramsNV (will be remapped) */ "ip\0" "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" "\0" - /* _mesa_function_pool[24118]: EvalMesh1 (offset 236) */ + /* _mesa_function_pool[24845]: EvalMesh1 (offset 236) */ "iii\0" "glEvalMesh1\0" "\0" - /* _mesa_function_pool[24135]: PauseTransformFeedback (will be remapped) */ + /* _mesa_function_pool[24862]: PauseTransformFeedback (will be remapped) */ "\0" "glPauseTransformFeedback\0" "\0" - /* _mesa_function_pool[24162]: MultiTexCoord1sARB (offset 382) */ + /* _mesa_function_pool[24889]: MultiTexCoord1sARB (offset 382) */ "ii\0" "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" "\0" - /* _mesa_function_pool[24205]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[24932]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[24252]: GetVertexAttribPointervNV (will be remapped) */ + /* _mesa_function_pool[24979]: GetVertexAttribPointervNV (will be remapped) */ "iip\0" "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" "\0" - /* _mesa_function_pool[24340]: VertexAttribs1fvNV (will be remapped) */ + /* _mesa_function_pool[25067]: VertexAttribs1fvNV (will be remapped) */ "iip\0" "glVertexAttribs1fvNV\0" "\0" - /* _mesa_function_pool[24366]: MultiTexCoord1dvARB (offset 377) */ + /* _mesa_function_pool[25093]: MultiTexCoord1dvARB (offset 377) */ "ip\0" "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" "\0" - /* _mesa_function_pool[24411]: Uniform2iARB (will be remapped) */ + /* _mesa_function_pool[25138]: Uniform2iARB (will be remapped) */ "iii\0" "glUniform2i\0" "glUniform2iARB\0" "\0" - /* _mesa_function_pool[24443]: Vertex2iv (offset 131) */ + /* _mesa_function_pool[25170]: Vertex2iv (offset 131) */ "p\0" "glVertex2iv\0" "\0" - /* _mesa_function_pool[24458]: GetProgramStringNV (will be remapped) */ + /* _mesa_function_pool[25185]: GetProgramStringNV (will be remapped) */ "iip\0" "glGetProgramStringNV\0" "\0" - /* _mesa_function_pool[24484]: ColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[25211]: ColorPointerEXT (will be remapped) */ "iiiip\0" "glColorPointerEXT\0" "\0" - /* _mesa_function_pool[24509]: LineWidth (offset 168) */ + /* _mesa_function_pool[25236]: LineWidth (offset 168) */ "f\0" "glLineWidth\0" "\0" - /* _mesa_function_pool[24524]: MapBufferARB (will be remapped) */ + /* _mesa_function_pool[25251]: MapBufferARB (will be remapped) */ "ii\0" "glMapBuffer\0" "glMapBufferARB\0" "\0" - /* _mesa_function_pool[24555]: MultiDrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[25282]: MultiDrawElementsBaseVertex (will be remapped) */ "ipipip\0" "glMultiDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[24593]: TexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[25320]: TexParameterIuivEXT (will be remapped) */ "iip\0" "glTexParameterIuivEXT\0" "\0" - /* _mesa_function_pool[24620]: Binormal3svEXT (dynamic) */ + /* _mesa_function_pool[25347]: Binormal3svEXT (dynamic) */ "p\0" "glBinormal3svEXT\0" "\0" - /* _mesa_function_pool[24640]: ApplyTextureEXT (dynamic) */ + /* _mesa_function_pool[25367]: ApplyTextureEXT (dynamic) */ "i\0" "glApplyTextureEXT\0" "\0" - /* _mesa_function_pool[24661]: TexGendv (offset 189) */ + /* _mesa_function_pool[25388]: TexGendv (offset 189) */ "iip\0" "glTexGendv\0" "\0" - /* _mesa_function_pool[24677]: EnableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[25404]: VertexAttribI3iEXT (will be remapped) */ + "iiii\0" + "glVertexAttribI3iEXT\0" + "\0" + /* _mesa_function_pool[25431]: EnableIndexedEXT (will be remapped) */ "ii\0" "glEnableIndexedEXT\0" "\0" - /* _mesa_function_pool[24700]: TextureMaterialEXT (dynamic) */ + /* _mesa_function_pool[25454]: TextureMaterialEXT (dynamic) */ "ii\0" "glTextureMaterialEXT\0" "\0" - /* _mesa_function_pool[24725]: TextureLightEXT (dynamic) */ + /* _mesa_function_pool[25479]: TextureLightEXT (dynamic) */ "i\0" "glTextureLightEXT\0" "\0" - /* _mesa_function_pool[24746]: ResetMinmax (offset 370) */ + /* _mesa_function_pool[25500]: ResetMinmax (offset 370) */ "i\0" "glResetMinmax\0" "glResetMinmaxEXT\0" "\0" - /* _mesa_function_pool[24780]: SpriteParameterfSGIX (dynamic) */ + /* _mesa_function_pool[25534]: SpriteParameterfSGIX (dynamic) */ "if\0" "glSpriteParameterfSGIX\0" "\0" - /* _mesa_function_pool[24807]: EnableClientState (offset 313) */ + /* _mesa_function_pool[25561]: EnableClientState (offset 313) */ "i\0" "glEnableClientState\0" "\0" - /* _mesa_function_pool[24830]: VertexAttrib4sNV (will be remapped) */ + /* _mesa_function_pool[25584]: VertexAttrib4sNV (will be remapped) */ "iiiii\0" "glVertexAttrib4sNV\0" "\0" - /* _mesa_function_pool[24856]: GetConvolutionParameterfv (offset 357) */ + /* _mesa_function_pool[25610]: GetConvolutionParameterfv (offset 357) */ "iip\0" "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[24920]: VertexAttribs4dvNV (will be remapped) */ + /* _mesa_function_pool[25674]: VertexAttribs4dvNV (will be remapped) */ "iip\0" "glVertexAttribs4dvNV\0" "\0" - /* _mesa_function_pool[24946]: MultiModeDrawArraysIBM (will be remapped) */ - "pppii\0" - "glMultiModeDrawArraysIBM\0" - "\0" - /* _mesa_function_pool[24978]: VertexAttrib4dARB (will be remapped) */ + /* _mesa_function_pool[25700]: VertexAttrib4dARB (will be remapped) */ "idddd\0" "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" "\0" - /* _mesa_function_pool[25022]: GetTexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[25744]: GetTexBumpParameterfvATI (will be remapped) */ "ip\0" "glGetTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[25053]: ProgramNamedParameter4dNV (will be remapped) */ + /* _mesa_function_pool[25775]: ProgramNamedParameter4dNV (will be remapped) */ "iipdddd\0" "glProgramNamedParameter4dNV\0" "\0" - /* _mesa_function_pool[25090]: GetMaterialfv (offset 269) */ + /* _mesa_function_pool[25812]: GetMaterialfv (offset 269) */ "iip\0" "glGetMaterialfv\0" "\0" - /* _mesa_function_pool[25111]: VertexWeightfEXT (dynamic) */ + /* _mesa_function_pool[25833]: VertexWeightfEXT (dynamic) */ "f\0" "glVertexWeightfEXT\0" "\0" - /* _mesa_function_pool[25133]: Binormal3fEXT (dynamic) */ + /* _mesa_function_pool[25855]: Binormal3fEXT (dynamic) */ "fff\0" "glBinormal3fEXT\0" "\0" - /* _mesa_function_pool[25154]: CallList (offset 2) */ + /* _mesa_function_pool[25876]: CallList (offset 2) */ "i\0" "glCallList\0" "\0" - /* _mesa_function_pool[25168]: Materialfv (offset 170) */ + /* _mesa_function_pool[25890]: Materialfv (offset 170) */ "iip\0" "glMaterialfv\0" "\0" - /* _mesa_function_pool[25186]: TexCoord3fv (offset 113) */ + /* _mesa_function_pool[25908]: TexCoord3fv (offset 113) */ "p\0" "glTexCoord3fv\0" "\0" - /* _mesa_function_pool[25203]: FogCoordfvEXT (will be remapped) */ + /* _mesa_function_pool[25925]: FogCoordfvEXT (will be remapped) */ "p\0" "glFogCoordfv\0" "glFogCoordfvEXT\0" "\0" - /* _mesa_function_pool[25235]: MultiTexCoord1ivARB (offset 381) */ + /* _mesa_function_pool[25957]: MultiTexCoord1ivARB (offset 381) */ "ip\0" "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" "\0" - /* _mesa_function_pool[25280]: SecondaryColor3ubEXT (will be remapped) */ + /* _mesa_function_pool[26002]: SecondaryColor3ubEXT (will be remapped) */ "iii\0" "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" "\0" - /* _mesa_function_pool[25328]: MultiTexCoord2ivARB (offset 389) */ + /* _mesa_function_pool[26050]: MultiTexCoord2ivARB (offset 389) */ "ip\0" "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" "\0" - /* _mesa_function_pool[25373]: FogFuncSGIS (dynamic) */ + /* _mesa_function_pool[26095]: FogFuncSGIS (dynamic) */ "ip\0" "glFogFuncSGIS\0" "\0" - /* _mesa_function_pool[25391]: CopyTexSubImage2D (offset 326) */ + /* _mesa_function_pool[26113]: CopyTexSubImage2D (offset 326) */ "iiiiiiii\0" "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[25444]: GetObjectParameterivARB (will be remapped) */ + /* _mesa_function_pool[26166]: GetObjectParameterivARB (will be remapped) */ "iip\0" "glGetObjectParameterivARB\0" "\0" - /* _mesa_function_pool[25475]: Color3iv (offset 16) */ + /* _mesa_function_pool[26197]: Color3iv (offset 16) */ "p\0" "glColor3iv\0" "\0" - /* _mesa_function_pool[25489]: TexCoord4fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[26211]: TexCoord4fVertex4fSUN (dynamic) */ "ffffffff\0" "glTexCoord4fVertex4fSUN\0" "\0" - /* _mesa_function_pool[25523]: DrawElements (offset 311) */ + /* _mesa_function_pool[26245]: DrawElements (offset 311) */ "iiip\0" "glDrawElements\0" "\0" - /* _mesa_function_pool[25544]: BindVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[26266]: BindVertexArrayAPPLE (will be remapped) */ "i\0" "glBindVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[25570]: GetProgramLocalParameterdvARB (will be remapped) */ + /* _mesa_function_pool[26292]: GetProgramLocalParameterdvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterdvARB\0" "\0" - /* _mesa_function_pool[25607]: GetHistogramParameteriv (offset 363) */ + /* _mesa_function_pool[26329]: GetHistogramParameteriv (offset 363) */ "iip\0" "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" "\0" - /* _mesa_function_pool[25667]: MultiTexCoord1iARB (offset 380) */ + /* _mesa_function_pool[26389]: MultiTexCoord1iARB (offset 380) */ "ii\0" "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" "\0" - /* _mesa_function_pool[25710]: GetConvolutionFilter (offset 356) */ + /* _mesa_function_pool[26432]: GetConvolutionFilter (offset 356) */ "iiip\0" "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" "\0" - /* _mesa_function_pool[25765]: GetProgramivARB (will be remapped) */ + /* _mesa_function_pool[26487]: GetProgramivARB (will be remapped) */ "iip\0" "glGetProgramivARB\0" "\0" - /* _mesa_function_pool[25788]: BlendFuncSeparateEXT (will be remapped) */ + /* _mesa_function_pool[26510]: BlendFuncSeparateEXT (will be remapped) */ "iiii\0" "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" "glBlendFuncSeparateINGR\0" "\0" - /* _mesa_function_pool[25861]: MapBufferRange (will be remapped) */ + /* _mesa_function_pool[26583]: MapBufferRange (will be remapped) */ "iiii\0" "glMapBufferRange\0" "\0" - /* _mesa_function_pool[25884]: ProgramParameters4dvNV (will be remapped) */ + /* _mesa_function_pool[26606]: ProgramParameters4dvNV (will be remapped) */ "iiip\0" "glProgramParameters4dvNV\0" "\0" - /* _mesa_function_pool[25915]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[26637]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[25952]: EvalPoint2 (offset 239) */ + /* _mesa_function_pool[26674]: EvalPoint2 (offset 239) */ "ii\0" "glEvalPoint2\0" "\0" - /* _mesa_function_pool[25969]: EvalPoint1 (offset 237) */ + /* _mesa_function_pool[26691]: Uniform1uivEXT (will be remapped) */ + "iip\0" + "glUniform1uivEXT\0" + "\0" + /* _mesa_function_pool[26713]: EvalPoint1 (offset 237) */ "i\0" "glEvalPoint1\0" "\0" - /* _mesa_function_pool[25985]: Binormal3dvEXT (dynamic) */ + /* _mesa_function_pool[26729]: Binormal3dvEXT (dynamic) */ "p\0" "glBinormal3dvEXT\0" "\0" - /* _mesa_function_pool[26005]: PopMatrix (offset 297) */ + /* _mesa_function_pool[26749]: PopMatrix (offset 297) */ "\0" "glPopMatrix\0" "\0" - /* _mesa_function_pool[26019]: FinishFenceNV (will be remapped) */ + /* _mesa_function_pool[26763]: FinishFenceNV (will be remapped) */ "i\0" "glFinishFenceNV\0" "\0" - /* _mesa_function_pool[26038]: GetFogFuncSGIS (dynamic) */ + /* _mesa_function_pool[26782]: GetFogFuncSGIS (dynamic) */ "p\0" "glGetFogFuncSGIS\0" "\0" - /* _mesa_function_pool[26058]: GetUniformLocationARB (will be remapped) */ + /* _mesa_function_pool[26802]: GetUniformLocationARB (will be remapped) */ "ip\0" "glGetUniformLocation\0" "glGetUniformLocationARB\0" "\0" - /* _mesa_function_pool[26107]: SecondaryColor3fEXT (will be remapped) */ + /* _mesa_function_pool[26851]: SecondaryColor3fEXT (will be remapped) */ "fff\0" "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" "\0" - /* _mesa_function_pool[26153]: GetTexGeniv (offset 280) */ + /* _mesa_function_pool[26897]: GetTexGeniv (offset 280) */ "iip\0" "glGetTexGeniv\0" "\0" - /* _mesa_function_pool[26172]: CombinerInputNV (will be remapped) */ + /* _mesa_function_pool[26916]: CombinerInputNV (will be remapped) */ "iiiiii\0" "glCombinerInputNV\0" "\0" - /* _mesa_function_pool[26198]: VertexAttrib3sARB (will be remapped) */ + /* _mesa_function_pool[26942]: VertexAttrib3sARB (will be remapped) */ "iiii\0" "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" "\0" - /* _mesa_function_pool[26241]: IsTransformFeedback (will be remapped) */ + /* _mesa_function_pool[26985]: IsTransformFeedback (will be remapped) */ "i\0" "glIsTransformFeedback\0" "\0" - /* _mesa_function_pool[26266]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[27010]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[26311]: Map2d (offset 222) */ + /* _mesa_function_pool[27055]: Map2d (offset 222) */ "iddiiddiip\0" "glMap2d\0" "\0" - /* _mesa_function_pool[26331]: Map2f (offset 223) */ + /* _mesa_function_pool[27075]: Map2f (offset 223) */ "iffiiffiip\0" "glMap2f\0" "\0" - /* _mesa_function_pool[26351]: ProgramStringARB (will be remapped) */ + /* _mesa_function_pool[27095]: ProgramStringARB (will be remapped) */ "iiip\0" "glProgramStringARB\0" "\0" - /* _mesa_function_pool[26376]: Vertex4s (offset 148) */ + /* _mesa_function_pool[27120]: Vertex4s (offset 148) */ "iiii\0" "glVertex4s\0" "\0" - /* _mesa_function_pool[26393]: TexCoord4fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[27137]: TexCoord4fVertex4fvSUN (dynamic) */ "pp\0" "glTexCoord4fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[26422]: FragmentLightModelivSGIX (dynamic) */ + /* _mesa_function_pool[27166]: FragmentLightModelivSGIX (dynamic) */ "ip\0" "glFragmentLightModelivSGIX\0" "\0" - /* _mesa_function_pool[26453]: VertexAttrib1fNV (will be remapped) */ + /* _mesa_function_pool[27197]: VertexAttrib1fNV (will be remapped) */ "if\0" "glVertexAttrib1fNV\0" "\0" - /* _mesa_function_pool[26476]: Vertex4f (offset 144) */ + /* _mesa_function_pool[27220]: Vertex4f (offset 144) */ "ffff\0" "glVertex4f\0" "\0" - /* _mesa_function_pool[26493]: EvalCoord1d (offset 228) */ + /* _mesa_function_pool[27237]: EvalCoord1d (offset 228) */ "d\0" "glEvalCoord1d\0" "\0" - /* _mesa_function_pool[26510]: Vertex4d (offset 142) */ + /* _mesa_function_pool[27254]: Vertex4d (offset 142) */ "dddd\0" "glVertex4d\0" "\0" - /* _mesa_function_pool[26527]: RasterPos4dv (offset 79) */ + /* _mesa_function_pool[27271]: RasterPos4dv (offset 79) */ "p\0" "glRasterPos4dv\0" "\0" - /* _mesa_function_pool[26545]: UseShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[27289]: UseShaderProgramEXT (will be remapped) */ "ii\0" "glUseShaderProgramEXT\0" "\0" - /* _mesa_function_pool[26571]: FragmentLightfSGIX (dynamic) */ + /* _mesa_function_pool[27315]: FragmentLightfSGIX (dynamic) */ "iif\0" "glFragmentLightfSGIX\0" "\0" - /* _mesa_function_pool[26597]: GetCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[27341]: GetCompressedTexImageARB (will be remapped) */ "iip\0" "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[26653]: GetTexGenfv (offset 279) */ + /* _mesa_function_pool[27397]: GetTexGenfv (offset 279) */ "iip\0" "glGetTexGenfv\0" "\0" - /* _mesa_function_pool[26672]: Vertex4i (offset 146) */ + /* _mesa_function_pool[27416]: Vertex4i (offset 146) */ "iiii\0" "glVertex4i\0" "\0" - /* _mesa_function_pool[26689]: VertexWeightPointerEXT (dynamic) */ + /* _mesa_function_pool[27433]: VertexWeightPointerEXT (dynamic) */ "iiip\0" "glVertexWeightPointerEXT\0" "\0" - /* _mesa_function_pool[26720]: GetHistogram (offset 361) */ + /* _mesa_function_pool[27464]: GetHistogram (offset 361) */ "iiiip\0" "glGetHistogram\0" "glGetHistogramEXT\0" "\0" - /* _mesa_function_pool[26760]: ActiveStencilFaceEXT (will be remapped) */ + /* _mesa_function_pool[27504]: ActiveStencilFaceEXT (will be remapped) */ "i\0" "glActiveStencilFaceEXT\0" "\0" - /* _mesa_function_pool[26786]: StencilFuncSeparateATI (will be remapped) */ + /* _mesa_function_pool[27530]: StencilFuncSeparateATI (will be remapped) */ "iiii\0" "glStencilFuncSeparateATI\0" "\0" - /* _mesa_function_pool[26817]: Materialf (offset 169) */ + /* _mesa_function_pool[27561]: Materialf (offset 169) */ "iif\0" "glMaterialf\0" "\0" - /* _mesa_function_pool[26834]: GetShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[27578]: GetShaderSourceARB (will be remapped) */ "iipp\0" "glGetShaderSource\0" "glGetShaderSourceARB\0" "\0" - /* _mesa_function_pool[26879]: IglooInterfaceSGIX (dynamic) */ + /* _mesa_function_pool[27623]: IglooInterfaceSGIX (dynamic) */ "ip\0" "glIglooInterfaceSGIX\0" "\0" - /* _mesa_function_pool[26904]: Materiali (offset 171) */ + /* _mesa_function_pool[27648]: Materiali (offset 171) */ "iii\0" "glMateriali\0" "\0" - /* _mesa_function_pool[26921]: VertexAttrib4dNV (will be remapped) */ + /* _mesa_function_pool[27665]: VertexAttrib4dNV (will be remapped) */ "idddd\0" "glVertexAttrib4dNV\0" "\0" - /* _mesa_function_pool[26947]: MultiModeDrawElementsIBM (will be remapped) */ + /* _mesa_function_pool[27691]: MultiModeDrawElementsIBM (will be remapped) */ "ppipii\0" "glMultiModeDrawElementsIBM\0" "\0" - /* _mesa_function_pool[26982]: Indexsv (offset 51) */ + /* _mesa_function_pool[27726]: Indexsv (offset 51) */ "p\0" "glIndexsv\0" "\0" - /* _mesa_function_pool[26995]: MultiTexCoord4svARB (offset 407) */ + /* _mesa_function_pool[27739]: MultiTexCoord4svARB (offset 407) */ "ip\0" "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" "\0" - /* _mesa_function_pool[27040]: LightModelfv (offset 164) */ + /* _mesa_function_pool[27784]: LightModelfv (offset 164) */ "ip\0" "glLightModelfv\0" "\0" - /* _mesa_function_pool[27059]: TexCoord2dv (offset 103) */ + /* _mesa_function_pool[27803]: TexCoord2dv (offset 103) */ "p\0" "glTexCoord2dv\0" "\0" - /* _mesa_function_pool[27076]: GenQueriesARB (will be remapped) */ + /* _mesa_function_pool[27820]: GenQueriesARB (will be remapped) */ "ip\0" "glGenQueries\0" "glGenQueriesARB\0" "\0" - /* _mesa_function_pool[27109]: EvalCoord1dv (offset 229) */ + /* _mesa_function_pool[27853]: EvalCoord1dv (offset 229) */ "p\0" "glEvalCoord1dv\0" "\0" - /* _mesa_function_pool[27127]: ReplacementCodeuiVertex3fSUN (dynamic) */ + /* _mesa_function_pool[27871]: ReplacementCodeuiVertex3fSUN (dynamic) */ "ifff\0" "glReplacementCodeuiVertex3fSUN\0" "\0" - /* _mesa_function_pool[27164]: Translated (offset 303) */ + /* _mesa_function_pool[27908]: Translated (offset 303) */ "ddd\0" "glTranslated\0" "\0" - /* _mesa_function_pool[27182]: Translatef (offset 304) */ + /* _mesa_function_pool[27926]: Translatef (offset 304) */ "fff\0" "glTranslatef\0" "\0" - /* _mesa_function_pool[27200]: StencilMask (offset 209) */ + /* _mesa_function_pool[27944]: Uniform3uiEXT (will be remapped) */ + "iiii\0" + "glUniform3uiEXT\0" + "\0" + /* _mesa_function_pool[27966]: StencilMask (offset 209) */ "i\0" "glStencilMask\0" "\0" - /* _mesa_function_pool[27217]: Tangent3iEXT (dynamic) */ + /* _mesa_function_pool[27983]: Tangent3iEXT (dynamic) */ "iii\0" "glTangent3iEXT\0" "\0" - /* _mesa_function_pool[27237]: GetLightiv (offset 265) */ + /* _mesa_function_pool[28003]: GetLightiv (offset 265) */ "iip\0" "glGetLightiv\0" "\0" - /* _mesa_function_pool[27255]: DrawMeshArraysSUN (dynamic) */ + /* _mesa_function_pool[28021]: DrawMeshArraysSUN (dynamic) */ "iiii\0" "glDrawMeshArraysSUN\0" "\0" - /* _mesa_function_pool[27281]: IsList (offset 287) */ + /* _mesa_function_pool[28047]: IsList (offset 287) */ "i\0" "glIsList\0" "\0" - /* _mesa_function_pool[27293]: IsSync (will be remapped) */ + /* _mesa_function_pool[28059]: IsSync (will be remapped) */ "i\0" "glIsSync\0" "\0" - /* _mesa_function_pool[27305]: RenderMode (offset 196) */ + /* _mesa_function_pool[28071]: RenderMode (offset 196) */ "i\0" "glRenderMode\0" "\0" - /* _mesa_function_pool[27321]: GetMapControlPointsNV (dynamic) */ + /* _mesa_function_pool[28087]: GetMapControlPointsNV (dynamic) */ "iiiiiip\0" "glGetMapControlPointsNV\0" "\0" - /* _mesa_function_pool[27354]: DrawBuffersARB (will be remapped) */ + /* _mesa_function_pool[28120]: DrawBuffersARB (will be remapped) */ "ip\0" "glDrawBuffers\0" "glDrawBuffersARB\0" "glDrawBuffersATI\0" "\0" - /* _mesa_function_pool[27406]: ProgramLocalParameter4fARB (will be remapped) */ + /* _mesa_function_pool[28172]: ProgramLocalParameter4fARB (will be remapped) */ "iiffff\0" "glProgramLocalParameter4fARB\0" "\0" - /* _mesa_function_pool[27443]: SpriteParameterivSGIX (dynamic) */ + /* _mesa_function_pool[28209]: SpriteParameterivSGIX (dynamic) */ "ip\0" "glSpriteParameterivSGIX\0" "\0" - /* _mesa_function_pool[27471]: ProvokingVertexEXT (will be remapped) */ + /* _mesa_function_pool[28237]: ProvokingVertexEXT (will be remapped) */ "i\0" "glProvokingVertexEXT\0" "glProvokingVertex\0" "\0" - /* _mesa_function_pool[27513]: MultiTexCoord1fARB (offset 378) */ + /* _mesa_function_pool[28279]: MultiTexCoord1fARB (offset 378) */ "if\0" "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" "\0" - /* _mesa_function_pool[27556]: LoadName (offset 198) */ + /* _mesa_function_pool[28322]: LoadName (offset 198) */ "i\0" "glLoadName\0" "\0" - /* _mesa_function_pool[27570]: VertexAttribs4ubvNV (will be remapped) */ + /* _mesa_function_pool[28336]: VertexAttribs4ubvNV (will be remapped) */ "iip\0" "glVertexAttribs4ubvNV\0" "\0" - /* _mesa_function_pool[27597]: WeightsvARB (dynamic) */ + /* _mesa_function_pool[28363]: WeightsvARB (dynamic) */ "ip\0" "glWeightsvARB\0" "\0" - /* _mesa_function_pool[27615]: Uniform1fvARB (will be remapped) */ + /* _mesa_function_pool[28381]: Uniform1fvARB (will be remapped) */ "iip\0" "glUniform1fv\0" "glUniform1fvARB\0" "\0" - /* _mesa_function_pool[27649]: CopyTexSubImage1D (offset 325) */ + /* _mesa_function_pool[28415]: CopyTexSubImage1D (offset 325) */ "iiiiii\0" "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[27700]: CullFace (offset 152) */ + /* _mesa_function_pool[28466]: CullFace (offset 152) */ "i\0" "glCullFace\0" "\0" - /* _mesa_function_pool[27714]: BindTexture (offset 307) */ + /* _mesa_function_pool[28480]: BindTexture (offset 307) */ "ii\0" "glBindTexture\0" "glBindTextureEXT\0" "\0" - /* _mesa_function_pool[27749]: BeginFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[28515]: BeginFragmentShaderATI (will be remapped) */ "\0" "glBeginFragmentShaderATI\0" "\0" - /* _mesa_function_pool[27776]: MultiTexCoord4fARB (offset 402) */ + /* _mesa_function_pool[28542]: MultiTexCoord4fARB (offset 402) */ "iffff\0" "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" "\0" - /* _mesa_function_pool[27822]: VertexAttribs3svNV (will be remapped) */ + /* _mesa_function_pool[28588]: VertexAttribs3svNV (will be remapped) */ "iip\0" "glVertexAttribs3svNV\0" "\0" - /* _mesa_function_pool[27848]: StencilFunc (offset 243) */ + /* _mesa_function_pool[28614]: StencilFunc (offset 243) */ "iii\0" "glStencilFunc\0" "\0" - /* _mesa_function_pool[27867]: CopyPixels (offset 255) */ + /* _mesa_function_pool[28633]: CopyPixels (offset 255) */ "iiiii\0" "glCopyPixels\0" "\0" - /* _mesa_function_pool[27887]: Rectsv (offset 93) */ + /* _mesa_function_pool[28653]: Rectsv (offset 93) */ "pp\0" "glRectsv\0" "\0" - /* _mesa_function_pool[27900]: ReplacementCodeuivSUN (dynamic) */ + /* _mesa_function_pool[28666]: ReplacementCodeuivSUN (dynamic) */ "p\0" "glReplacementCodeuivSUN\0" "\0" - /* _mesa_function_pool[27927]: EnableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[28693]: EnableVertexAttribArrayARB (will be remapped) */ "i\0" "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[27985]: NormalPointervINTEL (dynamic) */ + /* _mesa_function_pool[28751]: NormalPointervINTEL (dynamic) */ "ip\0" "glNormalPointervINTEL\0" "\0" - /* _mesa_function_pool[28011]: CopyConvolutionFilter2D (offset 355) */ + /* _mesa_function_pool[28777]: CopyConvolutionFilter2D (offset 355) */ "iiiiii\0" "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[28074]: WindowPos3ivMESA (will be remapped) */ + /* _mesa_function_pool[28840]: WindowPos3ivMESA (will be remapped) */ "p\0" "glWindowPos3iv\0" "glWindowPos3ivARB\0" "glWindowPos3ivMESA\0" "\0" - /* _mesa_function_pool[28129]: CopyBufferSubData (will be remapped) */ + /* _mesa_function_pool[28895]: CopyBufferSubData (will be remapped) */ "iiiii\0" "glCopyBufferSubData\0" "\0" - /* _mesa_function_pool[28156]: NormalPointer (offset 318) */ + /* _mesa_function_pool[28922]: NormalPointer (offset 318) */ "iip\0" "glNormalPointer\0" "\0" - /* _mesa_function_pool[28177]: TexParameterfv (offset 179) */ + /* _mesa_function_pool[28943]: TexParameterfv (offset 179) */ "iip\0" "glTexParameterfv\0" "\0" - /* _mesa_function_pool[28199]: IsBufferARB (will be remapped) */ + /* _mesa_function_pool[28965]: IsBufferARB (will be remapped) */ "i\0" "glIsBuffer\0" "glIsBufferARB\0" "\0" - /* _mesa_function_pool[28227]: WindowPos4iMESA (will be remapped) */ + /* _mesa_function_pool[28993]: WindowPos4iMESA (will be remapped) */ "iiii\0" "glWindowPos4iMESA\0" "\0" - /* _mesa_function_pool[28251]: VertexAttrib4uivARB (will be remapped) */ + /* _mesa_function_pool[29017]: VertexAttrib4uivARB (will be remapped) */ "ip\0" "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" "\0" - /* _mesa_function_pool[28296]: Tangent3bvEXT (dynamic) */ + /* _mesa_function_pool[29062]: Tangent3bvEXT (dynamic) */ "p\0" "glTangent3bvEXT\0" "\0" - /* _mesa_function_pool[28315]: UniformMatrix3x4fv (will be remapped) */ + /* _mesa_function_pool[29081]: VertexAttribI3uivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI3uivEXT\0" + "\0" + /* _mesa_function_pool[29108]: UniformMatrix3x4fv (will be remapped) */ "iiip\0" "glUniformMatrix3x4fv\0" "\0" - /* _mesa_function_pool[28342]: ClipPlane (offset 150) */ + /* _mesa_function_pool[29135]: ClipPlane (offset 150) */ "ip\0" "glClipPlane\0" "\0" - /* _mesa_function_pool[28358]: Recti (offset 90) */ + /* _mesa_function_pool[29151]: Recti (offset 90) */ "iiii\0" "glRecti\0" "\0" - /* _mesa_function_pool[28372]: DrawRangeElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[29165]: VertexAttribI3ivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI3ivEXT\0" + "\0" + /* _mesa_function_pool[29191]: DrawRangeElementsBaseVertex (will be remapped) */ "iiiiipi\0" "glDrawRangeElementsBaseVertex\0" "\0" - /* _mesa_function_pool[28411]: TexCoordPointervINTEL (dynamic) */ + /* _mesa_function_pool[29230]: TexCoordPointervINTEL (dynamic) */ "iip\0" "glTexCoordPointervINTEL\0" "\0" - /* _mesa_function_pool[28440]: DeleteBuffersARB (will be remapped) */ + /* _mesa_function_pool[29259]: DeleteBuffersARB (will be remapped) */ "ip\0" "glDeleteBuffers\0" "glDeleteBuffersARB\0" "\0" - /* _mesa_function_pool[28479]: PixelTransformParameterfvEXT (dynamic) */ + /* _mesa_function_pool[29298]: PixelTransformParameterfvEXT (dynamic) */ "iip\0" "glPixelTransformParameterfvEXT\0" "\0" - /* _mesa_function_pool[28515]: PrimitiveRestartNV (will be remapped) */ + /* _mesa_function_pool[29334]: PrimitiveRestartNV (will be remapped) */ "\0" "glPrimitiveRestartNV\0" "\0" - /* _mesa_function_pool[28538]: WindowPos4fvMESA (will be remapped) */ + /* _mesa_function_pool[29357]: WindowPos4fvMESA (will be remapped) */ "p\0" "glWindowPos4fvMESA\0" "\0" - /* _mesa_function_pool[28560]: GetPixelMapuiv (offset 272) */ + /* _mesa_function_pool[29379]: GetPixelMapuiv (offset 272) */ "ip\0" "glGetPixelMapuiv\0" "\0" - /* _mesa_function_pool[28581]: Rectf (offset 88) */ + /* _mesa_function_pool[29400]: Rectf (offset 88) */ "ffff\0" "glRectf\0" "\0" - /* _mesa_function_pool[28595]: VertexAttrib1sNV (will be remapped) */ + /* _mesa_function_pool[29414]: VertexAttrib1sNV (will be remapped) */ "ii\0" "glVertexAttrib1sNV\0" "\0" - /* _mesa_function_pool[28618]: Indexfv (offset 47) */ + /* _mesa_function_pool[29437]: Indexfv (offset 47) */ "p\0" "glIndexfv\0" "\0" - /* _mesa_function_pool[28631]: SecondaryColor3svEXT (will be remapped) */ + /* _mesa_function_pool[29450]: SecondaryColor3svEXT (will be remapped) */ "p\0" "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" "\0" - /* _mesa_function_pool[28677]: LoadTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[29496]: LoadTransposeMatrixfARB (will be remapped) */ "p\0" "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[28729]: GetPointerv (offset 329) */ + /* _mesa_function_pool[29548]: GetPointerv (offset 329) */ "ip\0" "glGetPointerv\0" "glGetPointervEXT\0" "\0" - /* _mesa_function_pool[28764]: Tangent3bEXT (dynamic) */ + /* _mesa_function_pool[29583]: Tangent3bEXT (dynamic) */ "iii\0" "glTangent3bEXT\0" "\0" - /* _mesa_function_pool[28784]: CombinerParameterfNV (will be remapped) */ + /* _mesa_function_pool[29603]: CombinerParameterfNV (will be remapped) */ "if\0" "glCombinerParameterfNV\0" "\0" - /* _mesa_function_pool[28811]: IndexMask (offset 212) */ + /* _mesa_function_pool[29630]: IndexMask (offset 212) */ "i\0" "glIndexMask\0" "\0" - /* _mesa_function_pool[28826]: BindProgramNV (will be remapped) */ + /* _mesa_function_pool[29645]: BindProgramNV (will be remapped) */ "ii\0" "glBindProgramARB\0" "glBindProgramNV\0" "\0" - /* _mesa_function_pool[28863]: VertexAttrib4svARB (will be remapped) */ + /* _mesa_function_pool[29682]: VertexAttrib4svARB (will be remapped) */ "ip\0" "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" "\0" - /* _mesa_function_pool[28906]: GetFloatv (offset 262) */ + /* _mesa_function_pool[29725]: GetFloatv (offset 262) */ "ip\0" "glGetFloatv\0" "\0" - /* _mesa_function_pool[28922]: CreateDebugObjectMESA (dynamic) */ + /* _mesa_function_pool[29741]: CreateDebugObjectMESA (dynamic) */ "\0" "glCreateDebugObjectMESA\0" "\0" - /* _mesa_function_pool[28948]: GetShaderiv (will be remapped) */ + /* _mesa_function_pool[29767]: GetShaderiv (will be remapped) */ "iip\0" "glGetShaderiv\0" "\0" - /* _mesa_function_pool[28967]: ClientWaitSync (will be remapped) */ + /* _mesa_function_pool[29786]: ClientWaitSync (will be remapped) */ "iii\0" "glClientWaitSync\0" "\0" - /* _mesa_function_pool[28989]: TexCoord4s (offset 124) */ + /* _mesa_function_pool[29808]: TexCoord4s (offset 124) */ "iiii\0" "glTexCoord4s\0" "\0" - /* _mesa_function_pool[29008]: TexCoord3sv (offset 117) */ + /* _mesa_function_pool[29827]: TexCoord3sv (offset 117) */ "p\0" "glTexCoord3sv\0" "\0" - /* _mesa_function_pool[29025]: BindFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[29844]: BindFragmentShaderATI (will be remapped) */ "i\0" "glBindFragmentShaderATI\0" "\0" - /* _mesa_function_pool[29052]: PopAttrib (offset 218) */ + /* _mesa_function_pool[29871]: PopAttrib (offset 218) */ "\0" "glPopAttrib\0" "\0" - /* _mesa_function_pool[29066]: Fogfv (offset 154) */ + /* _mesa_function_pool[29885]: Fogfv (offset 154) */ "ip\0" "glFogfv\0" "\0" - /* _mesa_function_pool[29078]: UnmapBufferARB (will be remapped) */ + /* _mesa_function_pool[29897]: UnmapBufferARB (will be remapped) */ "i\0" "glUnmapBuffer\0" "glUnmapBufferARB\0" "\0" - /* _mesa_function_pool[29112]: InitNames (offset 197) */ + /* _mesa_function_pool[29931]: InitNames (offset 197) */ "\0" "glInitNames\0" "\0" - /* _mesa_function_pool[29126]: Normal3sv (offset 61) */ + /* _mesa_function_pool[29945]: Normal3sv (offset 61) */ "p\0" "glNormal3sv\0" "\0" - /* _mesa_function_pool[29141]: Minmax (offset 368) */ + /* _mesa_function_pool[29960]: Minmax (offset 368) */ "iii\0" "glMinmax\0" "glMinmaxEXT\0" "\0" - /* _mesa_function_pool[29167]: TexCoord4d (offset 118) */ + /* _mesa_function_pool[29986]: TexCoord4d (offset 118) */ "dddd\0" "glTexCoord4d\0" "\0" - /* _mesa_function_pool[29186]: TexCoord4f (offset 120) */ + /* _mesa_function_pool[30005]: DeformationMap3dSGIX (dynamic) */ + "iddiiddiiddiip\0" + "glDeformationMap3dSGIX\0" + "\0" + /* _mesa_function_pool[30044]: TexCoord4f (offset 120) */ "ffff\0" "glTexCoord4f\0" "\0" - /* _mesa_function_pool[29205]: FogCoorddvEXT (will be remapped) */ + /* _mesa_function_pool[30063]: FogCoorddvEXT (will be remapped) */ "p\0" "glFogCoorddv\0" "glFogCoorddvEXT\0" "\0" - /* _mesa_function_pool[29237]: FinishTextureSUNX (dynamic) */ + /* _mesa_function_pool[30095]: FinishTextureSUNX (dynamic) */ "\0" "glFinishTextureSUNX\0" "\0" - /* _mesa_function_pool[29259]: GetFragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[30117]: GetFragmentLightfvSGIX (dynamic) */ "iip\0" "glGetFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[29289]: Binormal3fvEXT (dynamic) */ + /* _mesa_function_pool[30147]: Binormal3fvEXT (dynamic) */ "p\0" "glBinormal3fvEXT\0" "\0" - /* _mesa_function_pool[29309]: GetBooleanv (offset 258) */ + /* _mesa_function_pool[30167]: GetBooleanv (offset 258) */ "ip\0" "glGetBooleanv\0" "\0" - /* _mesa_function_pool[29327]: ColorFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[30185]: ColorFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiiii\0" "glColorFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[29364]: Hint (offset 158) */ + /* _mesa_function_pool[30222]: Hint (offset 158) */ "ii\0" "glHint\0" "\0" - /* _mesa_function_pool[29375]: Color4dv (offset 28) */ + /* _mesa_function_pool[30233]: Color4dv (offset 28) */ "p\0" "glColor4dv\0" "\0" - /* _mesa_function_pool[29389]: VertexAttrib2svARB (will be remapped) */ + /* _mesa_function_pool[30247]: VertexAttrib2svARB (will be remapped) */ "ip\0" "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" "\0" - /* _mesa_function_pool[29432]: AreProgramsResidentNV (will be remapped) */ + /* _mesa_function_pool[30290]: AreProgramsResidentNV (will be remapped) */ "ipp\0" "glAreProgramsResidentNV\0" "\0" - /* _mesa_function_pool[29461]: WindowPos3svMESA (will be remapped) */ + /* _mesa_function_pool[30319]: WindowPos3svMESA (will be remapped) */ "p\0" "glWindowPos3sv\0" "glWindowPos3svARB\0" "glWindowPos3svMESA\0" "\0" - /* _mesa_function_pool[29516]: CopyColorSubTable (offset 347) */ + /* _mesa_function_pool[30374]: CopyColorSubTable (offset 347) */ "iiiii\0" "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" "\0" - /* _mesa_function_pool[29566]: WeightdvARB (dynamic) */ + /* _mesa_function_pool[30424]: WeightdvARB (dynamic) */ "ip\0" "glWeightdvARB\0" "\0" - /* _mesa_function_pool[29584]: DeleteRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[30442]: DeleteRenderbuffersEXT (will be remapped) */ "ip\0" "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[29635]: VertexAttrib4NubvARB (will be remapped) */ + /* _mesa_function_pool[30493]: VertexAttrib4NubvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" "\0" - /* _mesa_function_pool[29682]: VertexAttrib3dvNV (will be remapped) */ + /* _mesa_function_pool[30540]: VertexAttrib3dvNV (will be remapped) */ "ip\0" "glVertexAttrib3dvNV\0" "\0" - /* _mesa_function_pool[29706]: GetObjectParameterfvARB (will be remapped) */ + /* _mesa_function_pool[30564]: GetObjectParameterfvARB (will be remapped) */ "iip\0" "glGetObjectParameterfvARB\0" "\0" - /* _mesa_function_pool[29737]: Vertex4iv (offset 147) */ + /* _mesa_function_pool[30595]: Vertex4iv (offset 147) */ "p\0" "glVertex4iv\0" "\0" - /* _mesa_function_pool[29752]: GetProgramEnvParameterdvARB (will be remapped) */ + /* _mesa_function_pool[30610]: GetProgramEnvParameterdvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterdvARB\0" "\0" - /* _mesa_function_pool[29787]: TexCoord4dv (offset 119) */ + /* _mesa_function_pool[30645]: TexCoord4dv (offset 119) */ "p\0" "glTexCoord4dv\0" "\0" - /* _mesa_function_pool[29804]: LockArraysEXT (will be remapped) */ + /* _mesa_function_pool[30662]: LockArraysEXT (will be remapped) */ "ii\0" "glLockArraysEXT\0" "\0" - /* _mesa_function_pool[29824]: Begin (offset 7) */ + /* _mesa_function_pool[30682]: Begin (offset 7) */ "i\0" "glBegin\0" "\0" - /* _mesa_function_pool[29835]: LightModeli (offset 165) */ + /* _mesa_function_pool[30693]: LightModeli (offset 165) */ "ii\0" "glLightModeli\0" "\0" - /* _mesa_function_pool[29853]: Rectfv (offset 89) */ + /* _mesa_function_pool[30711]: VertexAttribI4ivEXT (will be remapped) */ + "ip\0" + "glVertexAttribI4ivEXT\0" + "\0" + /* _mesa_function_pool[30737]: Rectfv (offset 89) */ "pp\0" "glRectfv\0" "\0" - /* _mesa_function_pool[29866]: LightModelf (offset 163) */ + /* _mesa_function_pool[30750]: LightModelf (offset 163) */ "if\0" "glLightModelf\0" "\0" - /* _mesa_function_pool[29884]: GetTexParameterfv (offset 282) */ + /* _mesa_function_pool[30768]: GetTexParameterfv (offset 282) */ "iip\0" "glGetTexParameterfv\0" "\0" - /* _mesa_function_pool[29909]: GetLightfv (offset 264) */ + /* _mesa_function_pool[30793]: GetLightfv (offset 264) */ "iip\0" "glGetLightfv\0" "\0" - /* _mesa_function_pool[29927]: PixelTransformParameterivEXT (dynamic) */ + /* _mesa_function_pool[30811]: PixelTransformParameterivEXT (dynamic) */ "iip\0" "glPixelTransformParameterivEXT\0" "\0" - /* _mesa_function_pool[29963]: BinormalPointerEXT (dynamic) */ + /* _mesa_function_pool[30847]: BinormalPointerEXT (dynamic) */ "iip\0" "glBinormalPointerEXT\0" "\0" - /* _mesa_function_pool[29989]: VertexAttrib1dNV (will be remapped) */ + /* _mesa_function_pool[30873]: VertexAttrib1dNV (will be remapped) */ "id\0" "glVertexAttrib1dNV\0" "\0" - /* _mesa_function_pool[30012]: GetCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[30896]: GetCombinerInputParameterivNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[30051]: Disable (offset 214) */ + /* _mesa_function_pool[30935]: Disable (offset 214) */ "i\0" "glDisable\0" "\0" - /* _mesa_function_pool[30064]: MultiTexCoord2fvARB (offset 387) */ + /* _mesa_function_pool[30948]: MultiTexCoord2fvARB (offset 387) */ "ip\0" "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" "\0" - /* _mesa_function_pool[30109]: GetRenderbufferParameterivEXT (will be remapped) */ + /* _mesa_function_pool[30993]: GetRenderbufferParameterivEXT (will be remapped) */ "iip\0" "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" "\0" - /* _mesa_function_pool[30175]: CombinerParameterivNV (will be remapped) */ + /* _mesa_function_pool[31059]: CombinerParameterivNV (will be remapped) */ "ip\0" "glCombinerParameterivNV\0" "\0" - /* _mesa_function_pool[30203]: GenFragmentShadersATI (will be remapped) */ + /* _mesa_function_pool[31087]: GenFragmentShadersATI (will be remapped) */ "i\0" "glGenFragmentShadersATI\0" "\0" - /* _mesa_function_pool[30230]: DrawArrays (offset 310) */ + /* _mesa_function_pool[31114]: DrawArrays (offset 310) */ "iii\0" "glDrawArrays\0" "glDrawArraysEXT\0" "\0" - /* _mesa_function_pool[30264]: WeightuivARB (dynamic) */ + /* _mesa_function_pool[31148]: WeightuivARB (dynamic) */ "ip\0" "glWeightuivARB\0" "\0" - /* _mesa_function_pool[30283]: VertexAttrib2sARB (will be remapped) */ + /* _mesa_function_pool[31167]: VertexAttrib2sARB (will be remapped) */ "iii\0" "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" "\0" - /* _mesa_function_pool[30325]: ColorMask (offset 210) */ + /* _mesa_function_pool[31209]: ColorMask (offset 210) */ "iiii\0" "glColorMask\0" "\0" - /* _mesa_function_pool[30343]: GenAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[31227]: GenAsyncMarkersSGIX (dynamic) */ "i\0" "glGenAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[30368]: Tangent3svEXT (dynamic) */ + /* _mesa_function_pool[31252]: Tangent3svEXT (dynamic) */ "p\0" "glTangent3svEXT\0" "\0" - /* _mesa_function_pool[30387]: GetListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[31271]: GetListParameterivSGIX (dynamic) */ "iip\0" "glGetListParameterivSGIX\0" "\0" - /* _mesa_function_pool[30417]: BindBufferARB (will be remapped) */ + /* _mesa_function_pool[31301]: BindBufferARB (will be remapped) */ "ii\0" "glBindBuffer\0" "glBindBufferARB\0" "\0" - /* _mesa_function_pool[30450]: GetInfoLogARB (will be remapped) */ + /* _mesa_function_pool[31334]: GetInfoLogARB (will be remapped) */ "iipp\0" "glGetInfoLogARB\0" "\0" - /* _mesa_function_pool[30472]: RasterPos4iv (offset 83) */ + /* _mesa_function_pool[31356]: RasterPos4iv (offset 83) */ "p\0" "glRasterPos4iv\0" "\0" - /* _mesa_function_pool[30490]: Enable (offset 215) */ + /* _mesa_function_pool[31374]: Enable (offset 215) */ "i\0" "glEnable\0" "\0" - /* _mesa_function_pool[30502]: LineStipple (offset 167) */ + /* _mesa_function_pool[31386]: LineStipple (offset 167) */ "ii\0" "glLineStipple\0" "\0" - /* _mesa_function_pool[30520]: VertexAttribs4svNV (will be remapped) */ + /* _mesa_function_pool[31404]: VertexAttribs4svNV (will be remapped) */ "iip\0" "glVertexAttribs4svNV\0" "\0" - /* _mesa_function_pool[30546]: EdgeFlagPointerListIBM (dynamic) */ + /* _mesa_function_pool[31430]: EdgeFlagPointerListIBM (dynamic) */ "ipi\0" "glEdgeFlagPointerListIBM\0" "\0" - /* _mesa_function_pool[30576]: UniformMatrix3x2fv (will be remapped) */ + /* _mesa_function_pool[31460]: UniformMatrix3x2fv (will be remapped) */ "iiip\0" "glUniformMatrix3x2fv\0" "\0" - /* _mesa_function_pool[30603]: GetMinmaxParameterfv (offset 365) */ + /* _mesa_function_pool[31487]: GetMinmaxParameterfv (offset 365) */ "iip\0" "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" "\0" - /* _mesa_function_pool[30657]: VertexAttrib1fvARB (will be remapped) */ + /* _mesa_function_pool[31541]: VertexAttrib1fvARB (will be remapped) */ "ip\0" "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" "\0" - /* _mesa_function_pool[30700]: GenBuffersARB (will be remapped) */ + /* _mesa_function_pool[31584]: GenBuffersARB (will be remapped) */ "ip\0" "glGenBuffers\0" "glGenBuffersARB\0" "\0" - /* _mesa_function_pool[30733]: VertexAttribs1svNV (will be remapped) */ + /* _mesa_function_pool[31617]: VertexAttribs1svNV (will be remapped) */ "iip\0" "glVertexAttribs1svNV\0" "\0" - /* _mesa_function_pool[30759]: Vertex3fv (offset 137) */ + /* _mesa_function_pool[31643]: Vertex3fv (offset 137) */ "p\0" "glVertex3fv\0" "\0" - /* _mesa_function_pool[30774]: GetTexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[31658]: GetTexBumpParameterivATI (will be remapped) */ "ip\0" "glGetTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[30805]: Binormal3bEXT (dynamic) */ + /* _mesa_function_pool[31689]: Binormal3bEXT (dynamic) */ "iii\0" "glBinormal3bEXT\0" "\0" - /* _mesa_function_pool[30826]: FragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[31710]: FragmentMaterialivSGIX (dynamic) */ "iip\0" "glFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[30856]: IsRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[31740]: IsRenderbufferEXT (will be remapped) */ "i\0" "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" "\0" - /* _mesa_function_pool[30896]: GenProgramsNV (will be remapped) */ + /* _mesa_function_pool[31780]: GenProgramsNV (will be remapped) */ "ip\0" "glGenProgramsARB\0" "glGenProgramsNV\0" "\0" - /* _mesa_function_pool[30933]: VertexAttrib4dvNV (will be remapped) */ + /* _mesa_function_pool[31817]: VertexAttrib4dvNV (will be remapped) */ "ip\0" "glVertexAttrib4dvNV\0" "\0" - /* _mesa_function_pool[30957]: EndFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[31841]: EndFragmentShaderATI (will be remapped) */ "\0" "glEndFragmentShaderATI\0" "\0" - /* _mesa_function_pool[30982]: Binormal3iEXT (dynamic) */ + /* _mesa_function_pool[31866]: Binormal3iEXT (dynamic) */ "iii\0" "glBinormal3iEXT\0" "\0" - /* _mesa_function_pool[31003]: WindowPos2fMESA (will be remapped) */ + /* _mesa_function_pool[31887]: WindowPos2fMESA (will be remapped) */ "ff\0" "glWindowPos2f\0" "glWindowPos2fARB\0" @@ -4512,544 +4648,578 @@ static const char _mesa_function_pool[] = /* these functions need to be remapped */ static const struct gl_function_pool_remap MESA_remap_table_functions[] = { - { 1500, AttachShader_remap_index }, - { 9144, CreateProgram_remap_index }, - { 21374, CreateShader_remap_index }, - { 23687, DeleteProgram_remap_index }, - { 17134, DeleteShader_remap_index }, - { 21820, DetachShader_remap_index }, - { 16658, GetAttachedShaders_remap_index }, - { 4365, GetProgramInfoLog_remap_index }, - { 400, GetProgramiv_remap_index }, - { 5841, GetShaderInfoLog_remap_index }, - { 28948, GetShaderiv_remap_index }, - { 12386, IsProgram_remap_index }, - { 11385, IsShader_remap_index }, - { 9248, StencilFuncSeparate_remap_index }, - { 3577, StencilMaskSeparate_remap_index }, - { 6923, StencilOpSeparate_remap_index }, - { 20675, UniformMatrix2x3fv_remap_index }, - { 2654, UniformMatrix2x4fv_remap_index }, - { 30576, UniformMatrix3x2fv_remap_index }, - { 28315, UniformMatrix3x4fv_remap_index }, - { 15078, UniformMatrix4x2fv_remap_index }, - { 3002, UniformMatrix4x3fv_remap_index }, - { 14739, DrawArraysInstanced_remap_index }, - { 15871, DrawElementsInstanced_remap_index }, - { 9162, LoadTransposeMatrixdARB_remap_index }, - { 28677, LoadTransposeMatrixfARB_remap_index }, - { 5023, MultTransposeMatrixdARB_remap_index }, - { 22007, MultTransposeMatrixfARB_remap_index }, - { 211, SampleCoverageARB_remap_index }, - { 5207, CompressedTexImage1DARB_remap_index }, - { 22490, CompressedTexImage2DARB_remap_index }, - { 3640, CompressedTexImage3DARB_remap_index }, - { 16950, CompressedTexSubImage1DARB_remap_index }, - { 1919, CompressedTexSubImage2DARB_remap_index }, - { 18811, CompressedTexSubImage3DARB_remap_index }, - { 26597, GetCompressedTexImageARB_remap_index }, - { 3485, DisableVertexAttribArrayARB_remap_index }, - { 27927, EnableVertexAttribArrayARB_remap_index }, - { 29752, GetProgramEnvParameterdvARB_remap_index }, - { 21887, GetProgramEnvParameterfvARB_remap_index }, - { 25570, GetProgramLocalParameterdvARB_remap_index }, - { 7365, GetProgramLocalParameterfvARB_remap_index }, - { 17041, GetProgramStringARB_remap_index }, - { 25765, GetProgramivARB_remap_index }, - { 19006, GetVertexAttribdvARB_remap_index }, - { 14967, GetVertexAttribfvARB_remap_index }, - { 9028, GetVertexAttribivARB_remap_index }, - { 17887, ProgramEnvParameter4dARB_remap_index }, - { 23460, ProgramEnvParameter4dvARB_remap_index }, - { 15575, ProgramEnvParameter4fARB_remap_index }, - { 8228, ProgramEnvParameter4fvARB_remap_index }, - { 3603, ProgramLocalParameter4dARB_remap_index }, - { 12096, ProgramLocalParameter4dvARB_remap_index }, - { 27406, ProgramLocalParameter4fARB_remap_index }, - { 24040, ProgramLocalParameter4fvARB_remap_index }, - { 26351, ProgramStringARB_remap_index }, - { 18137, VertexAttrib1dARB_remap_index }, - { 14543, VertexAttrib1dvARB_remap_index }, - { 3778, VertexAttrib1fARB_remap_index }, - { 30657, VertexAttrib1fvARB_remap_index }, - { 6449, VertexAttrib1sARB_remap_index }, - { 2093, VertexAttrib1svARB_remap_index }, - { 13974, VertexAttrib2dARB_remap_index }, - { 16277, VertexAttrib2dvARB_remap_index }, - { 1519, VertexAttrib2fARB_remap_index }, - { 16390, VertexAttrib2fvARB_remap_index }, - { 30283, VertexAttrib2sARB_remap_index }, - { 29389, VertexAttrib2svARB_remap_index }, - { 10431, VertexAttrib3dARB_remap_index }, - { 7931, VertexAttrib3dvARB_remap_index }, - { 1606, VertexAttrib3fARB_remap_index }, - { 20938, VertexAttrib3fvARB_remap_index }, - { 26198, VertexAttrib3sARB_remap_index }, - { 18748, VertexAttrib3svARB_remap_index }, - { 4391, VertexAttrib4NbvARB_remap_index }, - { 16613, VertexAttrib4NivARB_remap_index }, - { 20893, VertexAttrib4NsvARB_remap_index }, - { 21839, VertexAttrib4NubARB_remap_index }, - { 29635, VertexAttrib4NubvARB_remap_index }, - { 17548, VertexAttrib4NuivARB_remap_index }, - { 2875, VertexAttrib4NusvARB_remap_index }, - { 10025, VertexAttrib4bvARB_remap_index }, - { 24978, VertexAttrib4dARB_remap_index }, - { 19770, VertexAttrib4dvARB_remap_index }, - { 10538, VertexAttrib4fARB_remap_index }, - { 10942, VertexAttrib4fvARB_remap_index }, - { 9441, VertexAttrib4ivARB_remap_index }, - { 16091, VertexAttrib4sARB_remap_index }, - { 28863, VertexAttrib4svARB_remap_index }, - { 15380, VertexAttrib4ubvARB_remap_index }, - { 28251, VertexAttrib4uivARB_remap_index }, - { 18559, VertexAttrib4usvARB_remap_index }, - { 20524, VertexAttribPointerARB_remap_index }, - { 30417, BindBufferARB_remap_index }, - { 6156, BufferDataARB_remap_index }, - { 1421, BufferSubDataARB_remap_index }, - { 28440, DeleteBuffersARB_remap_index }, - { 30700, GenBuffersARB_remap_index }, - { 16433, GetBufferParameterivARB_remap_index }, - { 15527, GetBufferPointervARB_remap_index }, - { 1374, GetBufferSubDataARB_remap_index }, - { 28199, IsBufferARB_remap_index }, - { 24524, MapBufferARB_remap_index }, - { 29078, UnmapBufferARB_remap_index }, - { 307, BeginQueryARB_remap_index }, - { 18232, DeleteQueriesARB_remap_index }, - { 11236, EndQueryARB_remap_index }, - { 27076, GenQueriesARB_remap_index }, - { 1811, GetQueryObjectivARB_remap_index }, - { 16135, GetQueryObjectuivARB_remap_index }, - { 1663, GetQueryivARB_remap_index }, - { 18466, IsQueryARB_remap_index }, - { 7541, AttachObjectARB_remap_index }, - { 17096, CompileShaderARB_remap_index }, - { 2944, CreateProgramObjectARB_remap_index }, - { 6101, CreateShaderObjectARB_remap_index }, - { 13391, DeleteObjectARB_remap_index }, - { 22281, DetachObjectARB_remap_index }, - { 11014, GetActiveUniformARB_remap_index }, - { 8703, GetAttachedObjectsARB_remap_index }, - { 9010, GetHandleARB_remap_index }, - { 30450, GetInfoLogARB_remap_index }, - { 29706, GetObjectParameterfvARB_remap_index }, - { 25444, GetObjectParameterivARB_remap_index }, - { 26834, GetShaderSourceARB_remap_index }, - { 26058, GetUniformLocationARB_remap_index }, - { 22109, GetUniformfvARB_remap_index }, - { 11718, GetUniformivARB_remap_index }, - { 18604, LinkProgramARB_remap_index }, - { 18662, ShaderSourceARB_remap_index }, - { 6823, Uniform1fARB_remap_index }, - { 27615, Uniform1fvARB_remap_index }, - { 20493, Uniform1iARB_remap_index }, - { 19459, Uniform1ivARB_remap_index }, - { 2042, Uniform2fARB_remap_index }, - { 13227, Uniform2fvARB_remap_index }, - { 24411, Uniform2iARB_remap_index }, - { 2162, Uniform2ivARB_remap_index }, - { 17206, Uniform3fARB_remap_index }, - { 8733, Uniform3fvARB_remap_index }, - { 5747, Uniform3iARB_remap_index }, - { 15633, Uniform3ivARB_remap_index }, - { 17693, Uniform4fARB_remap_index }, - { 21973, Uniform4fvARB_remap_index }, - { 23139, Uniform4iARB_remap_index }, - { 18972, Uniform4ivARB_remap_index }, - { 7593, UniformMatrix2fvARB_remap_index }, + { 1513, AttachShader_remap_index }, + { 9449, CreateProgram_remap_index }, + { 22046, CreateShader_remap_index }, + { 24414, DeleteProgram_remap_index }, + { 17759, DeleteShader_remap_index }, + { 22492, DetachShader_remap_index }, + { 17225, GetAttachedShaders_remap_index }, + { 4594, GetProgramInfoLog_remap_index }, + { 387, GetProgramiv_remap_index }, + { 6124, GetShaderInfoLog_remap_index }, + { 29767, GetShaderiv_remap_index }, + { 12750, IsProgram_remap_index }, + { 11722, IsShader_remap_index }, + { 9553, StencilFuncSeparate_remap_index }, + { 3727, StencilMaskSeparate_remap_index }, + { 7206, StencilOpSeparate_remap_index }, + { 21347, UniformMatrix2x3fv_remap_index }, + { 2724, UniformMatrix2x4fv_remap_index }, + { 31460, UniformMatrix3x2fv_remap_index }, + { 29108, UniformMatrix3x4fv_remap_index }, + { 15618, UniformMatrix4x2fv_remap_index }, + { 3101, UniformMatrix4x3fv_remap_index }, + { 15250, DrawArraysInstanced_remap_index }, + { 16438, DrawElementsInstanced_remap_index }, + { 9467, LoadTransposeMatrixdARB_remap_index }, + { 29496, LoadTransposeMatrixfARB_remap_index }, + { 5277, MultTransposeMatrixdARB_remap_index }, + { 22679, MultTransposeMatrixfARB_remap_index }, + { 198, SampleCoverageARB_remap_index }, + { 5490, CompressedTexImage1DARB_remap_index }, + { 23188, CompressedTexImage2DARB_remap_index }, + { 3790, CompressedTexImage3DARB_remap_index }, + { 17517, CompressedTexSubImage1DARB_remap_index }, + { 1963, CompressedTexSubImage2DARB_remap_index }, + { 19436, CompressedTexSubImage3DARB_remap_index }, + { 27341, GetCompressedTexImageARB_remap_index }, + { 3635, DisableVertexAttribArrayARB_remap_index }, + { 28693, EnableVertexAttribArrayARB_remap_index }, + { 30610, GetProgramEnvParameterdvARB_remap_index }, + { 22559, GetProgramEnvParameterfvARB_remap_index }, + { 26292, GetProgramLocalParameterdvARB_remap_index }, + { 7648, GetProgramLocalParameterfvARB_remap_index }, + { 17633, GetProgramStringARB_remap_index }, + { 26487, GetProgramivARB_remap_index }, + { 19631, GetVertexAttribdvARB_remap_index }, + { 15478, GetVertexAttribfvARB_remap_index }, + { 9333, GetVertexAttribivARB_remap_index }, + { 18512, ProgramEnvParameter4dARB_remap_index }, + { 24187, ProgramEnvParameter4dvARB_remap_index }, + { 16142, ProgramEnvParameter4fARB_remap_index }, + { 8533, ProgramEnvParameter4fvARB_remap_index }, + { 3753, ProgramLocalParameter4dARB_remap_index }, + { 12460, ProgramLocalParameter4dvARB_remap_index }, + { 28172, ProgramLocalParameter4fARB_remap_index }, + { 24767, ProgramLocalParameter4fvARB_remap_index }, + { 27095, ProgramStringARB_remap_index }, + { 18762, VertexAttrib1dARB_remap_index }, + { 15054, VertexAttrib1dvARB_remap_index }, + { 3928, VertexAttrib1fARB_remap_index }, + { 31541, VertexAttrib1fvARB_remap_index }, + { 6732, VertexAttrib1sARB_remap_index }, + { 2137, VertexAttrib1svARB_remap_index }, + { 14485, VertexAttrib2dARB_remap_index }, + { 16844, VertexAttrib2dvARB_remap_index }, + { 1532, VertexAttrib2fARB_remap_index }, + { 16957, VertexAttrib2fvARB_remap_index }, + { 31167, VertexAttrib2sARB_remap_index }, + { 30247, VertexAttrib2svARB_remap_index }, + { 10760, VertexAttrib3dARB_remap_index }, + { 8214, VertexAttrib3dvARB_remap_index }, + { 1619, VertexAttrib3fARB_remap_index }, + { 21610, VertexAttrib3fvARB_remap_index }, + { 26942, VertexAttrib3sARB_remap_index }, + { 19373, VertexAttrib3svARB_remap_index }, + { 4620, VertexAttrib4NbvARB_remap_index }, + { 17180, VertexAttrib4NivARB_remap_index }, + { 21565, VertexAttrib4NsvARB_remap_index }, + { 22511, VertexAttrib4NubARB_remap_index }, + { 30493, VertexAttrib4NubvARB_remap_index }, + { 18173, VertexAttrib4NuivARB_remap_index }, + { 2974, VertexAttrib4NusvARB_remap_index }, + { 10354, VertexAttrib4bvARB_remap_index }, + { 25700, VertexAttrib4dARB_remap_index }, + { 20395, VertexAttrib4dvARB_remap_index }, + { 10894, VertexAttrib4fARB_remap_index }, + { 11298, VertexAttrib4fvARB_remap_index }, + { 9746, VertexAttrib4ivARB_remap_index }, + { 16658, VertexAttrib4sARB_remap_index }, + { 29682, VertexAttrib4svARB_remap_index }, + { 15947, VertexAttrib4ubvARB_remap_index }, + { 29017, VertexAttrib4uivARB_remap_index }, + { 19184, VertexAttrib4usvARB_remap_index }, + { 21175, VertexAttribPointerARB_remap_index }, + { 31301, BindBufferARB_remap_index }, + { 6439, BufferDataARB_remap_index }, + { 1434, BufferSubDataARB_remap_index }, + { 29259, DeleteBuffersARB_remap_index }, + { 31584, GenBuffersARB_remap_index }, + { 17000, GetBufferParameterivARB_remap_index }, + { 16094, GetBufferPointervARB_remap_index }, + { 1387, GetBufferSubDataARB_remap_index }, + { 28965, IsBufferARB_remap_index }, + { 25251, MapBufferARB_remap_index }, + { 29897, UnmapBufferARB_remap_index }, + { 294, BeginQueryARB_remap_index }, + { 18857, DeleteQueriesARB_remap_index }, + { 11612, EndQueryARB_remap_index }, + { 27820, GenQueriesARB_remap_index }, + { 1855, GetQueryObjectivARB_remap_index }, + { 16702, GetQueryObjectuivARB_remap_index }, + { 1676, GetQueryivARB_remap_index }, + { 19091, IsQueryARB_remap_index }, + { 7824, AttachObjectARB_remap_index }, + { 17721, CompileShaderARB_remap_index }, + { 3043, CreateProgramObjectARB_remap_index }, + { 6384, CreateShaderObjectARB_remap_index }, + { 13852, DeleteObjectARB_remap_index }, + { 22979, DetachObjectARB_remap_index }, + { 11370, GetActiveUniformARB_remap_index }, + { 9008, GetAttachedObjectsARB_remap_index }, + { 9315, GetHandleARB_remap_index }, + { 31334, GetInfoLogARB_remap_index }, + { 30564, GetObjectParameterfvARB_remap_index }, + { 26166, GetObjectParameterivARB_remap_index }, + { 27578, GetShaderSourceARB_remap_index }, + { 26802, GetUniformLocationARB_remap_index }, + { 22781, GetUniformfvARB_remap_index }, + { 12055, GetUniformivARB_remap_index }, + { 19229, LinkProgramARB_remap_index }, + { 19287, ShaderSourceARB_remap_index }, + { 7106, Uniform1fARB_remap_index }, + { 28381, Uniform1fvARB_remap_index }, + { 21144, Uniform1iARB_remap_index }, + { 20084, Uniform1ivARB_remap_index }, + { 2086, Uniform2fARB_remap_index }, + { 13688, Uniform2fvARB_remap_index }, + { 25138, Uniform2iARB_remap_index }, + { 2206, Uniform2ivARB_remap_index }, + { 17831, Uniform3fARB_remap_index }, + { 9038, Uniform3fvARB_remap_index }, + { 6030, Uniform3iARB_remap_index }, + { 16200, Uniform3ivARB_remap_index }, + { 18318, Uniform4fARB_remap_index }, + { 22645, Uniform4fvARB_remap_index }, + { 23866, Uniform4iARB_remap_index }, + { 19597, Uniform4ivARB_remap_index }, + { 7876, UniformMatrix2fvARB_remap_index }, { 17, UniformMatrix3fvARB_remap_index }, - { 2514, UniformMatrix4fvARB_remap_index }, - { 23572, UseProgramObjectARB_remap_index }, - { 13662, ValidateProgramARB_remap_index }, - { 19813, BindAttribLocationARB_remap_index }, - { 4436, GetActiveAttribARB_remap_index }, - { 15314, GetAttribLocationARB_remap_index }, - { 27354, DrawBuffersARB_remap_index }, - { 12201, RenderbufferStorageMultisample_remap_index }, - { 12605, FramebufferTextureARB_remap_index }, - { 23942, FramebufferTextureFaceARB_remap_index }, - { 22430, ProgramParameteriARB_remap_index }, - { 17741, FlushMappedBufferRange_remap_index }, - { 25861, MapBufferRange_remap_index }, - { 15189, BindVertexArray_remap_index }, - { 13521, GenVertexArrays_remap_index }, - { 28129, CopyBufferSubData_remap_index }, - { 28967, ClientWaitSync_remap_index }, - { 2433, DeleteSync_remap_index }, - { 6490, FenceSync_remap_index }, - { 14033, GetInteger64v_remap_index }, - { 21000, GetSynciv_remap_index }, - { 27293, IsSync_remap_index }, - { 8651, WaitSync_remap_index }, - { 3453, DrawElementsBaseVertex_remap_index }, - { 28372, DrawRangeElementsBaseVertex_remap_index }, - { 24555, MultiDrawElementsBaseVertex_remap_index }, - { 4570, BindTransformFeedback_remap_index }, - { 2971, DeleteTransformFeedbacks_remap_index }, - { 5780, DrawTransformFeedback_remap_index }, - { 8870, GenTransformFeedbacks_remap_index }, - { 26241, IsTransformFeedback_remap_index }, - { 24135, PauseTransformFeedback_remap_index }, - { 4943, ResumeTransformFeedback_remap_index }, - { 4858, PolygonOffsetEXT_remap_index }, - { 21609, GetPixelTexGenParameterfvSGIS_remap_index }, - { 3985, GetPixelTexGenParameterivSGIS_remap_index }, - { 21342, PixelTexGenParameterfSGIS_remap_index }, - { 619, PixelTexGenParameterfvSGIS_remap_index }, - { 11756, PixelTexGenParameteriSGIS_remap_index }, - { 12747, PixelTexGenParameterivSGIS_remap_index }, - { 15277, SampleMaskSGIS_remap_index }, - { 18406, SamplePatternSGIS_remap_index }, - { 24484, ColorPointerEXT_remap_index }, - { 16320, EdgeFlagPointerEXT_remap_index }, - { 5401, IndexPointerEXT_remap_index }, - { 5481, NormalPointerEXT_remap_index }, - { 14627, TexCoordPointerEXT_remap_index }, - { 6279, VertexPointerEXT_remap_index }, - { 3255, PointParameterfEXT_remap_index }, - { 7130, PointParameterfvEXT_remap_index }, - { 29804, LockArraysEXT_remap_index }, - { 13726, UnlockArraysEXT_remap_index }, - { 1190, SecondaryColor3bEXT_remap_index }, - { 7289, SecondaryColor3bvEXT_remap_index }, - { 9618, SecondaryColor3dEXT_remap_index }, - { 23745, SecondaryColor3dvEXT_remap_index }, - { 26107, SecondaryColor3fEXT_remap_index }, - { 16886, SecondaryColor3fvEXT_remap_index }, - { 465, SecondaryColor3iEXT_remap_index }, - { 15015, SecondaryColor3ivEXT_remap_index }, - { 9276, SecondaryColor3sEXT_remap_index }, - { 28631, SecondaryColor3svEXT_remap_index }, - { 25280, SecondaryColor3ubEXT_remap_index }, - { 19704, SecondaryColor3ubvEXT_remap_index }, - { 11951, SecondaryColor3uiEXT_remap_index }, - { 21229, SecondaryColor3uivEXT_remap_index }, - { 23992, SecondaryColor3usEXT_remap_index }, - { 12024, SecondaryColor3usvEXT_remap_index }, - { 10885, SecondaryColorPointerEXT_remap_index }, - { 23806, MultiDrawArraysEXT_remap_index }, - { 19394, MultiDrawElementsEXT_remap_index }, - { 19589, FogCoordPointerEXT_remap_index }, - { 4134, FogCoorddEXT_remap_index }, - { 29205, FogCoorddvEXT_remap_index }, - { 4226, FogCoordfEXT_remap_index }, - { 25203, FogCoordfvEXT_remap_index }, - { 17645, PixelTexGenSGIX_remap_index }, - { 25788, BlendFuncSeparateEXT_remap_index }, - { 6191, FlushVertexArrayRangeNV_remap_index }, - { 4807, VertexArrayRangeNV_remap_index }, - { 26172, CombinerInputNV_remap_index }, - { 1985, CombinerOutputNV_remap_index }, - { 28784, CombinerParameterfNV_remap_index }, - { 4727, CombinerParameterfvNV_remap_index }, - { 20724, CombinerParameteriNV_remap_index }, - { 30175, CombinerParameterivNV_remap_index }, - { 6567, FinalCombinerInputNV_remap_index }, - { 9076, GetCombinerInputParameterfvNV_remap_index }, - { 30012, GetCombinerInputParameterivNV_remap_index }, - { 172, GetCombinerOutputParameterfvNV_remap_index }, - { 12708, GetCombinerOutputParameterivNV_remap_index }, - { 5936, GetFinalCombinerInputParameterfvNV_remap_index }, - { 23011, GetFinalCombinerInputParameterivNV_remap_index }, - { 11696, ResizeBuffersMESA_remap_index }, - { 10258, WindowPos2dMESA_remap_index }, - { 983, WindowPos2dvMESA_remap_index }, - { 31003, WindowPos2fMESA_remap_index }, - { 7234, WindowPos2fvMESA_remap_index }, - { 16833, WindowPos2iMESA_remap_index }, - { 18879, WindowPos2ivMESA_remap_index }, - { 19493, WindowPos2sMESA_remap_index }, - { 5121, WindowPos2svMESA_remap_index }, - { 7059, WindowPos3dMESA_remap_index }, - { 12955, WindowPos3dvMESA_remap_index }, - { 511, WindowPos3fMESA_remap_index }, - { 13787, WindowPos3fvMESA_remap_index }, - { 22323, WindowPos3iMESA_remap_index }, - { 28074, WindowPos3ivMESA_remap_index }, - { 17351, WindowPos3sMESA_remap_index }, - { 29461, WindowPos3svMESA_remap_index }, - { 10209, WindowPos4dMESA_remap_index }, - { 15747, WindowPos4dvMESA_remap_index }, - { 12914, WindowPos4fMESA_remap_index }, - { 28538, WindowPos4fvMESA_remap_index }, - { 28227, WindowPos4iMESA_remap_index }, - { 11499, WindowPos4ivMESA_remap_index }, - { 17524, WindowPos4sMESA_remap_index }, - { 2922, WindowPos4svMESA_remap_index }, - { 24946, MultiModeDrawArraysIBM_remap_index }, - { 26947, MultiModeDrawElementsIBM_remap_index }, - { 11264, DeleteFencesNV_remap_index }, - { 26019, FinishFenceNV_remap_index }, - { 3377, GenFencesNV_remap_index }, - { 15727, GetFenceivNV_remap_index }, - { 7526, IsFenceNV_remap_index }, - { 12635, SetFenceNV_remap_index }, - { 3834, TestFenceNV_remap_index }, - { 29432, AreProgramsResidentNV_remap_index }, - { 28826, BindProgramNV_remap_index }, - { 24075, DeleteProgramsNV_remap_index }, - { 19922, ExecuteProgramNV_remap_index }, - { 30896, GenProgramsNV_remap_index }, - { 21688, GetProgramParameterdvNV_remap_index }, - { 9680, GetProgramParameterfvNV_remap_index }, - { 24458, GetProgramStringNV_remap_index }, - { 22700, GetProgramivNV_remap_index }, - { 21922, GetTrackMatrixivNV_remap_index }, - { 24252, GetVertexAttribPointervNV_remap_index }, - { 22944, GetVertexAttribdvNV_remap_index }, - { 8546, GetVertexAttribfvNV_remap_index }, - { 17014, GetVertexAttribivNV_remap_index }, - { 17771, IsProgramNV_remap_index }, - { 8629, LoadProgramNV_remap_index }, - { 25884, ProgramParameters4dvNV_remap_index }, - { 22630, ProgramParameters4fvNV_remap_index }, - { 19183, RequestResidentProgramsNV_remap_index }, - { 20702, TrackMatrixNV_remap_index }, - { 29989, VertexAttrib1dNV_remap_index }, - { 12546, VertexAttrib1dvNV_remap_index }, - { 26453, VertexAttrib1fNV_remap_index }, - { 2284, VertexAttrib1fvNV_remap_index }, - { 28595, VertexAttrib1sNV_remap_index }, - { 13860, VertexAttrib1svNV_remap_index }, - { 4341, VertexAttrib2dNV_remap_index }, - { 12461, VertexAttrib2dvNV_remap_index }, - { 18638, VertexAttrib2fNV_remap_index }, - { 12072, VertexAttrib2fvNV_remap_index }, - { 5311, VertexAttrib2sNV_remap_index }, - { 17405, VertexAttrib2svNV_remap_index }, - { 10406, VertexAttrib3dNV_remap_index }, - { 29682, VertexAttrib3dvNV_remap_index }, - { 9492, VertexAttrib3fNV_remap_index }, - { 22971, VertexAttrib3fvNV_remap_index }, - { 20579, VertexAttrib3sNV_remap_index }, - { 21949, VertexAttrib3svNV_remap_index }, - { 26921, VertexAttrib4dNV_remap_index }, - { 30933, VertexAttrib4dvNV_remap_index }, - { 4035, VertexAttrib4fNV_remap_index }, - { 8679, VertexAttrib4fvNV_remap_index }, - { 24830, VertexAttrib4sNV_remap_index }, - { 1332, VertexAttrib4svNV_remap_index }, - { 4499, VertexAttrib4ubNV_remap_index }, - { 773, VertexAttrib4ubvNV_remap_index }, - { 20102, VertexAttribPointerNV_remap_index }, - { 2136, VertexAttribs1dvNV_remap_index }, - { 24340, VertexAttribs1fvNV_remap_index }, - { 30733, VertexAttribs1svNV_remap_index }, - { 9517, VertexAttribs2dvNV_remap_index }, - { 23533, VertexAttribs2fvNV_remap_index }, - { 16346, VertexAttribs2svNV_remap_index }, - { 4755, VertexAttribs3dvNV_remap_index }, - { 2016, VertexAttribs3fvNV_remap_index }, - { 27822, VertexAttribs3svNV_remap_index }, - { 24920, VertexAttribs4dvNV_remap_index }, - { 4781, VertexAttribs4fvNV_remap_index }, - { 30520, VertexAttribs4svNV_remap_index }, - { 27570, VertexAttribs4ubvNV_remap_index }, - { 25022, GetTexBumpParameterfvATI_remap_index }, - { 30774, GetTexBumpParameterivATI_remap_index }, - { 17068, TexBumpParameterfvATI_remap_index }, - { 19054, TexBumpParameterivATI_remap_index }, - { 14406, AlphaFragmentOp1ATI_remap_index }, - { 10068, AlphaFragmentOp2ATI_remap_index }, - { 22887, AlphaFragmentOp3ATI_remap_index }, - { 27749, BeginFragmentShaderATI_remap_index }, - { 29025, BindFragmentShaderATI_remap_index }, - { 22078, ColorFragmentOp1ATI_remap_index }, - { 3913, ColorFragmentOp2ATI_remap_index }, - { 29327, ColorFragmentOp3ATI_remap_index }, - { 4900, DeleteFragmentShaderATI_remap_index }, - { 30957, EndFragmentShaderATI_remap_index }, - { 30203, GenFragmentShadersATI_remap_index }, - { 23664, PassTexCoordATI_remap_index }, - { 6259, SampleMapATI_remap_index }, - { 6032, SetFragmentShaderConstantATI_remap_index }, - { 358, PointParameteriNV_remap_index }, - { 13116, PointParameterivNV_remap_index }, - { 26760, ActiveStencilFaceEXT_remap_index }, - { 25544, BindVertexArrayAPPLE_remap_index }, - { 2561, DeleteVertexArraysAPPLE_remap_index }, - { 16685, GenVertexArraysAPPLE_remap_index }, - { 21753, IsVertexArrayAPPLE_remap_index }, - { 814, GetProgramNamedParameterdvNV_remap_index }, - { 3218, GetProgramNamedParameterfvNV_remap_index }, - { 25053, ProgramNamedParameter4dNV_remap_index }, - { 13442, ProgramNamedParameter4dvNV_remap_index }, - { 8162, ProgramNamedParameter4fNV_remap_index }, - { 10850, ProgramNamedParameter4fvNV_remap_index }, - { 15682, PrimitiveRestartIndexNV_remap_index }, - { 28515, PrimitiveRestartNV_remap_index }, - { 22609, DepthBoundsEXT_remap_index }, - { 1082, BlendEquationSeparateEXT_remap_index }, - { 13561, BindFramebufferEXT_remap_index }, - { 23851, BindRenderbufferEXT_remap_index }, - { 8926, CheckFramebufferStatusEXT_remap_index }, - { 21043, DeleteFramebuffersEXT_remap_index }, - { 29584, DeleteRenderbuffersEXT_remap_index }, - { 12485, FramebufferRenderbufferEXT_remap_index }, - { 12652, FramebufferTexture1DEXT_remap_index }, - { 10644, FramebufferTexture2DEXT_remap_index }, - { 10311, FramebufferTexture3DEXT_remap_index }, - { 21645, GenFramebuffersEXT_remap_index }, - { 16232, GenRenderbuffersEXT_remap_index }, - { 5978, GenerateMipmapEXT_remap_index }, - { 20199, GetFramebufferAttachmentParameterivEXT_remap_index }, - { 30109, GetRenderbufferParameterivEXT_remap_index }, - { 18934, IsFramebufferEXT_remap_index }, - { 30856, IsRenderbufferEXT_remap_index }, - { 7473, RenderbufferStorageEXT_remap_index }, - { 690, BlitFramebufferEXT_remap_index }, - { 13261, BufferParameteriAPPLE_remap_index }, - { 17803, FlushMappedBufferRangeAPPLE_remap_index }, - { 2766, FramebufferTextureLayerEXT_remap_index }, - { 4664, ColorMaskIndexedEXT_remap_index }, - { 17429, DisableIndexedEXT_remap_index }, - { 24677, EnableIndexedEXT_remap_index }, - { 20170, GetBooleanIndexedvEXT_remap_index }, - { 10101, GetIntegerIndexedvEXT_remap_index }, - { 21119, IsEnabledIndexedEXT_remap_index }, - { 21019, ClearColorIiEXT_remap_index }, - { 3128, ClearColorIuiEXT_remap_index }, - { 9115, GetTexParameterIivEXT_remap_index }, - { 5281, GetTexParameterIuivEXT_remap_index }, - { 2740, TexParameterIivEXT_remap_index }, - { 24593, TexParameterIuivEXT_remap_index }, - { 4164, BeginConditionalRenderNV_remap_index }, - { 23637, EndConditionalRenderNV_remap_index }, - { 8573, BeginTransformFeedbackEXT_remap_index }, - { 17453, BindBufferBaseEXT_remap_index }, - { 17323, BindBufferOffsetEXT_remap_index }, - { 11324, BindBufferRangeEXT_remap_index }, - { 13176, EndTransformFeedbackEXT_remap_index }, - { 9953, GetTransformFeedbackVaryingEXT_remap_index }, - { 19239, TransformFeedbackVaryingsEXT_remap_index }, - { 27471, ProvokingVertexEXT_remap_index }, - { 9901, GetTexParameterPointervAPPLE_remap_index }, - { 4526, TextureRangeAPPLE_remap_index }, - { 10716, GetObjectParameterivAPPLE_remap_index }, - { 18378, ObjectPurgeableAPPLE_remap_index }, - { 5075, ObjectUnpurgeableAPPLE_remap_index }, - { 16054, ActiveProgramEXT_remap_index }, - { 16025, CreateShaderProgramEXT_remap_index }, - { 26545, UseShaderProgramEXT_remap_index }, - { 26786, StencilFuncSeparateATI_remap_index }, - { 16752, ProgramEnvParameters4fvEXT_remap_index }, - { 20133, ProgramLocalParameters4fvEXT_remap_index }, - { 13044, GetQueryObjecti64vEXT_remap_index }, - { 9543, GetQueryObjectui64vEXT_remap_index }, - { 22147, EGLImageTargetRenderbufferStorageOES_remap_index }, - { 11203, EGLImageTargetTexture2DOES_remap_index }, + { 2584, UniformMatrix4fvARB_remap_index }, + { 24299, UseProgramObjectARB_remap_index }, + { 14173, ValidateProgramARB_remap_index }, + { 20438, BindAttribLocationARB_remap_index }, + { 4665, GetActiveAttribARB_remap_index }, + { 15881, GetAttribLocationARB_remap_index }, + { 28120, DrawBuffersARB_remap_index }, + { 12565, RenderbufferStorageMultisample_remap_index }, + { 12995, FramebufferTextureARB_remap_index }, + { 24669, FramebufferTextureFaceARB_remap_index }, + { 23128, ProgramParameteriARB_remap_index }, + { 18366, FlushMappedBufferRange_remap_index }, + { 26583, MapBufferRange_remap_index }, + { 15729, BindVertexArray_remap_index }, + { 14010, GenVertexArrays_remap_index }, + { 28895, CopyBufferSubData_remap_index }, + { 29786, ClientWaitSync_remap_index }, + { 2503, DeleteSync_remap_index }, + { 6773, FenceSync_remap_index }, + { 14544, GetInteger64v_remap_index }, + { 21672, GetSynciv_remap_index }, + { 28059, IsSync_remap_index }, + { 8956, WaitSync_remap_index }, + { 3603, DrawElementsBaseVertex_remap_index }, + { 29191, DrawRangeElementsBaseVertex_remap_index }, + { 25282, MultiDrawElementsBaseVertex_remap_index }, + { 4799, BindTransformFeedback_remap_index }, + { 3070, DeleteTransformFeedbacks_remap_index }, + { 6063, DrawTransformFeedback_remap_index }, + { 9175, GenTransformFeedbacks_remap_index }, + { 26985, IsTransformFeedback_remap_index }, + { 24862, PauseTransformFeedback_remap_index }, + { 5197, ResumeTransformFeedback_remap_index }, + { 5085, PolygonOffsetEXT_remap_index }, + { 22281, GetPixelTexGenParameterfvSGIS_remap_index }, + { 4187, GetPixelTexGenParameterivSGIS_remap_index }, + { 22014, PixelTexGenParameterfSGIS_remap_index }, + { 606, PixelTexGenParameterfvSGIS_remap_index }, + { 12093, PixelTexGenParameteriSGIS_remap_index }, + { 13169, PixelTexGenParameterivSGIS_remap_index }, + { 15817, SampleMaskSGIS_remap_index }, + { 19031, SamplePatternSGIS_remap_index }, + { 25211, ColorPointerEXT_remap_index }, + { 16887, EdgeFlagPointerEXT_remap_index }, + { 5684, IndexPointerEXT_remap_index }, + { 5764, NormalPointerEXT_remap_index }, + { 15138, TexCoordPointerEXT_remap_index }, + { 6562, VertexPointerEXT_remap_index }, + { 3405, PointParameterfEXT_remap_index }, + { 7413, PointParameterfvEXT_remap_index }, + { 30662, LockArraysEXT_remap_index }, + { 14237, UnlockArraysEXT_remap_index }, + { 1203, SecondaryColor3bEXT_remap_index }, + { 7572, SecondaryColor3bvEXT_remap_index }, + { 9923, SecondaryColor3dEXT_remap_index }, + { 24472, SecondaryColor3dvEXT_remap_index }, + { 26851, SecondaryColor3fEXT_remap_index }, + { 17453, SecondaryColor3fvEXT_remap_index }, + { 452, SecondaryColor3iEXT_remap_index }, + { 15526, SecondaryColor3ivEXT_remap_index }, + { 9581, SecondaryColor3sEXT_remap_index }, + { 29450, SecondaryColor3svEXT_remap_index }, + { 26002, SecondaryColor3ubEXT_remap_index }, + { 20329, SecondaryColor3ubvEXT_remap_index }, + { 12315, SecondaryColor3uiEXT_remap_index }, + { 21901, SecondaryColor3uivEXT_remap_index }, + { 24719, SecondaryColor3usEXT_remap_index }, + { 12388, SecondaryColor3usvEXT_remap_index }, + { 11241, SecondaryColorPointerEXT_remap_index }, + { 24533, MultiDrawArraysEXT_remap_index }, + { 20019, MultiDrawElementsEXT_remap_index }, + { 20214, FogCoordPointerEXT_remap_index }, + { 4336, FogCoorddEXT_remap_index }, + { 30063, FogCoorddvEXT_remap_index }, + { 4428, FogCoordfEXT_remap_index }, + { 25925, FogCoordfvEXT_remap_index }, + { 18270, PixelTexGenSGIX_remap_index }, + { 26510, BlendFuncSeparateEXT_remap_index }, + { 6474, FlushVertexArrayRangeNV_remap_index }, + { 5034, VertexArrayRangeNV_remap_index }, + { 26916, CombinerInputNV_remap_index }, + { 2029, CombinerOutputNV_remap_index }, + { 29603, CombinerParameterfNV_remap_index }, + { 4927, CombinerParameterfvNV_remap_index }, + { 21396, CombinerParameteriNV_remap_index }, + { 31059, CombinerParameterivNV_remap_index }, + { 6850, FinalCombinerInputNV_remap_index }, + { 9381, GetCombinerInputParameterfvNV_remap_index }, + { 30896, GetCombinerInputParameterivNV_remap_index }, + { 13270, GetCombinerOutputParameterfvNV_remap_index }, + { 13098, GetCombinerOutputParameterivNV_remap_index }, + { 6219, GetFinalCombinerInputParameterfvNV_remap_index }, + { 23738, GetFinalCombinerInputParameterivNV_remap_index }, + { 12033, ResizeBuffersMESA_remap_index }, + { 10587, WindowPos2dMESA_remap_index }, + { 996, WindowPos2dvMESA_remap_index }, + { 31887, WindowPos2fMESA_remap_index }, + { 7517, WindowPos2fvMESA_remap_index }, + { 17400, WindowPos2iMESA_remap_index }, + { 19504, WindowPos2ivMESA_remap_index }, + { 20118, WindowPos2sMESA_remap_index }, + { 5404, WindowPos2svMESA_remap_index }, + { 7342, WindowPos3dMESA_remap_index }, + { 13416, WindowPos3dvMESA_remap_index }, + { 498, WindowPos3fMESA_remap_index }, + { 14298, WindowPos3fvMESA_remap_index }, + { 23021, WindowPos3iMESA_remap_index }, + { 28840, WindowPos3ivMESA_remap_index }, + { 17976, WindowPos3sMESA_remap_index }, + { 30319, WindowPos3svMESA_remap_index }, + { 10538, WindowPos4dMESA_remap_index }, + { 16314, WindowPos4dvMESA_remap_index }, + { 13375, WindowPos4fMESA_remap_index }, + { 29357, WindowPos4fvMESA_remap_index }, + { 28993, WindowPos4iMESA_remap_index }, + { 11836, WindowPos4ivMESA_remap_index }, + { 18149, WindowPos4sMESA_remap_index }, + { 3021, WindowPos4svMESA_remap_index }, + { 13137, MultiModeDrawArraysIBM_remap_index }, + { 27691, MultiModeDrawElementsIBM_remap_index }, + { 11640, DeleteFencesNV_remap_index }, + { 26763, FinishFenceNV_remap_index }, + { 3527, GenFencesNV_remap_index }, + { 16294, GetFenceivNV_remap_index }, + { 7809, IsFenceNV_remap_index }, + { 13025, SetFenceNV_remap_index }, + { 3984, TestFenceNV_remap_index }, + { 30290, AreProgramsResidentNV_remap_index }, + { 29645, BindProgramNV_remap_index }, + { 24802, DeleteProgramsNV_remap_index }, + { 20547, ExecuteProgramNV_remap_index }, + { 31780, GenProgramsNV_remap_index }, + { 22360, GetProgramParameterdvNV_remap_index }, + { 9985, GetProgramParameterfvNV_remap_index }, + { 25185, GetProgramStringNV_remap_index }, + { 23398, GetProgramivNV_remap_index }, + { 22594, GetTrackMatrixivNV_remap_index }, + { 24979, GetVertexAttribPointervNV_remap_index }, + { 23671, GetVertexAttribdvNV_remap_index }, + { 8851, GetVertexAttribfvNV_remap_index }, + { 17606, GetVertexAttribivNV_remap_index }, + { 18396, IsProgramNV_remap_index }, + { 8934, LoadProgramNV_remap_index }, + { 26606, ProgramParameters4dvNV_remap_index }, + { 23328, ProgramParameters4fvNV_remap_index }, + { 19808, RequestResidentProgramsNV_remap_index }, + { 21374, TrackMatrixNV_remap_index }, + { 30873, VertexAttrib1dNV_remap_index }, + { 12936, VertexAttrib1dvNV_remap_index }, + { 27197, VertexAttrib1fNV_remap_index }, + { 2328, VertexAttrib1fvNV_remap_index }, + { 29414, VertexAttrib1sNV_remap_index }, + { 14371, VertexAttrib1svNV_remap_index }, + { 4570, VertexAttrib2dNV_remap_index }, + { 12851, VertexAttrib2dvNV_remap_index }, + { 19263, VertexAttrib2fNV_remap_index }, + { 12436, VertexAttrib2fvNV_remap_index }, + { 5594, VertexAttrib2sNV_remap_index }, + { 18030, VertexAttrib2svNV_remap_index }, + { 10735, VertexAttrib3dNV_remap_index }, + { 30540, VertexAttrib3dvNV_remap_index }, + { 9797, VertexAttrib3fNV_remap_index }, + { 23698, VertexAttrib3fvNV_remap_index }, + { 21230, VertexAttrib3sNV_remap_index }, + { 22621, VertexAttrib3svNV_remap_index }, + { 27665, VertexAttrib4dNV_remap_index }, + { 31817, VertexAttrib4dvNV_remap_index }, + { 4237, VertexAttrib4fNV_remap_index }, + { 8984, VertexAttrib4fvNV_remap_index }, + { 25584, VertexAttrib4sNV_remap_index }, + { 1345, VertexAttrib4svNV_remap_index }, + { 4728, VertexAttrib4ubNV_remap_index }, + { 760, VertexAttrib4ubvNV_remap_index }, + { 20727, VertexAttribPointerNV_remap_index }, + { 2180, VertexAttribs1dvNV_remap_index }, + { 25067, VertexAttribs1fvNV_remap_index }, + { 31617, VertexAttribs1svNV_remap_index }, + { 9822, VertexAttribs2dvNV_remap_index }, + { 24260, VertexAttribs2fvNV_remap_index }, + { 16913, VertexAttribs2svNV_remap_index }, + { 4955, VertexAttribs3dvNV_remap_index }, + { 2060, VertexAttribs3fvNV_remap_index }, + { 28588, VertexAttribs3svNV_remap_index }, + { 25674, VertexAttribs4dvNV_remap_index }, + { 5008, VertexAttribs4fvNV_remap_index }, + { 31404, VertexAttribs4svNV_remap_index }, + { 28336, VertexAttribs4ubvNV_remap_index }, + { 25744, GetTexBumpParameterfvATI_remap_index }, + { 31658, GetTexBumpParameterivATI_remap_index }, + { 17693, TexBumpParameterfvATI_remap_index }, + { 19679, TexBumpParameterivATI_remap_index }, + { 14917, AlphaFragmentOp1ATI_remap_index }, + { 10397, AlphaFragmentOp2ATI_remap_index }, + { 23614, AlphaFragmentOp3ATI_remap_index }, + { 28515, BeginFragmentShaderATI_remap_index }, + { 29844, BindFragmentShaderATI_remap_index }, + { 22750, ColorFragmentOp1ATI_remap_index }, + { 4115, ColorFragmentOp2ATI_remap_index }, + { 30185, ColorFragmentOp3ATI_remap_index }, + { 5154, DeleteFragmentShaderATI_remap_index }, + { 31841, EndFragmentShaderATI_remap_index }, + { 31087, GenFragmentShadersATI_remap_index }, + { 24391, PassTexCoordATI_remap_index }, + { 6542, SampleMapATI_remap_index }, + { 6315, SetFragmentShaderConstantATI_remap_index }, + { 345, PointParameteriNV_remap_index }, + { 13577, PointParameterivNV_remap_index }, + { 27504, ActiveStencilFaceEXT_remap_index }, + { 26266, BindVertexArrayAPPLE_remap_index }, + { 2631, DeleteVertexArraysAPPLE_remap_index }, + { 17252, GenVertexArraysAPPLE_remap_index }, + { 22425, IsVertexArrayAPPLE_remap_index }, + { 801, GetProgramNamedParameterdvNV_remap_index }, + { 3368, GetProgramNamedParameterfvNV_remap_index }, + { 25775, ProgramNamedParameter4dNV_remap_index }, + { 13903, ProgramNamedParameter4dvNV_remap_index }, + { 8467, ProgramNamedParameter4fNV_remap_index }, + { 11206, ProgramNamedParameter4fvNV_remap_index }, + { 16249, PrimitiveRestartIndexNV_remap_index }, + { 29334, PrimitiveRestartNV_remap_index }, + { 23307, DepthBoundsEXT_remap_index }, + { 1095, BlendEquationSeparateEXT_remap_index }, + { 14072, BindFramebufferEXT_remap_index }, + { 24578, BindRenderbufferEXT_remap_index }, + { 9231, CheckFramebufferStatusEXT_remap_index }, + { 21715, DeleteFramebuffersEXT_remap_index }, + { 30442, DeleteRenderbuffersEXT_remap_index }, + { 12875, FramebufferRenderbufferEXT_remap_index }, + { 13042, FramebufferTexture1DEXT_remap_index }, + { 11000, FramebufferTexture2DEXT_remap_index }, + { 10640, FramebufferTexture3DEXT_remap_index }, + { 22317, GenFramebuffersEXT_remap_index }, + { 16799, GenRenderbuffersEXT_remap_index }, + { 6261, GenerateMipmapEXT_remap_index }, + { 20824, GetFramebufferAttachmentParameterivEXT_remap_index }, + { 30993, GetRenderbufferParameterivEXT_remap_index }, + { 19559, IsFramebufferEXT_remap_index }, + { 31740, IsRenderbufferEXT_remap_index }, + { 7756, RenderbufferStorageEXT_remap_index }, + { 677, BlitFramebufferEXT_remap_index }, + { 13722, BufferParameteriAPPLE_remap_index }, + { 18428, FlushMappedBufferRangeAPPLE_remap_index }, + { 1751, BindFragDataLocationEXT_remap_index }, + { 23420, GetFragDataLocationEXT_remap_index }, + { 10100, GetUniformuivEXT_remap_index }, + { 2810, GetVertexAttribIivEXT_remap_index }, + { 4001, GetVertexAttribIuivEXT_remap_index }, + { 11486, Uniform1uiEXT_remap_index }, + { 26691, Uniform1uivEXT_remap_index }, + { 21326, Uniform2uiEXT_remap_index }, + { 4093, Uniform2uivEXT_remap_index }, + { 27944, Uniform3uiEXT_remap_index }, + { 14032, Uniform3uivEXT_remap_index }, + { 3305, Uniform4uiEXT_remap_index }, + { 8257, Uniform4uivEXT_remap_index }, + { 17581, VertexAttribI1iEXT_remap_index }, + { 920, VertexAttribI1ivEXT_remap_index }, + { 2429, VertexAttribI1uiEXT_remap_index }, + { 12184, VertexAttribI1uivEXT_remap_index }, + { 81, VertexAttribI2iEXT_remap_index }, + { 22862, VertexAttribI2ivEXT_remap_index }, + { 4981, VertexAttribI2uiEXT_remap_index }, + { 4473, VertexAttribI2uivEXT_remap_index }, + { 25404, VertexAttribI3iEXT_remap_index }, + { 29165, VertexAttribI3ivEXT_remap_index }, + { 3178, VertexAttribI3uiEXT_remap_index }, + { 29081, VertexAttribI3uivEXT_remap_index }, + { 21075, VertexAttribI4bvEXT_remap_index }, + { 13982, VertexAttribI4iEXT_remap_index }, + { 30711, VertexAttribI4ivEXT_remap_index }, + { 12797, VertexAttribI4svEXT_remap_index }, + { 15854, VertexAttribI4ubvEXT_remap_index }, + { 15589, VertexAttribI4uiEXT_remap_index }, + { 5108, VertexAttribI4uivEXT_remap_index }, + { 10803, VertexAttribI4usvEXT_remap_index }, + { 17660, VertexAttribIPointerEXT_remap_index }, + { 2865, FramebufferTextureLayerEXT_remap_index }, + { 5329, ColorMaskIndexedEXT_remap_index }, + { 18054, DisableIndexedEXT_remap_index }, + { 25431, EnableIndexedEXT_remap_index }, + { 20795, GetBooleanIndexedvEXT_remap_index }, + { 10430, GetIntegerIndexedvEXT_remap_index }, + { 21791, IsEnabledIndexedEXT_remap_index }, + { 21691, ClearColorIiEXT_remap_index }, + { 3255, ClearColorIuiEXT_remap_index }, + { 9420, GetTexParameterIivEXT_remap_index }, + { 5564, GetTexParameterIuivEXT_remap_index }, + { 2839, TexParameterIivEXT_remap_index }, + { 25320, TexParameterIuivEXT_remap_index }, + { 4366, BeginConditionalRenderNV_remap_index }, + { 24364, EndConditionalRenderNV_remap_index }, + { 8878, BeginTransformFeedbackEXT_remap_index }, + { 18078, BindBufferBaseEXT_remap_index }, + { 17948, BindBufferOffsetEXT_remap_index }, + { 11661, BindBufferRangeEXT_remap_index }, + { 13637, EndTransformFeedbackEXT_remap_index }, + { 10282, GetTransformFeedbackVaryingEXT_remap_index }, + { 19864, TransformFeedbackVaryingsEXT_remap_index }, + { 28237, ProvokingVertexEXT_remap_index }, + { 10230, GetTexParameterPointervAPPLE_remap_index }, + { 4755, TextureRangeAPPLE_remap_index }, + { 11072, GetObjectParameterivAPPLE_remap_index }, + { 19003, ObjectPurgeableAPPLE_remap_index }, + { 5358, ObjectUnpurgeableAPPLE_remap_index }, + { 16621, ActiveProgramEXT_remap_index }, + { 16592, CreateShaderProgramEXT_remap_index }, + { 27289, UseShaderProgramEXT_remap_index }, + { 27530, StencilFuncSeparateATI_remap_index }, + { 17319, ProgramEnvParameters4fvEXT_remap_index }, + { 20758, ProgramLocalParameters4fvEXT_remap_index }, + { 13505, GetQueryObjecti64vEXT_remap_index }, + { 9848, GetQueryObjectui64vEXT_remap_index }, + { 22819, EGLImageTargetRenderbufferStorageOES_remap_index }, + { 11579, EGLImageTargetTexture2DOES_remap_index }, { -1, -1 } }; /* these functions are in the ABI, but have alternative names */ static const struct gl_function_remap MESA_alt_functions[] = { /* from GL_EXT_blend_color */ - { 2479, _gloffset_BlendColor }, + { 2549, _gloffset_BlendColor }, /* from GL_EXT_blend_minmax */ - { 10368, _gloffset_BlendEquation }, + { 10697, _gloffset_BlendEquation }, /* from GL_EXT_color_subtable */ - { 15769, _gloffset_ColorSubTable }, - { 29516, _gloffset_CopyColorSubTable }, + { 16336, _gloffset_ColorSubTable }, + { 30374, _gloffset_CopyColorSubTable }, /* from GL_EXT_convolution */ - { 252, _gloffset_ConvolutionFilter1D }, - { 2323, _gloffset_CopyConvolutionFilter1D }, - { 3714, _gloffset_GetConvolutionParameteriv }, - { 7822, _gloffset_ConvolutionFilter2D }, - { 7988, _gloffset_ConvolutionParameteriv }, - { 8448, _gloffset_ConvolutionParameterfv }, - { 19082, _gloffset_GetSeparableFilter }, - { 22377, _gloffset_SeparableFilter2D }, - { 23189, _gloffset_ConvolutionParameteri }, - { 23312, _gloffset_ConvolutionParameterf }, - { 24856, _gloffset_GetConvolutionParameterfv }, - { 25710, _gloffset_GetConvolutionFilter }, - { 28011, _gloffset_CopyConvolutionFilter2D }, + { 239, _gloffset_ConvolutionFilter1D }, + { 2367, _gloffset_CopyConvolutionFilter1D }, + { 3864, _gloffset_GetConvolutionParameteriv }, + { 8105, _gloffset_ConvolutionFilter2D }, + { 8293, _gloffset_ConvolutionParameteriv }, + { 8753, _gloffset_ConvolutionParameterfv }, + { 19707, _gloffset_GetSeparableFilter }, + { 23075, _gloffset_SeparableFilter2D }, + { 23916, _gloffset_ConvolutionParameteri }, + { 24039, _gloffset_ConvolutionParameterf }, + { 25610, _gloffset_GetConvolutionParameterfv }, + { 26432, _gloffset_GetConvolutionFilter }, + { 28777, _gloffset_CopyConvolutionFilter2D }, /* from GL_EXT_copy_texture */ - { 13920, _gloffset_CopyTexSubImage3D }, - { 15480, _gloffset_CopyTexImage2D }, - { 22797, _gloffset_CopyTexImage1D }, - { 25391, _gloffset_CopyTexSubImage2D }, - { 27649, _gloffset_CopyTexSubImage1D }, + { 14431, _gloffset_CopyTexSubImage3D }, + { 16047, _gloffset_CopyTexImage2D }, + { 23524, _gloffset_CopyTexImage1D }, + { 26113, _gloffset_CopyTexSubImage2D }, + { 28415, _gloffset_CopyTexSubImage1D }, /* from GL_EXT_draw_range_elements */ - { 8785, _gloffset_DrawRangeElements }, + { 9090, _gloffset_DrawRangeElements }, /* from GL_EXT_histogram */ - { 851, _gloffset_Histogram }, - { 3178, _gloffset_ResetHistogram }, - { 9214, _gloffset_GetMinmax }, - { 14254, _gloffset_GetHistogramParameterfv }, - { 22722, _gloffset_GetMinmaxParameteriv }, - { 24746, _gloffset_ResetMinmax }, - { 25607, _gloffset_GetHistogramParameteriv }, - { 26720, _gloffset_GetHistogram }, - { 29141, _gloffset_Minmax }, - { 30603, _gloffset_GetMinmaxParameterfv }, + { 838, _gloffset_Histogram }, + { 3328, _gloffset_ResetHistogram }, + { 9519, _gloffset_GetMinmax }, + { 14765, _gloffset_GetHistogramParameterfv }, + { 23449, _gloffset_GetMinmaxParameteriv }, + { 25500, _gloffset_ResetMinmax }, + { 26329, _gloffset_GetHistogramParameteriv }, + { 27464, _gloffset_GetHistogram }, + { 29960, _gloffset_Minmax }, + { 31487, _gloffset_GetMinmaxParameterfv }, /* from GL_EXT_paletted_texture */ - { 7684, _gloffset_ColorTable }, - { 14100, _gloffset_GetColorTable }, - { 21392, _gloffset_GetColorTableParameterfv }, - { 23368, _gloffset_GetColorTableParameteriv }, + { 7967, _gloffset_ColorTable }, + { 14611, _gloffset_GetColorTable }, + { 22064, _gloffset_GetColorTableParameterfv }, + { 24095, _gloffset_GetColorTableParameteriv }, /* from GL_EXT_subtexture */ - { 6405, _gloffset_TexSubImage1D }, - { 9828, _gloffset_TexSubImage2D }, + { 6688, _gloffset_TexSubImage1D }, + { 10157, _gloffset_TexSubImage2D }, /* from GL_EXT_texture3D */ - { 1697, _gloffset_TexImage3D }, - { 21161, _gloffset_TexSubImage3D }, + { 1710, _gloffset_TexImage3D }, + { 21833, _gloffset_TexSubImage3D }, /* from GL_EXT_texture_object */ - { 3029, _gloffset_PrioritizeTextures }, - { 6854, _gloffset_AreTexturesResident }, - { 12570, _gloffset_GenTextures }, - { 14586, _gloffset_DeleteTextures }, - { 18084, _gloffset_IsTexture }, - { 27714, _gloffset_BindTexture }, + { 3128, _gloffset_PrioritizeTextures }, + { 7137, _gloffset_AreTexturesResident }, + { 12960, _gloffset_GenTextures }, + { 15097, _gloffset_DeleteTextures }, + { 18709, _gloffset_IsTexture }, + { 28480, _gloffset_BindTexture }, /* from GL_EXT_vertex_array */ - { 22549, _gloffset_ArrayElement }, - { 28729, _gloffset_GetPointerv }, - { 30230, _gloffset_DrawArrays }, + { 23247, _gloffset_ArrayElement }, + { 29548, _gloffset_GetPointerv }, + { 31114, _gloffset_DrawArrays }, /* from GL_SGI_color_table */ - { 6972, _gloffset_ColorTableParameteriv }, - { 7684, _gloffset_ColorTable }, - { 14100, _gloffset_GetColorTable }, - { 14210, _gloffset_CopyColorTable }, - { 17945, _gloffset_ColorTableParameterfv }, - { 21392, _gloffset_GetColorTableParameterfv }, - { 23368, _gloffset_GetColorTableParameteriv }, + { 7255, _gloffset_ColorTableParameteriv }, + { 7967, _gloffset_ColorTable }, + { 14611, _gloffset_GetColorTable }, + { 14721, _gloffset_CopyColorTable }, + { 18570, _gloffset_ColorTableParameterfv }, + { 22064, _gloffset_GetColorTableParameterfv }, + { 24095, _gloffset_GetColorTableParameteriv }, /* from GL_VERSION_1_3 */ - { 420, _gloffset_MultiTexCoord3sARB }, - { 652, _gloffset_ActiveTextureARB }, - { 3851, _gloffset_MultiTexCoord1fvARB }, - { 5506, _gloffset_MultiTexCoord3dARB }, - { 5551, _gloffset_MultiTexCoord2iARB }, - { 5675, _gloffset_MultiTexCoord2svARB }, - { 7640, _gloffset_MultiTexCoord2fARB }, - { 9573, _gloffset_MultiTexCoord3fvARB }, - { 10130, _gloffset_MultiTexCoord4sARB }, - { 10764, _gloffset_MultiTexCoord2dvARB }, - { 11146, _gloffset_MultiTexCoord1svARB }, - { 11557, _gloffset_MultiTexCoord3svARB }, - { 11618, _gloffset_MultiTexCoord4iARB }, - { 12341, _gloffset_MultiTexCoord3iARB }, - { 13073, _gloffset_MultiTexCoord1dARB }, - { 13290, _gloffset_MultiTexCoord3dvARB }, - { 14454, _gloffset_MultiTexCoord3ivARB }, - { 14499, _gloffset_MultiTexCoord2sARB }, - { 15826, _gloffset_MultiTexCoord4ivARB }, - { 17595, _gloffset_ClientActiveTextureARB }, - { 19878, _gloffset_MultiTexCoord2dARB }, - { 20319, _gloffset_MultiTexCoord4dvARB }, - { 20630, _gloffset_MultiTexCoord4fvARB }, - { 21533, _gloffset_MultiTexCoord3fARB }, - { 23896, _gloffset_MultiTexCoord4dARB }, - { 24162, _gloffset_MultiTexCoord1sARB }, - { 24366, _gloffset_MultiTexCoord1dvARB }, - { 25235, _gloffset_MultiTexCoord1ivARB }, - { 25328, _gloffset_MultiTexCoord2ivARB }, - { 25667, _gloffset_MultiTexCoord1iARB }, - { 26995, _gloffset_MultiTexCoord4svARB }, - { 27513, _gloffset_MultiTexCoord1fARB }, - { 27776, _gloffset_MultiTexCoord4fARB }, - { 30064, _gloffset_MultiTexCoord2fvARB }, + { 407, _gloffset_MultiTexCoord3sARB }, + { 639, _gloffset_ActiveTextureARB }, + { 4031, _gloffset_MultiTexCoord1fvARB }, + { 5789, _gloffset_MultiTexCoord3dARB }, + { 5834, _gloffset_MultiTexCoord2iARB }, + { 5958, _gloffset_MultiTexCoord2svARB }, + { 7923, _gloffset_MultiTexCoord2fARB }, + { 9878, _gloffset_MultiTexCoord3fvARB }, + { 10459, _gloffset_MultiTexCoord4sARB }, + { 11120, _gloffset_MultiTexCoord2dvARB }, + { 11522, _gloffset_MultiTexCoord1svARB }, + { 11894, _gloffset_MultiTexCoord3svARB }, + { 11955, _gloffset_MultiTexCoord4iARB }, + { 12705, _gloffset_MultiTexCoord3iARB }, + { 13534, _gloffset_MultiTexCoord1dARB }, + { 13751, _gloffset_MultiTexCoord3dvARB }, + { 14965, _gloffset_MultiTexCoord3ivARB }, + { 15010, _gloffset_MultiTexCoord2sARB }, + { 16393, _gloffset_MultiTexCoord4ivARB }, + { 18220, _gloffset_ClientActiveTextureARB }, + { 20503, _gloffset_MultiTexCoord2dARB }, + { 20944, _gloffset_MultiTexCoord4dvARB }, + { 21281, _gloffset_MultiTexCoord4fvARB }, + { 22205, _gloffset_MultiTexCoord3fARB }, + { 24623, _gloffset_MultiTexCoord4dARB }, + { 24889, _gloffset_MultiTexCoord1sARB }, + { 25093, _gloffset_MultiTexCoord1dvARB }, + { 25957, _gloffset_MultiTexCoord1ivARB }, + { 26050, _gloffset_MultiTexCoord2ivARB }, + { 26389, _gloffset_MultiTexCoord1iARB }, + { 27739, _gloffset_MultiTexCoord4svARB }, + { 28279, _gloffset_MultiTexCoord1fARB }, + { 28542, _gloffset_MultiTexCoord4fARB }, + { 30948, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; @@ -5057,7 +5227,7 @@ static const struct gl_function_remap MESA_alt_functions[] = { #if defined(need_GL_3DFX_tbuffer) static const struct gl_function_remap GL_3DFX_tbuffer_functions[] = { - { 8506, -1 }, /* TbufferMask3DFX */ + { 8811, -1 }, /* TbufferMask3DFX */ { -1, -1 } }; #endif @@ -5128,7 +5298,7 @@ static const struct gl_function_remap GL_ARB_framebuffer_object_functions[] = { #if defined(need_GL_ARB_geometry_shader4) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_ARB_geometry_shader4_functions[] = { - { 11521, -1 }, /* FramebufferTextureLayer */ + { 11858, -1 }, /* FramebufferTextureLayer */ { -1, -1 } }; #endif @@ -5142,11 +5312,11 @@ static const struct gl_function_remap GL_ARB_map_buffer_range_functions[] = { #if defined(need_GL_ARB_matrix_palette) static const struct gl_function_remap GL_ARB_matrix_palette_functions[] = { - { 3429, -1 }, /* MatrixIndexusvARB */ - { 12162, -1 }, /* MatrixIndexuivARB */ - { 13412, -1 }, /* MatrixIndexPointerARB */ - { 18333, -1 }, /* CurrentPaletteMatrixARB */ - { 21277, -1 }, /* MatrixIndexubvARB */ + { 3579, -1 }, /* MatrixIndexusvARB */ + { 12526, -1 }, /* MatrixIndexuivARB */ + { 13873, -1 }, /* MatrixIndexPointerARB */ + { 18958, -1 }, /* CurrentPaletteMatrixARB */ + { 21949, -1 }, /* MatrixIndexubvARB */ { -1, -1 } }; #endif @@ -5223,16 +5393,16 @@ static const struct gl_function_remap GL_ARB_vertex_array_object_functions[] = { #if defined(need_GL_ARB_vertex_blend) static const struct gl_function_remap GL_ARB_vertex_blend_functions[] = { - { 2265, -1 }, /* WeightubvARB */ - { 5866, -1 }, /* WeightivARB */ - { 10233, -1 }, /* WeightPointerARB */ - { 12830, -1 }, /* WeightfvARB */ - { 16372, -1 }, /* WeightbvARB */ - { 19546, -1 }, /* WeightusvARB */ - { 22303, -1 }, /* VertexBlendARB */ - { 27597, -1 }, /* WeightsvARB */ - { 29566, -1 }, /* WeightdvARB */ - { 30264, -1 }, /* WeightuivARB */ + { 2309, -1 }, /* WeightubvARB */ + { 6149, -1 }, /* WeightivARB */ + { 10562, -1 }, /* WeightPointerARB */ + { 13252, -1 }, /* WeightfvARB */ + { 16939, -1 }, /* WeightbvARB */ + { 20171, -1 }, /* WeightusvARB */ + { 23001, -1 }, /* VertexBlendARB */ + { 28363, -1 }, /* WeightsvARB */ + { 30424, -1 }, /* WeightdvARB */ + { 31148, -1 }, /* WeightuivARB */ { -1, -1 } }; #endif @@ -5302,7 +5472,7 @@ static const struct gl_function_remap GL_ATI_separate_stencil_functions[] = { #if defined(need_GL_EXT_blend_color) static const struct gl_function_remap GL_EXT_blend_color_functions[] = { - { 2479, _gloffset_BlendColor }, + { 2549, _gloffset_BlendColor }, { -1, -1 } }; #endif @@ -5323,15 +5493,15 @@ static const struct gl_function_remap GL_EXT_blend_func_separate_functions[] = { #if defined(need_GL_EXT_blend_minmax) static const struct gl_function_remap GL_EXT_blend_minmax_functions[] = { - { 10368, _gloffset_BlendEquation }, + { 10697, _gloffset_BlendEquation }, { -1, -1 } }; #endif #if defined(need_GL_EXT_color_subtable) static const struct gl_function_remap GL_EXT_color_subtable_functions[] = { - { 15769, _gloffset_ColorSubTable }, - { 29516, _gloffset_CopyColorSubTable }, + { 16336, _gloffset_ColorSubTable }, + { 30374, _gloffset_CopyColorSubTable }, { -1, -1 } }; #endif @@ -5345,66 +5515,66 @@ static const struct gl_function_remap GL_EXT_compiled_vertex_array_functions[] = #if defined(need_GL_EXT_convolution) static const struct gl_function_remap GL_EXT_convolution_functions[] = { - { 252, _gloffset_ConvolutionFilter1D }, - { 2323, _gloffset_CopyConvolutionFilter1D }, - { 3714, _gloffset_GetConvolutionParameteriv }, - { 7822, _gloffset_ConvolutionFilter2D }, - { 7988, _gloffset_ConvolutionParameteriv }, - { 8448, _gloffset_ConvolutionParameterfv }, - { 19082, _gloffset_GetSeparableFilter }, - { 22377, _gloffset_SeparableFilter2D }, - { 23189, _gloffset_ConvolutionParameteri }, - { 23312, _gloffset_ConvolutionParameterf }, - { 24856, _gloffset_GetConvolutionParameterfv }, - { 25710, _gloffset_GetConvolutionFilter }, - { 28011, _gloffset_CopyConvolutionFilter2D }, + { 239, _gloffset_ConvolutionFilter1D }, + { 2367, _gloffset_CopyConvolutionFilter1D }, + { 3864, _gloffset_GetConvolutionParameteriv }, + { 8105, _gloffset_ConvolutionFilter2D }, + { 8293, _gloffset_ConvolutionParameteriv }, + { 8753, _gloffset_ConvolutionParameterfv }, + { 19707, _gloffset_GetSeparableFilter }, + { 23075, _gloffset_SeparableFilter2D }, + { 23916, _gloffset_ConvolutionParameteri }, + { 24039, _gloffset_ConvolutionParameterf }, + { 25610, _gloffset_GetConvolutionParameterfv }, + { 26432, _gloffset_GetConvolutionFilter }, + { 28777, _gloffset_CopyConvolutionFilter2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_coordinate_frame) static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = { - { 9712, -1 }, /* TangentPointerEXT */ - { 11676, -1 }, /* Binormal3ivEXT */ - { 12294, -1 }, /* Tangent3sEXT */ - { 13477, -1 }, /* Tangent3fvEXT */ - { 17304, -1 }, /* Tangent3dvEXT */ - { 18031, -1 }, /* Binormal3bvEXT */ - { 19135, -1 }, /* Binormal3dEXT */ - { 21209, -1 }, /* Tangent3fEXT */ - { 23261, -1 }, /* Binormal3sEXT */ - { 23706, -1 }, /* Tangent3ivEXT */ - { 23725, -1 }, /* Tangent3dEXT */ - { 24620, -1 }, /* Binormal3svEXT */ - { 25133, -1 }, /* Binormal3fEXT */ - { 25985, -1 }, /* Binormal3dvEXT */ - { 27217, -1 }, /* Tangent3iEXT */ - { 28296, -1 }, /* Tangent3bvEXT */ - { 28764, -1 }, /* Tangent3bEXT */ - { 29289, -1 }, /* Binormal3fvEXT */ - { 29963, -1 }, /* BinormalPointerEXT */ - { 30368, -1 }, /* Tangent3svEXT */ - { 30805, -1 }, /* Binormal3bEXT */ - { 30982, -1 }, /* Binormal3iEXT */ + { 10017, -1 }, /* TangentPointerEXT */ + { 12013, -1 }, /* Binormal3ivEXT */ + { 12658, -1 }, /* Tangent3sEXT */ + { 13938, -1 }, /* Tangent3fvEXT */ + { 17929, -1 }, /* Tangent3dvEXT */ + { 18656, -1 }, /* Binormal3bvEXT */ + { 19760, -1 }, /* Binormal3dEXT */ + { 21881, -1 }, /* Tangent3fEXT */ + { 23988, -1 }, /* Binormal3sEXT */ + { 24433, -1 }, /* Tangent3ivEXT */ + { 24452, -1 }, /* Tangent3dEXT */ + { 25347, -1 }, /* Binormal3svEXT */ + { 25855, -1 }, /* Binormal3fEXT */ + { 26729, -1 }, /* Binormal3dvEXT */ + { 27983, -1 }, /* Tangent3iEXT */ + { 29062, -1 }, /* Tangent3bvEXT */ + { 29583, -1 }, /* Tangent3bEXT */ + { 30147, -1 }, /* Binormal3fvEXT */ + { 30847, -1 }, /* BinormalPointerEXT */ + { 31252, -1 }, /* Tangent3svEXT */ + { 31689, -1 }, /* Binormal3bEXT */ + { 31866, -1 }, /* Binormal3iEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_copy_texture) static const struct gl_function_remap GL_EXT_copy_texture_functions[] = { - { 13920, _gloffset_CopyTexSubImage3D }, - { 15480, _gloffset_CopyTexImage2D }, - { 22797, _gloffset_CopyTexImage1D }, - { 25391, _gloffset_CopyTexSubImage2D }, - { 27649, _gloffset_CopyTexSubImage1D }, + { 14431, _gloffset_CopyTexSubImage3D }, + { 16047, _gloffset_CopyTexImage2D }, + { 23524, _gloffset_CopyTexImage1D }, + { 26113, _gloffset_CopyTexSubImage2D }, + { 28415, _gloffset_CopyTexSubImage1D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_cull_vertex) static const struct gl_function_remap GL_EXT_cull_vertex_functions[] = { - { 8137, -1 }, /* CullParameterdvEXT */ - { 10809, -1 }, /* CullParameterfvEXT */ + { 8442, -1 }, /* CullParameterdvEXT */ + { 11165, -1 }, /* CullParameterfvEXT */ { -1, -1 } }; #endif @@ -5432,7 +5602,7 @@ static const struct gl_function_remap GL_EXT_draw_instanced_functions[] = { #if defined(need_GL_EXT_draw_range_elements) static const struct gl_function_remap GL_EXT_draw_range_elements_functions[] = { - { 8785, _gloffset_DrawRangeElements }, + { 9090, _gloffset_DrawRangeElements }, { -1, -1 } }; #endif @@ -5472,41 +5642,48 @@ static const struct gl_function_remap GL_EXT_gpu_program_parameters_functions[] }; #endif +#if defined(need_GL_EXT_gpu_shader4) +/* functions defined in MESA_remap_table_functions are excluded */ +static const struct gl_function_remap GL_EXT_gpu_shader4_functions[] = { + { -1, -1 } +}; +#endif + #if defined(need_GL_EXT_histogram) static const struct gl_function_remap GL_EXT_histogram_functions[] = { - { 851, _gloffset_Histogram }, - { 3178, _gloffset_ResetHistogram }, - { 9214, _gloffset_GetMinmax }, - { 14254, _gloffset_GetHistogramParameterfv }, - { 22722, _gloffset_GetMinmaxParameteriv }, - { 24746, _gloffset_ResetMinmax }, - { 25607, _gloffset_GetHistogramParameteriv }, - { 26720, _gloffset_GetHistogram }, - { 29141, _gloffset_Minmax }, - { 30603, _gloffset_GetMinmaxParameterfv }, + { 838, _gloffset_Histogram }, + { 3328, _gloffset_ResetHistogram }, + { 9519, _gloffset_GetMinmax }, + { 14765, _gloffset_GetHistogramParameterfv }, + { 23449, _gloffset_GetMinmaxParameteriv }, + { 25500, _gloffset_ResetMinmax }, + { 26329, _gloffset_GetHistogramParameteriv }, + { 27464, _gloffset_GetHistogram }, + { 29960, _gloffset_Minmax }, + { 31487, _gloffset_GetMinmaxParameterfv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_index_func) static const struct gl_function_remap GL_EXT_index_func_functions[] = { - { 10595, -1 }, /* IndexFuncEXT */ + { 10951, -1 }, /* IndexFuncEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_index_material) static const struct gl_function_remap GL_EXT_index_material_functions[] = { - { 19633, -1 }, /* IndexMaterialEXT */ + { 20258, -1 }, /* IndexMaterialEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_light_texture) static const struct gl_function_remap GL_EXT_light_texture_functions[] = { - { 24640, -1 }, /* ApplyTextureEXT */ - { 24700, -1 }, /* TextureMaterialEXT */ - { 24725, -1 }, /* TextureLightEXT */ + { 25367, -1 }, /* ApplyTextureEXT */ + { 25454, -1 }, /* TextureMaterialEXT */ + { 25479, -1 }, /* TextureLightEXT */ { -1, -1 } }; #endif @@ -5527,20 +5704,20 @@ static const struct gl_function_remap GL_EXT_multisample_functions[] = { #if defined(need_GL_EXT_paletted_texture) static const struct gl_function_remap GL_EXT_paletted_texture_functions[] = { - { 7684, _gloffset_ColorTable }, - { 14100, _gloffset_GetColorTable }, - { 21392, _gloffset_GetColorTableParameterfv }, - { 23368, _gloffset_GetColorTableParameteriv }, + { 7967, _gloffset_ColorTable }, + { 14611, _gloffset_GetColorTable }, + { 22064, _gloffset_GetColorTableParameterfv }, + { 24095, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_pixel_transform) static const struct gl_function_remap GL_EXT_pixel_transform_functions[] = { - { 20284, -1 }, /* PixelTransformParameterfEXT */ - { 20364, -1 }, /* PixelTransformParameteriEXT */ - { 28479, -1 }, /* PixelTransformParameterfvEXT */ - { 29927, -1 }, /* PixelTransformParameterivEXT */ + { 20909, -1 }, /* PixelTransformParameterfEXT */ + { 20989, -1 }, /* PixelTransformParameteriEXT */ + { 29298, -1 }, /* PixelTransformParameterfvEXT */ + { 30811, -1 }, /* PixelTransformParameterivEXT */ { -1, -1 } }; #endif @@ -5589,16 +5766,16 @@ static const struct gl_function_remap GL_EXT_stencil_two_side_functions[] = { #if defined(need_GL_EXT_subtexture) static const struct gl_function_remap GL_EXT_subtexture_functions[] = { - { 6405, _gloffset_TexSubImage1D }, - { 9828, _gloffset_TexSubImage2D }, + { 6688, _gloffset_TexSubImage1D }, + { 10157, _gloffset_TexSubImage2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_texture3D) static const struct gl_function_remap GL_EXT_texture3D_functions[] = { - { 1697, _gloffset_TexImage3D }, - { 21161, _gloffset_TexSubImage3D }, + { 1710, _gloffset_TexImage3D }, + { 21833, _gloffset_TexSubImage3D }, { -1, -1 } }; #endif @@ -5619,19 +5796,19 @@ static const struct gl_function_remap GL_EXT_texture_integer_functions[] = { #if defined(need_GL_EXT_texture_object) static const struct gl_function_remap GL_EXT_texture_object_functions[] = { - { 3029, _gloffset_PrioritizeTextures }, - { 6854, _gloffset_AreTexturesResident }, - { 12570, _gloffset_GenTextures }, - { 14586, _gloffset_DeleteTextures }, - { 18084, _gloffset_IsTexture }, - { 27714, _gloffset_BindTexture }, + { 3128, _gloffset_PrioritizeTextures }, + { 7137, _gloffset_AreTexturesResident }, + { 12960, _gloffset_GenTextures }, + { 15097, _gloffset_DeleteTextures }, + { 18709, _gloffset_IsTexture }, + { 28480, _gloffset_BindTexture }, { -1, -1 } }; #endif #if defined(need_GL_EXT_texture_perturb_normal) static const struct gl_function_remap GL_EXT_texture_perturb_normal_functions[] = { - { 12780, -1 }, /* TextureNormalEXT */ + { 13202, -1 }, /* TextureNormalEXT */ { -1, -1 } }; #endif @@ -5653,30 +5830,30 @@ static const struct gl_function_remap GL_EXT_transform_feedback_functions[] = { #if defined(need_GL_EXT_vertex_array) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_EXT_vertex_array_functions[] = { - { 22549, _gloffset_ArrayElement }, - { 28729, _gloffset_GetPointerv }, - { 30230, _gloffset_DrawArrays }, + { 23247, _gloffset_ArrayElement }, + { 29548, _gloffset_GetPointerv }, + { 31114, _gloffset_DrawArrays }, { -1, -1 } }; #endif #if defined(need_GL_EXT_vertex_weighting) static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = { - { 18114, -1 }, /* VertexWeightfvEXT */ - { 25111, -1 }, /* VertexWeightfEXT */ - { 26689, -1 }, /* VertexWeightPointerEXT */ + { 18739, -1 }, /* VertexWeightfvEXT */ + { 25833, -1 }, /* VertexWeightfEXT */ + { 27433, -1 }, /* VertexWeightPointerEXT */ { -1, -1 } }; #endif #if defined(need_GL_HP_image_transform) static const struct gl_function_remap GL_HP_image_transform_functions[] = { - { 2196, -1 }, /* GetImageTransformParameterfvHP */ - { 3395, -1 }, /* ImageTransformParameterfHP */ - { 9406, -1 }, /* ImageTransformParameterfvHP */ - { 11064, -1 }, /* ImageTransformParameteriHP */ - { 11411, -1 }, /* GetImageTransformParameterivHP */ - { 18178, -1 }, /* ImageTransformParameterivHP */ + { 2240, -1 }, /* GetImageTransformParameterfvHP */ + { 3545, -1 }, /* ImageTransformParameterfHP */ + { 9711, -1 }, /* ImageTransformParameterfvHP */ + { 11420, -1 }, /* ImageTransformParameteriHP */ + { 11748, -1 }, /* GetImageTransformParameterivHP */ + { 18803, -1 }, /* ImageTransformParameterivHP */ { -1, -1 } }; #endif @@ -5690,14 +5867,14 @@ static const struct gl_function_remap GL_IBM_multimode_draw_arrays_functions[] = #if defined(need_GL_IBM_vertex_array_lists) static const struct gl_function_remap GL_IBM_vertex_array_lists_functions[] = { - { 3947, -1 }, /* SecondaryColorPointerListIBM */ - { 5372, -1 }, /* NormalPointerListIBM */ - { 7028, -1 }, /* FogCoordPointerListIBM */ - { 7335, -1 }, /* VertexPointerListIBM */ - { 10985, -1 }, /* ColorPointerListIBM */ - { 12401, -1 }, /* TexCoordPointerListIBM */ - { 12802, -1 }, /* IndexPointerListIBM */ - { 30546, -1 }, /* EdgeFlagPointerListIBM */ + { 4149, -1 }, /* SecondaryColorPointerListIBM */ + { 5655, -1 }, /* NormalPointerListIBM */ + { 7311, -1 }, /* FogCoordPointerListIBM */ + { 7618, -1 }, /* VertexPointerListIBM */ + { 11341, -1 }, /* ColorPointerListIBM */ + { 12765, -1 }, /* TexCoordPointerListIBM */ + { 13224, -1 }, /* IndexPointerListIBM */ + { 31430, -1 }, /* EdgeFlagPointerListIBM */ { -1, -1 } }; #endif @@ -5711,10 +5888,10 @@ static const struct gl_function_remap GL_INGR_blend_func_separate_functions[] = #if defined(need_GL_INTEL_parallel_arrays) static const struct gl_function_remap GL_INTEL_parallel_arrays_functions[] = { - { 11788, -1 }, /* VertexPointervINTEL */ - { 14347, -1 }, /* ColorPointervINTEL */ - { 27985, -1 }, /* NormalPointervINTEL */ - { 28411, -1 }, /* TexCoordPointervINTEL */ + { 12125, -1 }, /* VertexPointervINTEL */ + { 14858, -1 }, /* ColorPointervINTEL */ + { 28751, -1 }, /* NormalPointervINTEL */ + { 29230, -1 }, /* TexCoordPointervINTEL */ { -1, -1 } }; #endif @@ -5728,10 +5905,10 @@ static const struct gl_function_remap GL_MESA_resize_buffers_functions[] = { #if defined(need_GL_MESA_shader_debug) static const struct gl_function_remap GL_MESA_shader_debug_functions[] = { - { 1561, -1 }, /* GetDebugLogLengthMESA */ - { 3153, -1 }, /* ClearDebugLogMESA */ - { 4108, -1 }, /* GetDebugLogMESA */ - { 28922, -1 }, /* CreateDebugObjectMESA */ + { 1574, -1 }, /* GetDebugLogLengthMESA */ + { 3280, -1 }, /* ClearDebugLogMESA */ + { 4310, -1 }, /* GetDebugLogMESA */ + { 29741, -1 }, /* CreateDebugObjectMESA */ { -1, -1 } }; #endif @@ -5752,15 +5929,15 @@ static const struct gl_function_remap GL_NV_condtitional_render_functions[] = { #if defined(need_GL_NV_evaluators) static const struct gl_function_remap GL_NV_evaluators_functions[] = { - { 6067, -1 }, /* GetMapAttribParameterivNV */ - { 7790, -1 }, /* MapControlPointsNV */ - { 7889, -1 }, /* MapParameterfvNV */ - { 9811, -1 }, /* EvalMapsNV */ - { 15991, -1 }, /* GetMapAttribParameterfvNV */ - { 16208, -1 }, /* MapParameterivNV */ - { 23112, -1 }, /* GetMapParameterivNV */ - { 23610, -1 }, /* GetMapParameterfvNV */ - { 27321, -1 }, /* GetMapControlPointsNV */ + { 6350, -1 }, /* GetMapAttribParameterivNV */ + { 8073, -1 }, /* MapControlPointsNV */ + { 8172, -1 }, /* MapParameterfvNV */ + { 10140, -1 }, /* EvalMapsNV */ + { 16558, -1 }, /* GetMapAttribParameterfvNV */ + { 16775, -1 }, /* MapParameterivNV */ + { 23839, -1 }, /* GetMapParameterivNV */ + { 24337, -1 }, /* GetMapParameterfvNV */ + { 28087, -1 }, /* GetMapControlPointsNV */ { -1, -1 } }; #endif @@ -5802,8 +5979,8 @@ static const struct gl_function_remap GL_NV_register_combiners_functions[] = { #if defined(need_GL_NV_register_combiners2) static const struct gl_function_remap GL_NV_register_combiners2_functions[] = { - { 14817, -1 }, /* CombinerStageParameterfvNV */ - { 15132, -1 }, /* GetCombinerStageParameterfvNV */ + { 15328, -1 }, /* CombinerStageParameterfvNV */ + { 15672, -1 }, /* GetCombinerStageParameterfvNV */ { -1, -1 } }; #endif @@ -5831,23 +6008,23 @@ static const struct gl_function_remap GL_OES_EGL_image_functions[] = { #if defined(need_GL_PGI_misc_hints) static const struct gl_function_remap GL_PGI_misc_hints_functions[] = { - { 7974, -1 }, /* HintPGI */ + { 8279, -1 }, /* HintPGI */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_detail_texture) static const struct gl_function_remap GL_SGIS_detail_texture_functions[] = { - { 15105, -1 }, /* GetDetailTexFuncSGIS */ - { 15425, -1 }, /* DetailTexFuncSGIS */ + { 15645, -1 }, /* GetDetailTexFuncSGIS */ + { 15992, -1 }, /* DetailTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_fog_function) static const struct gl_function_remap GL_SGIS_fog_function_functions[] = { - { 25373, -1 }, /* FogFuncSGIS */ - { 26038, -1 }, /* GetFogFuncSGIS */ + { 26095, -1 }, /* FogFuncSGIS */ + { 26782, -1 }, /* GetFogFuncSGIS */ { -1, -1 } }; #endif @@ -5875,112 +6052,112 @@ static const struct gl_function_remap GL_SGIS_point_parameters_functions[] = { #if defined(need_GL_SGIS_sharpen_texture) static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = { - { 6128, -1 }, /* GetSharpenTexFuncSGIS */ - { 20604, -1 }, /* SharpenTexFuncSGIS */ + { 6411, -1 }, /* GetSharpenTexFuncSGIS */ + { 21255, -1 }, /* SharpenTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture4D) static const struct gl_function_remap GL_SGIS_texture4D_functions[] = { - { 933, -1 }, /* TexImage4DSGIS */ - { 14655, -1 }, /* TexSubImage4DSGIS */ + { 946, -1 }, /* TexImage4DSGIS */ + { 15166, -1 }, /* TexSubImage4DSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_color_mask) static const struct gl_function_remap GL_SGIS_texture_color_mask_functions[] = { - { 14053, -1 }, /* TextureColorMaskSGIS */ + { 14564, -1 }, /* TextureColorMaskSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_filter4) static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = { - { 6305, -1 }, /* GetTexFilterFuncSGIS */ - { 15251, -1 }, /* TexFilterFuncSGIS */ + { 6588, -1 }, /* GetTexFilterFuncSGIS */ + { 15791, -1 }, /* TexFilterFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_async) static const struct gl_function_remap GL_SGIX_async_functions[] = { - { 3079, -1 }, /* AsyncMarkerSGIX */ - { 4087, -1 }, /* FinishAsyncSGIX */ - { 4881, -1 }, /* PollAsyncSGIX */ - { 20751, -1 }, /* DeleteAsyncMarkersSGIX */ - { 20806, -1 }, /* IsAsyncMarkerSGIX */ - { 30343, -1 }, /* GenAsyncMarkersSGIX */ + { 3206, -1 }, /* AsyncMarkerSGIX */ + { 4289, -1 }, /* FinishAsyncSGIX */ + { 5135, -1 }, /* PollAsyncSGIX */ + { 21423, -1 }, /* DeleteAsyncMarkersSGIX */ + { 21478, -1 }, /* IsAsyncMarkerSGIX */ + { 31227, -1 }, /* GenAsyncMarkersSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_flush_raster) static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = { - { 6682, -1 }, /* FlushRasterSGIX */ + { 6965, -1 }, /* FlushRasterSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_fragment_lighting) static const struct gl_function_remap GL_SGIX_fragment_lighting_functions[] = { - { 2449, -1 }, /* FragmentMaterialfvSGIX */ - { 4832, -1 }, /* FragmentLightiSGIX */ - { 5808, -1 }, /* GetFragmentMaterialfvSGIX */ - { 7402, -1 }, /* FragmentMaterialfSGIX */ - { 7563, -1 }, /* GetFragmentLightivSGIX */ - { 8400, -1 }, /* FragmentLightModeliSGIX */ - { 9874, -1 }, /* FragmentLightivSGIX */ - { 10176, -1 }, /* GetFragmentMaterialivSGIX */ - { 18001, -1 }, /* FragmentLightModelfSGIX */ - { 18301, -1 }, /* FragmentColorMaterialSGIX */ - { 18701, -1 }, /* FragmentMaterialiSGIX */ - { 19961, -1 }, /* LightEnviSGIX */ - { 21484, -1 }, /* FragmentLightModelfvSGIX */ - { 21793, -1 }, /* FragmentLightfvSGIX */ - { 26422, -1 }, /* FragmentLightModelivSGIX */ - { 26571, -1 }, /* FragmentLightfSGIX */ - { 29259, -1 }, /* GetFragmentLightfvSGIX */ - { 30826, -1 }, /* FragmentMaterialivSGIX */ + { 2519, -1 }, /* FragmentMaterialfvSGIX */ + { 5059, -1 }, /* FragmentLightiSGIX */ + { 6091, -1 }, /* GetFragmentMaterialfvSGIX */ + { 7685, -1 }, /* FragmentMaterialfSGIX */ + { 7846, -1 }, /* GetFragmentLightivSGIX */ + { 8705, -1 }, /* FragmentLightModeliSGIX */ + { 10203, -1 }, /* FragmentLightivSGIX */ + { 10505, -1 }, /* GetFragmentMaterialivSGIX */ + { 18626, -1 }, /* FragmentLightModelfSGIX */ + { 18926, -1 }, /* FragmentColorMaterialSGIX */ + { 19326, -1 }, /* FragmentMaterialiSGIX */ + { 20586, -1 }, /* LightEnviSGIX */ + { 22156, -1 }, /* FragmentLightModelfvSGIX */ + { 22465, -1 }, /* FragmentLightfvSGIX */ + { 27166, -1 }, /* FragmentLightModelivSGIX */ + { 27315, -1 }, /* FragmentLightfSGIX */ + { 30117, -1 }, /* GetFragmentLightfvSGIX */ + { 31710, -1 }, /* FragmentMaterialivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_framezoom) static const struct gl_function_remap GL_SGIX_framezoom_functions[] = { - { 20829, -1 }, /* FrameZoomSGIX */ + { 21501, -1 }, /* FrameZoomSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_igloo_interface) static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = { - { 26879, -1 }, /* IglooInterfaceSGIX */ + { 27623, -1 }, /* IglooInterfaceSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_instruments) static const struct gl_function_remap GL_SGIX_instruments_functions[] = { - { 2612, -1 }, /* ReadInstrumentsSGIX */ - { 5884, -1 }, /* PollInstrumentsSGIX */ - { 9772, -1 }, /* GetInstrumentsSGIX */ - { 11999, -1 }, /* StartInstrumentsSGIX */ - { 14851, -1 }, /* StopInstrumentsSGIX */ - { 16585, -1 }, /* InstrumentsBufferSGIX */ + { 2682, -1 }, /* ReadInstrumentsSGIX */ + { 6167, -1 }, /* PollInstrumentsSGIX */ + { 10077, -1 }, /* GetInstrumentsSGIX */ + { 12363, -1 }, /* StartInstrumentsSGIX */ + { 15362, -1 }, /* StopInstrumentsSGIX */ + { 17152, -1 }, /* InstrumentsBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_list_priority) static const struct gl_function_remap GL_SGIX_list_priority_functions[] = { - { 1164, -1 }, /* ListParameterfSGIX */ - { 2828, -1 }, /* GetListParameterfvSGIX */ - { 16500, -1 }, /* ListParameteriSGIX */ - { 17254, -1 }, /* ListParameterfvSGIX */ - { 19367, -1 }, /* ListParameterivSGIX */ - { 30387, -1 }, /* GetListParameterivSGIX */ + { 1177, -1 }, /* ListParameterfSGIX */ + { 2927, -1 }, /* GetListParameterfvSGIX */ + { 17067, -1 }, /* ListParameteriSGIX */ + { 17879, -1 }, /* ListParameterfvSGIX */ + { 19992, -1 }, /* ListParameterivSGIX */ + { 31271, -1 }, /* GetListParameterivSGIX */ { -1, -1 } }; #endif @@ -5994,134 +6171,134 @@ static const struct gl_function_remap GL_SGIX_pixel_texture_functions[] = { #if defined(need_GL_SGIX_polynomial_ffd) static const struct gl_function_remap GL_SGIX_polynomial_ffd_functions[] = { - { 3341, -1 }, /* LoadIdentityDeformationMapSGIX */ - { 11285, -1 }, /* DeformationMap3dSGIX */ - { 14951, -1 }, /* DeformSGIX */ - { 22661, -1 }, /* DeformationMap3fSGIX */ + { 3491, -1 }, /* LoadIdentityDeformationMapSGIX */ + { 15462, -1 }, /* DeformSGIX */ + { 23359, -1 }, /* DeformationMap3fSGIX */ + { 30005, -1 }, /* DeformationMap3dSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_reference_plane) static const struct gl_function_remap GL_SGIX_reference_plane_functions[] = { - { 13604, -1 }, /* ReferencePlaneSGIX */ + { 14115, -1 }, /* ReferencePlaneSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_sprite) static const struct gl_function_remap GL_SGIX_sprite_functions[] = { - { 8898, -1 }, /* SpriteParameterfvSGIX */ - { 19156, -1 }, /* SpriteParameteriSGIX */ - { 24780, -1 }, /* SpriteParameterfSGIX */ - { 27443, -1 }, /* SpriteParameterivSGIX */ + { 9203, -1 }, /* SpriteParameterfvSGIX */ + { 19781, -1 }, /* SpriteParameteriSGIX */ + { 25534, -1 }, /* SpriteParameterfSGIX */ + { 28209, -1 }, /* SpriteParameterivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_tag_sample_buffer) static const struct gl_function_remap GL_SGIX_tag_sample_buffer_functions[] = { - { 19215, -1 }, /* TagSampleBufferSGIX */ + { 19840, -1 }, /* TagSampleBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGI_color_table) static const struct gl_function_remap GL_SGI_color_table_functions[] = { - { 6972, _gloffset_ColorTableParameteriv }, - { 7684, _gloffset_ColorTable }, - { 14100, _gloffset_GetColorTable }, - { 14210, _gloffset_CopyColorTable }, - { 17945, _gloffset_ColorTableParameterfv }, - { 21392, _gloffset_GetColorTableParameterfv }, - { 23368, _gloffset_GetColorTableParameteriv }, + { 7255, _gloffset_ColorTableParameteriv }, + { 7967, _gloffset_ColorTable }, + { 14611, _gloffset_GetColorTable }, + { 14721, _gloffset_CopyColorTable }, + { 18570, _gloffset_ColorTableParameterfv }, + { 22064, _gloffset_GetColorTableParameterfv }, + { 24095, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_SUNX_constant_data) static const struct gl_function_remap GL_SUNX_constant_data_functions[] = { - { 29237, -1 }, /* FinishTextureSUNX */ + { 30095, -1 }, /* FinishTextureSUNX */ { -1, -1 } }; #endif #if defined(need_GL_SUN_global_alpha) static const struct gl_function_remap GL_SUN_global_alpha_functions[] = { - { 3100, -1 }, /* GlobalAlphaFactorubSUN */ - { 4314, -1 }, /* GlobalAlphaFactoriSUN */ - { 5909, -1 }, /* GlobalAlphaFactordSUN */ - { 8982, -1 }, /* GlobalAlphaFactoruiSUN */ - { 9363, -1 }, /* GlobalAlphaFactorbSUN */ - { 12314, -1 }, /* GlobalAlphaFactorfSUN */ - { 12433, -1 }, /* GlobalAlphaFactorusSUN */ - { 21092, -1 }, /* GlobalAlphaFactorsSUN */ + { 3227, -1 }, /* GlobalAlphaFactorubSUN */ + { 4543, -1 }, /* GlobalAlphaFactoriSUN */ + { 6192, -1 }, /* GlobalAlphaFactordSUN */ + { 9287, -1 }, /* GlobalAlphaFactoruiSUN */ + { 9668, -1 }, /* GlobalAlphaFactorbSUN */ + { 12678, -1 }, /* GlobalAlphaFactorfSUN */ + { 12823, -1 }, /* GlobalAlphaFactorusSUN */ + { 21764, -1 }, /* GlobalAlphaFactorsSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_mesh_array) static const struct gl_function_remap GL_SUN_mesh_array_functions[] = { - { 27255, -1 }, /* DrawMeshArraysSUN */ + { 28021, -1 }, /* DrawMeshArraysSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_triangle_list) static const struct gl_function_remap GL_SUN_triangle_list_functions[] = { - { 4061, -1 }, /* ReplacementCodeubSUN */ - { 5720, -1 }, /* ReplacementCodeubvSUN */ - { 17666, -1 }, /* ReplacementCodeusvSUN */ - { 17854, -1 }, /* ReplacementCodePointerSUN */ - { 20025, -1 }, /* ReplacementCodeuiSUN */ - { 20780, -1 }, /* ReplacementCodeusSUN */ - { 27900, -1 }, /* ReplacementCodeuivSUN */ + { 4263, -1 }, /* ReplacementCodeubSUN */ + { 6003, -1 }, /* ReplacementCodeubvSUN */ + { 18291, -1 }, /* ReplacementCodeusvSUN */ + { 18479, -1 }, /* ReplacementCodePointerSUN */ + { 20650, -1 }, /* ReplacementCodeuiSUN */ + { 21452, -1 }, /* ReplacementCodeusSUN */ + { 28666, -1 }, /* ReplacementCodeuivSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_vertex) static const struct gl_function_remap GL_SUN_vertex_functions[] = { - { 1038, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */ - { 1236, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */ - { 1462, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */ - { 1738, -1 }, /* ReplacementCodeuiVertex3fvSUN */ - { 1872, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */ - { 2385, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */ - { 2681, -1 }, /* Color4ubVertex3fvSUN */ - { 4195, -1 }, /* Color4ubVertex3fSUN */ - { 4271, -1 }, /* TexCoord2fVertex3fSUN */ - { 4598, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ - { 4985, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ - { 5615, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ - { 6360, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ - { 6719, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ - { 7431, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ - { 8199, -1 }, /* Color3fVertex3fSUN */ - { 9322, -1 }, /* Color3fVertex3fvSUN */ - { 9737, -1 }, /* Color4fNormal3fVertex3fvSUN */ - { 10474, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ - { 11862, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ - { 13335, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ - { 13746, -1 }, /* TexCoord2fColor3fVertex3fSUN */ - { 14876, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ - { 15210, -1 }, /* Color4ubVertex2fvSUN */ - { 15450, -1 }, /* Normal3fVertex3fSUN */ - { 16526, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ - { 16787, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ - { 17495, -1 }, /* TexCoord2fVertex3fvSUN */ - { 18271, -1 }, /* Color4ubVertex2fSUN */ - { 18492, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ - { 20450, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ - { 20848, -1 }, /* Normal3fVertex3fvSUN */ - { 21301, -1 }, /* Color4fNormal3fVertex3fSUN */ - { 22210, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ - { 24205, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ - { 25489, -1 }, /* TexCoord4fVertex4fSUN */ - { 25915, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ - { 26266, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ - { 26393, -1 }, /* TexCoord4fVertex4fvSUN */ - { 27127, -1 }, /* ReplacementCodeuiVertex3fSUN */ + { 1051, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */ + { 1249, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */ + { 1475, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */ + { 1782, -1 }, /* ReplacementCodeuiVertex3fvSUN */ + { 1916, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */ + { 2455, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */ + { 2751, -1 }, /* Color4ubVertex3fvSUN */ + { 4397, -1 }, /* Color4ubVertex3fSUN */ + { 4500, -1 }, /* TexCoord2fVertex3fSUN */ + { 4827, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ + { 5239, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ + { 5898, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ + { 6643, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ + { 7002, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ + { 7714, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ + { 8504, -1 }, /* Color3fVertex3fSUN */ + { 9627, -1 }, /* Color3fVertex3fvSUN */ + { 10042, -1 }, /* Color4fNormal3fVertex3fvSUN */ + { 10830, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ + { 12226, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ + { 13796, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ + { 14257, -1 }, /* TexCoord2fColor3fVertex3fSUN */ + { 15387, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ + { 15750, -1 }, /* Color4ubVertex2fvSUN */ + { 16017, -1 }, /* Normal3fVertex3fSUN */ + { 17093, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ + { 17354, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ + { 18120, -1 }, /* TexCoord2fVertex3fvSUN */ + { 18896, -1 }, /* Color4ubVertex2fSUN */ + { 19117, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ + { 21101, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ + { 21520, -1 }, /* Normal3fVertex3fvSUN */ + { 21973, -1 }, /* Color4fNormal3fVertex3fSUN */ + { 22908, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ + { 24932, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ + { 26211, -1 }, /* TexCoord4fVertex4fSUN */ + { 26637, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ + { 27010, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ + { 27137, -1 }, /* TexCoord4fVertex4fvSUN */ + { 27871, -1 }, /* ReplacementCodeuiVertex3fSUN */ { -1, -1 } }; #endif @@ -6129,40 +6306,40 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = { #if defined(need_GL_VERSION_1_3) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_VERSION_1_3_functions[] = { - { 420, _gloffset_MultiTexCoord3sARB }, - { 652, _gloffset_ActiveTextureARB }, - { 3851, _gloffset_MultiTexCoord1fvARB }, - { 5506, _gloffset_MultiTexCoord3dARB }, - { 5551, _gloffset_MultiTexCoord2iARB }, - { 5675, _gloffset_MultiTexCoord2svARB }, - { 7640, _gloffset_MultiTexCoord2fARB }, - { 9573, _gloffset_MultiTexCoord3fvARB }, - { 10130, _gloffset_MultiTexCoord4sARB }, - { 10764, _gloffset_MultiTexCoord2dvARB }, - { 11146, _gloffset_MultiTexCoord1svARB }, - { 11557, _gloffset_MultiTexCoord3svARB }, - { 11618, _gloffset_MultiTexCoord4iARB }, - { 12341, _gloffset_MultiTexCoord3iARB }, - { 13073, _gloffset_MultiTexCoord1dARB }, - { 13290, _gloffset_MultiTexCoord3dvARB }, - { 14454, _gloffset_MultiTexCoord3ivARB }, - { 14499, _gloffset_MultiTexCoord2sARB }, - { 15826, _gloffset_MultiTexCoord4ivARB }, - { 17595, _gloffset_ClientActiveTextureARB }, - { 19878, _gloffset_MultiTexCoord2dARB }, - { 20319, _gloffset_MultiTexCoord4dvARB }, - { 20630, _gloffset_MultiTexCoord4fvARB }, - { 21533, _gloffset_MultiTexCoord3fARB }, - { 23896, _gloffset_MultiTexCoord4dARB }, - { 24162, _gloffset_MultiTexCoord1sARB }, - { 24366, _gloffset_MultiTexCoord1dvARB }, - { 25235, _gloffset_MultiTexCoord1ivARB }, - { 25328, _gloffset_MultiTexCoord2ivARB }, - { 25667, _gloffset_MultiTexCoord1iARB }, - { 26995, _gloffset_MultiTexCoord4svARB }, - { 27513, _gloffset_MultiTexCoord1fARB }, - { 27776, _gloffset_MultiTexCoord4fARB }, - { 30064, _gloffset_MultiTexCoord2fvARB }, + { 407, _gloffset_MultiTexCoord3sARB }, + { 639, _gloffset_ActiveTextureARB }, + { 4031, _gloffset_MultiTexCoord1fvARB }, + { 5789, _gloffset_MultiTexCoord3dARB }, + { 5834, _gloffset_MultiTexCoord2iARB }, + { 5958, _gloffset_MultiTexCoord2svARB }, + { 7923, _gloffset_MultiTexCoord2fARB }, + { 9878, _gloffset_MultiTexCoord3fvARB }, + { 10459, _gloffset_MultiTexCoord4sARB }, + { 11120, _gloffset_MultiTexCoord2dvARB }, + { 11522, _gloffset_MultiTexCoord1svARB }, + { 11894, _gloffset_MultiTexCoord3svARB }, + { 11955, _gloffset_MultiTexCoord4iARB }, + { 12705, _gloffset_MultiTexCoord3iARB }, + { 13534, _gloffset_MultiTexCoord1dARB }, + { 13751, _gloffset_MultiTexCoord3dvARB }, + { 14965, _gloffset_MultiTexCoord3ivARB }, + { 15010, _gloffset_MultiTexCoord2sARB }, + { 16393, _gloffset_MultiTexCoord4ivARB }, + { 18220, _gloffset_ClientActiveTextureARB }, + { 20503, _gloffset_MultiTexCoord2dARB }, + { 20944, _gloffset_MultiTexCoord4dvARB }, + { 21281, _gloffset_MultiTexCoord4fvARB }, + { 22205, _gloffset_MultiTexCoord3fARB }, + { 24623, _gloffset_MultiTexCoord4dARB }, + { 24889, _gloffset_MultiTexCoord1sARB }, + { 25093, _gloffset_MultiTexCoord1dvARB }, + { 25957, _gloffset_MultiTexCoord1ivARB }, + { 26050, _gloffset_MultiTexCoord2ivARB }, + { 26389, _gloffset_MultiTexCoord1iARB }, + { 27739, _gloffset_MultiTexCoord4svARB }, + { 28279, _gloffset_MultiTexCoord1fARB }, + { 28542, _gloffset_MultiTexCoord4fARB }, + { 30948, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; #endif diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c index dc8bc747874..3d1a8f85923 100644 --- a/src/mesa/main/renderbuffer.c +++ b/src/mesa/main/renderbuffer.c @@ -1766,7 +1766,7 @@ _mesa_add_accum_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb, /** - * Add a software-based accumulation renderbuffer to the given framebuffer. + * Add a software-based aux renderbuffer to the given framebuffer. * This is a helper routine for device drivers when creating a * window system framebuffer (not a user-created render/framebuffer). * Once this function is called, you can basically forget about this @@ -1795,7 +1795,7 @@ _mesa_add_aux_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb, assert(fb->Attachment[BUFFER_AUX0 + i].Renderbuffer == NULL); if (!rb) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "Allocating accum buffer"); + _mesa_error(ctx, GL_OUT_OF_MEMORY, "Allocating aux buffer"); return GL_FALSE; } diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index e6c7f7aa3f8..030236e7350 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -404,6 +404,14 @@ bind_attrib_location(struct gl_context *ctx, GLuint program, GLuint index, } +static void +bind_frag_data_location(struct gl_context *ctx, GLuint program, + GLuint colorNumber, const GLchar *name) +{ + _mesa_problem(ctx, "bind_frag_data_location() not implemented yet"); +} + + static GLuint create_shader(struct gl_context *ctx, GLenum type) { @@ -605,6 +613,16 @@ get_attached_shaders(struct gl_context *ctx, GLuint program, GLsizei maxCount, } +static GLint +get_frag_data_location(struct gl_context *ctx, GLuint program, + const GLchar *name) +{ + _mesa_problem(ctx, "get_frag_data_location() not implemented yet"); + return -1; +} + + + /** * glGetHandleARB() - return ID/name of currently bound shader program. */ @@ -918,9 +936,9 @@ print_shader_info(const struct gl_shader_program *shProg) /** * Use the named shader program for subsequent glUniform calls */ -static void -active_program(struct gl_context *ctx, struct gl_shader_program *shProg, - const char *caller) +void +_mesa_active_program(struct gl_context *ctx, struct gl_shader_program *shProg, + const char *caller) { if ((shProg != NULL) && !shProg->LinkStatus) { _mesa_error(ctx, GL_INVALID_OPERATION, @@ -974,6 +992,7 @@ use_shader_program(struct gl_context *ctx, GLenum type, } if (*target != shProg) { + FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS); _mesa_reference_shader_program(ctx, target, shProg); return true; } @@ -985,49 +1004,12 @@ use_shader_program(struct gl_context *ctx, GLenum type, * Use the named shader program for subsequent rendering. */ void -_mesa_use_program(struct gl_context *ctx, GLuint program) +_mesa_use_program(struct gl_context *ctx, struct gl_shader_program *shProg) { - struct gl_shader_program *shProg; - struct gl_transform_feedback_object *obj = - ctx->TransformFeedback.CurrentObject; - bool changed = false; - - if (obj->Active) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glUseProgram(transform feedback active)"); - return; - } - - if (program) { - shProg = _mesa_lookup_shader_program_err(ctx, program, "glUseProgram"); - if (!shProg) { - return; - } - if (!shProg->LinkStatus) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glUseProgram(program %u not linked)", program); - return; - } - - /* debug code */ - if (ctx->Shader.Flags & GLSL_USE_PROG) { - print_shader_info(shProg); - } - } - else { - shProg = NULL; - } - - changed = use_shader_program(ctx, GL_VERTEX_SHADER, shProg); - changed = use_shader_program(ctx, GL_GEOMETRY_SHADER_ARB, shProg) - || changed; - changed = use_shader_program(ctx, GL_FRAGMENT_SHADER, shProg) - || changed; - active_program(ctx, shProg, "glUseProgram"); - - if (changed) { - FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS); - } + use_shader_program(ctx, GL_VERTEX_SHADER, shProg); + use_shader_program(ctx, GL_GEOMETRY_SHADER_ARB, shProg); + use_shader_program(ctx, GL_FRAGMENT_SHADER, shProg); + _mesa_active_program(ctx, shProg, "glUseProgram"); if (ctx->Driver.UseProgram) ctx->Driver.UseProgram(ctx, shProg); @@ -1185,6 +1167,16 @@ _mesa_BindAttribLocationARB(GLhandleARB program, GLuint index, } +/* GL_EXT_gpu_shader4, GL3 */ +void GLAPIENTRY +_mesa_BindFragDataLocation(GLuint program, GLuint colorNumber, + const GLchar *name) +{ + GET_CURRENT_CONTEXT(ctx); + bind_frag_data_location(ctx, program, colorNumber, name); +} + + void GLAPIENTRY _mesa_CompileShaderARB(GLhandleARB shaderObj) { @@ -1315,6 +1307,16 @@ _mesa_GetAttribLocationARB(GLhandleARB program, const GLcharARB * name) } +/* GL_EXT_gpu_shader4, GL3 */ +GLint GLAPIENTRY +_mesa_GetFragDataLocation(GLuint program, const GLchar *name) +{ + GET_CURRENT_CONTEXT(ctx); + return get_frag_data_location(ctx, program, name); +} + + + void GLAPIENTRY _mesa_GetInfoLogARB(GLhandleARB object, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog) @@ -1576,8 +1578,37 @@ void GLAPIENTRY _mesa_UseProgramObjectARB(GLhandleARB program) { GET_CURRENT_CONTEXT(ctx); - FLUSH_VERTICES(ctx, _NEW_PROGRAM); - _mesa_use_program(ctx, program); + struct gl_shader_program *shProg; + struct gl_transform_feedback_object *obj = + ctx->TransformFeedback.CurrentObject; + + if (obj->Active) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glUseProgram(transform feedback active)"); + return; + } + + if (program) { + shProg = _mesa_lookup_shader_program_err(ctx, program, "glUseProgram"); + if (!shProg) { + return; + } + if (!shProg->LinkStatus) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glUseProgram(program %u not linked)", program); + return; + } + + /* debug code */ + if (ctx->Shader.Flags & GLSL_USE_PROG) { + print_shader_info(shProg); + } + } + else { + shProg = NULL; + } + + _mesa_use_program(ctx, shProg); } @@ -1693,12 +1724,21 @@ _mesa_ProgramParameteriARB(GLuint program, GLenum pname, #endif +void +_mesa_use_shader_program(struct gl_context *ctx, GLenum type, + struct gl_shader_program *shProg) +{ + use_shader_program(ctx, type, shProg); + + if (ctx->Driver.UseProgram) + ctx->Driver.UseProgram(ctx, shProg); +} + void GLAPIENTRY _mesa_UseShaderProgramEXT(GLenum type, GLuint program) { GET_CURRENT_CONTEXT(ctx); struct gl_shader_program *shProg = NULL; - bool changed = false; if (!validate_shader_target(ctx, type)) { _mesa_error(ctx, GL_INVALID_ENUM, "glUseShaderProgramEXT(type)"); @@ -1724,13 +1764,7 @@ _mesa_UseShaderProgramEXT(GLenum type, GLuint program) } } - changed = use_shader_program(ctx, type, shProg); - if (changed) - FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS); - - if (ctx->Driver.UseProgram) - ctx->Driver.UseProgram(ctx, shProg); - return; + _mesa_use_shader_program(ctx, type, shProg); } void GLAPIENTRY @@ -1741,7 +1775,7 @@ _mesa_ActiveProgramEXT(GLuint program) ? _mesa_lookup_shader_program_err(ctx, program, "glActiveProgramEXT") : NULL; - active_program(ctx, shProg, "glActiveProgramEXT"); + _mesa_active_program(ctx, shProg, "glActiveProgramEXT"); return; } @@ -1842,6 +1876,11 @@ _mesa_init_shader_dispatch(struct _glapi_table *exec) SET_UseShaderProgramEXT(exec, _mesa_UseShaderProgramEXT); SET_ActiveProgramEXT(exec, _mesa_ActiveProgramEXT); SET_CreateShaderProgramEXT(exec, _mesa_CreateShaderProgramEXT); + + /* GL_EXT_gpu_shader4 / GL 3.0 */ + SET_BindFragDataLocationEXT(exec, _mesa_BindFragDataLocation); + SET_GetFragDataLocationEXT(exec, _mesa_GetFragDataLocation); + #endif /* FEATURE_GL */ } diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h index de67a9929ef..df78351411c 100644 --- a/src/mesa/main/shaderapi.h +++ b/src/mesa/main/shaderapi.h @@ -39,8 +39,11 @@ _mesa_copy_string(GLchar *dst, GLsizei maxLength, GLsizei *length, const GLchar *src); extern void -_mesa_use_program(struct gl_context *ctx, GLuint program); +_mesa_use_program(struct gl_context *ctx, struct gl_shader_program *shProg); +extern void +_mesa_active_program(struct gl_context *ctx, struct gl_shader_program *shProg, + const char *caller); extern void _mesa_init_shader_dispatch(struct _glapi_table *exec); @@ -68,6 +71,9 @@ _mesa_DetachObjectARB(GLhandleARB, GLhandleARB); extern void GLAPIENTRY _mesa_GetAttachedObjectsARB(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *); +extern GLint GLAPIENTRY +_mesa_GetFragDataLocation(GLuint program, const GLchar *name); + extern GLhandleARB GLAPIENTRY _mesa_GetHandleARB(GLenum pname); @@ -106,6 +112,10 @@ extern void GLAPIENTRY _mesa_BindAttribLocationARB(GLhandleARB, GLuint, const GLcharARB *); extern void GLAPIENTRY +_mesa_BindFragDataLocation(GLuint program, GLuint colorNumber, + const GLchar *name); + +extern void GLAPIENTRY _mesa_GetActiveAttribARB(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *); @@ -165,6 +175,9 @@ _mesa_ShaderBinary(GLint n, const GLuint *shaders, GLenum binaryformat, extern void GLAPIENTRY _mesa_ProgramParameteriARB(GLuint program, GLenum pname, GLint value); +void +_mesa_use_shader_program(struct gl_context *ctx, GLenum type, + struct gl_shader_program *shProg); extern void GLAPIENTRY _mesa_UseShaderProgramEXT(GLenum type, GLuint program); diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 05f4165c44a..cce1b464f0c 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -483,8 +483,6 @@ update_tricaps(struct gl_context *ctx, GLbitfield new_state) 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; } @@ -497,8 +495,6 @@ update_tricaps(struct gl_context *ctx, GLbitfield new_state) 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; } /* diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index e08df0f7fed..13267609614 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -380,15 +380,20 @@ _mesa_reference_texobj(struct gl_texture_object **ptr, * * \note For debug purposes only. */ -#if 0 static void -incomplete(const struct gl_texture_object *t, const char *why) +incomplete(const struct gl_texture_object *t, const char *fmt, ...) { - printf("Texture Obj %d incomplete because: %s\n", t->Name, why); -} -#else -#define incomplete(t, why) +#if 0 + va_list args; + char s[100]; + + va_start(args, fmt); + vsnprintf(s, sizeof(s), fmt, args); + va_end(args); + + printf("Texture Obj %d incomplete because: %s\n", t->Name, s); #endif +} /** @@ -416,18 +421,14 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx, * value. */ if ((baseLevel < 0) || (baseLevel >= MAX_TEXTURE_LEVELS)) { - char s[100]; - _mesa_snprintf(s, sizeof(s), "base level = %d is invalid", baseLevel); - incomplete(t, s); + incomplete(t, "base level = %d is invalid", baseLevel); t->_Complete = GL_FALSE; return; } /* Always need the base level image */ if (!t->Image[0][baseLevel]) { - char s[100]; - _mesa_snprintf(s, sizeof(s), "Image[baseLevel=%d] == NULL", baseLevel); - incomplete(t, s); + incomplete(t, "Image[baseLevel=%d] == NULL", baseLevel); t->_Complete = GL_FALSE; return; } diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index fb34a005b3b..fd7476d2273 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -315,9 +315,9 @@ make_temp_float_image(struct gl_context *ctx, GLuint dims, GLint srcWidth, GLint srcHeight, GLint srcDepth, GLenum srcFormat, GLenum srcType, const GLvoid *srcAddr, - const struct gl_pixelstore_attrib *srcPacking) + const struct gl_pixelstore_attrib *srcPacking, + GLbitfield transferOps) { - GLuint transferOps = ctx->_ImageTransferState; GLfloat *tempImage; const GLint components = _mesa_components_in_format(logicalBaseFormat); const GLint srcStride = @@ -419,6 +419,115 @@ make_temp_float_image(struct gl_context *ctx, GLuint dims, /** + * Make temporary image with uint pixel values. Used for unsigned + * integer-valued textures. + */ +static GLuint * +make_temp_uint_image(struct gl_context *ctx, GLuint dims, + GLenum logicalBaseFormat, + GLenum textureBaseFormat, + GLint srcWidth, GLint srcHeight, GLint srcDepth, + GLenum srcFormat, GLenum srcType, + const GLvoid *srcAddr, + const struct gl_pixelstore_attrib *srcPacking) +{ + GLuint *tempImage; + const GLint components = _mesa_components_in_format(logicalBaseFormat); + const GLint srcStride = + _mesa_image_row_stride(srcPacking, srcWidth, srcFormat, srcType); + GLuint *dst; + GLint img, row; + + ASSERT(dims >= 1 && dims <= 3); + + ASSERT(logicalBaseFormat == GL_RGBA || + logicalBaseFormat == GL_RGB || + logicalBaseFormat == GL_RG || + logicalBaseFormat == GL_RED || + logicalBaseFormat == GL_LUMINANCE_ALPHA || + logicalBaseFormat == GL_LUMINANCE || + logicalBaseFormat == GL_INTENSITY || + logicalBaseFormat == GL_ALPHA); + + ASSERT(textureBaseFormat == GL_RGBA || + textureBaseFormat == GL_RGB || + textureBaseFormat == GL_RG || + textureBaseFormat == GL_RED || + textureBaseFormat == GL_LUMINANCE_ALPHA || + textureBaseFormat == GL_LUMINANCE || + textureBaseFormat == GL_ALPHA); + + tempImage = (GLuint *) malloc(srcWidth * srcHeight * srcDepth + * components * sizeof(GLuint)); + if (!tempImage) + return NULL; + + dst = tempImage; + for (img = 0; img < srcDepth; img++) { + const GLubyte *src + = (const GLubyte *) _mesa_image_address(dims, srcPacking, srcAddr, + srcWidth, srcHeight, + srcFormat, srcType, + img, 0, 0); + for (row = 0; row < srcHeight; row++) { + _mesa_unpack_color_span_uint(ctx, srcWidth, logicalBaseFormat, + dst, srcFormat, srcType, src, + srcPacking); + dst += srcWidth * components; + src += srcStride; + } + } + + if (logicalBaseFormat != textureBaseFormat) { + /* more work */ + GLint texComponents = _mesa_components_in_format(textureBaseFormat); + GLint logComponents = _mesa_components_in_format(logicalBaseFormat); + GLuint *newImage; + GLint i, n; + GLubyte map[6]; + + /* we only promote up to RGB, RGBA and LUMINANCE_ALPHA formats for now */ + ASSERT(textureBaseFormat == GL_RGB || textureBaseFormat == GL_RGBA || + textureBaseFormat == GL_LUMINANCE_ALPHA); + + /* The actual texture format should have at least as many components + * as the logical texture format. + */ + ASSERT(texComponents >= logComponents); + + newImage = (GLuint *) malloc(srcWidth * srcHeight * srcDepth + * texComponents * sizeof(GLuint)); + if (!newImage) { + free(tempImage); + return NULL; + } + + compute_component_mapping(logicalBaseFormat, textureBaseFormat, map); + + n = srcWidth * srcHeight * srcDepth; + for (i = 0; i < n; i++) { + GLint k; + for (k = 0; k < texComponents; k++) { + GLint j = map[k]; + if (j == ZERO) + newImage[i * texComponents + k] = 0.0F; + else if (j == ONE) + newImage[i * texComponents + k] = 1.0F; + else + newImage[i * texComponents + k] = tempImage[i * logComponents + j]; + } + } + + free(tempImage); + tempImage = newImage; + } + + return tempImage; +} + + + +/** * Make a temporary (color) texture image with GLchan components. * Apply all needed pixel unpacking and pixel transfer operations. * Note that there are both logicalBaseFormat and textureBaseFormat parameters. @@ -2085,7 +2194,8 @@ _mesa_texstore_unorm1616(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *src = tempImage; GLint img, row, col; if (!tempImage) @@ -2159,7 +2269,8 @@ _mesa_texstore_r16(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *src = tempImage; GLint img, row, col; if (!tempImage) @@ -2216,7 +2327,8 @@ _mesa_texstore_rgba_16(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *src = tempImage; GLint img, row, col; if (!tempImage) @@ -2282,7 +2394,8 @@ _mesa_texstore_signed_rgba_16(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *src = tempImage; const GLuint comps = _mesa_get_format_bytes(dstFormat) / 2; GLint img, row, col; @@ -2663,7 +2776,8 @@ _mesa_texstore_signed_r8(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *srcRow = tempImage; GLint img, row, col; if (!tempImage) @@ -2707,7 +2821,8 @@ _mesa_texstore_signed_rg88(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *srcRow = tempImage; GLint img, row, col; if (!tempImage) @@ -2751,7 +2866,8 @@ _mesa_texstore_signed_rgbx8888(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *srcRow = tempImage; GLint img, row, col; if (!tempImage) @@ -2863,7 +2979,8 @@ _mesa_texstore_signed_rgba8888(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *srcRow = tempImage; GLint img, row, col; if (!tempImage) @@ -3171,7 +3288,8 @@ _mesa_texstore_rgba_float32(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *srcRow = tempImage; GLint bytesPerRow; GLint img, row; @@ -3240,7 +3358,8 @@ _mesa_texstore_rgba_float16(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, + ctx->_ImageTransferState); const GLfloat *src = tempImage; GLint img, row; if (!tempImage) @@ -3284,8 +3403,10 @@ _mesa_texstore_rgba_int8(TEXSTORE_PARAMS) baseInternalFormat == GL_INTENSITY); ASSERT(texelBytes == components * sizeof(GLbyte)); - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && + /* Note: Pixel transfer ops (scale, bias, table lookup) do not apply + * to integer formats. + */ + if (!srcPacking->SwapBytes && baseInternalFormat == srcFormat && srcType == GL_BYTE) { /* simple memcpy path */ @@ -3303,7 +3424,7 @@ _mesa_texstore_rgba_int8(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, 0x0); const GLfloat *src = tempImage; GLint img, row; if (!tempImage) @@ -3347,10 +3468,12 @@ _mesa_texstore_rgba_int16(TEXSTORE_PARAMS) baseInternalFormat == GL_INTENSITY); ASSERT(texelBytes == components * sizeof(GLshort)); - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && + /* Note: Pixel transfer ops (scale, bias, table lookup) do not apply + * to integer formats. + */ + if (!srcPacking->SwapBytes && baseInternalFormat == srcFormat && - srcType == GL_INT) { + srcType == GL_SHORT) { /* simple memcpy path */ memcpy_texture(ctx, dims, dstFormat, dstAddr, dstXoffset, dstYoffset, dstZoffset, @@ -3366,7 +3489,7 @@ _mesa_texstore_rgba_int16(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, 0x0); const GLfloat *src = tempImage; GLint img, row; if (!tempImage) @@ -3410,8 +3533,10 @@ _mesa_texstore_rgba_int32(TEXSTORE_PARAMS) baseInternalFormat == GL_INTENSITY); ASSERT(texelBytes == components * sizeof(GLint)); - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && + /* Note: Pixel transfer ops (scale, bias, table lookup) do not apply + * to integer formats. + */ + if (!srcPacking->SwapBytes && baseInternalFormat == srcFormat && srcType == GL_INT) { /* simple memcpy path */ @@ -3429,7 +3554,7 @@ _mesa_texstore_rgba_int32(TEXSTORE_PARAMS) baseFormat, srcWidth, srcHeight, srcDepth, srcFormat, srcType, srcAddr, - srcPacking); + srcPacking, 0x0); const GLfloat *src = tempImage; GLint img, row; if (!tempImage) @@ -3473,8 +3598,10 @@ _mesa_texstore_rgba_uint8(TEXSTORE_PARAMS) baseInternalFormat == GL_INTENSITY); ASSERT(texelBytes == components * sizeof(GLubyte)); - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && + /* Note: Pixel transfer ops (scale, bias, table lookup) do not apply + * to integer formats. + */ + if (!srcPacking->SwapBytes && baseInternalFormat == srcFormat && srcType == GL_UNSIGNED_BYTE) { /* simple memcpy path */ @@ -3487,13 +3614,11 @@ _mesa_texstore_rgba_uint8(TEXSTORE_PARAMS) } else { /* general path */ - const GLfloat *tempImage = make_temp_float_image(ctx, dims, - baseInternalFormat, - baseFormat, - srcWidth, srcHeight, srcDepth, - srcFormat, srcType, srcAddr, - srcPacking); - const GLfloat *src = tempImage; + const GLuint *tempImage = + make_temp_uint_image(ctx, dims, baseInternalFormat, baseFormat, + srcWidth, srcHeight, srcDepth, + srcFormat, srcType, srcAddr, srcPacking); + const GLuint *src = tempImage; GLint img, row; if (!tempImage) return GL_FALSE; @@ -3506,7 +3631,7 @@ _mesa_texstore_rgba_uint8(TEXSTORE_PARAMS) GLubyte *dstTexel = (GLubyte *) dstRow; GLint i; for (i = 0; i < srcWidth * components; i++) { - dstTexel[i] = (GLubyte) src[i]; + dstTexel[i] = (GLubyte) CLAMP(src[i], 0, 0xff); } dstRow += dstRowStride; src += srcWidth * components; @@ -3536,8 +3661,10 @@ _mesa_texstore_rgba_uint16(TEXSTORE_PARAMS) baseInternalFormat == GL_INTENSITY); ASSERT(texelBytes == components * sizeof(GLushort)); - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && + /* Note: Pixel transfer ops (scale, bias, table lookup) do not apply + * to integer formats. + */ + if (!srcPacking->SwapBytes && baseInternalFormat == srcFormat && srcType == GL_UNSIGNED_SHORT) { /* simple memcpy path */ @@ -3550,13 +3677,11 @@ _mesa_texstore_rgba_uint16(TEXSTORE_PARAMS) } else { /* general path */ - const GLfloat *tempImage = make_temp_float_image(ctx, dims, - baseInternalFormat, - baseFormat, - srcWidth, srcHeight, srcDepth, - srcFormat, srcType, srcAddr, - srcPacking); - const GLfloat *src = tempImage; + const GLuint *tempImage = + make_temp_uint_image(ctx, dims, baseInternalFormat, baseFormat, + srcWidth, srcHeight, srcDepth, + srcFormat, srcType, srcAddr, srcPacking); + const GLuint *src = tempImage; GLint img, row; if (!tempImage) return GL_FALSE; @@ -3569,7 +3694,7 @@ _mesa_texstore_rgba_uint16(TEXSTORE_PARAMS) GLushort *dstTexel = (GLushort *) dstRow; GLint i; for (i = 0; i < srcWidth * components; i++) { - dstTexel[i] = (GLushort) src[i]; + dstTexel[i] = (GLushort) CLAMP(src[i], 0, 0xffff); } dstRow += dstRowStride; src += srcWidth * components; @@ -3599,8 +3724,10 @@ _mesa_texstore_rgba_uint32(TEXSTORE_PARAMS) baseInternalFormat == GL_INTENSITY); ASSERT(texelBytes == components * sizeof(GLuint)); - if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && + /* Note: Pixel transfer ops (scale, bias, table lookup) do not apply + * to integer formats. + */ + if (!srcPacking->SwapBytes && baseInternalFormat == srcFormat && srcType == GL_UNSIGNED_INT) { /* simple memcpy path */ @@ -3613,13 +3740,11 @@ _mesa_texstore_rgba_uint32(TEXSTORE_PARAMS) } else { /* general path */ - const GLfloat *tempImage = make_temp_float_image(ctx, dims, - baseInternalFormat, - baseFormat, - srcWidth, srcHeight, srcDepth, - srcFormat, srcType, srcAddr, - srcPacking); - const GLfloat *src = tempImage; + const GLuint *tempImage = + make_temp_uint_image(ctx, dims, baseInternalFormat, baseFormat, + srcWidth, srcHeight, srcDepth, + srcFormat, srcType, srcAddr, srcPacking); + const GLuint *src = tempImage; GLint img, row; if (!tempImage) return GL_FALSE; @@ -3632,7 +3757,7 @@ _mesa_texstore_rgba_uint32(TEXSTORE_PARAMS) GLuint *dstTexel = (GLuint *) dstRow; GLint i; for (i = 0; i < srcWidth * components; i++) { - dstTexel[i] = (GLuint) src[i]; + dstTexel[i] = src[i]; } dstRow += dstRowStride; src += srcWidth * components; diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index b5bae0337b2..d61856d0ebc 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -682,6 +682,40 @@ _mesa_get_uniformiv(struct gl_context *ctx, GLuint program, GLint location, /** + * Called via glGetUniformuiv(). + * New in GL_EXT_gpu_shader4, OpenGL 3.0 + * \sa _mesa_get_uniformfv, only difference is a cast. + */ +static void +_mesa_get_uniformuiv(struct gl_context *ctx, GLuint program, GLint location, + GLuint *params) +{ + struct gl_program *prog; + GLint paramPos; + GLint offset; + + split_location_offset(&location, &offset); + + lookup_uniform_parameter(ctx, program, location, &prog, ¶mPos); + + if (prog) { + const struct gl_program_parameter *p = + &prog->Parameters->Parameters[paramPos]; + GLint rows, cols, i, j, k; + + get_uniform_rows_cols(p, &rows, &cols); + + k = 0; + for (i = 0; i < rows; i++) { + for (j = 0; j < cols; j++ ) { + params[k++] = (GLuint) prog->Parameters->ParameterValues[paramPos+i][j]; + } + } + } +} + + +/** * Called via glGetUniformLocation(). * * The return value will encode two values, the uniform location and an @@ -1534,6 +1568,16 @@ _mesa_GetUniformivARB(GLhandleARB program, GLint location, GLint *params) } +/* GL3 */ +void GLAPIENTRY +_mesa_GetUniformuiv(GLhandleARB program, GLint location, GLuint *params) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_get_uniformuiv(ctx, program, location, params); +} + + + GLint GLAPIENTRY _mesa_GetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name) { @@ -1603,13 +1647,16 @@ _mesa_init_shader_uniform_dispatch(struct _glapi_table *exec) /* OpenGL 3.0 */ /* XXX finish dispatch */ - (void) _mesa_Uniform1ui; - (void) _mesa_Uniform2ui; - (void) _mesa_Uniform3ui; - (void) _mesa_Uniform4ui; - (void) _mesa_Uniform1uiv; - (void) _mesa_Uniform2uiv; - (void) _mesa_Uniform3uiv; - (void) _mesa_Uniform4uiv; + SET_Uniform1uiEXT(exec, _mesa_Uniform1ui); + SET_Uniform2uiEXT(exec, _mesa_Uniform2ui); + SET_Uniform3uiEXT(exec, _mesa_Uniform3ui); + SET_Uniform4uiEXT(exec, _mesa_Uniform4ui); + SET_Uniform1uivEXT(exec, _mesa_Uniform1uiv); + SET_Uniform2uivEXT(exec, _mesa_Uniform2uiv); + SET_Uniform3uivEXT(exec, _mesa_Uniform3uiv); + SET_Uniform4uivEXT(exec, _mesa_Uniform4uiv); + SET_GetUniformuivEXT(exec, _mesa_GetUniformuiv); + + #endif /* FEATURE_GL */ } diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h index 64474363051..54abb08ba59 100644 --- a/src/mesa/main/uniforms.h +++ b/src/mesa/main/uniforms.h @@ -148,6 +148,9 @@ _mesa_GetUniformfvARB(GLhandleARB, GLint, GLfloat *); extern void GLAPIENTRY _mesa_GetUniformivARB(GLhandleARB, GLint, GLint *); +extern void GLAPIENTRY +_mesa_GetUniformuiv(GLhandleARB program, GLint location, GLuint *params); + extern GLint GLAPIENTRY _mesa_GetUniformLocationARB(GLhandleARB, const GLcharARB *); diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index 56749355cdf..340c3fe1d39 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -31,6 +31,7 @@ #include "enable.h" #include "enums.h" #include "hash.h" +#include "image.h" #include "macros.h" #include "mtypes.h" #include "varray.h" @@ -38,39 +39,143 @@ #include "main/dispatch.h" +/** Used to do error checking for GL_EXT_vertex_array_bgra */ +#define BGRA_OR_4 5 + + +/** Used to indicate which GL datatypes are accepted by each of the + * glVertex/Color/Attrib/EtcPointer() functions. + */ +#define BOOL_BIT 0x1 +#define BYTE_BIT 0x2 +#define UNSIGNED_BYTE_BIT 0x4 +#define SHORT_BIT 0x8 +#define UNSIGNED_SHORT_BIT 0x10 +#define INT_BIT 0x20 +#define UNSIGNED_INT_BIT 0x40 +#define HALF_BIT 0x80 +#define FLOAT_BIT 0x100 +#define DOUBLE_BIT 0x200 +#define FIXED_BIT 0x400 + + + +/** Convert GL datatype enum into a <type>_BIT value seen above */ +static GLbitfield +type_to_bit(const struct gl_context *ctx, GLenum type) +{ + switch (type) { + case GL_BOOL: + return BOOL_BIT; + case GL_BYTE: + return BYTE_BIT; + case GL_UNSIGNED_BYTE: + return UNSIGNED_BYTE_BIT; + case GL_SHORT: + return SHORT_BIT; + case GL_UNSIGNED_SHORT: + return UNSIGNED_SHORT_BIT; + case GL_INT: + return INT_BIT; + case GL_UNSIGNED_INT: + return UNSIGNED_INT_BIT; + case GL_HALF_FLOAT: + if (ctx->Extensions.ARB_half_float_vertex) + return HALF_BIT; + else + return 0x0; + case GL_FLOAT: + return FLOAT_BIT; + case GL_DOUBLE: + return DOUBLE_BIT; + case GL_FIXED: + return FIXED_BIT; + default: + return 0; + } +} + + /** - * Set the fields of a vertex array. - * Also do an error check for GL_ARB_vertex_array_object: check that - * all arrays reside in VBOs when using a vertex array object. + * Do error checking and update state for glVertex/Color/TexCoord/...Pointer + * functions. * + * \param func name of calling function used for error reporting * \param array the array to update * \param dirtyBit which bit to set in ctx->Array.NewState for this array - * \param elementSize size of each array element, in bytes + * \param legalTypes bitmask of *_BIT above indicating legal datatypes + * \param sizeMin min allowable size value + * \param sizeMax max allowable size value (may also be BGRA_OR_4) * \param size components per element (1, 2, 3 or 4) * \param type datatype of each component (GL_FLOAT, GL_INT, etc) - * \param format either GL_RGBA or GL_BGRA * \param stride stride between elements, in elements * \param normalized are integer types converted to floats in [-1, 1]? + * \param integer integer-valued values (will not be normalized to [-1,1]) * \param ptr the address (or offset inside VBO) of the array data */ static void -update_array(struct gl_context *ctx, struct gl_client_array *array, - GLbitfield dirtyBit, GLsizei elementSize, - GLint size, GLenum type, GLenum format, - GLsizei stride, GLboolean normalized, const GLvoid *ptr) +update_array(struct gl_context *ctx, + const char *func, + struct gl_client_array *array, + GLbitfield dirtyBit, GLbitfield legalTypesMask, + GLint sizeMin, GLint sizeMax, + GLint size, GLenum type, GLsizei stride, + GLboolean normalized, GLboolean integer, + const GLvoid *ptr) { - ASSERT(format == GL_RGBA || format == GL_BGRA); + GLbitfield typeBit; + GLsizei elementSize; + GLenum format = GL_RGBA; + + if (ctx->API != API_OPENGLES) { + /* fixed point arrays / data is only allowed with OpenGL ES 1.x */ + legalTypesMask &= ~FIXED_BIT; + } + + typeBit = type_to_bit(ctx, type); + if (typeBit == 0x0 || (typeBit & legalTypesMask) == 0x0) { + _mesa_error(ctx, GL_INVALID_ENUM, "%s(type = %s)", + func, _mesa_lookup_enum_by_nr(type)); + return; + } + + /* Do size parameter checking. + * If sizeMax = BGRA_OR_4 it means that size = GL_BGRA is legal and + * must be handled specially. + */ + if (ctx->Extensions.EXT_vertex_array_bgra && + sizeMax == BGRA_OR_4 && + size == GL_BGRA) { + if (type != GL_UNSIGNED_BYTE) { + _mesa_error(ctx, GL_INVALID_VALUE, "%s(GL_BGRA/GLubyte)", func); + return; + } + format = GL_BGRA; + size = 4; + } + else if (size < sizeMin || size > sizeMax || size > 4) { + _mesa_error(ctx, GL_INVALID_VALUE, "%s(size=%d)", func, size); + return; + } + + ASSERT(size <= 4); + + if (stride < 0) { + _mesa_error( ctx, GL_INVALID_VALUE, "%s(stride=%d)", func, stride ); + return; + } if (ctx->Array.ArrayObj->VBOonly && ctx->Array.ArrayBufferObj->Name == 0) { /* GL_ARB_vertex_array_object requires that all arrays reside in VBOs. * Generate GL_INVALID_OPERATION if that's not true. */ - _mesa_error(ctx, GL_INVALID_OPERATION, - "glVertex/Normal/EtcPointer(non-VBO array)"); + _mesa_error(ctx, GL_INVALID_OPERATION, "%s(non-VBO array)", func); return; } + elementSize = _mesa_sizeof_type(type) * size; + array->Size = size; array->Type = type; array->Format = format; @@ -91,258 +196,81 @@ update_array(struct gl_context *ctx, struct gl_client_array *array, void GLAPIENTRY _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { - GLsizei elementSize; + GLbitfield legalTypes = (SHORT_BIT | INT_BIT | FLOAT_BIT | + DOUBLE_BIT | HALF_BIT | FIXED_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (size < 2 || size > 4) { - _mesa_error( ctx, GL_INVALID_VALUE, "glVertexPointer(size)" ); - return; - } - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glVertexPointer(stride)" ); - return; - } + if (ctx->API == API_OPENGLES) + legalTypes |= BYTE_BIT; - if (MESA_VERBOSE&(VERBOSE_VARRAY|VERBOSE_API)) - _mesa_debug(ctx, "glVertexPointer( sz %d type %s stride %d )\n", size, - _mesa_lookup_enum_by_nr( type ), stride); - - /* always need to check that <type> is legal */ - switch (type) { - case GL_SHORT: - elementSize = size * sizeof(GLshort); - break; - case GL_INT: - elementSize = size * sizeof(GLint); - break; - case GL_FLOAT: - elementSize = size * sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = size * sizeof(GLdouble); - break; - case GL_HALF_FLOAT: - elementSize = size * sizeof(GLhalfARB); - break; -#if FEATURE_fixedpt - case GL_FIXED: - elementSize = size * sizeof(GLfixed); - break; -#endif -#if FEATURE_vertex_array_byte - case GL_BYTE: - elementSize = size * sizeof(GLbyte); - break; -#endif - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glVertexPointer(type=%s)", - _mesa_lookup_enum_by_nr(type)); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->Vertex, _NEW_ARRAY_VERTEX, - elementSize, size, type, GL_RGBA, stride, GL_FALSE, ptr); + update_array(ctx, "glVertexPointer", + &ctx->Array.ArrayObj->Vertex, _NEW_ARRAY_VERTEX, + legalTypes, 2, 4, + size, type, stride, GL_FALSE, GL_FALSE, ptr); } void GLAPIENTRY _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr ) { - GLsizei elementSize; + const GLbitfield legalTypes = (BYTE_BIT | SHORT_BIT | INT_BIT | + HALF_BIT | FLOAT_BIT | DOUBLE_BIT | + FIXED_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glNormalPointer(stride)" ); - return; - } - - if (MESA_VERBOSE&(VERBOSE_VARRAY|VERBOSE_API)) - _mesa_debug(ctx, "glNormalPointer( type %s stride %d )\n", - _mesa_lookup_enum_by_nr( type ), stride); - - switch (type) { - case GL_BYTE: - elementSize = 3 * sizeof(GLbyte); - break; - case GL_SHORT: - elementSize = 3 * sizeof(GLshort); - break; - case GL_INT: - elementSize = 3 * sizeof(GLint); - break; - case GL_FLOAT: - elementSize = 3 * sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = 3 * sizeof(GLdouble); - break; - case GL_HALF_FLOAT: - elementSize = 3 * sizeof(GLhalfARB); - break; -#if FEATURE_fixedpt - case GL_FIXED: - elementSize = 3 * sizeof(GLfixed); - break; -#endif - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glNormalPointer(type=%s)", - _mesa_lookup_enum_by_nr(type)); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->Normal, _NEW_ARRAY_NORMAL, - elementSize, 3, type, GL_RGBA, stride, GL_TRUE, ptr); + update_array(ctx, "glNormalPointer", + &ctx->Array.ArrayObj->Normal, _NEW_ARRAY_NORMAL, + legalTypes, 3, 3, + 3, type, stride, GL_TRUE, GL_FALSE, ptr); } void GLAPIENTRY _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { - GLsizei elementSize; - GLenum format; + const GLbitfield legalTypes = (BYTE_BIT | UNSIGNED_BYTE_BIT | + SHORT_BIT | UNSIGNED_SHORT_BIT | + INT_BIT | UNSIGNED_INT_BIT | + HALF_BIT | FLOAT_BIT | DOUBLE_BIT | + FIXED_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (size < 3 || size > 4) { - if (!ctx->Extensions.EXT_vertex_array_bgra || size != GL_BGRA) { - _mesa_error(ctx, GL_INVALID_VALUE, "glColorPointer(size)"); - return; - } - } - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glColorPointer(stride)" ); - return; - } - - if (MESA_VERBOSE&(VERBOSE_VARRAY|VERBOSE_API)) - _mesa_debug(ctx, "glColorPointer( sz %d type %s stride %d )\n", size, - _mesa_lookup_enum_by_nr( type ), stride); - - if (size == GL_BGRA) { - if (type != GL_UNSIGNED_BYTE) { - _mesa_error(ctx, GL_INVALID_VALUE, "glColorPointer(GL_BGRA/GLubyte)"); - return; - } - format = GL_BGRA; - size = 4; - } - else { - format = GL_RGBA; - } - - switch (type) { - case GL_BYTE: - elementSize = size * sizeof(GLbyte); - break; - case GL_UNSIGNED_BYTE: - elementSize = size * sizeof(GLubyte); - break; - case GL_SHORT: - elementSize = size * sizeof(GLshort); - break; - case GL_UNSIGNED_SHORT: - elementSize = size * sizeof(GLushort); - break; - case GL_INT: - elementSize = size * sizeof(GLint); - break; - case GL_UNSIGNED_INT: - elementSize = size * sizeof(GLuint); - break; - case GL_FLOAT: - elementSize = size * sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = size * sizeof(GLdouble); - break; - case GL_HALF_FLOAT: - elementSize = size * sizeof(GLhalfARB); - break; -#if FEATURE_fixedpt - case GL_FIXED: - elementSize = size * sizeof(GLfixed); - break; -#endif - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glColorPointer(type=%s)", - _mesa_lookup_enum_by_nr(type)); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->Color, _NEW_ARRAY_COLOR0, - elementSize, size, type, format, stride, GL_TRUE, ptr); + update_array(ctx, "glColorPointer", + &ctx->Array.ArrayObj->Color, _NEW_ARRAY_COLOR0, + legalTypes, 3, BGRA_OR_4, + size, type, stride, GL_TRUE, GL_FALSE, ptr); } void GLAPIENTRY _mesa_FogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *ptr) { - GLint elementSize; + const GLbitfield legalTypes = (HALF_BIT | FLOAT_BIT | DOUBLE_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glFogCoordPointer(stride)" ); - return; - } - - switch (type) { - case GL_FLOAT: - elementSize = sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = sizeof(GLdouble); - break; - case GL_HALF_FLOAT: - elementSize = sizeof(GLhalfARB); - break; - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glFogCoordPointer(type)" ); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->FogCoord, _NEW_ARRAY_FOGCOORD, - elementSize, 1, type, GL_RGBA, stride, GL_FALSE, ptr); + update_array(ctx, "glFogCoordPointer", + &ctx->Array.ArrayObj->FogCoord, _NEW_ARRAY_FOGCOORD, + legalTypes, 1, 1, + 1, type, stride, GL_FALSE, GL_FALSE, ptr); } void GLAPIENTRY _mesa_IndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr) { - GLsizei elementSize; + const GLbitfield legalTypes = (UNSIGNED_BYTE_BIT | SHORT_BIT | INT_BIT | + FLOAT_BIT | DOUBLE_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glIndexPointer(stride)" ); - return; - } - - switch (type) { - case GL_UNSIGNED_BYTE: - elementSize = sizeof(GLubyte); - break; - case GL_SHORT: - elementSize = sizeof(GLshort); - break; - case GL_INT: - elementSize = sizeof(GLint); - break; - case GL_FLOAT: - elementSize = sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = sizeof(GLdouble); - break; - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glIndexPointer(type)" ); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->Index, _NEW_ARRAY_INDEX, - elementSize, 1, type, GL_RGBA, stride, GL_FALSE, ptr); + update_array(ctx, "glIndexPointer", + &ctx->Array.ArrayObj->Index, _NEW_ARRAY_INDEX, + legalTypes, 1, 1, + 1, type, stride, GL_FALSE, GL_FALSE, ptr); } @@ -350,74 +278,17 @@ void GLAPIENTRY _mesa_SecondaryColorPointerEXT(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { - GLsizei elementSize; - GLenum format; + const GLbitfield legalTypes = (BYTE_BIT | UNSIGNED_BYTE_BIT | + SHORT_BIT | UNSIGNED_SHORT_BIT | + INT_BIT | UNSIGNED_INT_BIT | + HALF_BIT | FLOAT_BIT | DOUBLE_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (size != 3 && size != 4) { - if (!ctx->Extensions.EXT_vertex_array_bgra || size != GL_BGRA) { - _mesa_error(ctx, GL_INVALID_VALUE, "glSecondaryColorPointer(size)"); - return; - } - } - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glSecondaryColorPointer(stride)" ); - return; - } - - if (MESA_VERBOSE&(VERBOSE_VARRAY|VERBOSE_API)) - _mesa_debug(ctx, "glSecondaryColorPointer( sz %d type %s stride %d )\n", - size, _mesa_lookup_enum_by_nr( type ), stride); - - if (size == GL_BGRA) { - if (type != GL_UNSIGNED_BYTE) { - _mesa_error(ctx, GL_INVALID_VALUE, "glColorPointer(GL_BGRA/GLubyte)"); - return; - } - format = GL_BGRA; - size = 4; - } - else { - format = GL_RGBA; - } - - switch (type) { - case GL_BYTE: - elementSize = size * sizeof(GLbyte); - break; - case GL_UNSIGNED_BYTE: - elementSize = size * sizeof(GLubyte); - break; - case GL_SHORT: - elementSize = size * sizeof(GLshort); - break; - case GL_UNSIGNED_SHORT: - elementSize = size * sizeof(GLushort); - break; - case GL_INT: - elementSize = size * sizeof(GLint); - break; - case GL_UNSIGNED_INT: - elementSize = size * sizeof(GLuint); - break; - case GL_FLOAT: - elementSize = size * sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = size * sizeof(GLdouble); - break; - case GL_HALF_FLOAT: - elementSize = size * sizeof(GLhalfARB); - break; - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glSecondaryColorPointer(type=%s)", - _mesa_lookup_enum_by_nr(type)); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->SecondaryColor, _NEW_ARRAY_COLOR1, - elementSize, size, type, format, stride, GL_TRUE, ptr); + update_array(ctx, "glSecondaryColorPointer", + &ctx->Array.ArrayObj->SecondaryColor, _NEW_ARRAY_COLOR1, + legalTypes, 3, BGRA_OR_4, + size, type, stride, GL_TRUE, GL_FALSE, ptr); } @@ -425,110 +296,59 @@ void GLAPIENTRY _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { - GLint elementSize; + GLbitfield legalTypes = (SHORT_BIT | INT_BIT | + HALF_BIT | FLOAT_BIT | DOUBLE_BIT); GET_CURRENT_CONTEXT(ctx); const GLuint unit = ctx->Array.ActiveTexture; ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (size < 1 || size > 4) { - _mesa_error( ctx, GL_INVALID_VALUE, "glTexCoordPointer(size)" ); - return; - } - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glTexCoordPointer(stride)" ); - return; - } - - if (MESA_VERBOSE&(VERBOSE_VARRAY|VERBOSE_API)) - _mesa_debug(ctx, "glTexCoordPointer(unit %u sz %d type %s stride %d)\n", - unit, size, _mesa_lookup_enum_by_nr( type ), stride); - - /* always need to check that <type> is legal */ - switch (type) { - case GL_SHORT: - elementSize = size * sizeof(GLshort); - break; - case GL_INT: - elementSize = size * sizeof(GLint); - break; - case GL_FLOAT: - elementSize = size * sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = size * sizeof(GLdouble); - break; - case GL_HALF_FLOAT: - elementSize = size * sizeof(GLhalfARB); - break; -#if FEATURE_fixedpt - case GL_FIXED: - elementSize = size * sizeof(GLfixed); - break; -#endif -#if FEATURE_vertex_array_byte - case GL_BYTE: - elementSize = size * sizeof(GLbyte); - break; -#endif - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glTexCoordPointer(type=%s)", - _mesa_lookup_enum_by_nr(type)); - return; - } + if (ctx->API == API_OPENGLES) + legalTypes |= BYTE_BIT; ASSERT(unit < Elements(ctx->Array.ArrayObj->TexCoord)); - update_array(ctx, &ctx->Array.ArrayObj->TexCoord[unit], + update_array(ctx, "glTexCoordPointer", + &ctx->Array.ArrayObj->TexCoord[unit], _NEW_ARRAY_TEXCOORD(unit), - elementSize, size, type, GL_RGBA, stride, GL_FALSE, ptr); + legalTypes, 1, 4, + size, type, stride, GL_FALSE, GL_FALSE, + ptr); } void GLAPIENTRY _mesa_EdgeFlagPointer(GLsizei stride, const GLvoid *ptr) { + const GLbitfield legalTypes = UNSIGNED_BYTE_BIT; + /* see table 2.4 edits in GL_EXT_gpu_shader4 spec: */ + const GLboolean integer = GL_TRUE; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glEdgeFlagPointer(stride)" ); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->EdgeFlag, _NEW_ARRAY_EDGEFLAG, - sizeof(GLboolean), 1, GL_UNSIGNED_BYTE, GL_RGBA, - stride, GL_FALSE, ptr); + update_array(ctx, "glEdgeFlagPointer", + &ctx->Array.ArrayObj->EdgeFlag, _NEW_ARRAY_EDGEFLAG, + legalTypes, 1, 1, + 1, GL_UNSIGNED_BYTE, stride, GL_FALSE, integer, ptr); } void GLAPIENTRY _mesa_PointSizePointer(GLenum type, GLsizei stride, const GLvoid *ptr) { - GLsizei elementSize; + const GLbitfield legalTypes = (FLOAT_BIT | FIXED_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (stride < 0) { - _mesa_error( ctx, GL_INVALID_VALUE, "glPointSizePointer(stride)" ); + if (ctx->API != API_OPENGLES) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glPointSizePointer(ES 1.x only)"); return; } - - switch (type) { - case GL_FLOAT: - elementSize = sizeof(GLfloat); - break; -#if FEATURE_fixedpt - case GL_FIXED: - elementSize = sizeof(GLfixed); - break; -#endif - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glPointSizePointer(type)" ); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->PointSize, _NEW_ARRAY_POINT_SIZE, - elementSize, 1, type, GL_RGBA, stride, GL_FALSE, ptr); + + update_array(ctx, "glPointSizePointer", + &ctx->Array.ArrayObj->PointSize, _NEW_ARRAY_POINT_SIZE, + legalTypes, 1, 1, + 1, type, stride, GL_FALSE, GL_FALSE, ptr); } @@ -543,9 +363,9 @@ void GLAPIENTRY _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { + const GLbitfield legalTypes = (UNSIGNED_BYTE_BIT | SHORT_BIT | + FLOAT_BIT | DOUBLE_BIT); GLboolean normalized = GL_FALSE; - GLsizei elementSize; - GLenum format; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -554,60 +374,16 @@ _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type, return; } - if (size < 1 || size > 4) { - _mesa_error(ctx, GL_INVALID_VALUE, "glVertexAttribPointerNV(size)"); - return; - } - - if (stride < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glVertexAttribPointerNV(stride)"); - return; - } - if (type == GL_UNSIGNED_BYTE && size != 4) { _mesa_error(ctx, GL_INVALID_VALUE, "glVertexAttribPointerNV(size!=4)"); return; } - if (size == GL_BGRA) { - if (type != GL_UNSIGNED_BYTE) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glVertexAttribPointerNV(GL_BGRA/type)"); - return; - } - - format = GL_BGRA; - size = 4; - normalized = GL_TRUE; - } - else { - format = GL_RGBA; - } - - /* check for valid 'type' and compute StrideB right away */ - switch (type) { - case GL_UNSIGNED_BYTE: - normalized = GL_TRUE; - elementSize = size * sizeof(GLubyte); - break; - case GL_SHORT: - elementSize = size * sizeof(GLshort); - break; - case GL_FLOAT: - elementSize = size * sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = size * sizeof(GLdouble); - break; - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttribPointerNV(type=%s)", - _mesa_lookup_enum_by_nr(type)); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->VertexAttrib[index], + update_array(ctx, "glVertexAttribPointerNV", + &ctx->Array.ArrayObj->VertexAttrib[index], _NEW_ARRAY_ATTRIB(index), - elementSize, size, type, format, stride, normalized, ptr); + legalTypes, 1, BGRA_OR_4, + size, type, stride, normalized, GL_FALSE, ptr); } #endif @@ -623,8 +399,11 @@ _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *ptr) { - GLsizei elementSize; - GLenum format; + const GLbitfield legalTypes = (BYTE_BIT | UNSIGNED_BYTE_BIT | + SHORT_BIT | UNSIGNED_SHORT_BIT | + INT_BIT | UNSIGNED_INT_BIT | + HALF_BIT | FLOAT_BIT | DOUBLE_BIT | + FIXED_BIT); GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -633,99 +412,43 @@ _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type, return; } - if (size < 1 || size > 4) { - if (!ctx->Extensions.EXT_vertex_array_bgra || size != GL_BGRA) { - _mesa_error(ctx, GL_INVALID_VALUE, "glVertexAttribPointerARB(size)"); - return; - } - } - - if (stride < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glVertexAttribPointerARB(stride)"); - return; - } - - if (size == GL_BGRA) { - if (type != GL_UNSIGNED_BYTE) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glVertexAttribPointerARB(GL_BGRA/type)"); - return; - } - if (normalized != GL_TRUE) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glVertexAttribPointerARB(GL_BGRA/normalized)"); - return; - } - - format = GL_BGRA; - size = 4; - } - else { - format = GL_RGBA; - } - - /* check for valid 'type' and compute StrideB right away */ - /* NOTE: more types are supported here than in the NV extension */ - switch (type) { - case GL_BYTE: - elementSize = size * sizeof(GLbyte); - break; - case GL_UNSIGNED_BYTE: - elementSize = size * sizeof(GLubyte); - break; - case GL_SHORT: - elementSize = size * sizeof(GLshort); - break; - case GL_UNSIGNED_SHORT: - elementSize = size * sizeof(GLushort); - break; - case GL_INT: - elementSize = size * sizeof(GLint); - break; - case GL_UNSIGNED_INT: - elementSize = size * sizeof(GLuint); - break; - case GL_FLOAT: - elementSize = size * sizeof(GLfloat); - break; - case GL_DOUBLE: - elementSize = size * sizeof(GLdouble); - break; - case GL_HALF_FLOAT: - elementSize = size * sizeof(GLhalfARB); - break; -#if FEATURE_fixedpt - case GL_FIXED: - elementSize = size * sizeof(GLfixed); - break; -#endif - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttribPointerARB(type)" ); - return; - } - - update_array(ctx, &ctx->Array.ArrayObj->VertexAttrib[index], + update_array(ctx, "glVertexAttribPointer", + &ctx->Array.ArrayObj->VertexAttrib[index], _NEW_ARRAY_ATTRIB(index), - elementSize, size, type, format, stride, normalized, ptr); + legalTypes, 1, BGRA_OR_4, + size, type, stride, normalized, GL_FALSE, ptr); } #endif /** - * New in GL3: + * GL_EXT_gpu_shader4 / GL 3.0. * Set an integer-valued vertex attribute array. * Note that these arrays DO NOT alias the conventional GL vertex arrays * (position, normal, color, fog, texcoord, etc). */ void GLAPIENTRY _mesa_VertexAttribIPointer(GLuint index, GLint size, GLenum type, - GLboolean normalized, GLsizei stride, const GLvoid *ptr) { - /* NOTE: until we have integer-valued vertex attributes, just - * route this through the regular glVertexAttribPointer() function. - */ - _mesa_VertexAttribPointerARB(index, size, type, normalized, stride, ptr); + const GLbitfield legalTypes = (BYTE_BIT | UNSIGNED_BYTE_BIT | + SHORT_BIT | UNSIGNED_SHORT_BIT | + INT_BIT | UNSIGNED_INT_BIT); + const GLboolean normalized = GL_FALSE; + const GLboolean integer = GL_TRUE; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END(ctx); + + if (index >= ctx->Const.VertexProgram.MaxAttribs) { + _mesa_error(ctx, GL_INVALID_VALUE, "glVertexAttribIPointer(index)"); + return; + } + + update_array(ctx, "glVertexAttribIPointer", + &ctx->Array.ArrayObj->VertexAttrib[index], + _NEW_ARRAY_ATTRIB(index), + legalTypes, 1, 4, + size, type, stride, normalized, integer, ptr); } @@ -805,6 +528,11 @@ get_vertex_array_attrib(struct gl_context *ctx, GLuint index, GLenum pname, return array->Normalized; case GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB: return array->BufferObj->Name; + case GL_VERTEX_ATTRIB_ARRAY_INTEGER: + if (ctx->Extensions.EXT_gpu_shader4) { + return array->Integer; + } + /* fall-through */ default: _mesa_error(ctx, GL_INVALID_ENUM, "%s(pname=0x%x)", caller, pname); return 0; @@ -1254,7 +982,6 @@ _mesa_UnlockArraysEXT( void ) /* GL_EXT_multi_draw_arrays */ -/* Somebody forgot to spec the first and count parameters as const! <sigh> */ void GLAPIENTRY _mesa_MultiDrawArraysEXT( GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount ) @@ -1352,6 +1079,7 @@ _mesa_copy_client_array(struct gl_context *ctx, dst->Ptr = src->Ptr; dst->Enabled = src->Enabled; dst->Normalized = src->Normalized; + dst->Integer = src->Integer; dst->_ElementSize = src->_ElementSize; _mesa_reference_buffer_object(ctx, &dst->BufferObj, src->BufferObj); dst->_MaxElement = src->_MaxElement; diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h index a5fa33fa00e..fb96478cfc3 100644 --- a/src/mesa/main/varray.h +++ b/src/mesa/main/varray.h @@ -118,7 +118,6 @@ _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type, void GLAPIENTRY _mesa_VertexAttribIPointer(GLuint index, GLint size, GLenum type, - GLboolean normalized, GLsizei stride, const GLvoid *ptr); diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 6552a3a7843..1b535080991 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -28,7 +28,7 @@ #define VERSION_H -#include "mtypes.h" +struct gl_context; /* Mesa version */ diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c index 9236bf81a20..8ec6bb3b7cc 100644 --- a/src/mesa/main/vtxfmt.c +++ b/src/mesa/main/vtxfmt.c @@ -40,7 +40,7 @@ #if FEATURE_beginend /** - * Use the per-vertex functions found in <vfmt> to initialze the given + * Use the per-vertex functions found in <vfmt> to initialoze the given * API dispatch table. */ static void @@ -88,7 +88,7 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_Vertex4f(tab, vfmt->Vertex4f); SET_Vertex4fv(tab, vfmt->Vertex4fv); - _mesa_install_dlist_vtxfmt(tab, vfmt); + _mesa_install_dlist_vtxfmt(tab, vfmt); /* glCallList / glCallLists */ SET_Begin(tab, vfmt->Begin); SET_End(tab, vfmt->End); @@ -125,17 +125,43 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_VertexAttrib4fARB(tab, vfmt->VertexAttrib4fARB); SET_VertexAttrib4fvARB(tab, vfmt->VertexAttrib4fvARB); #endif + + /* GL_EXT_gpu_shader4 / OpenGL 3.0 */ + SET_VertexAttribI1iEXT(tab, vfmt->VertexAttribI1i); + SET_VertexAttribI2iEXT(tab, vfmt->VertexAttribI2i); + SET_VertexAttribI3iEXT(tab, vfmt->VertexAttribI3i); + SET_VertexAttribI4iEXT(tab, vfmt->VertexAttribI4i); + SET_VertexAttribI2ivEXT(tab, vfmt->VertexAttribI2iv); + SET_VertexAttribI3ivEXT(tab, vfmt->VertexAttribI3iv); + SET_VertexAttribI4ivEXT(tab, vfmt->VertexAttribI4iv); + + SET_VertexAttribI1uiEXT(tab, vfmt->VertexAttribI1ui); + SET_VertexAttribI2uiEXT(tab, vfmt->VertexAttribI2ui); + SET_VertexAttribI3uiEXT(tab, vfmt->VertexAttribI3ui); + SET_VertexAttribI4uiEXT(tab, vfmt->VertexAttribI4ui); + SET_VertexAttribI2uivEXT(tab, vfmt->VertexAttribI2uiv); + SET_VertexAttribI3uivEXT(tab, vfmt->VertexAttribI3uiv); + SET_VertexAttribI4uivEXT(tab, vfmt->VertexAttribI4uiv); } -void _mesa_install_exec_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt ) +/** + * Install per-vertex functions into the API dispatch table for execution. + */ +void +_mesa_install_exec_vtxfmt(struct gl_context *ctx, const GLvertexformat *vfmt) { if (ctx->API == API_OPENGL) install_vtxfmt( ctx->Exec, vfmt ); } -void _mesa_install_save_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt ) +/** + * Install per-vertex functions into the API dispatch table for display + * list compilation. + */ +void +_mesa_install_save_vtxfmt(struct gl_context *ctx, const GLvertexformat *vfmt) { if (ctx->API == API_OPENGL) install_vtxfmt( ctx->Save, vfmt ); diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index bdd3fd92ffc..f45bbf55821 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -260,6 +260,17 @@ public: ir_to_mesa_src_reg src1, ir_to_mesa_src_reg src2); + /** + * Emit the correct dot-product instruction for the type of arguments + * + * \sa ir_to_mesa_emit_op2 + */ + void ir_to_mesa_emit_dp(ir_instruction *ir, + ir_to_mesa_dst_reg dst, + ir_to_mesa_src_reg src0, + ir_to_mesa_src_reg src1, + unsigned elements); + void ir_to_mesa_emit_scalar_op1(ir_instruction *ir, enum prog_opcode op, ir_to_mesa_dst_reg dst, @@ -393,6 +404,21 @@ ir_to_mesa_visitor::ir_to_mesa_emit_op0(ir_instruction *ir, ir_to_mesa_undef); } +void +ir_to_mesa_visitor::ir_to_mesa_emit_dp(ir_instruction *ir, + ir_to_mesa_dst_reg dst, + ir_to_mesa_src_reg src0, + ir_to_mesa_src_reg src1, + unsigned elements) +{ + static const gl_inst_opcode dot_opcodes[] = { + OPCODE_DP2, OPCODE_DP3, OPCODE_DP4 + }; + + ir_to_mesa_emit_op3(ir, dot_opcodes[elements - 2], + dst, src0, src1, ir_to_mesa_undef); +} + inline ir_to_mesa_dst_reg ir_to_mesa_dst_reg_from_src(ir_to_mesa_src_reg reg) { @@ -832,9 +858,6 @@ ir_to_mesa_visitor::visit(ir_expression *ir) struct ir_to_mesa_src_reg op[2]; struct ir_to_mesa_src_reg result_src; struct ir_to_mesa_dst_reg result_dst; - const glsl_type *vec4_type = glsl_type::get_instance(GLSL_TYPE_FLOAT, 4, 1); - const glsl_type *vec3_type = glsl_type::get_instance(GLSL_TYPE_FLOAT, 3, 1); - const glsl_type *vec2_type = glsl_type::get_instance(GLSL_TYPE_FLOAT, 2, 1); /* Quick peephole: Emit OPCODE_MAD(a, b, c) instead of ADD(MUL(a, b), c) */ @@ -976,12 +999,7 @@ ir_to_mesa_visitor::visit(ir_expression *ir) ir_to_mesa_src_reg temp = get_temp(glsl_type::vec4_type); ir_to_mesa_emit_op2(ir, OPCODE_SNE, ir_to_mesa_dst_reg_from_src(temp), op[0], op[1]); - if (vector_elements == 4) - ir_to_mesa_emit_op2(ir, OPCODE_DP4, result_dst, temp, temp); - else if (vector_elements == 3) - ir_to_mesa_emit_op2(ir, OPCODE_DP3, result_dst, temp, temp); - else - ir_to_mesa_emit_op2(ir, OPCODE_DP2, result_dst, temp, temp); + ir_to_mesa_emit_dp(ir, result_dst, temp, temp, vector_elements); ir_to_mesa_emit_op2(ir, OPCODE_SEQ, result_dst, result_src, src_reg_for_float(0.0)); } else { @@ -995,12 +1013,7 @@ ir_to_mesa_visitor::visit(ir_expression *ir) ir_to_mesa_src_reg temp = get_temp(glsl_type::vec4_type); ir_to_mesa_emit_op2(ir, OPCODE_SNE, ir_to_mesa_dst_reg_from_src(temp), op[0], op[1]); - if (vector_elements == 4) - ir_to_mesa_emit_op2(ir, OPCODE_DP4, result_dst, temp, temp); - else if (vector_elements == 3) - ir_to_mesa_emit_op2(ir, OPCODE_DP3, result_dst, temp, temp); - else - ir_to_mesa_emit_op2(ir, OPCODE_DP2, result_dst, temp, temp); + ir_to_mesa_emit_dp(ir, result_dst, temp, temp, vector_elements); ir_to_mesa_emit_op2(ir, OPCODE_SNE, result_dst, result_src, src_reg_for_float(0.0)); } else { @@ -1009,20 +1022,9 @@ ir_to_mesa_visitor::visit(ir_expression *ir) break; case ir_unop_any: - switch (ir->operands[0]->type->vector_elements) { - case 4: - ir_to_mesa_emit_op2(ir, OPCODE_DP4, result_dst, op[0], op[0]); - break; - case 3: - ir_to_mesa_emit_op2(ir, OPCODE_DP3, result_dst, op[0], op[0]); - break; - case 2: - ir_to_mesa_emit_op2(ir, OPCODE_DP2, result_dst, op[0], op[0]); - break; - default: - assert(!"unreached: ir_unop_any of non-bvec"); - break; - } + assert(ir->operands[0]->type->is_vector()); + ir_to_mesa_emit_dp(ir, result_dst, op[0], op[0], + ir->operands[0]->type->vector_elements); ir_to_mesa_emit_op2(ir, OPCODE_SNE, result_dst, result_src, src_reg_for_float(0.0)); break; @@ -1050,22 +1052,10 @@ ir_to_mesa_visitor::visit(ir_expression *ir) break; case ir_binop_dot: - if (ir->operands[0]->type == vec4_type) { - assert(ir->operands[1]->type == vec4_type); - ir_to_mesa_emit_op2(ir, OPCODE_DP4, - result_dst, - op[0], op[1]); - } else if (ir->operands[0]->type == vec3_type) { - assert(ir->operands[1]->type == vec3_type); - ir_to_mesa_emit_op2(ir, OPCODE_DP3, - result_dst, - op[0], op[1]); - } else if (ir->operands[0]->type == vec2_type) { - assert(ir->operands[1]->type == vec2_type); - ir_to_mesa_emit_op2(ir, OPCODE_DP2, - result_dst, - op[0], op[1]); - } + assert(ir->operands[0]->type->is_vector()); + assert(ir->operands[0]->type == ir->operands[1]->type); + ir_to_mesa_emit_dp(ir, result_dst, op[0], op[1], + ir->operands[0]->type->vector_elements); break; case ir_binop_cross: diff --git a/src/mesa/program/sampler.cpp b/src/mesa/program/sampler.cpp index 0e58aef9c95..9a813c87955 100644 --- a/src/mesa/program/sampler.cpp +++ b/src/mesa/program/sampler.cpp @@ -23,15 +23,15 @@ * DEALINGS IN THE SOFTWARE. */ -#include <stdio.h> +#include <cstdio> +#include "ir.h" +#include "glsl_types.h" +#include "ir_visitor.h" extern "C" { #include "main/compiler.h" #include "main/mtypes.h" #include "program/prog_parameter.h" -#include "ir.h" -#include "ir_visitor.h" -#include "glsl_types.h" } static void fail_link(struct gl_shader_program *prog, const char *fmt, ...) PRINTFLIKE(2, 3); diff --git a/src/mesa/state_tracker/st_atom_constbuf.c b/src/mesa/state_tracker/st_atom_constbuf.c index 6f9d71e845b..8d1dc792bc8 100644 --- a/src/mesa/state_tracker/st_atom_constbuf.c +++ b/src/mesa/state_tracker/st_atom_constbuf.c @@ -90,8 +90,11 @@ void st_upload_constants( struct st_context *st, st->pipe->set_constant_buffer(st->pipe, shader_type, 0, *cbuf); } - else { + else if (*cbuf) { st->constants.tracked_state[shader_type].dirty.mesa = 0x0; + + pipe_resource_reference(cbuf, NULL); + st->pipe->set_constant_buffer(st->pipe, shader_type, 0, NULL); } } diff --git a/src/mesa/state_tracker/st_cb_eglimage.c b/src/mesa/state_tracker/st_cb_eglimage.c index 298f8a5b12b..b39a624a612 100644 --- a/src/mesa/state_tracker/st_cb_eglimage.c +++ b/src/mesa/state_tracker/st_cb_eglimage.c @@ -129,6 +129,7 @@ st_bind_surface(struct gl_context *ctx, GLenum target, /* FIXME create a non-default sampler view from the pipe_surface? */ pipe_resource_reference(&stObj->pt, ps->texture); + pipe_sampler_view_reference(&stObj->sampler_view, NULL); pipe_resource_reference(&stImage->pt, stObj->pt); stObj->width0 = ps->width; diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 75fd69540f3..d0dcdd4e29b 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -236,6 +236,13 @@ void st_destroy_context( struct st_context *st ) } pipe_surface_reference(&st->state.framebuffer.zsbuf, NULL); + pipe->set_index_buffer(pipe, NULL); + + for (i = 0; i < PIPE_SHADER_TYPES; i++) { + pipe->set_constant_buffer(pipe, PIPE_SHADER_VERTEX, 0, NULL); + pipe_resource_reference(&st->state.constants[PIPE_SHADER_VERTEX], NULL); + } + _mesa_delete_program_cache(st->ctx, st->pixel_xfer.cache); _vbo_DestroyContext(st->ctx); diff --git a/src/mesa/vbo/vbo_attrib_tmp.h b/src/mesa/vbo/vbo_attrib_tmp.h index 7a889b8e2f8..3c235accf30 100644 --- a/src/mesa/vbo/vbo_attrib_tmp.h +++ b/src/mesa/vbo/vbo_attrib_tmp.h @@ -25,6 +25,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ +/* float */ #define ATTR1FV( A, V ) ATTR( A, 1, (V)[0], 0, 0, 1 ) #define ATTR2FV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 ) #define ATTR3FV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 ) @@ -35,235 +36,307 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #define ATTR3F( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 ) #define ATTR4F( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W ) +/* int */ +#define ATTR2IV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 ) +#define ATTR3IV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 ) +#define ATTR4IV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] ) + +#define ATTR1I( A, X ) ATTR( A, 1, X, 0, 0, 1 ) +#define ATTR2I( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 ) +#define ATTR3I( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 ) +#define ATTR4I( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W ) + + +/* uint */ +#define ATTR2UIV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 ) +#define ATTR3UIV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 ) +#define ATTR4UIV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] ) + +#define ATTR1UI( A, X ) ATTR( A, 1, X, 0, 0, 1 ) +#define ATTR2UI( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 ) +#define ATTR3UI( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 ) +#define ATTR4UI( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W ) + #define MAT_ATTR( A, N, V ) ATTR( A, N, (V)[0], (V)[1], (V)[2], (V)[3] ) -static void GLAPIENTRY TAG(Vertex2f)( GLfloat x, GLfloat y ) + + +static void GLAPIENTRY +TAG(Vertex2f)(GLfloat x, GLfloat y) { - GET_CURRENT_CONTEXT( ctx ); - ATTR2F( VBO_ATTRIB_POS, x, y ); + GET_CURRENT_CONTEXT(ctx); + ATTR2F(VBO_ATTRIB_POS, x, y); } -static void GLAPIENTRY TAG(Vertex2fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(Vertex2fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR2FV( VBO_ATTRIB_POS, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR2FV(VBO_ATTRIB_POS, v); } -static void GLAPIENTRY TAG(Vertex3f)( GLfloat x, GLfloat y, GLfloat z ) +static void GLAPIENTRY +TAG(Vertex3f)(GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3F( VBO_ATTRIB_POS, x, y, z ); + GET_CURRENT_CONTEXT(ctx); + ATTR3F(VBO_ATTRIB_POS, x, y, z); } -static void GLAPIENTRY TAG(Vertex3fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(Vertex3fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3FV( VBO_ATTRIB_POS, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR3FV(VBO_ATTRIB_POS, v); } -static void GLAPIENTRY TAG(Vertex4f)( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) +static void GLAPIENTRY +TAG(Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GET_CURRENT_CONTEXT( ctx ); - ATTR4F( VBO_ATTRIB_POS, x, y, z, w ); + GET_CURRENT_CONTEXT(ctx); + ATTR4F(VBO_ATTRIB_POS, x, y, z, w); } -static void GLAPIENTRY TAG(Vertex4fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(Vertex4fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR4FV( VBO_ATTRIB_POS, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR4FV(VBO_ATTRIB_POS, v); } -static void GLAPIENTRY TAG(TexCoord1f)( GLfloat x ) + + +static void GLAPIENTRY +TAG(TexCoord1f)(GLfloat x) { - GET_CURRENT_CONTEXT( ctx ); - ATTR1F( VBO_ATTRIB_TEX0, x ); + GET_CURRENT_CONTEXT(ctx); + ATTR1F(VBO_ATTRIB_TEX0, x); } -static void GLAPIENTRY TAG(TexCoord1fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(TexCoord1fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR1FV( VBO_ATTRIB_TEX0, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR1FV(VBO_ATTRIB_TEX0, v); } -static void GLAPIENTRY TAG(TexCoord2f)( GLfloat x, GLfloat y ) +static void GLAPIENTRY +TAG(TexCoord2f)(GLfloat x, GLfloat y) { - GET_CURRENT_CONTEXT( ctx ); - ATTR2F( VBO_ATTRIB_TEX0, x, y ); + GET_CURRENT_CONTEXT(ctx); + ATTR2F(VBO_ATTRIB_TEX0, x, y); } -static void GLAPIENTRY TAG(TexCoord2fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(TexCoord2fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR2FV( VBO_ATTRIB_TEX0, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR2FV(VBO_ATTRIB_TEX0, v); } -static void GLAPIENTRY TAG(TexCoord3f)( GLfloat x, GLfloat y, GLfloat z ) +static void GLAPIENTRY +TAG(TexCoord3f)(GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3F( VBO_ATTRIB_TEX0, x, y, z ); + GET_CURRENT_CONTEXT(ctx); + ATTR3F(VBO_ATTRIB_TEX0, x, y, z); } -static void GLAPIENTRY TAG(TexCoord3fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(TexCoord3fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3FV( VBO_ATTRIB_TEX0, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR3FV(VBO_ATTRIB_TEX0, v); } -static void GLAPIENTRY TAG(TexCoord4f)( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) +static void GLAPIENTRY +TAG(TexCoord4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GET_CURRENT_CONTEXT( ctx ); - ATTR4F( VBO_ATTRIB_TEX0, x, y, z, w ); + GET_CURRENT_CONTEXT(ctx); + ATTR4F(VBO_ATTRIB_TEX0, x, y, z, w); } -static void GLAPIENTRY TAG(TexCoord4fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(TexCoord4fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR4FV( VBO_ATTRIB_TEX0, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR4FV(VBO_ATTRIB_TEX0, v); } -static void GLAPIENTRY TAG(Normal3f)( GLfloat x, GLfloat y, GLfloat z ) + + +static void GLAPIENTRY +TAG(Normal3f)(GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3F( VBO_ATTRIB_NORMAL, x, y, z ); + GET_CURRENT_CONTEXT(ctx); + ATTR3F(VBO_ATTRIB_NORMAL, x, y, z); } -static void GLAPIENTRY TAG(Normal3fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(Normal3fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3FV( VBO_ATTRIB_NORMAL, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR3FV(VBO_ATTRIB_NORMAL, v); } -static void GLAPIENTRY TAG(FogCoordfEXT)( GLfloat x ) + + +static void GLAPIENTRY +TAG(FogCoordfEXT)(GLfloat x) { - GET_CURRENT_CONTEXT( ctx ); - ATTR1F( VBO_ATTRIB_FOG, x ); + GET_CURRENT_CONTEXT(ctx); + ATTR1F(VBO_ATTRIB_FOG, x); } -static void GLAPIENTRY TAG(FogCoordfvEXT)( const GLfloat *v ) + + +static void GLAPIENTRY +TAG(FogCoordfvEXT)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR1FV( VBO_ATTRIB_FOG, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR1FV(VBO_ATTRIB_FOG, v); } -static void GLAPIENTRY TAG(Color3f)( GLfloat x, GLfloat y, GLfloat z ) +static void GLAPIENTRY +TAG(Color3f)(GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3F( VBO_ATTRIB_COLOR0, x, y, z ); + GET_CURRENT_CONTEXT(ctx); + ATTR3F(VBO_ATTRIB_COLOR0, x, y, z); } -static void GLAPIENTRY TAG(Color3fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(Color3fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3FV( VBO_ATTRIB_COLOR0, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR3FV(VBO_ATTRIB_COLOR0, v); } -static void GLAPIENTRY TAG(Color4f)( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) +static void GLAPIENTRY +TAG(Color4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GET_CURRENT_CONTEXT( ctx ); - ATTR4F( VBO_ATTRIB_COLOR0, x, y, z, w ); + GET_CURRENT_CONTEXT(ctx); + ATTR4F(VBO_ATTRIB_COLOR0, x, y, z, w); } -static void GLAPIENTRY TAG(Color4fv)( const GLfloat *v ) +static void GLAPIENTRY +TAG(Color4fv)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR4FV( VBO_ATTRIB_COLOR0, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR4FV(VBO_ATTRIB_COLOR0, v); } -static void GLAPIENTRY TAG(SecondaryColor3fEXT)( GLfloat x, GLfloat y, GLfloat z ) + + +static void GLAPIENTRY +TAG(SecondaryColor3fEXT)(GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3F( VBO_ATTRIB_COLOR1, x, y, z ); + GET_CURRENT_CONTEXT(ctx); + ATTR3F(VBO_ATTRIB_COLOR1, x, y, z); } -static void GLAPIENTRY TAG(SecondaryColor3fvEXT)( const GLfloat *v ) +static void GLAPIENTRY +TAG(SecondaryColor3fvEXT)(const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - ATTR3FV( VBO_ATTRIB_COLOR1, v ); + GET_CURRENT_CONTEXT(ctx); + ATTR3FV(VBO_ATTRIB_COLOR1, v); } -static void GLAPIENTRY TAG(EdgeFlag)( GLboolean b ) + +static void GLAPIENTRY +TAG(EdgeFlag)(GLboolean b) { - GET_CURRENT_CONTEXT( ctx ); - ATTR1F( VBO_ATTRIB_EDGEFLAG, (GLfloat)b ); + GET_CURRENT_CONTEXT(ctx); + ATTR1F(VBO_ATTRIB_EDGEFLAG, (GLfloat) b); } -static void GLAPIENTRY TAG(Indexf)( GLfloat f ) + + +static void GLAPIENTRY +TAG(Indexf)(GLfloat f) { - GET_CURRENT_CONTEXT( ctx ); - ATTR1F( VBO_ATTRIB_INDEX, f ); + GET_CURRENT_CONTEXT(ctx); + ATTR1F(VBO_ATTRIB_INDEX, f); } -static void GLAPIENTRY TAG(Indexfv)( const GLfloat *f ) +static void GLAPIENTRY +TAG(Indexfv)(const GLfloat * f) { - GET_CURRENT_CONTEXT( ctx ); - ATTR1FV( VBO_ATTRIB_INDEX, f ); + GET_CURRENT_CONTEXT(ctx); + ATTR1FV(VBO_ATTRIB_INDEX, f); } -static void GLAPIENTRY TAG(MultiTexCoord1f)( GLenum target, GLfloat x ) + +static void GLAPIENTRY +TAG(MultiTexCoord1f)(GLenum target, GLfloat x) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR1F( attr, x ); + ATTR1F(attr, x); } -static void GLAPIENTRY TAG(MultiTexCoord1fv)( GLenum target, const GLfloat *v ) +static void GLAPIENTRY +TAG(MultiTexCoord1fv)(GLenum target, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR1FV( attr, v ); + ATTR1FV(attr, v); } -static void GLAPIENTRY TAG(MultiTexCoord2f)( GLenum target, GLfloat x, GLfloat y ) +static void GLAPIENTRY +TAG(MultiTexCoord2f)(GLenum target, GLfloat x, GLfloat y) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR2F( attr, x, y ); + ATTR2F(attr, x, y); } -static void GLAPIENTRY TAG(MultiTexCoord2fv)( GLenum target, const GLfloat *v ) +static void GLAPIENTRY +TAG(MultiTexCoord2fv)(GLenum target, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR2FV( attr, v ); + ATTR2FV(attr, v); } -static void GLAPIENTRY TAG(MultiTexCoord3f)( GLenum target, GLfloat x, GLfloat y, - GLfloat z) +static void GLAPIENTRY +TAG(MultiTexCoord3f)(GLenum target, GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR3F( attr, x, y, z ); + ATTR3F(attr, x, y, z); } -static void GLAPIENTRY TAG(MultiTexCoord3fv)( GLenum target, const GLfloat *v ) +static void GLAPIENTRY +TAG(MultiTexCoord3fv)(GLenum target, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR3FV( attr, v ); + ATTR3FV(attr, v); } -static void GLAPIENTRY TAG(MultiTexCoord4f)( GLenum target, GLfloat x, GLfloat y, - GLfloat z, GLfloat w ) +static void GLAPIENTRY +TAG(MultiTexCoord4f)(GLenum target, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR4F( attr, x, y, z, w ); + ATTR4F(attr, x, y, z, w); } -static void GLAPIENTRY TAG(MultiTexCoord4fv)( GLenum target, const GLfloat *v ) +static void GLAPIENTRY +TAG(MultiTexCoord4fv)(GLenum target, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); GLuint attr = (target & 0x7) + VBO_ATTRIB_TEX0; - ATTR4FV( attr, v ); + ATTR4FV(attr, v); } -static void GLAPIENTRY TAG(VertexAttrib1fARB)( GLuint index, GLfloat x ) + +static void GLAPIENTRY +TAG(VertexAttrib1fARB)(GLuint index, GLfloat x) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR1F(0, x); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR1F(VBO_ATTRIB_GENERIC0 + index, x); @@ -271,11 +344,11 @@ static void GLAPIENTRY TAG(VertexAttrib1fARB)( GLuint index, GLfloat x ) ERROR(); } -static void GLAPIENTRY TAG(VertexAttrib1fvARB)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib1fvARB)(GLuint index, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR1FV(0, v); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR1FV(VBO_ATTRIB_GENERIC0 + index, v); @@ -283,11 +356,11 @@ static void GLAPIENTRY TAG(VertexAttrib1fvARB)( GLuint index, ERROR(); } -static void GLAPIENTRY TAG(VertexAttrib2fARB)( GLuint index, GLfloat x, - GLfloat y ) +static void GLAPIENTRY +TAG(VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR2F(0, x, y); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR2F(VBO_ATTRIB_GENERIC0 + index, x, y); @@ -295,11 +368,11 @@ static void GLAPIENTRY TAG(VertexAttrib2fARB)( GLuint index, GLfloat x, ERROR(); } -static void GLAPIENTRY TAG(VertexAttrib2fvARB)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib2fvARB)(GLuint index, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR2FV(0, v); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR2FV(VBO_ATTRIB_GENERIC0 + index, v); @@ -307,11 +380,11 @@ static void GLAPIENTRY TAG(VertexAttrib2fvARB)( GLuint index, ERROR(); } -static void GLAPIENTRY TAG(VertexAttrib3fARB)( GLuint index, GLfloat x, - GLfloat y, GLfloat z ) +static void GLAPIENTRY +TAG(VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR3F(0, x, y, z); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR3F(VBO_ATTRIB_GENERIC0 + index, x, y, z); @@ -319,11 +392,11 @@ static void GLAPIENTRY TAG(VertexAttrib3fARB)( GLuint index, GLfloat x, ERROR(); } -static void GLAPIENTRY TAG(VertexAttrib3fvARB)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib3fvARB)(GLuint index, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR3FV(0, v); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR3FV(VBO_ATTRIB_GENERIC0 + index, v); @@ -331,12 +404,11 @@ static void GLAPIENTRY TAG(VertexAttrib3fvARB)( GLuint index, ERROR(); } -static void GLAPIENTRY TAG(VertexAttrib4fARB)( GLuint index, GLfloat x, - GLfloat y, GLfloat z, - GLfloat w ) +static void GLAPIENTRY +TAG(VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR4F(0, x, y, z, w); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR4F(VBO_ATTRIB_GENERIC0 + index, x, y, z, w); @@ -344,11 +416,11 @@ static void GLAPIENTRY TAG(VertexAttrib4fARB)( GLuint index, GLfloat x, ERROR(); } -static void GLAPIENTRY TAG(VertexAttrib4fvARB)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib4fvARB)(GLuint index, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index == 0) + GET_CURRENT_CONTEXT(ctx); + if (index == 0) ATTR4FV(0, v); else if (index < MAX_VERTEX_GENERIC_ATTRIBS) ATTR4FV(VBO_ATTRIB_GENERIC0 + index, v); @@ -357,76 +429,257 @@ static void GLAPIENTRY TAG(VertexAttrib4fvARB)( GLuint index, } + +/* Integer-valued generic attributes. + * XXX: the integers just get converted to floats at this time + */ +static void GLAPIENTRY +TAG(VertexAttribI1i)(GLuint index, GLint x) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR1I(0, x); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR1I(VBO_ATTRIB_GENERIC0 + index, x); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI2i)(GLuint index, GLint x, GLint y) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR2I(0, x, y); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR2I(VBO_ATTRIB_GENERIC0 + index, x, y); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR3I(0, x, y, z); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR3I(VBO_ATTRIB_GENERIC0 + index, x, y, z); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR4I(0, x, y, z, w); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR4I(VBO_ATTRIB_GENERIC0 + index, x, y, z, w); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI2iv)(GLuint index, const GLint *v) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR2IV(0, v); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR2IV(VBO_ATTRIB_GENERIC0 + index, v); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI3iv)(GLuint index, const GLint *v) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR3IV(0, v); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR3IV(VBO_ATTRIB_GENERIC0 + index, v); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI4iv)(GLuint index, const GLint *v) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR4IV(0, v); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR4IV(VBO_ATTRIB_GENERIC0 + index, v); + else + ERROR(); +} + + + +/* Unsigned integer-valued generic attributes. + * XXX: the integers just get converted to floats at this time + */ +static void GLAPIENTRY +TAG(VertexAttribI1ui)(GLuint index, GLuint x) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR1UI(0, x); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR1UI(VBO_ATTRIB_GENERIC0 + index, x); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI2ui)(GLuint index, GLuint x, GLuint y) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR2UI(0, x, y); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR2UI(VBO_ATTRIB_GENERIC0 + index, x, y); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR3UI(0, x, y, z); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR3UI(VBO_ATTRIB_GENERIC0 + index, x, y, z); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR4UI(0, x, y, z, w); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR4UI(VBO_ATTRIB_GENERIC0 + index, x, y, z, w); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI2uiv)(GLuint index, const GLuint *v) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR2UIV(0, v); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR2UIV(VBO_ATTRIB_GENERIC0 + index, v); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI3uiv)(GLuint index, const GLuint *v) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR3UIV(0, v); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR3UIV(VBO_ATTRIB_GENERIC0 + index, v); + else + ERROR(); +} + +static void GLAPIENTRY +TAG(VertexAttribI4uiv)(GLuint index, const GLuint *v) +{ + GET_CURRENT_CONTEXT(ctx); + if (index == 0) + ATTR4UIV(0, v); + else if (index < MAX_VERTEX_GENERIC_ATTRIBS) + ATTR4UIV(VBO_ATTRIB_GENERIC0 + index, v); + else + ERROR(); +} + + + /* In addition to supporting NV_vertex_program, these entrypoints are * used by the display list and other code specifically because of * their property of aliasing with other attributes. (See * vbo_save_loopback.c) */ -static void GLAPIENTRY TAG(VertexAttrib1fNV)( GLuint index, GLfloat x ) +static void GLAPIENTRY +TAG(VertexAttrib1fNV)(GLuint index, GLfloat x) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); if (index < VBO_ATTRIB_MAX) ATTR1F(index, x); } -static void GLAPIENTRY TAG(VertexAttrib1fvNV)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib1fvNV)(GLuint index, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index < VBO_ATTRIB_MAX) + GET_CURRENT_CONTEXT(ctx); + if (index < VBO_ATTRIB_MAX) ATTR1FV(index, v); } -static void GLAPIENTRY TAG(VertexAttrib2fNV)( GLuint index, GLfloat x, - GLfloat y ) +static void GLAPIENTRY +TAG(VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y) { - GET_CURRENT_CONTEXT( ctx ); - if (index < VBO_ATTRIB_MAX) + GET_CURRENT_CONTEXT(ctx); + if (index < VBO_ATTRIB_MAX) ATTR2F(index, x, y); } -static void GLAPIENTRY TAG(VertexAttrib2fvNV)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib2fvNV)(GLuint index, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index < VBO_ATTRIB_MAX) + GET_CURRENT_CONTEXT(ctx); + if (index < VBO_ATTRIB_MAX) ATTR2FV(index, v); } -static void GLAPIENTRY TAG(VertexAttrib3fNV)( GLuint index, GLfloat x, - GLfloat y, GLfloat z ) +static void GLAPIENTRY +TAG(VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - GET_CURRENT_CONTEXT( ctx ); - if (index < VBO_ATTRIB_MAX) + GET_CURRENT_CONTEXT(ctx); + if (index < VBO_ATTRIB_MAX) ATTR3F(index, x, y, z); } -static void GLAPIENTRY TAG(VertexAttrib3fvNV)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib3fvNV)(GLuint index, + const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index < VBO_ATTRIB_MAX) + GET_CURRENT_CONTEXT(ctx); + if (index < VBO_ATTRIB_MAX) ATTR3FV(index, v); } -static void GLAPIENTRY TAG(VertexAttrib4fNV)( GLuint index, GLfloat x, - GLfloat y, GLfloat z, - GLfloat w ) +static void GLAPIENTRY +TAG(VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - GET_CURRENT_CONTEXT( ctx ); - if (index < VBO_ATTRIB_MAX) + GET_CURRENT_CONTEXT(ctx); + if (index < VBO_ATTRIB_MAX) ATTR4F(index, x, y, z, w); } -static void GLAPIENTRY TAG(VertexAttrib4fvNV)( GLuint index, - const GLfloat *v ) +static void GLAPIENTRY +TAG(VertexAttrib4fvNV)(GLuint index, const GLfloat * v) { - GET_CURRENT_CONTEXT( ctx ); - if (index < VBO_ATTRIB_MAX) + GET_CURRENT_CONTEXT(ctx); + if (index < VBO_ATTRIB_MAX) ATTR4FV(index, v); } + #define MAT( ATTR, N, face, params ) \ do { \ if (face != GL_BACK) \ @@ -438,32 +691,33 @@ do { \ /* Colormaterial conflicts are dealt with later. */ -static void GLAPIENTRY TAG(Materialfv)( GLenum face, GLenum pname, - const GLfloat *params ) +static void GLAPIENTRY +TAG(Materialfv)(GLenum face, GLenum pname, + const GLfloat * params) { - GET_CURRENT_CONTEXT( ctx ); + GET_CURRENT_CONTEXT(ctx); switch (pname) { case GL_EMISSION: - MAT( VBO_ATTRIB_MAT_FRONT_EMISSION, 4, face, params ); + MAT(VBO_ATTRIB_MAT_FRONT_EMISSION, 4, face, params); break; case GL_AMBIENT: - MAT( VBO_ATTRIB_MAT_FRONT_AMBIENT, 4, face, params ); + MAT(VBO_ATTRIB_MAT_FRONT_AMBIENT, 4, face, params); break; case GL_DIFFUSE: - MAT( VBO_ATTRIB_MAT_FRONT_DIFFUSE, 4, face, params ); + MAT(VBO_ATTRIB_MAT_FRONT_DIFFUSE, 4, face, params); break; case GL_SPECULAR: - MAT( VBO_ATTRIB_MAT_FRONT_SPECULAR, 4, face, params ); + MAT(VBO_ATTRIB_MAT_FRONT_SPECULAR, 4, face, params); break; case GL_SHININESS: - MAT( VBO_ATTRIB_MAT_FRONT_SHININESS, 1, face, params ); + MAT(VBO_ATTRIB_MAT_FRONT_SHININESS, 1, face, params); break; case GL_COLOR_INDEXES: - MAT( VBO_ATTRIB_MAT_FRONT_INDEXES, 3, face, params ); + MAT(VBO_ATTRIB_MAT_FRONT_INDEXES, 3, face, params); break; case GL_AMBIENT_AND_DIFFUSE: - MAT( VBO_ATTRIB_MAT_FRONT_AMBIENT, 4, face, params ); - MAT( VBO_ATTRIB_MAT_FRONT_DIFFUSE, 4, face, params ); + MAT(VBO_ATTRIB_MAT_FRONT_AMBIENT, 4, face, params); + MAT(VBO_ATTRIB_MAT_FRONT_DIFFUSE, 4, face, params); break; default: ERROR(); diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index 1ef49174193..9b2d59f9e4c 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -220,8 +220,9 @@ static void vbo_exec_wrap_upgrade_vertex( struct vbo_exec_context *exec, struct gl_context *ctx = exec->ctx; struct vbo_context *vbo = vbo_context(ctx); GLint lastcount = exec->vtx.vert_count; - GLfloat *tmp; - GLuint oldsz; + GLfloat *old_attrptr[VBO_ATTRIB_MAX]; + GLuint old_vtx_size = exec->vtx.vertex_size; + GLuint oldsz = exec->vtx.attrsz[attr]; GLuint i; /* Run pipeline on current vertices, copy wrapped vertices @@ -229,86 +230,103 @@ static void vbo_exec_wrap_upgrade_vertex( struct vbo_exec_context *exec, */ vbo_exec_wrap_buffers( exec ); + if (unlikely(exec->vtx.copied.nr)) { + /* We're in the middle of a primitive, keep the old vertex + * format around to be able to translate the copied vertices to + * the new format. + */ + memcpy(old_attrptr, exec->vtx.attrptr, sizeof(old_attrptr)); + } - /* Do a COPY_TO_CURRENT to ensure back-copying works for the case - * when the attribute already exists in the vertex and is having - * its size increased. - */ - vbo_exec_copy_to_current( exec ); - + if (unlikely(oldsz)) { + /* Do a COPY_TO_CURRENT to ensure back-copying works for the + * case when the attribute already exists in the vertex and is + * having its size increased. + */ + vbo_exec_copy_to_current( exec ); + } /* Heuristic: Attempt to isolate attributes received outside * begin/end so that they don't bloat the vertices. */ if (ctx->Driver.CurrentExecPrimitive == PRIM_OUTSIDE_BEGIN_END && - exec->vtx.attrsz[attr] == 0 && - lastcount > 8 && - exec->vtx.vertex_size) { + !oldsz && lastcount > 8 && exec->vtx.vertex_size) { + vbo_exec_copy_to_current( exec ); reset_attrfv( exec ); } /* Fix up sizes: */ - oldsz = exec->vtx.attrsz[attr]; exec->vtx.attrsz[attr] = newsz; - exec->vtx.vertex_size += newsz - oldsz; exec->vtx.max_vert = ((VBO_VERT_BUFFER_SIZE - exec->vtx.buffer_used) / (exec->vtx.vertex_size * sizeof(GLfloat))); exec->vtx.vert_count = 0; exec->vtx.buffer_ptr = exec->vtx.buffer_map; - - /* Recalculate all the attrptr[] values - */ - for (i = 0, tmp = exec->vtx.vertex ; i < VBO_ATTRIB_MAX ; i++) { - if (exec->vtx.attrsz[i]) { - exec->vtx.attrptr[i] = tmp; - tmp += exec->vtx.attrsz[i]; + if (unlikely(oldsz)) { + /* Size changed, recalculate all the attrptr[] values + */ + GLfloat *tmp = exec->vtx.vertex; + + for (i = 0 ; i < VBO_ATTRIB_MAX ; i++) { + if (exec->vtx.attrsz[i]) { + exec->vtx.attrptr[i] = tmp; + tmp += exec->vtx.attrsz[i]; + } + else + exec->vtx.attrptr[i] = NULL; /* will not be dereferenced */ } - else - exec->vtx.attrptr[i] = NULL; /* will not be dereferenced */ - } - /* Copy from current to repopulate the vertex with correct values. - */ - vbo_exec_copy_from_current( exec ); + /* Copy from current to repopulate the vertex with correct + * values. + */ + vbo_exec_copy_from_current( exec ); + + } else { + /* Just have to append the new attribute at the end */ + exec->vtx.attrptr[attr] = exec->vtx.vertex + + exec->vtx.vertex_size - newsz; + } /* Replay stored vertices to translate them * to new format here. * * -- No need to replay - just copy piecewise */ - if (exec->vtx.copied.nr) - { + if (unlikely(exec->vtx.copied.nr)) { GLfloat *data = exec->vtx.copied.buffer; GLfloat *dest = exec->vtx.buffer_ptr; GLuint j; assert(exec->vtx.buffer_ptr == exec->vtx.buffer_map); - + for (i = 0 ; i < exec->vtx.copied.nr ; i++) { for (j = 0 ; j < VBO_ATTRIB_MAX ; j++) { - if (exec->vtx.attrsz[j]) { + GLuint sz = exec->vtx.attrsz[j]; + + if (sz) { + GLint old_offset = old_attrptr[j] - exec->vtx.vertex; + GLint new_offset = exec->vtx.attrptr[j] - exec->vtx.vertex; + if (j == attr) { if (oldsz) { - COPY_CLEAN_4V( dest, oldsz, data ); - data += oldsz; - dest += newsz; + GLfloat tmp[4]; + COPY_CLEAN_4V(tmp, oldsz, data + old_offset); + COPY_SZ_4V(dest + new_offset, newsz, tmp); } else { - const GLfloat *current = (const GLfloat *)vbo->currval[j].Ptr; - COPY_SZ_4V( dest, newsz, current ); - dest += newsz; + GLfloat *current = (GLfloat *)vbo->currval[j].Ptr; + COPY_SZ_4V(dest + new_offset, sz, current); } } else { - GLuint sz = exec->vtx.attrsz[j]; - COPY_SZ_4V( dest, sz, data ); - dest += sz; - data += sz; + COPY_SZ_4V(dest + new_offset, sz, data + old_offset); } } } + + data += old_vtx_size; + dest += exec->vtx.vertex_size; } exec->vtx.buffer_ptr = dest; @@ -658,6 +676,24 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec ) vfmt->VertexAttrib4fNV = vbo_VertexAttrib4fNV; vfmt->VertexAttrib4fvNV = vbo_VertexAttrib4fvNV; + /* integer-valued */ + vfmt->VertexAttribI1i = vbo_VertexAttribI1i; + vfmt->VertexAttribI2i = vbo_VertexAttribI2i; + vfmt->VertexAttribI3i = vbo_VertexAttribI3i; + vfmt->VertexAttribI4i = vbo_VertexAttribI4i; + vfmt->VertexAttribI2iv = vbo_VertexAttribI2iv; + vfmt->VertexAttribI3iv = vbo_VertexAttribI3iv; + vfmt->VertexAttribI4iv = vbo_VertexAttribI4iv; + + /* unsigned integer-valued */ + vfmt->VertexAttribI1ui = vbo_VertexAttribI1ui; + vfmt->VertexAttribI2ui = vbo_VertexAttribI2ui; + vfmt->VertexAttribI3ui = vbo_VertexAttribI3ui; + vfmt->VertexAttribI4ui = vbo_VertexAttribI4ui; + vfmt->VertexAttribI2uiv = vbo_VertexAttribI2uiv; + vfmt->VertexAttribI3uiv = vbo_VertexAttribI3uiv; + vfmt->VertexAttribI4uiv = vbo_VertexAttribI4uiv; + vfmt->Materialfv = vbo_Materialfv; vfmt->EdgeFlag = vbo_EdgeFlag; diff --git a/src/mesa/vbo/vbo_exec_draw.c b/src/mesa/vbo/vbo_exec_draw.c index 71ac0066cac..94aa021ac9a 100644 --- a/src/mesa/vbo/vbo_exec_draw.c +++ b/src/mesa/vbo/vbo_exec_draw.c @@ -160,7 +160,6 @@ vbo_exec_bind_arrays( struct gl_context *ctx ) struct vbo_exec_context *exec = &vbo->exec; struct gl_client_array *arrays = exec->vtx.arrays; const GLuint count = exec->vtx.vert_count; - const GLubyte *data = (GLubyte *) exec->vtx.buffer_map; const GLuint *map; GLuint attr; GLbitfield varying_inputs = 0x0; @@ -215,6 +214,9 @@ vbo_exec_bind_arrays( struct gl_context *ctx ) const GLuint src = map[attr]; if (exec->vtx.attrsz[src]) { + GLsizeiptr offset = (GLbyte *)exec->vtx.attrptr[src] - + (GLbyte *)exec->vtx.vertex; + /* override the default array set above */ ASSERT(attr < Elements(exec->vtx.inputs)); ASSERT(attr < Elements(exec->vtx.arrays)); /* arrays[] */ @@ -222,17 +224,13 @@ vbo_exec_bind_arrays( struct gl_context *ctx ) if (_mesa_is_bufferobj(exec->vtx.bufferobj)) { /* a real buffer obj: Ptr is an offset, not a pointer*/ - GLsizeiptr offset; assert(exec->vtx.bufferobj->Pointer); /* buf should be mapped */ - offset = (GLbyte *) data - - (GLbyte *) exec->vtx.bufferobj->Pointer + - exec->vtx.bufferobj->Offset; assert(offset >= 0); - arrays[attr].Ptr = (void *) offset; + arrays[attr].Ptr = (GLubyte *)exec->vtx.bufferobj->Offset + offset; } else { /* Ptr into ordinary app memory */ - arrays[attr].Ptr = (void *) data; + arrays[attr].Ptr = (GLubyte *)exec->vtx.buffer_map + offset; } arrays[attr].Size = exec->vtx.attrsz[src]; arrays[attr].StrideB = exec->vtx.vertex_size * sizeof(GLfloat); @@ -245,7 +243,6 @@ vbo_exec_bind_arrays( struct gl_context *ctx ) exec->vtx.bufferobj); arrays[attr]._MaxElement = count; /* ??? */ - data += exec->vtx.attrsz[src] * sizeof(GLfloat); varying_inputs |= 1 << attr; } } diff --git a/src/mesa/vbo/vbo_save_api.c b/src/mesa/vbo/vbo_save_api.c index 19c4b15d5fb..817d478e2ac 100644 --- a/src/mesa/vbo/vbo_save_api.c +++ b/src/mesa/vbo/vbo_save_api.c @@ -705,56 +705,56 @@ static void GLAPIENTRY _save_EvalCoord1f( GLfloat u ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->EvalCoord1f( u ); + CALL_EvalCoord1f(ctx->Save, (u)); } static void GLAPIENTRY _save_EvalCoord1fv( const GLfloat *v ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->EvalCoord1fv( v ); + CALL_EvalCoord1fv(ctx->Save, (v)); } static void GLAPIENTRY _save_EvalCoord2f( GLfloat u, GLfloat v ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->EvalCoord2f( u, v ); + CALL_EvalCoord2f(ctx->Save, (u, v)); } static void GLAPIENTRY _save_EvalCoord2fv( const GLfloat *v ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->EvalCoord2fv( v ); + CALL_EvalCoord2fv(ctx->Save, (v)); } static void GLAPIENTRY _save_EvalPoint1( GLint i ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->EvalPoint1( i ); + CALL_EvalPoint1(ctx->Save, (i)); } static void GLAPIENTRY _save_EvalPoint2( GLint i, GLint j ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->EvalPoint2( i, j ); + CALL_EvalPoint2(ctx->Save, (i, j)); } static void GLAPIENTRY _save_CallList( GLuint l ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->CallList( l ); + CALL_CallList(ctx->Save, (l)); } static void GLAPIENTRY _save_CallLists( GLsizei n, GLenum type, const GLvoid *v ) { GET_CURRENT_CONTEXT(ctx); DO_FALLBACK(ctx); - ctx->Save->CallLists( n, type, v ); + CALL_CallLists(ctx->Save, (n, type, v)); } @@ -1065,6 +1065,24 @@ static void _save_vtxfmt_init( struct gl_context *ctx ) vfmt->VertexAttrib4fNV = _save_VertexAttrib4fNV; vfmt->VertexAttrib4fvNV = _save_VertexAttrib4fvNV; + /* integer-valued */ + vfmt->VertexAttribI1i = _save_VertexAttribI1i; + vfmt->VertexAttribI2i = _save_VertexAttribI2i; + vfmt->VertexAttribI3i = _save_VertexAttribI3i; + vfmt->VertexAttribI4i = _save_VertexAttribI4i; + vfmt->VertexAttribI2iv = _save_VertexAttribI2iv; + vfmt->VertexAttribI3iv = _save_VertexAttribI3iv; + vfmt->VertexAttribI4iv = _save_VertexAttribI4iv; + + /* unsigned integer-valued */ + vfmt->VertexAttribI1ui = _save_VertexAttribI1ui; + vfmt->VertexAttribI2ui = _save_VertexAttribI2ui; + vfmt->VertexAttribI3ui = _save_VertexAttribI3ui; + vfmt->VertexAttribI4ui = _save_VertexAttribI4ui; + vfmt->VertexAttribI2uiv = _save_VertexAttribI2uiv; + vfmt->VertexAttribI3uiv = _save_VertexAttribI3uiv; + vfmt->VertexAttribI4uiv = _save_VertexAttribI4uiv; + /* This will all require us to fallback to saving the list as opcodes: */ _MESA_INIT_DLIST_VTXFMT(vfmt, _save_); /* inside begin/end */ |