diff options
Diffstat (limited to 'src')
191 files changed, 11671 insertions, 8481 deletions
diff --git a/src/SConscript b/src/SConscript index c42d9bff2d7..201812c5ac3 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1,16 +1,20 @@ Import('*') -SConscript('mapi/vgapi/SConscript') - if env['platform'] == 'windows': - SConscript('egl/main/SConscript') + SConscript('getopt/SConscript') SConscript('talloc/SConscript') +else: + talloc = 'talloc' + Export('talloc') SConscript('glsl/SConscript') SConscript('mapi/glapi/SConscript') SConscript('mesa/SConscript') +SConscript('mapi/vgapi/SConscript') + if env['platform'] != 'embedded': + SConscript('egl/main/SConscript') 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 8967969c924..6fc1e49e773 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -260,8 +260,8 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id, base.BindToTextureRGBA = bind_to_texture_rgba; } - base.RenderableType = disp->ClientAPIsMask; - base.Conformant = disp->ClientAPIsMask; + base.RenderableType = disp->ClientAPIs; + base.Conformant = disp->ClientAPIs; if (!_eglValidateConfig(&base, EGL_FALSE)) { _eglLog(_EGL_DEBUG, "DRI2: failed to validate config %d", id); @@ -752,13 +752,13 @@ dri2_create_screen(_EGLDisplay *disp) else api_mask = 1 << __DRI_API_OPENGL; - disp->ClientAPIsMask = 0; + disp->ClientAPIs = 0; if (api_mask & (1 <<__DRI_API_OPENGL)) - disp->ClientAPIsMask |= EGL_OPENGL_BIT; + disp->ClientAPIs |= EGL_OPENGL_BIT; if (api_mask & (1 <<__DRI_API_GLES)) - disp->ClientAPIsMask |= EGL_OPENGL_ES_BIT; + disp->ClientAPIs |= EGL_OPENGL_ES_BIT; if (api_mask & (1 << __DRI_API_GLES2)) - disp->ClientAPIsMask |= EGL_OPENGL_ES2_BIT; + disp->ClientAPIs |= EGL_OPENGL_ES2_BIT; if (dri2_dpy->dri2->base.version >= 2) { disp->Extensions.KHR_surfaceless_gles1 = EGL_TRUE; @@ -775,8 +775,7 @@ dri2_create_screen(_EGLDisplay *disp) } static EGLBoolean -dri2_initialize_x11(_EGLDriver *drv, _EGLDisplay *disp, - EGLint *major, EGLint *minor) +dri2_initialize_x11(_EGLDriver *drv, _EGLDisplay *disp) { struct dri2_egl_display *dri2_dpy; @@ -855,8 +854,8 @@ dri2_initialize_x11(_EGLDriver *drv, _EGLDisplay *disp, disp->Extensions.NOK_texture_from_pixmap = EGL_TRUE; /* we're supporting EGL 1.4 */ - *major = 1; - *minor = 4; + disp->VersionMajor = 1; + disp->VersionMinor = 4; return EGL_TRUE; @@ -1415,8 +1414,7 @@ dri2_get_driver_for_fd(int fd) } static EGLBoolean -dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp, - EGLint *major, EGLint *minor) +dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp) { struct dri2_egl_display *dri2_dpy; int i; @@ -1451,8 +1449,8 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp, disp->Extensions.KHR_gl_texture_2D_image = EGL_TRUE; /* we're supporting EGL 1.4 */ - *major = 1; - *minor = 4; + disp->VersionMajor = 1; + disp->VersionMinor = 4; return EGL_TRUE; @@ -1470,16 +1468,23 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp, * Called via eglInitialize(), GLX_drv->API.Initialize(). */ static EGLBoolean -dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp, - EGLint *major, EGLint *minor) +dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp) { + /* not until swrast_dri is supported */ + if (disp->Options.UseFallback) + return EGL_FALSE; + switch (disp->Platform) { case _EGL_PLATFORM_X11: - return dri2_initialize_x11(drv, disp, major, minor); + if (disp->Options.TestOnly) + return EGL_TRUE; + return dri2_initialize_x11(drv, disp); #ifdef HAVE_LIBUDEV case _EGL_PLATFORM_DRM: - return dri2_initialize_drm(drv, disp, major, minor); + if (disp->Options.TestOnly) + return EGL_TRUE; + return dri2_initialize_drm(drv, disp); #endif default: @@ -2382,10 +2387,11 @@ _EGL_MAIN(const char *args) if (!dri2_drv) return NULL; + memset(dri2_drv, 0, sizeof *dri2_drv); + if (!dri2_load(&dri2_drv->base)) return NULL; - memset(dri2_drv, 0, sizeof *dri2_drv); _eglInitDriverFallbacks(&dri2_drv->base); dri2_drv->base.API.Initialize = dri2_initialize; dri2_drv->base.API.Terminate = dri2_terminate; diff --git a/src/egl/drivers/glx/egl_glx.c b/src/egl/drivers/glx/egl_glx.c index 5fce06d66df..c3c11c7b6eb 100644 --- a/src/egl/drivers/glx/egl_glx.c +++ b/src/egl/drivers/glx/egl_glx.c @@ -581,8 +581,7 @@ check_quirks(struct GLX_egl_driver *GLX_drv, * Called via eglInitialize(), GLX_drv->API.Initialize(). */ static EGLBoolean -GLX_eglInitialize(_EGLDriver *drv, _EGLDisplay *disp, - EGLint *major, EGLint *minor) +GLX_eglInitialize(_EGLDriver *drv, _EGLDisplay *disp) { struct GLX_egl_driver *GLX_drv = GLX_egl_driver(drv); struct GLX_egl_display *GLX_dpy; @@ -590,6 +589,13 @@ GLX_eglInitialize(_EGLDriver *drv, _EGLDisplay *disp, if (disp->Platform != _EGL_PLATFORM_X11) return EGL_FALSE; + /* this is a fallback driver */ + if (!disp->Options.UseFallback) + return EGL_FALSE; + + if (disp->Options.TestOnly) + return EGL_TRUE; + GLX_dpy = CALLOC_STRUCT(GLX_egl_display); if (!GLX_dpy) return _eglError(EGL_BAD_ALLOC, "eglInitialize"); @@ -614,7 +620,7 @@ GLX_eglInitialize(_EGLDriver *drv, _EGLDisplay *disp, } disp->DriverData = (void *) GLX_dpy; - disp->ClientAPIsMask = EGL_OPENGL_BIT; + disp->ClientAPIs = EGL_OPENGL_BIT; check_extensions(GLX_drv, GLX_dpy, DefaultScreen(GLX_dpy->dpy)); check_quirks(GLX_drv, GLX_dpy, DefaultScreen(GLX_dpy->dpy)); @@ -629,8 +635,8 @@ GLX_eglInitialize(_EGLDriver *drv, _EGLDisplay *disp, } /* we're supporting EGL 1.4 */ - *major = 1; - *minor = 4; + disp->VersionMajor = 1; + disp->VersionMinor = 4; return EGL_TRUE; } diff --git a/src/egl/main/Makefile b/src/egl/main/Makefile index 0eb309c1969..c710631688c 100644 --- a/src/egl/main/Makefile +++ b/src/egl/main/Makefile @@ -93,7 +93,7 @@ default: depend library # EGL Library library: $(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME) -$(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME): $(OBJECTS) +$(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME): $(OBJECTS) $(LOCAL_LIBS) $(MKLIB) -o $(EGL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ -major $(EGL_MAJOR) -minor $(EGL_MINOR) \ -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \ diff --git a/src/egl/main/SConscript b/src/egl/main/SConscript index f001b81600f..8c57ceaf20f 100644 --- a/src/egl/main/SConscript +++ b/src/egl/main/SConscript @@ -7,13 +7,23 @@ Import('*') env = env.Clone() env.Append(CPPDEFINES = [ - '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WINDOWS', + '_EGL_BUILT_IN_DRIVER_GALLIUM', '_EGL_DRIVER_SEARCH_DIR=\\"\\"', - '_EGL_OS_WINDOWS', - '_EGL_GET_CORE_ADDRESSES', - 'KHRONOS_DLL_EXPORTS', ]) +if env['platform'] == 'windows': + env.Append(CPPDEFINES = [ + '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WINDOWS', + '_EGL_OS_WINDOWS', + '_EGL_GET_CORE_ADDRESSES', + 'KHRONOS_DLL_EXPORTS', + ]) +else: + env.Append(CPPDEFINES = [ + '_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11', + '_EGL_OS_UNIX', + ]) + env.Append(CPPPATH = [ '#/include', ]) @@ -38,15 +48,9 @@ egl_sources = [ 'eglsync.c', ] -egl = env.SharedLibrary( - target = 'libEGL', - source = egl_sources + ['egl.def'], +egl = env.ConvenienceLibrary( + target = 'egl', + source = egl_sources, ) -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/eglapi.c b/src/egl/main/eglapi.c index efa9e97346b..4e64ce6f718 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -57,7 +57,6 @@ #include <stdlib.h> #include <string.h> -#include "eglstring.h" #include "eglcontext.h" #include "egldisplay.h" #include "egltypedefs.h" @@ -294,16 +293,14 @@ eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor) if (!_eglMatchDriver(disp, EGL_FALSE)) RETURN_EGL_ERROR(disp, EGL_NOT_INITIALIZED, EGL_FALSE); - _eglsnprintf(disp->Version, sizeof(disp->Version), "%d.%d (%s)", - disp->APImajor, disp->APIminor, disp->Driver->Name); /* limit to APIs supported by core */ - disp->ClientAPIsMask &= _EGL_API_ALL_BITS; + disp->ClientAPIs &= _EGL_API_ALL_BITS; } /* Update applications version of major and minor if not NULL */ if ((major != NULL) && (minor != NULL)) { - *major = disp->APImajor; - *minor = disp->APIminor; + *major = disp->VersionMajor; + *minor = disp->VersionMinor; } RETURN_EGL_SUCCESS(disp, EGL_TRUE); diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h index 127becc9acd..01492082f66 100644 --- a/src/egl/main/eglapi.h +++ b/src/egl/main/eglapi.h @@ -12,7 +12,7 @@ typedef void (*_EGLProc)(void); */ /* driver funcs */ -typedef EGLBoolean (*Initialize_t)(_EGLDriver *, _EGLDisplay *dpy, EGLint *major, EGLint *minor); +typedef EGLBoolean (*Initialize_t)(_EGLDriver *, _EGLDisplay *dpy); typedef EGLBoolean (*Terminate_t)(_EGLDriver *, _EGLDisplay *dpy); /* config funcs */ diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index bcba05480a8..dbc5d32d910 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -74,8 +74,6 @@ struct _egl_extensions EGLBoolean NOK_swap_region; EGLBoolean NOK_texture_from_pixmap; - - char String[_EGL_MAX_EXTENSIONS_LEN]; }; @@ -86,21 +84,29 @@ struct _egl_display _EGLMutex Mutex; - _EGLPlatformType Platform; - void *PlatformDisplay; - - EGLBoolean Initialized; /**< True if the display is initialized */ - _EGLDriver *Driver; - void *DriverData; /* private to driver */ - - int APImajor, APIminor; /**< as returned by eglInitialize() */ - char Version[1000]; /**< initialized from APImajor/minor, DriverName */ - - /** Bitmask of supported APIs (EGL_xx_BIT) set by the driver during init */ - EGLint ClientAPIsMask; - char ClientAPIs[1000]; /**< updated by eglQueryString */ - - _EGLExtensions Extensions; + _EGLPlatformType Platform; /**< The type of the platform display */ + void *PlatformDisplay; /**< A pointer to the platform display */ + + _EGLDriver *Driver; /**< Matched driver of the display */ + EGLBoolean Initialized; /**< True if the display is initialized */ + + /* options that affect how the driver initializes the display */ + struct { + EGLBoolean TestOnly; /**< Driver should not set fields when true */ + EGLBoolean UseFallback; /**< Use fallback driver (sw or less features) */ + } Options; + + /* these fields are set by the driver during init */ + void *DriverData; /**< Driver private data */ + EGLint VersionMajor; /**< EGL major version */ + EGLint VersionMinor; /**< EGL minor version */ + EGLint ClientAPIs; /**< Bitmask of APIs supported (EGL_xxx_BIT) */ + _EGLExtensions Extensions; /**< Extensions supported */ + + /* these fields are derived from above */ + char VersionString[1000]; /**< EGL_VERSION */ + char ClientAPIsString[1000]; /**< EGL_CLIENT_APIS */ + char ExtensionsString[_EGL_MAX_EXTENSIONS_LEN]; /**< EGL_EXTENSIONS */ _EGLArray *Screens; _EGLArray *Configs; diff --git a/src/egl/main/egldriver.c b/src/egl/main/egldriver.c index 62c56955134..e133c220f5c 100644 --- a/src/egl/main/egldriver.c +++ b/src/egl/main/egldriver.c @@ -37,6 +37,9 @@ const struct { const char *name; _EGLMain_t main; } _eglBuiltInDrivers[] = { +#ifdef _EGL_BUILT_IN_DRIVER_GALLIUM + { "egl_gallium", _eglBuiltInDriverGALLIUM }, +#endif #ifdef _EGL_BUILT_IN_DRIVER_DRI2 { "egl_dri2", _eglBuiltInDriverDRI2 }, #endif @@ -141,9 +144,6 @@ _eglOpenLibrary(const char *driverPath, lib_handle *handle) if (!lib) { _eglLog(_EGL_WARNING, "Could not open driver %s (%s)", driverPath, error); - if (!getenv("EGL_DRIVER")) - _eglLog(_EGL_WARNING, - "The driver can be overridden by setting EGL_DRIVER"); return NULL; } @@ -432,7 +432,7 @@ _eglGetSearchPath(void) * * The user driver is specified by EGL_DRIVER. */ -static void +static EGLBoolean _eglAddUserDriver(void) { const char *search_path = _eglGetSearchPath(); @@ -463,7 +463,24 @@ _eglAddUserDriver(void) mod->BuiltIn = _eglBuiltInDrivers[i].main; } } + + return EGL_TRUE; } + + return EGL_FALSE; +} + + +/** + * Add egl_gallium to the module array. + */ +static void +_eglAddGalliumDriver(void) +{ +#ifndef _EGL_BUILT_IN_DRIVER_GALLIUM + void *external = (void *) "egl_gallium"; + _eglPreloadForEach(_eglGetSearchPath(), _eglLoaderFile, external); +#endif } @@ -491,118 +508,99 @@ _eglAddBuiltInDrivers(void) static EGLBoolean _eglAddDrivers(void) { - void *external = (void *) "egl_gallium"; - if (_eglModules) return EGL_TRUE; - /* the order here decides the priorities of the drivers */ - _eglAddUserDriver(); - _eglPreloadForEach(_eglGetSearchPath(), _eglLoaderFile, external); - _eglAddBuiltInDrivers(); + if (!_eglAddUserDriver()) { + /* + * Add other drivers only when EGL_DRIVER is not set. The order here + * decides the priorities. + */ + _eglAddGalliumDriver(); + _eglAddBuiltInDrivers(); + } return (_eglModules != NULL); } /** - * Match a display to a driver. The display is initialized unless use_probe is - * true. - * - * The matching is done by finding the first driver that can initialize the - * display, or when use_probe is true, the driver with highest score. + * A helper function for _eglMatchDriver. It finds the first driver that can + * initialize the display and return. */ -_EGLDriver * -_eglMatchDriver(_EGLDisplay *dpy, EGLBoolean use_probe) +static _EGLDriver * +_eglMatchAndInitialize(_EGLDisplay *dpy) { - _EGLModule *mod; - _EGLDriver *best_drv = NULL; - EGLint best_score = 0; - EGLint major, minor, i; - - _eglLockMutex(&_eglModuleMutex); + _EGLDriver *drv = NULL; + EGLint i = 0; if (!_eglAddDrivers()) { - _eglUnlockMutex(&_eglModuleMutex); - return EGL_FALSE; + _eglLog(_EGL_WARNING, "failed to find any driver"); + return NULL; } - /* match the loaded modules */ - for (i = 0; i < _eglModules->Size; i++) { - mod = (_EGLModule *) _eglModules->Elements[i]; - if (!mod->Driver) - break; + if (dpy->Driver) { + drv = dpy->Driver; + /* no re-matching? */ + if (!drv->API.Initialize(drv, dpy)) + drv = NULL; + return drv; + } - if (use_probe) { - EGLint score = (mod->Driver->Probe) ? - mod->Driver->Probe(mod->Driver, dpy) : 1; - if (score > best_score) { - best_drv = mod->Driver; - best_score = score; - } + while (i < _eglModules->Size) { + _EGLModule *mod = (_EGLModule *) _eglModules->Elements[i]; + + if (!_eglLoadModule(mod)) { + /* remove invalid modules */ + _eglEraseArray(_eglModules, i, _eglFreeModule); + continue; + } + + if (mod->Driver->API.Initialize(mod->Driver, dpy)) { + drv = mod->Driver; + break; } else { - if (mod->Driver->API.Initialize(mod->Driver, dpy, &major, &minor)) { - best_drv = mod->Driver; - best_score = 100; - } + i++; } - /* perfect match */ - if (best_score >= 100) - break; } - /* load more modules */ - if (!best_drv) { - EGLint first_unloaded = i; + return drv; +} - while (i < _eglModules->Size) { - mod = (_EGLModule *) _eglModules->Elements[i]; - assert(!mod->Driver); - if (!_eglLoadModule(mod)) { - /* remove invalid modules */ - _eglEraseArray(_eglModules, i, _eglFreeModule); - continue; - } +/** + * Match a display to a driver. The display is initialized unless test_only is + * true. The matching is done by finding the first driver that can initialize + * the display. + */ +_EGLDriver * +_eglMatchDriver(_EGLDisplay *dpy, EGLBoolean test_only) +{ + _EGLDriver *best_drv; - if (use_probe) { - best_score = (mod->Driver->Probe) ? - mod->Driver->Probe(mod->Driver, dpy) : 1; - } - else { - if (mod->Driver->API.Initialize(mod->Driver, dpy, &major, &minor)) - best_score = 100; - } + assert(!dpy->Initialized); - if (best_score > 0) { - best_drv = mod->Driver; - /* loaded modules come before unloaded ones */ - if (first_unloaded != i) { - void *tmp = _eglModules->Elements[i]; - _eglModules->Elements[i] = - _eglModules->Elements[first_unloaded]; - _eglModules->Elements[first_unloaded] = tmp; - } - break; - } - else { - _eglUnloadModule(mod); - i++; - } - } + _eglLockMutex(&_eglModuleMutex); + + /* set options */ + dpy->Options.TestOnly = test_only; + dpy->Options.UseFallback = EGL_FALSE; + + best_drv = _eglMatchAndInitialize(dpy); + if (!best_drv) { + dpy->Options.UseFallback = EGL_TRUE; + best_drv = _eglMatchAndInitialize(dpy); } _eglUnlockMutex(&_eglModuleMutex); if (best_drv) { - _eglLog(_EGL_DEBUG, "the best driver is %s (score %d)", - best_drv->Name, best_score); - if (!use_probe) { + _eglLog(_EGL_DEBUG, "the best driver is %s%s", + best_drv->Name, (test_only) ? " (test only) " : ""); + if (!test_only) { dpy->Driver = best_drv; dpy->Initialized = EGL_TRUE; - dpy->APImajor = major; - dpy->APIminor = minor; } } diff --git a/src/egl/main/egldriver.h b/src/egl/main/egldriver.h index 651788cb7ae..3cde102d12d 100644 --- a/src/egl/main/egldriver.h +++ b/src/egl/main/egldriver.h @@ -44,16 +44,6 @@ struct _egl_driver const char *Name; /**< name of this driver */ /** - * Probe a display and return a score. - * - * Roughly, - * 50 means the driver supports the display; - * 90 means the driver can accelerate the display; - * 100 means a perfect match. - */ - EGLint (*Probe)(_EGLDriver *drv, _EGLDisplay *dpy); - - /** * Release the driver resource. * * It is called before dlclose(). @@ -65,6 +55,10 @@ struct _egl_driver extern _EGLDriver * +_eglBuiltInDriverGALLIUM(const char *args); + + +extern _EGLDriver * _eglBuiltInDriverDRI2(const char *args); @@ -77,7 +71,7 @@ _eglMain(const char *args); extern _EGLDriver * -_eglMatchDriver(_EGLDisplay *dpy, EGLBoolean probe_only); +_eglMatchDriver(_EGLDisplay *dpy, EGLBoolean test_only); extern __eglMustCastToProperFunctionPointerType diff --git a/src/egl/main/eglmisc.c b/src/egl/main/eglmisc.c index bbb96a908e4..f8ba5f33eb9 100644 --- a/src/egl/main/eglmisc.c +++ b/src/egl/main/eglmisc.c @@ -36,6 +36,8 @@ #include "eglcurrent.h" #include "eglmisc.h" #include "egldisplay.h" +#include "egldriver.h" +#include "eglstring.h" /** @@ -73,11 +75,11 @@ _eglUpdateExtensionsString(_EGLDisplay *dpy) do { \ if (dpy->Extensions.ext) { \ _eglAppendExtension(&exts, "EGL_" #ext); \ - assert(exts <= dpy->Extensions.String + _EGL_MAX_EXTENSIONS_LEN); \ + assert(exts <= dpy->ExtensionsString + _EGL_MAX_EXTENSIONS_LEN); \ } \ } while (0) - char *exts = dpy->Extensions.String; + char *exts = dpy->ExtensionsString; if (exts[0]) return; @@ -114,24 +116,24 @@ _eglUpdateExtensionsString(_EGLDisplay *dpy) static void _eglUpdateAPIsString(_EGLDisplay *dpy) { - char *apis = dpy->ClientAPIs; + char *apis = dpy->ClientAPIsString; - if (apis[0] || !dpy->ClientAPIsMask) + if (apis[0] || !dpy->ClientAPIs) return; - if (dpy->ClientAPIsMask & EGL_OPENGL_BIT) + if (dpy->ClientAPIs & EGL_OPENGL_BIT) strcat(apis, "OpenGL "); - if (dpy->ClientAPIsMask & EGL_OPENGL_ES_BIT) + if (dpy->ClientAPIs & EGL_OPENGL_ES_BIT) strcat(apis, "OpenGL_ES "); - if (dpy->ClientAPIsMask & EGL_OPENGL_ES2_BIT) + if (dpy->ClientAPIs & EGL_OPENGL_ES2_BIT) strcat(apis, "OpenGL_ES2 "); - if (dpy->ClientAPIsMask & EGL_OPENVG_BIT) + if (dpy->ClientAPIs & EGL_OPENVG_BIT) strcat(apis, "OpenVG "); - assert(strlen(apis) < sizeof(dpy->ClientAPIs)); + assert(strlen(apis) < sizeof(dpy->ClientAPIsString)); } @@ -139,20 +141,21 @@ const char * _eglQueryString(_EGLDriver *drv, _EGLDisplay *dpy, EGLint name) { (void) drv; - (void) dpy; + switch (name) { case EGL_VENDOR: return _EGL_VENDOR_STRING; case EGL_VERSION: - return dpy->Version; + _eglsnprintf(dpy->VersionString, sizeof(dpy->VersionString), + "%d.%d (%s)", dpy->VersionMajor, dpy->VersionMinor, + dpy->Driver->Name); + return dpy->VersionString; case EGL_EXTENSIONS: _eglUpdateExtensionsString(dpy); - return dpy->Extensions.String; -#ifdef EGL_VERSION_1_2 + return dpy->ExtensionsString; case EGL_CLIENT_APIS: _eglUpdateAPIsString(dpy); - return dpy->ClientAPIs; -#endif + return dpy->ClientAPIsString; default: _eglError(EGL_BAD_PARAMETER, "eglQueryString"); return NULL; diff --git a/src/egl/main/eglstring.h b/src/egl/main/eglstring.h index f1d559b24a2..d4c89541362 100644 --- a/src/egl/main/eglstring.h +++ b/src/egl/main/eglstring.h @@ -2,6 +2,7 @@ #define EGLSTRING_INCLUDED #include <string.h> +#include <stdio.h> #ifdef _EGL_OS_WINDOWS #define _eglstrcasecmp _stricmp diff --git a/src/gallium/SConscript b/src/gallium/SConscript index 0efab834f66..2265f1de46c 100644 --- a/src/gallium/SConscript +++ b/src/gallium/SConscript @@ -55,6 +55,7 @@ SConscript('winsys/sw/null/SConscript') SConscript('state_trackers/python/SConscript') if env['platform'] != 'embedded': SConscript('state_trackers/vega/SConscript') + SConscript('state_trackers/egl/SConscript') if env['x11']: SConscript('state_trackers/glx/xlib/SConscript') @@ -66,10 +67,7 @@ if env['platform'] != 'embedded': SConscript('state_trackers/xorg/SConscript') if env['platform'] == 'windows': - SConscript([ - 'state_trackers/egl/SConscript', - 'state_trackers/wgl/SConscript', - ]) + SConscript('state_trackers/wgl/SConscript') # # Winsys @@ -85,6 +83,11 @@ SConscript([ 'targets/graw-null/SConscript', ]) +if env['platform'] != 'embedded': + SConscript([ + 'targets/egl-static/SConscript' + ]) + if env['x11']: SConscript([ 'targets/graw-xlib/SConscript', @@ -95,7 +98,6 @@ if env['platform'] == 'windows': SConscript([ 'targets/graw-gdi/SConscript', 'targets/libgl-gdi/SConscript', - #'egl-gdi/SConscript', ]) if env['dri']: diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c index 943ec44bcde..0c51aa85b37 100644 --- a/src/gallium/auxiliary/draw/draw_llvm.c +++ b/src/gallium/auxiliary/draw/draw_llvm.c @@ -229,6 +229,8 @@ create_jit_vertex_buffer_type(struct gallivm_state *gallivm) LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, stride, target, vb_type, 0); + LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, max_index, + target, vb_type, 1); LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, buffer_offset, target, vb_type, 2); @@ -437,6 +439,7 @@ generate_vs(struct draw_llvm *llvm, LLVMBuilderRef builder, LLVMValueRef (*outputs)[NUM_CHANNELS], const LLVMValueRef (*inputs)[NUM_CHANNELS], + LLVMValueRef system_values_array, LLVMValueRef context_ptr, struct lp_build_sampler_soa *draw_sampler) { @@ -468,6 +471,7 @@ generate_vs(struct draw_llvm *llvm, vs_type, NULL /*struct lp_build_mask_context *mask*/, consts_ptr, + system_values_array, NULL /*pos*/, inputs, outputs, @@ -1118,7 +1122,9 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) LLVMValueRef start, end, count, stride, step, io_itr; LLVMValueRef io_ptr, vbuffers_ptr, vb_ptr; LLVMValueRef instance_id; + LLVMValueRef system_values_array; struct draw_context *draw = llvm->draw; + const struct tgsi_shader_info *vs_info = &draw->vs.vertex_shader->info; unsigned i, j; struct lp_build_context bld; struct lp_build_loop_state lp_loop; @@ -1179,6 +1185,9 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) lp_build_context_init(&bld, llvm->gallivm, lp_type_int(32)); + system_values_array = lp_build_system_values_array(gallivm, vs_info, + instance_id, NULL); + end = lp_build_add(&bld, start, count); step = lp_build_const_int32(gallivm, max_vertices); @@ -1233,6 +1242,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) builder, outputs, ptr_aos, + system_values_array, context_ptr, sampler); @@ -1263,8 +1273,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) /* store clipmask in vertex header and positions in data */ convert_to_aos(gallivm, io, outputs, clipmask, - draw->vs.vertex_shader->info.num_outputs, - max_vertices); + vs_info->num_outputs, max_vertices); } lp_build_loop_end_cond(&lp_loop, end, step, LLVMIntUGE); @@ -1315,7 +1324,9 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *varian LLVMValueRef fetch_elts, fetch_count, stride, step, io_itr; LLVMValueRef io_ptr, vbuffers_ptr, vb_ptr; LLVMValueRef instance_id; + LLVMValueRef system_values_array; struct draw_context *draw = llvm->draw; + const struct tgsi_shader_info *vs_info = &draw->vs.vertex_shader->info; unsigned i, j; struct lp_build_context bld; struct lp_build_loop_state lp_loop; @@ -1376,6 +1387,10 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *varian lp_build_context_init(&bld, gallivm, lp_type_int(32)); + system_values_array = lp_build_system_values_array(gallivm, vs_info, + instance_id, NULL); + + step = lp_build_const_int32(gallivm, max_vertices); /* code generated texture sampling */ @@ -1438,6 +1453,7 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *varian builder, outputs, ptr_aos, + system_values_array, context_ptr, sampler); @@ -1471,8 +1487,7 @@ draw_llvm_generate_elts(struct draw_llvm *llvm, struct draw_llvm_variant *varian * and transformed positions in data */ convert_to_aos(gallivm, io, outputs, clipmask, - draw->vs.vertex_shader->info.num_outputs, - max_vertices); + vs_info->num_outputs, max_vertices); } lp_build_loop_end_cond(&lp_loop, fetch_count, step, LLVMIntUGE); diff --git a/src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h b/src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h index 3f66f962e11..75dba8c39a5 100644 --- a/src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h +++ b/src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h @@ -258,9 +258,10 @@ vsplit_segment_fan_linear(struct vsplit_frontend *vsplit, unsigned flags, boolean use_spoken = ((flags & DRAW_SPLIT_BEFORE) != 0); unsigned nr = 0, i; - assert(icount + !!use_spoken <= vsplit->segment_size); + assert(icount <= vsplit->segment_size); if (use_spoken) { + /* replace istart by i0 */ vsplit->fetch_elts[nr++] = i0; for (i = 1 ; i < icount; i++) vsplit->fetch_elts[nr++] = istart + i; diff --git a/src/gallium/auxiliary/draw/draw_vs_exec.c b/src/gallium/auxiliary/draw/draw_vs_exec.c index 667eb507855..c41d7c42a01 100644 --- a/src/gallium/auxiliary/draw/draw_vs_exec.c +++ b/src/gallium/auxiliary/draw/draw_vs_exec.c @@ -99,6 +99,12 @@ vs_exec_run_linear( struct draw_vertex_shader *shader, tgsi_exec_set_constant_buffers(machine, PIPE_MAX_CONSTANT_BUFFERS, constants, const_size); + if (shader->info.uses_instanceid) { + unsigned i = machine->SysSemanticToIndex[TGSI_SEMANTIC_INSTANCEID]; + assert(i < Elements(machine->SystemValue)); + machine->SystemValue[i][0] = shader->draw->instance_id; + } + for (i = 0; i < count; i += MAX_TGSI_VERTICES) { unsigned int max_vertices = MIN2(MAX_TGSI_VERTICES, count - i); diff --git a/src/gallium/auxiliary/draw/draw_vs_sse.c b/src/gallium/auxiliary/draw/draw_vs_sse.c index dee7c0da9b6..d55b9b08070 100644 --- a/src/gallium/auxiliary/draw/draw_vs_sse.c +++ b/src/gallium/auxiliary/draw/draw_vs_sse.c @@ -71,6 +71,12 @@ vs_sse_prepare( struct draw_vertex_shader *base, struct tgsi_exec_machine *machine = shader->machine; machine->Samplers = draw->vs.samplers; + + if (base->info.uses_instanceid) { + unsigned i = machine->SysSemanticToIndex[TGSI_SEMANTIC_INSTANCEID]; + assert(i < Elements(machine->SystemValue)); + machine->SystemValue[i][0] = base->draw->instance_id; + } } diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h index 40186befb9f..9713d100484 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h @@ -180,6 +180,7 @@ lp_build_tgsi_soa(struct gallivm_state *gallivm, struct lp_type type, struct lp_build_mask_context *mask, LLVMValueRef consts_ptr, + LLVMValueRef system_values_array, const LLVMValueRef *pos, const LLVMValueRef (*inputs)[4], LLVMValueRef (*outputs)[4], @@ -199,4 +200,11 @@ lp_build_tgsi_aos(struct gallivm_state *gallivm, const struct tgsi_shader_info *info); +LLVMValueRef +lp_build_system_values_array(struct gallivm_state *gallivm, + const struct tgsi_shader_info *info, + LLVMValueRef instance_id, + LLVMValueRef facing); + + #endif /* LP_BLD_TGSI_H */ diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c index 1b5a8a5903b..d1585c8e2b7 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c @@ -157,6 +157,8 @@ struct lp_build_tgsi_soa_context */ LLVMValueRef inputs_array; + LLVMValueRef system_values_array; + const struct tgsi_shader_info *info; /** bitmask indicating which register files are accessed indirectly */ unsigned indirect_files; @@ -759,6 +761,23 @@ emit_fetch( } break; + case TGSI_FILE_SYSTEM_VALUE: + assert(!reg->Register.Indirect); + { + LLVMValueRef index; /* index into the system value array */ + LLVMValueRef scalar, scalar_ptr; + + index = lp_build_const_int32(gallivm, + reg->Register.Index * 4 + swizzle); + + scalar_ptr = LLVMBuildGEP(builder, bld->system_values_array, + &index, 1, ""); + scalar = LLVMBuildLoad(builder, scalar_ptr, ""); + + res = lp_build_broadcast_scalar(&bld->base, scalar); + } + break; + default: assert(0 && "invalid src register in emit_fetch()"); return bld->base.undef; @@ -2322,6 +2341,7 @@ lp_build_tgsi_soa(struct gallivm_state *gallivm, struct lp_type type, struct lp_build_mask_context *mask, LLVMValueRef consts_ptr, + LLVMValueRef system_values_array, const LLVMValueRef *pos, const LLVMValueRef (*inputs)[NUM_CHANNELS], LLVMValueRef (*outputs)[NUM_CHANNELS], @@ -2411,6 +2431,8 @@ lp_build_tgsi_soa(struct gallivm_state *gallivm, } } + bld.system_values_array = system_values_array; + tgsi_parse_init( &parse, tokens ); while( !tgsi_parse_end_of_tokens( &parse ) ) { @@ -2512,3 +2534,54 @@ lp_build_tgsi_soa(struct gallivm_state *gallivm, FREE( bld.instructions ); } + +/** + * Build up the system values array out of individual values such as + * the instance ID, front-face, primitive ID, etc. The shader info is + * used to determine which system values are needed and where to put + * them in the system values array. + * + * XXX only instance ID is implemented at this time. + * + * The system values register file is similar to the constants buffer. + * Example declaration: + * DCL SV[0], INSTANCEID + * Example instruction: + * MOVE foo, SV[0].xxxx; + * + * \return LLVM float array (interpreted as float [][4]) + */ +LLVMValueRef +lp_build_system_values_array(struct gallivm_state *gallivm, + const struct tgsi_shader_info *info, + LLVMValueRef instance_id, + LLVMValueRef facing) +{ + LLVMValueRef size = lp_build_const_int32(gallivm, 4 * info->num_system_values); + LLVMTypeRef float_t = LLVMFloatTypeInContext(gallivm->context); + LLVMValueRef array = lp_build_array_alloca(gallivm, float_t, + size, "sysvals_array"); + unsigned i; + + for (i = 0; i < info->num_system_values; i++) { + LLVMValueRef index = lp_build_const_int32(gallivm, i * 4); + LLVMValueRef ptr, value; + + switch (info->system_value_semantic_name[i]) { + case TGSI_SEMANTIC_INSTANCEID: + /* convert instance ID from int to float */ + value = LLVMBuildSIToFP(gallivm->builder, instance_id, float_t, + "sysval_instanceid"); + break; + case TGSI_SEMANTIC_FACE: + /* fall-through */ + default: + assert(0 && "unexpected semantic in build_system_values_array()"); + } + + ptr = LLVMBuildGEP(gallivm->builder, array, &index, 1, ""); + LLVMBuildStore(gallivm->builder, value, ptr); + } + + return array; +} diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c index 7892a67f04c..35b27423513 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.c +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c @@ -1038,7 +1038,6 @@ fetch_src_file_channel(const struct tgsi_exec_machine *mach, break; case TGSI_FILE_INPUT: - case TGSI_FILE_SYSTEM_VALUE: for (i = 0; i < QUAD_SIZE; i++) { /* if (TGSI_PROCESSOR_GEOMETRY == mach->Processor) { @@ -1053,6 +1052,15 @@ fetch_src_file_channel(const struct tgsi_exec_machine *mach, } break; + case TGSI_FILE_SYSTEM_VALUE: + /* XXX no swizzling at this point. Will be needed if we put + * gl_FragCoord, for example, in a sys value register. + */ + for (i = 0; i < QUAD_SIZE; i++) { + chan->f[i] = mach->SystemValue[index->i[i]][0]; + } + break; + case TGSI_FILE_TEMPORARY: for (i = 0; i < QUAD_SIZE; i++) { assert(index->i[i] < TGSI_EXEC_NUM_TEMPS); @@ -1907,8 +1915,7 @@ exec_declaration(struct tgsi_exec_machine *mach, const struct tgsi_full_declaration *decl) { if (mach->Processor == TGSI_PROCESSOR_FRAGMENT) { - if (decl->Declaration.File == TGSI_FILE_INPUT || - decl->Declaration.File == TGSI_FILE_SYSTEM_VALUE) { + if (decl->Declaration.File == TGSI_FILE_INPUT) { uint first, last, mask; first = decl->Range.First; @@ -1921,6 +1928,7 @@ exec_declaration(struct tgsi_exec_machine *mach, * ureg code to emit the right UsageMask value (WRITEMASK_X). * Then, we could remove the tgsi_exec_machine::Face field. */ + /* XXX make FACE a system value */ if (decl->Semantic.Name == TGSI_SEMANTIC_FACE) { uint i; @@ -1962,8 +1970,13 @@ exec_declaration(struct tgsi_exec_machine *mach, } } } + + if (decl->Declaration.File == TGSI_FILE_SYSTEM_VALUE) { + mach->SysSemanticToIndex[decl->Declaration.Semantic] = decl->Range.First; + } } + typedef void (* micro_op)(union tgsi_exec_channel *dst); static void diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.h b/src/gallium/auxiliary/tgsi/tgsi_exec.h index b5ebbfbfaab..6c204c73714 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_exec.h +++ b/src/gallium/auxiliary/tgsi/tgsi_exec.h @@ -31,6 +31,7 @@ #include "pipe/p_compiler.h" #include "pipe/p_state.h" +#include "pipe/p_shader_tokens.h" #if defined __cplusplus extern "C" { @@ -181,6 +182,8 @@ struct tgsi_sampler /* The maximum total number of vertices */ #define TGSI_MAX_TOTAL_VERTICES (TGSI_MAX_PRIM_VERTICES * TGSI_MAX_PRIMITIVES * PIPE_MAX_ATTRIBS) +#define TGSI_MAX_MISC_INPUTS 8 + /** function call/activation record */ struct tgsi_call_record { @@ -228,6 +231,10 @@ struct tgsi_exec_machine struct tgsi_exec_vector Inputs[TGSI_MAX_PRIM_VERTICES * PIPE_MAX_ATTRIBS]; struct tgsi_exec_vector Outputs[TGSI_MAX_TOTAL_VERTICES]; + /* System values */ + unsigned SysSemanticToIndex[TGSI_SEMANTIC_COUNT]; + float SystemValue[TGSI_MAX_MISC_INPUTS][4]; + struct tgsi_exec_vector *Addrs; struct tgsi_exec_vector *Predicates; diff --git a/src/gallium/auxiliary/tgsi/tgsi_ppc.c b/src/gallium/auxiliary/tgsi/tgsi_ppc.c index 3521847b619..537a0f6c5e4 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ppc.c +++ b/src/gallium/auxiliary/tgsi/tgsi_ppc.c @@ -294,7 +294,6 @@ emit_fetch(struct gen_context *gen, case TGSI_SWIZZLE_W: switch (reg->Register.File) { case TGSI_FILE_INPUT: - case TGSI_FILE_SYSTEM_VALUE: { int offset = (reg->Register.Index * 4 + swizzle) * 16; int offset_reg = emit_li_offset(gen, offset); @@ -302,6 +301,9 @@ emit_fetch(struct gen_context *gen, ppc_lvx(gen->f, dst_vec, gen->inputs_reg, offset_reg); } break; + case TGSI_FILE_SYSTEM_VALUE: + assert(!"unhandled system value in tgsi_ppc.c"); + break; case TGSI_FILE_TEMPORARY: if (is_ppc_vec_temporary(reg)) { /* use PPC vec register */ diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.c b/src/gallium/auxiliary/tgsi/tgsi_scan.c index 6585da3e838..83c6ac75e54 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.c +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.c @@ -143,7 +143,7 @@ tgsi_scan_shader(const struct tgsi_token *tokens, info->file_count[file]++; info->file_max[file] = MAX2(info->file_max[file], (int)reg); - if (file == TGSI_FILE_INPUT || file == TGSI_FILE_SYSTEM_VALUE) { + if (file == TGSI_FILE_INPUT) { info->input_semantic_name[reg] = (ubyte)fulldecl->Semantic.Name; info->input_semantic_index[reg] = (ubyte)fulldecl->Semantic.Index; info->input_interpolate[reg] = (ubyte)fulldecl->Declaration.Interpolate; @@ -151,6 +151,23 @@ tgsi_scan_shader(const struct tgsi_token *tokens, info->input_cylindrical_wrap[reg] = (ubyte)fulldecl->Declaration.CylindricalWrap; info->num_inputs++; } + else if (file == TGSI_FILE_SYSTEM_VALUE) { + unsigned index = fulldecl->Range.First; + unsigned semName = fulldecl->Semantic.Name; + + info->system_value_semantic_name[index] = semName; + info->num_system_values = MAX2(info->num_system_values, + index + 1); + + /* + info->system_value_semantic_name[info->num_system_values++] = + fulldecl->Semantic.Name; + */ + + if (fulldecl->Semantic.Name == TGSI_SEMANTIC_INSTANCEID) { + info->uses_instanceid = TRUE; + } + } else if (file == TGSI_FILE_OUTPUT) { info->output_semantic_name[reg] = (ubyte)fulldecl->Semantic.Name; info->output_semantic_index[reg] = (ubyte)fulldecl->Semantic.Index; diff --git a/src/gallium/auxiliary/tgsi/tgsi_scan.h b/src/gallium/auxiliary/tgsi/tgsi_scan.h index 104097fbc03..53ab3d509dd 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_scan.h +++ b/src/gallium/auxiliary/tgsi/tgsi_scan.h @@ -51,6 +51,9 @@ struct tgsi_shader_info ubyte output_semantic_name[PIPE_MAX_SHADER_OUTPUTS]; /**< TGSI_SEMANTIC_x */ ubyte output_semantic_index[PIPE_MAX_SHADER_OUTPUTS]; + ubyte num_system_values; + ubyte system_value_semantic_name[PIPE_MAX_SHADER_INPUTS]; + uint file_mask[TGSI_FILE_COUNT]; /**< bitmask of declared registers */ uint file_count[TGSI_FILE_COUNT]; /**< number of declared registers */ int file_max[TGSI_FILE_COUNT]; /**< highest index of declared registers */ @@ -64,6 +67,7 @@ struct tgsi_shader_info boolean writes_stencil; /**< does fragment shader write stencil value? */ boolean writes_edgeflag; /**< vertex shader outputs edgeflag */ boolean uses_kill; /**< KIL or KILP instruction used? */ + boolean uses_instanceid; /** * Bitmask indicating which register files are accessed with diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.c b/src/gallium/auxiliary/tgsi/tgsi_sse2.c index 086d983a73a..3f2cda860e0 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sse2.c +++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.c @@ -163,6 +163,14 @@ get_immediate_base( void ) reg_DX ); } +static struct x86_reg +get_system_value_base( void ) +{ + return x86_make_disp( + get_machine_base(), + Offset(struct tgsi_exec_machine, SystemValue) ); +} + /** * Data access helpers. @@ -229,6 +237,16 @@ get_temp( } static struct x86_reg +get_system_value( + unsigned vec, + unsigned chan ) +{ + return x86_make_disp( + get_system_value_base(), /* base */ + (vec * 4 + chan) * 4 ); /* byte offset from base */ +} + +static struct x86_reg get_coef( unsigned vec, unsigned chan, @@ -423,6 +441,30 @@ emit_tempf( } /** + * Copy a system value to xmm register + * \param xmm the destination xmm register + * \param vec the source system value register + * \param chan src channel to fetch (X, Y, Z or W) + */ +static void +emit_system_value( + struct x86_function *func, + unsigned xmm, + unsigned vec, + unsigned chan ) +{ + sse_movss( + func, + make_xmm( xmm ), + get_system_value( vec, chan ) ); + sse_shufps( + func, + make_xmm( xmm ), + make_xmm( xmm ), + SHUF( 0, 0, 0, 0 ) ); +} + +/** * Load an xmm register with an input attrib coefficient (a0, dadx or dady) * \param xmm the destination xmm register * \param vec the src input/attribute coefficient index @@ -1281,8 +1323,15 @@ emit_fetch( swizzle ); break; - case TGSI_FILE_INPUT: case TGSI_FILE_SYSTEM_VALUE: + emit_system_value( + func, + xmm, + reg->Register.Index, + swizzle ); + break; + + case TGSI_FILE_INPUT: emit_inputf( func, xmm, @@ -2636,8 +2685,7 @@ emit_declaration( struct x86_function *func, struct tgsi_full_declaration *decl ) { - if( decl->Declaration.File == TGSI_FILE_INPUT || - decl->Declaration.File == TGSI_FILE_SYSTEM_VALUE ) { + if( decl->Declaration.File == TGSI_FILE_INPUT ) { unsigned first, last, mask; unsigned i, j; diff --git a/src/gallium/auxiliary/util/u_debug.c b/src/gallium/auxiliary/util/u_debug.c index 2ad2f95b13e..f4ad545bee7 100644 --- a/src/gallium/auxiliary/util/u_debug.c +++ b/src/gallium/auxiliary/util/u_debug.c @@ -47,6 +47,7 @@ void _debug_vprintf(const char *format, va_list ap) { +#if defined(PIPE_OS_WINDOWS) || defined(PIPE_OS_EMBEDDED) /* We buffer until we find a newline. */ static char buf[4096] = {'\0'}; size_t len = strlen(buf); @@ -55,6 +56,10 @@ void _debug_vprintf(const char *format, va_list ap) os_log_message(buf); buf[0] = '\0'; } +#else + /* Just print as-is to stderr */ + vfprintf(stderr, format, ap); +#endif } diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index 09edbaa673d..ab90097add6 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -36,6 +36,7 @@ The integer capabilities: bound. * ``OCCLUSION_QUERY``: Whether occlusion queries are available. * ``TIMER_QUERY``: Whether timer queries are available. +* ``INSTANCED_DRAWING``: indicates support for instanced drawing. * ``TEXTURE_SHADOW_MAP``: indicates whether the fragment shader hardware can do the depth texture / Z comparison operation in TEX instructions for shadow testing. diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 9459a3cd113..b6919a5c6d3 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -164,6 +164,8 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_DEPTH_CLAMP: return 0; + case PIPE_CAP_INSTANCED_DRAWING: + return 1; default: return 0; } diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index ae207617cc1..1b9119eda00 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -334,7 +334,8 @@ generate_fs(struct gallivm_state *gallivm, /* Build the actual shader */ lp_build_tgsi_soa(gallivm, tokens, type, &mask, - consts_ptr, interp->pos, interp->inputs, + consts_ptr, NULL, /* sys values array */ + interp->pos, interp->inputs, outputs, sampler, &shader->info.base); /* Alpha test */ diff --git a/src/gallium/drivers/noop/noop_pipe.c b/src/gallium/drivers/noop/noop_pipe.c index 8c9efc2f536..3680f4622da 100644 --- a/src/gallium/drivers/noop/noop_pipe.c +++ b/src/gallium/drivers/noop/noop_pipe.c @@ -124,7 +124,7 @@ static struct pipe_resource *noop_resource_from_handle(struct pipe_screen *scree struct noop_pipe_screen *noop_screen = (struct noop_pipe_screen*)screen; struct pipe_screen *oscreen = noop_screen->oscreen; struct pipe_resource *result; - struct noop_resource *noop_resource; + struct pipe_resource *noop_resource; result = oscreen->resource_from_handle(oscreen, templ, handle); noop_resource = noop_resource_create(screen, result); diff --git a/src/gallium/drivers/nvc0/nvc0_3d.xml.h b/src/gallium/drivers/nvc0/nvc0_3d.xml.h index 702e58b2e3c..31302949d5e 100644 --- a/src/gallium/drivers/nvc0/nvc0_3d.xml.h +++ b/src/gallium/drivers/nvc0/nvc0_3d.xml.h @@ -8,7 +8,7 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- nvc0_3d.xml ( 30401 bytes, from 2011-01-08 18:09:11) +- nvc0_3d.xml ( 30827 bytes, from 2011-01-13 18:23:07) - copyright.xml ( 6452 bytes, from 2010-11-25 23:28:20) - nv_defs.xml ( 4437 bytes, from 2010-07-06 07:43:58) - nv_3ddefs.xml ( 16394 bytes, from 2010-12-17 15:10:40) @@ -449,6 +449,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_LINKED_TSC 0x00001234 +#define NVC0_3D_DRAW_TFB_BYTES 0x0000123c + #define NVC0_3D_FP_RESULT_COUNT 0x00001298 #define NVC0_3D_DEPTH_TEST_ENABLE 0x000012cc @@ -511,6 +513,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_ALPHA_TEST_FUNC_GEQUAL 0x00000206 #define NVC0_3D_ALPHA_TEST_FUNC_ALWAYS 0x00000207 +#define NVC0_3D_DRAW_TFB_STRIDE 0x00001318 +#define NVC0_3D_DRAW_TFB_STRIDE__MIN 0x00000001 +#define NVC0_3D_DRAW_TFB_STRIDE__MAX 0x00000fff + #define NVC0_3D_BLEND_COLOR(i0) (0x0000131c + 0x4*(i0)) #define NVC0_3D_BLEND_COLOR__ESIZE 0x00000004 #define NVC0_3D_BLEND_COLOR__LEN 0x00000004 @@ -603,6 +609,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_STENCIL_FRONT_FUNC_MASK 0x0000139c +#define NVC0_3D_DRAW_TFB_BASE 0x000013a4 + #define NVC0_3D_FRAG_COLOR_CLAMP_EN 0x000013a8 #define NVC0_3D_FRAG_COLOR_CLAMP_EN_0 0x00000001 #define NVC0_3D_FRAG_COLOR_CLAMP_EN_1 0x00000010 @@ -613,7 +621,9 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_FRAG_COLOR_CLAMP_EN_6 0x01000000 #define NVC0_3D_FRAG_COLOR_CLAMP_EN_7 0x10000000 -#define NVC0_3D_Y_ORIGIN_BOTTOM 0x000013ac +#define NVC0_3D_SCREEN_Y_CONTROL 0x000013ac +#define NVC0_3D_SCREEN_Y_CONTROL_Y_NEGATE 0x00000001 +#define NVC0_3D_SCREEN_Y_CONTROL_TRIANGLE_RAST_FLIP 0x00000010 #define NVC0_3D_LINE_WIDTH 0x000013b0 @@ -621,7 +631,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MIN 0x00000001 #define NVC0_3D_GP_VERTEX_OUTPUT_COUNT__MAX 0x00000400 -#define NVC0_3D_FENCE_UNK 0x0000142c +#define NVC0_3D_VERTEX_ARRAY_FLUSH 0x0000142c #define NVC0_3D_VB_ELEMENT_BASE 0x00001434 @@ -668,7 +678,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_COUNTER_RESET_UNK1E 0x0000001e #define NVC0_3D_COUNTER_RESET_GENERATED_PRIMITIVES 0x0000001f -#define NVC0_3D_MULTISAMPLE_ZETA_ENABLE 0x00001534 +#define NVC0_3D_MULTISAMPLE_ENABLE 0x00001534 #define NVC0_3D_ZETA_ENABLE 0x00001538 @@ -747,7 +757,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_GEQUAL 0x00000206 #define NVC0_3D_STENCIL_BACK_FUNC_FUNC_ALWAYS 0x00000207 -#define NVC0_3D_MULTISAMPLE_COLOR_ENABLE 0x000015b4 +#define NVC0_3D_CSAA_ENABLE 0x000015b4 #define NVC0_3D_FRAMEBUFFER_SRGB 0x000015b8 @@ -849,6 +859,10 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_POINT_SMOOTH_ENABLE 0x00001658 +#define NVC0_3D_POINT_RASTER_RULES 0x0000165c +#define NVC0_3D_POINT_RASTER_RULES_OGL 0x00000000 +#define NVC0_3D_POINT_RASTER_RULES_D3D 0x00000001 + #define NVC0_3D_POINT_SPRITE_CTRL 0x00001660 #define NVC0_3D_TEX_MISC 0x00001664 @@ -1028,6 +1042,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VERTEX_ARRAY_FETCH_STRIDE__SHIFT 0 #define NVC0_3D_VERTEX_ARRAY_FETCH_ENABLE 0x00001000 +#define NVC0_3D_VERTEX_ARRAY_START_HIGH(i0) (0x00001c04 + 0x10*(i0)) +#define NVC0_3D_VERTEX_ARRAY_START_HIGH__ESIZE 0x00000010 +#define NVC0_3D_VERTEX_ARRAY_START_HIGH__LEN 0x00000020 + +#define NVC0_3D_VERTEX_ARRAY_START_LOW(i0) (0x00001c08 + 0x10*(i0)) +#define NVC0_3D_VERTEX_ARRAY_START_LOW__ESIZE 0x00000010 +#define NVC0_3D_VERTEX_ARRAY_START_LOW__LEN 0x00000020 + #define NVC0_3D_VERTEX_ARRAY_DIVISOR(i0) (0x00001c0c + 0x10*(i0)) #define NVC0_3D_VERTEX_ARRAY_DIVISOR__ESIZE 0x00000010 #define NVC0_3D_VERTEX_ARRAY_DIVISOR__LEN 0x00000020 @@ -1058,6 +1080,14 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_IBLEND_FUNC_DST_ALPHA(i0) (0x00001e18 + 0x20*(i0)) +#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH(i0) (0x00001f00 + 0x8*(i0)) +#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__ESIZE 0x00000008 +#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH__LEN 0x00000020 + +#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW(i0) (0x00001f04 + 0x8*(i0)) +#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__ESIZE 0x00000008 +#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW__LEN 0x00000020 + #define NVC0_3D_SP(i0) (0x00002000 + 0x40*(i0)) #define NVC0_3D_SP__ESIZE 0x00000040 #define NVC0_3D_SP__LEN 0x00000006 @@ -1132,14 +1162,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #define NVC0_3D_VERTEX_ARRAY_SELECT 0x00003820 -#define NVC0_3D_VERTEX_ARRAY_LIMIT_HIGH 0x00003824 - -#define NVC0_3D_VERTEX_ARRAY_LIMIT_LOW 0x00003828 - -#define NVC0_3D_VERTEX_ARRAY_START_HIGH 0x0000382c - -#define NVC0_3D_VERTEX_ARRAY_START_LOW 0x00003830 - #define NVC0_3D_BLEND_ENABLES 0x00003858 #define NVC0_3D_POLYGON_MODE_FRONT 0x00003868 diff --git a/src/gallium/drivers/nvc0/nvc0_buffer.c b/src/gallium/drivers/nvc0/nvc0_buffer.c index f5ac6557fe9..ea3e642a448 100644 --- a/src/gallium/drivers/nvc0/nvc0_buffer.c +++ b/src/gallium/drivers/nvc0/nvc0_buffer.c @@ -59,6 +59,18 @@ release_allocation(struct nvc0_mm_allocation **mm, struct nvc0_fence *fence) (*mm) = NULL; } +static INLINE boolean +nvc0_buffer_reallocate(struct nvc0_screen *screen, struct nvc0_resource *buf, + unsigned domain) +{ + nouveau_bo_ref(NULL, &buf->bo); + + if (buf->mm) + release_allocation(&buf->mm, buf->fence); + + return nvc0_buffer_allocate(screen, buf, domain); +} + static void nvc0_buffer_destroy(struct pipe_screen *pscreen, struct pipe_resource *presource) @@ -116,6 +128,12 @@ nvc0_buffer_upload(struct nvc0_context *nvc0, struct nvc0_resource *buf, struct nouveau_bo *bounce = NULL; uint32_t offset; + if (size <= 192) { + nvc0_m2mf_push_linear(nvc0, buf->bo, buf->domain, buf->offset + start, + size, buf->data + start); + return TRUE; + } + mm = nvc0_mm_allocate(nvc0->screen->mm_GART, size, &bounce, &offset); if (!bounce) return FALSE; @@ -366,8 +384,9 @@ nvc0_user_buffer_create(struct pipe_screen *pscreen, return &buffer->base; } +/* Like download, but for GART buffers. Merge ? */ static INLINE boolean -nvc0_buffer_fetch_data(struct nvc0_resource *buf, +nvc0_buffer_data_fetch(struct nvc0_resource *buf, struct nouveau_bo *bo, unsigned offset, unsigned size) { if (!buf->data) { @@ -413,7 +432,7 @@ nvc0_buffer_migrate(struct nvc0_context *nvc0, if (new_domain == NOUVEAU_BO_VRAM) { /* keep a system memory copy of our data in case we hit a fallback */ - if (!nvc0_buffer_fetch_data(buf, buf->bo, buf->offset, size)) + if (!nvc0_buffer_data_fetch(buf, buf->bo, buf->offset, size)) return FALSE; debug_printf("migrating %u KiB to VRAM\n", size / 1024); } @@ -444,19 +463,22 @@ nvc0_buffer_migrate(struct nvc0_context *nvc0, } /* Migrate data from glVertexAttribPointer(non-VBO) user buffers to GART. - * MUST NOT FLUSH THE PUSH BUFFER, we could be in the middle of a method. + * We'd like to only allocate @size bytes here, but then we'd have to rebase + * the vertex indices ... */ boolean -nvc0_migrate_vertices(struct nvc0_resource *buf, unsigned base, unsigned size) +nvc0_user_buffer_upload(struct nvc0_resource *buf, unsigned base, unsigned size) { struct nvc0_screen *screen = nvc0_screen(buf->base.screen); int ret; - assert(buf->data && !buf->domain); + assert(buf->status & NVC0_BUFFER_STATUS_USER_MEMORY); - if (!nvc0_buffer_allocate(screen, buf, NOUVEAU_BO_GART)) + buf->base.width0 = base + size; + if (!nvc0_buffer_reallocate(screen, buf, NOUVEAU_BO_GART)) return FALSE; - ret = nouveau_bo_map_range(buf->bo, base + buf->offset, size, + + ret = nouveau_bo_map_range(buf->bo, buf->offset + base, size, NOUVEAU_BO_WR | NOUVEAU_BO_NOSYNC); if (ret) return FALSE; diff --git a/src/gallium/drivers/nvc0/nvc0_context.h b/src/gallium/drivers/nvc0/nvc0_context.h index 0f340beb35a..eeb5beff7a7 100644 --- a/src/gallium/drivers/nvc0/nvc0_context.h +++ b/src/gallium/drivers/nvc0/nvc0_context.h @@ -100,7 +100,8 @@ struct nvc0_context { struct pipe_vertex_buffer vtxbuf[PIPE_MAX_ATTRIBS]; unsigned num_vtxbufs; struct pipe_index_buffer idxbuf; - uint32_t vbo_fifo; + uint32_t vbo_fifo; /* bitmask of vertex elements to be pushed to FIFO */ + uint32_t vbo_user; /* bitmask of vertex buffers pointing to user memory */ unsigned vbo_min_index; /* from pipe_draw_info, for vertex upload */ unsigned vbo_max_index; diff --git a/src/gallium/drivers/nvc0/nvc0_pc.c b/src/gallium/drivers/nvc0/nvc0_pc.c index 72483f120ed..304a1919768 100644 --- a/src/gallium/drivers/nvc0/nvc0_pc.c +++ b/src/gallium/drivers/nvc0/nvc0_pc.c @@ -515,6 +515,13 @@ nvc0_insn_insert_after(struct nv_instruction *at, struct nv_instruction *ni) } void +nvc0_insn_insert_before(struct nv_instruction *at, struct nv_instruction *ni) +{ + nvc0_insn_insert_after(at, ni); + nvc0_insns_permute(at, ni); +} + +void nvc0_insn_delete(struct nv_instruction *nvi) { struct nv_basic_block *b = nvi->bb; diff --git a/src/gallium/drivers/nvc0/nvc0_pc.h b/src/gallium/drivers/nvc0/nvc0_pc.h index 74867f02e72..969cc68c596 100644 --- a/src/gallium/drivers/nvc0/nvc0_pc.h +++ b/src/gallium/drivers/nvc0/nvc0_pc.h @@ -473,6 +473,7 @@ struct nv_pc { }; void nvc0_insn_append(struct nv_basic_block *, struct nv_instruction *); +void nvc0_insn_insert_before(struct nv_instruction *, struct nv_instruction *); void nvc0_insn_insert_after(struct nv_instruction *, struct nv_instruction *); static INLINE struct nv_instruction * diff --git a/src/gallium/drivers/nvc0/nvc0_pc_optimize.c b/src/gallium/drivers/nvc0/nvc0_pc_optimize.c index e4449c285b5..acc72bff14c 100644 --- a/src/gallium/drivers/nvc0/nvc0_pc_optimize.c +++ b/src/gallium/drivers/nvc0/nvc0_pc_optimize.c @@ -249,6 +249,13 @@ check_swap_src_0_1(struct nv_instruction *nvi) nvi->src[0] = src1; nvi->src[1] = src0; } + } else + if (is_immd32_load(src0->value->insn)) { + if (!is_cspace_load(src1->value->insn) && + !is_immd32_load(src1->value->insn)) { + nvi->src[0] = src1; + nvi->src[1] = src0; + } } if (nvi->src[0] != src0 && nvi->opcode == NV_OP_SET) @@ -1101,6 +1108,40 @@ nv_pass_cse(struct nv_pass *ctx, struct nv_basic_block *b) return 0; } +/* Make sure all sources of an NV_OP_BIND are distinct, they need to occupy + * neighbouring registers. CSE might have messed this up. + */ +static int +nv_pass_fix_bind(struct nv_pass *ctx, struct nv_basic_block *b) +{ + struct nv_value *val; + struct nv_instruction *bnd, *nvi, *next; + int s, t; + + for (bnd = b->entry; bnd; bnd = next) { + next = bnd->next; + if (bnd->opcode != NV_OP_BIND) + continue; + for (s = 0; s < 4 && bnd->src[s]; ++s) { + val = bnd->src[s]->value; + for (t = s + 1; t < 4 && bnd->src[t]; ++t) { + if (bnd->src[t]->value != val) + continue; + nvi = nv_alloc_instruction(ctx->pc, NV_OP_MOV); + nvi->def[0] = new_value_like(ctx->pc, val); + nvi->def[0]->insn = nvi; + nv_reference(ctx->pc, nvi, 0, val); + nvc0_insn_insert_before(bnd, nvi); + + nv_reference(ctx->pc, bnd, t, nvi->def[0]); + } + } + } + DESCEND_ARBITRARY(t, nv_pass_fix_bind); + + return 0; +} + static int nv_pc_pass0(struct nv_pc *pc, struct nv_basic_block *root) { @@ -1177,6 +1218,9 @@ nv_pc_pass0(struct nv_pc *pc, struct nv_basic_block *root) if (ret) return ret; + pc->pass_seq++; + ret = nv_pass_fix_bind(&pass, root); + return ret; } diff --git a/src/gallium/drivers/nvc0/nvc0_program.c b/src/gallium/drivers/nvc0/nvc0_program.c index 3e7fc4d350e..57a0874e679 100644 --- a/src/gallium/drivers/nvc0/nvc0_program.c +++ b/src/gallium/drivers/nvc0/nvc0_program.c @@ -598,6 +598,13 @@ nvc0_prog_scan(struct nvc0_translation_info *ti) case PIPE_SHADER_FRAGMENT: ti->input_file = NV_FILE_MEM_V; ti->output_file = NV_FILE_GPR; + + if (ti->scan.writes_z) + prog->flags[0] = 0x11; /* ? */ + else + if (!ti->global_stores) + prog->fp.early_z = 1; + ret = nvc0_fp_gen_header(prog, ti); break; default: diff --git a/src/gallium/drivers/nvc0/nvc0_program.h b/src/gallium/drivers/nvc0/nvc0_program.h index 1271303144e..2e84caecc9e 100644 --- a/src/gallium/drivers/nvc0/nvc0_program.h +++ b/src/gallium/drivers/nvc0/nvc0_program.h @@ -23,12 +23,15 @@ struct nvc0_program { uint32_t hdr[20]; - uint32_t flags[2]; /* FP_ZORDER */ + uint32_t flags[2]; struct { uint8_t edgeflag; uint8_t num_ucps; } vp; + struct { + uint8_t early_z; + } fp; void *relocs; unsigned num_relocs; @@ -66,6 +69,7 @@ struct nvc0_translation_info { boolean indirect_inputs; boolean indirect_outputs; boolean require_stores; + boolean global_stores; uint32_t *immd32; ubyte *immd32_ty; unsigned immd32_nr; diff --git a/src/gallium/drivers/nvc0/nvc0_resource.h b/src/gallium/drivers/nvc0/nvc0_resource.h index d33e2f0ed0a..17e79642a6d 100644 --- a/src/gallium/drivers/nvc0/nvc0_resource.h +++ b/src/gallium/drivers/nvc0/nvc0_resource.h @@ -18,6 +18,12 @@ struct nvc0_context; #define NVC0_BUFFER_SCORE_MAX 25000 #define NVC0_BUFFER_SCORE_VRAM_THRESHOLD 20000 +/* DIRTY: buffer was (or will be after the next flush) written to by GPU and + * resource->data has not been updated to reflect modified VRAM contents + * + * USER_MEMORY: resource->data is a pointer to client memory and may change + * between GL calls + */ #define NVC0_BUFFER_STATUS_DIRTY (1 << 0) #define NVC0_BUFFER_STATUS_USER_MEMORY (1 << 7) @@ -84,7 +90,8 @@ nvc0_resource_map_offset(struct nvc0_context *nvc0, (res->status & NVC0_BUFFER_STATUS_DIRTY)) nvc0_buffer_download(nvc0, res, 0, res->base.width0); - if (res->domain != NOUVEAU_BO_GART) + if ((res->domain != NOUVEAU_BO_GART) || + (res->status & NVC0_BUFFER_STATUS_USER_MEMORY)) return res->data + offset; if (res->mm) @@ -189,6 +196,6 @@ void nvc0_miptree_surface_del(struct pipe_context *, struct pipe_surface *); boolean -nvc0_migrate_vertices(struct nvc0_resource *buf, unsigned base, unsigned size); +nvc0_user_buffer_upload(struct nvc0_resource *, unsigned base, unsigned size); #endif diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index c191790ab14..54eec660b2a 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -289,11 +289,11 @@ nvc0_magic_3d_init(struct nouveau_channel *chan) OUT_RING (chan, (2 << 16) | 2); BEGIN_RING(chan, RING_3D_(0x0de8), 1); OUT_RING (chan, 1); - BEGIN_RING(chan, RING_3D_(0x165c), 1); - OUT_RING (chan, 0); +#if 0 /* software method */ BEGIN_RING(chan, RING_3D_(0x1528), 1); /* MP poke */ OUT_RING (chan, 0); +#endif BEGIN_RING(chan, RING_3D_(0x12ac), 1); OUT_RING (chan, 0); @@ -323,8 +323,10 @@ nvc0_magic_3d_init(struct nouveau_channel *chan) OUT_RING (chan, 0); BEGIN_RING(chan, RING_3D_(0x0300), 1); OUT_RING (chan, 3); +#if 0 /* software method */ BEGIN_RING(chan, RING_3D_(0x1280), 1); /* PGRAPH poke */ OUT_RING (chan, 0); +#endif BEGIN_RING(chan, RING_3D_(0x02d0), 1); OUT_RING (chan, 0x1f40); BEGIN_RING(chan, RING_3D_(0x00fdc), 1); @@ -441,9 +443,9 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) BEGIN_RING(chan, RING_3D(RT_CONTROL), 1); OUT_RING (chan, 1); - BEGIN_RING(chan, RING_3D(MULTISAMPLE_ZETA_ENABLE), 1); + BEGIN_RING(chan, RING_3D(CSAA_ENABLE), 1); OUT_RING (chan, 0); - BEGIN_RING(chan, RING_3D(MULTISAMPLE_COLOR_ENABLE), 1); + BEGIN_RING(chan, RING_3D(MULTISAMPLE_ENABLE), 1); OUT_RING (chan, 0); BEGIN_RING(chan, RING_3D(MULTISAMPLE_MODE), 1); OUT_RING (chan, NVC0_3D_MULTISAMPLE_MODE_1X); @@ -503,8 +505,8 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) goto fail; BEGIN_RING(chan, RING_3D_(0x17bc), 3); - OUT_RELOCh(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_GART | NOUVEAU_BO_RDWR); - OUT_RELOCl(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_GART | NOUVEAU_BO_RDWR); + OUT_RELOCh(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); + OUT_RELOCl(chan, screen->mp_stack_bo, 0, NOUVEAU_BO_VRAM | NOUVEAU_BO_RDWR); OUT_RING (chan, 1); ret = nouveau_bo_new(dev, NOUVEAU_BO_VRAM, 1 << 17, 1 << 17, &screen->txc); @@ -521,7 +523,7 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) OUT_RELOCl(chan, screen->txc, 65536, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD); OUT_RING (chan, NVC0_TSC_MAX_ENTRIES - 1); - BEGIN_RING(chan, RING_3D(Y_ORIGIN_BOTTOM), 1); + BEGIN_RING(chan, RING_3D(SCREEN_Y_CONTROL), 1); OUT_RING (chan, 0); BEGIN_RING(chan, RING_3D(WINDOW_OFFSET_X), 2); OUT_RING (chan, 0); @@ -587,6 +589,8 @@ nvc0_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev) BEGIN_RING(chan, RING_3D(POINT_COORD_REPLACE), 1); OUT_RING (chan, 0); + BEGIN_RING(chan, RING_3D(POINT_RASTER_RULES), 1); + OUT_RING (chan, NVC0_3D_POINT_RASTER_RULES_OGL); BEGIN_RING(chan, RING_3D(FRAG_COLOR_CLAMP_EN), 1); OUT_RING (chan, 0x11111111); diff --git a/src/gallium/drivers/nvc0/nvc0_shader_state.c b/src/gallium/drivers/nvc0/nvc0_shader_state.c index a6595c56106..981b5488d08 100644 --- a/src/gallium/drivers/nvc0/nvc0_shader_state.c +++ b/src/gallium/drivers/nvc0/nvc0_shader_state.c @@ -100,7 +100,7 @@ nvc0_fragprog_validate(struct nvc0_context *nvc0) return; BEGIN_RING(chan, RING_3D(EARLY_FRAGMENT_TESTS), 1); - OUT_RING (chan, 0); + OUT_RING (chan, fp->fp.early_z); BEGIN_RING(chan, RING_3D(SP_SELECT(5)), 2); OUT_RING (chan, 0x51); OUT_RING (chan, fp->code_base); diff --git a/src/gallium/drivers/nvc0/nvc0_state.c b/src/gallium/drivers/nvc0/nvc0_state.c index 5a9b1c28509..c08f3693f5e 100644 --- a/src/gallium/drivers/nvc0/nvc0_state.c +++ b/src/gallium/drivers/nvc0/nvc0_state.c @@ -207,6 +207,7 @@ nvc0_rasterizer_state_create(struct pipe_context *pipe, SB_DATA (so, fui(cso->point_size)); } SB_IMMED_3D(so, POINT_SPRITE_ENABLE, cso->point_quad_rasterization); + SB_IMMED_3D(so, POINT_SMOOTH_ENABLE, cso->point_smooth); SB_BEGIN_3D(so, POLYGON_MODE_FRONT, 1); SB_DATA (so, nvgl_polygon_mode(cso->fill_front)); diff --git a/src/gallium/drivers/nvc0/nvc0_stateobj.h b/src/gallium/drivers/nvc0/nvc0_stateobj.h index e7cd94800de..ee788c5bb9c 100644 --- a/src/gallium/drivers/nvc0/nvc0_stateobj.h +++ b/src/gallium/drivers/nvc0/nvc0_stateobj.h @@ -48,7 +48,7 @@ nvc0_tic_entry(struct pipe_sampler_view *view) struct nvc0_rasterizer_stateobj { struct pipe_rasterizer_state pipe; int size; - uint32_t state[43]; + uint32_t state[36]; }; struct nvc0_zsa_stateobj { diff --git a/src/gallium/drivers/nvc0/nvc0_vbo.c b/src/gallium/drivers/nvc0/nvc0_vbo.c index fd7a7942cb8..a14e9557382 100644 --- a/src/gallium/drivers/nvc0/nvc0_vbo.c +++ b/src/gallium/drivers/nvc0/nvc0_vbo.c @@ -141,52 +141,107 @@ nvc0_emit_vtxattr(struct nvc0_context *nvc0, struct pipe_vertex_buffer *vb, OUT_RINGf(chan, v[i]); } -void -nvc0_vertex_arrays_validate(struct nvc0_context *nvc0) +static void +nvc0_prevalidate_vbufs(struct nvc0_context *nvc0) { - struct nouveau_channel *chan = nvc0->screen->base.channel; - struct nvc0_vertex_stateobj *vertex = nvc0->vertex; struct pipe_vertex_buffer *vb; - struct nvc0_vertex_element *ve; - unsigned i; - boolean push = FALSE; + struct nvc0_resource *buf; + int i; + uint32_t base, size; - nvc0->vbo_fifo = 0; + nvc0->vbo_fifo = nvc0->vbo_user = 0; for (i = 0; i < nvc0->num_vtxbufs; ++i) { vb = &nvc0->vtxbuf[i]; + if (!vb->stride) + continue; + buf = nvc0_resource(vb->buffer); if (!nvc0_resource_mapped_by_gpu(vb->buffer)) { - if (vb->stride == 0) + if (nvc0->vbo_push_hint) { + nvc0->vbo_fifo = ~0; continue; - push = nvc0->vbo_push_hint; - if (!push) { - unsigned base, size; - base = vb->buffer_offset + nvc0->vbo_min_index * vb->stride; - size = (nvc0->vbo_max_index - nvc0->vbo_min_index + 1) * vb->stride; - nvc0_migrate_vertices(nvc0_resource(vb->buffer), base, size); + } else { + if (buf->status & NVC0_BUFFER_STATUS_USER_MEMORY) { + nvc0->vbo_user |= 1 << i; + assert(vb->stride > vb->buffer_offset); + size = vb->stride * (nvc0->vbo_max_index - + nvc0->vbo_min_index + 1); + base = vb->stride * nvc0->vbo_min_index; + nvc0_user_buffer_upload(buf, base, size); + } else { + nvc0_buffer_migrate(nvc0, buf, NOUVEAU_BO_GART); + } nvc0->vbo_dirty = TRUE; - } else - continue; + } } - nvc0_buffer_adjust_score(nvc0, nvc0_resource(vb->buffer), 1); + nvc0_bufctx_add_resident(nvc0, NVC0_BUFCTX_VERTEX, buf, NOUVEAU_BO_RD); + nvc0_buffer_adjust_score(nvc0, buf, 1); + } +} - nvc0_bufctx_add_resident(nvc0, NVC0_BUFCTX_VERTEX, - nvc0_resource(vb->buffer), NOUVEAU_BO_RD); +static void +nvc0_update_user_vbufs(struct nvc0_context *nvc0) +{ + struct nouveau_channel *chan = nvc0->screen->base.channel; + const uint32_t vertex_count = nvc0->vbo_max_index - nvc0->vbo_min_index + 1; + uint32_t base, offset, size; + int i; + uint32_t written = 0; + + for (i = 0; i < nvc0->vertex->num_elements; ++i) { + struct pipe_vertex_element *ve = &nvc0->vertex->element[i].pipe; + const int b = ve->vertex_buffer_index; + struct pipe_vertex_buffer *vb = &nvc0->vtxbuf[b]; + struct nvc0_resource *buf = nvc0_resource(vb->buffer); + + if (!(nvc0->vbo_user & (1 << b))) + continue; + + if (!vb->stride) { + nvc0_emit_vtxattr(nvc0, vb, ve, i); + continue; + } + size = vb->stride * vertex_count; + base = vb->stride * nvc0->vbo_min_index; + + if (!(written & (1 << b))) { + written |= 1 << b; + nvc0_user_buffer_upload(buf, base, size); + } + offset = vb->buffer_offset + ve->src_offset; + + BEGIN_RING_1I(chan, RING_3D(VERTEX_ARRAY_SELECT), 5); + OUT_RING (chan, i); + OUT_RESRCh(chan, buf, size - 1, NOUVEAU_BO_RD); + OUT_RESRCl(chan, buf, size - 1, NOUVEAU_BO_RD); + OUT_RESRCh(chan, buf, offset, NOUVEAU_BO_RD); + OUT_RESRCl(chan, buf, offset, NOUVEAU_BO_RD); } + nvc0->vbo_dirty = TRUE; +} + +void +nvc0_vertex_arrays_validate(struct nvc0_context *nvc0) +{ + struct nouveau_channel *chan = nvc0->screen->base.channel; + struct nvc0_vertex_stateobj *vertex = nvc0->vertex; + struct pipe_vertex_buffer *vb; + struct nvc0_vertex_element *ve; + unsigned i; + + nvc0_prevalidate_vbufs(nvc0); BEGIN_RING(chan, RING_3D(VERTEX_ATTRIB_FORMAT(0)), vertex->num_elements); for (i = 0; i < vertex->num_elements; ++i) { ve = &vertex->element[i]; vb = &nvc0->vtxbuf[ve->pipe.vertex_buffer_index]; - if (push) - nvc0->vbo_fifo |= 1 << i; - - if (likely(vb->stride) || push) { + if (likely(vb->stride) || nvc0->vbo_fifo) { OUT_RING(chan, ve->state); } else { OUT_RING(chan, ve->state | NVC0_3D_VERTEX_ATTRIB_FORMAT_CONST); + nvc0->vbo_fifo &= ~(1 << i); } } @@ -210,8 +265,8 @@ nvc0_vertex_arrays_validate(struct nvc0_context *nvc0) res = nvc0_resource(vb->buffer); - if (push || unlikely(vb->stride == 0)) { - if (!push) + if (nvc0->vbo_fifo || unlikely(vb->stride == 0)) { + if (!nvc0->vbo_fifo) nvc0_emit_vtxattr(nvc0, vb, &ve->pipe, i); BEGIN_RING(chan, RING_3D(VERTEX_ARRAY_FETCH(i)), 1); OUT_RING (chan, 0); @@ -540,6 +595,9 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) nvc0->vbo_min_index = info->min_index; nvc0->vbo_max_index = info->max_index; + if (nvc0->vbo_user && !(nvc0->dirty & (NVC0_NEW_VERTEX | NVC0_NEW_ARRAYS))) + nvc0_update_user_vbufs(nvc0); + nvc0_state_validate(nvc0); if (nvc0->state.instance_base != info->start_instance) { @@ -554,7 +612,7 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) } if (nvc0->vbo_dirty) { - BEGIN_RING(chan, RING_3D_(0x142c), 1); + BEGIN_RING(chan, RING_3D(VERTEX_ARRAY_FLUSH), 1); OUT_RING (chan, 0); nvc0->vbo_dirty = FALSE; } diff --git a/src/gallium/drivers/r600/eg_asm.c b/src/gallium/drivers/r600/eg_asm.c index 1881e633d54..4f86e3b4c38 100644 --- a/src/gallium/drivers/r600/eg_asm.c +++ b/src/gallium/drivers/r600/eg_asm.c @@ -36,6 +36,8 @@ int eg_bc_cf_build(struct r600_bc *bc, struct r600_bc_cf *cf) switch (cf->inst) { case (EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU << 3): + case (EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER << 3): + case (EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER << 3): case (EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE << 3): assert(!end_of_program); bc->bytecode[id++] = S_SQ_CF_ALU_WORD0_ADDR(cf->addr >> 1) | diff --git a/src/gallium/drivers/r600/eg_state_inlines.h b/src/gallium/drivers/r600/eg_state_inlines.h index ecea1db4f15..5a39d7cdeec 100644 --- a/src/gallium/drivers/r600/eg_state_inlines.h +++ b/src/gallium/drivers/r600/eg_state_inlines.h @@ -506,139 +506,4 @@ static INLINE boolean r600_is_vertex_format_supported(enum pipe_format format) return r600_translate_colorformat(format) != ~0; } -static INLINE uint32_t r600_translate_vertex_data_type(enum pipe_format format) -{ - uint32_t result = 0; - const struct util_format_description *desc; - unsigned i; - - desc = util_format_description(format); - if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) { - goto out_unknown; - } - - /* Find the first non-VOID channel. */ - for (i = 0; i < 4; i++) { - if (desc->channel[i].type != UTIL_FORMAT_TYPE_VOID) { - break; - } - } - - switch (desc->channel[i].type) { - /* Half-floats, floats, doubles */ - case UTIL_FORMAT_TYPE_FLOAT: - switch (desc->channel[i].size) { - case 16: - switch (desc->nr_channels) { - case 1: - result = FMT_16_FLOAT; - break; - case 2: - result = FMT_16_16_FLOAT; - break; - case 3: - result = FMT_16_16_16_FLOAT; - break; - case 4: - result = FMT_16_16_16_16_FLOAT; - break; - } - break; - case 32: - switch (desc->nr_channels) { - case 1: - result = FMT_32_FLOAT; - break; - case 2: - result = FMT_32_32_FLOAT; - break; - case 3: - result = FMT_32_32_32_FLOAT; - break; - case 4: - result = FMT_32_32_32_32_FLOAT; - break; - } - break; - default: - goto out_unknown; - } - break; - /* Unsigned ints */ - case UTIL_FORMAT_TYPE_UNSIGNED: - /* Signed ints */ - case UTIL_FORMAT_TYPE_SIGNED: - switch (desc->channel[i].size) { - case 8: - switch (desc->nr_channels) { - case 1: - result = FMT_8; - break; - case 2: - result = FMT_8_8; - break; - case 3: -// result = V_038008_FMT_8_8_8; /* fails piglit draw-vertices test */ -// break; - case 4: - result = FMT_8_8_8_8; - break; - } - break; - case 16: - switch (desc->nr_channels) { - case 1: - result = FMT_16; - break; - case 2: - result = FMT_16_16; - break; - case 3: -// result = V_038008_FMT_16_16_16; /* fails piglit draw-vertices test */ -// break; - case 4: - result = FMT_16_16_16_16; - break; - } - break; - case 32: - switch (desc->nr_channels) { - case 1: - result = FMT_32; - break; - case 2: - result = FMT_32_32; - break; - case 3: - result = FMT_32_32_32; - break; - case 4: - result = FMT_32_32_32_32; - break; - } - break; - default: - goto out_unknown; - } - break; - default: - goto out_unknown; - } - - result = S_030008_DATA_FORMAT(result); - - if (desc->channel[i].type == UTIL_FORMAT_TYPE_SIGNED) { - result |= S_030008_FORMAT_COMP_ALL(1); - } - if (desc->channel[i].normalized) { - result |= S_030008_NUM_FORMAT_ALL(0); - } else { - result |= S_030008_NUM_FORMAT_ALL(2); - } - return result; -out_unknown: - R600_ERR("unsupported vertex format %s\n", util_format_name(format)); - return ~0; -} - #endif diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 94eef77945b..306ca03234f 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -409,7 +409,7 @@ static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_conte (tmp->offset[1] + r600_bo_offset(bo[1])) >> 8, 0xFFFFFFFF, bo[1]); r600_pipe_state_add_reg(rstate, R_030010_RESOURCE0_WORD4, word4 | S_030010_NUM_FORMAT_ALL(V_030010_SQ_NUM_FORMAT_NORM) | - S_030010_SRF_MODE_ALL(V_030010_SFR_MODE_NO_ZERO) | + S_030010_SRF_MODE_ALL(V_030010_SRF_MODE_NO_ZERO) | S_030010_BASE_LEVEL(state->u.tex.first_level), 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_030014_RESOURCE0_WORD5, S_030014_LAST_LEVEL(state->u.tex.last_level) | diff --git a/src/gallium/drivers/r600/evergreend.h b/src/gallium/drivers/r600/evergreend.h index e67254b2560..e09e02ca000 100644 --- a/src/gallium/drivers/r600/evergreend.h +++ b/src/gallium/drivers/r600/evergreend.h @@ -988,8 +988,8 @@ #define S_030010_SRF_MODE_ALL(x) (((x) & 0x1) << 10) #define G_030010_SRF_MODE_ALL(x) (((x) >> 10) & 0x1) #define C_030010_SRF_MODE_ALL 0xFFFFFBFF -#define V_030010_SFR_MODE_ZERO_CLAMP_MINUS_ONE 0x00000000 -#define V_030010_SFR_MODE_NO_ZERO 0x00000001 +#define V_030010_SRF_MODE_ZERO_CLAMP_MINUS_ONE 0x00000000 +#define V_030010_SRF_MODE_NO_ZERO 0x00000001 #define S_030010_FORCE_DEGAMMA(x) (((x) & 0x1) << 11) #define G_030010_FORCE_DEGAMMA(x) (((x) >> 11) & 0x1) #define C_030010_FORCE_DEGAMMA 0xFFFFF7FF diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 31f386964a1..61de24b31ae 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -38,52 +38,109 @@ #define PREV_ALU(alu) LIST_ENTRY(struct r600_bc_alu, alu->list.prev, list) #define NEXT_ALU(alu) LIST_ENTRY(struct r600_bc_alu, alu->list.next, list) -static inline unsigned int r600_bc_get_num_operands(struct r600_bc_alu *alu) +static inline unsigned int r600_bc_get_num_operands(struct r600_bc *bc, struct r600_bc_alu *alu) { if(alu->is_op3) return 3; - switch (alu->inst) { - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP: - return 0; - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE: - return 2; - - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_TRUNC: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN: - case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS: - return 1; - default: R600_ERR( - "Need instruction operand number for 0x%x.\n", alu->inst); - }; + switch (bc->chiprev) { + case CHIPREV_R600: + case CHIPREV_R700: + switch (alu->inst) { + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP: + return 0; + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE: + return 2; + + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_TRUNC: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN: + case V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS: + return 1; + default: R600_ERR( + "Need instruction operand number for 0x%x.\n", alu->inst); + } + break; + case CHIPREV_EVERGREEN: + switch (alu->inst) { + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP: + return 0; + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INTERP_XY: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INTERP_ZW: + return 2; + + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_TRUNC: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN: + case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS: + return 1; + default: R600_ERR( + "Need instruction operand number for 0x%x.\n", alu->inst); + } + break; + } return 3; } @@ -241,125 +298,226 @@ int r600_bc_add_output(struct r600_bc *bc, const struct r600_bc_output *output) } /* alu predicate instructions */ -static int is_alu_pred_inst(struct r600_bc_alu *alu) -{ - return !alu->is_op3 && ( - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_UINT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_UINT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_INV || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_POP || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_CLR || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_RESTORE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLT_PUSH_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLE_PUSH_INT); +static int is_alu_pred_inst(struct r600_bc *bc, struct r600_bc_alu *alu) +{ + switch (bc->chiprev) { + case CHIPREV_R600: + case CHIPREV_R700: + return !alu->is_op3 && ( + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_UINT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_UINT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_INV || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_POP || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_CLR || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_RESTORE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLT_PUSH_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLE_PUSH_INT); + case CHIPREV_EVERGREEN: + default: + return !alu->is_op3 && ( + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_UINT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_UINT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_INV || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_POP || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_CLR || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SET_RESTORE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETE_PUSH_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGT_PUSH_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETGE_PUSH_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETNE_PUSH_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLT_PUSH_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLE_PUSH_INT); + } } /* alu kill instructions */ -static int is_alu_kill_inst(struct r600_bc_alu *alu) +static int is_alu_kill_inst(struct r600_bc *bc, struct r600_bc_alu *alu) { - return !alu->is_op3 && ( - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_UINT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_UINT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE_INT); + switch (bc->chiprev) { + case CHIPREV_R600: + case CHIPREV_R700: + return !alu->is_op3 && ( + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_UINT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_UINT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE_INT); + case CHIPREV_EVERGREEN: + default: + return !alu->is_op3 && ( + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_UINT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_UINT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGE_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLNE_INT); + } } /* alu instructions that can ony exits once per group */ -static int is_alu_once_inst(struct r600_bc_alu *alu) +static int is_alu_once_inst(struct r600_bc *bc, struct r600_bc_alu *alu) { - return is_alu_kill_inst(alu) || - is_alu_pred_inst(alu); + return is_alu_kill_inst(bc, alu) || + is_alu_pred_inst(bc, alu); } -static int is_alu_reduction_inst(struct r600_bc_alu *alu) +static int is_alu_reduction_inst(struct r600_bc *bc, struct r600_bc_alu *alu) { - return !alu->is_op3 && ( - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4 || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4); + switch (bc->chiprev) { + case CHIPREV_R600: + case CHIPREV_R700: + return !alu->is_op3 && ( + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4 || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4); + case CHIPREV_EVERGREEN: + default: + return !alu->is_op3 && ( + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4 || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4); + } } -static int is_alu_mova_inst(struct r600_bc_alu *alu) +static int is_alu_mova_inst(struct r600_bc *bc, struct r600_bc_alu *alu) { - return !alu->is_op3 && ( - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT); + switch (bc->chiprev) { + case CHIPREV_R600: + case CHIPREV_R700: + return !alu->is_op3 && ( + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT); + case CHIPREV_EVERGREEN: + default: + return !alu->is_op3 && ( + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT); + } } /* alu instructions that can only execute on the vector unit */ -static int is_alu_vec_unit_inst(struct r600_bc_alu *alu) +static int is_alu_vec_unit_inst(struct r600_bc *bc, struct r600_bc_alu *alu) { - return is_alu_reduction_inst(alu) || - is_alu_mova_inst(alu); + return is_alu_reduction_inst(bc, alu) || + is_alu_mova_inst(bc, alu); } /* alu instructions that can only execute on the trans unit */ -static int is_alu_trans_unit_inst(struct r600_bc_alu *alu) -{ - if(!alu->is_op3) - return alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ASHR_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHL_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_UINT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_FF || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_FF || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN || - alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_IEEE; - else - return alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT || - alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_D2 || - alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M2 || - alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M4; +static int is_alu_trans_unit_inst(struct r600_bc *bc, struct r600_bc_alu *alu) +{ + switch (bc->chiprev) { + case CHIPREV_R600: + case CHIPREV_R700: + if (!alu->is_op3) + return alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ASHR_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHL_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_UINT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_FF || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_FF || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN || + alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_IEEE; + else + return alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT || + alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_D2 || + alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M2 || + alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M4; + case CHIPREV_EVERGREEN: + default: + if (!alu->is_op3) + return alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ASHR_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHL_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LSHR_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_UINT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_FF || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_FF || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN || + alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_IEEE; + else + return alu->inst == EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT; + } } /* alu instructions that can execute on any unit */ -static int is_alu_any_unit_inst(struct r600_bc_alu *alu) +static int is_alu_any_unit_inst(struct r600_bc *bc, struct r600_bc_alu *alu) { - return !is_alu_vec_unit_inst(alu) && - !is_alu_trans_unit_inst(alu); + return !is_alu_vec_unit_inst(bc, alu) && + !is_alu_trans_unit_inst(bc, alu); } -static int assign_alu_units(struct r600_bc_alu *alu_first, struct r600_bc_alu *assignment[5]) +static int assign_alu_units(struct r600_bc *bc, struct r600_bc_alu *alu_first, + struct r600_bc_alu *assignment[5]) { struct r600_bc_alu *alu; unsigned i, chan, trans; @@ -367,11 +525,11 @@ static int assign_alu_units(struct r600_bc_alu *alu_first, struct r600_bc_alu *a for (i = 0; i < 5; i++) assignment[i] = NULL; - for (alu = alu_first; alu; alu = NEXT_ALU(alu)) { + for (alu = alu_first; alu; alu = LIST_ENTRY(struct r600_bc_alu, alu->list.next, list)) { chan = alu->dst.chan; - if (is_alu_trans_unit_inst(alu)) + if (is_alu_trans_unit_inst(bc, alu)) trans = 1; - else if (is_alu_vec_unit_inst(alu)) + else if (is_alu_vec_unit_inst(bc, alu)) trans = 0; else if (assignment[chan]) trans = 1; // assume ALU_INST_PREFER_VECTOR @@ -471,34 +629,29 @@ static int is_gpr(unsigned sel) return (sel >= 0 && sel <= 127); } -static int is_cfile(unsigned sel) -{ - return (sel > 255 && sel < 512); -} - /* CB constants start at 512, and get translated to a kcache index when ALU * clauses are constructed. Note that we handle kcache constants the same way * as (the now gone) cfile constants, is that really required? */ -static int is_cb_const(int sel) +static int is_cfile(unsigned sel) { - if (sel > 511 && sel < 4607) - return 1; - return 0; + return (sel > 255 && sel < 512) || + (sel > 511 && sel < 4607) || // Kcache before translate + (sel > 127 && sel < 192); // Kcache after translate } static int is_const(int sel) { return is_cfile(sel) || - is_cb_const(sel) || (sel >= V_SQ_ALU_SRC_0 && sel <= V_SQ_ALU_SRC_LITERAL); } -static int check_vector(struct r600_bc_alu *alu, struct alu_bank_swizzle *bs, int bank_swizzle) +static int check_vector(struct r600_bc *bc, struct r600_bc_alu *alu, + struct alu_bank_swizzle *bs, int bank_swizzle) { int r, src, num_src, sel, elem, cycle; - num_src = r600_bc_get_num_operands(alu); + num_src = r600_bc_get_num_operands(bc, alu); for (src = 0; src < num_src; src++) { sel = alu->src[src].sel; elem = alu->src[src].chan; @@ -523,11 +676,12 @@ static int check_vector(struct r600_bc_alu *alu, struct alu_bank_swizzle *bs, in return 0; } -static int check_scalar(struct r600_bc_alu *alu, struct alu_bank_swizzle *bs, int bank_swizzle) +static int check_scalar(struct r600_bc *bc, struct r600_bc_alu *alu, + struct alu_bank_swizzle *bs, int bank_swizzle) { int r, src, num_src, const_count, sel, elem, cycle; - num_src = r600_bc_get_num_operands(alu); + num_src = r600_bc_get_num_operands(bc, alu); for (const_count = 0, src = 0; src < num_src; ++src) { sel = alu->src[src].sel; elem = alu->src[src].chan; @@ -564,7 +718,8 @@ static int check_scalar(struct r600_bc_alu *alu, struct alu_bank_swizzle *bs, in return 0; } -static int check_and_set_bank_swizzle(struct r600_bc_alu *slots[5]) +static int check_and_set_bank_swizzle(struct r600_bc *bc, + struct r600_bc_alu *slots[5]) { struct alu_bank_swizzle bs; int bank_swizzle[5]; @@ -588,13 +743,13 @@ static int check_and_set_bank_swizzle(struct r600_bc_alu *slots[5]) init_bank_swizzle(&bs); for (i = 0; i < 4; i++) { if (slots[i]) { - r = check_vector(slots[i], &bs, bank_swizzle[i]); + r = check_vector(bc, slots[i], &bs, bank_swizzle[i]); if (r) break; } } if (!r && slots[4]) { - r = check_scalar(slots[4], &bs, bank_swizzle[4]); + r = check_scalar(bc, slots[4], &bs, bank_swizzle[4]); } if (!r) { for (i = 0; i < 5; i++) { @@ -617,20 +772,21 @@ static int check_and_set_bank_swizzle(struct r600_bc_alu *slots[5]) return -1; } -static int replace_gpr_with_pv_ps(struct r600_bc_alu *slots[5], struct r600_bc_alu *alu_prev) +static int replace_gpr_with_pv_ps(struct r600_bc *bc, + struct r600_bc_alu *slots[5], struct r600_bc_alu *alu_prev) { struct r600_bc_alu *prev[5]; int gpr[5], chan[5]; int i, j, r, src, num_src; - r = assign_alu_units(alu_prev, prev); + r = assign_alu_units(bc, alu_prev, prev); if (r) return r; for (i = 0; i < 5; ++i) { if(prev[i] && prev[i]->dst.write && !prev[i]->dst.rel) { gpr[i] = prev[i]->dst.sel; - if (is_alu_reduction_inst(prev[i])) + if (is_alu_reduction_inst(bc, prev[i])) chan[i] = 0; else chan[i] = prev[i]->dst.chan; @@ -643,7 +799,7 @@ static int replace_gpr_with_pv_ps(struct r600_bc_alu *slots[5], struct r600_bc_a if(!alu) continue; - num_src = r600_bc_get_num_operands(alu); + num_src = r600_bc_get_num_operands(bc, alu); for (src = 0; src < num_src; ++src) { if (!is_gpr(alu->src[src].sel) || alu->src[src].rel) continue; @@ -702,9 +858,10 @@ void r600_bc_special_constants(u32 value, unsigned *sel, unsigned *neg) } /* compute how many literal are needed */ -static int r600_bc_alu_nliterals(struct r600_bc_alu *alu, uint32_t literal[4], unsigned *nliteral) +static int r600_bc_alu_nliterals(struct r600_bc *bc, struct r600_bc_alu *alu, + uint32_t literal[4], unsigned *nliteral) { - unsigned num_src = r600_bc_get_num_operands(alu); + unsigned num_src = r600_bc_get_num_operands(bc, alu); unsigned i, j; for (i = 0; i < num_src; ++i) { @@ -727,9 +884,11 @@ static int r600_bc_alu_nliterals(struct r600_bc_alu *alu, uint32_t literal[4], u return 0; } -static void r600_bc_alu_adjust_literals(struct r600_bc_alu *alu, uint32_t literal[4], unsigned nliteral) +static void r600_bc_alu_adjust_literals(struct r600_bc *bc, + struct r600_bc_alu *alu, + uint32_t literal[4], unsigned nliteral) { - unsigned num_src = r600_bc_get_num_operands(alu); + unsigned num_src = r600_bc_get_num_operands(bc, alu); unsigned i, j; for (i = 0; i < num_src; ++i) { @@ -745,40 +904,47 @@ static void r600_bc_alu_adjust_literals(struct r600_bc_alu *alu, uint32_t litera } } -static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], struct r600_bc_alu *alu_prev) +static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], + struct r600_bc_alu *alu_prev) { struct r600_bc_alu *prev[5]; struct r600_bc_alu *result[5] = { NULL }; - uint32_t literal[4]; - unsigned nliteral = 0; + uint32_t literal[4], prev_literal[4]; + unsigned nliteral = 0, prev_nliteral = 0; int i, j, r, src, num_src; int num_once_inst = 0; - r = assign_alu_units(alu_prev, prev); + r = assign_alu_units(bc, alu_prev, prev); if (r) return r; for (i = 0; i < 5; ++i) { + struct r600_bc_alu *alu; + /* check number of literals */ - if (prev[i] && r600_bc_alu_nliterals(prev[i], literal, &nliteral)) - return 0; - if (slots[i] && r600_bc_alu_nliterals(slots[i], literal, &nliteral)) + if (prev[i]) { + if (r600_bc_alu_nliterals(bc, prev[i], literal, &nliteral)) + return 0; + if (r600_bc_alu_nliterals(bc, prev[i], prev_literal, &prev_nliteral)) + return 0; + } + if (slots[i] && r600_bc_alu_nliterals(bc, slots[i], literal, &nliteral)) return 0; // let's check used slots if (prev[i] && !slots[i]) { result[i] = prev[i]; - num_once_inst += is_alu_once_inst(prev[i]); + num_once_inst += is_alu_once_inst(bc, prev[i]); continue; } else if (prev[i] && slots[i]) { if (result[4] == NULL && prev[4] == NULL && slots[4] == NULL) { // trans unit is still free try to use it - if (is_alu_any_unit_inst(slots[i])) { + if (is_alu_any_unit_inst(bc, slots[i])) { result[i] = prev[i]; result[4] = slots[i]; - } else if (is_alu_any_unit_inst(prev[i])) { + } else if (is_alu_any_unit_inst(bc, prev[i])) { result[i] = slots[i]; result[4] = prev[i]; } else @@ -791,10 +957,10 @@ static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], s result[i] = slots[i]; // let's check source gprs - struct r600_bc_alu *alu = slots[i]; - num_once_inst += is_alu_once_inst(alu); + alu = slots[i]; + num_once_inst += is_alu_once_inst(bc, alu); - num_src = r600_bc_get_num_operands(alu); + num_src = r600_bc_get_num_operands(bc, alu); for (src = 0; src < num_src; ++src) { // constants doesn't matter if (!is_gpr(alu->src[src].sel)) @@ -818,12 +984,15 @@ static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], s return 0; /* check if the result can still be swizzlet */ - r = check_and_set_bank_swizzle(result); + r = check_and_set_bank_swizzle(bc, result); if (r) return 0; /* looks like everything worked out right, apply the changes */ + /* undo adding previus literals */ + bc->cf_last->ndw -= align(prev_nliteral, 2); + /* sort instructions */ for (i = 0; i < 5; ++i) { slots[i] = result[i]; @@ -1009,11 +1178,6 @@ int r600_bc_add_alu_type(struct r600_bc *bc, const struct r600_bc_alu *alu, int if (!bc->cf_last->curr_bs_head) { bc->cf_last->curr_bs_head = nalu; } - /* at most 128 slots, one add alu can add 5 slots + 4 constants(2 slots) - * worst case */ - if (nalu->last && (bc->cf_last->ndw >> 1) >= 120) { - bc->force_add_cf = 1; - } /* replace special constants */ for (i = 0; i < 3; i++) { if (nalu->src[i].sel == V_SQ_ALU_SRC_LITERAL) @@ -1036,8 +1200,10 @@ int r600_bc_add_alu_type(struct r600_bc *bc, const struct r600_bc_alu *alu, int /* process cur ALU instructions for bank swizzle */ if (nalu->last) { + uint32_t literal[4]; + unsigned nliteral; struct r600_bc_alu *slots[5]; - r = assign_alu_units(bc->cf_last->curr_bs_head, slots); + r = assign_alu_units(bc, bc->cf_last->curr_bs_head, slots); if (r) return r; @@ -1048,15 +1214,30 @@ int r600_bc_add_alu_type(struct r600_bc *bc, const struct r600_bc_alu *alu, int } if (bc->cf_last->prev_bs_head) { - r = replace_gpr_with_pv_ps(slots, bc->cf_last->prev_bs_head); + r = replace_gpr_with_pv_ps(bc, slots, bc->cf_last->prev_bs_head); if (r) return r; } - r = check_and_set_bank_swizzle(slots); + r = check_and_set_bank_swizzle(bc, slots); if (r) return r; + for (i = 0, nliteral = 0; i < 5; i++) { + if (slots[i]) { + r = r600_bc_alu_nliterals(bc, slots[i], literal, &nliteral); + if (r) + return r; + } + } + bc->cf_last->ndw += align(nliteral, 2); + + /* at most 128 slots, one add alu can add 5 slots + 4 constants(2 slots) + * worst case */ + if ((bc->cf_last->ndw >> 1) >= 120) { + bc->force_add_cf = 1; + } + bc->cf_last->prev2_bs_head = bc->cf_last->prev_bs_head; bc->cf_last->prev_bs_head = bc->cf_last->curr_bs_head; bc->cf_last->curr_bs_head = NULL; @@ -1129,6 +1310,12 @@ int r600_bc_add_tex(struct r600_bc *bc, const struct r600_bc_tex *tex) } bc->cf_last->inst = V_SQ_CF_WORD1_SQ_CF_INST_TEX; } + if (ntex->src_gpr >= bc->ngpr) { + bc->ngpr = ntex->src_gpr + 1; + } + if (ntex->dst_gpr >= bc->ngpr) { + bc->ngpr = ntex->dst_gpr + 1; + } LIST_ADDTAIL(&ntex->list, &bc->cf_last->tex); /* each texture fetch use 4 dwords */ bc->cf_last->ndw += 4; @@ -1457,11 +1644,12 @@ static void notice_gpr_rel_write(struct gpr_usage usage[128], int32_t id, unsign notice_gpr_write(&usage[i], id, chan, 1, -1); } -static void notice_alu_src_gprs(struct r600_bc_alu *alu, struct gpr_usage usage[128], int32_t id) +static void notice_alu_src_gprs(struct r600_bc *bc, struct r600_bc_alu *alu, + struct gpr_usage usage[128], int32_t id) { unsigned src, num_src; - num_src = r600_bc_get_num_operands(alu); + num_src = r600_bc_get_num_operands(bc, alu); for (src = 0; src < num_src; ++src) { // constants doesn't matter if (!is_gpr(alu->src[src].sel)) @@ -1716,14 +1904,14 @@ static void find_export_replacement(struct gpr_usage usage[128], find_src_range(&usage[next->output.gpr], next_id)->replacement = range->replacement + 1; } -static void replace_alu_gprs(struct r600_bc_alu *alu, struct gpr_usage usage[128], +static void replace_alu_gprs(struct r600_bc *bc, struct r600_bc_alu *alu, struct gpr_usage usage[128], int32_t id, int32_t last_barrier, unsigned *barrier) { struct gpr_usage *cur_usage; struct gpr_usage_range *range; unsigned src, num_src; - num_src = r600_bc_get_num_operands(alu); + num_src = r600_bc_get_num_operands(bc, alu); for (src = 0; src < num_src; ++src) { // constants doesn't matter if (!is_gpr(alu->src[src].sel)) @@ -1851,7 +2039,7 @@ static void replace_export_gprs(struct r600_bc_cf *cf, struct gpr_usage usage[12 cf->output.gpr = range->replacement; } -static void optimize_alu_inst(struct r600_bc_cf *cf, struct r600_bc_alu *alu) +static void optimize_alu_inst(struct r600_bc *bc, struct r600_bc_cf *cf, struct r600_bc_alu *alu) { struct r600_bc_alu *alu_next; unsigned chan; @@ -1877,9 +2065,9 @@ static void optimize_alu_inst(struct r600_bc_cf *cf, struct r600_bc_alu *alu) for (alu_next = alu; !alu_next->last; alu_next = NEXT_ALU(alu_next)); if (alu_next->list.next != &cf->alu) { - chan = is_alu_reduction_inst(alu) ? 0 : alu->dst.chan; + chan = is_alu_reduction_inst(bc, alu) ? 0 : alu->dst.chan; for (alu_next = NEXT_ALU(alu_next); alu_next; alu_next = NEXT_ALU(alu_next)) { - num_src = r600_bc_get_num_operands(alu_next); + num_src = r600_bc_get_num_operands(bc, alu_next); for (src = 0; src < num_src; ++src) { if (alu_next->src[src].sel == V_SQ_ALU_SRC_PV && alu_next->src[src].chan == chan) @@ -1963,13 +2151,13 @@ static void r600_bc_optimize(struct r600_bc *bc) LIST_FOR_EACH_ENTRY(alu, &cf->alu, list) { if (!first) first = alu; - notice_alu_src_gprs(alu, usage, id); + notice_alu_src_gprs(bc, alu, usage, id); if (alu->last) { notice_alu_dst_gprs(first, usage, id, predicate || stack > 0); first = NULL; ++id; } - if (is_alu_pred_inst(alu)) + if (is_alu_pred_inst(bc, alu)) predicate++; } if (cf->inst == V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE << 3) @@ -2058,15 +2246,15 @@ static void r600_bc_optimize(struct r600_bc *bc) first = NULL; cf->barrier = 0; LIST_FOR_EACH_ENTRY_SAFE(alu, next_alu, &cf->alu, list) { - replace_alu_gprs(alu, usage, id, barrier[stack], &cf->barrier); + replace_alu_gprs(bc, alu, usage, id, barrier[stack], &cf->barrier); if (alu->last) ++id; - if (is_alu_pred_inst(alu)) + if (is_alu_pred_inst(bc, alu)) predicate++; if (cf->inst == V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU << 3) - optimize_alu_inst(cf, alu); + optimize_alu_inst(bc, cf, alu); } if (cf->inst == V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE << 3) stack += predicate; @@ -2159,16 +2347,6 @@ int r600_bc_build(struct r600_bc *bc) LIST_FOR_EACH_ENTRY(cf, &bc->cf, list) { switch (get_cf_class(cf)) { case CF_CLASS_ALU: - nliteral = 0; - LIST_FOR_EACH_ENTRY(alu, &cf->alu, list) { - r = r600_bc_alu_nliterals(alu, literal, &nliteral); - if (r) - return r; - if (alu->last) { - cf->ndw += align(nliteral, 2); - nliteral = 0; - } - } break; case CF_CLASS_TEXTURE: case CF_CLASS_VERTEX: @@ -2214,11 +2392,12 @@ int r600_bc_build(struct r600_bc *bc) switch (get_cf_class(cf)) { case CF_CLASS_ALU: nliteral = 0; + memset(literal, 0, sizeof(literal)); LIST_FOR_EACH_ENTRY(alu, &cf->alu, list) { - r = r600_bc_alu_nliterals(alu, literal, &nliteral); + r = r600_bc_alu_nliterals(bc, alu, literal, &nliteral); if (r) return r; - r600_bc_alu_adjust_literals(alu, literal, nliteral); + r600_bc_alu_adjust_literals(bc, alu, literal, nliteral); switch(bc->chiprev) { case CHIPREV_R600: r = r600_bc_alu_build(bc, alu, addr); @@ -2239,6 +2418,7 @@ int r600_bc_build(struct r600_bc *bc) bc->bytecode[addr++] = literal[i]; } nliteral = 0; + memset(literal, 0, sizeof(literal)); } } break; @@ -2307,10 +2487,10 @@ void r600_bc_clear(struct r600_bc *bc) void r600_bc_dump(struct r600_bc *bc) { - struct r600_bc_cf *cf; - struct r600_bc_alu *alu; - struct r600_bc_vtx *vtx; - struct r600_bc_tex *tex; + struct r600_bc_cf *cf = NULL; + struct r600_bc_alu *alu = NULL; + struct r600_bc_vtx *vtx = NULL; + struct r600_bc_tex *tex = NULL; unsigned i, id; uint32_t literal[4]; @@ -2329,7 +2509,7 @@ void r600_bc_dump(struct r600_bc *bc) chip = '6'; break; } - fprintf(stderr, "bytecode %d dw -- %d gprs -----------------------\n", bc->ndw, bc->ngpr); + fprintf(stderr, "bytecode %d dw -- %d gprs ---------------------\n", bc->ndw, bc->ngpr); fprintf(stderr, " %c\n", chip); LIST_FOR_EACH_ENTRY(cf, &bc->cf, list) { @@ -2393,7 +2573,7 @@ void r600_bc_dump(struct r600_bc *bc) id = cf->addr; nliteral = 0; LIST_FOR_EACH_ENTRY(alu, &cf->alu, list) { - r600_bc_alu_nliterals(alu, literal, &nliteral); + r600_bc_alu_nliterals(bc, alu, literal, &nliteral); fprintf(stderr, "%04d %08X ", id, bc->bytecode[id]); fprintf(stderr, "SRC0(SEL:%d ", alu->src[0].sel); @@ -2431,7 +2611,7 @@ void r600_bc_dump(struct r600_bc *bc) if (alu->last) { for (i = 0; i < nliteral; i++, id++) { float *f = (float*)(bc->bytecode + id); - fprintf(stderr, "%04d %08X %f\n", id, bc->bytecode[id], *f); + fprintf(stderr, "%04d %08X\t%f\n", id, bc->bytecode[id], *f); } id += nliteral & 1; nliteral = 0; diff --git a/src/gallium/drivers/r600/r600_opcodes.h b/src/gallium/drivers/r600/r600_opcodes.h index 2ee0c83e5d3..a85d0bbf1e1 100644 --- a/src/gallium/drivers/r600/r600_opcodes.h +++ b/src/gallium/drivers/r600/r600_opcodes.h @@ -330,10 +330,14 @@ #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_CLAMPED_64 0x00000098 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SQRT_64 0x00000099 /* TODO Fill in more ALU */ +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_INT_TO_FLT 0x0000009B +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_UINT_TO_FLT 0x0000009C +/* TODO Fill in more ALU */ #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLT_TO_INT_FLOOR 0x000000B1 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4 0x000000BE #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE 0x000000BF #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE 0x000000C0 +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4 0x000000C1 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT 0x000000CC #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INTERP_XY 0x000000D6 diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 95367d7c536..106852c1082 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -228,12 +228,20 @@ int r600_pipe_shader(struct pipe_context *ctx, struct r600_pipe_shader *shader) int r600_shader_from_tgsi(const struct tgsi_token *tokens, struct r600_shader *shader, u32 **literals); int r600_pipe_shader_create(struct pipe_context *ctx, struct r600_pipe_shader *shader, const struct tgsi_token *tokens) { + static int dump_shaders = -1; struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; u32 *literals; int r; -//fprintf(stderr, "--------------------------------------------------------------\n"); -//tgsi_dump(tokens, 0); + /* Would like some magic "get_bool_option_once" routine. + */ + if (dump_shaders == -1) + dump_shaders = debug_get_bool_option("R600_DUMP_SHADERS", FALSE); + + if (dump_shaders) { + fprintf(stderr, "--------------------------------------------------------------\n"); + tgsi_dump(tokens, 0); + } shader->shader.family = r600_get_family(rctx->radeon); r = r600_shader_from_tgsi(tokens, &shader->shader, &literals); if (r) { @@ -246,8 +254,10 @@ int r600_pipe_shader_create(struct pipe_context *ctx, struct r600_pipe_shader *s R600_ERR("building bytecode failed !\n"); return r; } -//r600_bc_dump(&shader->shader.bc); -//fprintf(stderr, "______________________________________________________________\n"); + if (dump_shaders) { + r600_bc_dump(&shader->shader.bc); + fprintf(stderr, "______________________________________________________________\n"); + } return r600_pipe_shader(ctx, shader); } @@ -974,7 +984,7 @@ static int tgsi_setup_trig(struct r600_shader_ctx *ctx, alu.src[1].chan = 0; alu.src[1].value = (uint32_t *)&half_inv_pi; alu.src[2].sel = V_SQ_ALU_SRC_0_5; - alu.src[2].chan = 1; + alu.src[2].chan = 0; alu.last = 1; r = r600_bc_add_alu(ctx->bc, &alu); if (r) @@ -1008,7 +1018,7 @@ static int tgsi_setup_trig(struct r600_shader_ctx *ctx, alu.src[1].sel = V_SQ_ALU_SRC_LITERAL; alu.src[1].chan = 0; alu.src[2].sel = V_SQ_ALU_SRC_LITERAL; - alu.src[2].chan = 1; + alu.src[2].chan = 0; if (ctx->bc->chiprev == CHIPREV_R600) { alu.src[1].value = (uint32_t *)&double_pi; @@ -1772,6 +1782,7 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) alu.src[2].sel = V_SQ_ALU_SRC_LITERAL; alu.src[2].chan = 0; + alu.src[2].value = (u32*)&one_point_five; alu.dst.sel = ctx->temp_reg; alu.dst.chan = 0; diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index 9572ff9a1a2..de2668cee16 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -678,7 +678,7 @@ static struct pipe_sampler_view *r600_create_sampler_view(struct pipe_context *c (tmp->offset[1] + r600_bo_offset(bo[1])) >> 8, 0xFFFFFFFF, bo[1]); r600_pipe_state_add_reg(rstate, R_038010_RESOURCE0_WORD4, word4 | S_038010_NUM_FORMAT_ALL(V_038010_SQ_NUM_FORMAT_NORM) | - S_038010_SRF_MODE_ALL(V_038010_SFR_MODE_NO_ZERO) | + S_038010_SRF_MODE_ALL(V_038010_SRF_MODE_NO_ZERO) | S_038010_REQUEST_SIZE(1) | S_038010_BASE_LEVEL(state->u.tex.first_level), 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_038014_RESOURCE0_WORD5, diff --git a/src/gallium/drivers/r600/r600_state_inlines.h b/src/gallium/drivers/r600/r600_state_inlines.h index 39ca0a74f3f..a0ec493fc85 100644 --- a/src/gallium/drivers/r600/r600_state_inlines.h +++ b/src/gallium/drivers/r600/r600_state_inlines.h @@ -502,139 +502,4 @@ static INLINE boolean r600_is_vertex_format_supported(enum pipe_format format) return r600_translate_colorformat(format) != ~0; } -static INLINE uint32_t r600_translate_vertex_data_type(enum pipe_format format) -{ - uint32_t result = 0; - const struct util_format_description *desc; - unsigned i; - - desc = util_format_description(format); - if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) { - goto out_unknown; - } - - /* Find the first non-VOID channel. */ - for (i = 0; i < 4; i++) { - if (desc->channel[i].type != UTIL_FORMAT_TYPE_VOID) { - break; - } - } - - switch (desc->channel[i].type) { - /* Half-floats, floats, doubles */ - case UTIL_FORMAT_TYPE_FLOAT: - switch (desc->channel[i].size) { - case 16: - switch (desc->nr_channels) { - case 1: - result = FMT_16_FLOAT; - break; - case 2: - result = FMT_16_16_FLOAT; - break; - case 3: - result = FMT_16_16_16_FLOAT; - break; - case 4: - result = FMT_16_16_16_16_FLOAT; - break; - } - break; - case 32: - switch (desc->nr_channels) { - case 1: - result = FMT_32_FLOAT; - break; - case 2: - result = FMT_32_32_FLOAT; - break; - case 3: - result = FMT_32_32_32_FLOAT; - break; - case 4: - result = FMT_32_32_32_32_FLOAT; - break; - } - break; - default: - goto out_unknown; - } - break; - /* Unsigned ints */ - case UTIL_FORMAT_TYPE_UNSIGNED: - /* Signed ints */ - case UTIL_FORMAT_TYPE_SIGNED: - switch (desc->channel[i].size) { - case 8: - switch (desc->nr_channels) { - case 1: - result = FMT_8; - break; - case 2: - result = FMT_8_8; - break; - case 3: - // result = FMT_8_8_8; /* fails piglit draw-vertices test */ - // break; - case 4: - result = FMT_8_8_8_8; - break; - } - break; - case 16: - switch (desc->nr_channels) { - case 1: - result = FMT_16; - break; - case 2: - result = FMT_16_16; - break; - case 3: - // result = FMT_16_16_16; /* fails piglit draw-vertices test */ - // break; - case 4: - result = FMT_16_16_16_16; - break; - } - break; - case 32: - switch (desc->nr_channels) { - case 1: - result = FMT_32; - break; - case 2: - result = FMT_32_32; - break; - case 3: - result = FMT_32_32_32; - break; - case 4: - result = FMT_32_32_32_32; - break; - } - break; - default: - goto out_unknown; - } - break; - default: - goto out_unknown; - } - - result = S_038008_DATA_FORMAT(result); - - if (desc->channel[i].type == UTIL_FORMAT_TYPE_SIGNED) { - result |= S_038008_FORMAT_COMP_ALL(1); - } - if (desc->channel[i].normalized) { - result |= S_038008_NUM_FORMAT_ALL(0); - } else { - result |= S_038008_NUM_FORMAT_ALL(2); - } - return result; -out_unknown: - R600_ERR("unsupported vertex format %s\n", util_format_name(format)); - return ~0; -} - #endif diff --git a/src/gallium/drivers/r600/r600d.h b/src/gallium/drivers/r600/r600d.h index ae19bfb8285..8c391936db0 100644 --- a/src/gallium/drivers/r600/r600d.h +++ b/src/gallium/drivers/r600/r600d.h @@ -960,8 +960,8 @@ #define S_038010_SRF_MODE_ALL(x) (((x) & 0x1) << 10) #define G_038010_SRF_MODE_ALL(x) (((x) >> 10) & 0x1) #define C_038010_SRF_MODE_ALL 0xFFFFFBFF -#define V_038010_SFR_MODE_ZERO_CLAMP_MINUS_ONE 0x00000000 -#define V_038010_SFR_MODE_NO_ZERO 0x00000001 +#define V_038010_SRF_MODE_ZERO_CLAMP_MINUS_ONE 0x00000000 +#define V_038010_SRF_MODE_NO_ZERO 0x00000001 #define S_038010_FORCE_DEGAMMA(x) (((x) & 0x1) << 11) #define G_038010_FORCE_DEGAMMA(x) (((x) >> 11) & 0x1) #define C_038010_FORCE_DEGAMMA 0xFFFFF7FF diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index cd3b6240fe9..c433405cb66 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -124,6 +124,8 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 0; case PIPE_CAP_SHADER_STENCIL_EXPORT: return 1; + case PIPE_CAP_INSTANCED_DRAWING: + return 1; default: return 0; } diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index f60b131f941..a7f8503251b 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -462,6 +462,7 @@ enum pipe_cap { PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER, PIPE_CAP_DEPTH_CLAMP, PIPE_CAP_SHADER_STENCIL_EXPORT, + PIPE_CAP_INSTANCED_DRAWING, }; /* Shader caps not specific to any single stage */ diff --git a/src/gallium/state_trackers/egl/SConscript b/src/gallium/state_trackers/egl/SConscript index 50c76819954..9ade76ecbb2 100644 --- a/src/gallium/state_trackers/egl/SConscript +++ b/src/gallium/state_trackers/egl/SConscript @@ -10,11 +10,8 @@ env.Append(CPPPATH = [ '#/src/gallium/winsys/sw', '.', ]) -env.Append(CPPDEFINES = [ - 'HAVE_GDI_BACKEND', -]) -common_sources = [ +sources = [ 'common/egl_g3d.c', 'common/egl_g3d_api.c', 'common/egl_g3d_image.c', @@ -23,12 +20,31 @@ common_sources = [ 'common/native_helper.c', ] -gdi_sources = common_sources + [ - 'gdi/native_gdi.c', -] +if env['platform'] == 'windows': + env.Append(CPPDEFINES = ['HAVE_GDI_BACKEND']) + sources.append('gdi/native_gdi.c') +else: + if env['x11']: + env.Append(CPPDEFINES = ['HAVE_X11_BACKEND']) + env.Prepend(CPPPATH = [ + '#/src/glx', + '#/src/mapi', + ]) + sources.append([ + 'x11/native_x11.c', + 'x11/native_dri2.c', + 'x11/native_ximage.c', + 'x11/x11_screen.c', + 'x11/glxinit.c']) + if env['dri']: + env.Append(CPPDEFINES = ['GLX_DIRECT_RENDERING']) + sources.append(['#/src/glx/dri2.c']) + if env['drm']: + env.Append(CPPDEFINES = ['HAVE_DRM_BACKEND']) + sources.append(['drm/native_drm.c', 'drm/modeset.c']) -st_egl_gdi = env.ConvenienceLibrary( - target = 'st_egl_gdi', - source = gdi_sources, +st_egl = env.ConvenienceLibrary( + target = 'st_egl', + source = sources, ) -Export('st_egl_gdi') +Export('st_egl') diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c index f2b137a674a..9024f945b8c 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c @@ -38,6 +38,46 @@ #include "egl_g3d_loader.h" #include "native.h" +static void +egl_g3d_invalid_surface(struct native_display *ndpy, + struct native_surface *nsurf, + unsigned int seq_num) +{ + /* XXX not thread safe? */ + struct egl_g3d_surface *gsurf = egl_g3d_surface(nsurf->user_data); + struct egl_g3d_context *gctx; + + /* + * Some functions such as egl_g3d_copy_buffers create a temporary native + * surface. There is no gsurf associated with it. + */ + gctx = (gsurf) ? egl_g3d_context(gsurf->base.CurrentContext) : NULL; + if (gctx) + gctx->stctxi->notify_invalid_framebuffer(gctx->stctxi, gsurf->stfbi); +} + +static struct pipe_screen * +egl_g3d_new_drm_screen(struct native_display *ndpy, const char *name, int fd) +{ + _EGLDisplay *dpy = (_EGLDisplay *) ndpy->user_data; + struct egl_g3d_display *gdpy = egl_g3d_display(dpy); + return gdpy->loader->create_drm_screen(name, fd); +} + +static struct pipe_screen * +egl_g3d_new_sw_screen(struct native_display *ndpy, struct sw_winsys *ws) +{ + _EGLDisplay *dpy = (_EGLDisplay *) ndpy->user_data; + struct egl_g3d_display *gdpy = egl_g3d_display(dpy); + return gdpy->loader->create_sw_screen(ws); +} + +static struct native_event_handler egl_g3d_native_event_handler = { + egl_g3d_invalid_surface, + egl_g3d_new_drm_screen, + egl_g3d_new_sw_screen +}; + /** * Get the native platform. */ @@ -79,7 +119,9 @@ egl_g3d_get_platform(_EGLDriver *drv, _EGLPlatformType plat) break; } - if (!nplat) + if (nplat) + nplat->set_event_handler(&egl_g3d_native_event_handler); + else _eglLog(_EGL_WARNING, "unsupported platform %s", plat_name); gdrv->platforms[plat] = nplat; @@ -280,7 +322,7 @@ egl_g3d_init_config(_EGLDriver *drv, _EGLDisplay *dpy, ST_ATTACHMENT_BACK_LEFT : ST_ATTACHMENT_FRONT_LEFT; valid = init_config_attributes(&gconf->base, - nconf, dpy->ClientAPIsMask, depth_stencil_format, + nconf, dpy->ClientAPIs, depth_stencil_format, preserve_buffer, max_swap_interval); if (!valid) { _eglLog(_EGL_DEBUG, "skip invalid config 0x%x", nconf->native_visual_id); @@ -384,46 +426,6 @@ egl_g3d_add_configs(_EGLDriver *drv, _EGLDisplay *dpy, EGLint id) } static void -egl_g3d_invalid_surface(struct native_display *ndpy, - struct native_surface *nsurf, - unsigned int seq_num) -{ - /* XXX not thread safe? */ - struct egl_g3d_surface *gsurf = egl_g3d_surface(nsurf->user_data); - struct egl_g3d_context *gctx; - - /* - * Some functions such as egl_g3d_copy_buffers create a temporary native - * surface. There is no gsurf associated with it. - */ - gctx = (gsurf) ? egl_g3d_context(gsurf->base.CurrentContext) : NULL; - if (gctx) - gctx->stctxi->notify_invalid_framebuffer(gctx->stctxi, gsurf->stfbi); -} - -static struct pipe_screen * -egl_g3d_new_drm_screen(struct native_display *ndpy, const char *name, int fd) -{ - _EGLDisplay *dpy = (_EGLDisplay *) ndpy->user_data; - struct egl_g3d_display *gdpy = egl_g3d_display(dpy); - return gdpy->loader->create_drm_screen(name, fd); -} - -static struct pipe_screen * -egl_g3d_new_sw_screen(struct native_display *ndpy, struct sw_winsys *ws) -{ - _EGLDisplay *dpy = (_EGLDisplay *) ndpy->user_data; - struct egl_g3d_display *gdpy = egl_g3d_display(dpy); - return gdpy->loader->create_sw_screen(ws); -} - -static struct native_event_handler egl_g3d_native_event_handler = { - egl_g3d_invalid_surface, - egl_g3d_new_drm_screen, - egl_g3d_new_sw_screen -}; - -static void egl_g3d_free_config(void *conf) { struct egl_g3d_config *gconf = egl_g3d_config((_EGLConfig *) conf); @@ -474,8 +476,7 @@ egl_g3d_terminate(_EGLDriver *drv, _EGLDisplay *dpy) } static EGLBoolean -egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy, - EGLint *major, EGLint *minor) +egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy) { struct egl_g3d_driver *gdrv = egl_g3d_driver(drv); struct egl_g3d_display *gdpy; @@ -485,6 +486,9 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy, if (!nplat) return EGL_FALSE; + if (dpy->Options.TestOnly) + return EGL_TRUE; + gdpy = CALLOC_STRUCT(egl_g3d_display); if (!gdpy) { _eglError(EGL_BAD_ALLOC, "eglInitialize"); @@ -495,20 +499,20 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy, _eglLog(_EGL_INFO, "use %s for display %p", nplat->name, dpy->PlatformDisplay); gdpy->native = nplat->create_display(dpy->PlatformDisplay, - &egl_g3d_native_event_handler, (void *) dpy); + dpy->Options.UseFallback, (void *) dpy); if (!gdpy->native) { _eglError(EGL_NOT_INITIALIZED, "eglInitialize(no usable display)"); goto fail; } if (gdpy->loader->profile_masks[ST_API_OPENGL] & ST_PROFILE_DEFAULT_MASK) - dpy->ClientAPIsMask |= EGL_OPENGL_BIT; + dpy->ClientAPIs |= EGL_OPENGL_BIT; if (gdpy->loader->profile_masks[ST_API_OPENGL] & ST_PROFILE_OPENGL_ES1_MASK) - dpy->ClientAPIsMask |= EGL_OPENGL_ES_BIT; + dpy->ClientAPIs |= EGL_OPENGL_ES_BIT; if (gdpy->loader->profile_masks[ST_API_OPENGL] & ST_PROFILE_OPENGL_ES2_MASK) - dpy->ClientAPIsMask |= EGL_OPENGL_ES2_BIT; + dpy->ClientAPIs |= EGL_OPENGL_ES2_BIT; if (gdpy->loader->profile_masks[ST_API_OPENVG] & ST_PROFILE_DEFAULT_MASK) - dpy->ClientAPIsMask |= EGL_OPENVG_BIT; + dpy->ClientAPIs |= EGL_OPENVG_BIT; gdpy->smapi = egl_g3d_create_st_manager(dpy); if (!gdpy->smapi) { @@ -547,8 +551,8 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy, goto fail; } - *major = 1; - *minor = 4; + dpy->VersionMajor = 1; + dpy->VersionMinor = 4; return EGL_TRUE; @@ -573,12 +577,6 @@ egl_g3d_get_proc_address(_EGLDriver *drv, const char *procname) stapi->get_proc_address(stapi, procname) : NULL); } -static EGLint -egl_g3d_probe(_EGLDriver *drv, _EGLDisplay *dpy) -{ - return (egl_g3d_get_platform(drv, dpy->Platform)) ? 90 : 0; -} - _EGLDriver * egl_g3d_create_driver(const struct egl_g3d_loader *loader) { @@ -595,8 +593,6 @@ egl_g3d_create_driver(const struct egl_g3d_loader *loader) gdrv->base.API.Terminate = egl_g3d_terminate; gdrv->base.API.GetProcAddress = egl_g3d_get_proc_address; - gdrv->base.Probe = egl_g3d_probe; - /* to be filled by the caller */ gdrv->base.Name = NULL; gdrv->base.Unload = NULL; diff --git a/src/gallium/state_trackers/egl/common/native.h b/src/gallium/state_trackers/egl/common/native.h index 654f445fca6..6461b5edbdf 100644 --- a/src/gallium/state_trackers/egl/common/native.h +++ b/src/gallium/state_trackers/egl/common/native.h @@ -226,8 +226,9 @@ native_attachment_mask_test(uint mask, enum native_attachment att) struct native_platform { const char *name; + void (*set_event_handler)(struct native_event_handler *handler); struct native_display *(*create_display)(void *dpy, - struct native_event_handler *handler, + boolean use_sw, void *user_data); }; diff --git a/src/gallium/state_trackers/egl/drm/native_drm.c b/src/gallium/state_trackers/egl/drm/native_drm.c index 2441b43fd8e..14c134ea1ad 100644 --- a/src/gallium/state_trackers/egl/drm/native_drm.c +++ b/src/gallium/state_trackers/egl/drm/native_drm.c @@ -237,9 +237,16 @@ drm_create_display(int fd, struct native_event_handler *event_handler, return &drmdpy->base; } +static struct native_event_handler *drm_event_handler; + +static void +native_set_event_handler(struct native_event_handler *event_handler) +{ + drm_event_handler = event_handler; +} + static struct native_display * -native_create_display(void *dpy, struct native_event_handler *event_handler, - void *user_data) +native_create_display(void *dpy, boolean use_sw, void *user_data) { int fd; @@ -252,11 +259,12 @@ native_create_display(void *dpy, struct native_event_handler *event_handler, if (fd < 0) return NULL; - return drm_create_display(fd, event_handler, user_data); + return drm_create_display(fd, drm_event_handler, user_data); } static const struct native_platform drm_platform = { "DRM", /* name */ + native_set_event_handler, native_create_display }; diff --git a/src/gallium/state_trackers/egl/fbdev/native_fbdev.c b/src/gallium/state_trackers/egl/fbdev/native_fbdev.c index 1b5ea8bf9d5..a1e91ba701c 100644 --- a/src/gallium/state_trackers/egl/fbdev/native_fbdev.c +++ b/src/gallium/state_trackers/egl/fbdev/native_fbdev.c @@ -459,9 +459,16 @@ fbdev_display_create(int fd, struct native_event_handler *event_handler, return &fbdpy->base; } +static struct native_event_handler *fbdev_event_handler; + +static void +native_set_event_handler(struct native_event_handler *event_handler) +{ + fbdev_event_handler = event_handler; +} + static struct native_display * -native_create_display(void *dpy, struct native_event_handler *event_handler, - void *user_data) +native_create_display(void *dpy, boolean use_sw, void *user_data) { struct native_display *ndpy; int fd; @@ -476,7 +483,7 @@ native_create_display(void *dpy, struct native_event_handler *event_handler, if (fd < 0) return NULL; - ndpy = fbdev_display_create(fd, event_handler, user_data); + ndpy = fbdev_display_create(fd, fbdev_event_handler, user_data); if (!ndpy) close(fd); @@ -485,6 +492,7 @@ native_create_display(void *dpy, struct native_event_handler *event_handler, static const struct native_platform fbdev_platform = { "FBDEV", /* name */ + native_set_event_handler, native_create_display }; diff --git a/src/gallium/state_trackers/egl/gdi/native_gdi.c b/src/gallium/state_trackers/egl/gdi/native_gdi.c index 2d0450604c6..3cc4aefa937 100644 --- a/src/gallium/state_trackers/egl/gdi/native_gdi.c +++ b/src/gallium/state_trackers/egl/gdi/native_gdi.c @@ -406,15 +406,23 @@ gdi_create_display(HDC hDC, struct native_event_handler *event_handler, return &gdpy->base; } +static struct native_event_handler *gdi_event_handler; + +static void +native_set_event_handler(struct native_event_handler *event_handler) +{ + gdi_event_handler = event_handler; +} + static struct native_display * -native_create_display(void *dpy, struct native_event_handler *event_handler, - void *user_data) +native_create_display(void *dpy, boolean use_sw, void *user_data) { - return gdi_create_display((HDC) dpy, event_handler, user_data); + return gdi_create_display((HDC) dpy, gdi_event_handler, user_data); } static const struct native_platform gdi_platform = { "GDI", /* name */ + native_set_event_handler, native_create_display }; diff --git a/src/gallium/state_trackers/egl/x11/native_x11.c b/src/gallium/state_trackers/egl/x11/native_x11.c index 37c8b01541f..a0bcad4c734 100644 --- a/src/gallium/state_trackers/egl/x11/native_x11.c +++ b/src/gallium/state_trackers/egl/x11/native_x11.c @@ -30,25 +30,30 @@ #include "native_x11.h" +static struct native_event_handler *x11_event_handler; + +static void +native_set_event_handler(struct native_event_handler *event_handler) +{ + x11_event_handler = event_handler; +} + static struct native_display * -native_create_display(void *dpy, struct native_event_handler *event_handler, - void *user_data) +native_create_display(void *dpy, boolean use_sw, void *user_data) { struct native_display *ndpy = NULL; boolean force_sw; force_sw = debug_get_bool_option("EGL_SOFTWARE", FALSE); - if (!force_sw) { - ndpy = x11_create_dri2_display((Display *) dpy, - event_handler, user_data); - } - - if (!ndpy) { - EGLint level = (force_sw) ? _EGL_INFO : _EGL_WARNING; - _eglLog(level, "use software fallback"); + if (force_sw || use_sw) { + _eglLog(_EGL_INFO, "use software fallback"); ndpy = x11_create_ximage_display((Display *) dpy, - event_handler, user_data); + x11_event_handler, user_data); + } + else { + ndpy = x11_create_dri2_display((Display *) dpy, + x11_event_handler, user_data); } return ndpy; @@ -56,6 +61,7 @@ native_create_display(void *dpy, struct native_event_handler *event_handler, static const struct native_platform x11_platform = { "X11", /* name */ + native_set_event_handler, native_create_display }; diff --git a/src/gallium/targets/egl-gdi/SConscript b/src/gallium/targets/egl-gdi/SConscript deleted file mode 100644 index d52eeb70fd5..00000000000 --- a/src/gallium/targets/egl-gdi/SConscript +++ /dev/null @@ -1,55 +0,0 @@ -####################################################################### -# SConscript for egl-gdi target - -Import('*') - -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-static/SConscript b/src/gallium/targets/egl-static/SConscript new file mode 100644 index 00000000000..381ef4e862d --- /dev/null +++ b/src/gallium/targets/egl-static/SConscript @@ -0,0 +1,127 @@ +####################################################################### +# SConscript for egl-static target + +Import('*') + +env = env.Clone() + +env.Append(CPPPATH = [ + '#/include', + '#/src/egl/main', + '#/src/gallium/auxiliary', + '#/src/gallium/drivers', + '#/src/gallium/include', + '#/src/gallium/winsys', + '#/src/gallium/state_trackers/egl', + '#/src/gallium/state_trackers/vega', + '#/src/mesa', +]) + +env.Append(CPPDEFINES = [ + 'GALLIUM_SOFTPIPE', + 'GALLIUM_RBUG', + 'GALLIUM_TRACE', + 'GALLIUM_GALAHAD', + '_EGL_MAIN=_eglBuiltInDriverGALLIUM', +]) + +env.Prepend(LIBS = [ + softpipe, + rbug, + trace, + galahad, + gallium, + egl, + st_egl, +]) + +if env['llvm']: + env.Append(CPPDEFINES = ['GALLIUM_LLVMPIPE']) + env.Prepend(LIBS = [llvmpipe]) + +sources = [ + 'egl.c', + 'egl_pipe.c', + 'egl_st.c', +] + +if env['platform'] == 'windows': + sources.append('#src/egl/main/egl.def') + + env.Append(LIBS = [ + 'gdi32', + 'user32', + 'kernel32', + 'ws2_32', + ]) + + env.Prepend(LIBS = [ + ws_gdi, + ]) +else: + # OpenGL + env.Append(CPPDEFINES = ['FEATURE_GL=1']) + env.Prepend(LIBS = ['GL', 'talloc', glsl, mesa]) + +# OpenVG +if True: + env.Append(CPPDEFINES = ['FEATURE_VG=1']) + env.Prepend(LIBPATH = [openvg.dir]) + # manually add LIBPREFIX on windows + openvg_name = 'OpenVG' if env['platform'] != 'windows' else 'libOpenVG' + env.Prepend(LIBS = [openvg_name, st_vega]) + +if env['x11']: + env.Prepend(LIBS = [ + ws_xlib, + env['X11_LIBS'], + ]) + +if env['dri']: + env.ParseConfig('pkg-config --cflags --libs xfixes') + +# pipe drivers +if env['drm']: + env.ParseConfig('pkg-config --cflags --libs libdrm') + + if env['drm_intel']: + env.ParseConfig('pkg-config --cflags --libs libdrm_intel') + env.Append(CPPDEFINES = ['_EGL_PIPE_I915', '_EGL_PIPE_I965']) + env.Prepend(LIBS = [ + i915drm, + i915, + i965drm, + i965, + ws_wrapper, + ]) + + if env['drm_radeon']: + env.ParseConfig('pkg-config --cflags --libs libdrm_radeon') + env.Append(CPPDEFINES = ['_EGL_PIPE_R300', '_EGL_PIPE_R600']) + env.Prepend(LIBS = [ + radeonwinsys, + r300, + r600winsys, + r600, + ]) + + env.Append(CPPDEFINES = ['_EGL_PIPE_VMWGFX']) + env.Prepend(LIBS = [ + svgadrm, + svga, + ]) + +# libEGL.dll +env['LIBPREFIX'] = 'lib' +env['SHLIBPREFIX'] = 'lib' + +egl_gallium = env.SharedLibrary( + target ='EGL', + source = sources, +) + +env.Depends(egl_gallium, [openvg]) + +egl_gallium = env.InstallSharedLibrary(egl_gallium, version=(1, 4, 0)) + +env.Alias('egl-gallium', egl_gallium) diff --git a/src/gallium/targets/egl-gdi/egl-static.c b/src/gallium/targets/egl-static/egl.c index da6e5ce3396..e617ff50208 100644 --- a/src/gallium/targets/egl-gdi/egl-static.c +++ b/src/gallium/targets/egl-static/egl.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 7.9 + * Version: 7.10 * - * Copyright (C) 2010 LunarG Inc. + * Copyright (C) 2010-2011 LunarG Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -27,41 +27,29 @@ */ #include "common/egl_g3d_loader.h" -#include "state_tracker/st_gl_api.h" -#include "vg_api.h" -#include "target-helpers/inline_sw_helper.h" -#include "target-helpers/inline_debug_helper.h" #include "egldriver.h" -static struct st_api *stapis[ST_API_COUNT]; +#include "egl_pipe.h" +#include "egl_st.h" + +static struct egl_g3d_loader egl_g3d_loader; + +static struct st_module { + boolean initialized; + struct st_api *stapi; +} st_modules[ST_API_COUNT]; static struct st_api * get_st_api(enum st_api_type api) { - struct st_api *stapi; + struct st_module *stmod = &st_modules[api]; - stapi = stapis[api]; - if (stapi) - return stapi; - - switch (api) { -#if FEATURE_GL || FEATURE_ES1 || FEATURE_ES2 - case ST_API_OPENGL: - stapi = st_gl_api_create(); - break; -#endif -#if FEATURE_VG - case ST_API_OPENVG: - stapi = (struct st_api *) vg_api_get(); - break; -#endif - default: - break; + if (!stmod->initialized) { + stmod->stapi = egl_st_create_api(api); + stmod->initialized = TRUE; } - stapis[api] = stapi; - - return stapi; + return stmod->stapi; } static struct st_api * @@ -73,71 +61,69 @@ guess_gl_api(enum st_profile_type profile) static struct pipe_screen * create_drm_screen(const char *name, int fd) { - return NULL; + return egl_pipe_create_drm_screen(name, fd); } static struct pipe_screen * create_sw_screen(struct sw_winsys *ws) { - struct pipe_screen *screen; - - screen = sw_screen_create(ws); - if (screen) - screen = debug_screen_wrap(screen); - - return screen; + return egl_pipe_create_swrast_screen(ws); } -static void -init_loader(struct egl_g3d_loader *loader) +static const struct egl_g3d_loader * +loader_init(void) { -#if FEATURE_GL - loader->profile_masks[ST_API_OPENGL] |= ST_PROFILE_DEFAULT_MASK; -#endif -#if FEATURE_ES1 - loader->profile_masks[ST_API_OPENGL] |= ST_PROFILE_OPENGL_ES1_MASK; -#endif -#if FEATURE_ES2 - loader->profile_masks[ST_API_OPENGL] |= ST_PROFILE_OPENGL_ES2_MASK; -#endif -#if FEATURE_VG - loader->profile_masks[ST_API_OPENVG] |= ST_PROFILE_DEFAULT_MASK; -#endif - - loader->get_st_api = get_st_api; - loader->guess_gl_api = guess_gl_api; - loader->create_drm_screen = create_drm_screen; - loader->create_sw_screen = create_sw_screen; + int i; + + for (i = 0; i < ST_API_COUNT; i++) + egl_g3d_loader.profile_masks[i] = egl_st_get_profile_mask(i); + + egl_g3d_loader.get_st_api = get_st_api; + egl_g3d_loader.guess_gl_api = guess_gl_api; + egl_g3d_loader.create_drm_screen = create_drm_screen; + egl_g3d_loader.create_sw_screen = create_sw_screen; + + return &egl_g3d_loader; } static void -egl_g3d_unload(_EGLDriver *drv) +loader_fini(void) { int i; - egl_g3d_destroy_driver(drv); - for (i = 0; i < ST_API_COUNT; i++) { - if (stapis[i]) { - stapis[i]->destroy(stapis[i]); - stapis[i] = NULL; + struct st_module *stmod = &st_modules[i]; + + if (stmod->stapi) { + stmod->stapi->destroy(stmod->stapi); + stmod->stapi = NULL; } + stmod->initialized = FALSE; } } -static struct egl_g3d_loader loader; +static void +egl_g3d_unload(_EGLDriver *drv) +{ + egl_g3d_destroy_driver(drv); + loader_fini(); +} _EGLDriver * -_eglMain(const char *args) +_EGL_MAIN(const char *args) { + const struct egl_g3d_loader *loader; _EGLDriver *drv; - init_loader(&loader); - drv = egl_g3d_create_driver(&loader); - if (drv) { - drv->Name = "Gallium"; - drv->Unload = egl_g3d_unload; + loader = loader_init(); + drv = egl_g3d_create_driver(loader); + if (!drv) { + loader_fini(); + return NULL; } + drv->Name = "Gallium"; + drv->Unload = egl_g3d_unload; + return drv; } diff --git a/src/gallium/targets/egl-static/egl_pipe.c b/src/gallium/targets/egl-static/egl_pipe.c new file mode 100644 index 00000000000..a33d419e0aa --- /dev/null +++ b/src/gallium/targets/egl-static/egl_pipe.c @@ -0,0 +1,215 @@ +/* + * Mesa 3-D graphics library + * Version: 7.10 + * + * Copyright (C) 2011 LunarG Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Chia-I Wu <olv@lunarg.com> + */ +#include "target-helpers/inline_debug_helper.h" +#include "target-helpers/inline_sw_helper.h" +#include "egl_pipe.h" + +/* for i915 */ +#include "i915/drm/i915_drm_public.h" +#include "i915/i915_public.h" +/* for i965 */ +#include "target-helpers/inline_wrapper_sw_helper.h" +#include "i965/drm/i965_drm_public.h" +#include "i965/brw_public.h" +/* for nouveau */ +#include "nouveau/drm/nouveau_drm_public.h" +/* for r300 */ +#include "radeon/drm/radeon_drm_public.h" +#include "r300/r300_public.h" +/* for r600 */ +#include "r600/drm/r600_drm_public.h" +#include "r600/r600_public.h" +/* for vmwgfx */ +#include "svga/drm/svga_drm_public.h" +#include "svga/svga_public.h" + +static struct pipe_screen * +pipe_i915_create_screen(int fd) +{ +#if _EGL_PIPE_I915 + struct i915_winsys *iws; + struct pipe_screen *screen; + + iws = i915_drm_winsys_create(fd); + if (!iws) + return NULL; + + screen = i915_screen_create(iws); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +#else + return NULL; +#endif +} + +static struct pipe_screen * +pipe_i965_create_screen(int fd) +{ +#if _EGL_PIPE_I965 + struct brw_winsys_screen *bws; + struct pipe_screen *screen; + + bws = i965_drm_winsys_screen_create(fd); + if (!bws) + return NULL; + + screen = brw_screen_create(bws); + if (!screen) + return NULL; + + screen = sw_screen_wrap(screen); + + screen = debug_screen_wrap(screen); + + return screen; +#else + return NULL; +#endif +} + +static struct pipe_screen * +pipe_nouveau_create_screen(int fd) +{ +#if _EGL_PIPE_NOUVEAU + struct pipe_screen *screen; + + screen = nouveau_drm_screen_create(fd); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +#else + return NULL; +#endif +} + +static struct pipe_screen * +pipe_r300_create_screen(int fd) +{ +#if _EGL_PIPE_R300 + struct r300_winsys_screen *sws; + struct pipe_screen *screen; + + sws = r300_drm_winsys_screen_create(fd); + if (!sws) + return NULL; + + screen = r300_screen_create(sws); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +#else + return NULL; +#endif +} + +static struct pipe_screen * +pipe_r600_create_screen(int fd) +{ +#if _EGL_PIPE_R600 + struct radeon *rw; + struct pipe_screen *screen; + + rw = r600_drm_winsys_create(fd); + if (!rw) + return NULL; + + screen = r600_screen_create(rw); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +#else + return NULL; +#endif +} + +static struct pipe_screen * +pipe_vmwgfx_create_screen(int fd) +{ +#if _EGL_PIPE_VMWGFX + struct svga_winsys_screen *sws; + struct pipe_screen *screen; + + sws = svga_drm_winsys_screen_create(fd); + if (!sws) + return NULL; + + screen = svga_screen_create(sws); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +#else + return NULL; +#endif +} + +struct pipe_screen * +egl_pipe_create_drm_screen(const char *name, int fd) +{ + if (strcmp(name, "i915") == 0) + return pipe_i915_create_screen(fd); + else if (strcmp(name, "i965") == 0) + return pipe_i965_create_screen(fd); + else if (strcmp(name, "nouveau") == 0) + return pipe_nouveau_create_screen(fd); + else if (strcmp(name, "r300") == 0) + return pipe_r300_create_screen(fd); + else if (strcmp(name, "r600") == 0) + return pipe_r600_create_screen(fd); + else if (strcmp(name, "vmwgfx") == 0) + return pipe_vmwgfx_create_screen(fd); + else + return NULL; +} + +struct pipe_screen * +egl_pipe_create_swrast_screen(struct sw_winsys *ws) +{ + struct pipe_screen *screen; + + screen = sw_screen_create(ws); + if (screen) + screen = debug_screen_wrap(screen); + + return screen; +} diff --git a/src/gallium/targets/egl-static/egl_pipe.h b/src/gallium/targets/egl-static/egl_pipe.h new file mode 100644 index 00000000000..569b2d067c4 --- /dev/null +++ b/src/gallium/targets/egl-static/egl_pipe.h @@ -0,0 +1,40 @@ +/* + * Mesa 3-D graphics library + * Version: 7.10 + * + * Copyright (C) 2011 LunarG Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Chia-I Wu <olv@lunarg.com> + */ +#ifndef _EGL_PIPE_H_ +#define _EGL_PIPE_H_ + +struct pipe_screen; +struct sw_winsys; + +struct pipe_screen * +egl_pipe_create_drm_screen(const char *name, int fd); + +struct pipe_screen * +egl_pipe_create_swrast_screen(struct sw_winsys *ws); + +#endif /* _EGL_PIPE_H_ */ diff --git a/src/gallium/targets/egl-static/egl_st.c b/src/gallium/targets/egl-static/egl_st.c new file mode 100644 index 00000000000..3db52621def --- /dev/null +++ b/src/gallium/targets/egl-static/egl_st.c @@ -0,0 +1,105 @@ +/* + * Mesa 3-D graphics library + * Version: 7.10 + * + * Copyright (C) 2011 LunarG Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Chia-I Wu <olv@lunarg.com> + */ +#include "util/u_debug.h" +#include "state_tracker/st_api.h" +#include "egl_st.h" + +/* for st/mesa */ +#include "state_tracker/st_gl_api.h" +/* for st/vega */ +#include "vg_api.h" + +static struct st_api * +st_GL_create_api(void) +{ +#if FEATURE_GL || FEATURE_ES1 || FEATURE_ES2 + return st_gl_api_create(); +#else + return NULL; +#endif +} + +static struct st_api * +st_OpenVG_create_api(void) +{ +#if FEATURE_VG + return (struct st_api *) vg_api_get(); +#else + return NULL; +#endif +} + +struct st_api * +egl_st_create_api(enum st_api_type api) +{ + struct st_api *stapi; + + switch (api) { + case ST_API_OPENGL: + stapi = st_GL_create_api(); + break; + case ST_API_OPENVG: + stapi = st_OpenVG_create_api(); + break; + default: + assert(!"Unknown API Type\n"); + stapi = NULL; + break; + } + + return stapi; +} + +uint +egl_st_get_profile_mask(enum st_api_type api) +{ + uint mask = 0x0; + + switch (api) { + case ST_API_OPENGL: +#if FEATURE_GL + mask |= ST_PROFILE_DEFAULT_MASK; +#endif +#if FEATURE_ES1 + mask |= ST_PROFILE_OPENGL_ES1_MASK; +#endif +#if FEATURE_ES2 + mask |= ST_PROFILE_OPENGL_ES2_MASK; +#endif + break; + case ST_API_OPENVG: +#if FEATURE_VG + mask |= ST_PROFILE_DEFAULT_MASK; +#endif + break; + default: + break; + } + + return mask; +} diff --git a/src/gallium/targets/egl-static/egl_st.h b/src/gallium/targets/egl-static/egl_st.h new file mode 100644 index 00000000000..ba82faf0b0e --- /dev/null +++ b/src/gallium/targets/egl-static/egl_st.h @@ -0,0 +1,40 @@ +/* + * Mesa 3-D graphics library + * Version: 7.10 + * + * Copyright (C) 2011 LunarG Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Chia-I Wu <olv@lunarg.com> + */ +#ifndef _EGL_ST_H_ +#define _EGL_ST_H_ + +#include "pipe/p_compiler.h" +#include "state_tracker/st_api.h" + +struct st_api * +egl_st_create_api(enum st_api_type api); + +uint +egl_st_get_profile_mask(enum st_api_type api); + +#endif /* _EGL_ST_H_ */ diff --git a/src/gallium/targets/egl/Makefile b/src/gallium/targets/egl/Makefile index 3e36000a30e..017c1952141 100644 --- a/src/gallium/targets/egl/Makefile +++ b/src/gallium/targets/egl/Makefile @@ -74,7 +74,8 @@ i965_CPPFLAGS := i965_SYS := -ldrm_intel i965_LIBS := \ $(TOP)/src/gallium/winsys/i965/drm/libi965drm.a \ - $(TOP)/src/gallium/drivers/i965/libi965.a + $(TOP)/src/gallium/drivers/i965/libi965.a \ + $(TOP)/src/gallium/winsys/sw/wrapper/libwsw.a # nouveau pipe driver nouveau_CPPFLAGS := diff --git a/src/gallium/winsys/r600/drm/r600_drm.c b/src/gallium/winsys/r600/drm/r600_drm.c index ee262c3ea52..69b0a1dcd72 100644 --- a/src/gallium/winsys/r600/drm/r600_drm.c +++ b/src/gallium/winsys/r600/drm/r600_drm.c @@ -41,8 +41,6 @@ #define RADEON_INFO_TILING_CONFIG 0x6 #endif -static struct radeon *radeon_new(int fd, unsigned device); - enum radeon_family r600_get_family(struct radeon *r600) { return r600->family; diff --git a/src/getopt/SConscript b/src/getopt/SConscript new file mode 100644 index 00000000000..14cabed4e64 --- /dev/null +++ b/src/getopt/SConscript @@ -0,0 +1,15 @@ +Import('*') + +if not env['msvc']: + Return() + +env = env.Clone() + +env.Prepend(CPPPATH = ['.']) + +getopt = env.ConvenienceLibrary( + target = 'getopt', + source = ['getopt_long.c'], +) + +Export('getopt') diff --git a/src/getopt/getopt.h b/src/getopt/getopt.h new file mode 100644 index 00000000000..117608f485e --- /dev/null +++ b/src/getopt/getopt.h @@ -0,0 +1,82 @@ +/* $OpenBSD: getopt.h,v 1.2 2008/06/26 05:42:04 ray Exp $ */ +/* $NetBSD: getopt.h,v 1.4 2000/07/07 10:43:54 ad Exp $ */ + +/*- + * Copyright (c) 2000 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Dieter Baron and Thomas Klausner. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _GETOPT_H_ +#define _GETOPT_H_ + +/* + * GNU-like getopt_long() and 4.4BSD getsubopt()/optreset extensions + */ +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +#ifdef __cplusplus +extern "C" { +#endif + +struct option { + /* name of long option */ + const char *name; + /* + * one of no_argument, required_argument, and optional_argument: + * whether option takes an argument + */ + int has_arg; + /* if not NULL, set *flag to val when option found */ + int *flag; + /* if flag not NULL, value to set *flag to; else return value */ + int val; +}; + +int getopt_long(int, char * const *, const char *, + const struct option *, int *); +int getopt_long_only(int, char * const *, const char *, + const struct option *, int *); +#ifndef _GETOPT_DEFINED_ +#define _GETOPT_DEFINED_ +int getopt(int, char * const *, const char *); +int getsubopt(char **, char * const *, char **); + +extern char *optarg; /* getopt(3) external variables */ +extern int opterr; +extern int optind; +extern int optopt; +extern int optreset; +extern char *suboptarg; /* getsubopt(3) external variable */ +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* !_GETOPT_H_ */ diff --git a/src/getopt/getopt_long.c b/src/getopt/getopt_long.c new file mode 100644 index 00000000000..81268b83953 --- /dev/null +++ b/src/getopt/getopt_long.c @@ -0,0 +1,511 @@ +/* $OpenBSD: getopt_long.c,v 1.24 2010/07/22 19:31:53 blambert Exp $ */ +/* $NetBSD: getopt_long.c,v 1.15 2002/01/31 22:43:40 tv Exp $ */ + +/* + * Copyright (c) 2002 Todd C. Miller <Todd.Miller@courtesan.com> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Sponsored in part by the Defense Advanced Research Projects + * Agency (DARPA) and Air Force Research Laboratory, Air Force + * Materiel Command, USAF, under agreement number F39502-99-1-0512. + */ +/*- + * Copyright (c) 2000 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Dieter Baron and Thomas Klausner. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <errno.h> +#include <getopt.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +int opterr = 1; /* if error message should be printed */ +int optind = 1; /* index into parent argv vector */ +int optopt = '?'; /* character checked for validity */ +int optreset; /* reset getopt */ +char *optarg; /* argument associated with option */ + +#define PRINT_ERROR ((opterr) && (*options != ':')) + +#define FLAG_PERMUTE 0x01 /* permute non-options to the end of argv */ +#define FLAG_ALLARGS 0x02 /* treat non-options as args to option "-1" */ +#define FLAG_LONGONLY 0x04 /* operate as getopt_long_only */ + +/* return values */ +#define BADCH (int)'?' +#define BADARG ((*options == ':') ? (int)':' : (int)'?') +#define INORDER (int)1 + +#define EMSG "" + +static int getopt_internal(int, char * const *, const char *, + const struct option *, int *, int); +static int parse_long_options(char * const *, const char *, + const struct option *, int *, int); +static int gcd(int, int); +static void permute_args(int, int, int, char * const *); + +static char *place = EMSG; /* option letter processing */ + +/* XXX: set optreset to 1 rather than these two */ +static int nonopt_start = -1; /* first non option argument (for permute) */ +static int nonopt_end = -1; /* first option after non options (for permute) */ + +/* Error messages */ +static const char recargchar[] = "option requires an argument -- %c"; +static const char recargstring[] = "option requires an argument -- %s"; +static const char ambig[] = "ambiguous option -- %.*s"; +static const char noarg[] = "option doesn't take an argument -- %.*s"; +static const char illoptchar[] = "unknown option -- %c"; +static const char illoptstring[] = "unknown option -- %s"; + +/* + * Compute the greatest common divisor of a and b. + */ +static int +gcd(int a, int b) +{ + int c; + + c = a % b; + while (c != 0) { + a = b; + b = c; + c = a % b; + } + + return (b); +} + +/* + * Exchange the block from nonopt_start to nonopt_end with the block + * from nonopt_end to opt_end (keeping the same order of arguments + * in each block). + */ +static void +permute_args(int panonopt_start, int panonopt_end, int opt_end, + char * const *nargv) +{ + int cstart, cyclelen, i, j, ncycle, nnonopts, nopts, pos; + char *swap; + + /* + * compute lengths of blocks and number and size of cycles + */ + nnonopts = panonopt_end - panonopt_start; + nopts = opt_end - panonopt_end; + ncycle = gcd(nnonopts, nopts); + cyclelen = (opt_end - panonopt_start) / ncycle; + + for (i = 0; i < ncycle; i++) { + cstart = panonopt_end+i; + pos = cstart; + for (j = 0; j < cyclelen; j++) { + if (pos >= panonopt_end) + pos -= nnonopts; + else + pos += nopts; + swap = nargv[pos]; + /* LINTED const cast */ + ((char **) nargv)[pos] = nargv[cstart]; + /* LINTED const cast */ + ((char **)nargv)[cstart] = swap; + } + } +} + +/* + * parse_long_options -- + * Parse long options in argc/argv argument vector. + * Returns -1 if short_too is set and the option does not match long_options. + */ +static int +parse_long_options(char * const *nargv, const char *options, + const struct option *long_options, int *idx, int short_too) +{ + char *current_argv, *has_equal; + size_t current_argv_len; + int i, match; + + current_argv = place; + match = -1; + + optind++; + + if ((has_equal = strchr(current_argv, '=')) != NULL) { + /* argument found (--option=arg) */ + current_argv_len = has_equal - current_argv; + has_equal++; + } else + current_argv_len = strlen(current_argv); + + for (i = 0; long_options[i].name; i++) { + /* find matching long option */ + if (strncmp(current_argv, long_options[i].name, + current_argv_len)) + continue; + + if (strlen(long_options[i].name) == current_argv_len) { + /* exact match */ + match = i; + break; + } + /* + * If this is a known short option, don't allow + * a partial match of a single character. + */ + if (short_too && current_argv_len == 1) + continue; + + if (match == -1) /* partial match */ + match = i; + else { + /* ambiguous abbreviation */ + if (PRINT_ERROR) + fprintf(stderr, ambig, (int)current_argv_len, + current_argv); + optopt = 0; + return (BADCH); + } + } + if (match != -1) { /* option found */ + if (long_options[match].has_arg == no_argument + && has_equal) { + if (PRINT_ERROR) + fprintf(stderr, noarg, (int)current_argv_len, + current_argv); + /* + * XXX: GNU sets optopt to val regardless of flag + */ + if (long_options[match].flag == NULL) + optopt = long_options[match].val; + else + optopt = 0; + return (BADARG); + } + if (long_options[match].has_arg == required_argument || + long_options[match].has_arg == optional_argument) { + if (has_equal) + optarg = has_equal; + else if (long_options[match].has_arg == + required_argument) { + /* + * optional argument doesn't use next nargv + */ + optarg = nargv[optind++]; + } + } + if ((long_options[match].has_arg == required_argument) + && (optarg == NULL)) { + /* + * Missing argument; leading ':' indicates no error + * should be generated. + */ + if (PRINT_ERROR) + fprintf(stderr, recargstring, + current_argv); + /* + * XXX: GNU sets optopt to val regardless of flag + */ + if (long_options[match].flag == NULL) + optopt = long_options[match].val; + else + optopt = 0; + --optind; + return (BADARG); + } + } else { /* unknown option */ + if (short_too) { + --optind; + return (-1); + } + if (PRINT_ERROR) + fprintf(stderr, illoptstring, current_argv); + optopt = 0; + return (BADCH); + } + if (idx) + *idx = match; + if (long_options[match].flag) { + *long_options[match].flag = long_options[match].val; + return (0); + } else + return (long_options[match].val); +} + +/* + * getopt_internal -- + * Parse argc/argv argument vector. Called by user level routines. + */ +static int +getopt_internal(int nargc, char * const *nargv, const char *options, + const struct option *long_options, int *idx, int flags) +{ + char *oli; /* option letter list index */ + int optchar, short_too; + static int posixly_correct = -1; + + if (options == NULL) + return (-1); + + /* + * Disable GNU extensions if POSIXLY_CORRECT is set or options + * string begins with a '+'. + */ + if (posixly_correct == -1) + posixly_correct = (getenv("POSIXLY_CORRECT") != NULL); + if (posixly_correct || *options == '+') + flags &= ~FLAG_PERMUTE; + else if (*options == '-') + flags |= FLAG_ALLARGS; + if (*options == '+' || *options == '-') + options++; + + /* + * XXX Some GNU programs (like cvs) set optind to 0 instead of + * XXX using optreset. Work around this braindamage. + */ + if (optind == 0) + optind = optreset = 1; + + optarg = NULL; + if (optreset) + nonopt_start = nonopt_end = -1; +start: + if (optreset || !*place) { /* update scanning pointer */ + optreset = 0; + if (optind >= nargc) { /* end of argument vector */ + place = EMSG; + if (nonopt_end != -1) { + /* do permutation, if we have to */ + permute_args(nonopt_start, nonopt_end, + optind, nargv); + optind -= nonopt_end - nonopt_start; + } + else if (nonopt_start != -1) { + /* + * If we skipped non-options, set optind + * to the first of them. + */ + optind = nonopt_start; + } + nonopt_start = nonopt_end = -1; + return (-1); + } + if (*(place = nargv[optind]) != '-' || + (place[1] == '\0' && strchr(options, '-') == NULL)) { + place = EMSG; /* found non-option */ + if (flags & FLAG_ALLARGS) { + /* + * GNU extension: + * return non-option as argument to option 1 + */ + optarg = nargv[optind++]; + return (INORDER); + } + if (!(flags & FLAG_PERMUTE)) { + /* + * If no permutation wanted, stop parsing + * at first non-option. + */ + return (-1); + } + /* do permutation */ + if (nonopt_start == -1) + nonopt_start = optind; + else if (nonopt_end != -1) { + permute_args(nonopt_start, nonopt_end, + optind, nargv); + nonopt_start = optind - + (nonopt_end - nonopt_start); + nonopt_end = -1; + } + optind++; + /* process next argument */ + goto start; + } + if (nonopt_start != -1 && nonopt_end == -1) + nonopt_end = optind; + + /* + * If we have "-" do nothing, if "--" we are done. + */ + if (place[1] != '\0' && *++place == '-' && place[1] == '\0') { + optind++; + place = EMSG; + /* + * We found an option (--), so if we skipped + * non-options, we have to permute. + */ + if (nonopt_end != -1) { + permute_args(nonopt_start, nonopt_end, + optind, nargv); + optind -= nonopt_end - nonopt_start; + } + nonopt_start = nonopt_end = -1; + return (-1); + } + } + + /* + * Check long options if: + * 1) we were passed some + * 2) the arg is not just "-" + * 3) either the arg starts with -- we are getopt_long_only() + */ + if (long_options != NULL && place != nargv[optind] && + (*place == '-' || (flags & FLAG_LONGONLY))) { + short_too = 0; + if (*place == '-') + place++; /* --foo long option */ + else if (*place != ':' && strchr(options, *place) != NULL) + short_too = 1; /* could be short option too */ + + optchar = parse_long_options(nargv, options, long_options, + idx, short_too); + if (optchar != -1) { + place = EMSG; + return (optchar); + } + } + + if ((optchar = (int)*place++) == (int)':' || + (optchar == (int)'-' && *place != '\0') || + (oli = strchr(options, optchar)) == NULL) { + /* + * If the user specified "-" and '-' isn't listed in + * options, return -1 (non-option) as per POSIX. + * Otherwise, it is an unknown option character (or ':'). + */ + if (optchar == (int)'-' && *place == '\0') + return (-1); + if (!*place) + ++optind; + if (PRINT_ERROR) + fprintf(stderr, illoptchar, optchar); + optopt = optchar; + return (BADCH); + } + if (long_options != NULL && optchar == 'W' && oli[1] == ';') { + /* -W long-option */ + if (*place) /* no space */ + /* NOTHING */; + else if (++optind >= nargc) { /* no arg */ + place = EMSG; + if (PRINT_ERROR) + fprintf(stderr, recargchar, optchar); + optopt = optchar; + return (BADARG); + } else /* white space */ + place = nargv[optind]; + optchar = parse_long_options(nargv, options, long_options, + idx, 0); + place = EMSG; + return (optchar); + } + if (*++oli != ':') { /* doesn't take argument */ + if (!*place) + ++optind; + } else { /* takes (optional) argument */ + optarg = NULL; + if (*place) /* no white space */ + optarg = place; + else if (oli[1] != ':') { /* arg not optional */ + if (++optind >= nargc) { /* no arg */ + place = EMSG; + if (PRINT_ERROR) + fprintf(stderr, recargchar, optchar); + optopt = optchar; + return (BADARG); + } else + optarg = nargv[optind]; + } + place = EMSG; + ++optind; + } + /* dump back option letter */ + return (optchar); +} + +/* + * getopt -- + * Parse argc/argv argument vector. + * + * [eventually this will replace the BSD getopt] + */ +int +getopt(int nargc, char * const *nargv, const char *options) +{ + + /* + * We don't pass FLAG_PERMUTE to getopt_internal() since + * the BSD getopt(3) (unlike GNU) has never done this. + * + * Furthermore, since many privileged programs call getopt() + * before dropping privileges it makes sense to keep things + * as simple (and bug-free) as possible. + */ + return (getopt_internal(nargc, nargv, options, NULL, NULL, 0)); +} + +/* + * getopt_long -- + * Parse argc/argv argument vector. + */ +int +getopt_long(int nargc, char * const *nargv, const char *options, + const struct option *long_options, int *idx) +{ + + return (getopt_internal(nargc, nargv, options, long_options, idx, + FLAG_PERMUTE)); +} + +/* + * getopt_long_only -- + * Parse argc/argv argument vector. + */ +int +getopt_long_only(int nargc, char * const *nargv, const char *options, + const struct option *long_options, int *idx) +{ + + return (getopt_internal(nargc, nargv, options, long_options, idx, + FLAG_PERMUTE|FLAG_LONGONLY)); +} diff --git a/src/glsl/Makefile b/src/glsl/Makefile index 15f70298be3..c9525446633 100644 --- a/src/glsl/Makefile +++ b/src/glsl/Makefile @@ -174,7 +174,7 @@ glcpp/glcpp-parse.c: glcpp/glcpp-parse.y bison -v -o "$@" --defines=glcpp/glcpp-parse.h $< builtin_compiler: $(GLSL2_OBJECTS) $(OBJECTS) builtin_stubs.o - $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(TALLOC_LIBS) $(OBJECTS) $(GLSL2_OBJECTS) builtin_stubs.o -o builtin_compiler + $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(OBJECTS) $(GLSL2_OBJECTS) builtin_stubs.o $(TALLOC_LIBS) -o $@ builtin_function.cpp: builtins/profiles/* builtins/ir/* builtins/tools/generate_builtins.py builtins/tools/texture_builtins.py builtin_compiler @echo Regenerating builtin_function.cpp... diff --git a/src/glsl/SConscript b/src/glsl/SConscript index 1757605f7cb..88a83fdb6fa 100644 --- a/src/glsl/SConscript +++ b/src/glsl/SConscript @@ -9,6 +9,7 @@ env = env.Clone() env.Prepend(CPPPATH = [ '#src/mapi', '#src/mesa', + '#src/glsl', ]) if env['platform'] == 'windows': @@ -78,30 +79,54 @@ sources = [ 'opt_tree_grafting.cpp', 's_expression.cpp', 'strtod.c', -] +] -env.Prepend(LIBS = ['talloc']) -env.Append(CPPPATH = ['#/src/glsl']) -builtin_compiler = env.Program( - target = 'builtin_compiler', - source = sources + ['main.cpp', 'builtin_stubs.cpp', - '#src/mesa/program/hash_table.c', - '#src/mesa/program/symbol_table.c'], -) +if env['platform'] == common.host_platform: + if env['msvc']: + env.Prepend(CPPPATH = ['#/src/getopt']) + env.PrependUnique(LIBS = [getopt]) -env.CodeGenerate( - target = 'builtin_function.cpp', - script = 'builtins/tools/generate_builtins.py', - source = builtin_compiler, - command = python_cmd + ' $SCRIPT $SOURCE > $TARGET' -) + if env['platform'] == 'windows': + env.Prepend(CPPPATH = ['#src/talloc']) + env.Prepend(LIBS = [talloc]) + else: + env.Prepend(LIBS = ['talloc']) + + builtin_compiler = env.Program( + target = 'builtin_compiler', + source = sources + ['main.cpp', 'builtin_stubs.cpp', + '#src/mesa/program/hash_table.c', + '#src/mesa/program/symbol_table.c'], + ) + + builtin_glsl_function = env.CodeGenerate( + target = 'builtin_function.cpp', + script = 'builtins/tools/generate_builtins.py', + source = builtin_compiler, + command = python_cmd + ' $SCRIPT $SOURCE > $TARGET' + ) + + env.Depends(builtin_glsl_function, ['builtins/tools/generate_builtins.py', 'builtins/tools/texture_builtins.py'] + Glob('builtins/ir/*')) + + if env['msvc']: + # There is no LD_LIBRARY_PATH equivalent on Windows. We need to ensure + # talloc.dll is on the same dir as builtin_function. + talloc_dll_src = talloc.dir.File('talloc.dll') + talloc_dll_dst = builtin_compiler[0].dir.File('talloc.dll') + talloc_dll = env.Command(talloc_dll_dst, talloc_dll_src, Copy(talloc_dll_dst, talloc_dll_src)) + env.Depends('builtin_function.cpp', talloc_dll) + + Export('builtin_glsl_function') + + if common.cross_compiling: + Return() -env.Depends('builtin_function.cpp', ['builtins/tools/generate_builtins.py', 'builtins/tools/texture_builtins.py'] + Glob('builtins/ir/*')) +sources += builtin_glsl_function glsl = env.ConvenienceLibrary( target = 'glsl', - source = sources + [ 'builtin_function.cpp' ], + source = sources, ) Export('glsl') diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index c4bd7e64e27..365a6e2676f 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -1623,6 +1623,7 @@ ast_expression::hir(exec_list *instructions, result = new(ctx) ir_dereference_variable(var); if (var != NULL) { + var->used = true; type = result->type; } else { _mesa_glsl_error(& loc, state, "`%s' undeclared", @@ -1797,8 +1798,16 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual, struct _mesa_glsl_parse_state *state, YYLTYPE *loc) { - if (qual->flags.q.invariant) - var->invariant = 1; + if (qual->flags.q.invariant) { + if (var->used) { + _mesa_glsl_error(loc, state, + "variable `%s' may not be redeclared " + "`invariant' after being used", + var->name); + } else { + var->invariant = 1; + } + } /* FINISHME: Mark 'in' variables at global scope as read-only. */ if (qual->flags.q.constant || qual->flags.q.attribute @@ -1948,6 +1957,52 @@ apply_type_qualifier_to_variable(const struct ast_type_qualifier *qual, } } + /* Does the declaration use the 'layout' keyword? + */ + const bool uses_layout = qual->flags.q.pixel_center_integer + || qual->flags.q.origin_upper_left + || qual->flags.q.explicit_location; + + /* Does the declaration use the deprecated 'attribute' or 'varying' + * keywords? + */ + const bool uses_deprecated_qualifier = qual->flags.q.attribute + || qual->flags.q.varying; + + /* Is the 'layout' keyword used with parameters that allow relaxed checking. + * Many implementations of GL_ARB_fragment_coord_conventions_enable and some + * implementations (only Mesa?) GL_ARB_explicit_attrib_location_enable + * allowed the layout qualifier to be used with 'varying' and 'attribute'. + * These extensions and all following extensions that add the 'layout' + * keyword have been modified to require the use of 'in' or 'out'. + * + * The following extension do not allow the deprecated keywords: + * + * GL_AMD_conservative_depth + * GL_ARB_gpu_shader5 + * GL_ARB_separate_shader_objects + * GL_ARB_tesselation_shader + * GL_ARB_transform_feedback3 + * GL_ARB_uniform_buffer_object + * + * It is unknown whether GL_EXT_shader_image_load_store or GL_NV_gpu_shader5 + * allow layout with the deprecated keywords. + */ + const bool relaxed_layout_qualifier_checking = + state->ARB_fragment_coord_conventions_enable; + + if (uses_layout && uses_deprecated_qualifier) { + if (relaxed_layout_qualifier_checking) { + _mesa_glsl_warning(loc, state, + "`layout' qualifier may not be used with " + "`attribute' or `varying'"); + } else { + _mesa_glsl_error(loc, state, + "`layout' qualifier may not be used with " + "`attribute' or `varying'"); + } + } + if (var->type->is_array() && state->language_version != 110) { var->array_lvalue = true; } @@ -2005,6 +2060,11 @@ ast_declarator_list::hir(exec_list *instructions, _mesa_glsl_error(& loc, state, "`%s' cannot be marked invariant, fragment shader " "inputs only\n", decl->identifier); + } else if (earlier->used) { + _mesa_glsl_error(& loc, state, + "variable `%s' may not be redeclared " + "`invariant' after being used", + earlier->name); } else { earlier->invariant = true; } @@ -2074,9 +2134,12 @@ ast_declarator_list::hir(exec_list *instructions, * * Local variables can only use the qualifier const." * - * This is relaxed in GLSL 1.30. + * This is relaxed in GLSL 1.30. It is also relaxed by any extension + * that adds the 'layout' keyword. */ - if (state->language_version < 130) { + if ((state->language_version < 130) + && !state->ARB_explicit_attrib_location_enable + && !state->ARB_fragment_coord_conventions_enable) { if (this->type->qualifier.flags.q.out) { _mesa_glsl_error(& loc, state, "`out' qualifier in declaration of `%s' " diff --git a/src/glsl/builtins/ir/atan b/src/glsl/builtins/ir/atan index 3f97e0d46f1..cfecc1f1749 100644 --- a/src/glsl/builtins/ir/atan +++ b/src/glsl/builtins/ir/atan @@ -55,19 +55,19 @@ ( (declare () float r) (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))))) + (assign (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)) ) - ((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)))))) + ((assign (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593))))) + ((assign (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593)))))) ) ( )) ) ( (declare () float sgn) - (assign (constant bool (1)) (x) (var_ref sgn) (expression float sign (var_ref y))) - (assign (constant bool (1)) (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965)))) + (assign (x) (var_ref sgn) (expression float sign (var_ref y))) + (assign (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965)))) )) (return (var_ref r) ) @@ -80,10 +80,10 @@ (declare (in) vec2 y) (declare (in) vec2 x)) ((declare () vec2 r) - (assign (constant bool (1)) (x) (var_ref r) + (assign (x) (var_ref r) (call atan ((swiz x (var_ref y)) (swiz x (var_ref x))))) - (assign (constant bool (1)) (y) (var_ref r) + (assign (y) (var_ref r) (call atan ((swiz y (var_ref y)) (swiz y (var_ref x))))) (return (var_ref r)))) @@ -93,13 +93,13 @@ (declare (in) vec3 y) (declare (in) vec3 x)) ((declare () vec3 r) - (assign (constant bool (1)) (x) (var_ref r) + (assign (x) (var_ref r) (call atan ((swiz x (var_ref y)) (swiz x (var_ref x))))) - (assign (constant bool (1)) (y) (var_ref r) + (assign (y) (var_ref r) (call atan ((swiz y (var_ref y)) (swiz y (var_ref x))))) - (assign (constant bool (1)) (z) (var_ref r) + (assign (z) (var_ref r) (call atan ((swiz z (var_ref y)) (swiz z (var_ref x))))) (return (var_ref r)))) @@ -109,16 +109,16 @@ (declare (in) vec4 y) (declare (in) vec4 x)) ((declare () vec4 r) - (assign (constant bool (1)) (x) (var_ref r) + (assign (x) (var_ref r) (call atan ((swiz x (var_ref y)) (swiz x (var_ref x))))) - (assign (constant bool (1)) (y) (var_ref r) + (assign (y) (var_ref r) (call atan ((swiz y (var_ref y)) (swiz y (var_ref x))))) - (assign (constant bool (1)) (z) (var_ref r) + (assign (z) (var_ref r) (call atan ((swiz z (var_ref y)) (swiz z (var_ref x))))) - (assign (constant bool (1)) (w) (var_ref r) + (assign (w) (var_ref r) (call atan ((swiz w (var_ref y)) (swiz w (var_ref x))))) (return (var_ref r))))) diff --git a/src/glsl/builtins/ir/distance b/src/glsl/builtins/ir/distance index 7789ca6314d..c249f8c9962 100644 --- a/src/glsl/builtins/ir/distance +++ b/src/glsl/builtins/ir/distance @@ -10,7 +10,7 @@ (declare (in) vec2 p0) (declare (in) vec2 p1)) ((declare () vec2 p) - (assign (constant bool (1)) (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1))) + (assign (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1))) (return (expression float sqrt (expression float dot (var_ref p) (var_ref p)))))) (signature float @@ -18,7 +18,7 @@ (declare (in) vec3 p0) (declare (in) vec3 p1)) ((declare () vec3 p) - (assign (constant bool (1)) (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1))) + (assign (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1))) (return (expression float sqrt (expression float dot (var_ref p) (var_ref p)))))) (signature float @@ -26,6 +26,6 @@ (declare (in) vec4 p0) (declare (in) vec4 p1)) ((declare () vec4 p) - (assign (constant bool (1)) (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1))) + (assign (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1))) (return (expression float sqrt (expression float dot (var_ref p) (var_ref p)))))) )) diff --git a/src/glsl/builtins/ir/matrixCompMult b/src/glsl/builtins/ir/matrixCompMult index 4be9b03e31e..2400f11afad 100644 --- a/src/glsl/builtins/ir/matrixCompMult +++ b/src/glsl/builtins/ir/matrixCompMult @@ -4,8 +4,8 @@ (declare (in) mat2 x) (declare (in) mat2 y)) ((declare () mat2 z) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) (return (var_ref z)))) (signature mat3 @@ -13,9 +13,9 @@ (declare (in) mat3 x) (declare (in) mat3 y)) ((declare () mat3 z) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) + (assign (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) (return (var_ref z)))) (signature mat4 @@ -23,10 +23,10 @@ (declare (in) mat4 x) (declare (in) mat4 y)) ((declare () mat4 z) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (3))) (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (3))) (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) (return (var_ref z)))) (signature mat2x3 @@ -34,8 +34,8 @@ (declare (in) mat2x3 x) (declare (in) mat2x3 y)) ((declare () mat2x3 z) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) (return (var_ref z)))) (signature mat3x2 @@ -43,9 +43,9 @@ (declare (in) mat3x2 x) (declare (in) mat3x2 y)) ((declare () mat3x2 z) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) + (assign (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) (return (var_ref z)))) (signature mat2x4 @@ -53,8 +53,8 @@ (declare (in) mat2x4 x) (declare (in) mat2x4 y)) ((declare () mat2x4 z) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) (return (var_ref z)))) (signature mat4x2 @@ -62,10 +62,10 @@ (declare (in) mat4x2 x) (declare (in) mat4x2 y)) ((declare () mat4x2 z) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) - (assign (constant bool (1)) (xy) (array_ref (var_ref z) (constant int (3))) (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) + (assign (xy) (array_ref (var_ref z) (constant int (0))) (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xy) (array_ref (var_ref z) (constant int (1))) (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xy) (array_ref (var_ref z) (constant int (2))) (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) + (assign (xy) (array_ref (var_ref z) (constant int (3))) (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) (return (var_ref z)))) (signature mat3x4 @@ -73,9 +73,9 @@ (declare (in) mat3x4 x) (declare (in) mat3x4 y)) ((declare () mat3x4 z) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (0))) (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (1))) (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xyzw) (array_ref (var_ref z) (constant int (2))) (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) (return (var_ref z)))) (signature mat4x3 @@ -83,9 +83,9 @@ (declare (in) mat4x3 x) (declare (in) mat4x3 y)) ((declare () mat4x3 z) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref z) (constant int (3))) (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) + (assign (xyz) (array_ref (var_ref z) (constant int (0))) (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0))))) + (assign (xyz) (array_ref (var_ref z) (constant int (1))) (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1))))) + (assign (xyz) (array_ref (var_ref z) (constant int (2))) (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2))))) + (assign (xyz) (array_ref (var_ref z) (constant int (3))) (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3))))) (return (var_ref z)))) )) diff --git a/src/glsl/builtins/ir/modf b/src/glsl/builtins/ir/modf index 2b935a91a7c..f4f631567bd 100644 --- a/src/glsl/builtins/ir/modf +++ b/src/glsl/builtins/ir/modf @@ -4,9 +4,8 @@ (declare (in) float x) (declare (out) float i)) ((declare () float t) - (assign (constant bool (1)) (x) (var_ref t) - (expression float trunc (var_ref x))) - (assign (constant bool (1)) (x) (var_ref i) (var_ref t)) + (assign (x) (var_ref t) (expression float trunc (var_ref x))) + (assign (x) (var_ref i) (var_ref t)) (return (expression float - (var_ref x) (var_ref t))))) (signature vec2 @@ -14,9 +13,8 @@ (declare (in) vec2 x) (declare (out) vec2 i)) ((declare () vec2 t) - (assign (constant bool (1)) (xy) (var_ref t) - (expression vec2 trunc (var_ref x))) - (assign (constant bool (1)) (xy) (var_ref i) (var_ref t)) + (assign (xy) (var_ref t) (expression vec2 trunc (var_ref x))) + (assign (xy) (var_ref i) (var_ref t)) (return (expression vec2 - (var_ref x) (var_ref t))))) (signature vec3 @@ -24,9 +22,8 @@ (declare (in) vec3 x) (declare (out) vec3 i)) ((declare () vec3 t) - (assign (constant bool (1)) (xyz) (var_ref t) - (expression vec3 trunc (var_ref x))) - (assign (constant bool (1)) (xyz) (var_ref i) (var_ref t)) + (assign (xyz) (var_ref t) (expression vec3 trunc (var_ref x))) + (assign (xyz) (var_ref i) (var_ref t)) (return (expression vec3 - (var_ref x) (var_ref t))))) (signature vec4 @@ -34,8 +31,7 @@ (declare (in) vec4 x) (declare (out) vec4 i)) ((declare () vec4 t) - (assign (constant bool (1)) (xyzw) (var_ref t) - (expression vec4 trunc (var_ref x))) - (assign (constant bool (1)) (xyzw) (var_ref i) (var_ref t)) + (assign (xyzw) (var_ref t) (expression vec4 trunc (var_ref x))) + (assign (xyzw) (var_ref i) (var_ref t)) (return (expression vec4 - (var_ref x) (var_ref t))))) )) diff --git a/src/glsl/builtins/ir/noise2 b/src/glsl/builtins/ir/noise2 index 383fccfadfb..d3366145fed 100644 --- a/src/glsl/builtins/ir/noise2 +++ b/src/glsl/builtins/ir/noise2 @@ -6,10 +6,10 @@ (declare () float b) (declare () vec2 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0))))) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) (return (var_ref t)) )) @@ -20,10 +20,10 @@ (declare () float b) (declare () vec2 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0))))) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) (return (var_ref t)) )) @@ -36,10 +36,10 @@ (declare () float b) (declare () vec2 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0))))) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) (return (var_ref t)) )) @@ -52,10 +52,10 @@ (declare () float b) (declare () vec2 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0))))) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) (return (var_ref t)) )) )) diff --git a/src/glsl/builtins/ir/noise3 b/src/glsl/builtins/ir/noise3 index ed7ad5190f2..1d8aa3f30d0 100644 --- a/src/glsl/builtins/ir/noise3 +++ b/src/glsl/builtins/ir/noise3 @@ -7,13 +7,13 @@ (declare () float c) (declare () vec3 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0))))) - (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))))) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0))))) + (assign (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) - (assign (constant bool (1)) (z) (var_ref t) (var_ref c)) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) + (assign (z) (var_ref t) (var_ref c)) (return (var_ref t)) )) @@ -25,13 +25,13 @@ (declare () float c) (declare () vec3 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0))))) - (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))))) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0))))) + (assign (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) - (assign (constant bool (1)) (z) (var_ref t) (var_ref c)) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) + (assign (z) (var_ref t) (var_ref c)) (return (var_ref t)) )) @@ -43,13 +43,13 @@ (declare () float c) (declare () vec3 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0))))) - (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))))) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0))))) + (assign (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) - (assign (constant bool (1)) (z) (var_ref t) (var_ref c)) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) + (assign (z) (var_ref t) (var_ref c)) (return (var_ref t)) )) @@ -61,13 +61,13 @@ (declare () float c) (declare () vec3 t) - (assign (constant bool (1)) (x) (var_ref a) (expression float noise (var_ref p))) - (assign (constant bool (1)) (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0))))) - (assign (constant bool (1)) (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0))))) + (assign (x) (var_ref a) (expression float noise (var_ref p))) + (assign (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0))))) + (assign (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0))))) - (assign (constant bool (1)) (x) (var_ref t) (var_ref a)) - (assign (constant bool (1)) (y) (var_ref t) (var_ref b)) - (assign (constant bool (1)) (z) (var_ref t) (var_ref c)) + (assign (x) (var_ref t) (var_ref a)) + (assign (y) (var_ref t) (var_ref b)) + (assign (z) (var_ref t) (var_ref c)) (return (var_ref t)) )) )) diff --git a/src/glsl/builtins/ir/noise4 b/src/glsl/builtins/ir/noise4 index 77a2529a180..d0894fd5e3e 100644 --- a/src/glsl/builtins/ir/noise4 +++ b/src/glsl/builtins/ir/noise4 @@ -9,17 +9,17 @@ (declare () vec4 _r) (declare () vec4 _p) - (assign (constant bool (1)) (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) ) + (assign (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) ) - (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p))) - (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0))))) - (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p))) - (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0))))) + (assign (x) (var_ref _x) (expression float noise(var_ref p))) + (assign (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0))))) + (assign (x) (var_ref _z) (expression float noise(var_ref _p))) + (assign (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0))))) - (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x)) - (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y)) - (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z)) - (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w)) + (assign (x) (var_ref _r) (var_ref _x)) + (assign (y) (var_ref _r) (var_ref _y)) + (assign (z) (var_ref _r) (var_ref _z)) + (assign (w) (var_ref _r) (var_ref _w)) (return (var_ref _r)) )) @@ -33,17 +33,17 @@ (declare () vec4 _r) (declare () vec3 _p) - (assign (constant bool (1)) (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) ) + (assign (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) ) - (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p))) - (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0))))) - (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p))) - (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0))))) + (assign (x) (var_ref _x) (expression float noise(var_ref p))) + (assign (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0))))) + (assign (x) (var_ref _z) (expression float noise(var_ref _p))) + (assign (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0))))) - (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x)) - (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y)) - (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z)) - (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w)) + (assign (x) (var_ref _r) (var_ref _x)) + (assign (y) (var_ref _r) (var_ref _y)) + (assign (z) (var_ref _r) (var_ref _z)) + (assign (w) (var_ref _r) (var_ref _w)) (return (var_ref _r)) )) @@ -57,17 +57,17 @@ (declare () vec4 _r) (declare () vec2 _p) - (assign (constant bool (1)) (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) ) + (assign (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) ) - (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p))) - (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0))))) - (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p))) - (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0))))) + (assign (x) (var_ref _x) (expression float noise(var_ref p))) + (assign (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0))))) + (assign (x) (var_ref _z) (expression float noise(var_ref _p))) + (assign (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0))))) - (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x)) - (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y)) - (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z)) - (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w)) + (assign (x) (var_ref _r) (var_ref _x)) + (assign (y) (var_ref _r) (var_ref _y)) + (assign (z) (var_ref _r) (var_ref _z)) + (assign (w) (var_ref _r) (var_ref _w)) (return (var_ref _r)) )) @@ -81,17 +81,17 @@ (declare () vec4 _r) (declare () float _p) - (assign (constant bool (1)) (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) ) + (assign (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) ) - (assign (constant bool (1)) (x) (var_ref _x) (expression float noise(var_ref p))) - (assign (constant bool (1)) (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0 313.0 29.0 277.0))))) - (assign (constant bool (1)) (x) (var_ref _z) (expression float noise(var_ref _p))) - (assign (constant bool (1)) (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0 313.0 29.0 277.0))))) + (assign (x) (var_ref _x) (expression float noise(var_ref p))) + (assign (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0 313.0 29.0 277.0))))) + (assign (x) (var_ref _z) (expression float noise(var_ref _p))) + (assign (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0 313.0 29.0 277.0))))) - (assign (constant bool (1)) (x) (var_ref _r) (var_ref _x)) - (assign (constant bool (1)) (y) (var_ref _r) (var_ref _y)) - (assign (constant bool (1)) (z) (var_ref _r) (var_ref _z)) - (assign (constant bool (1)) (w) (var_ref _r) (var_ref _w)) + (assign (x) (var_ref _r) (var_ref _x)) + (assign (y) (var_ref _r) (var_ref _y)) + (assign (z) (var_ref _r) (var_ref _z)) + (assign (w) (var_ref _r) (var_ref _w)) (return (var_ref _r)) )) )) diff --git a/src/glsl/builtins/ir/outerProduct b/src/glsl/builtins/ir/outerProduct index 61d46261548..0e3f375bbac 100644 --- a/src/glsl/builtins/ir/outerProduct +++ b/src/glsl/builtins/ir/outerProduct @@ -4,8 +4,8 @@ (declare (in) vec2 u) (declare (in) vec2 v)) ((declare () mat2 m) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v)))) (return (var_ref m)))) (signature mat2x3 @@ -13,8 +13,8 @@ (declare (in) vec3 u) (declare (in) vec2 v)) ((declare () mat2x3 m) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v)))) (return (var_ref m)))) (signature mat2x4 @@ -22,8 +22,8 @@ (declare (in) vec4 u) (declare (in) vec2 v)) ((declare () mat2x4 m) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v)))) (return (var_ref m)))) (signature mat3x2 @@ -31,9 +31,9 @@ (declare (in) vec2 u) (declare (in) vec3 v)) ((declare () mat3x2 m) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v)))) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v)))) (return (var_ref m)) )) @@ -42,9 +42,9 @@ (declare (in) vec3 u) (declare (in) vec3 v)) ((declare () mat3 m) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v)))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v)))) (return (var_ref m)))) (signature mat3x4 @@ -52,9 +52,9 @@ (declare (in) vec4 u) (declare (in) vec3 v)) ((declare () mat3x4 m) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v)))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v)))) (return (var_ref m)))) (signature mat4x2 @@ -62,10 +62,10 @@ (declare (in) vec2 u) (declare (in) vec4 v)) ((declare () mat4x2 m) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v)))) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v)))) - (assign (constant bool (1)) (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v)))) + (assign (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v)))) (return (var_ref m)))) (signature mat4x3 @@ -73,10 +73,10 @@ (declare (in) vec3 u) (declare (in) vec4 v)) ((declare () mat4x3 m) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v)))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v)))) - (assign (constant bool (1)) (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v)))) + (assign (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v)))) (return (var_ref m)))) (signature mat4 @@ -84,9 +84,9 @@ (declare (in) vec4 u) (declare (in) vec4 v)) ((declare () mat4 m) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v)))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v)))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v)))) - (assign (constant bool (1)) (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v)))) + (assign (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v)))) (return (var_ref m)))) )) diff --git a/src/glsl/builtins/ir/refract b/src/glsl/builtins/ir/refract index f6319b0ed47..60899f01cec 100644 --- a/src/glsl/builtins/ir/refract +++ b/src/glsl/builtins/ir/refract @@ -5,7 +5,7 @@ (declare (in) float n) (declare (in) float eta)) ((declare () float k) - (assign (constant bool (1)) (x) (var_ref k) + (assign (x) (var_ref k) (expression float - (constant float (1.0)) (expression float * (var_ref eta) (expression float * (var_ref eta) @@ -30,7 +30,7 @@ (declare (in) vec2 n) (declare (in) float eta)) ((declare () float k) - (assign (constant bool (1)) (x) (var_ref k) + (assign (x) (var_ref k) (expression float - (constant float (1.0)) (expression float * (var_ref eta) (expression float * (var_ref eta) @@ -55,7 +55,7 @@ (declare (in) vec3 n) (declare (in) float eta)) ((declare () float k) - (assign (constant bool (1)) (x) (var_ref k) + (assign (x) (var_ref k) (expression float - (constant float (1.0)) (expression float * (var_ref eta) (expression float * (var_ref eta) @@ -80,7 +80,7 @@ (declare (in) vec4 n) (declare (in) float eta)) ((declare () float k) - (assign (constant bool (1)) (x) (var_ref k) + (assign (x) (var_ref k) (expression float - (constant float (1.0)) (expression float * (var_ref eta) (expression float * (var_ref eta) diff --git a/src/glsl/builtins/ir/smoothstep b/src/glsl/builtins/ir/smoothstep index b283f73d8d3..94c98b29e53 100644 --- a/src/glsl/builtins/ir/smoothstep +++ b/src/glsl/builtins/ir/smoothstep @@ -5,7 +5,7 @@ (declare (in) float edge1) (declare (in) float x)) ((declare () float t) - (assign (constant bool (1)) (x) (var_ref t) + (assign (x) (var_ref t) (expression float max (expression float min (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0))) @@ -18,7 +18,7 @@ (declare (in) float edge1) (declare (in) vec2 x)) ((declare () vec2 t) - (assign (constant bool (1)) (xy) (var_ref t) + (assign (xy) (var_ref t) (expression vec2 max (expression vec2 min (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0))) @@ -32,7 +32,7 @@ (declare (in) float edge1) (declare (in) vec3 x)) ((declare () vec3 t) - (assign (constant bool (1)) (xyz) (var_ref t) + (assign (xyz) (var_ref t) (expression vec3 max (expression vec3 min (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0))) @@ -47,7 +47,7 @@ (declare (in) float edge1) (declare (in) vec4 x)) ((declare () vec4 t) - (assign (constant bool (1)) (xyzw) (var_ref t) + (assign (xyzw) (var_ref t) (expression vec4 max (expression vec4 min (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0))) @@ -61,7 +61,7 @@ (declare (in) vec2 edge1) (declare (in) vec2 x)) ((declare () vec2 t) - (assign (constant bool (1)) (xy) (var_ref t) + (assign (xy) (var_ref t) (expression vec2 max (expression vec2 min (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0))) @@ -75,7 +75,7 @@ (declare (in) vec3 edge1) (declare (in) vec3 x)) ((declare () vec3 t) - (assign (constant bool (1)) (xyz) (var_ref t) + (assign (xyz) (var_ref t) (expression vec3 max (expression vec3 min (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0))) @@ -89,7 +89,7 @@ (declare (in) vec4 edge1) (declare (in) vec4 x)) ((declare () vec4 t) - (assign (constant bool (1)) (xyzw) (var_ref t) + (assign (xyzw) (var_ref t) (expression vec4 max (expression vec4 min (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0))) diff --git a/src/glsl/builtins/ir/step b/src/glsl/builtins/ir/step index 7aec9d7a6cc..efcd7bc8023 100644 --- a/src/glsl/builtins/ir/step +++ b/src/glsl/builtins/ir/step @@ -10,8 +10,8 @@ (declare (in) float edge) (declare (in) vec2 x)) ((declare () vec2 t) - (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge)))) - (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge)))) + (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge)))) + (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge)))) (return (var_ref t)))) (signature vec3 @@ -19,9 +19,9 @@ (declare (in) float edge) (declare (in) vec3 x)) ((declare () vec3 t) - (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge)))) - (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge)))) - (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge)))) + (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge)))) + (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge)))) + (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge)))) (return (var_ref t)))) (signature vec4 @@ -29,10 +29,10 @@ (declare (in) float edge) (declare (in) vec4 x)) ((declare () vec4 t) - (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge)))) - (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge)))) - (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge)))) - (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge)))) + (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge)))) + (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge)))) + (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge)))) + (assign (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge)))) (return (var_ref t)))) (signature vec2 @@ -40,8 +40,8 @@ (declare (in) vec2 edge) (declare (in) vec2 x)) ((declare () vec2 t) - (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge))))) - (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge))))) + (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge))))) + (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge))))) (return (var_ref t)))) (signature vec3 @@ -49,9 +49,9 @@ (declare (in) vec3 edge) (declare (in) vec3 x)) ((declare () vec3 t) - (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge))))) - (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge))))) - (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge))))) + (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge))))) + (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge))))) + (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge))))) (return (var_ref t)))) (signature vec4 @@ -59,10 +59,10 @@ (declare (in) vec4 edge) (declare (in) vec4 x)) ((declare () vec4 t) - (assign (constant bool (1)) (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge))))) - (assign (constant bool (1)) (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge))))) - (assign (constant bool (1)) (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge))))) - (assign (constant bool (1)) (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge))))) + (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge))))) + (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge))))) + (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge))))) + (assign (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge))))) (return (var_ref t)))) )) diff --git a/src/glsl/builtins/ir/transpose b/src/glsl/builtins/ir/transpose index 4bed4489bf4..043327d235b 100644 --- a/src/glsl/builtins/ir/transpose +++ b/src/glsl/builtins/ir/transpose @@ -3,135 +3,135 @@ (parameters (declare (in) mat2 m)) ((declare () mat2 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) (return (var_ref t)))) (signature mat3x2 (parameters (declare (in) mat2x3 m)) ((declare () mat3x2 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) (return (var_ref t)))) (signature mat4x2 (parameters (declare (in) mat2x4 m)) ((declare () mat4x2 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1))))) (return (var_ref t)))) (signature mat2x3 (parameters (declare (in) mat3x2 m)) ((declare () mat2x3 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) (return (var_ref t)))) (signature mat3 (parameters (declare (in) mat3 m)) ((declare () mat3 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) + (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) (return (var_ref t)))) (signature mat4x3 (parameters (declare (in) mat3x4 m)) ((declare () mat4x3 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1))))) + (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2))))) (return (var_ref t)))) (signature mat2x4 (parameters (declare (in) mat4x2 m)) ((declare () mat2x4 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) + (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3))))) + (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3))))) (return (var_ref t)))) (signature mat3x4 (parameters (declare (in) mat4x3 m)) ((declare () mat3x4 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) + (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) + (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3))))) + (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3))))) + (assign (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3))))) (return (var_ref t)))) (signature mat4 (parameters (declare (in) mat4 m)) ((declare () mat4 t) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3))))) - (assign (constant bool (1)) (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3))))) + (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0))))) + (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0))))) + (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1))))) + (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1))))) + (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2))))) + (assign (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2))))) + (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3))))) + (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3))))) + (assign (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3))))) + (assign (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3))))) (return (var_ref t)))) ) diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py index 8b11338e8c7..3a938a022da 100755 --- a/src/glsl/builtins/tools/generate_builtins.py +++ b/src/glsl/builtins/tools/generate_builtins.py @@ -1,7 +1,10 @@ #!/usr/bin/python # -*- coding: utf-8 -*- +from __future__ import with_statement + import re +import sys from glob import glob from os import path from subprocess import Popen, PIPE @@ -14,8 +17,8 @@ builtins_dir = path.join(path.dirname(path.abspath(__file__)), "..") # Get the path to the standalone GLSL compiler if len(argv) != 2: - print "Usage:", argv[0], "<path to compiler>" - sys.exit(1) + print "Usage:", argv[0], "<path to compiler>" + sys.exit(1) compiler = argv[1] @@ -60,8 +63,8 @@ def run_compiler(args): output = p.communicate()[0] # Clean up output a bit by killing whitespace before a closing paren. - kill_paren_whitespace = re.compile(r'[ \n]*\)', re.MULTILINE); - output = kill_paren_whitespace.sub(')', output); + kill_paren_whitespace = re.compile(r'[ \n]*\)', re.MULTILINE) + output = kill_paren_whitespace.sub(')', output) # Also toss any duplicate newlines output = output.replace('\n\n', '\n') @@ -76,12 +79,12 @@ def write_profile(filename, profile): return # Kill any global variable declarations. We don't want them. - kill_globals = re.compile(r'^\(declare.*\n', re.MULTILINE); + kill_globals = re.compile(r'^\(declare.*\n', re.MULTILINE) proto_ir = kill_globals.sub('', proto_ir) # Kill pointer addresses. They're not necessary in prototypes and just # clutter the diff output. - proto_ir = re.sub(r'@0x[0-9a-f]+', '', proto_ir); + proto_ir = re.sub(r'@0x[0-9a-f]+', '', proto_ir) print 'static const char prototypes_for_' + profile + '[] =' print stringify(proto_ir), ';' @@ -235,7 +238,7 @@ _mesa_glsl_initialize_functions(struct _mesa_glsl_parse_state *state) state->num_builtins_to_link = 0; """ - i=0 + i = 0 for (filename, profile) in profiles: if profile.endswith('_vert'): check = 'state->target == vertex_shader && ' diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index 8dbe66927dc..cbeacd5633f 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -180,6 +180,15 @@ _mesa_glsl_process_extension(const char *name, YYLTYPE *name_locp, state->ARB_draw_buffers_enable = (ext_mode != extension_disable); state->ARB_draw_buffers_warn = (ext_mode == extension_warn); } + } else if (strcmp(name, "GL_ARB_draw_instanced") == 0) { + /* This extension is only supported in vertex shaders. + */ + if (state->target != vertex_shader) { + unsupported = true; + } else { + state->ARB_draw_instanced_enable = (ext_mode != extension_disable); + state->ARB_draw_instanced_warn = (ext_mode == extension_warn); + } } else if (strcmp(name, "GL_ARB_explicit_attrib_location") == 0) { state->ARB_explicit_attrib_location_enable = (ext_mode != extension_disable); diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h index 39c10b99e83..030d27a2627 100644 --- a/src/glsl/glsl_parser_extras.h +++ b/src/glsl/glsl_parser_extras.h @@ -132,6 +132,8 @@ struct _mesa_glsl_parse_state { /*@{*/ unsigned ARB_draw_buffers_enable:1; unsigned ARB_draw_buffers_warn:1; + unsigned ARB_draw_instanced_enable:1; + unsigned ARB_draw_instanced_warn:1; unsigned ARB_explicit_attrib_location_enable:1; unsigned ARB_explicit_attrib_location_warn:1; unsigned ARB_fragment_coord_conventions_enable:1; diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index b8b0fed9d1c..460d43b02e1 100644 --- a/src/glsl/ir.cpp +++ b/src/glsl/ir.cpp @@ -261,12 +261,38 @@ ir_expression::ir_expression(int op, ir_rvalue *op0) case ir_unop_floor: case ir_unop_fract: case ir_unop_round_even: + case ir_unop_sin: case ir_unop_cos: + case ir_unop_sin_reduced: + case ir_unop_cos_reduced: case ir_unop_dFdx: case ir_unop_dFdy: this->type = op0->type; break; + case ir_unop_f2i: + case ir_unop_b2i: + this->type = glsl_type::get_instance(GLSL_TYPE_INT, + op0->type->vector_elements, 1); + break; + + case ir_unop_b2f: + case ir_unop_i2f: + case ir_unop_u2f: + this->type = glsl_type::get_instance(GLSL_TYPE_FLOAT, + op0->type->vector_elements, 1); + break; + + case ir_unop_f2b: + case ir_unop_i2b: + this->type = glsl_type::get_instance(GLSL_TYPE_BOOL, + op0->type->vector_elements, 1); + break; + + case ir_unop_noise: + this->type = glsl_type::float_type; + break; + case ir_unop_any: this->type = glsl_type::bool_type; break; @@ -302,6 +328,8 @@ ir_expression::ir_expression(int op, ir_rvalue *op0, ir_rvalue *op1) case ir_binop_max: case ir_binop_pow: case ir_binop_mul: + case ir_binop_div: + case ir_binop_mod: if (op0->type->is_scalar()) { this->type = op1->type; } else if (op1->type->is_scalar()) { @@ -315,7 +343,11 @@ ir_expression::ir_expression(int op, ir_rvalue *op0, ir_rvalue *op1) break; case ir_binop_logic_and: + case ir_binop_logic_xor: case ir_binop_logic_or: + case ir_binop_bit_and: + case ir_binop_bit_xor: + case ir_binop_bit_or: if (op0->type->is_scalar()) { this->type = op1->type; } else if (op1->type->is_scalar()) { @@ -323,10 +355,26 @@ ir_expression::ir_expression(int op, ir_rvalue *op0, ir_rvalue *op1) } break; + case ir_binop_equal: + case ir_binop_nequal: + case ir_binop_lequal: + case ir_binop_gequal: + case ir_binop_less: + case ir_binop_greater: + assert(op0->type == op1->type); + this->type = glsl_type::get_instance(GLSL_TYPE_BOOL, + op0->type->vector_elements, 1); + break; + case ir_binop_dot: this->type = glsl_type::float_type; break; + case ir_binop_lshift: + case ir_binop_rshift: + this->type = op0->type; + break; + default: assert(!"not reached: missing automatic type setup for ir_expression"); this->type = glsl_type::float_type; @@ -1277,6 +1325,7 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name, this->constant_value = NULL; this->origin_upper_left = false; this->pixel_center_integer = false; + this->used = false; if (type && type->base_type == GLSL_TYPE_SAMPLER) this->read_only = true; diff --git a/src/glsl/ir.h b/src/glsl/ir.h index 9668c9439ad..7b83c2836ee 100644 --- a/src/glsl/ir.h +++ b/src/glsl/ir.h @@ -225,6 +225,7 @@ enum ir_variable_mode { ir_var_in, ir_var_out, ir_var_inout, + ir_var_system_value, /**< Ex: front-face, instance-id, etc. */ ir_var_temporary /**< Temporary variable generated during compilation. */ }; @@ -295,6 +296,15 @@ public: unsigned invariant:1; /** + * Has this variable been used for reading or writing? + * + * Several GLSL semantic checks require knowledge of whether or not a + * variable has been used. For example, it is an error to redeclare a + * variable as invariant after it has been used. + */ + unsigned used:1; + + /** * Storage class of the variable. * * \sa ir_variable_mode diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp index 0aa0b0a5d32..c56bafd00c5 100644 --- a/src/glsl/ir_print_visitor.cpp +++ b/src/glsl/ir_print_visitor.cpp @@ -281,9 +281,6 @@ void ir_print_visitor::visit(ir_assignment *ir) if (ir->condition) ir->condition->accept(this); - else - printf("(constant bool (1))"); - char mask[5]; unsigned j = 0; diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp index 5a718d3b756..40901dc6c92 100644 --- a/src/glsl/ir_reader.cpp +++ b/src/glsl/ir_reader.cpp @@ -21,8 +21,6 @@ * DEALINGS IN THE SOFTWARE. */ -#include <cstdarg> - extern "C" { #include <talloc.h> } @@ -34,69 +32,78 @@ extern "C" { const static bool debug = false; -static void ir_read_error(_mesa_glsl_parse_state *, s_expression *, - const char *fmt, ...); -static const glsl_type *read_type(_mesa_glsl_parse_state *, s_expression *); - -static void scan_for_prototypes(_mesa_glsl_parse_state *, exec_list *, - s_expression *); -static ir_function *read_function(_mesa_glsl_parse_state *, s_list *, - bool skip_body); -static void read_function_sig(_mesa_glsl_parse_state *, ir_function *, - s_list *, bool skip_body); - -static void read_instructions(_mesa_glsl_parse_state *, exec_list *, - s_expression *, ir_loop *); -static ir_instruction *read_instruction(_mesa_glsl_parse_state *, - s_expression *, ir_loop *); -static ir_variable *read_declaration(_mesa_glsl_parse_state *, s_list *); -static ir_if *read_if(_mesa_glsl_parse_state *, s_list *, ir_loop *); -static ir_loop *read_loop(_mesa_glsl_parse_state *st, s_list *list); -static ir_return *read_return(_mesa_glsl_parse_state *, s_list *); - -static ir_rvalue *read_rvalue(_mesa_glsl_parse_state *, s_expression *); -static ir_assignment *read_assignment(_mesa_glsl_parse_state *, s_list *); -static ir_expression *read_expression(_mesa_glsl_parse_state *, s_list *); -static ir_call *read_call(_mesa_glsl_parse_state *, s_list *); -static ir_swizzle *read_swizzle(_mesa_glsl_parse_state *, s_list *); -static ir_constant *read_constant(_mesa_glsl_parse_state *, s_list *); -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_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 *); +class ir_reader { +public: + ir_reader(_mesa_glsl_parse_state *); + + void read(exec_list *instructions, const char *src, bool scan_for_protos); + +private: + void *mem_ctx; + _mesa_glsl_parse_state *state; + + void ir_read_error(s_expression *, const char *fmt, ...); + + const glsl_type *read_type(s_expression *); + + void scan_for_prototypes(exec_list *, s_expression *); + ir_function *read_function(s_expression *, bool skip_body); + void read_function_sig(ir_function *, s_expression *, bool skip_body); + + void read_instructions(exec_list *, s_expression *, ir_loop *); + ir_instruction *read_instruction(s_expression *, ir_loop *); + ir_variable *read_declaration(s_expression *); + ir_if *read_if(s_expression *, ir_loop *); + ir_loop *read_loop(s_expression *); + ir_return *read_return(s_expression *); + ir_rvalue *read_rvalue(s_expression *); + ir_assignment *read_assignment(s_expression *); + ir_expression *read_expression(s_expression *); + ir_call *read_call(s_expression *); + ir_swizzle *read_swizzle(s_expression *); + ir_constant *read_constant(s_expression *); + ir_texture *read_texture(s_expression *); + + ir_dereference *read_dereference(s_expression *); +}; + +ir_reader::ir_reader(_mesa_glsl_parse_state *state) : state(state) +{ + this->mem_ctx = state; +} void _mesa_glsl_read_ir(_mesa_glsl_parse_state *state, exec_list *instructions, const char *src, bool scan_for_protos) { - s_expression *expr = s_expression::read_expression(state, src); + ir_reader r(state); + r.read(instructions, src, scan_for_protos); +} + +void +ir_reader::read(exec_list *instructions, const char *src, bool scan_for_protos) +{ + s_expression *expr = s_expression::read_expression(mem_ctx, src); if (expr == NULL) { - ir_read_error(state, NULL, "couldn't parse S-Expression."); + ir_read_error(NULL, "couldn't parse S-Expression."); return; } if (scan_for_protos) { - scan_for_prototypes(state, instructions, expr); + scan_for_prototypes(instructions, expr); if (state->error) return; } - read_instructions(state, instructions, expr, NULL); + read_instructions(instructions, expr, NULL); talloc_free(expr); if (debug) validate_ir_tree(instructions); } -static void -ir_read_error(_mesa_glsl_parse_state *state, s_expression *expr, - const char *fmt, ...) +void +ir_reader::ir_read_error(s_expression *expr, const char *fmt, ...) { va_list ap; @@ -121,68 +128,43 @@ ir_read_error(_mesa_glsl_parse_state *state, s_expression *expr, } } -static const glsl_type * -read_type(_mesa_glsl_parse_state *st, s_expression *expr) +const glsl_type * +ir_reader::read_type(s_expression *expr) { - s_list *list = SX_AS_LIST(expr); - if (list != NULL) { - s_symbol *type_sym = SX_AS_SYMBOL(list->subexpressions.get_head()); - if (type_sym == NULL) { - ir_read_error(st, expr, "expected type (array ...) or (struct ...)"); + s_expression *s_base_type; + s_int *s_size; + + s_pattern pat[] = { "array", s_base_type, s_size }; + if (MATCH(expr, pat)) { + const glsl_type *base_type = read_type(s_base_type); + if (base_type == NULL) { + ir_read_error(NULL, "when reading base type of array type"); return NULL; } - if (strcmp(type_sym->value(), "array") == 0) { - if (list->length() != 3) { - ir_read_error(st, expr, "expected type (array <type> <int>)"); - return NULL; - } - // Read base type - s_expression *base_expr = (s_expression*) type_sym->next; - const glsl_type *base_type = read_type(st, base_expr); - if (base_type == NULL) { - ir_read_error(st, NULL, "when reading base type of array"); - return NULL; - } - - // Read array size - s_int *size = SX_AS_INT(base_expr->next); - if (size == NULL) { - ir_read_error(st, expr, "found non-integer array size"); - return NULL; - } - - return glsl_type::get_array_instance(base_type, size->value()); - } else if (strcmp(type_sym->value(), "struct") == 0) { - assert(false); // FINISHME - } else { - ir_read_error(st, expr, "expected (array ...) or (struct ...); " - "found (%s ...)", type_sym->value()); - return NULL; - } + return glsl_type::get_array_instance(base_type, s_size->value()); } s_symbol *type_sym = SX_AS_SYMBOL(expr); if (type_sym == NULL) { - ir_read_error(st, expr, "expected <type> (symbol or list)"); + ir_read_error(expr, "expected <type>"); return NULL; } - const glsl_type *type = st->symbols->get_type(type_sym->value()); + const glsl_type *type = state->symbols->get_type(type_sym->value()); if (type == NULL) - ir_read_error(st, expr, "invalid type: %s", type_sym->value()); + ir_read_error(expr, "invalid type: %s", type_sym->value()); return type; } -static void -scan_for_prototypes(_mesa_glsl_parse_state *st, exec_list *instructions, - s_expression *expr) +void +ir_reader::scan_for_prototypes(exec_list *instructions, s_expression *expr) { s_list *list = SX_AS_LIST(expr); if (list == NULL) { - ir_read_error(st, expr, "Expected (<instruction> ...); found an atom."); + ir_read_error(expr, "Expected (<instruction> ...); found an atom."); return; } @@ -195,94 +177,73 @@ scan_for_prototypes(_mesa_glsl_parse_state *st, exec_list *instructions, if (tag == NULL || strcmp(tag->value(), "function") != 0) continue; // not a (function ...); ignore it. - ir_function *f = read_function(st, sub, true); + ir_function *f = read_function(sub, true); if (f == NULL) return; instructions->push_tail(f); } } -static ir_function * -read_function(_mesa_glsl_parse_state *st, s_list *list, bool skip_body) +ir_function * +ir_reader::read_function(s_expression *expr, bool skip_body) { - void *ctx = st; bool added = false; - if (list->length() < 3) { - ir_read_error(st, list, "Expected (function <name> (signature ...) ...)"); - return NULL; - } + s_symbol *name; - s_symbol *name = SX_AS_SYMBOL(list->subexpressions.head->next); - if (name == NULL) { - ir_read_error(st, list, "Expected (function <name> ...)"); + s_pattern pat[] = { "function", name }; + if (!PARTIAL_MATCH(expr, pat)) { + ir_read_error(expr, "Expected (function <name> (signature ...) ...)"); return NULL; } - ir_function *f = st->symbols->get_function(name->value()); + ir_function *f = state->symbols->get_function(name->value()); if (f == NULL) { - f = new(ctx) ir_function(name->value()); - added = st->symbols->add_function(f); + f = new(mem_ctx) ir_function(name->value()); + added = state->symbols->add_function(f); assert(added); } - exec_list_iterator it = list->subexpressions.iterator(); + exec_list_iterator it = ((s_list *) expr)->subexpressions.iterator(); it.next(); // skip "function" tag it.next(); // skip function name for (/* nothing */; it.has_next(); it.next()) { - s_list *siglist = SX_AS_LIST(it.get()); - if (siglist == NULL) { - ir_read_error(st, list, "Expected (function (signature ...) ...)"); - return NULL; - } - - s_symbol *tag = SX_AS_SYMBOL(siglist->subexpressions.get_head()); - if (tag == NULL || strcmp(tag->value(), "signature") != 0) { - ir_read_error(st, siglist, "Expected (signature ...)"); - return NULL; - } - - read_function_sig(st, f, siglist, skip_body); + s_expression *s_sig = (s_expression *) it.get(); + read_function_sig(f, s_sig, skip_body); } return added ? f : NULL; } -static void -read_function_sig(_mesa_glsl_parse_state *st, ir_function *f, s_list *list, - bool skip_body) +void +ir_reader::read_function_sig(ir_function *f, s_expression *expr, bool skip_body) { - void *ctx = st; - if (list->length() != 4) { - ir_read_error(st, list, "Expected (signature <type> (parameters ...) " - "(<instruction> ...))"); + s_expression *type_expr; + s_list *paramlist; + s_list *body_list; + + s_pattern pat[] = { "signature", type_expr, paramlist, body_list }; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "Expected (signature <type> (parameters ...) " + "(<instruction> ...))"); return; } - s_expression *type_expr = (s_expression*) list->subexpressions.head->next; - const glsl_type *return_type = read_type(st, type_expr); + const glsl_type *return_type = read_type(type_expr); if (return_type == NULL) return; - s_list *paramlist = SX_AS_LIST(type_expr->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> ...))"); - return; - } s_symbol *paramtag = SX_AS_SYMBOL(paramlist->subexpressions.get_head()); if (paramtag == NULL || strcmp(paramtag->value(), "parameters") != 0) { - ir_read_error(st, paramlist, "Expected (parameters ...)"); + ir_read_error(paramlist, "Expected (parameters ...)"); return; } // Read the parameters list into a temporary place. exec_list hir_parameters; - st->symbols->push_scope(); + state->symbols->push_scope(); exec_list_iterator it = paramlist->subexpressions.iterator(); for (it.next() /* skip "parameters" */; it.has_next(); it.next()) { - s_list *decl = SX_AS_LIST(it.get()); - ir_variable *var = read_declaration(st, decl); + ir_variable *var = read_declaration((s_expression *) it.get()); if (var == NULL) return; @@ -292,25 +253,25 @@ read_function_sig(_mesa_glsl_parse_state *st, ir_function *f, s_list *list, ir_function_signature *sig = f->exact_matching_signature(&hir_parameters); if (sig == NULL && skip_body) { /* If scanning for prototypes, generate a new signature. */ - sig = new(ctx) ir_function_signature(return_type); + sig = new(mem_ctx) ir_function_signature(return_type); sig->is_builtin = true; f->add_signature(sig); } else if (sig != NULL) { const char *badvar = sig->qualifiers_match(&hir_parameters); if (badvar != NULL) { - ir_read_error(st, list, "function `%s' parameter `%s' qualifiers " + ir_read_error(expr, "function `%s' parameter `%s' qualifiers " "don't match prototype", f->name, badvar); return; } if (sig->return_type != return_type) { - ir_read_error(st, list, "function `%s' return type doesn't " + ir_read_error(expr, "function `%s' return type doesn't " "match prototype", f->name); return; } } else { /* No prototype for this body exists - skip it. */ - st->symbols->pop_scope(); + state->symbols->pop_scope(); return; } assert(sig != NULL); @@ -319,39 +280,39 @@ read_function_sig(_mesa_glsl_parse_state *st, ir_function *f, s_list *list, if (!skip_body && !body_list->subexpressions.is_empty()) { if (sig->is_defined) { - ir_read_error(st, list, "function %s redefined", f->name); + ir_read_error(expr, "function %s redefined", f->name); return; } - st->current_function = sig; - read_instructions(st, &sig->body, body_list, NULL); - st->current_function = NULL; + state->current_function = sig; + read_instructions(&sig->body, body_list, NULL); + state->current_function = NULL; sig->is_defined = true; } - st->symbols->pop_scope(); + state->symbols->pop_scope(); } -static void -read_instructions(_mesa_glsl_parse_state *st, exec_list *instructions, - s_expression *expr, ir_loop *loop_ctx) +void +ir_reader::read_instructions(exec_list *instructions, s_expression *expr, + ir_loop *loop_ctx) { // Read in a list of instructions s_list *list = SX_AS_LIST(expr); if (list == NULL) { - ir_read_error(st, expr, "Expected (<instruction> ...); found an atom."); + ir_read_error(expr, "Expected (<instruction> ...); found an atom."); return; } foreach_iter(exec_list_iterator, it, list->subexpressions) { s_expression *sub = (s_expression*) it.get(); - ir_instruction *ir = read_instruction(st, sub, loop_ctx); + ir_instruction *ir = read_instruction(sub, loop_ctx); if (ir != NULL) { /* Global variable declarations should be moved to the top, before * any functions that might use them. Functions are added to the * instruction stream when scanning for prototypes, so without this * hack, they always appear before variable declarations. */ - if (st->current_function == NULL && ir->as_variable() != NULL) + if (state->current_function == NULL && ir->as_variable() != NULL) instructions->push_head(ir); else instructions->push_tail(ir); @@ -360,88 +321,74 @@ read_instructions(_mesa_glsl_parse_state *st, exec_list *instructions, } -static ir_instruction * -read_instruction(_mesa_glsl_parse_state *st, s_expression *expr, - ir_loop *loop_ctx) +ir_instruction * +ir_reader::read_instruction(s_expression *expr, ir_loop *loop_ctx) { - void *ctx = st; s_symbol *symbol = SX_AS_SYMBOL(expr); if (symbol != NULL) { if (strcmp(symbol->value(), "break") == 0 && loop_ctx != NULL) - return new(ctx) ir_loop_jump(ir_loop_jump::jump_break); + return new(mem_ctx) ir_loop_jump(ir_loop_jump::jump_break); if (strcmp(symbol->value(), "continue") == 0 && loop_ctx != NULL) - return new(ctx) ir_loop_jump(ir_loop_jump::jump_continue); + return new(mem_ctx) ir_loop_jump(ir_loop_jump::jump_continue); } s_list *list = SX_AS_LIST(expr); if (list == NULL || list->subexpressions.is_empty()) { - ir_read_error(st, expr, "Invalid instruction.\n"); + ir_read_error(expr, "Invalid instruction.\n"); return NULL; } s_symbol *tag = SX_AS_SYMBOL(list->subexpressions.get_head()); if (tag == NULL) { - ir_read_error(st, expr, "expected instruction tag"); + ir_read_error(expr, "expected instruction tag"); return NULL; } ir_instruction *inst = NULL; if (strcmp(tag->value(), "declare") == 0) { - inst = read_declaration(st, list); + inst = read_declaration(list); } else if (strcmp(tag->value(), "assign") == 0) { - inst = read_assignment(st, list); + inst = read_assignment(list); } else if (strcmp(tag->value(), "if") == 0) { - inst = read_if(st, list, loop_ctx); + inst = read_if(list, loop_ctx); } else if (strcmp(tag->value(), "loop") == 0) { - inst = read_loop(st, list); + inst = read_loop(list); } else if (strcmp(tag->value(), "return") == 0) { - inst = read_return(st, list); + inst = read_return(list); } else if (strcmp(tag->value(), "function") == 0) { - inst = read_function(st, list, false); + inst = read_function(list, false); } else { - inst = read_rvalue(st, list); + inst = read_rvalue(list); if (inst == NULL) - ir_read_error(st, NULL, "when reading instruction"); + ir_read_error(NULL, "when reading instruction"); } return inst; } - -static ir_variable * -read_declaration(_mesa_glsl_parse_state *st, s_list *list) +ir_variable * +ir_reader::read_declaration(s_expression *expr) { - void *ctx = st; - if (list->length() != 4) { - ir_read_error(st, list, "expected (declare (<qualifiers>) <type> " - "<name>)"); - return NULL; - } + s_list *s_quals; + s_expression *s_type; + s_symbol *s_name; - s_list *quals = SX_AS_LIST(list->subexpressions.head->next); - if (quals == NULL) { - ir_read_error(st, list, "expected a list of variable qualifiers"); + s_pattern pat[] = { "declare", s_quals, s_type, s_name }; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "expected (declare (<qualifiers>) <type> <name>)"); return NULL; } - s_expression *type_expr = (s_expression*) quals->next; - const glsl_type *type = read_type(st, type_expr); + const glsl_type *type = read_type(s_type); if (type == NULL) return NULL; - s_symbol *var_name = SX_AS_SYMBOL(type_expr->next); - if (var_name == NULL) { - ir_read_error(st, list, "expected variable name, found non-symbol"); - return NULL; - } - - ir_variable *var = new(ctx) ir_variable(type, var_name->value(), - ir_var_auto); + ir_variable *var = new(mem_ctx) ir_variable(type, s_name->value(), + ir_var_auto); - foreach_iter(exec_list_iterator, it, quals->subexpressions) { + foreach_iter(exec_list_iterator, it, s_quals->subexpressions) { s_symbol *qualifier = SX_AS_SYMBOL(it.get()); if (qualifier == NULL) { - ir_read_error(st, list, "qualifier list must contain only symbols"); - delete var; + ir_read_error(expr, "qualifier list must contain only symbols"); return NULL; } @@ -467,44 +414,42 @@ read_declaration(_mesa_glsl_parse_state *st, s_list *list) } else if (strcmp(qualifier->value(), "noperspective") == 0) { var->interpolation = ir_var_noperspective; } else { - ir_read_error(st, list, "unknown qualifier: %s", qualifier->value()); - delete var; + ir_read_error(expr, "unknown qualifier: %s", qualifier->value()); return NULL; } } // Add the variable to the symbol table - st->symbols->add_variable(var); + state->symbols->add_variable(var); return var; } -static ir_if * -read_if(_mesa_glsl_parse_state *st, s_list *list, ir_loop *loop_ctx) +ir_if * +ir_reader::read_if(s_expression *expr, ir_loop *loop_ctx) { - void *ctx = st; - if (list->length() != 4) { - ir_read_error(st, list, "expected (if <condition> (<then> ...) " - "(<else> ...))"); + s_expression *s_cond; + s_expression *s_then; + s_expression *s_else; + + s_pattern pat[] = { "if", s_cond, s_then, s_else }; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "expected (if <condition> (<then>...) (<else>...))"); return NULL; } - s_expression *cond_expr = (s_expression*) list->subexpressions.head->next; - ir_rvalue *condition = read_rvalue(st, cond_expr); + ir_rvalue *condition = read_rvalue(s_cond); if (condition == NULL) { - ir_read_error(st, NULL, "when reading condition of (if ...)"); + ir_read_error(NULL, "when reading condition of (if ...)"); return NULL; } - s_expression *then_expr = (s_expression*) cond_expr->next; - s_expression *else_expr = (s_expression*) then_expr->next; + ir_if *iff = new(mem_ctx) ir_if(condition); - ir_if *iff = new(ctx) ir_if(condition); - - read_instructions(st, &iff->then_instructions, then_expr, loop_ctx); - read_instructions(st, &iff->else_instructions, else_expr, loop_ctx); - if (st->error) { + read_instructions(&iff->then_instructions, s_then, loop_ctx); + read_instructions(&iff->else_instructions, s_else, loop_ctx); + if (state->error) { delete iff; iff = NULL; } @@ -512,27 +457,23 @@ read_if(_mesa_glsl_parse_state *st, s_list *list, ir_loop *loop_ctx) } -static ir_loop * -read_loop(_mesa_glsl_parse_state *st, s_list *list) +ir_loop * +ir_reader::read_loop(s_expression *expr) { - void *ctx = st; - if (list->length() != 6) { - ir_read_error(st, list, "expected (loop <counter> <from> <to> " - "<increment> <body>)"); + s_expression *s_counter, *s_from, *s_to, *s_inc, *s_body; + + s_pattern pat[] = { "loop", s_counter, s_from, s_to, s_inc, s_body }; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "expected (loop <counter> <from> <to> " + "<increment> <body>)"); return NULL; } - s_expression *count_expr = (s_expression*) list->subexpressions.head->next; - s_expression *from_expr = (s_expression*) count_expr->next; - s_expression *to_expr = (s_expression*) from_expr->next; - s_expression *inc_expr = (s_expression*) to_expr->next; - s_expression *body_expr = (s_expression*) inc_expr->next; - // FINISHME: actually read the count/from/to fields. - ir_loop *loop = new(ctx) ir_loop; - read_instructions(st, &loop->body_instructions, body_expr, loop); - if (st->error) { + ir_loop *loop = new(mem_ctx) ir_loop; + read_instructions(&loop->body_instructions, s_body, loop); + if (state->error) { delete loop; loop = NULL; } @@ -540,29 +481,29 @@ read_loop(_mesa_glsl_parse_state *st, s_list *list) } -static ir_return * -read_return(_mesa_glsl_parse_state *st, s_list *list) +ir_return * +ir_reader::read_return(s_expression *expr) { - void *ctx = st; - if (list->length() != 2) { - ir_read_error(st, list, "expected (return <rvalue>)"); + s_expression *s_retval; + + s_pattern pat[] = { "return", s_retval}; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "expected (return <rvalue>)"); return NULL; } - s_expression *expr = (s_expression*) list->subexpressions.head->next; - - ir_rvalue *retval = read_rvalue(st, expr); + ir_rvalue *retval = read_rvalue(s_retval); if (retval == NULL) { - ir_read_error(st, NULL, "when reading return value"); + ir_read_error(NULL, "when reading return value"); return NULL; } - return new(ctx) ir_return(retval); + return new(mem_ctx) ir_return(retval); } -static ir_rvalue * -read_rvalue(_mesa_glsl_parse_state *st, s_expression *expr) +ir_rvalue * +ir_reader::read_rvalue(s_expression *expr) { s_list *list = SX_AS_LIST(expr); if (list == NULL || list->subexpressions.is_empty()) @@ -570,68 +511,63 @@ read_rvalue(_mesa_glsl_parse_state *st, s_expression *expr) s_symbol *tag = SX_AS_SYMBOL(list->subexpressions.get_head()); if (tag == NULL) { - ir_read_error(st, expr, "expected rvalue tag"); + ir_read_error(expr, "expected rvalue tag"); return NULL; } - ir_rvalue *rvalue = read_dereference(st, list); - if (rvalue != NULL || st->error) + ir_rvalue *rvalue = read_dereference(list); + if (rvalue != NULL || state->error) return rvalue; else if (strcmp(tag->value(), "swiz") == 0) { - rvalue = read_swizzle(st, list); + rvalue = read_swizzle(list); } else if (strcmp(tag->value(), "expression") == 0) { - rvalue = read_expression(st, list); + rvalue = read_expression(list); } else if (strcmp(tag->value(), "call") == 0) { - rvalue = read_call(st, list); + rvalue = read_call(list); } else if (strcmp(tag->value(), "constant") == 0) { - rvalue = read_constant(st, list); + rvalue = read_constant(list); } else { - rvalue = read_texture(st, list); - if (rvalue == NULL && !st->error) - ir_read_error(st, expr, "unrecognized rvalue tag: %s", tag->value()); + rvalue = read_texture(list); + if (rvalue == NULL && !state->error) + ir_read_error(expr, "unrecognized rvalue tag: %s", tag->value()); } return rvalue; } -static ir_assignment * -read_assignment(_mesa_glsl_parse_state *st, s_list *list) +ir_assignment * +ir_reader::read_assignment(s_expression *expr) { - void *ctx = st; - if (list->length() != 5) { - ir_read_error(st, list, "expected (assign <condition> (<write mask>) " - "<lhs> <rhs>)"); - return NULL; - } - - s_expression *cond_expr = (s_expression*) list->subexpressions.head->next; - s_list *mask_list = SX_AS_LIST(cond_expr->next); - s_expression *lhs_expr = (s_expression*) cond_expr->next->next; - s_expression *rhs_expr = (s_expression*) lhs_expr->next; + s_expression *cond_expr = NULL; + s_expression *lhs_expr, *rhs_expr; + s_list *mask_list; - ir_rvalue *condition = read_rvalue(st, cond_expr); - if (condition == NULL) { - ir_read_error(st, NULL, "when reading condition of assignment"); + s_pattern pat4[] = { "assign", mask_list, lhs_expr, rhs_expr }; + s_pattern pat5[] = { "assign", cond_expr, mask_list, lhs_expr, rhs_expr }; + if (!MATCH(expr, pat4) && !MATCH(expr, pat5)) { + ir_read_error(expr, "expected (assign [<condition>] (<write mask>) " + "<lhs> <rhs>)"); return NULL; } - if (mask_list == NULL || mask_list->length() > 1) { - ir_read_error(st, mask_list, "expected () or (<write mask>)"); - return NULL; + ir_rvalue *condition = NULL; + if (cond_expr != NULL) { + condition = read_rvalue(cond_expr); + if (condition == NULL) { + ir_read_error(NULL, "when reading condition of assignment"); + return NULL; + } } unsigned mask = 0; - if (mask_list->length() == 1) { - s_symbol *mask_symbol = SX_AS_SYMBOL(mask_list->subexpressions.head); - if (mask_symbol == NULL) { - ir_read_error(st, list, "expected a write mask; found non-symbol"); - return NULL; - } + s_symbol *mask_symbol; + s_pattern mask_pat[] = { mask_symbol }; + if (MATCH(mask_list, mask_pat)) { const char *mask_str = mask_symbol->value(); unsigned mask_length = strlen(mask_str); if (mask_length > 4) { - ir_read_error(st, list, "invalid write mask: %s", mask_str); + ir_read_error(expr, "invalid write mask: %s", mask_str); return NULL; } @@ -639,47 +575,46 @@ read_assignment(_mesa_glsl_parse_state *st, s_list *list) for (unsigned i = 0; i < mask_length; i++) { if (mask_str[i] < 'w' || mask_str[i] > 'z') { - ir_read_error(st, list, "write mask contains invalid character: %c", + ir_read_error(expr, "write mask contains invalid character: %c", mask_str[i]); return NULL; } mask |= 1 << idx_map[mask_str[i] - 'w']; } + } else if (!mask_list->subexpressions.is_empty()) { + ir_read_error(mask_list, "expected () or (<write mask>)"); + return NULL; } - ir_dereference *lhs = read_dereference(st, lhs_expr); + ir_dereference *lhs = read_dereference(lhs_expr); if (lhs == NULL) { - ir_read_error(st, NULL, "when reading left-hand side of assignment"); + ir_read_error(NULL, "when reading left-hand side of assignment"); return NULL; } - ir_rvalue *rhs = read_rvalue(st, rhs_expr); + ir_rvalue *rhs = read_rvalue(rhs_expr); if (rhs == NULL) { - ir_read_error(st, NULL, "when reading right-hand side of assignment"); + ir_read_error(NULL, "when reading right-hand side of assignment"); return NULL; } if (mask == 0 && (lhs->type->is_vector() || lhs->type->is_scalar())) { - ir_read_error(st, list, "non-zero write mask required."); + ir_read_error(expr, "non-zero write mask required."); return NULL; } - return new(ctx) ir_assignment(lhs, rhs, condition, mask); + return new(mem_ctx) ir_assignment(lhs, rhs, condition, mask); } -static ir_call * -read_call(_mesa_glsl_parse_state *st, s_list *list) +ir_call * +ir_reader::read_call(s_expression *expr) { - void *ctx = st; - if (list->length() != 3) { - ir_read_error(st, list, "expected (call <name> (<param> ...))"); - return NULL; - } + s_symbol *name; + s_list *params; - s_symbol *name = SX_AS_SYMBOL(list->subexpressions.head->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> ...))"); + s_pattern pat[] = { "call", name, params }; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "expected (call <name> (<param> ...))"); return NULL; } @@ -687,173 +622,156 @@ read_call(_mesa_glsl_parse_state *st, s_list *list) foreach_iter(exec_list_iterator, it, params->subexpressions) { s_expression *expr = (s_expression*) it.get(); - ir_rvalue *param = read_rvalue(st, expr); + ir_rvalue *param = read_rvalue(expr); if (param == NULL) { - ir_read_error(st, list, "when reading parameter to function call"); + ir_read_error(expr, "when reading parameter to function call"); return NULL; } parameters.push_tail(param); } - ir_function *f = st->symbols->get_function(name->value()); + ir_function *f = state->symbols->get_function(name->value()); if (f == NULL) { - ir_read_error(st, list, "found call to undefined function %s", + ir_read_error(expr, "found call to undefined function %s", name->value()); return NULL; } ir_function_signature *callee = f->matching_signature(¶meters); if (callee == NULL) { - ir_read_error(st, list, "couldn't find matching signature for function " + ir_read_error(expr, "couldn't find matching signature for function " "%s", name->value()); return NULL; } - return new(ctx) ir_call(callee, ¶meters); + return new(mem_ctx) ir_call(callee, ¶meters); } -static ir_expression * -read_expression(_mesa_glsl_parse_state *st, s_list *list) +ir_expression * +ir_reader::read_expression(s_expression *expr) { - void *ctx = st; - const unsigned list_length = list->length(); - if (list_length < 4) { - ir_read_error(st, list, "expected (expression <type> <operator> " - "<operand> [<operand>])"); + s_expression *s_type; + s_symbol *s_op; + s_expression *s_arg1; + + s_pattern pat[] = { "expression", s_type, s_op, s_arg1 }; + if (!PARTIAL_MATCH(expr, pat)) { + ir_read_error(expr, "expected (expression <type> <operator> " + "<operand> [<operand>])"); return NULL; } + s_expression *s_arg2 = (s_expression *) s_arg1->next; // may be tail sentinel - s_expression *type_expr = (s_expression*) list->subexpressions.head->next; - const glsl_type *type = read_type(st, type_expr); + const glsl_type *type = read_type(s_type); if (type == NULL) return NULL; /* Read the operator */ - s_symbol *op_sym = SX_AS_SYMBOL(type_expr->next); - if (op_sym == NULL) { - ir_read_error(st, list, "expected operator, found non-symbol"); - return NULL; - } - - ir_expression_operation op = ir_expression::get_operator(op_sym->value()); + ir_expression_operation op = ir_expression::get_operator(s_op->value()); if (op == (ir_expression_operation) -1) { - ir_read_error(st, list, "invalid operator: %s", op_sym->value()); + ir_read_error(expr, "invalid operator: %s", s_op->value()); return NULL; } - /* Now that we know the operator, check for the right number of operands */ - if (ir_expression::get_num_operands(op) == 2) { - if (list_length != 5) { - ir_read_error(st, list, "expected (expression <type> %s <operand> " - " <operand>)", op_sym->value()); - return NULL; - } - } else { - if (list_length != 4) { - ir_read_error(st, list, "expected (expression <type> %s <operand>)", - op_sym->value()); - return NULL; - } + unsigned num_operands = ir_expression::get_num_operands(op); + if (num_operands == 1 && !s_arg1->next->is_tail_sentinel()) { + ir_read_error(expr, "expected (expression <type> %s <operand>)", + s_op->value()); + return NULL; } - s_expression *exp1 = (s_expression*) (op_sym->next); - ir_rvalue *arg1 = read_rvalue(st, exp1); + ir_rvalue *arg1 = read_rvalue(s_arg1); + ir_rvalue *arg2 = NULL; if (arg1 == NULL) { - ir_read_error(st, NULL, "when reading first operand of %s", - op_sym->value()); + ir_read_error(NULL, "when reading first operand of %s", s_op->value()); return NULL; } - ir_rvalue *arg2 = NULL; - if (ir_expression::get_num_operands(op) == 2) { - s_expression *exp2 = (s_expression*) (exp1->next); - arg2 = read_rvalue(st, exp2); + if (num_operands == 2) { + if (s_arg2->is_tail_sentinel() || !s_arg2->next->is_tail_sentinel()) { + ir_read_error(expr, "expected (expression <type> %s <operand> " + "<operand>)", s_op->value()); + return NULL; + } + arg2 = read_rvalue(s_arg2); if (arg2 == NULL) { - ir_read_error(st, NULL, "when reading second operand of %s", - op_sym->value()); + ir_read_error(NULL, "when reading second operand of %s", + s_op->value()); return NULL; } } - return new(ctx) ir_expression(op, type, arg1, arg2); + return new(mem_ctx) ir_expression(op, type, arg1, arg2); } -static ir_swizzle * -read_swizzle(_mesa_glsl_parse_state *st, s_list *list) +ir_swizzle * +ir_reader::read_swizzle(s_expression *expr) { - if (list->length() != 3) { - ir_read_error(st, list, "expected (swiz <swizzle> <rvalue>)"); - return NULL; - } + s_symbol *swiz; + s_expression *sub; - s_symbol *swiz = SX_AS_SYMBOL(list->subexpressions.head->next); - if (swiz == NULL) { - ir_read_error(st, list, "expected a valid swizzle; found non-symbol"); + s_pattern pat[] = { "swiz", swiz, sub }; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "expected (swiz <swizzle> <rvalue>)"); return NULL; } if (strlen(swiz->value()) > 4) { - ir_read_error(st, list, "expected a valid swizzle; found %s", - swiz->value()); + ir_read_error(expr, "expected a valid swizzle; found %s", swiz->value()); return NULL; } - s_expression *sub = (s_expression*) swiz->next; - ir_rvalue *rvalue = read_rvalue(st, sub); + ir_rvalue *rvalue = read_rvalue(sub); if (rvalue == NULL) return NULL; ir_swizzle *ir = ir_swizzle::create(rvalue, swiz->value(), rvalue->type->vector_elements); if (ir == NULL) - ir_read_error(st, list, "invalid swizzle"); + ir_read_error(expr, "invalid swizzle"); return ir; } -static ir_constant * -read_constant(_mesa_glsl_parse_state *st, s_list *list) +ir_constant * +ir_reader::read_constant(s_expression *expr) { - void *ctx = st; - if (list->length() != 3) { - ir_read_error(st, list, "expected (constant <type> (...))"); + s_expression *type_expr; + s_list *values; + + s_pattern pat[] = { "constant", type_expr, values }; + if (!MATCH(expr, pat)) { + ir_read_error(expr, "expected (constant <type> (...))"); return NULL; } - s_expression *type_expr = (s_expression*) list->subexpressions.head->next; - const glsl_type *type = read_type(st, type_expr); + const glsl_type *type = read_type(type_expr); if (type == NULL) return NULL; - s_list *values = SX_AS_LIST(type_expr->next); if (values == NULL) { - ir_read_error(st, list, "expected (constant <type> (...))"); + ir_read_error(expr, "expected (constant <type> (...))"); return NULL; } if (type->is_array()) { - const unsigned elements_supplied = values->length(); - if (elements_supplied != type->length) { - ir_read_error(st, values, "expected exactly %u array elements, " - "given %u", type->length, elements_supplied); - return NULL; - } - + unsigned elements_supplied = 0; exec_list elements; foreach_iter(exec_list_iterator, it, values->subexpressions) { - s_expression *expr = (s_expression *) it.get(); - s_list *elt = SX_AS_LIST(expr); - if (elt == NULL) { - ir_read_error(st, expr, "expected (constant ...) array element"); - return NULL; - } - - ir_constant *ir_elt = read_constant(st, elt); + s_expression *elt = (s_expression *) it.get(); + ir_constant *ir_elt = read_constant(elt); if (ir_elt == NULL) return NULL; elements.push_tail(ir_elt); + elements_supplied++; + } + + if (elements_supplied != type->length) { + ir_read_error(values, "expected exactly %u array elements, " + "given %u", type->length, elements_supplied); + return NULL; } - return new(ctx) ir_constant(type, &elements); + return new(mem_ctx) ir_constant(type, &elements); } const glsl_type *const base_type = type->get_base_type(); @@ -864,7 +782,7 @@ read_constant(_mesa_glsl_parse_state *st, s_list *list) int k = 0; foreach_iter(exec_list_iterator, it, values->subexpressions) { if (k >= 16) { - ir_read_error(st, values, "expected at most 16 numbers"); + ir_read_error(values, "expected at most 16 numbers"); return NULL; } @@ -873,14 +791,14 @@ read_constant(_mesa_glsl_parse_state *st, s_list *list) if (base_type->base_type == GLSL_TYPE_FLOAT) { s_number *value = SX_AS_NUMBER(expr); if (value == NULL) { - ir_read_error(st, values, "expected numbers"); + ir_read_error(values, "expected numbers"); return NULL; } data.f[k] = value->fvalue(); } else { s_int *value = SX_AS_INT(expr); if (value == NULL) { - ir_read_error(st, values, "expected integers"); + ir_read_error(values, "expected integers"); return NULL; } @@ -898,246 +816,185 @@ read_constant(_mesa_glsl_parse_state *st, s_list *list) break; } default: - ir_read_error(st, values, "unsupported constant type"); + ir_read_error(values, "unsupported constant type"); return NULL; } } ++k; } - return new(ctx) ir_constant(type, &data); + return new(mem_ctx) ir_constant(type, &data); } -static ir_dereference * -read_dereference(_mesa_glsl_parse_state *st, s_expression *expr) +ir_dereference * +ir_reader::read_dereference(s_expression *expr) { - s_list *list = SX_AS_LIST(expr); - if (list == NULL || list->subexpressions.is_empty()) - return NULL; - - s_symbol *tag = SX_AS_SYMBOL(list->subexpressions.head); - assert(tag != NULL); - - if (strcmp(tag->value(), "var_ref") == 0) - return read_var_ref(st, list); - if (strcmp(tag->value(), "array_ref") == 0) - return read_array_ref(st, list); - if (strcmp(tag->value(), "record_ref") == 0) - return read_record_ref(st, list); - return NULL; -} - -static ir_dereference_variable * -read_var_ref(_mesa_glsl_parse_state *st, s_list *list) -{ - void *ctx = st; - if (list->length() != 2) { - ir_read_error(st, list, "expected (var_ref <variable name>)"); - return NULL; - } - s_symbol *var_name = SX_AS_SYMBOL(list->subexpressions.head->next); - if (var_name == NULL) { - ir_read_error(st, list, "expected (var_ref <variable name>)"); - return NULL; - } - - ir_variable *var = st->symbols->get_variable(var_name->value()); - if (var == NULL) { - ir_read_error(st, list, "undeclared variable: %s", var_name->value()); - return NULL; - } - - return new(ctx) ir_dereference_variable(var); -} - -static ir_dereference_array * -read_array_ref(_mesa_glsl_parse_state *st, s_list *list) -{ - void *ctx = st; - if (list->length() != 3) { - ir_read_error(st, list, "expected (array_ref <rvalue> <index>)"); - return NULL; - } - - s_expression *subj_expr = (s_expression*) list->subexpressions.head->next; - ir_rvalue *subject = read_rvalue(st, subj_expr); - if (subject == NULL) { - ir_read_error(st, NULL, "when reading the subject of an array_ref"); - return NULL; - } - - s_expression *idx_expr = (s_expression*) subj_expr->next; - ir_rvalue *idx = read_rvalue(st, idx_expr); - return new(ctx) ir_dereference_array(subject, idx); -} - -static ir_dereference_record * -read_record_ref(_mesa_glsl_parse_state *st, s_list *list) -{ - void *ctx = st; - if (list->length() != 3) { - ir_read_error(st, list, "expected (record_ref <rvalue> <field>)"); - return NULL; - } - - s_expression *subj_expr = (s_expression*) list->subexpressions.head->next; - ir_rvalue *subject = read_rvalue(st, subj_expr); - if (subject == NULL) { - ir_read_error(st, NULL, "when reading the subject of a record_ref"); - return NULL; - } + s_symbol *s_var; + s_expression *s_subject; + s_expression *s_index; + s_symbol *s_field; + + s_pattern var_pat[] = { "var_ref", s_var }; + s_pattern array_pat[] = { "array_ref", s_subject, s_index }; + s_pattern record_pat[] = { "record_ref", s_subject, s_field }; + + if (MATCH(expr, var_pat)) { + ir_variable *var = state->symbols->get_variable(s_var->value()); + if (var == NULL) { + ir_read_error(expr, "undeclared variable: %s", s_var->value()); + return NULL; + } + return new(mem_ctx) ir_dereference_variable(var); + } else if (MATCH(expr, array_pat)) { + ir_rvalue *subject = read_rvalue(s_subject); + if (subject == NULL) { + ir_read_error(NULL, "when reading the subject of an array_ref"); + return NULL; + } - s_symbol *field = SX_AS_SYMBOL(subj_expr->next); - if (field == NULL) { - ir_read_error(st, list, "expected (record_ref ... <field name>)"); - return NULL; + ir_rvalue *idx = read_rvalue(s_index); + if (subject == NULL) { + ir_read_error(NULL, "when reading the index of an array_ref"); + return NULL; + } + return new(mem_ctx) ir_dereference_array(subject, idx); + } else if (MATCH(expr, record_pat)) { + ir_rvalue *subject = read_rvalue(s_subject); + if (subject == NULL) { + ir_read_error(NULL, "when reading the subject of a record_ref"); + return NULL; + } + return new(mem_ctx) ir_dereference_record(subject, s_field->value()); } - return new(ctx) ir_dereference_record(subject, field->value()); -} - -static bool -valid_texture_list_length(ir_texture_opcode op, s_list *list) -{ - unsigned required_length = 7; - if (op == ir_txf) - required_length = 5; - else if (op == ir_tex) - required_length = 6; - - return list->length() == required_length; + return NULL; } -static ir_texture * -read_texture(_mesa_glsl_parse_state *st, s_list *list) +ir_texture * +ir_reader::read_texture(s_expression *expr) { - void *ctx = st; - s_symbol *tag = SX_AS_SYMBOL(list->subexpressions.head); - assert(tag != NULL); - - ir_texture_opcode op = ir_texture::get_opcode(tag->value()); - if (op == (ir_texture_opcode) -1) - return NULL; - - if (!valid_texture_list_length(op, list)) { - ir_read_error(st, NULL, "invalid list size in (%s ...)", tag->value()); - return NULL; + s_symbol *tag = NULL; + s_expression *s_sampler = NULL; + s_expression *s_coord = NULL; + s_list *s_offset = NULL; + s_expression *s_proj = NULL; + s_list *s_shadow = NULL; + s_expression *s_lod = NULL; + + ir_texture_opcode op; + + s_pattern tex_pattern[] = + { "tex", s_sampler, s_coord, s_offset, s_proj, s_shadow }; + s_pattern txf_pattern[] = + { "txf", s_sampler, s_coord, s_offset, s_lod }; + s_pattern other_pattern[] = + { tag, s_sampler, s_coord, s_offset, s_proj, s_shadow, s_lod }; + + if (MATCH(expr, tex_pattern)) { + op = ir_tex; + } else if (MATCH(expr, txf_pattern)) { + op = ir_txf; + } else if (MATCH(expr, other_pattern)) { + op = ir_texture::get_opcode(tag->value()); + if (op == -1) + return NULL; } - ir_texture *tex = new(ctx) ir_texture(op); + ir_texture *tex = new(mem_ctx) ir_texture(op); // Read sampler (must be a deref) - s_expression *sampler_expr = (s_expression *) tag->next; - ir_dereference *sampler = read_dereference(st, sampler_expr); + ir_dereference *sampler = read_dereference(s_sampler); if (sampler == NULL) { - ir_read_error(st, NULL, "when reading sampler in (%s ...)", tag->value()); + ir_read_error(NULL, "when reading sampler in (%s ...)", + tex->opcode_string()); return NULL; } tex->set_sampler(sampler); // Read coordinate (any rvalue) - s_expression *coordinate_expr = (s_expression *) sampler_expr->next; - tex->coordinate = read_rvalue(st, coordinate_expr); + tex->coordinate = read_rvalue(s_coord); if (tex->coordinate == NULL) { - ir_read_error(st, NULL, "when reading coordinate in (%s ...)", - tag->value()); + ir_read_error(NULL, "when reading coordinate in (%s ...)", + tex->opcode_string()); return NULL; } // Read texel offset, i.e. (0 0 0) - s_list *offset_list = SX_AS_LIST(coordinate_expr->next); - if (offset_list == NULL || offset_list->length() != 3) { - ir_read_error(st, offset_list, "expected (<int> <int> <int>)"); - return NULL; - } - s_int *offset_x = SX_AS_INT(offset_list->subexpressions.head); - 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>)"); + s_int *offset_x; + s_int *offset_y; + s_int *offset_z; + s_pattern offset_pat[] = { offset_x, offset_y, offset_z }; + if (!MATCH(s_offset, offset_pat)) { + ir_read_error(s_offset, "expected (<int> <int> <int>)"); return NULL; } tex->offsets[0] = offset_x->value(); tex->offsets[1] = offset_y->value(); tex->offsets[2] = offset_z->value(); - if (op == ir_txf) { - s_expression *lod_expr = (s_expression *) offset_list->next; - tex->lod_info.lod = read_rvalue(st, lod_expr); - if (tex->lod_info.lod == NULL) { - ir_read_error(st, NULL, "when reading LOD in (txf ...)"); - return NULL; - } - } else { - s_expression *proj_expr = (s_expression *) offset_list->next; - s_int *proj_as_int = SX_AS_INT(proj_expr); + if (op != ir_txf) { + s_int *proj_as_int = SX_AS_INT(s_proj); if (proj_as_int && proj_as_int->value() == 1) { tex->projector = NULL; } else { - tex->projector = read_rvalue(st, proj_expr); + tex->projector = read_rvalue(s_proj); if (tex->projector == NULL) { - ir_read_error(st, NULL, "when reading projective divide in (%s ..)", - tag->value()); + ir_read_error(NULL, "when reading projective divide in (%s ..)", + tex->opcode_string()); return NULL; } } - s_list *shadow_list = SX_AS_LIST(proj_expr->next); - if (shadow_list == NULL) { - ir_read_error(st, NULL, "shadow comparitor must be a list"); - return NULL; - } - if (shadow_list->subexpressions.is_empty()) { - tex->shadow_comparitor= NULL; + if (s_shadow->subexpressions.is_empty()) { + tex->shadow_comparitor = NULL; } else { - tex->shadow_comparitor = read_rvalue(st, shadow_list); + tex->shadow_comparitor = read_rvalue(s_shadow); if (tex->shadow_comparitor == NULL) { - ir_read_error(st, NULL, "when reading shadow comparitor in (%s ..)", - tag->value()); + ir_read_error(NULL, "when reading shadow comparitor in (%s ..)", + tex->opcode_string()); return NULL; } } - s_expression *lod_expr = (s_expression *) shadow_list->next; - - switch (op) { - case ir_txb: - tex->lod_info.bias = read_rvalue(st, lod_expr); - if (tex->lod_info.bias == NULL) { - ir_read_error(st, NULL, "when reading LOD bias in (txb ...)"); - return NULL; - } - break; - case ir_txl: - tex->lod_info.lod = read_rvalue(st, lod_expr); - if (tex->lod_info.lod == NULL) { - ir_read_error(st, NULL, "when reading LOD in (txl ...)"); - return NULL; - } - break; - case ir_txd: { - s_list *lod_list = SX_AS_LIST(lod_expr); - if (lod_list->length() != 2) { - ir_read_error(st, lod_expr, "expected (dPdx dPdy) in (txd ...)"); - return NULL; - } - s_expression *dx_expr = (s_expression *) lod_list->subexpressions.head; - s_expression *dy_expr = (s_expression *) dx_expr->next; + } - tex->lod_info.grad.dPdx = read_rvalue(st, dx_expr); - if (tex->lod_info.grad.dPdx == NULL) { - ir_read_error(st, NULL, "when reading dPdx in (txd ...)"); - return NULL; - } - tex->lod_info.grad.dPdy = read_rvalue(st, dy_expr); - if (tex->lod_info.grad.dPdy == NULL) { - ir_read_error(st, NULL, "when reading dPdy in (txd ...)"); - return NULL; - } - break; + switch (op) { + case ir_txb: + tex->lod_info.bias = read_rvalue(s_lod); + if (tex->lod_info.bias == NULL) { + ir_read_error(NULL, "when reading LOD bias in (txb ...)"); + return NULL; + } + break; + case ir_txl: + case ir_txf: + tex->lod_info.lod = read_rvalue(s_lod); + if (tex->lod_info.lod == NULL) { + ir_read_error(NULL, "when reading LOD in (%s ...)", + tex->opcode_string()); + return NULL; + } + break; + case ir_txd: { + s_expression *s_dx, *s_dy; + s_pattern dxdy_pat[] = { s_dx, s_dy }; + if (!MATCH(s_lod, dxdy_pat)) { + ir_read_error(s_lod, "expected (dPdx dPdy) in (txd ...)"); + return NULL; + } + tex->lod_info.grad.dPdx = read_rvalue(s_dx); + if (tex->lod_info.grad.dPdx == NULL) { + ir_read_error(NULL, "when reading dPdx in (txd ...)"); + return NULL; + } + tex->lod_info.grad.dPdy = read_rvalue(s_dy); + if (tex->lod_info.grad.dPdy == NULL) { + ir_read_error(NULL, "when reading dPdy in (txd ...)"); + return NULL; } - default: - // tex doesn't have any extra parameters and txf was handled earlier. - break; - }; + break; } + default: + // tex doesn't have any extra parameters. + break; + }; return tex; } diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp index 714281539ac..085456533c5 100644 --- a/src/glsl/ir_set_program_inouts.cpp +++ b/src/glsl/ir_set_program_inouts.cpp @@ -79,6 +79,8 @@ mark(struct gl_program *prog, ir_variable *var, int offset, int len) for (int i = 0; i < len; i++) { if (var->mode == ir_var_in) prog->InputsRead |= BITFIELD64_BIT(var->location + offset + i); + else if (var->mode == ir_var_system_value) + prog->SystemValuesRead |= (1 << (var->location + offset + i)); else prog->OutputsWritten |= BITFIELD64_BIT(var->location + offset + i); } @@ -134,7 +136,8 @@ ir_visitor_status ir_set_program_inouts_visitor::visit(ir_variable *ir) { if (ir->mode == ir_var_in || - ir->mode == ir_var_out) { + ir->mode == ir_var_out || + ir->mode == ir_var_system_value) { hash_table_insert(this->ht, ir, ir); } @@ -158,5 +161,6 @@ do_set_program_inouts(exec_list *instructions, struct gl_program *prog) prog->InputsRead = 0; prog->OutputsWritten = 0; + prog->SystemValuesRead = 0; visit_list_elements(&v, instructions); } diff --git a/src/glsl/ir_variable.cpp b/src/glsl/ir_variable.cpp index 5b8281e16e3..73da28faf4f 100644 --- a/src/glsl/ir_variable.cpp +++ b/src/glsl/ir_variable.cpp @@ -30,6 +30,11 @@ static void generate_ARB_draw_buffers_variables(exec_list *, struct _mesa_glsl_parse_state *, bool, _mesa_glsl_parser_targets); +static void +generate_ARB_draw_instanced_variables(exec_list *, + struct _mesa_glsl_parse_state *, + bool, _mesa_glsl_parser_targets); + static ir_variable * add_variable(const char *name, enum ir_variable_mode mode, int slot, const glsl_type *type, exec_list *instructions, @@ -41,6 +46,7 @@ add_variable(const char *name, enum ir_variable_mode mode, int slot, case ir_var_auto: case ir_var_in: case ir_var_uniform: + case ir_var_system_value: var->read_only = true; break; case ir_var_inout: @@ -324,8 +330,13 @@ initialize_vs_variables(exec_list *instructions, generate_130_vs_variables(instructions, state); break; } + + if (state->ARB_draw_instanced_enable) + generate_ARB_draw_instanced_variables(instructions, state, false, + vertex_shader); } + /* This function should only be called for ES, not desktop GL. */ static void generate_100ES_fs_variables(exec_list *instructions, @@ -422,6 +433,27 @@ generate_ARB_draw_buffers_variables(exec_list *instructions, } } + +static void +generate_ARB_draw_instanced_variables(exec_list *instructions, + struct _mesa_glsl_parse_state *state, + bool warn, + _mesa_glsl_parser_targets target) +{ + /* gl_InstanceIDARB is only available in the vertex shader. + */ + if (target == vertex_shader) { + ir_variable *const inst = + add_variable("gl_InstanceIDARB", ir_var_system_value, + SYSTEM_VALUE_INSTANCE_ID, + glsl_type::int_type, instructions, state->symbols); + + if (warn) + inst->warn_extension = "GL_ARB_draw_instanced"; + } +} + + static void generate_ARB_shader_stencil_export_variables(exec_list *instructions, struct _mesa_glsl_parse_state *state, diff --git a/src/glsl/lower_jumps.cpp b/src/glsl/lower_jumps.cpp index d99e0aa7398..dd2601d1aad 100644 --- a/src/glsl/lower_jumps.cpp +++ b/src/glsl/lower_jumps.cpp @@ -66,7 +66,7 @@ enum jump_strength strength_always_clears_execute_flag, strength_continue, strength_break, - strength_return, + strength_return }; struct block_record diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp index c8fc2676253..9b041aafe42 100644 --- a/src/glsl/main.cpp +++ b/src/glsl/main.cpp @@ -24,11 +24,6 @@ #include <cstdio> #include <getopt.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> - #include "ast.h" #include "glsl_parser_extras.h" #include "glsl_parser.h" @@ -78,6 +73,7 @@ initialize_context(struct gl_context *ctx, gl_api api) ctx->API = api; ctx->Extensions.ARB_draw_buffers = GL_TRUE; + ctx->Extensions.ARB_draw_instanced = GL_TRUE; ctx->Extensions.ARB_fragment_coord_conventions = GL_TRUE; ctx->Extensions.EXT_texture_array = GL_TRUE; ctx->Extensions.NV_texture_rectangle = GL_TRUE; @@ -110,38 +106,40 @@ static char * load_text_file(void *ctx, const char *file_name) { char *text = NULL; - struct stat st; - ssize_t total_read = 0; - int fd = open(file_name, O_RDONLY); + size_t size; + size_t total_read = 0; + FILE *fp = fopen(file_name, "rb"); - if (fd < 0) { + if (!fp) { return NULL; } - if (fstat(fd, & st) == 0) { - text = (char *) talloc_size(ctx, st.st_size + 1); - if (text != NULL) { - do { - ssize_t bytes = read(fd, text + total_read, - st.st_size - total_read); - if (bytes < 0) { - free(text); - text = NULL; - break; - } - - if (bytes == 0) { - break; - } - - total_read += bytes; - } while (total_read < st.st_size); - - text[total_read] = '\0'; - } + fseek(fp, 0L, SEEK_END); + size = ftell(fp); + fseek(fp, 0L, SEEK_SET); + + text = (char *) talloc_size(ctx, size + 1); + if (text != NULL) { + do { + size_t bytes = fread(text + total_read, + 1, size - total_read, fp); + if (bytes < size - total_read) { + free(text); + text = NULL; + break; + } + + if (bytes == 0) { + break; + } + + total_read += bytes; + } while (total_read < size); + + text[total_read] = '\0'; } - close(fd); + fclose(fp); return text; } @@ -188,7 +186,7 @@ compile_shader(struct gl_context *ctx, struct gl_shader *shader) const char *source = shader->Source; state->error = preprocess(state, &source, &state->info_log, - state->extensions, ctx->API); + state->extensions, ctx->API) != 0; if (!state->error) { _mesa_glsl_lexer_ctor(state, source); diff --git a/src/glsl/s_expression.cpp b/src/glsl/s_expression.cpp index e420cd6e7ec..6edbf62e488 100644 --- a/src/glsl/s_expression.cpp +++ b/src/glsl/s_expression.cpp @@ -38,14 +38,15 @@ s_list::s_list() { } -unsigned -s_list::length() const +static void +skip_whitespace(const char *& src) { - unsigned i = 0; - foreach_iter(exec_list_iterator, it, this->subexpressions) { - i++; + src += strspn(src, " \v\t\r\n"); + /* Also skip Scheme-style comments: semi-colon 'til end of line */ + if (src[0] == ';') { + src += strcspn(src, "\n"); + skip_whitespace(src); } - return i; } static s_expression * @@ -53,10 +54,9 @@ read_atom(void *ctx, const char *& src) { s_expression *expr = NULL; - // Skip leading spaces. - src += strspn(src, " \v\t\r\n"); + skip_whitespace(src); - size_t n = strcspn(src, "( \v\t\r\n)"); + size_t n = strcspn(src, "( \v\t\r\n);"); if (n == 0) return NULL; // no atom @@ -90,8 +90,7 @@ s_expression::read_expression(void *ctx, const char *&src) if (atom != NULL) return atom; - // Skip leading spaces. - src += strspn(src, " \v\t\r\n"); + skip_whitespace(src); if (src[0] == '(') { ++src; @@ -101,7 +100,7 @@ s_expression::read_expression(void *ctx, const char *&src) while ((expr = read_expression(ctx, src)) != NULL) { list->subexpressions.push_tail(expr); } - src += strspn(src, " \v\t\r\n"); + skip_whitespace(src); if (src[0] != ')') { printf("Unclosed expression (check your parenthesis).\n"); return NULL; @@ -139,3 +138,49 @@ void s_list::print() printf(")"); } +// -------------------------------------------------- + +bool +s_pattern::match(s_expression *expr) +{ + switch (type) + { + case EXPR: *p_expr = expr; break; + case LIST: if (expr->is_list()) *p_list = (s_list *) expr; break; + case SYMBOL: if (expr->is_symbol()) *p_symbol = (s_symbol *) expr; break; + case NUMBER: if (expr->is_number()) *p_number = (s_number *) expr; break; + case INT: if (expr->is_int()) *p_int = (s_int *) expr; break; + case STRING: + s_symbol *sym = SX_AS_SYMBOL(expr); + if (sym != NULL && strcmp(sym->value(), literal) == 0) + return true; + return false; + }; + + return *p_expr == expr; +} + +bool +s_match(s_expression *top, unsigned n, s_pattern *pattern, bool partial) +{ + s_list *list = SX_AS_LIST(top); + if (list == NULL) + return false; + + unsigned i = 0; + foreach_iter(exec_list_iterator, it, list->subexpressions) { + if (i >= n) + return partial; /* More actual items than the pattern expected */ + + s_expression *expr = (s_expression *) it.get(); + if (expr == NULL || !pattern[i].match(expr)) + return false; + + i++; + } + + if (i < n) + return false; /* Less actual items than the pattern expected */ + + return true; +} diff --git a/src/glsl/s_expression.h b/src/glsl/s_expression.h index 29d800e394a..795f3fccea7 100644 --- a/src/glsl/s_expression.h +++ b/src/glsl/s_expression.h @@ -26,9 +26,11 @@ #ifndef S_EXPRESSION_H #define S_EXPRESSION_H +#include "main/core.h" /* for Elements */ #include "strtod.h" #include "list.h" +/* Type-safe downcasting macros (also safe to pass NULL) */ #define SX_AS_(t,x) ((x) && ((s_expression*) x)->is_##t()) ? ((s_##t*) (x)) \ : NULL #define SX_AS_LIST(x) SX_AS_(list, x) @@ -36,6 +38,10 @@ #define SX_AS_NUMBER(x) SX_AS_(number, x) #define SX_AS_INT(x) SX_AS_(int, x) +/* Pattern matching macros */ +#define MATCH(list, pat) s_match(list, Elements(pat), pat, false) +#define PARTIAL_MATCH(list, pat) s_match(list, Elements(pat), pat, true) + /* For our purposes, S-Expressions are: * - <int> * - <float> @@ -133,11 +139,42 @@ public: s_list(); virtual bool is_list() const { return true; } - unsigned length() const; void print(); exec_list subexpressions; }; +// ------------------------------------------------------------ + +/** + * Part of a pattern to match - essentially a record holding a pointer to the + * storage for the component to match, along with the appropriate type. + */ +class s_pattern { +public: + s_pattern(s_expression *&s) : p_expr(&s), type(EXPR) { } + s_pattern(s_list *&s) : p_list(&s), type(LIST) { } + s_pattern(s_symbol *&s) : p_symbol(&s), type(SYMBOL) { } + s_pattern(s_number *&s) : p_number(&s), type(NUMBER) { } + s_pattern(s_int *&s) : p_int(&s), type(INT) { } + s_pattern(const char *str) : literal(str), type(STRING) { } + + bool match(s_expression *expr); + +private: + union { + s_expression **p_expr; + s_list **p_list; + s_symbol **p_symbol; + s_number **p_number; + s_int **p_int; + const char *literal; + }; + enum { EXPR, LIST, SYMBOL, NUMBER, INT, STRING } type; +}; + +bool +s_match(s_expression *top, unsigned n, s_pattern *pattern, bool partial); + #endif /* S_EXPRESSION_H */ diff --git a/src/mapi/glapi/gen/ARB_ES2_compatibility.xml b/src/mapi/glapi/gen/ARB_ES2_compatibility.xml new file mode 100644 index 00000000000..d52a88c6036 --- /dev/null +++ b/src/mapi/glapi/gen/ARB_ES2_compatibility.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<OpenGLAPI> + +<category name="GL_ARB_ES2_compatibility" number="95"> + <enum name="FIXED" count="1" value="0x140C"/> + <enum name="LOW_FLOAT" value="0x8DF0"/> + <enum name="MEDIUM_FLOAT" value="0x8DF1"/> + <enum name="HIGH_FLOAT" value="0x8DF2"/> + <enum name="LOW_INT" value="0x8DF3"/> + <enum name="MEDIUM_INT" value="0x8DF4"/> + <enum name="HIGH_INT" value="0x8DF5"/> + <enum name="SHADER_BINARY_FORMATS" value="0x8DF8"/> + <enum name="NUM_SHADER_BINARY_FORMATS" value="0x8DF9"/> + <enum name="SHADER_COMPILER" value="0x8DFA"/> + <enum name="MAX_VERTEX_UNIFORM_VECTORS" value="0x8DFB"/> + <enum name="MAX_VARYING_VECTORS" value="0x8DFC"/> + <enum name="MAX_FRAGMENT_UNIFORM_VECTORS" value="0x8DFD"/> + + <function name="GetShaderPrecisionFormat" offset="assign"> + <param name="shadertype" type="GLenum"/> + <param name="precisiontype" type="GLenum"/> + <param name="range" type="GLint *"/> + <param name="precision" type="GLint *"/> + </function> + + <function name="ReleaseShaderCompiler" offset="assign"> + </function> + + <function name="ShaderBinary" offset="assign"> + <param name="n" type="GLsizei"/> + <param name="shaders" type="const GLuint *"/> + <param name="binaryformat" type="GLenum"/> + <param name="binary" type="const GLvoid *"/> + <param name="length" type="GLsizei"/> + </function> + + <!-- from GL_OES_fixed_point --> + <enum name="FIXED" value="0x140C"/> + <type name="fixed" size="4" /> + + <!-- from GL_OES_read_format --> + <enum name="IMPLEMENTATION_COLOR_READ_TYPE" value="0x8B9A"/> + <enum name="IMPLEMENTATION_COLOR_READ_FORMAT" value="0x8B9B"/> + + <!-- from GL_OES_single_precision --> + <function name="ClearDepthf" offset="assign"> + <param name="depth" type="GLclampf"/> + </function> + + <function name="DepthRangef" offset="assign"> + <param name="zNear" type="GLclampf"/> + <param name="zFar" type="GLclampf"/> + </function> +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml b/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml new file mode 100644 index 00000000000..0b6947cc5f3 --- /dev/null +++ b/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml @@ -0,0 +1,38 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- Note: no GLX protocol info yet. --> + + +<OpenGLAPI> + +<category name="GL_ARB_draw_buffers_blend" number="69"> + + <function name="BlendEquationiARB" offset="assign"> + <param name="buf" type="GLuint"/> + <param name="mode" type="GLenum"/> + </function> + + <function name="BlendEquationSeparateiARB" offset="assign"> + <param name="buf" type="GLuint"/> + <param name="modeRGB" type="GLenum"/> + <param name="modeA" type="GLenum"/> + </function> + + <function name="BlendFunciARB" offset="assign"> + <param name="buf" type="GLuint"/> + <param name="src" type="GLenum"/> + <param name="dst" type="GLenum"/> + </function> + + <function name="BlendFuncSeparateiARB" offset="assign"> + <param name="buf" type="GLuint"/> + <param name="srcRGB" type="GLenum"/> + <param name="dstRGB" type="GLenum"/> + <param name="srcA" type="GLenum"/> + <param name="dstA" type="GLenum"/> + </function> + +</category> + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/ARB_instanced_arrays.xml b/src/mapi/glapi/gen/ARB_instanced_arrays.xml new file mode 100644 index 00000000000..822f5437494 --- /dev/null +++ b/src/mapi/glapi/gen/ARB_instanced_arrays.xml @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- Note: no GLX protocol info yet. --> + + +<OpenGLAPI> + +<category name="GL_ARB_instanced_arrays" number="49"> + + <enum name="VERTEX_ATTRIB_ARRAY_DIVISOR_ARB" value="0x88FE"/> + + <function name="VertexAttribDivisorARB" offset="assign"> + <param name="index" type="GLuint"/> + <param name="divisor" type="GLuint"/> + </function> + +</category> + + +</OpenGLAPI> diff --git a/src/mapi/glapi/gen/Makefile b/src/mapi/glapi/gen/Makefile index 5a9b6ac4a87..2ad7876ad20 100644 --- a/src/mapi/glapi/gen/Makefile +++ b/src/mapi/glapi/gen/Makefile @@ -72,10 +72,13 @@ API_XML = \ gl_API.xml \ ARB_copy_buffer.xml \ ARB_depth_clamp.xml \ + ARB_draw_buffers_blend.xml \ ARB_draw_elements_base_vertex.xml \ ARB_draw_instanced.xml \ + ARB_ES2_compatibility.xml \ ARB_framebuffer_object.xml \ ARB_geometry_shader4.xml \ + ARB_instanced_arrays.xml \ ARB_map_buffer_range.xml \ ARB_seamless_cube_map.xml \ ARB_sync.xml \ diff --git a/src/mapi/glapi/gen/gl_API.xml b/src/mapi/glapi/gen/gl_API.xml index 2004647954c..834b6d64032 100644 --- a/src/mapi/glapi/gen/gl_API.xml +++ b/src/mapi/glapi/gen/gl_API.xml @@ -7949,6 +7949,8 @@ </enum> </category> +<xi:include href="ARB_ES2_compatibility.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <xi:include href="ARB_framebuffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> <xi:include href="ARB_copy_buffer.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> @@ -12521,5 +12523,8 @@ <xi:include href="EXT_gpu_shader4.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> <xi:include href="GL3x.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> +<xi:include href="ARB_instanced_arrays.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + +<xi:include href="ARB_draw_buffers_blend.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> </OpenGLAPI> diff --git a/src/mapi/glapi/glapi_sparc.S b/src/mapi/glapi/glapi_sparc.S index 969769a310c..099adb10113 100644 --- a/src/mapi/glapi/glapi_sparc.S +++ b/src/mapi/glapi/glapi_sparc.S @@ -773,344 +773,354 @@ gl_dispatch_functions_start: GL_STUB(glFramebufferTextureARB, 575) GL_STUB(glFramebufferTextureFaceARB, 576) GL_STUB(glProgramParameteriARB, 577) - GL_STUB(glFlushMappedBufferRange, 578) - GL_STUB(glMapBufferRange, 579) - GL_STUB(glBindVertexArray, 580) - GL_STUB(glGenVertexArrays, 581) - GL_STUB(glCopyBufferSubData, 582) - GL_STUB(glClientWaitSync, 583) - GL_STUB(glDeleteSync, 584) - GL_STUB(glFenceSync, 585) - GL_STUB(glGetInteger64v, 586) - GL_STUB(glGetSynciv, 587) - GL_STUB(glIsSync, 588) - GL_STUB(glWaitSync, 589) - GL_STUB(glDrawElementsBaseVertex, 590) - GL_STUB(glDrawRangeElementsBaseVertex, 591) - GL_STUB(glMultiDrawElementsBaseVertex, 592) - GL_STUB(glBindTransformFeedback, 593) - GL_STUB(glDeleteTransformFeedbacks, 594) - GL_STUB(glDrawTransformFeedback, 595) - GL_STUB(glGenTransformFeedbacks, 596) - GL_STUB(glIsTransformFeedback, 597) - GL_STUB(glPauseTransformFeedback, 598) - GL_STUB(glResumeTransformFeedback, 599) - GL_STUB(glPolygonOffsetEXT, 600) - GL_STUB(gl_dispatch_stub_601, 601) - HIDDEN(gl_dispatch_stub_601) - GL_STUB(gl_dispatch_stub_602, 602) - HIDDEN(gl_dispatch_stub_602) - GL_STUB(gl_dispatch_stub_603, 603) - HIDDEN(gl_dispatch_stub_603) - GL_STUB(gl_dispatch_stub_604, 604) - HIDDEN(gl_dispatch_stub_604) - GL_STUB(gl_dispatch_stub_605, 605) - HIDDEN(gl_dispatch_stub_605) - GL_STUB(gl_dispatch_stub_606, 606) - HIDDEN(gl_dispatch_stub_606) - GL_STUB(gl_dispatch_stub_607, 607) - HIDDEN(gl_dispatch_stub_607) - GL_STUB(gl_dispatch_stub_608, 608) - HIDDEN(gl_dispatch_stub_608) - GL_STUB(glColorPointerEXT, 609) - GL_STUB(glEdgeFlagPointerEXT, 610) - GL_STUB(glIndexPointerEXT, 611) - GL_STUB(glNormalPointerEXT, 612) - GL_STUB(glTexCoordPointerEXT, 613) - GL_STUB(glVertexPointerEXT, 614) - GL_STUB(glPointParameterfEXT, 615) - GL_STUB(glPointParameterfvEXT, 616) - GL_STUB(glLockArraysEXT, 617) - GL_STUB(glUnlockArraysEXT, 618) - GL_STUB(glSecondaryColor3bEXT, 619) - GL_STUB(glSecondaryColor3bvEXT, 620) - GL_STUB(glSecondaryColor3dEXT, 621) - GL_STUB(glSecondaryColor3dvEXT, 622) - GL_STUB(glSecondaryColor3fEXT, 623) - GL_STUB(glSecondaryColor3fvEXT, 624) - GL_STUB(glSecondaryColor3iEXT, 625) - GL_STUB(glSecondaryColor3ivEXT, 626) - GL_STUB(glSecondaryColor3sEXT, 627) - GL_STUB(glSecondaryColor3svEXT, 628) - GL_STUB(glSecondaryColor3ubEXT, 629) - GL_STUB(glSecondaryColor3ubvEXT, 630) - GL_STUB(glSecondaryColor3uiEXT, 631) - GL_STUB(glSecondaryColor3uivEXT, 632) - GL_STUB(glSecondaryColor3usEXT, 633) - GL_STUB(glSecondaryColor3usvEXT, 634) - GL_STUB(glSecondaryColorPointerEXT, 635) - GL_STUB(glMultiDrawArraysEXT, 636) - GL_STUB(glMultiDrawElementsEXT, 637) - GL_STUB(glFogCoordPointerEXT, 638) - GL_STUB(glFogCoorddEXT, 639) - GL_STUB(glFogCoorddvEXT, 640) - GL_STUB(glFogCoordfEXT, 641) - GL_STUB(glFogCoordfvEXT, 642) - GL_STUB(gl_dispatch_stub_643, 643) - HIDDEN(gl_dispatch_stub_643) - GL_STUB(glBlendFuncSeparateEXT, 644) - GL_STUB(glFlushVertexArrayRangeNV, 645) - GL_STUB(glVertexArrayRangeNV, 646) - GL_STUB(glCombinerInputNV, 647) - GL_STUB(glCombinerOutputNV, 648) - GL_STUB(glCombinerParameterfNV, 649) - GL_STUB(glCombinerParameterfvNV, 650) - GL_STUB(glCombinerParameteriNV, 651) - GL_STUB(glCombinerParameterivNV, 652) - GL_STUB(glFinalCombinerInputNV, 653) - GL_STUB(glGetCombinerInputParameterfvNV, 654) - GL_STUB(glGetCombinerInputParameterivNV, 655) - GL_STUB(glGetCombinerOutputParameterfvNV, 656) - GL_STUB(glGetCombinerOutputParameterivNV, 657) - GL_STUB(glGetFinalCombinerInputParameterfvNV, 658) - GL_STUB(glGetFinalCombinerInputParameterivNV, 659) - GL_STUB(glResizeBuffersMESA, 660) - GL_STUB(glWindowPos2dMESA, 661) - GL_STUB(glWindowPos2dvMESA, 662) - GL_STUB(glWindowPos2fMESA, 663) - GL_STUB(glWindowPos2fvMESA, 664) - GL_STUB(glWindowPos2iMESA, 665) - GL_STUB(glWindowPos2ivMESA, 666) - GL_STUB(glWindowPos2sMESA, 667) - GL_STUB(glWindowPos2svMESA, 668) - GL_STUB(glWindowPos3dMESA, 669) - GL_STUB(glWindowPos3dvMESA, 670) - GL_STUB(glWindowPos3fMESA, 671) - GL_STUB(glWindowPos3fvMESA, 672) - GL_STUB(glWindowPos3iMESA, 673) - GL_STUB(glWindowPos3ivMESA, 674) - GL_STUB(glWindowPos3sMESA, 675) - GL_STUB(glWindowPos3svMESA, 676) - GL_STUB(glWindowPos4dMESA, 677) - GL_STUB(glWindowPos4dvMESA, 678) - GL_STUB(glWindowPos4fMESA, 679) - GL_STUB(glWindowPos4fvMESA, 680) - GL_STUB(glWindowPos4iMESA, 681) - GL_STUB(glWindowPos4ivMESA, 682) - GL_STUB(glWindowPos4sMESA, 683) - GL_STUB(glWindowPos4svMESA, 684) - GL_STUB(gl_dispatch_stub_685, 685) - HIDDEN(gl_dispatch_stub_685) - GL_STUB(gl_dispatch_stub_686, 686) - HIDDEN(gl_dispatch_stub_686) - GL_STUB(gl_dispatch_stub_687, 687) - HIDDEN(gl_dispatch_stub_687) - GL_STUB(gl_dispatch_stub_688, 688) - HIDDEN(gl_dispatch_stub_688) - GL_STUB(gl_dispatch_stub_689, 689) - HIDDEN(gl_dispatch_stub_689) - GL_STUB(gl_dispatch_stub_690, 690) - HIDDEN(gl_dispatch_stub_690) - GL_STUB(gl_dispatch_stub_691, 691) - HIDDEN(gl_dispatch_stub_691) - GL_STUB(gl_dispatch_stub_692, 692) - HIDDEN(gl_dispatch_stub_692) - GL_STUB(gl_dispatch_stub_693, 693) - HIDDEN(gl_dispatch_stub_693) - GL_STUB(glAreProgramsResidentNV, 694) - GL_STUB(glBindProgramNV, 695) - GL_STUB(glDeleteProgramsNV, 696) - GL_STUB(glExecuteProgramNV, 697) - GL_STUB(glGenProgramsNV, 698) - GL_STUB(glGetProgramParameterdvNV, 699) - GL_STUB(glGetProgramParameterfvNV, 700) - GL_STUB(glGetProgramStringNV, 701) - GL_STUB(glGetProgramivNV, 702) - GL_STUB(glGetTrackMatrixivNV, 703) - GL_STUB(glGetVertexAttribPointervNV, 704) - GL_STUB(glGetVertexAttribdvNV, 705) - GL_STUB(glGetVertexAttribfvNV, 706) - GL_STUB(glGetVertexAttribivNV, 707) - GL_STUB(glIsProgramNV, 708) - GL_STUB(glLoadProgramNV, 709) - GL_STUB(glProgramParameters4dvNV, 710) - GL_STUB(glProgramParameters4fvNV, 711) - GL_STUB(glRequestResidentProgramsNV, 712) - GL_STUB(glTrackMatrixNV, 713) - GL_STUB(glVertexAttrib1dNV, 714) - GL_STUB(glVertexAttrib1dvNV, 715) - GL_STUB(glVertexAttrib1fNV, 716) - GL_STUB(glVertexAttrib1fvNV, 717) - GL_STUB(glVertexAttrib1sNV, 718) - GL_STUB(glVertexAttrib1svNV, 719) - GL_STUB(glVertexAttrib2dNV, 720) - GL_STUB(glVertexAttrib2dvNV, 721) - GL_STUB(glVertexAttrib2fNV, 722) - GL_STUB(glVertexAttrib2fvNV, 723) - GL_STUB(glVertexAttrib2sNV, 724) - GL_STUB(glVertexAttrib2svNV, 725) - GL_STUB(glVertexAttrib3dNV, 726) - GL_STUB(glVertexAttrib3dvNV, 727) - GL_STUB(glVertexAttrib3fNV, 728) - GL_STUB(glVertexAttrib3fvNV, 729) - GL_STUB(glVertexAttrib3sNV, 730) - GL_STUB(glVertexAttrib3svNV, 731) - GL_STUB(glVertexAttrib4dNV, 732) - GL_STUB(glVertexAttrib4dvNV, 733) - GL_STUB(glVertexAttrib4fNV, 734) - GL_STUB(glVertexAttrib4fvNV, 735) - GL_STUB(glVertexAttrib4sNV, 736) - GL_STUB(glVertexAttrib4svNV, 737) - GL_STUB(glVertexAttrib4ubNV, 738) - GL_STUB(glVertexAttrib4ubvNV, 739) - GL_STUB(glVertexAttribPointerNV, 740) - GL_STUB(glVertexAttribs1dvNV, 741) - GL_STUB(glVertexAttribs1fvNV, 742) - GL_STUB(glVertexAttribs1svNV, 743) - GL_STUB(glVertexAttribs2dvNV, 744) - GL_STUB(glVertexAttribs2fvNV, 745) - GL_STUB(glVertexAttribs2svNV, 746) - GL_STUB(glVertexAttribs3dvNV, 747) - GL_STUB(glVertexAttribs3fvNV, 748) - GL_STUB(glVertexAttribs3svNV, 749) - GL_STUB(glVertexAttribs4dvNV, 750) - GL_STUB(glVertexAttribs4fvNV, 751) - GL_STUB(glVertexAttribs4svNV, 752) - GL_STUB(glVertexAttribs4ubvNV, 753) - GL_STUB(glGetTexBumpParameterfvATI, 754) - GL_STUB(glGetTexBumpParameterivATI, 755) - GL_STUB(glTexBumpParameterfvATI, 756) - GL_STUB(glTexBumpParameterivATI, 757) - GL_STUB(glAlphaFragmentOp1ATI, 758) - GL_STUB(glAlphaFragmentOp2ATI, 759) - GL_STUB(glAlphaFragmentOp3ATI, 760) - GL_STUB(glBeginFragmentShaderATI, 761) - GL_STUB(glBindFragmentShaderATI, 762) - GL_STUB(glColorFragmentOp1ATI, 763) - GL_STUB(glColorFragmentOp2ATI, 764) - GL_STUB(glColorFragmentOp3ATI, 765) - GL_STUB(glDeleteFragmentShaderATI, 766) - GL_STUB(glEndFragmentShaderATI, 767) - GL_STUB(glGenFragmentShadersATI, 768) - GL_STUB(glPassTexCoordATI, 769) - GL_STUB(glSampleMapATI, 770) - GL_STUB(glSetFragmentShaderConstantATI, 771) - GL_STUB(glPointParameteriNV, 772) - GL_STUB(glPointParameterivNV, 773) - GL_STUB(gl_dispatch_stub_774, 774) - HIDDEN(gl_dispatch_stub_774) - GL_STUB(gl_dispatch_stub_775, 775) - HIDDEN(gl_dispatch_stub_775) - GL_STUB(gl_dispatch_stub_776, 776) - HIDDEN(gl_dispatch_stub_776) - GL_STUB(gl_dispatch_stub_777, 777) - HIDDEN(gl_dispatch_stub_777) - GL_STUB(gl_dispatch_stub_778, 778) - HIDDEN(gl_dispatch_stub_778) - GL_STUB(glGetProgramNamedParameterdvNV, 779) - GL_STUB(glGetProgramNamedParameterfvNV, 780) - GL_STUB(glProgramNamedParameter4dNV, 781) - GL_STUB(glProgramNamedParameter4dvNV, 782) - GL_STUB(glProgramNamedParameter4fNV, 783) - GL_STUB(glProgramNamedParameter4fvNV, 784) - GL_STUB(glPrimitiveRestartIndexNV, 785) - GL_STUB(glPrimitiveRestartNV, 786) + GL_STUB(glVertexAttribDivisorARB, 578) + GL_STUB(glFlushMappedBufferRange, 579) + GL_STUB(glMapBufferRange, 580) + GL_STUB(glBindVertexArray, 581) + GL_STUB(glGenVertexArrays, 582) + GL_STUB(glCopyBufferSubData, 583) + GL_STUB(glClientWaitSync, 584) + GL_STUB(glDeleteSync, 585) + GL_STUB(glFenceSync, 586) + GL_STUB(glGetInteger64v, 587) + GL_STUB(glGetSynciv, 588) + GL_STUB(glIsSync, 589) + GL_STUB(glWaitSync, 590) + GL_STUB(glDrawElementsBaseVertex, 591) + GL_STUB(glDrawRangeElementsBaseVertex, 592) + GL_STUB(glMultiDrawElementsBaseVertex, 593) + GL_STUB(glBlendEquationSeparateiARB, 594) + GL_STUB(glBlendEquationiARB, 595) + GL_STUB(glBlendFuncSeparateiARB, 596) + GL_STUB(glBlendFunciARB, 597) + GL_STUB(glBindTransformFeedback, 598) + GL_STUB(glDeleteTransformFeedbacks, 599) + GL_STUB(glDrawTransformFeedback, 600) + GL_STUB(glGenTransformFeedbacks, 601) + GL_STUB(glIsTransformFeedback, 602) + GL_STUB(glPauseTransformFeedback, 603) + GL_STUB(glResumeTransformFeedback, 604) + GL_STUB(glClearDepthf, 605) + GL_STUB(glDepthRangef, 606) + GL_STUB(glGetShaderPrecisionFormat, 607) + GL_STUB(glReleaseShaderCompiler, 608) + GL_STUB(glShaderBinary, 609) + GL_STUB(glPolygonOffsetEXT, 610) + GL_STUB(gl_dispatch_stub_611, 611) + HIDDEN(gl_dispatch_stub_611) + GL_STUB(gl_dispatch_stub_612, 612) + HIDDEN(gl_dispatch_stub_612) + GL_STUB(gl_dispatch_stub_613, 613) + HIDDEN(gl_dispatch_stub_613) + GL_STUB(gl_dispatch_stub_614, 614) + HIDDEN(gl_dispatch_stub_614) + GL_STUB(gl_dispatch_stub_615, 615) + HIDDEN(gl_dispatch_stub_615) + GL_STUB(gl_dispatch_stub_616, 616) + HIDDEN(gl_dispatch_stub_616) + GL_STUB(gl_dispatch_stub_617, 617) + HIDDEN(gl_dispatch_stub_617) + GL_STUB(gl_dispatch_stub_618, 618) + HIDDEN(gl_dispatch_stub_618) + GL_STUB(glColorPointerEXT, 619) + GL_STUB(glEdgeFlagPointerEXT, 620) + GL_STUB(glIndexPointerEXT, 621) + GL_STUB(glNormalPointerEXT, 622) + GL_STUB(glTexCoordPointerEXT, 623) + GL_STUB(glVertexPointerEXT, 624) + GL_STUB(glPointParameterfEXT, 625) + GL_STUB(glPointParameterfvEXT, 626) + GL_STUB(glLockArraysEXT, 627) + GL_STUB(glUnlockArraysEXT, 628) + GL_STUB(glSecondaryColor3bEXT, 629) + GL_STUB(glSecondaryColor3bvEXT, 630) + GL_STUB(glSecondaryColor3dEXT, 631) + GL_STUB(glSecondaryColor3dvEXT, 632) + GL_STUB(glSecondaryColor3fEXT, 633) + GL_STUB(glSecondaryColor3fvEXT, 634) + GL_STUB(glSecondaryColor3iEXT, 635) + GL_STUB(glSecondaryColor3ivEXT, 636) + GL_STUB(glSecondaryColor3sEXT, 637) + GL_STUB(glSecondaryColor3svEXT, 638) + GL_STUB(glSecondaryColor3ubEXT, 639) + GL_STUB(glSecondaryColor3ubvEXT, 640) + GL_STUB(glSecondaryColor3uiEXT, 641) + GL_STUB(glSecondaryColor3uivEXT, 642) + GL_STUB(glSecondaryColor3usEXT, 643) + GL_STUB(glSecondaryColor3usvEXT, 644) + GL_STUB(glSecondaryColorPointerEXT, 645) + GL_STUB(glMultiDrawArraysEXT, 646) + GL_STUB(glMultiDrawElementsEXT, 647) + GL_STUB(glFogCoordPointerEXT, 648) + GL_STUB(glFogCoorddEXT, 649) + GL_STUB(glFogCoorddvEXT, 650) + GL_STUB(glFogCoordfEXT, 651) + GL_STUB(glFogCoordfvEXT, 652) + GL_STUB(gl_dispatch_stub_653, 653) + HIDDEN(gl_dispatch_stub_653) + GL_STUB(glBlendFuncSeparateEXT, 654) + GL_STUB(glFlushVertexArrayRangeNV, 655) + GL_STUB(glVertexArrayRangeNV, 656) + GL_STUB(glCombinerInputNV, 657) + GL_STUB(glCombinerOutputNV, 658) + GL_STUB(glCombinerParameterfNV, 659) + GL_STUB(glCombinerParameterfvNV, 660) + GL_STUB(glCombinerParameteriNV, 661) + GL_STUB(glCombinerParameterivNV, 662) + GL_STUB(glFinalCombinerInputNV, 663) + GL_STUB(glGetCombinerInputParameterfvNV, 664) + GL_STUB(glGetCombinerInputParameterivNV, 665) + GL_STUB(glGetCombinerOutputParameterfvNV, 666) + GL_STUB(glGetCombinerOutputParameterivNV, 667) + GL_STUB(glGetFinalCombinerInputParameterfvNV, 668) + GL_STUB(glGetFinalCombinerInputParameterivNV, 669) + GL_STUB(glResizeBuffersMESA, 670) + GL_STUB(glWindowPos2dMESA, 671) + GL_STUB(glWindowPos2dvMESA, 672) + GL_STUB(glWindowPos2fMESA, 673) + GL_STUB(glWindowPos2fvMESA, 674) + GL_STUB(glWindowPos2iMESA, 675) + GL_STUB(glWindowPos2ivMESA, 676) + GL_STUB(glWindowPos2sMESA, 677) + GL_STUB(glWindowPos2svMESA, 678) + GL_STUB(glWindowPos3dMESA, 679) + GL_STUB(glWindowPos3dvMESA, 680) + GL_STUB(glWindowPos3fMESA, 681) + GL_STUB(glWindowPos3fvMESA, 682) + GL_STUB(glWindowPos3iMESA, 683) + GL_STUB(glWindowPos3ivMESA, 684) + GL_STUB(glWindowPos3sMESA, 685) + GL_STUB(glWindowPos3svMESA, 686) + GL_STUB(glWindowPos4dMESA, 687) + GL_STUB(glWindowPos4dvMESA, 688) + GL_STUB(glWindowPos4fMESA, 689) + GL_STUB(glWindowPos4fvMESA, 690) + GL_STUB(glWindowPos4iMESA, 691) + GL_STUB(glWindowPos4ivMESA, 692) + GL_STUB(glWindowPos4sMESA, 693) + GL_STUB(glWindowPos4svMESA, 694) + GL_STUB(gl_dispatch_stub_695, 695) + HIDDEN(gl_dispatch_stub_695) + GL_STUB(gl_dispatch_stub_696, 696) + HIDDEN(gl_dispatch_stub_696) + GL_STUB(gl_dispatch_stub_697, 697) + HIDDEN(gl_dispatch_stub_697) + GL_STUB(gl_dispatch_stub_698, 698) + HIDDEN(gl_dispatch_stub_698) + GL_STUB(gl_dispatch_stub_699, 699) + HIDDEN(gl_dispatch_stub_699) + GL_STUB(gl_dispatch_stub_700, 700) + HIDDEN(gl_dispatch_stub_700) + GL_STUB(gl_dispatch_stub_701, 701) + HIDDEN(gl_dispatch_stub_701) + GL_STUB(gl_dispatch_stub_702, 702) + HIDDEN(gl_dispatch_stub_702) + GL_STUB(gl_dispatch_stub_703, 703) + HIDDEN(gl_dispatch_stub_703) + GL_STUB(glAreProgramsResidentNV, 704) + GL_STUB(glBindProgramNV, 705) + GL_STUB(glDeleteProgramsNV, 706) + GL_STUB(glExecuteProgramNV, 707) + GL_STUB(glGenProgramsNV, 708) + GL_STUB(glGetProgramParameterdvNV, 709) + GL_STUB(glGetProgramParameterfvNV, 710) + GL_STUB(glGetProgramStringNV, 711) + GL_STUB(glGetProgramivNV, 712) + GL_STUB(glGetTrackMatrixivNV, 713) + GL_STUB(glGetVertexAttribPointervNV, 714) + GL_STUB(glGetVertexAttribdvNV, 715) + GL_STUB(glGetVertexAttribfvNV, 716) + GL_STUB(glGetVertexAttribivNV, 717) + GL_STUB(glIsProgramNV, 718) + GL_STUB(glLoadProgramNV, 719) + GL_STUB(glProgramParameters4dvNV, 720) + GL_STUB(glProgramParameters4fvNV, 721) + GL_STUB(glRequestResidentProgramsNV, 722) + GL_STUB(glTrackMatrixNV, 723) + GL_STUB(glVertexAttrib1dNV, 724) + GL_STUB(glVertexAttrib1dvNV, 725) + GL_STUB(glVertexAttrib1fNV, 726) + GL_STUB(glVertexAttrib1fvNV, 727) + GL_STUB(glVertexAttrib1sNV, 728) + GL_STUB(glVertexAttrib1svNV, 729) + GL_STUB(glVertexAttrib2dNV, 730) + GL_STUB(glVertexAttrib2dvNV, 731) + GL_STUB(glVertexAttrib2fNV, 732) + GL_STUB(glVertexAttrib2fvNV, 733) + GL_STUB(glVertexAttrib2sNV, 734) + GL_STUB(glVertexAttrib2svNV, 735) + GL_STUB(glVertexAttrib3dNV, 736) + GL_STUB(glVertexAttrib3dvNV, 737) + GL_STUB(glVertexAttrib3fNV, 738) + GL_STUB(glVertexAttrib3fvNV, 739) + GL_STUB(glVertexAttrib3sNV, 740) + GL_STUB(glVertexAttrib3svNV, 741) + GL_STUB(glVertexAttrib4dNV, 742) + GL_STUB(glVertexAttrib4dvNV, 743) + GL_STUB(glVertexAttrib4fNV, 744) + GL_STUB(glVertexAttrib4fvNV, 745) + GL_STUB(glVertexAttrib4sNV, 746) + GL_STUB(glVertexAttrib4svNV, 747) + GL_STUB(glVertexAttrib4ubNV, 748) + GL_STUB(glVertexAttrib4ubvNV, 749) + GL_STUB(glVertexAttribPointerNV, 750) + GL_STUB(glVertexAttribs1dvNV, 751) + GL_STUB(glVertexAttribs1fvNV, 752) + GL_STUB(glVertexAttribs1svNV, 753) + GL_STUB(glVertexAttribs2dvNV, 754) + GL_STUB(glVertexAttribs2fvNV, 755) + GL_STUB(glVertexAttribs2svNV, 756) + GL_STUB(glVertexAttribs3dvNV, 757) + GL_STUB(glVertexAttribs3fvNV, 758) + GL_STUB(glVertexAttribs3svNV, 759) + GL_STUB(glVertexAttribs4dvNV, 760) + GL_STUB(glVertexAttribs4fvNV, 761) + GL_STUB(glVertexAttribs4svNV, 762) + GL_STUB(glVertexAttribs4ubvNV, 763) + GL_STUB(glGetTexBumpParameterfvATI, 764) + GL_STUB(glGetTexBumpParameterivATI, 765) + GL_STUB(glTexBumpParameterfvATI, 766) + GL_STUB(glTexBumpParameterivATI, 767) + GL_STUB(glAlphaFragmentOp1ATI, 768) + GL_STUB(glAlphaFragmentOp2ATI, 769) + GL_STUB(glAlphaFragmentOp3ATI, 770) + GL_STUB(glBeginFragmentShaderATI, 771) + GL_STUB(glBindFragmentShaderATI, 772) + GL_STUB(glColorFragmentOp1ATI, 773) + GL_STUB(glColorFragmentOp2ATI, 774) + GL_STUB(glColorFragmentOp3ATI, 775) + GL_STUB(glDeleteFragmentShaderATI, 776) + GL_STUB(glEndFragmentShaderATI, 777) + GL_STUB(glGenFragmentShadersATI, 778) + GL_STUB(glPassTexCoordATI, 779) + GL_STUB(glSampleMapATI, 780) + GL_STUB(glSetFragmentShaderConstantATI, 781) + GL_STUB(glPointParameteriNV, 782) + GL_STUB(glPointParameterivNV, 783) + GL_STUB(gl_dispatch_stub_784, 784) + HIDDEN(gl_dispatch_stub_784) + GL_STUB(gl_dispatch_stub_785, 785) + HIDDEN(gl_dispatch_stub_785) + GL_STUB(gl_dispatch_stub_786, 786) + HIDDEN(gl_dispatch_stub_786) GL_STUB(gl_dispatch_stub_787, 787) HIDDEN(gl_dispatch_stub_787) GL_STUB(gl_dispatch_stub_788, 788) HIDDEN(gl_dispatch_stub_788) - GL_STUB(glBindFramebufferEXT, 789) - GL_STUB(glBindRenderbufferEXT, 790) - GL_STUB(glCheckFramebufferStatusEXT, 791) - GL_STUB(glDeleteFramebuffersEXT, 792) - GL_STUB(glDeleteRenderbuffersEXT, 793) - GL_STUB(glFramebufferRenderbufferEXT, 794) - GL_STUB(glFramebufferTexture1DEXT, 795) - GL_STUB(glFramebufferTexture2DEXT, 796) - GL_STUB(glFramebufferTexture3DEXT, 797) - GL_STUB(glGenFramebuffersEXT, 798) - GL_STUB(glGenRenderbuffersEXT, 799) - GL_STUB(glGenerateMipmapEXT, 800) - GL_STUB(glGetFramebufferAttachmentParameterivEXT, 801) - GL_STUB(glGetRenderbufferParameterivEXT, 802) - GL_STUB(glIsFramebufferEXT, 803) - GL_STUB(glIsRenderbufferEXT, 804) - GL_STUB(glRenderbufferStorageEXT, 805) - GL_STUB(gl_dispatch_stub_806, 806) - HIDDEN(gl_dispatch_stub_806) - GL_STUB(gl_dispatch_stub_807, 807) - HIDDEN(gl_dispatch_stub_807) - GL_STUB(gl_dispatch_stub_808, 808) - HIDDEN(gl_dispatch_stub_808) - GL_STUB(glBindFragDataLocationEXT, 809) - GL_STUB(glGetFragDataLocationEXT, 810) - GL_STUB(glGetUniformuivEXT, 811) - GL_STUB(glGetVertexAttribIivEXT, 812) - GL_STUB(glGetVertexAttribIuivEXT, 813) - GL_STUB(glUniform1uiEXT, 814) - GL_STUB(glUniform1uivEXT, 815) - GL_STUB(glUniform2uiEXT, 816) - GL_STUB(glUniform2uivEXT, 817) - GL_STUB(glUniform3uiEXT, 818) - GL_STUB(glUniform3uivEXT, 819) - GL_STUB(glUniform4uiEXT, 820) - GL_STUB(glUniform4uivEXT, 821) - GL_STUB(glVertexAttribI1iEXT, 822) - GL_STUB(glVertexAttribI1ivEXT, 823) - GL_STUB(glVertexAttribI1uiEXT, 824) - GL_STUB(glVertexAttribI1uivEXT, 825) - GL_STUB(glVertexAttribI2iEXT, 826) - GL_STUB(glVertexAttribI2ivEXT, 827) - GL_STUB(glVertexAttribI2uiEXT, 828) - GL_STUB(glVertexAttribI2uivEXT, 829) - GL_STUB(glVertexAttribI3iEXT, 830) - GL_STUB(glVertexAttribI3ivEXT, 831) - GL_STUB(glVertexAttribI3uiEXT, 832) - GL_STUB(glVertexAttribI3uivEXT, 833) - GL_STUB(glVertexAttribI4bvEXT, 834) - GL_STUB(glVertexAttribI4iEXT, 835) - GL_STUB(glVertexAttribI4ivEXT, 836) - GL_STUB(glVertexAttribI4svEXT, 837) - GL_STUB(glVertexAttribI4ubvEXT, 838) - GL_STUB(glVertexAttribI4uiEXT, 839) - GL_STUB(glVertexAttribI4uivEXT, 840) - GL_STUB(glVertexAttribI4usvEXT, 841) - GL_STUB(glVertexAttribIPointerEXT, 842) - GL_STUB(glFramebufferTextureLayerEXT, 843) - GL_STUB(glColorMaskIndexedEXT, 844) - GL_STUB(glDisableIndexedEXT, 845) - GL_STUB(glEnableIndexedEXT, 846) - GL_STUB(glGetBooleanIndexedvEXT, 847) - GL_STUB(glGetIntegerIndexedvEXT, 848) - GL_STUB(glIsEnabledIndexedEXT, 849) - GL_STUB(glClearColorIiEXT, 850) - GL_STUB(glClearColorIuiEXT, 851) - GL_STUB(glGetTexParameterIivEXT, 852) - GL_STUB(glGetTexParameterIuivEXT, 853) - GL_STUB(glTexParameterIivEXT, 854) - GL_STUB(glTexParameterIuivEXT, 855) - GL_STUB(glBeginConditionalRenderNV, 856) - GL_STUB(glEndConditionalRenderNV, 857) - GL_STUB(glBeginTransformFeedbackEXT, 858) - GL_STUB(glBindBufferBaseEXT, 859) - GL_STUB(glBindBufferOffsetEXT, 860) - GL_STUB(glBindBufferRangeEXT, 861) - GL_STUB(glEndTransformFeedbackEXT, 862) - GL_STUB(glGetTransformFeedbackVaryingEXT, 863) - GL_STUB(glTransformFeedbackVaryingsEXT, 864) - GL_STUB(glProvokingVertexEXT, 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(glGetObjectParameterivAPPLE, 868) - GL_STUB(glObjectPurgeableAPPLE, 869) - GL_STUB(glObjectUnpurgeableAPPLE, 870) - GL_STUB(glActiveProgramEXT, 871) - GL_STUB(glCreateShaderProgramEXT, 872) - GL_STUB(glUseShaderProgramEXT, 873) - GL_STUB(gl_dispatch_stub_874, 874) - HIDDEN(gl_dispatch_stub_874) - GL_STUB(gl_dispatch_stub_875, 875) - HIDDEN(gl_dispatch_stub_875) + GL_STUB(glGetProgramNamedParameterdvNV, 789) + GL_STUB(glGetProgramNamedParameterfvNV, 790) + GL_STUB(glProgramNamedParameter4dNV, 791) + GL_STUB(glProgramNamedParameter4dvNV, 792) + GL_STUB(glProgramNamedParameter4fNV, 793) + GL_STUB(glProgramNamedParameter4fvNV, 794) + GL_STUB(glPrimitiveRestartIndexNV, 795) + GL_STUB(glPrimitiveRestartNV, 796) + GL_STUB(gl_dispatch_stub_797, 797) + HIDDEN(gl_dispatch_stub_797) + GL_STUB(gl_dispatch_stub_798, 798) + HIDDEN(gl_dispatch_stub_798) + GL_STUB(glBindFramebufferEXT, 799) + GL_STUB(glBindRenderbufferEXT, 800) + GL_STUB(glCheckFramebufferStatusEXT, 801) + GL_STUB(glDeleteFramebuffersEXT, 802) + GL_STUB(glDeleteRenderbuffersEXT, 803) + GL_STUB(glFramebufferRenderbufferEXT, 804) + GL_STUB(glFramebufferTexture1DEXT, 805) + GL_STUB(glFramebufferTexture2DEXT, 806) + GL_STUB(glFramebufferTexture3DEXT, 807) + GL_STUB(glGenFramebuffersEXT, 808) + GL_STUB(glGenRenderbuffersEXT, 809) + GL_STUB(glGenerateMipmapEXT, 810) + GL_STUB(glGetFramebufferAttachmentParameterivEXT, 811) + GL_STUB(glGetRenderbufferParameterivEXT, 812) + GL_STUB(glIsFramebufferEXT, 813) + GL_STUB(glIsRenderbufferEXT, 814) + GL_STUB(glRenderbufferStorageEXT, 815) + GL_STUB(gl_dispatch_stub_816, 816) + HIDDEN(gl_dispatch_stub_816) + GL_STUB(gl_dispatch_stub_817, 817) + HIDDEN(gl_dispatch_stub_817) + GL_STUB(gl_dispatch_stub_818, 818) + HIDDEN(gl_dispatch_stub_818) + GL_STUB(glBindFragDataLocationEXT, 819) + GL_STUB(glGetFragDataLocationEXT, 820) + GL_STUB(glGetUniformuivEXT, 821) + GL_STUB(glGetVertexAttribIivEXT, 822) + GL_STUB(glGetVertexAttribIuivEXT, 823) + GL_STUB(glUniform1uiEXT, 824) + GL_STUB(glUniform1uivEXT, 825) + GL_STUB(glUniform2uiEXT, 826) + GL_STUB(glUniform2uivEXT, 827) + GL_STUB(glUniform3uiEXT, 828) + GL_STUB(glUniform3uivEXT, 829) + GL_STUB(glUniform4uiEXT, 830) + GL_STUB(glUniform4uivEXT, 831) + GL_STUB(glVertexAttribI1iEXT, 832) + GL_STUB(glVertexAttribI1ivEXT, 833) + GL_STUB(glVertexAttribI1uiEXT, 834) + GL_STUB(glVertexAttribI1uivEXT, 835) + GL_STUB(glVertexAttribI2iEXT, 836) + GL_STUB(glVertexAttribI2ivEXT, 837) + GL_STUB(glVertexAttribI2uiEXT, 838) + GL_STUB(glVertexAttribI2uivEXT, 839) + GL_STUB(glVertexAttribI3iEXT, 840) + GL_STUB(glVertexAttribI3ivEXT, 841) + GL_STUB(glVertexAttribI3uiEXT, 842) + GL_STUB(glVertexAttribI3uivEXT, 843) + GL_STUB(glVertexAttribI4bvEXT, 844) + GL_STUB(glVertexAttribI4iEXT, 845) + GL_STUB(glVertexAttribI4ivEXT, 846) + GL_STUB(glVertexAttribI4svEXT, 847) + GL_STUB(glVertexAttribI4ubvEXT, 848) + GL_STUB(glVertexAttribI4uiEXT, 849) + GL_STUB(glVertexAttribI4uivEXT, 850) + GL_STUB(glVertexAttribI4usvEXT, 851) + GL_STUB(glVertexAttribIPointerEXT, 852) + GL_STUB(glFramebufferTextureLayerEXT, 853) + GL_STUB(glColorMaskIndexedEXT, 854) + GL_STUB(glDisableIndexedEXT, 855) + GL_STUB(glEnableIndexedEXT, 856) + GL_STUB(glGetBooleanIndexedvEXT, 857) + GL_STUB(glGetIntegerIndexedvEXT, 858) + GL_STUB(glIsEnabledIndexedEXT, 859) + GL_STUB(glClearColorIiEXT, 860) + GL_STUB(glClearColorIuiEXT, 861) + GL_STUB(glGetTexParameterIivEXT, 862) + GL_STUB(glGetTexParameterIuivEXT, 863) + GL_STUB(glTexParameterIivEXT, 864) + GL_STUB(glTexParameterIuivEXT, 865) + GL_STUB(glBeginConditionalRenderNV, 866) + GL_STUB(glEndConditionalRenderNV, 867) + GL_STUB(glBeginTransformFeedbackEXT, 868) + GL_STUB(glBindBufferBaseEXT, 869) + GL_STUB(glBindBufferOffsetEXT, 870) + GL_STUB(glBindBufferRangeEXT, 871) + GL_STUB(glEndTransformFeedbackEXT, 872) + GL_STUB(glGetTransformFeedbackVaryingEXT, 873) + GL_STUB(glTransformFeedbackVaryingsEXT, 874) + GL_STUB(glProvokingVertexEXT, 875) GL_STUB(gl_dispatch_stub_876, 876) HIDDEN(gl_dispatch_stub_876) GL_STUB(gl_dispatch_stub_877, 877) HIDDEN(gl_dispatch_stub_877) - GL_STUB(gl_dispatch_stub_878, 878) - HIDDEN(gl_dispatch_stub_878) - GL_STUB(glEGLImageTargetRenderbufferStorageOES, 879) - GL_STUB(glEGLImageTargetTexture2DOES, 880) + GL_STUB(glGetObjectParameterivAPPLE, 878) + GL_STUB(glObjectPurgeableAPPLE, 879) + GL_STUB(glObjectUnpurgeableAPPLE, 880) + GL_STUB(glActiveProgramEXT, 881) + GL_STUB(glCreateShaderProgramEXT, 882) + GL_STUB(glUseShaderProgramEXT, 883) + GL_STUB(gl_dispatch_stub_884, 884) + HIDDEN(gl_dispatch_stub_884) + GL_STUB(gl_dispatch_stub_885, 885) + HIDDEN(gl_dispatch_stub_885) + GL_STUB(gl_dispatch_stub_886, 886) + HIDDEN(gl_dispatch_stub_886) + GL_STUB(gl_dispatch_stub_887, 887) + HIDDEN(gl_dispatch_stub_887) + GL_STUB(gl_dispatch_stub_888, 888) + HIDDEN(gl_dispatch_stub_888) + GL_STUB(glEGLImageTargetRenderbufferStorageOES, 889) + GL_STUB(glEGLImageTargetTexture2DOES, 890) 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 af46f2b337e..469fac31ae6 100644 --- a/src/mapi/glapi/glapi_x86-64.S +++ b/src/mapi/glapi/glapi_x86-64.S @@ -21797,12 +21797,49 @@ GL_PREFIX(ProgramParameteriARB): .size GL_PREFIX(ProgramParameteriARB), .-GL_PREFIX(ProgramParameteriARB) .p2align 4,,15 + .globl GL_PREFIX(VertexAttribDivisorARB) + .type GL_PREFIX(VertexAttribDivisorARB), @function +GL_PREFIX(VertexAttribDivisorARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4624(%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 4624(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4624(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4624(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(VertexAttribDivisorARB), .-GL_PREFIX(VertexAttribDivisorARB) + + .p2align 4,,15 .globl GL_PREFIX(FlushMappedBufferRange) .type GL_PREFIX(FlushMappedBufferRange), @function GL_PREFIX(FlushMappedBufferRange): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4624(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21812,13 +21849,13 @@ GL_PREFIX(FlushMappedBufferRange): popq %rdx popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4624(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21828,7 +21865,7 @@ GL_PREFIX(FlushMappedBufferRange): popq %rdx popq %rsi popq %rdi - movq 4624(%rax), %r11 + movq 4632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushMappedBufferRange), .-GL_PREFIX(FlushMappedBufferRange) @@ -21839,7 +21876,7 @@ GL_PREFIX(FlushMappedBufferRange): GL_PREFIX(MapBufferRange): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4632(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21853,13 +21890,13 @@ GL_PREFIX(MapBufferRange): popq %rdx popq %rsi popq %rdi - movq 4632(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4632(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21873,7 +21910,7 @@ GL_PREFIX(MapBufferRange): popq %rdx popq %rsi popq %rdi - movq 4632(%rax), %r11 + movq 4640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MapBufferRange), .-GL_PREFIX(MapBufferRange) @@ -21884,25 +21921,25 @@ GL_PREFIX(MapBufferRange): GL_PREFIX(BindVertexArray): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4640(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4640(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4640(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4640(%rax), %r11 + movq 4648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindVertexArray), .-GL_PREFIX(BindVertexArray) @@ -21913,7 +21950,7 @@ GL_PREFIX(BindVertexArray): GL_PREFIX(GenVertexArrays): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4648(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21923,13 +21960,13 @@ GL_PREFIX(GenVertexArrays): popq %rbp popq %rsi popq %rdi - movq 4648(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4648(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21939,7 +21976,7 @@ GL_PREFIX(GenVertexArrays): popq %rbp popq %rsi popq %rdi - movq 4648(%rax), %r11 + movq 4656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenVertexArrays), .-GL_PREFIX(GenVertexArrays) @@ -21950,7 +21987,7 @@ GL_PREFIX(GenVertexArrays): GL_PREFIX(CopyBufferSubData): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4656(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -21964,13 +22001,13 @@ GL_PREFIX(CopyBufferSubData): popq %rdx popq %rsi popq %rdi - movq 4656(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4656(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -21984,7 +22021,7 @@ GL_PREFIX(CopyBufferSubData): popq %rdx popq %rsi popq %rdi - movq 4656(%rax), %r11 + movq 4664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CopyBufferSubData), .-GL_PREFIX(CopyBufferSubData) @@ -21995,7 +22032,7 @@ GL_PREFIX(CopyBufferSubData): GL_PREFIX(ClientWaitSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4664(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22005,13 +22042,13 @@ GL_PREFIX(ClientWaitSync): popq %rdx popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4664(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22021,7 +22058,7 @@ GL_PREFIX(ClientWaitSync): popq %rdx popq %rsi popq %rdi - movq 4664(%rax), %r11 + movq 4672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClientWaitSync), .-GL_PREFIX(ClientWaitSync) @@ -22032,25 +22069,25 @@ GL_PREFIX(ClientWaitSync): GL_PREFIX(DeleteSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4672(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4672(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4672(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4672(%rax), %r11 + movq 4680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteSync), .-GL_PREFIX(DeleteSync) @@ -22061,7 +22098,7 @@ GL_PREFIX(DeleteSync): GL_PREFIX(FenceSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4680(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22071,13 +22108,13 @@ GL_PREFIX(FenceSync): popq %rbp popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4680(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22087,7 +22124,7 @@ GL_PREFIX(FenceSync): popq %rbp popq %rsi popq %rdi - movq 4680(%rax), %r11 + movq 4688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FenceSync), .-GL_PREFIX(FenceSync) @@ -22098,7 +22135,7 @@ GL_PREFIX(FenceSync): GL_PREFIX(GetInteger64v): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4688(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22108,13 +22145,13 @@ GL_PREFIX(GetInteger64v): popq %rbp popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4688(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22124,7 +22161,7 @@ GL_PREFIX(GetInteger64v): popq %rbp popq %rsi popq %rdi - movq 4688(%rax), %r11 + movq 4696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetInteger64v), .-GL_PREFIX(GetInteger64v) @@ -22135,7 +22172,7 @@ GL_PREFIX(GetInteger64v): GL_PREFIX(GetSynciv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4696(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22149,13 +22186,13 @@ GL_PREFIX(GetSynciv): popq %rdx popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4696(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22169,7 +22206,7 @@ GL_PREFIX(GetSynciv): popq %rdx popq %rsi popq %rdi - movq 4696(%rax), %r11 + movq 4704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetSynciv), .-GL_PREFIX(GetSynciv) @@ -22180,25 +22217,25 @@ GL_PREFIX(GetSynciv): GL_PREFIX(IsSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4704(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4704(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4704(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4704(%rax), %r11 + movq 4712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsSync), .-GL_PREFIX(IsSync) @@ -22209,7 +22246,7 @@ GL_PREFIX(IsSync): GL_PREFIX(WaitSync): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4712(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22219,13 +22256,13 @@ GL_PREFIX(WaitSync): popq %rdx popq %rsi popq %rdi - movq 4712(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4712(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22235,7 +22272,7 @@ GL_PREFIX(WaitSync): popq %rdx popq %rsi popq %rdi - movq 4712(%rax), %r11 + movq 4720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WaitSync), .-GL_PREFIX(WaitSync) @@ -22246,7 +22283,7 @@ GL_PREFIX(WaitSync): GL_PREFIX(DrawElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4720(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22260,13 +22297,13 @@ GL_PREFIX(DrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4720(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4720(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22280,7 +22317,7 @@ GL_PREFIX(DrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4720(%rax), %r11 + movq 4728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DrawElementsBaseVertex), .-GL_PREFIX(DrawElementsBaseVertex) @@ -22291,7 +22328,7 @@ GL_PREFIX(DrawElementsBaseVertex): GL_PREFIX(DrawRangeElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4728(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22309,13 +22346,13 @@ GL_PREFIX(DrawRangeElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4728(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22333,7 +22370,7 @@ GL_PREFIX(DrawRangeElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4728(%rax), %r11 + movq 4736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DrawRangeElementsBaseVertex), .-GL_PREFIX(DrawRangeElementsBaseVertex) @@ -22344,7 +22381,7 @@ GL_PREFIX(DrawRangeElementsBaseVertex): GL_PREFIX(MultiDrawElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4736(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22362,13 +22399,13 @@ GL_PREFIX(MultiDrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4736(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4736(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22386,18 +22423,174 @@ GL_PREFIX(MultiDrawElementsBaseVertex): popq %rdx popq %rsi popq %rdi - movq 4736(%rax), %r11 + movq 4744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsBaseVertex), .-GL_PREFIX(MultiDrawElementsBaseVertex) .p2align 4,,15 + .globl GL_PREFIX(BlendEquationSeparateiARB) + .type GL_PREFIX(BlendEquationSeparateiARB), @function +GL_PREFIX(BlendEquationSeparateiARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4752(%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 4752(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4752(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 4752(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(BlendEquationSeparateiARB), .-GL_PREFIX(BlendEquationSeparateiARB) + + .p2align 4,,15 + .globl GL_PREFIX(BlendEquationiARB) + .type GL_PREFIX(BlendEquationiARB), @function +GL_PREFIX(BlendEquationiARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4760(%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 4760(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4760(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4760(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(BlendEquationiARB), .-GL_PREFIX(BlendEquationiARB) + + .p2align 4,,15 + .globl GL_PREFIX(BlendFuncSeparateiARB) + .type GL_PREFIX(BlendFuncSeparateiARB), @function +GL_PREFIX(BlendFuncSeparateiARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4768(%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 4768(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4768(%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 4768(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(BlendFuncSeparateiARB), .-GL_PREFIX(BlendFuncSeparateiARB) + + .p2align 4,,15 + .globl GL_PREFIX(BlendFunciARB) + .type GL_PREFIX(BlendFunciARB), @function +GL_PREFIX(BlendFunciARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4776(%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 4776(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4776(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 4776(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(BlendFunciARB), .-GL_PREFIX(BlendFunciARB) + + .p2align 4,,15 .globl GL_PREFIX(BindTransformFeedback) .type GL_PREFIX(BindTransformFeedback), @function GL_PREFIX(BindTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4744(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22407,13 +22600,13 @@ GL_PREFIX(BindTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4744(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22423,7 +22616,7 @@ GL_PREFIX(BindTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4744(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindTransformFeedback), .-GL_PREFIX(BindTransformFeedback) @@ -22434,7 +22627,7 @@ GL_PREFIX(BindTransformFeedback): GL_PREFIX(DeleteTransformFeedbacks): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4752(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22444,13 +22637,13 @@ GL_PREFIX(DeleteTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4752(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4752(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22460,7 +22653,7 @@ GL_PREFIX(DeleteTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4752(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteTransformFeedbacks), .-GL_PREFIX(DeleteTransformFeedbacks) @@ -22471,7 +22664,7 @@ GL_PREFIX(DeleteTransformFeedbacks): GL_PREFIX(DrawTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4760(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22481,13 +22674,13 @@ GL_PREFIX(DrawTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4760(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22497,7 +22690,7 @@ GL_PREFIX(DrawTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4760(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DrawTransformFeedback), .-GL_PREFIX(DrawTransformFeedback) @@ -22508,7 +22701,7 @@ GL_PREFIX(DrawTransformFeedback): GL_PREFIX(GenTransformFeedbacks): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4768(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22518,13 +22711,13 @@ GL_PREFIX(GenTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4768(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22534,7 +22727,7 @@ GL_PREFIX(GenTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4768(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenTransformFeedbacks), .-GL_PREFIX(GenTransformFeedbacks) @@ -22545,25 +22738,25 @@ GL_PREFIX(GenTransformFeedbacks): GL_PREFIX(IsTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4776(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4776(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4776(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4776(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsTransformFeedback), .-GL_PREFIX(IsTransformFeedback) @@ -22574,25 +22767,25 @@ GL_PREFIX(IsTransformFeedback): GL_PREFIX(PauseTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4784(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4784(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4784(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4784(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PauseTransformFeedback), .-GL_PREFIX(PauseTransformFeedback) @@ -22603,36 +22796,221 @@ GL_PREFIX(PauseTransformFeedback): GL_PREFIX(ResumeTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4792(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4792(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4792(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4792(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResumeTransformFeedback), .-GL_PREFIX(ResumeTransformFeedback) .p2align 4,,15 + .globl GL_PREFIX(ClearDepthf) + .type GL_PREFIX(ClearDepthf), @function +GL_PREFIX(ClearDepthf): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4840(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 4840(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4840(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 4840(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(ClearDepthf), .-GL_PREFIX(ClearDepthf) + + .p2align 4,,15 + .globl GL_PREFIX(DepthRangef) + .type GL_PREFIX(DepthRangef), @function +GL_PREFIX(DepthRangef): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4848(%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 4848(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4848(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 4848(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(DepthRangef), .-GL_PREFIX(DepthRangef) + + .p2align 4,,15 + .globl GL_PREFIX(GetShaderPrecisionFormat) + .type GL_PREFIX(GetShaderPrecisionFormat), @function +GL_PREFIX(GetShaderPrecisionFormat): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4856(%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 4856(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4856(%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 4856(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(GetShaderPrecisionFormat), .-GL_PREFIX(GetShaderPrecisionFormat) + + .p2align 4,,15 + .globl GL_PREFIX(ReleaseShaderCompiler) + .type GL_PREFIX(ReleaseShaderCompiler), @function +GL_PREFIX(ReleaseShaderCompiler): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4864(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rbp + call _x86_64_get_dispatch@PLT + popq %rbp + movq 4864(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4864(%rax), %r11 + jmp *%r11 +1: + pushq %rbp + call _glapi_get_dispatch + popq %rbp + movq 4864(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(ReleaseShaderCompiler), .-GL_PREFIX(ReleaseShaderCompiler) + + .p2align 4,,15 + .globl GL_PREFIX(ShaderBinary) + .type GL_PREFIX(ShaderBinary), @function +GL_PREFIX(ShaderBinary): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4872(%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 4872(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4872(%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 4872(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(ShaderBinary), .-GL_PREFIX(ShaderBinary) + + .p2align 4,,15 .globl GL_PREFIX(PolygonOffsetEXT) .type GL_PREFIX(PolygonOffsetEXT), @function GL_PREFIX(PolygonOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22642,13 +23020,13 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22658,19 +23036,19 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4800(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_601) - .type GL_PREFIX(_dispatch_stub_601), @function - HIDDEN(GL_PREFIX(_dispatch_stub_601)) -GL_PREFIX(_dispatch_stub_601): + .globl GL_PREFIX(_dispatch_stub_611) + .type GL_PREFIX(_dispatch_stub_611), @function + HIDDEN(GL_PREFIX(_dispatch_stub_611)) +GL_PREFIX(_dispatch_stub_611): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22680,13 +23058,13 @@ GL_PREFIX(_dispatch_stub_601): popq %rbp popq %rsi popq %rdi - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22696,19 +23074,19 @@ GL_PREFIX(_dispatch_stub_601): popq %rbp popq %rsi popq %rdi - movq 4808(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_601), .-GL_PREFIX(_dispatch_stub_601) + .size GL_PREFIX(_dispatch_stub_611), .-GL_PREFIX(_dispatch_stub_611) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_602) - .type GL_PREFIX(_dispatch_stub_602), @function - HIDDEN(GL_PREFIX(_dispatch_stub_602)) -GL_PREFIX(_dispatch_stub_602): + .globl GL_PREFIX(_dispatch_stub_612) + .type GL_PREFIX(_dispatch_stub_612), @function + HIDDEN(GL_PREFIX(_dispatch_stub_612)) +GL_PREFIX(_dispatch_stub_612): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22718,13 +23096,13 @@ GL_PREFIX(_dispatch_stub_602): popq %rbp popq %rsi popq %rdi - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22734,19 +23112,19 @@ GL_PREFIX(_dispatch_stub_602): popq %rbp popq %rsi popq %rdi - movq 4816(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_602), .-GL_PREFIX(_dispatch_stub_602) + .size GL_PREFIX(_dispatch_stub_612), .-GL_PREFIX(_dispatch_stub_612) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_603) - .type GL_PREFIX(_dispatch_stub_603), @function - HIDDEN(GL_PREFIX(_dispatch_stub_603)) -GL_PREFIX(_dispatch_stub_603): + .globl GL_PREFIX(_dispatch_stub_613) + .type GL_PREFIX(_dispatch_stub_613), @function + HIDDEN(GL_PREFIX(_dispatch_stub_613)) +GL_PREFIX(_dispatch_stub_613): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -22756,13 +23134,13 @@ GL_PREFIX(_dispatch_stub_603): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -22772,19 +23150,19 @@ GL_PREFIX(_dispatch_stub_603): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4824(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_603), .-GL_PREFIX(_dispatch_stub_603) + .size GL_PREFIX(_dispatch_stub_613), .-GL_PREFIX(_dispatch_stub_613) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_604) - .type GL_PREFIX(_dispatch_stub_604), @function - HIDDEN(GL_PREFIX(_dispatch_stub_604)) -GL_PREFIX(_dispatch_stub_604): + .globl GL_PREFIX(_dispatch_stub_614) + .type GL_PREFIX(_dispatch_stub_614), @function + HIDDEN(GL_PREFIX(_dispatch_stub_614)) +GL_PREFIX(_dispatch_stub_614): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22794,13 +23172,13 @@ GL_PREFIX(_dispatch_stub_604): popq %rbp popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22810,19 +23188,19 @@ GL_PREFIX(_dispatch_stub_604): popq %rbp popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_604), .-GL_PREFIX(_dispatch_stub_604) + .size GL_PREFIX(_dispatch_stub_614), .-GL_PREFIX(_dispatch_stub_614) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_605) - .type GL_PREFIX(_dispatch_stub_605), @function - HIDDEN(GL_PREFIX(_dispatch_stub_605)) -GL_PREFIX(_dispatch_stub_605): + .globl GL_PREFIX(_dispatch_stub_615) + .type GL_PREFIX(_dispatch_stub_615), @function + HIDDEN(GL_PREFIX(_dispatch_stub_615)) +GL_PREFIX(_dispatch_stub_615): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22832,13 +23210,13 @@ GL_PREFIX(_dispatch_stub_605): popq %rbp popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22848,19 +23226,19 @@ GL_PREFIX(_dispatch_stub_605): popq %rbp popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_605), .-GL_PREFIX(_dispatch_stub_605) + .size GL_PREFIX(_dispatch_stub_615), .-GL_PREFIX(_dispatch_stub_615) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_606) - .type GL_PREFIX(_dispatch_stub_606), @function - HIDDEN(GL_PREFIX(_dispatch_stub_606)) -GL_PREFIX(_dispatch_stub_606): + .globl GL_PREFIX(_dispatch_stub_616) + .type GL_PREFIX(_dispatch_stub_616), @function + HIDDEN(GL_PREFIX(_dispatch_stub_616)) +GL_PREFIX(_dispatch_stub_616): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22870,13 +23248,13 @@ GL_PREFIX(_dispatch_stub_606): popq %rbp popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22886,19 +23264,19 @@ GL_PREFIX(_dispatch_stub_606): popq %rbp popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_606), .-GL_PREFIX(_dispatch_stub_606) + .size GL_PREFIX(_dispatch_stub_616), .-GL_PREFIX(_dispatch_stub_616) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_607) - .type GL_PREFIX(_dispatch_stub_607), @function - HIDDEN(GL_PREFIX(_dispatch_stub_607)) -GL_PREFIX(_dispatch_stub_607): + .globl GL_PREFIX(_dispatch_stub_617) + .type GL_PREFIX(_dispatch_stub_617), @function + HIDDEN(GL_PREFIX(_dispatch_stub_617)) +GL_PREFIX(_dispatch_stub_617): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22908,13 +23286,13 @@ GL_PREFIX(_dispatch_stub_607): popq %rbp popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22924,40 +23302,40 @@ GL_PREFIX(_dispatch_stub_607): popq %rbp popq %rsi popq %rdi - movq 4856(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_607), .-GL_PREFIX(_dispatch_stub_607) + .size GL_PREFIX(_dispatch_stub_617), .-GL_PREFIX(_dispatch_stub_617) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_608) - .type GL_PREFIX(_dispatch_stub_608), @function - HIDDEN(GL_PREFIX(_dispatch_stub_608)) -GL_PREFIX(_dispatch_stub_608): + .globl GL_PREFIX(_dispatch_stub_618) + .type GL_PREFIX(_dispatch_stub_618), @function + HIDDEN(GL_PREFIX(_dispatch_stub_618)) +GL_PREFIX(_dispatch_stub_618): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4864(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_608), .-GL_PREFIX(_dispatch_stub_608) + .size GL_PREFIX(_dispatch_stub_618), .-GL_PREFIX(_dispatch_stub_618) .p2align 4,,15 .globl GL_PREFIX(ColorPointerEXT) @@ -22965,7 +23343,7 @@ GL_PREFIX(_dispatch_stub_608): GL_PREFIX(ColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22979,13 +23357,13 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22999,7 +23377,7 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4872(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorPointerEXT), .-GL_PREFIX(ColorPointerEXT) @@ -23010,7 +23388,7 @@ GL_PREFIX(ColorPointerEXT): GL_PREFIX(EdgeFlagPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23020,13 +23398,13 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23036,7 +23414,7 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4880(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EdgeFlagPointerEXT), .-GL_PREFIX(EdgeFlagPointerEXT) @@ -23047,7 +23425,7 @@ GL_PREFIX(EdgeFlagPointerEXT): GL_PREFIX(IndexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23061,13 +23439,13 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23081,7 +23459,7 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IndexPointerEXT), .-GL_PREFIX(IndexPointerEXT) @@ -23092,7 +23470,7 @@ GL_PREFIX(IndexPointerEXT): GL_PREFIX(NormalPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23106,13 +23484,13 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23126,7 +23504,7 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(NormalPointerEXT), .-GL_PREFIX(NormalPointerEXT) @@ -23137,7 +23515,7 @@ GL_PREFIX(NormalPointerEXT): GL_PREFIX(TexCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23151,13 +23529,13 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23171,7 +23549,7 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexCoordPointerEXT), .-GL_PREFIX(TexCoordPointerEXT) @@ -23182,7 +23560,7 @@ GL_PREFIX(TexCoordPointerEXT): GL_PREFIX(VertexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23196,13 +23574,13 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23216,7 +23594,7 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexPointerEXT), .-GL_PREFIX(VertexPointerEXT) @@ -23227,7 +23605,7 @@ GL_PREFIX(VertexPointerEXT): GL_PREFIX(PointParameterfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23237,13 +23615,13 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23253,7 +23631,7 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 4920(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfEXT), .-GL_PREFIX(PointParameterfEXT) @@ -23264,7 +23642,7 @@ GL_PREFIX(PointParameterfEXT): GL_PREFIX(PointParameterfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23274,13 +23652,13 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23290,7 +23668,7 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfvEXT), .-GL_PREFIX(PointParameterfvEXT) @@ -23301,7 +23679,7 @@ GL_PREFIX(PointParameterfvEXT): GL_PREFIX(LockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23311,13 +23689,13 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23327,7 +23705,7 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LockArraysEXT), .-GL_PREFIX(LockArraysEXT) @@ -23338,25 +23716,25 @@ GL_PREFIX(LockArraysEXT): GL_PREFIX(UnlockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4944(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT) @@ -23367,7 +23745,7 @@ GL_PREFIX(UnlockArraysEXT): GL_PREFIX(SecondaryColor3bEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23377,13 +23755,13 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23393,7 +23771,7 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 4952(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bEXT), .-GL_PREFIX(SecondaryColor3bEXT) @@ -23404,25 +23782,25 @@ GL_PREFIX(SecondaryColor3bEXT): GL_PREFIX(SecondaryColor3bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4960(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bvEXT), .-GL_PREFIX(SecondaryColor3bvEXT) @@ -23433,7 +23811,7 @@ GL_PREFIX(SecondaryColor3bvEXT): GL_PREFIX(SecondaryColor3dEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23445,13 +23823,13 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23463,7 +23841,7 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4968(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dEXT), .-GL_PREFIX(SecondaryColor3dEXT) @@ -23474,25 +23852,25 @@ GL_PREFIX(SecondaryColor3dEXT): GL_PREFIX(SecondaryColor3dvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4976(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dvEXT), .-GL_PREFIX(SecondaryColor3dvEXT) @@ -23503,7 +23881,7 @@ GL_PREFIX(SecondaryColor3dvEXT): GL_PREFIX(SecondaryColor3fEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23515,13 +23893,13 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23533,7 +23911,7 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 4984(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fEXT), .-GL_PREFIX(SecondaryColor3fEXT) @@ -23544,25 +23922,25 @@ GL_PREFIX(SecondaryColor3fEXT): GL_PREFIX(SecondaryColor3fvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4992(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fvEXT), .-GL_PREFIX(SecondaryColor3fvEXT) @@ -23573,7 +23951,7 @@ GL_PREFIX(SecondaryColor3fvEXT): GL_PREFIX(SecondaryColor3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23583,13 +23961,13 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23599,7 +23977,7 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3iEXT), .-GL_PREFIX(SecondaryColor3iEXT) @@ -23610,25 +23988,25 @@ GL_PREFIX(SecondaryColor3iEXT): GL_PREFIX(SecondaryColor3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5008(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ivEXT), .-GL_PREFIX(SecondaryColor3ivEXT) @@ -23639,7 +24017,7 @@ GL_PREFIX(SecondaryColor3ivEXT): GL_PREFIX(SecondaryColor3sEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23649,13 +24027,13 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23665,7 +24043,7 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3sEXT), .-GL_PREFIX(SecondaryColor3sEXT) @@ -23676,25 +24054,25 @@ GL_PREFIX(SecondaryColor3sEXT): GL_PREFIX(SecondaryColor3svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5024(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3svEXT), .-GL_PREFIX(SecondaryColor3svEXT) @@ -23705,7 +24083,7 @@ GL_PREFIX(SecondaryColor3svEXT): GL_PREFIX(SecondaryColor3ubEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23715,13 +24093,13 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23731,7 +24109,7 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubEXT), .-GL_PREFIX(SecondaryColor3ubEXT) @@ -23742,25 +24120,25 @@ GL_PREFIX(SecondaryColor3ubEXT): GL_PREFIX(SecondaryColor3ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5040(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubvEXT), .-GL_PREFIX(SecondaryColor3ubvEXT) @@ -23771,7 +24149,7 @@ GL_PREFIX(SecondaryColor3ubvEXT): GL_PREFIX(SecondaryColor3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23781,13 +24159,13 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23797,7 +24175,7 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uiEXT), .-GL_PREFIX(SecondaryColor3uiEXT) @@ -23808,25 +24186,25 @@ GL_PREFIX(SecondaryColor3uiEXT): GL_PREFIX(SecondaryColor3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5056(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uivEXT), .-GL_PREFIX(SecondaryColor3uivEXT) @@ -23837,7 +24215,7 @@ GL_PREFIX(SecondaryColor3uivEXT): GL_PREFIX(SecondaryColor3usEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23847,13 +24225,13 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23863,7 +24241,7 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usEXT), .-GL_PREFIX(SecondaryColor3usEXT) @@ -23874,25 +24252,25 @@ GL_PREFIX(SecondaryColor3usEXT): GL_PREFIX(SecondaryColor3usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5072(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usvEXT), .-GL_PREFIX(SecondaryColor3usvEXT) @@ -23903,7 +24281,7 @@ GL_PREFIX(SecondaryColor3usvEXT): GL_PREFIX(SecondaryColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23917,13 +24295,13 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23937,7 +24315,7 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColorPointerEXT), .-GL_PREFIX(SecondaryColorPointerEXT) @@ -23948,7 +24326,7 @@ GL_PREFIX(SecondaryColorPointerEXT): GL_PREFIX(MultiDrawArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23962,13 +24340,13 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23982,7 +24360,7 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawArraysEXT), .-GL_PREFIX(MultiDrawArraysEXT) @@ -23993,7 +24371,7 @@ GL_PREFIX(MultiDrawArraysEXT): GL_PREFIX(MultiDrawElementsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24007,13 +24385,13 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24027,7 +24405,7 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 5096(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsEXT), .-GL_PREFIX(MultiDrawElementsEXT) @@ -24038,7 +24416,7 @@ GL_PREFIX(MultiDrawElementsEXT): GL_PREFIX(FogCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24048,13 +24426,13 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24064,7 +24442,7 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5104(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordPointerEXT), .-GL_PREFIX(FogCoordPointerEXT) @@ -24075,7 +24453,7 @@ GL_PREFIX(FogCoordPointerEXT): GL_PREFIX(FogCoorddEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -24083,13 +24461,13 @@ GL_PREFIX(FogCoorddEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -24097,7 +24475,7 @@ GL_PREFIX(FogCoorddEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 5112(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddEXT), .-GL_PREFIX(FogCoorddEXT) @@ -24108,25 +24486,25 @@ GL_PREFIX(FogCoorddEXT): GL_PREFIX(FogCoorddvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5120(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddvEXT), .-GL_PREFIX(FogCoorddvEXT) @@ -24137,7 +24515,7 @@ GL_PREFIX(FogCoorddvEXT): GL_PREFIX(FogCoordfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -24145,13 +24523,13 @@ GL_PREFIX(FogCoordfEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -24159,7 +24537,7 @@ GL_PREFIX(FogCoordfEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 5128(%rax), %r11 + movq 5208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfEXT), .-GL_PREFIX(FogCoordfEXT) @@ -24170,58 +24548,58 @@ GL_PREFIX(FogCoordfEXT): GL_PREFIX(FogCoordfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5136(%rax), %r11 + movq 5216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_643) - .type GL_PREFIX(_dispatch_stub_643), @function - HIDDEN(GL_PREFIX(_dispatch_stub_643)) -GL_PREFIX(_dispatch_stub_643): + .globl GL_PREFIX(_dispatch_stub_653) + .type GL_PREFIX(_dispatch_stub_653), @function + HIDDEN(GL_PREFIX(_dispatch_stub_653)) +GL_PREFIX(_dispatch_stub_653): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5144(%rax), %r11 + movq 5224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_643), .-GL_PREFIX(_dispatch_stub_643) + .size GL_PREFIX(_dispatch_stub_653), .-GL_PREFIX(_dispatch_stub_653) .p2align 4,,15 .globl GL_PREFIX(BlendFuncSeparateEXT) @@ -24229,7 +24607,7 @@ GL_PREFIX(_dispatch_stub_643): GL_PREFIX(BlendFuncSeparateEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24243,13 +24621,13 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24263,7 +24641,7 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5152(%rax), %r11 + movq 5232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateEXT), .-GL_PREFIX(BlendFuncSeparateEXT) @@ -24274,25 +24652,25 @@ GL_PREFIX(BlendFuncSeparateEXT): GL_PREFIX(FlushVertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5160(%rax), %r11 + movq 5240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushVertexArrayRangeNV), .-GL_PREFIX(FlushVertexArrayRangeNV) @@ -24303,7 +24681,7 @@ GL_PREFIX(FlushVertexArrayRangeNV): GL_PREFIX(VertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24313,13 +24691,13 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24329,7 +24707,7 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5168(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexArrayRangeNV), .-GL_PREFIX(VertexArrayRangeNV) @@ -24340,7 +24718,7 @@ GL_PREFIX(VertexArrayRangeNV): GL_PREFIX(CombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24358,13 +24736,13 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24382,7 +24760,7 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5176(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerInputNV), .-GL_PREFIX(CombinerInputNV) @@ -24393,7 +24771,7 @@ GL_PREFIX(CombinerInputNV): GL_PREFIX(CombinerOutputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24411,13 +24789,13 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24435,7 +24813,7 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5184(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerOutputNV), .-GL_PREFIX(CombinerOutputNV) @@ -24446,7 +24824,7 @@ GL_PREFIX(CombinerOutputNV): GL_PREFIX(CombinerParameterfNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24456,13 +24834,13 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24472,7 +24850,7 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5192(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfNV), .-GL_PREFIX(CombinerParameterfNV) @@ -24483,7 +24861,7 @@ GL_PREFIX(CombinerParameterfNV): GL_PREFIX(CombinerParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24493,13 +24871,13 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24509,7 +24887,7 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5200(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfvNV), .-GL_PREFIX(CombinerParameterfvNV) @@ -24520,7 +24898,7 @@ GL_PREFIX(CombinerParameterfvNV): GL_PREFIX(CombinerParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24530,13 +24908,13 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24546,7 +24924,7 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5208(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameteriNV), .-GL_PREFIX(CombinerParameteriNV) @@ -24557,7 +24935,7 @@ GL_PREFIX(CombinerParameteriNV): GL_PREFIX(CombinerParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24567,13 +24945,13 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24583,7 +24961,7 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5216(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterivNV), .-GL_PREFIX(CombinerParameterivNV) @@ -24594,7 +24972,7 @@ GL_PREFIX(CombinerParameterivNV): GL_PREFIX(FinalCombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24608,13 +24986,13 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24628,7 +25006,7 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5224(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FinalCombinerInputNV), .-GL_PREFIX(FinalCombinerInputNV) @@ -24639,7 +25017,7 @@ GL_PREFIX(FinalCombinerInputNV): GL_PREFIX(GetCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24653,13 +25031,13 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24673,7 +25051,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5232(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterfvNV), .-GL_PREFIX(GetCombinerInputParameterfvNV) @@ -24684,7 +25062,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): GL_PREFIX(GetCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24698,13 +25076,13 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24718,7 +25096,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterivNV), .-GL_PREFIX(GetCombinerInputParameterivNV) @@ -24729,7 +25107,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): GL_PREFIX(GetCombinerOutputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24743,13 +25121,13 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24763,7 +25141,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterfvNV), .-GL_PREFIX(GetCombinerOutputParameterfvNV) @@ -24774,7 +25152,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): GL_PREFIX(GetCombinerOutputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24788,13 +25166,13 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24808,7 +25186,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterivNV), .-GL_PREFIX(GetCombinerOutputParameterivNV) @@ -24819,7 +25197,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): GL_PREFIX(GetFinalCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24829,13 +25207,13 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24845,7 +25223,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterfvNV), .-GL_PREFIX(GetFinalCombinerInputParameterfvNV) @@ -24856,7 +25234,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): GL_PREFIX(GetFinalCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24866,13 +25244,13 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24882,7 +25260,7 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterivNV), .-GL_PREFIX(GetFinalCombinerInputParameterivNV) @@ -24893,25 +25271,25 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): GL_PREFIX(ResizeBuffersMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5280(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResizeBuffersMESA), .-GL_PREFIX(ResizeBuffersMESA) @@ -24922,7 +25300,7 @@ GL_PREFIX(ResizeBuffersMESA): GL_PREFIX(WindowPos2dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24932,13 +25310,13 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24948,7 +25326,7 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5288(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dMESA), .-GL_PREFIX(WindowPos2dMESA) @@ -24959,25 +25337,25 @@ GL_PREFIX(WindowPos2dMESA): GL_PREFIX(WindowPos2dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5296(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dvMESA), .-GL_PREFIX(WindowPos2dvMESA) @@ -24988,7 +25366,7 @@ GL_PREFIX(WindowPos2dvMESA): GL_PREFIX(WindowPos2fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24998,13 +25376,13 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25014,7 +25392,7 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5304(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fMESA), .-GL_PREFIX(WindowPos2fMESA) @@ -25025,25 +25403,25 @@ GL_PREFIX(WindowPos2fMESA): GL_PREFIX(WindowPos2fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5312(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fvMESA), .-GL_PREFIX(WindowPos2fvMESA) @@ -25054,7 +25432,7 @@ GL_PREFIX(WindowPos2fvMESA): GL_PREFIX(WindowPos2iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25064,13 +25442,13 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25080,7 +25458,7 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2iMESA), .-GL_PREFIX(WindowPos2iMESA) @@ -25091,25 +25469,25 @@ GL_PREFIX(WindowPos2iMESA): GL_PREFIX(WindowPos2ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5328(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2ivMESA), .-GL_PREFIX(WindowPos2ivMESA) @@ -25120,7 +25498,7 @@ GL_PREFIX(WindowPos2ivMESA): GL_PREFIX(WindowPos2sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25130,13 +25508,13 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25146,7 +25524,7 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5336(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2sMESA), .-GL_PREFIX(WindowPos2sMESA) @@ -25157,25 +25535,25 @@ GL_PREFIX(WindowPos2sMESA): GL_PREFIX(WindowPos2svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5344(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2svMESA), .-GL_PREFIX(WindowPos2svMESA) @@ -25186,7 +25564,7 @@ GL_PREFIX(WindowPos2svMESA): GL_PREFIX(WindowPos3dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25198,13 +25576,13 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25216,7 +25594,7 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5352(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dMESA), .-GL_PREFIX(WindowPos3dMESA) @@ -25227,25 +25605,25 @@ GL_PREFIX(WindowPos3dMESA): GL_PREFIX(WindowPos3dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5360(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dvMESA), .-GL_PREFIX(WindowPos3dvMESA) @@ -25256,7 +25634,7 @@ GL_PREFIX(WindowPos3dvMESA): GL_PREFIX(WindowPos3fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25268,13 +25646,13 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25286,7 +25664,7 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5368(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fMESA), .-GL_PREFIX(WindowPos3fMESA) @@ -25297,25 +25675,25 @@ GL_PREFIX(WindowPos3fMESA): GL_PREFIX(WindowPos3fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5376(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fvMESA), .-GL_PREFIX(WindowPos3fvMESA) @@ -25326,7 +25704,7 @@ GL_PREFIX(WindowPos3fvMESA): GL_PREFIX(WindowPos3iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25336,13 +25714,13 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25352,7 +25730,7 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3iMESA), .-GL_PREFIX(WindowPos3iMESA) @@ -25363,25 +25741,25 @@ GL_PREFIX(WindowPos3iMESA): GL_PREFIX(WindowPos3ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5392(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3ivMESA), .-GL_PREFIX(WindowPos3ivMESA) @@ -25392,7 +25770,7 @@ GL_PREFIX(WindowPos3ivMESA): GL_PREFIX(WindowPos3sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25402,13 +25780,13 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25418,7 +25796,7 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3sMESA), .-GL_PREFIX(WindowPos3sMESA) @@ -25429,25 +25807,25 @@ GL_PREFIX(WindowPos3sMESA): GL_PREFIX(WindowPos3svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5408(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3svMESA), .-GL_PREFIX(WindowPos3svMESA) @@ -25458,7 +25836,7 @@ GL_PREFIX(WindowPos3svMESA): GL_PREFIX(WindowPos4dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -25472,13 +25850,13 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -25492,7 +25870,7 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5416(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dMESA), .-GL_PREFIX(WindowPos4dMESA) @@ -25503,25 +25881,25 @@ GL_PREFIX(WindowPos4dMESA): GL_PREFIX(WindowPos4dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5424(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dvMESA), .-GL_PREFIX(WindowPos4dvMESA) @@ -25532,7 +25910,7 @@ GL_PREFIX(WindowPos4dvMESA): GL_PREFIX(WindowPos4fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -25546,13 +25924,13 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -25566,7 +25944,7 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5432(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fMESA), .-GL_PREFIX(WindowPos4fMESA) @@ -25577,25 +25955,25 @@ GL_PREFIX(WindowPos4fMESA): GL_PREFIX(WindowPos4fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5440(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fvMESA), .-GL_PREFIX(WindowPos4fvMESA) @@ -25606,7 +25984,7 @@ GL_PREFIX(WindowPos4fvMESA): GL_PREFIX(WindowPos4iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25620,13 +25998,13 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25640,7 +26018,7 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4iMESA), .-GL_PREFIX(WindowPos4iMESA) @@ -25651,25 +26029,25 @@ GL_PREFIX(WindowPos4iMESA): GL_PREFIX(WindowPos4ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5456(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4ivMESA), .-GL_PREFIX(WindowPos4ivMESA) @@ -25680,7 +26058,7 @@ GL_PREFIX(WindowPos4ivMESA): GL_PREFIX(WindowPos4sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25694,13 +26072,13 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25714,7 +26092,7 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4sMESA), .-GL_PREFIX(WindowPos4sMESA) @@ -25725,37 +26103,37 @@ GL_PREFIX(WindowPos4sMESA): GL_PREFIX(WindowPos4svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5472(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_685) - .type GL_PREFIX(_dispatch_stub_685), @function - HIDDEN(GL_PREFIX(_dispatch_stub_685)) -GL_PREFIX(_dispatch_stub_685): + .globl GL_PREFIX(_dispatch_stub_695) + .type GL_PREFIX(_dispatch_stub_695), @function + HIDDEN(GL_PREFIX(_dispatch_stub_695)) +GL_PREFIX(_dispatch_stub_695): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25769,13 +26147,13 @@ GL_PREFIX(_dispatch_stub_685): popq %rdx popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25789,19 +26167,19 @@ GL_PREFIX(_dispatch_stub_685): popq %rdx popq %rsi popq %rdi - movq 5480(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_685), .-GL_PREFIX(_dispatch_stub_685) + .size GL_PREFIX(_dispatch_stub_695), .-GL_PREFIX(_dispatch_stub_695) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_686) - .type GL_PREFIX(_dispatch_stub_686), @function - HIDDEN(GL_PREFIX(_dispatch_stub_686)) -GL_PREFIX(_dispatch_stub_686): + .globl GL_PREFIX(_dispatch_stub_696) + .type GL_PREFIX(_dispatch_stub_696), @function + HIDDEN(GL_PREFIX(_dispatch_stub_696)) +GL_PREFIX(_dispatch_stub_696): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25819,13 +26197,13 @@ GL_PREFIX(_dispatch_stub_686): popq %rdx popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25843,19 +26221,19 @@ GL_PREFIX(_dispatch_stub_686): popq %rdx popq %rsi popq %rdi - movq 5488(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_686), .-GL_PREFIX(_dispatch_stub_686) + .size GL_PREFIX(_dispatch_stub_696), .-GL_PREFIX(_dispatch_stub_696) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_687) - .type GL_PREFIX(_dispatch_stub_687), @function - HIDDEN(GL_PREFIX(_dispatch_stub_687)) -GL_PREFIX(_dispatch_stub_687): + .globl GL_PREFIX(_dispatch_stub_697) + .type GL_PREFIX(_dispatch_stub_697), @function + HIDDEN(GL_PREFIX(_dispatch_stub_697)) +GL_PREFIX(_dispatch_stub_697): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25865,13 +26243,13 @@ GL_PREFIX(_dispatch_stub_687): popq %rbp popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25881,49 +26259,49 @@ GL_PREFIX(_dispatch_stub_687): popq %rbp popq %rsi popq %rdi - movq 5496(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_687), .-GL_PREFIX(_dispatch_stub_687) + .size GL_PREFIX(_dispatch_stub_697), .-GL_PREFIX(_dispatch_stub_697) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_688) - .type GL_PREFIX(_dispatch_stub_688), @function - HIDDEN(GL_PREFIX(_dispatch_stub_688)) -GL_PREFIX(_dispatch_stub_688): + .globl GL_PREFIX(_dispatch_stub_698) + .type GL_PREFIX(_dispatch_stub_698), @function + HIDDEN(GL_PREFIX(_dispatch_stub_698)) +GL_PREFIX(_dispatch_stub_698): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5504(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_688), .-GL_PREFIX(_dispatch_stub_688) + .size GL_PREFIX(_dispatch_stub_698), .-GL_PREFIX(_dispatch_stub_698) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_689) - .type GL_PREFIX(_dispatch_stub_689), @function - HIDDEN(GL_PREFIX(_dispatch_stub_689)) -GL_PREFIX(_dispatch_stub_689): + .globl GL_PREFIX(_dispatch_stub_699) + .type GL_PREFIX(_dispatch_stub_699), @function + HIDDEN(GL_PREFIX(_dispatch_stub_699)) +GL_PREFIX(_dispatch_stub_699): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25933,13 +26311,13 @@ GL_PREFIX(_dispatch_stub_689): popq %rbp popq %rsi popq %rdi - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25949,19 +26327,19 @@ GL_PREFIX(_dispatch_stub_689): popq %rbp popq %rsi popq %rdi - movq 5512(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_689), .-GL_PREFIX(_dispatch_stub_689) + .size GL_PREFIX(_dispatch_stub_699), .-GL_PREFIX(_dispatch_stub_699) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_690) - .type GL_PREFIX(_dispatch_stub_690), @function - HIDDEN(GL_PREFIX(_dispatch_stub_690)) -GL_PREFIX(_dispatch_stub_690): + .globl GL_PREFIX(_dispatch_stub_700) + .type GL_PREFIX(_dispatch_stub_700), @function + HIDDEN(GL_PREFIX(_dispatch_stub_700)) +GL_PREFIX(_dispatch_stub_700): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25971,13 +26349,13 @@ GL_PREFIX(_dispatch_stub_690): popq %rdx popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25987,49 +26365,49 @@ GL_PREFIX(_dispatch_stub_690): popq %rdx popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_690), .-GL_PREFIX(_dispatch_stub_690) + .size GL_PREFIX(_dispatch_stub_700), .-GL_PREFIX(_dispatch_stub_700) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_691) - .type GL_PREFIX(_dispatch_stub_691), @function - HIDDEN(GL_PREFIX(_dispatch_stub_691)) -GL_PREFIX(_dispatch_stub_691): + .globl GL_PREFIX(_dispatch_stub_701) + .type GL_PREFIX(_dispatch_stub_701), @function + HIDDEN(GL_PREFIX(_dispatch_stub_701)) +GL_PREFIX(_dispatch_stub_701): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5528(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_691), .-GL_PREFIX(_dispatch_stub_691) + .size GL_PREFIX(_dispatch_stub_701), .-GL_PREFIX(_dispatch_stub_701) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_692) - .type GL_PREFIX(_dispatch_stub_692), @function - HIDDEN(GL_PREFIX(_dispatch_stub_692)) -GL_PREFIX(_dispatch_stub_692): + .globl GL_PREFIX(_dispatch_stub_702) + .type GL_PREFIX(_dispatch_stub_702), @function + HIDDEN(GL_PREFIX(_dispatch_stub_702)) +GL_PREFIX(_dispatch_stub_702): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26039,13 +26417,13 @@ GL_PREFIX(_dispatch_stub_692): popq %rbp popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26055,40 +26433,40 @@ GL_PREFIX(_dispatch_stub_692): popq %rbp popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_692), .-GL_PREFIX(_dispatch_stub_692) + .size GL_PREFIX(_dispatch_stub_702), .-GL_PREFIX(_dispatch_stub_702) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_693) - .type GL_PREFIX(_dispatch_stub_693), @function - HIDDEN(GL_PREFIX(_dispatch_stub_693)) -GL_PREFIX(_dispatch_stub_693): + .globl GL_PREFIX(_dispatch_stub_703) + .type GL_PREFIX(_dispatch_stub_703), @function + HIDDEN(GL_PREFIX(_dispatch_stub_703)) +GL_PREFIX(_dispatch_stub_703): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5544(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_693), .-GL_PREFIX(_dispatch_stub_693) + .size GL_PREFIX(_dispatch_stub_703), .-GL_PREFIX(_dispatch_stub_703) .p2align 4,,15 .globl GL_PREFIX(AreProgramsResidentNV) @@ -26096,7 +26474,7 @@ GL_PREFIX(_dispatch_stub_693): GL_PREFIX(AreProgramsResidentNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26106,13 +26484,13 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26122,7 +26500,7 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AreProgramsResidentNV), .-GL_PREFIX(AreProgramsResidentNV) @@ -26133,7 +26511,7 @@ GL_PREFIX(AreProgramsResidentNV): GL_PREFIX(BindProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26143,13 +26521,13 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26159,7 +26537,7 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindProgramNV), .-GL_PREFIX(BindProgramNV) @@ -26170,7 +26548,7 @@ GL_PREFIX(BindProgramNV): GL_PREFIX(DeleteProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26180,13 +26558,13 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26196,7 +26574,7 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteProgramsNV), .-GL_PREFIX(DeleteProgramsNV) @@ -26207,7 +26585,7 @@ GL_PREFIX(DeleteProgramsNV): GL_PREFIX(ExecuteProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26217,13 +26595,13 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26233,7 +26611,7 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ExecuteProgramNV), .-GL_PREFIX(ExecuteProgramNV) @@ -26244,7 +26622,7 @@ GL_PREFIX(ExecuteProgramNV): GL_PREFIX(GenProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26254,13 +26632,13 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26270,7 +26648,7 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenProgramsNV), .-GL_PREFIX(GenProgramsNV) @@ -26281,7 +26659,7 @@ GL_PREFIX(GenProgramsNV): GL_PREFIX(GetProgramParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26295,13 +26673,13 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26315,7 +26693,7 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterdvNV), .-GL_PREFIX(GetProgramParameterdvNV) @@ -26326,7 +26704,7 @@ GL_PREFIX(GetProgramParameterdvNV): GL_PREFIX(GetProgramParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26340,13 +26718,13 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26360,7 +26738,7 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterfvNV), .-GL_PREFIX(GetProgramParameterfvNV) @@ -26371,7 +26749,7 @@ GL_PREFIX(GetProgramParameterfvNV): GL_PREFIX(GetProgramStringNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26381,13 +26759,13 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26397,7 +26775,7 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringNV), .-GL_PREFIX(GetProgramStringNV) @@ -26408,7 +26786,7 @@ GL_PREFIX(GetProgramStringNV): GL_PREFIX(GetProgramivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26418,13 +26796,13 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26434,7 +26812,7 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivNV), .-GL_PREFIX(GetProgramivNV) @@ -26445,7 +26823,7 @@ GL_PREFIX(GetProgramivNV): GL_PREFIX(GetTrackMatrixivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26459,13 +26837,13 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26479,7 +26857,7 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTrackMatrixivNV), .-GL_PREFIX(GetTrackMatrixivNV) @@ -26490,7 +26868,7 @@ GL_PREFIX(GetTrackMatrixivNV): GL_PREFIX(GetVertexAttribPointervNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26500,13 +26878,13 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26516,7 +26894,7 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribPointervNV), .-GL_PREFIX(GetVertexAttribPointervNV) @@ -26527,7 +26905,7 @@ GL_PREFIX(GetVertexAttribPointervNV): GL_PREFIX(GetVertexAttribdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26537,13 +26915,13 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26553,7 +26931,7 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvNV), .-GL_PREFIX(GetVertexAttribdvNV) @@ -26564,7 +26942,7 @@ GL_PREFIX(GetVertexAttribdvNV): GL_PREFIX(GetVertexAttribfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26574,13 +26952,13 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26590,7 +26968,7 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 5648(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvNV), .-GL_PREFIX(GetVertexAttribfvNV) @@ -26601,7 +26979,7 @@ GL_PREFIX(GetVertexAttribfvNV): GL_PREFIX(GetVertexAttribivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26611,13 +26989,13 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26627,7 +27005,7 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 5656(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivNV), .-GL_PREFIX(GetVertexAttribivNV) @@ -26638,25 +27016,25 @@ GL_PREFIX(GetVertexAttribivNV): GL_PREFIX(IsProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5664(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsProgramNV), .-GL_PREFIX(IsProgramNV) @@ -26667,7 +27045,7 @@ GL_PREFIX(IsProgramNV): GL_PREFIX(LoadProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26681,13 +27059,13 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26701,7 +27079,7 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 5672(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadProgramNV), .-GL_PREFIX(LoadProgramNV) @@ -26712,7 +27090,7 @@ GL_PREFIX(LoadProgramNV): GL_PREFIX(ProgramParameters4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26726,13 +27104,13 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26746,7 +27124,7 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4dvNV), .-GL_PREFIX(ProgramParameters4dvNV) @@ -26757,7 +27135,7 @@ GL_PREFIX(ProgramParameters4dvNV): GL_PREFIX(ProgramParameters4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26771,13 +27149,13 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26791,7 +27169,7 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4fvNV), .-GL_PREFIX(ProgramParameters4fvNV) @@ -26802,7 +27180,7 @@ GL_PREFIX(ProgramParameters4fvNV): GL_PREFIX(RequestResidentProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26812,13 +27190,13 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26828,7 +27206,7 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RequestResidentProgramsNV), .-GL_PREFIX(RequestResidentProgramsNV) @@ -26839,7 +27217,7 @@ GL_PREFIX(RequestResidentProgramsNV): GL_PREFIX(TrackMatrixNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26853,13 +27231,13 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26873,7 +27251,7 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TrackMatrixNV), .-GL_PREFIX(TrackMatrixNV) @@ -26884,7 +27262,7 @@ GL_PREFIX(TrackMatrixNV): GL_PREFIX(VertexAttrib1dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26894,13 +27272,13 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26910,7 +27288,7 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5712(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dNV), .-GL_PREFIX(VertexAttrib1dNV) @@ -26921,7 +27299,7 @@ GL_PREFIX(VertexAttrib1dNV): GL_PREFIX(VertexAttrib1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26931,13 +27309,13 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26947,7 +27325,7 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 5720(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvNV), .-GL_PREFIX(VertexAttrib1dvNV) @@ -26958,7 +27336,7 @@ GL_PREFIX(VertexAttrib1dvNV): GL_PREFIX(VertexAttrib1fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26968,13 +27346,13 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26984,7 +27362,7 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5728(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fNV), .-GL_PREFIX(VertexAttrib1fNV) @@ -26995,7 +27373,7 @@ GL_PREFIX(VertexAttrib1fNV): GL_PREFIX(VertexAttrib1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27005,13 +27383,13 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27021,7 +27399,7 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 5736(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvNV), .-GL_PREFIX(VertexAttrib1fvNV) @@ -27032,7 +27410,7 @@ GL_PREFIX(VertexAttrib1fvNV): GL_PREFIX(VertexAttrib1sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27042,13 +27420,13 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27058,7 +27436,7 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sNV), .-GL_PREFIX(VertexAttrib1sNV) @@ -27069,7 +27447,7 @@ GL_PREFIX(VertexAttrib1sNV): GL_PREFIX(VertexAttrib1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27079,13 +27457,13 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27095,7 +27473,7 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svNV), .-GL_PREFIX(VertexAttrib1svNV) @@ -27106,7 +27484,7 @@ GL_PREFIX(VertexAttrib1svNV): GL_PREFIX(VertexAttrib2dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -27118,13 +27496,13 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -27136,7 +27514,7 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5760(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dNV), .-GL_PREFIX(VertexAttrib2dNV) @@ -27147,7 +27525,7 @@ GL_PREFIX(VertexAttrib2dNV): GL_PREFIX(VertexAttrib2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27157,13 +27535,13 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27173,7 +27551,7 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvNV), .-GL_PREFIX(VertexAttrib2dvNV) @@ -27184,7 +27562,7 @@ GL_PREFIX(VertexAttrib2dvNV): GL_PREFIX(VertexAttrib2fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -27196,13 +27574,13 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -27214,7 +27592,7 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5776(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fNV), .-GL_PREFIX(VertexAttrib2fNV) @@ -27225,7 +27603,7 @@ GL_PREFIX(VertexAttrib2fNV): GL_PREFIX(VertexAttrib2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27235,13 +27613,13 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27251,7 +27629,7 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvNV), .-GL_PREFIX(VertexAttrib2fvNV) @@ -27262,7 +27640,7 @@ GL_PREFIX(VertexAttrib2fvNV): GL_PREFIX(VertexAttrib2sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27272,13 +27650,13 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27288,7 +27666,7 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 5792(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sNV), .-GL_PREFIX(VertexAttrib2sNV) @@ -27299,7 +27677,7 @@ GL_PREFIX(VertexAttrib2sNV): GL_PREFIX(VertexAttrib2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27309,13 +27687,13 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27325,7 +27703,7 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 5800(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svNV), .-GL_PREFIX(VertexAttrib2svNV) @@ -27336,7 +27714,7 @@ GL_PREFIX(VertexAttrib2svNV): GL_PREFIX(VertexAttrib3dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -27350,13 +27728,13 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -27370,7 +27748,7 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5808(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dNV), .-GL_PREFIX(VertexAttrib3dNV) @@ -27381,7 +27759,7 @@ GL_PREFIX(VertexAttrib3dNV): GL_PREFIX(VertexAttrib3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27391,13 +27769,13 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27407,7 +27785,7 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvNV), .-GL_PREFIX(VertexAttrib3dvNV) @@ -27418,7 +27796,7 @@ GL_PREFIX(VertexAttrib3dvNV): GL_PREFIX(VertexAttrib3fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -27432,13 +27810,13 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -27452,7 +27830,7 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5824(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fNV), .-GL_PREFIX(VertexAttrib3fNV) @@ -27463,7 +27841,7 @@ GL_PREFIX(VertexAttrib3fNV): GL_PREFIX(VertexAttrib3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27473,13 +27851,13 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27489,7 +27867,7 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvNV), .-GL_PREFIX(VertexAttrib3fvNV) @@ -27500,7 +27878,7 @@ GL_PREFIX(VertexAttrib3fvNV): GL_PREFIX(VertexAttrib3sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27514,13 +27892,13 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27534,7 +27912,7 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 5840(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sNV), .-GL_PREFIX(VertexAttrib3sNV) @@ -27545,7 +27923,7 @@ GL_PREFIX(VertexAttrib3sNV): GL_PREFIX(VertexAttrib3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27555,13 +27933,13 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27571,7 +27949,7 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svNV), .-GL_PREFIX(VertexAttrib3svNV) @@ -27582,7 +27960,7 @@ GL_PREFIX(VertexAttrib3svNV): GL_PREFIX(VertexAttrib4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -27598,13 +27976,13 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -27620,7 +27998,7 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5856(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dNV), .-GL_PREFIX(VertexAttrib4dNV) @@ -27631,7 +28009,7 @@ GL_PREFIX(VertexAttrib4dNV): GL_PREFIX(VertexAttrib4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27641,13 +28019,13 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27657,7 +28035,7 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvNV), .-GL_PREFIX(VertexAttrib4dvNV) @@ -27668,7 +28046,7 @@ GL_PREFIX(VertexAttrib4dvNV): GL_PREFIX(VertexAttrib4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -27684,13 +28062,13 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -27706,7 +28084,7 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 5872(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fNV), .-GL_PREFIX(VertexAttrib4fNV) @@ -27717,7 +28095,7 @@ GL_PREFIX(VertexAttrib4fNV): GL_PREFIX(VertexAttrib4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27727,13 +28105,13 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27743,7 +28121,7 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvNV), .-GL_PREFIX(VertexAttrib4fvNV) @@ -27754,7 +28132,7 @@ GL_PREFIX(VertexAttrib4fvNV): GL_PREFIX(VertexAttrib4sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27768,13 +28146,13 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27788,7 +28166,7 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sNV), .-GL_PREFIX(VertexAttrib4sNV) @@ -27799,7 +28177,7 @@ GL_PREFIX(VertexAttrib4sNV): GL_PREFIX(VertexAttrib4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27809,13 +28187,13 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27825,7 +28203,7 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svNV), .-GL_PREFIX(VertexAttrib4svNV) @@ -27836,7 +28214,7 @@ GL_PREFIX(VertexAttrib4svNV): GL_PREFIX(VertexAttrib4ubNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27850,13 +28228,13 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27870,7 +28248,7 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubNV), .-GL_PREFIX(VertexAttrib4ubNV) @@ -27881,7 +28259,7 @@ GL_PREFIX(VertexAttrib4ubNV): GL_PREFIX(VertexAttrib4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27891,13 +28269,13 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27907,7 +28285,7 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvNV), .-GL_PREFIX(VertexAttrib4ubvNV) @@ -27918,7 +28296,7 @@ GL_PREFIX(VertexAttrib4ubvNV): GL_PREFIX(VertexAttribPointerNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27932,13 +28310,13 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27952,7 +28330,7 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerNV), .-GL_PREFIX(VertexAttribPointerNV) @@ -27963,7 +28341,7 @@ GL_PREFIX(VertexAttribPointerNV): GL_PREFIX(VertexAttribs1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27973,13 +28351,13 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27989,7 +28367,7 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1dvNV), .-GL_PREFIX(VertexAttribs1dvNV) @@ -28000,7 +28378,7 @@ GL_PREFIX(VertexAttribs1dvNV): GL_PREFIX(VertexAttribs1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28010,13 +28388,13 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28026,7 +28404,7 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1fvNV), .-GL_PREFIX(VertexAttribs1fvNV) @@ -28037,7 +28415,7 @@ GL_PREFIX(VertexAttribs1fvNV): GL_PREFIX(VertexAttribs1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28047,13 +28425,13 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28063,7 +28441,7 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 5944(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1svNV), .-GL_PREFIX(VertexAttribs1svNV) @@ -28074,7 +28452,7 @@ GL_PREFIX(VertexAttribs1svNV): GL_PREFIX(VertexAttribs2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28084,13 +28462,13 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28100,7 +28478,7 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2dvNV), .-GL_PREFIX(VertexAttribs2dvNV) @@ -28111,7 +28489,7 @@ GL_PREFIX(VertexAttribs2dvNV): GL_PREFIX(VertexAttribs2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28121,13 +28499,13 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28137,7 +28515,7 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2fvNV), .-GL_PREFIX(VertexAttribs2fvNV) @@ -28148,7 +28526,7 @@ GL_PREFIX(VertexAttribs2fvNV): GL_PREFIX(VertexAttribs2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28158,13 +28536,13 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28174,7 +28552,7 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2svNV), .-GL_PREFIX(VertexAttribs2svNV) @@ -28185,7 +28563,7 @@ GL_PREFIX(VertexAttribs2svNV): GL_PREFIX(VertexAttribs3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28195,13 +28573,13 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28211,7 +28589,7 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3dvNV), .-GL_PREFIX(VertexAttribs3dvNV) @@ -28222,7 +28600,7 @@ GL_PREFIX(VertexAttribs3dvNV): GL_PREFIX(VertexAttribs3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28232,13 +28610,13 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28248,7 +28626,7 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3fvNV), .-GL_PREFIX(VertexAttribs3fvNV) @@ -28259,7 +28637,7 @@ GL_PREFIX(VertexAttribs3fvNV): GL_PREFIX(VertexAttribs3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28269,13 +28647,13 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28285,7 +28663,7 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3svNV), .-GL_PREFIX(VertexAttribs3svNV) @@ -28296,7 +28674,7 @@ GL_PREFIX(VertexAttribs3svNV): GL_PREFIX(VertexAttribs4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28306,13 +28684,13 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28322,7 +28700,7 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4dvNV), .-GL_PREFIX(VertexAttribs4dvNV) @@ -28333,7 +28711,7 @@ GL_PREFIX(VertexAttribs4dvNV): GL_PREFIX(VertexAttribs4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28343,13 +28721,13 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28359,7 +28737,7 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4fvNV), .-GL_PREFIX(VertexAttribs4fvNV) @@ -28370,7 +28748,7 @@ GL_PREFIX(VertexAttribs4fvNV): GL_PREFIX(VertexAttribs4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28380,13 +28758,13 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28396,7 +28774,7 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4svNV), .-GL_PREFIX(VertexAttribs4svNV) @@ -28407,7 +28785,7 @@ GL_PREFIX(VertexAttribs4svNV): GL_PREFIX(VertexAttribs4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28417,13 +28795,13 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28433,7 +28811,7 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4ubvNV), .-GL_PREFIX(VertexAttribs4ubvNV) @@ -28444,7 +28822,7 @@ GL_PREFIX(VertexAttribs4ubvNV): GL_PREFIX(GetTexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28454,13 +28832,13 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28470,7 +28848,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6032(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterfvATI), .-GL_PREFIX(GetTexBumpParameterfvATI) @@ -28481,7 +28859,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): GL_PREFIX(GetTexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28491,13 +28869,13 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28507,7 +28885,7 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterivATI), .-GL_PREFIX(GetTexBumpParameterivATI) @@ -28518,7 +28896,7 @@ GL_PREFIX(GetTexBumpParameterivATI): GL_PREFIX(TexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28528,13 +28906,13 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28544,7 +28922,7 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterfvATI), .-GL_PREFIX(TexBumpParameterfvATI) @@ -28555,7 +28933,7 @@ GL_PREFIX(TexBumpParameterfvATI): GL_PREFIX(TexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28565,13 +28943,13 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28581,7 +28959,7 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterivATI), .-GL_PREFIX(TexBumpParameterivATI) @@ -28592,7 +28970,7 @@ GL_PREFIX(TexBumpParameterivATI): GL_PREFIX(AlphaFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28610,13 +28988,13 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28634,7 +29012,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp1ATI), .-GL_PREFIX(AlphaFragmentOp1ATI) @@ -28645,7 +29023,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): GL_PREFIX(AlphaFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28663,13 +29041,13 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28687,7 +29065,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp2ATI), .-GL_PREFIX(AlphaFragmentOp2ATI) @@ -28698,7 +29076,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): GL_PREFIX(AlphaFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28716,13 +29094,13 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28740,7 +29118,7 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp3ATI), .-GL_PREFIX(AlphaFragmentOp3ATI) @@ -28751,25 +29129,25 @@ GL_PREFIX(AlphaFragmentOp3ATI): GL_PREFIX(BeginFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6088(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginFragmentShaderATI), .-GL_PREFIX(BeginFragmentShaderATI) @@ -28780,25 +29158,25 @@ GL_PREFIX(BeginFragmentShaderATI): GL_PREFIX(BindFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6096(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragmentShaderATI), .-GL_PREFIX(BindFragmentShaderATI) @@ -28809,7 +29187,7 @@ GL_PREFIX(BindFragmentShaderATI): GL_PREFIX(ColorFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28827,13 +29205,13 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28851,7 +29229,7 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp1ATI), .-GL_PREFIX(ColorFragmentOp1ATI) @@ -28862,7 +29240,7 @@ GL_PREFIX(ColorFragmentOp1ATI): GL_PREFIX(ColorFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28880,13 +29258,13 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28904,7 +29282,7 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp2ATI), .-GL_PREFIX(ColorFragmentOp2ATI) @@ -28915,7 +29293,7 @@ GL_PREFIX(ColorFragmentOp2ATI): GL_PREFIX(ColorFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28933,13 +29311,13 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28957,7 +29335,7 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp3ATI), .-GL_PREFIX(ColorFragmentOp3ATI) @@ -28968,25 +29346,25 @@ GL_PREFIX(ColorFragmentOp3ATI): GL_PREFIX(DeleteFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6128(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFragmentShaderATI), .-GL_PREFIX(DeleteFragmentShaderATI) @@ -28997,25 +29375,25 @@ GL_PREFIX(DeleteFragmentShaderATI): GL_PREFIX(EndFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6136(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndFragmentShaderATI), .-GL_PREFIX(EndFragmentShaderATI) @@ -29026,25 +29404,25 @@ GL_PREFIX(EndFragmentShaderATI): GL_PREFIX(GenFragmentShadersATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6144(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFragmentShadersATI), .-GL_PREFIX(GenFragmentShadersATI) @@ -29055,7 +29433,7 @@ GL_PREFIX(GenFragmentShadersATI): GL_PREFIX(PassTexCoordATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29065,13 +29443,13 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29081,7 +29459,7 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PassTexCoordATI), .-GL_PREFIX(PassTexCoordATI) @@ -29092,7 +29470,7 @@ GL_PREFIX(PassTexCoordATI): GL_PREFIX(SampleMapATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29102,13 +29480,13 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29118,7 +29496,7 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleMapATI), .-GL_PREFIX(SampleMapATI) @@ -29129,7 +29507,7 @@ GL_PREFIX(SampleMapATI): GL_PREFIX(SetFragmentShaderConstantATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29139,13 +29517,13 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29155,7 +29533,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SetFragmentShaderConstantATI), .-GL_PREFIX(SetFragmentShaderConstantATI) @@ -29166,7 +29544,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): GL_PREFIX(PointParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29176,13 +29554,13 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29192,7 +29570,7 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameteriNV), .-GL_PREFIX(PointParameteriNV) @@ -29203,7 +29581,7 @@ GL_PREFIX(PointParameteriNV): GL_PREFIX(PointParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29213,13 +29591,13 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29229,79 +29607,79 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_774) - .type GL_PREFIX(_dispatch_stub_774), @function - HIDDEN(GL_PREFIX(_dispatch_stub_774)) -GL_PREFIX(_dispatch_stub_774): + .globl GL_PREFIX(_dispatch_stub_784) + .type GL_PREFIX(_dispatch_stub_784), @function + HIDDEN(GL_PREFIX(_dispatch_stub_784)) +GL_PREFIX(_dispatch_stub_784): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6192(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_774), .-GL_PREFIX(_dispatch_stub_774) + .size GL_PREFIX(_dispatch_stub_784), .-GL_PREFIX(_dispatch_stub_784) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_775) - .type GL_PREFIX(_dispatch_stub_775), @function - HIDDEN(GL_PREFIX(_dispatch_stub_775)) -GL_PREFIX(_dispatch_stub_775): + .globl GL_PREFIX(_dispatch_stub_785) + .type GL_PREFIX(_dispatch_stub_785), @function + HIDDEN(GL_PREFIX(_dispatch_stub_785)) +GL_PREFIX(_dispatch_stub_785): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6200(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_775), .-GL_PREFIX(_dispatch_stub_775) + .size GL_PREFIX(_dispatch_stub_785), .-GL_PREFIX(_dispatch_stub_785) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_776) - .type GL_PREFIX(_dispatch_stub_776), @function - HIDDEN(GL_PREFIX(_dispatch_stub_776)) -GL_PREFIX(_dispatch_stub_776): + .globl GL_PREFIX(_dispatch_stub_786) + .type GL_PREFIX(_dispatch_stub_786), @function + HIDDEN(GL_PREFIX(_dispatch_stub_786)) +GL_PREFIX(_dispatch_stub_786): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29311,13 +29689,13 @@ GL_PREFIX(_dispatch_stub_776): popq %rbp popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29327,19 +29705,19 @@ GL_PREFIX(_dispatch_stub_776): popq %rbp popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_776), .-GL_PREFIX(_dispatch_stub_776) + .size GL_PREFIX(_dispatch_stub_786), .-GL_PREFIX(_dispatch_stub_786) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_777) - .type GL_PREFIX(_dispatch_stub_777), @function - HIDDEN(GL_PREFIX(_dispatch_stub_777)) -GL_PREFIX(_dispatch_stub_777): + .globl GL_PREFIX(_dispatch_stub_787) + .type GL_PREFIX(_dispatch_stub_787), @function + HIDDEN(GL_PREFIX(_dispatch_stub_787)) +GL_PREFIX(_dispatch_stub_787): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29349,13 +29727,13 @@ GL_PREFIX(_dispatch_stub_777): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29365,40 +29743,40 @@ GL_PREFIX(_dispatch_stub_777): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_777), .-GL_PREFIX(_dispatch_stub_777) + .size GL_PREFIX(_dispatch_stub_787), .-GL_PREFIX(_dispatch_stub_787) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_778) - .type GL_PREFIX(_dispatch_stub_778), @function - HIDDEN(GL_PREFIX(_dispatch_stub_778)) -GL_PREFIX(_dispatch_stub_778): + .globl GL_PREFIX(_dispatch_stub_788) + .type GL_PREFIX(_dispatch_stub_788), @function + HIDDEN(GL_PREFIX(_dispatch_stub_788)) +GL_PREFIX(_dispatch_stub_788): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6224(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_778), .-GL_PREFIX(_dispatch_stub_778) + .size GL_PREFIX(_dispatch_stub_788), .-GL_PREFIX(_dispatch_stub_788) .p2align 4,,15 .globl GL_PREFIX(GetProgramNamedParameterdvNV) @@ -29406,7 +29784,7 @@ GL_PREFIX(_dispatch_stub_778): GL_PREFIX(GetProgramNamedParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29420,13 +29798,13 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29440,7 +29818,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterdvNV), .-GL_PREFIX(GetProgramNamedParameterdvNV) @@ -29451,7 +29829,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): GL_PREFIX(GetProgramNamedParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29465,13 +29843,13 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29485,7 +29863,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterfvNV), .-GL_PREFIX(GetProgramNamedParameterfvNV) @@ -29496,7 +29874,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): GL_PREFIX(ProgramNamedParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -29516,13 +29894,13 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -29542,7 +29920,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6248(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dNV), .-GL_PREFIX(ProgramNamedParameter4dNV) @@ -29553,7 +29931,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): GL_PREFIX(ProgramNamedParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29567,13 +29945,13 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29587,7 +29965,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dvNV), .-GL_PREFIX(ProgramNamedParameter4dvNV) @@ -29598,7 +29976,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): GL_PREFIX(ProgramNamedParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -29618,13 +29996,13 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -29644,7 +30022,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6264(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fNV), .-GL_PREFIX(ProgramNamedParameter4fNV) @@ -29655,7 +30033,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): GL_PREFIX(ProgramNamedParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29669,13 +30047,13 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29689,7 +30067,7 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV) @@ -29700,25 +30078,25 @@ GL_PREFIX(ProgramNamedParameter4fvNV): GL_PREFIX(PrimitiveRestartIndexNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6280(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PrimitiveRestartIndexNV), .-GL_PREFIX(PrimitiveRestartIndexNV) @@ -29729,37 +30107,37 @@ GL_PREFIX(PrimitiveRestartIndexNV): GL_PREFIX(PrimitiveRestartNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6288(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PrimitiveRestartNV), .-GL_PREFIX(PrimitiveRestartNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_787) - .type GL_PREFIX(_dispatch_stub_787), @function - HIDDEN(GL_PREFIX(_dispatch_stub_787)) -GL_PREFIX(_dispatch_stub_787): + .globl GL_PREFIX(_dispatch_stub_797) + .type GL_PREFIX(_dispatch_stub_797), @function + HIDDEN(GL_PREFIX(_dispatch_stub_797)) +GL_PREFIX(_dispatch_stub_797): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29769,13 +30147,13 @@ GL_PREFIX(_dispatch_stub_787): popq %rbp popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29785,19 +30163,19 @@ GL_PREFIX(_dispatch_stub_787): popq %rbp popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_787), .-GL_PREFIX(_dispatch_stub_787) + .size GL_PREFIX(_dispatch_stub_797), .-GL_PREFIX(_dispatch_stub_797) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_788) - .type GL_PREFIX(_dispatch_stub_788), @function - HIDDEN(GL_PREFIX(_dispatch_stub_788)) -GL_PREFIX(_dispatch_stub_788): + .globl GL_PREFIX(_dispatch_stub_798) + .type GL_PREFIX(_dispatch_stub_798), @function + HIDDEN(GL_PREFIX(_dispatch_stub_798)) +GL_PREFIX(_dispatch_stub_798): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29807,13 +30185,13 @@ GL_PREFIX(_dispatch_stub_788): popq %rbp popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29823,10 +30201,10 @@ GL_PREFIX(_dispatch_stub_788): popq %rbp popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_788), .-GL_PREFIX(_dispatch_stub_788) + .size GL_PREFIX(_dispatch_stub_798), .-GL_PREFIX(_dispatch_stub_798) .p2align 4,,15 .globl GL_PREFIX(BindFramebufferEXT) @@ -29834,7 +30212,7 @@ GL_PREFIX(_dispatch_stub_788): GL_PREFIX(BindFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29844,13 +30222,13 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29860,7 +30238,7 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFramebufferEXT), .-GL_PREFIX(BindFramebufferEXT) @@ -29871,7 +30249,7 @@ GL_PREFIX(BindFramebufferEXT): GL_PREFIX(BindRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29881,13 +30259,13 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29897,7 +30275,7 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindRenderbufferEXT), .-GL_PREFIX(BindRenderbufferEXT) @@ -29908,25 +30286,25 @@ GL_PREFIX(BindRenderbufferEXT): GL_PREFIX(CheckFramebufferStatusEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6328(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CheckFramebufferStatusEXT), .-GL_PREFIX(CheckFramebufferStatusEXT) @@ -29937,7 +30315,7 @@ GL_PREFIX(CheckFramebufferStatusEXT): GL_PREFIX(DeleteFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29947,13 +30325,13 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29963,7 +30341,7 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFramebuffersEXT), .-GL_PREFIX(DeleteFramebuffersEXT) @@ -29974,7 +30352,7 @@ GL_PREFIX(DeleteFramebuffersEXT): GL_PREFIX(DeleteRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29984,13 +30362,13 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30000,7 +30378,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6344(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteRenderbuffersEXT), .-GL_PREFIX(DeleteRenderbuffersEXT) @@ -30011,7 +30389,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): GL_PREFIX(FramebufferRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30025,13 +30403,13 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30045,7 +30423,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferRenderbufferEXT), .-GL_PREFIX(FramebufferRenderbufferEXT) @@ -30056,7 +30434,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): GL_PREFIX(FramebufferTexture1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30070,13 +30448,13 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30090,7 +30468,7 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture1DEXT), .-GL_PREFIX(FramebufferTexture1DEXT) @@ -30101,7 +30479,7 @@ GL_PREFIX(FramebufferTexture1DEXT): GL_PREFIX(FramebufferTexture2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30115,13 +30493,13 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30135,7 +30513,7 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6368(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture2DEXT), .-GL_PREFIX(FramebufferTexture2DEXT) @@ -30146,7 +30524,7 @@ GL_PREFIX(FramebufferTexture2DEXT): GL_PREFIX(FramebufferTexture3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30164,13 +30542,13 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30188,7 +30566,7 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6376(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture3DEXT), .-GL_PREFIX(FramebufferTexture3DEXT) @@ -30199,7 +30577,7 @@ GL_PREFIX(FramebufferTexture3DEXT): GL_PREFIX(GenFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30209,13 +30587,13 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30225,7 +30603,7 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFramebuffersEXT), .-GL_PREFIX(GenFramebuffersEXT) @@ -30236,7 +30614,7 @@ GL_PREFIX(GenFramebuffersEXT): GL_PREFIX(GenRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30246,13 +30624,13 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30262,7 +30640,7 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenRenderbuffersEXT), .-GL_PREFIX(GenRenderbuffersEXT) @@ -30273,25 +30651,25 @@ GL_PREFIX(GenRenderbuffersEXT): GL_PREFIX(GenerateMipmapEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6400(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenerateMipmapEXT), .-GL_PREFIX(GenerateMipmapEXT) @@ -30302,7 +30680,7 @@ GL_PREFIX(GenerateMipmapEXT): GL_PREFIX(GetFramebufferAttachmentParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30316,13 +30694,13 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30336,7 +30714,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6408(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT) @@ -30347,7 +30725,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): GL_PREFIX(GetRenderbufferParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30357,13 +30735,13 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30373,7 +30751,7 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) @@ -30384,25 +30762,25 @@ GL_PREFIX(GetRenderbufferParameterivEXT): GL_PREFIX(IsFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6424(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) @@ -30413,25 +30791,25 @@ GL_PREFIX(IsFramebufferEXT): GL_PREFIX(IsRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6432(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) @@ -30442,7 +30820,7 @@ GL_PREFIX(IsRenderbufferEXT): GL_PREFIX(RenderbufferStorageEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30456,13 +30834,13 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30476,19 +30854,19 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_806) - .type GL_PREFIX(_dispatch_stub_806), @function - HIDDEN(GL_PREFIX(_dispatch_stub_806)) -GL_PREFIX(_dispatch_stub_806): + .globl GL_PREFIX(_dispatch_stub_816) + .type GL_PREFIX(_dispatch_stub_816), @function + HIDDEN(GL_PREFIX(_dispatch_stub_816)) +GL_PREFIX(_dispatch_stub_816): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30506,13 +30884,13 @@ GL_PREFIX(_dispatch_stub_806): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30530,19 +30908,19 @@ GL_PREFIX(_dispatch_stub_806): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_806), .-GL_PREFIX(_dispatch_stub_806) + .size GL_PREFIX(_dispatch_stub_816), .-GL_PREFIX(_dispatch_stub_816) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_807) - .type GL_PREFIX(_dispatch_stub_807), @function - HIDDEN(GL_PREFIX(_dispatch_stub_807)) -GL_PREFIX(_dispatch_stub_807): + .globl GL_PREFIX(_dispatch_stub_817) + .type GL_PREFIX(_dispatch_stub_817), @function + HIDDEN(GL_PREFIX(_dispatch_stub_817)) +GL_PREFIX(_dispatch_stub_817): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30552,13 +30930,13 @@ GL_PREFIX(_dispatch_stub_807): popq %rdx popq %rsi popq %rdi - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30568,19 +30946,19 @@ GL_PREFIX(_dispatch_stub_807): popq %rdx popq %rsi popq %rdi - movq 6456(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_807), .-GL_PREFIX(_dispatch_stub_807) + .size GL_PREFIX(_dispatch_stub_817), .-GL_PREFIX(_dispatch_stub_817) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_808) - .type GL_PREFIX(_dispatch_stub_808), @function - HIDDEN(GL_PREFIX(_dispatch_stub_808)) -GL_PREFIX(_dispatch_stub_808): + .globl GL_PREFIX(_dispatch_stub_818) + .type GL_PREFIX(_dispatch_stub_818), @function + HIDDEN(GL_PREFIX(_dispatch_stub_818)) +GL_PREFIX(_dispatch_stub_818): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30590,13 +30968,13 @@ GL_PREFIX(_dispatch_stub_808): popq %rdx popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30606,10 +30984,10 @@ GL_PREFIX(_dispatch_stub_808): popq %rdx popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_808), .-GL_PREFIX(_dispatch_stub_808) + .size GL_PREFIX(_dispatch_stub_818), .-GL_PREFIX(_dispatch_stub_818) .p2align 4,,15 .globl GL_PREFIX(BindFragDataLocationEXT) @@ -30617,7 +30995,7 @@ GL_PREFIX(_dispatch_stub_808): GL_PREFIX(BindFragDataLocationEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30627,13 +31005,13 @@ GL_PREFIX(BindFragDataLocationEXT): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30643,7 +31021,7 @@ GL_PREFIX(BindFragDataLocationEXT): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragDataLocationEXT), .-GL_PREFIX(BindFragDataLocationEXT) @@ -30654,7 +31032,7 @@ GL_PREFIX(BindFragDataLocationEXT): GL_PREFIX(GetFragDataLocationEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30664,13 +31042,13 @@ GL_PREFIX(GetFragDataLocationEXT): popq %rbp popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30680,7 +31058,7 @@ GL_PREFIX(GetFragDataLocationEXT): popq %rbp popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFragDataLocationEXT), .-GL_PREFIX(GetFragDataLocationEXT) @@ -30691,7 +31069,7 @@ GL_PREFIX(GetFragDataLocationEXT): GL_PREFIX(GetUniformuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30701,13 +31079,13 @@ GL_PREFIX(GetUniformuivEXT): popq %rdx popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30717,7 +31095,7 @@ GL_PREFIX(GetUniformuivEXT): popq %rdx popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetUniformuivEXT), .-GL_PREFIX(GetUniformuivEXT) @@ -30728,7 +31106,7 @@ GL_PREFIX(GetUniformuivEXT): GL_PREFIX(GetVertexAttribIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30738,13 +31116,13 @@ GL_PREFIX(GetVertexAttribIivEXT): popq %rdx popq %rsi popq %rdi - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30754,7 +31132,7 @@ GL_PREFIX(GetVertexAttribIivEXT): popq %rdx popq %rsi popq %rdi - movq 6496(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribIivEXT), .-GL_PREFIX(GetVertexAttribIivEXT) @@ -30765,7 +31143,7 @@ GL_PREFIX(GetVertexAttribIivEXT): GL_PREFIX(GetVertexAttribIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30775,13 +31153,13 @@ GL_PREFIX(GetVertexAttribIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30791,7 +31169,7 @@ GL_PREFIX(GetVertexAttribIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6504(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribIuivEXT), .-GL_PREFIX(GetVertexAttribIuivEXT) @@ -30802,7 +31180,7 @@ GL_PREFIX(GetVertexAttribIuivEXT): GL_PREFIX(Uniform1uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30812,13 +31190,13 @@ GL_PREFIX(Uniform1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30828,7 +31206,7 @@ GL_PREFIX(Uniform1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1uiEXT), .-GL_PREFIX(Uniform1uiEXT) @@ -30839,7 +31217,7 @@ GL_PREFIX(Uniform1uiEXT): GL_PREFIX(Uniform1uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30849,13 +31227,13 @@ GL_PREFIX(Uniform1uivEXT): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30865,7 +31243,7 @@ GL_PREFIX(Uniform1uivEXT): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1uivEXT), .-GL_PREFIX(Uniform1uivEXT) @@ -30876,7 +31254,7 @@ GL_PREFIX(Uniform1uivEXT): GL_PREFIX(Uniform2uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30886,13 +31264,13 @@ GL_PREFIX(Uniform2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30902,7 +31280,7 @@ GL_PREFIX(Uniform2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2uiEXT), .-GL_PREFIX(Uniform2uiEXT) @@ -30913,7 +31291,7 @@ GL_PREFIX(Uniform2uiEXT): GL_PREFIX(Uniform2uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6536(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30923,13 +31301,13 @@ GL_PREFIX(Uniform2uivEXT): popq %rdx popq %rsi popq %rdi - movq 6536(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6536(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30939,7 +31317,7 @@ GL_PREFIX(Uniform2uivEXT): popq %rdx popq %rsi popq %rdi - movq 6536(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2uivEXT), .-GL_PREFIX(Uniform2uivEXT) @@ -30950,7 +31328,7 @@ GL_PREFIX(Uniform2uivEXT): GL_PREFIX(Uniform3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6544(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30964,13 +31342,13 @@ GL_PREFIX(Uniform3uiEXT): popq %rdx popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6544(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30984,7 +31362,7 @@ GL_PREFIX(Uniform3uiEXT): popq %rdx popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3uiEXT), .-GL_PREFIX(Uniform3uiEXT) @@ -30995,7 +31373,7 @@ GL_PREFIX(Uniform3uiEXT): GL_PREFIX(Uniform3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6552(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31005,13 +31383,13 @@ GL_PREFIX(Uniform3uivEXT): popq %rdx popq %rsi popq %rdi - movq 6552(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6552(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31021,7 +31399,7 @@ GL_PREFIX(Uniform3uivEXT): popq %rdx popq %rsi popq %rdi - movq 6552(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3uivEXT), .-GL_PREFIX(Uniform3uivEXT) @@ -31032,7 +31410,7 @@ GL_PREFIX(Uniform3uivEXT): GL_PREFIX(Uniform4uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6560(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31046,13 +31424,13 @@ GL_PREFIX(Uniform4uiEXT): popq %rdx popq %rsi popq %rdi - movq 6560(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6560(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31066,7 +31444,7 @@ GL_PREFIX(Uniform4uiEXT): popq %rdx popq %rsi popq %rdi - movq 6560(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4uiEXT), .-GL_PREFIX(Uniform4uiEXT) @@ -31077,7 +31455,7 @@ GL_PREFIX(Uniform4uiEXT): GL_PREFIX(Uniform4uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6568(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31087,13 +31465,13 @@ GL_PREFIX(Uniform4uivEXT): popq %rdx popq %rsi popq %rdi - movq 6568(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6568(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31103,7 +31481,7 @@ GL_PREFIX(Uniform4uivEXT): popq %rdx popq %rsi popq %rdi - movq 6568(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4uivEXT), .-GL_PREFIX(Uniform4uivEXT) @@ -31114,7 +31492,7 @@ GL_PREFIX(Uniform4uivEXT): GL_PREFIX(VertexAttribI1iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6576(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31124,13 +31502,13 @@ GL_PREFIX(VertexAttribI1iEXT): popq %rbp popq %rsi popq %rdi - movq 6576(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6576(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31140,7 +31518,7 @@ GL_PREFIX(VertexAttribI1iEXT): popq %rbp popq %rsi popq %rdi - movq 6576(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1iEXT), .-GL_PREFIX(VertexAttribI1iEXT) @@ -31151,7 +31529,7 @@ GL_PREFIX(VertexAttribI1iEXT): GL_PREFIX(VertexAttribI1ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6584(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31161,13 +31539,13 @@ GL_PREFIX(VertexAttribI1ivEXT): popq %rbp popq %rsi popq %rdi - movq 6584(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6584(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31177,7 +31555,7 @@ GL_PREFIX(VertexAttribI1ivEXT): popq %rbp popq %rsi popq %rdi - movq 6584(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1ivEXT), .-GL_PREFIX(VertexAttribI1ivEXT) @@ -31188,7 +31566,7 @@ GL_PREFIX(VertexAttribI1ivEXT): GL_PREFIX(VertexAttribI1uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6592(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31198,13 +31576,13 @@ GL_PREFIX(VertexAttribI1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6592(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6592(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31214,7 +31592,7 @@ GL_PREFIX(VertexAttribI1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6592(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1uiEXT), .-GL_PREFIX(VertexAttribI1uiEXT) @@ -31225,7 +31603,7 @@ GL_PREFIX(VertexAttribI1uiEXT): GL_PREFIX(VertexAttribI1uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6600(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31235,13 +31613,13 @@ GL_PREFIX(VertexAttribI1uivEXT): popq %rbp popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6600(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31251,7 +31629,7 @@ GL_PREFIX(VertexAttribI1uivEXT): popq %rbp popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1uivEXT), .-GL_PREFIX(VertexAttribI1uivEXT) @@ -31262,7 +31640,7 @@ GL_PREFIX(VertexAttribI1uivEXT): GL_PREFIX(VertexAttribI2iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6608(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31272,13 +31650,13 @@ GL_PREFIX(VertexAttribI2iEXT): popq %rdx popq %rsi popq %rdi - movq 6608(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6608(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31288,7 +31666,7 @@ GL_PREFIX(VertexAttribI2iEXT): popq %rdx popq %rsi popq %rdi - movq 6608(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2iEXT), .-GL_PREFIX(VertexAttribI2iEXT) @@ -31299,7 +31677,7 @@ GL_PREFIX(VertexAttribI2iEXT): GL_PREFIX(VertexAttribI2ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6616(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31309,13 +31687,13 @@ GL_PREFIX(VertexAttribI2ivEXT): popq %rbp popq %rsi popq %rdi - movq 6616(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6616(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31325,7 +31703,7 @@ GL_PREFIX(VertexAttribI2ivEXT): popq %rbp popq %rsi popq %rdi - movq 6616(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2ivEXT), .-GL_PREFIX(VertexAttribI2ivEXT) @@ -31336,7 +31714,7 @@ GL_PREFIX(VertexAttribI2ivEXT): GL_PREFIX(VertexAttribI2uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6624(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31346,13 +31724,13 @@ GL_PREFIX(VertexAttribI2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6624(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31362,7 +31740,7 @@ GL_PREFIX(VertexAttribI2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2uiEXT), .-GL_PREFIX(VertexAttribI2uiEXT) @@ -31373,7 +31751,7 @@ GL_PREFIX(VertexAttribI2uiEXT): GL_PREFIX(VertexAttribI2uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6632(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31383,13 +31761,13 @@ GL_PREFIX(VertexAttribI2uivEXT): popq %rbp popq %rsi popq %rdi - movq 6632(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6632(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31399,7 +31777,7 @@ GL_PREFIX(VertexAttribI2uivEXT): popq %rbp popq %rsi popq %rdi - movq 6632(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2uivEXT), .-GL_PREFIX(VertexAttribI2uivEXT) @@ -31410,7 +31788,7 @@ GL_PREFIX(VertexAttribI2uivEXT): GL_PREFIX(VertexAttribI3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6640(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31424,13 +31802,13 @@ GL_PREFIX(VertexAttribI3iEXT): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6640(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31444,7 +31822,7 @@ GL_PREFIX(VertexAttribI3iEXT): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3iEXT), .-GL_PREFIX(VertexAttribI3iEXT) @@ -31455,7 +31833,7 @@ GL_PREFIX(VertexAttribI3iEXT): GL_PREFIX(VertexAttribI3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6648(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31465,13 +31843,13 @@ GL_PREFIX(VertexAttribI3ivEXT): popq %rbp popq %rsi popq %rdi - movq 6648(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6648(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31481,7 +31859,7 @@ GL_PREFIX(VertexAttribI3ivEXT): popq %rbp popq %rsi popq %rdi - movq 6648(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3ivEXT), .-GL_PREFIX(VertexAttribI3ivEXT) @@ -31492,7 +31870,7 @@ GL_PREFIX(VertexAttribI3ivEXT): GL_PREFIX(VertexAttribI3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6656(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31506,13 +31884,13 @@ GL_PREFIX(VertexAttribI3uiEXT): popq %rdx popq %rsi popq %rdi - movq 6656(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6656(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31526,7 +31904,7 @@ GL_PREFIX(VertexAttribI3uiEXT): popq %rdx popq %rsi popq %rdi - movq 6656(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3uiEXT), .-GL_PREFIX(VertexAttribI3uiEXT) @@ -31537,7 +31915,7 @@ GL_PREFIX(VertexAttribI3uiEXT): GL_PREFIX(VertexAttribI3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6664(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31547,13 +31925,13 @@ GL_PREFIX(VertexAttribI3uivEXT): popq %rbp popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6664(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31563,7 +31941,7 @@ GL_PREFIX(VertexAttribI3uivEXT): popq %rbp popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3uivEXT), .-GL_PREFIX(VertexAttribI3uivEXT) @@ -31574,7 +31952,7 @@ GL_PREFIX(VertexAttribI3uivEXT): GL_PREFIX(VertexAttribI4bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6672(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31584,13 +31962,13 @@ GL_PREFIX(VertexAttribI4bvEXT): popq %rbp popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6672(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31600,7 +31978,7 @@ GL_PREFIX(VertexAttribI4bvEXT): popq %rbp popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4bvEXT), .-GL_PREFIX(VertexAttribI4bvEXT) @@ -31611,7 +31989,7 @@ GL_PREFIX(VertexAttribI4bvEXT): GL_PREFIX(VertexAttribI4iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6680(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31625,13 +32003,13 @@ GL_PREFIX(VertexAttribI4iEXT): popq %rdx popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6680(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31645,7 +32023,7 @@ GL_PREFIX(VertexAttribI4iEXT): popq %rdx popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4iEXT), .-GL_PREFIX(VertexAttribI4iEXT) @@ -31656,7 +32034,7 @@ GL_PREFIX(VertexAttribI4iEXT): GL_PREFIX(VertexAttribI4ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6688(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31666,13 +32044,13 @@ GL_PREFIX(VertexAttribI4ivEXT): popq %rbp popq %rsi popq %rdi - movq 6688(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6688(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31682,7 +32060,7 @@ GL_PREFIX(VertexAttribI4ivEXT): popq %rbp popq %rsi popq %rdi - movq 6688(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4ivEXT), .-GL_PREFIX(VertexAttribI4ivEXT) @@ -31693,7 +32071,7 @@ GL_PREFIX(VertexAttribI4ivEXT): GL_PREFIX(VertexAttribI4svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6696(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31703,13 +32081,13 @@ GL_PREFIX(VertexAttribI4svEXT): popq %rbp popq %rsi popq %rdi - movq 6696(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6696(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31719,7 +32097,7 @@ GL_PREFIX(VertexAttribI4svEXT): popq %rbp popq %rsi popq %rdi - movq 6696(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4svEXT), .-GL_PREFIX(VertexAttribI4svEXT) @@ -31730,7 +32108,7 @@ GL_PREFIX(VertexAttribI4svEXT): GL_PREFIX(VertexAttribI4ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6704(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31740,13 +32118,13 @@ GL_PREFIX(VertexAttribI4ubvEXT): popq %rbp popq %rsi popq %rdi - movq 6704(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6704(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31756,7 +32134,7 @@ GL_PREFIX(VertexAttribI4ubvEXT): popq %rbp popq %rsi popq %rdi - movq 6704(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4ubvEXT), .-GL_PREFIX(VertexAttribI4ubvEXT) @@ -31767,7 +32145,7 @@ GL_PREFIX(VertexAttribI4ubvEXT): GL_PREFIX(VertexAttribI4uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6712(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31781,13 +32159,13 @@ GL_PREFIX(VertexAttribI4uiEXT): popq %rdx popq %rsi popq %rdi - movq 6712(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6712(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31801,7 +32179,7 @@ GL_PREFIX(VertexAttribI4uiEXT): popq %rdx popq %rsi popq %rdi - movq 6712(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4uiEXT), .-GL_PREFIX(VertexAttribI4uiEXT) @@ -31812,7 +32190,7 @@ GL_PREFIX(VertexAttribI4uiEXT): GL_PREFIX(VertexAttribI4uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6720(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31822,13 +32200,13 @@ GL_PREFIX(VertexAttribI4uivEXT): popq %rbp popq %rsi popq %rdi - movq 6720(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6720(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31838,7 +32216,7 @@ GL_PREFIX(VertexAttribI4uivEXT): popq %rbp popq %rsi popq %rdi - movq 6720(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4uivEXT), .-GL_PREFIX(VertexAttribI4uivEXT) @@ -31849,7 +32227,7 @@ GL_PREFIX(VertexAttribI4uivEXT): GL_PREFIX(VertexAttribI4usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6728(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31859,13 +32237,13 @@ GL_PREFIX(VertexAttribI4usvEXT): popq %rbp popq %rsi popq %rdi - movq 6728(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6728(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31875,7 +32253,7 @@ GL_PREFIX(VertexAttribI4usvEXT): popq %rbp popq %rsi popq %rdi - movq 6728(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4usvEXT), .-GL_PREFIX(VertexAttribI4usvEXT) @@ -31886,7 +32264,7 @@ GL_PREFIX(VertexAttribI4usvEXT): GL_PREFIX(VertexAttribIPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6736(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31900,13 +32278,13 @@ GL_PREFIX(VertexAttribIPointerEXT): popq %rdx popq %rsi popq %rdi - movq 6736(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6736(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31920,7 +32298,7 @@ GL_PREFIX(VertexAttribIPointerEXT): popq %rdx popq %rsi popq %rdi - movq 6736(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribIPointerEXT), .-GL_PREFIX(VertexAttribIPointerEXT) @@ -31931,7 +32309,7 @@ GL_PREFIX(VertexAttribIPointerEXT): GL_PREFIX(FramebufferTextureLayerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6744(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31945,13 +32323,13 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6744(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6744(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31965,7 +32343,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 6744(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT) @@ -31976,7 +32354,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): GL_PREFIX(ColorMaskIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6752(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31990,13 +32368,13 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 6752(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6752(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32010,7 +32388,7 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 6752(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorMaskIndexedEXT), .-GL_PREFIX(ColorMaskIndexedEXT) @@ -32021,7 +32399,7 @@ GL_PREFIX(ColorMaskIndexedEXT): GL_PREFIX(DisableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6760(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32031,13 +32409,13 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6760(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6760(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32047,7 +32425,7 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6760(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DisableIndexedEXT), .-GL_PREFIX(DisableIndexedEXT) @@ -32058,7 +32436,7 @@ GL_PREFIX(DisableIndexedEXT): GL_PREFIX(EnableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6768(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32068,13 +32446,13 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6768(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6768(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32084,7 +32462,7 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6768(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EnableIndexedEXT), .-GL_PREFIX(EnableIndexedEXT) @@ -32095,7 +32473,7 @@ GL_PREFIX(EnableIndexedEXT): GL_PREFIX(GetBooleanIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6776(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32105,13 +32483,13 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6776(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6776(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32121,7 +32499,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6776(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBooleanIndexedvEXT), .-GL_PREFIX(GetBooleanIndexedvEXT) @@ -32132,7 +32510,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): GL_PREFIX(GetIntegerIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6784(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32142,13 +32520,13 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6784(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6784(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32158,7 +32536,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 6784(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetIntegerIndexedvEXT), .-GL_PREFIX(GetIntegerIndexedvEXT) @@ -32169,7 +32547,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): GL_PREFIX(IsEnabledIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6792(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32179,13 +32557,13 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6792(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6792(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32195,7 +32573,7 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 6792(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsEnabledIndexedEXT), .-GL_PREFIX(IsEnabledIndexedEXT) @@ -32206,7 +32584,7 @@ GL_PREFIX(IsEnabledIndexedEXT): GL_PREFIX(ClearColorIiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6800(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32220,13 +32598,13 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 6800(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6800(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32240,7 +32618,7 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 6800(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIiEXT), .-GL_PREFIX(ClearColorIiEXT) @@ -32251,7 +32629,7 @@ GL_PREFIX(ClearColorIiEXT): GL_PREFIX(ClearColorIuiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6808(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32265,13 +32643,13 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 6808(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6808(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32285,7 +32663,7 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 6808(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIuiEXT), .-GL_PREFIX(ClearColorIuiEXT) @@ -32296,7 +32674,7 @@ GL_PREFIX(ClearColorIuiEXT): GL_PREFIX(GetTexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6816(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32306,13 +32684,13 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6816(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6816(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32322,7 +32700,7 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6816(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIivEXT), .-GL_PREFIX(GetTexParameterIivEXT) @@ -32333,7 +32711,7 @@ GL_PREFIX(GetTexParameterIivEXT): GL_PREFIX(GetTexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6824(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32343,13 +32721,13 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6824(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6824(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32359,7 +32737,7 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6824(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIuivEXT), .-GL_PREFIX(GetTexParameterIuivEXT) @@ -32370,7 +32748,7 @@ GL_PREFIX(GetTexParameterIuivEXT): GL_PREFIX(TexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6832(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32380,13 +32758,13 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6832(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6832(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32396,7 +32774,7 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 6832(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIivEXT), .-GL_PREFIX(TexParameterIivEXT) @@ -32407,7 +32785,7 @@ GL_PREFIX(TexParameterIivEXT): GL_PREFIX(TexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6840(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32417,13 +32795,13 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6840(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6840(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32433,7 +32811,7 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6840(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIuivEXT), .-GL_PREFIX(TexParameterIuivEXT) @@ -32444,7 +32822,7 @@ GL_PREFIX(TexParameterIuivEXT): GL_PREFIX(BeginConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6848(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32454,13 +32832,13 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 6848(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6848(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32470,7 +32848,7 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 6848(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginConditionalRenderNV), .-GL_PREFIX(BeginConditionalRenderNV) @@ -32481,25 +32859,25 @@ GL_PREFIX(BeginConditionalRenderNV): GL_PREFIX(EndConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6856(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6856(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6856(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6856(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndConditionalRenderNV), .-GL_PREFIX(EndConditionalRenderNV) @@ -32510,25 +32888,25 @@ GL_PREFIX(EndConditionalRenderNV): GL_PREFIX(BeginTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6864(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6864(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6864(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6864(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginTransformFeedbackEXT), .-GL_PREFIX(BeginTransformFeedbackEXT) @@ -32539,7 +32917,7 @@ GL_PREFIX(BeginTransformFeedbackEXT): GL_PREFIX(BindBufferBaseEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6872(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32549,13 +32927,13 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 6872(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6872(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32565,7 +32943,7 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 6872(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferBaseEXT), .-GL_PREFIX(BindBufferBaseEXT) @@ -32576,7 +32954,7 @@ GL_PREFIX(BindBufferBaseEXT): GL_PREFIX(BindBufferOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6880(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32590,13 +32968,13 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 6880(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6880(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32610,7 +32988,7 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 6880(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferOffsetEXT), .-GL_PREFIX(BindBufferOffsetEXT) @@ -32621,7 +32999,7 @@ GL_PREFIX(BindBufferOffsetEXT): GL_PREFIX(BindBufferRangeEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6888(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32635,13 +33013,13 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 6888(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6888(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32655,7 +33033,7 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 6888(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferRangeEXT), .-GL_PREFIX(BindBufferRangeEXT) @@ -32666,25 +33044,25 @@ GL_PREFIX(BindBufferRangeEXT): GL_PREFIX(EndTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6896(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6896(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6896(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6896(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndTransformFeedbackEXT), .-GL_PREFIX(EndTransformFeedbackEXT) @@ -32695,7 +33073,7 @@ GL_PREFIX(EndTransformFeedbackEXT): GL_PREFIX(GetTransformFeedbackVaryingEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6904(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32713,13 +33091,13 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 6904(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6904(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32737,7 +33115,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 6904(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTransformFeedbackVaryingEXT), .-GL_PREFIX(GetTransformFeedbackVaryingEXT) @@ -32748,7 +33126,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): GL_PREFIX(TransformFeedbackVaryingsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6912(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32762,13 +33140,13 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 6912(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6912(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32782,7 +33160,7 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 6912(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TransformFeedbackVaryingsEXT), .-GL_PREFIX(TransformFeedbackVaryingsEXT) @@ -32793,37 +33171,37 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): GL_PREFIX(ProvokingVertexEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6920(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6920(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6920(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6920(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_866) - .type GL_PREFIX(_dispatch_stub_866), @function - HIDDEN(GL_PREFIX(_dispatch_stub_866)) -GL_PREFIX(_dispatch_stub_866): + .globl GL_PREFIX(_dispatch_stub_876) + .type GL_PREFIX(_dispatch_stub_876), @function + HIDDEN(GL_PREFIX(_dispatch_stub_876)) +GL_PREFIX(_dispatch_stub_876): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6928(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32833,13 +33211,13 @@ GL_PREFIX(_dispatch_stub_866): popq %rdx popq %rsi popq %rdi - movq 6928(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6928(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32849,19 +33227,19 @@ GL_PREFIX(_dispatch_stub_866): popq %rdx popq %rsi popq %rdi - movq 6928(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_866), .-GL_PREFIX(_dispatch_stub_866) + .size GL_PREFIX(_dispatch_stub_876), .-GL_PREFIX(_dispatch_stub_876) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_867) - .type GL_PREFIX(_dispatch_stub_867), @function - HIDDEN(GL_PREFIX(_dispatch_stub_867)) -GL_PREFIX(_dispatch_stub_867): + .globl GL_PREFIX(_dispatch_stub_877) + .type GL_PREFIX(_dispatch_stub_877), @function + HIDDEN(GL_PREFIX(_dispatch_stub_877)) +GL_PREFIX(_dispatch_stub_877): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6936(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32871,13 +33249,13 @@ GL_PREFIX(_dispatch_stub_867): popq %rdx popq %rsi popq %rdi - movq 6936(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6936(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32887,10 +33265,10 @@ GL_PREFIX(_dispatch_stub_867): popq %rdx popq %rsi popq %rdi - movq 6936(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_867), .-GL_PREFIX(_dispatch_stub_867) + .size GL_PREFIX(_dispatch_stub_877), .-GL_PREFIX(_dispatch_stub_877) .p2align 4,,15 .globl GL_PREFIX(GetObjectParameterivAPPLE) @@ -32898,7 +33276,7 @@ GL_PREFIX(_dispatch_stub_867): GL_PREFIX(GetObjectParameterivAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6944(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32912,13 +33290,13 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 6944(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6944(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32932,7 +33310,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 6944(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetObjectParameterivAPPLE), .-GL_PREFIX(GetObjectParameterivAPPLE) @@ -32943,7 +33321,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): GL_PREFIX(ObjectPurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6952(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32953,13 +33331,13 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6952(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6952(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32969,7 +33347,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6952(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectPurgeableAPPLE), .-GL_PREFIX(ObjectPurgeableAPPLE) @@ -32980,7 +33358,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): GL_PREFIX(ObjectUnpurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6960(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32990,13 +33368,13 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6960(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6960(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33006,7 +33384,7 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 6960(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectUnpurgeableAPPLE), .-GL_PREFIX(ObjectUnpurgeableAPPLE) @@ -33017,25 +33395,25 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): GL_PREFIX(ActiveProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6968(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6968(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6968(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6968(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ActiveProgramEXT), .-GL_PREFIX(ActiveProgramEXT) @@ -33046,7 +33424,7 @@ GL_PREFIX(ActiveProgramEXT): GL_PREFIX(CreateShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6976(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33056,13 +33434,13 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6976(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6976(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33072,7 +33450,7 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6976(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CreateShaderProgramEXT), .-GL_PREFIX(CreateShaderProgramEXT) @@ -33083,7 +33461,7 @@ GL_PREFIX(CreateShaderProgramEXT): GL_PREFIX(UseShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6984(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33093,13 +33471,13 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6984(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6984(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33109,19 +33487,19 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 6984(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UseShaderProgramEXT), .-GL_PREFIX(UseShaderProgramEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_874) - .type GL_PREFIX(_dispatch_stub_874), @function - HIDDEN(GL_PREFIX(_dispatch_stub_874)) -GL_PREFIX(_dispatch_stub_874): + .globl GL_PREFIX(_dispatch_stub_884) + .type GL_PREFIX(_dispatch_stub_884), @function + HIDDEN(GL_PREFIX(_dispatch_stub_884)) +GL_PREFIX(_dispatch_stub_884): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6992(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33135,13 +33513,13 @@ GL_PREFIX(_dispatch_stub_874): popq %rdx popq %rsi popq %rdi - movq 6992(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6992(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33155,19 +33533,19 @@ GL_PREFIX(_dispatch_stub_874): popq %rdx popq %rsi popq %rdi - movq 6992(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_874), .-GL_PREFIX(_dispatch_stub_874) + .size GL_PREFIX(_dispatch_stub_884), .-GL_PREFIX(_dispatch_stub_884) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_875) - .type GL_PREFIX(_dispatch_stub_875), @function - HIDDEN(GL_PREFIX(_dispatch_stub_875)) -GL_PREFIX(_dispatch_stub_875): + .globl GL_PREFIX(_dispatch_stub_885) + .type GL_PREFIX(_dispatch_stub_885), @function + HIDDEN(GL_PREFIX(_dispatch_stub_885)) +GL_PREFIX(_dispatch_stub_885): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7000(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33181,13 +33559,13 @@ GL_PREFIX(_dispatch_stub_875): popq %rdx popq %rsi popq %rdi - movq 7000(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7000(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33201,19 +33579,19 @@ GL_PREFIX(_dispatch_stub_875): popq %rdx popq %rsi popq %rdi - movq 7000(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_875), .-GL_PREFIX(_dispatch_stub_875) + .size GL_PREFIX(_dispatch_stub_885), .-GL_PREFIX(_dispatch_stub_885) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_876) - .type GL_PREFIX(_dispatch_stub_876), @function - HIDDEN(GL_PREFIX(_dispatch_stub_876)) -GL_PREFIX(_dispatch_stub_876): + .globl GL_PREFIX(_dispatch_stub_886) + .type GL_PREFIX(_dispatch_stub_886), @function + HIDDEN(GL_PREFIX(_dispatch_stub_886)) +GL_PREFIX(_dispatch_stub_886): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7008(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33227,13 +33605,13 @@ GL_PREFIX(_dispatch_stub_876): popq %rdx popq %rsi popq %rdi - movq 7008(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7008(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33247,19 +33625,19 @@ GL_PREFIX(_dispatch_stub_876): popq %rdx popq %rsi popq %rdi - movq 7008(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_876), .-GL_PREFIX(_dispatch_stub_876) + .size GL_PREFIX(_dispatch_stub_886), .-GL_PREFIX(_dispatch_stub_886) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_877) - .type GL_PREFIX(_dispatch_stub_877), @function - HIDDEN(GL_PREFIX(_dispatch_stub_877)) -GL_PREFIX(_dispatch_stub_877): + .globl GL_PREFIX(_dispatch_stub_887) + .type GL_PREFIX(_dispatch_stub_887), @function + HIDDEN(GL_PREFIX(_dispatch_stub_887)) +GL_PREFIX(_dispatch_stub_887): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7016(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33269,13 +33647,13 @@ GL_PREFIX(_dispatch_stub_877): popq %rdx popq %rsi popq %rdi - movq 7016(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7016(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33285,19 +33663,19 @@ GL_PREFIX(_dispatch_stub_877): popq %rdx popq %rsi popq %rdi - movq 7016(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_877), .-GL_PREFIX(_dispatch_stub_877) + .size GL_PREFIX(_dispatch_stub_887), .-GL_PREFIX(_dispatch_stub_887) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_878) - .type GL_PREFIX(_dispatch_stub_878), @function - HIDDEN(GL_PREFIX(_dispatch_stub_878)) -GL_PREFIX(_dispatch_stub_878): + .globl GL_PREFIX(_dispatch_stub_888) + .type GL_PREFIX(_dispatch_stub_888), @function + HIDDEN(GL_PREFIX(_dispatch_stub_888)) +GL_PREFIX(_dispatch_stub_888): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7024(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33307,13 +33685,13 @@ GL_PREFIX(_dispatch_stub_878): popq %rdx popq %rsi popq %rdi - movq 7024(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7024(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33323,10 +33701,10 @@ GL_PREFIX(_dispatch_stub_878): popq %rdx popq %rsi popq %rdi - movq 7024(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_878), .-GL_PREFIX(_dispatch_stub_878) + .size GL_PREFIX(_dispatch_stub_888), .-GL_PREFIX(_dispatch_stub_888) .p2align 4,,15 .globl GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -33334,7 +33712,7 @@ GL_PREFIX(_dispatch_stub_878): GL_PREFIX(EGLImageTargetRenderbufferStorageOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7032(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33344,13 +33722,13 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 7032(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7032(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33360,7 +33738,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 7032(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetRenderbufferStorageOES), .-GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -33371,7 +33749,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): GL_PREFIX(EGLImageTargetTexture2DOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7040(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33381,13 +33759,13 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 7040(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7040(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33397,7 +33775,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 7040(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetTexture2DOES), .-GL_PREFIX(EGLImageTargetTexture2DOES) @@ -33660,10 +34038,10 @@ GL_PREFIX(EGLImageTargetTexture2DOES): .globl GL_PREFIX(IsProgramARB) ; .set GL_PREFIX(IsProgramARB), GL_PREFIX(IsProgramNV) .globl GL_PREFIX(PointParameteri) ; .set GL_PREFIX(PointParameteri), GL_PREFIX(PointParameteriNV) .globl GL_PREFIX(PointParameteriv) ; .set GL_PREFIX(PointParameteriv), GL_PREFIX(PointParameterivNV) - .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_776) - .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_778) + .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_786) + .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_788) .globl GL_PREFIX(PrimitiveRestartIndex) ; .set GL_PREFIX(PrimitiveRestartIndex), GL_PREFIX(PrimitiveRestartIndexNV) - .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_788) + .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_798) .globl GL_PREFIX(BindFramebuffer) ; .set GL_PREFIX(BindFramebuffer), GL_PREFIX(BindFramebufferEXT) .globl GL_PREFIX(BindRenderbuffer) ; .set GL_PREFIX(BindRenderbuffer), GL_PREFIX(BindRenderbufferEXT) .globl GL_PREFIX(CheckFramebufferStatus) ; .set GL_PREFIX(CheckFramebufferStatus), GL_PREFIX(CheckFramebufferStatusEXT) @@ -33681,7 +34059,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES): .globl GL_PREFIX(IsFramebuffer) ; .set GL_PREFIX(IsFramebuffer), GL_PREFIX(IsFramebufferEXT) .globl GL_PREFIX(IsRenderbuffer) ; .set GL_PREFIX(IsRenderbuffer), GL_PREFIX(IsRenderbufferEXT) .globl GL_PREFIX(RenderbufferStorage) ; .set GL_PREFIX(RenderbufferStorage), GL_PREFIX(RenderbufferStorageEXT) - .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_806) + .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_816) .globl GL_PREFIX(BindFragDataLocation) ; .set GL_PREFIX(BindFragDataLocation), GL_PREFIX(BindFragDataLocationEXT) .globl GL_PREFIX(GetFragDataLocation) ; .set GL_PREFIX(GetFragDataLocation), GL_PREFIX(GetFragDataLocationEXT) .globl GL_PREFIX(GetUniformuiv) ; .set GL_PREFIX(GetUniformuiv), GL_PREFIX(GetUniformuivEXT) diff --git a/src/mapi/glapi/glapi_x86.S b/src/mapi/glapi/glapi_x86.S index 215295d69b2..fa448c1704f 100644 --- a/src/mapi/glapi/glapi_x86.S +++ b/src/mapi/glapi/glapi_x86.S @@ -728,344 +728,354 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(FramebufferTextureARB, 575, FramebufferTextureARB@16) GL_STUB(FramebufferTextureFaceARB, 576, FramebufferTextureFaceARB@20) GL_STUB(ProgramParameteriARB, 577, ProgramParameteriARB@12) - GL_STUB(FlushMappedBufferRange, 578, FlushMappedBufferRange@12) - GL_STUB(MapBufferRange, 579, MapBufferRange@16) - GL_STUB(BindVertexArray, 580, BindVertexArray@4) - GL_STUB(GenVertexArrays, 581, GenVertexArrays@8) - GL_STUB(CopyBufferSubData, 582, CopyBufferSubData@20) - GL_STUB(ClientWaitSync, 583, ClientWaitSync@12) - GL_STUB(DeleteSync, 584, DeleteSync@4) - GL_STUB(FenceSync, 585, FenceSync@8) - GL_STUB(GetInteger64v, 586, GetInteger64v@8) - GL_STUB(GetSynciv, 587, GetSynciv@20) - GL_STUB(IsSync, 588, IsSync@4) - GL_STUB(WaitSync, 589, WaitSync@12) - GL_STUB(DrawElementsBaseVertex, 590, DrawElementsBaseVertex@20) - GL_STUB(DrawRangeElementsBaseVertex, 591, DrawRangeElementsBaseVertex@28) - GL_STUB(MultiDrawElementsBaseVertex, 592, MultiDrawElementsBaseVertex@24) - GL_STUB(BindTransformFeedback, 593, BindTransformFeedback@8) - GL_STUB(DeleteTransformFeedbacks, 594, DeleteTransformFeedbacks@8) - GL_STUB(DrawTransformFeedback, 595, DrawTransformFeedback@8) - GL_STUB(GenTransformFeedbacks, 596, GenTransformFeedbacks@8) - GL_STUB(IsTransformFeedback, 597, IsTransformFeedback@4) - GL_STUB(PauseTransformFeedback, 598, PauseTransformFeedback@0) - GL_STUB(ResumeTransformFeedback, 599, ResumeTransformFeedback@0) - GL_STUB(PolygonOffsetEXT, 600, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_601, 601, _dispatch_stub_601@8) - HIDDEN(GL_PREFIX(_dispatch_stub_601, _dispatch_stub_601@8)) - GL_STUB(_dispatch_stub_602, 602, _dispatch_stub_602@8) - HIDDEN(GL_PREFIX(_dispatch_stub_602, _dispatch_stub_602@8)) - GL_STUB(_dispatch_stub_603, 603, _dispatch_stub_603@8) - HIDDEN(GL_PREFIX(_dispatch_stub_603, _dispatch_stub_603@8)) - GL_STUB(_dispatch_stub_604, 604, _dispatch_stub_604@8) - HIDDEN(GL_PREFIX(_dispatch_stub_604, _dispatch_stub_604@8)) - GL_STUB(_dispatch_stub_605, 605, _dispatch_stub_605@8) - HIDDEN(GL_PREFIX(_dispatch_stub_605, _dispatch_stub_605@8)) - GL_STUB(_dispatch_stub_606, 606, _dispatch_stub_606@8) - HIDDEN(GL_PREFIX(_dispatch_stub_606, _dispatch_stub_606@8)) - GL_STUB(_dispatch_stub_607, 607, _dispatch_stub_607@8) - HIDDEN(GL_PREFIX(_dispatch_stub_607, _dispatch_stub_607@8)) - GL_STUB(_dispatch_stub_608, 608, _dispatch_stub_608@4) - HIDDEN(GL_PREFIX(_dispatch_stub_608, _dispatch_stub_608@4)) - GL_STUB(ColorPointerEXT, 609, ColorPointerEXT@20) - GL_STUB(EdgeFlagPointerEXT, 610, EdgeFlagPointerEXT@12) - GL_STUB(IndexPointerEXT, 611, IndexPointerEXT@16) - GL_STUB(NormalPointerEXT, 612, NormalPointerEXT@16) - GL_STUB(TexCoordPointerEXT, 613, TexCoordPointerEXT@20) - GL_STUB(VertexPointerEXT, 614, VertexPointerEXT@20) - GL_STUB(PointParameterfEXT, 615, PointParameterfEXT@8) - GL_STUB(PointParameterfvEXT, 616, PointParameterfvEXT@8) - GL_STUB(LockArraysEXT, 617, LockArraysEXT@8) - GL_STUB(UnlockArraysEXT, 618, UnlockArraysEXT@0) - GL_STUB(SecondaryColor3bEXT, 619, SecondaryColor3bEXT@12) - GL_STUB(SecondaryColor3bvEXT, 620, SecondaryColor3bvEXT@4) - GL_STUB(SecondaryColor3dEXT, 621, SecondaryColor3dEXT@24) - GL_STUB(SecondaryColor3dvEXT, 622, SecondaryColor3dvEXT@4) - GL_STUB(SecondaryColor3fEXT, 623, SecondaryColor3fEXT@12) - GL_STUB(SecondaryColor3fvEXT, 624, SecondaryColor3fvEXT@4) - GL_STUB(SecondaryColor3iEXT, 625, SecondaryColor3iEXT@12) - GL_STUB(SecondaryColor3ivEXT, 626, SecondaryColor3ivEXT@4) - GL_STUB(SecondaryColor3sEXT, 627, SecondaryColor3sEXT@12) - GL_STUB(SecondaryColor3svEXT, 628, SecondaryColor3svEXT@4) - GL_STUB(SecondaryColor3ubEXT, 629, SecondaryColor3ubEXT@12) - GL_STUB(SecondaryColor3ubvEXT, 630, SecondaryColor3ubvEXT@4) - GL_STUB(SecondaryColor3uiEXT, 631, SecondaryColor3uiEXT@12) - GL_STUB(SecondaryColor3uivEXT, 632, SecondaryColor3uivEXT@4) - GL_STUB(SecondaryColor3usEXT, 633, SecondaryColor3usEXT@12) - GL_STUB(SecondaryColor3usvEXT, 634, SecondaryColor3usvEXT@4) - GL_STUB(SecondaryColorPointerEXT, 635, SecondaryColorPointerEXT@16) - GL_STUB(MultiDrawArraysEXT, 636, MultiDrawArraysEXT@16) - GL_STUB(MultiDrawElementsEXT, 637, MultiDrawElementsEXT@20) - GL_STUB(FogCoordPointerEXT, 638, FogCoordPointerEXT@12) - GL_STUB(FogCoorddEXT, 639, FogCoorddEXT@8) - GL_STUB(FogCoorddvEXT, 640, FogCoorddvEXT@4) - GL_STUB(FogCoordfEXT, 641, FogCoordfEXT@4) - GL_STUB(FogCoordfvEXT, 642, FogCoordfvEXT@4) - GL_STUB(_dispatch_stub_643, 643, _dispatch_stub_643@4) - HIDDEN(GL_PREFIX(_dispatch_stub_643, _dispatch_stub_643@4)) - GL_STUB(BlendFuncSeparateEXT, 644, BlendFuncSeparateEXT@16) - GL_STUB(FlushVertexArrayRangeNV, 645, FlushVertexArrayRangeNV@0) - GL_STUB(VertexArrayRangeNV, 646, VertexArrayRangeNV@8) - GL_STUB(CombinerInputNV, 647, CombinerInputNV@24) - GL_STUB(CombinerOutputNV, 648, CombinerOutputNV@40) - GL_STUB(CombinerParameterfNV, 649, CombinerParameterfNV@8) - GL_STUB(CombinerParameterfvNV, 650, CombinerParameterfvNV@8) - GL_STUB(CombinerParameteriNV, 651, CombinerParameteriNV@8) - GL_STUB(CombinerParameterivNV, 652, CombinerParameterivNV@8) - GL_STUB(FinalCombinerInputNV, 653, FinalCombinerInputNV@16) - GL_STUB(GetCombinerInputParameterfvNV, 654, GetCombinerInputParameterfvNV@20) - GL_STUB(GetCombinerInputParameterivNV, 655, GetCombinerInputParameterivNV@20) - GL_STUB(GetCombinerOutputParameterfvNV, 656, GetCombinerOutputParameterfvNV@16) - GL_STUB(GetCombinerOutputParameterivNV, 657, GetCombinerOutputParameterivNV@16) - GL_STUB(GetFinalCombinerInputParameterfvNV, 658, GetFinalCombinerInputParameterfvNV@12) - GL_STUB(GetFinalCombinerInputParameterivNV, 659, GetFinalCombinerInputParameterivNV@12) - GL_STUB(ResizeBuffersMESA, 660, ResizeBuffersMESA@0) - GL_STUB(WindowPos2dMESA, 661, WindowPos2dMESA@16) - GL_STUB(WindowPos2dvMESA, 662, WindowPos2dvMESA@4) - GL_STUB(WindowPos2fMESA, 663, WindowPos2fMESA@8) - GL_STUB(WindowPos2fvMESA, 664, WindowPos2fvMESA@4) - GL_STUB(WindowPos2iMESA, 665, WindowPos2iMESA@8) - GL_STUB(WindowPos2ivMESA, 666, WindowPos2ivMESA@4) - GL_STUB(WindowPos2sMESA, 667, WindowPos2sMESA@8) - GL_STUB(WindowPos2svMESA, 668, WindowPos2svMESA@4) - GL_STUB(WindowPos3dMESA, 669, WindowPos3dMESA@24) - GL_STUB(WindowPos3dvMESA, 670, WindowPos3dvMESA@4) - GL_STUB(WindowPos3fMESA, 671, WindowPos3fMESA@12) - GL_STUB(WindowPos3fvMESA, 672, WindowPos3fvMESA@4) - GL_STUB(WindowPos3iMESA, 673, WindowPos3iMESA@12) - GL_STUB(WindowPos3ivMESA, 674, WindowPos3ivMESA@4) - GL_STUB(WindowPos3sMESA, 675, WindowPos3sMESA@12) - GL_STUB(WindowPos3svMESA, 676, WindowPos3svMESA@4) - GL_STUB(WindowPos4dMESA, 677, WindowPos4dMESA@32) - GL_STUB(WindowPos4dvMESA, 678, WindowPos4dvMESA@4) - GL_STUB(WindowPos4fMESA, 679, WindowPos4fMESA@16) - GL_STUB(WindowPos4fvMESA, 680, WindowPos4fvMESA@4) - GL_STUB(WindowPos4iMESA, 681, WindowPos4iMESA@16) - GL_STUB(WindowPos4ivMESA, 682, WindowPos4ivMESA@4) - GL_STUB(WindowPos4sMESA, 683, WindowPos4sMESA@16) - GL_STUB(WindowPos4svMESA, 684, WindowPos4svMESA@4) - GL_STUB(_dispatch_stub_685, 685, _dispatch_stub_685@20) - HIDDEN(GL_PREFIX(_dispatch_stub_685, _dispatch_stub_685@20)) - GL_STUB(_dispatch_stub_686, 686, _dispatch_stub_686@24) - HIDDEN(GL_PREFIX(_dispatch_stub_686, _dispatch_stub_686@24)) - GL_STUB(_dispatch_stub_687, 687, _dispatch_stub_687@8) - HIDDEN(GL_PREFIX(_dispatch_stub_687, _dispatch_stub_687@8)) - GL_STUB(_dispatch_stub_688, 688, _dispatch_stub_688@4) - HIDDEN(GL_PREFIX(_dispatch_stub_688, _dispatch_stub_688@4)) - GL_STUB(_dispatch_stub_689, 689, _dispatch_stub_689@8) - HIDDEN(GL_PREFIX(_dispatch_stub_689, _dispatch_stub_689@8)) - GL_STUB(_dispatch_stub_690, 690, _dispatch_stub_690@12) - HIDDEN(GL_PREFIX(_dispatch_stub_690, _dispatch_stub_690@12)) - GL_STUB(_dispatch_stub_691, 691, _dispatch_stub_691@4) - HIDDEN(GL_PREFIX(_dispatch_stub_691, _dispatch_stub_691@4)) - GL_STUB(_dispatch_stub_692, 692, _dispatch_stub_692@8) - HIDDEN(GL_PREFIX(_dispatch_stub_692, _dispatch_stub_692@8)) - GL_STUB(_dispatch_stub_693, 693, _dispatch_stub_693@4) - HIDDEN(GL_PREFIX(_dispatch_stub_693, _dispatch_stub_693@4)) - GL_STUB(AreProgramsResidentNV, 694, AreProgramsResidentNV@12) - GL_STUB(BindProgramNV, 695, BindProgramNV@8) - GL_STUB(DeleteProgramsNV, 696, DeleteProgramsNV@8) - GL_STUB(ExecuteProgramNV, 697, ExecuteProgramNV@12) - GL_STUB(GenProgramsNV, 698, GenProgramsNV@8) - GL_STUB(GetProgramParameterdvNV, 699, GetProgramParameterdvNV@16) - GL_STUB(GetProgramParameterfvNV, 700, GetProgramParameterfvNV@16) - GL_STUB(GetProgramStringNV, 701, GetProgramStringNV@12) - GL_STUB(GetProgramivNV, 702, GetProgramivNV@12) - GL_STUB(GetTrackMatrixivNV, 703, GetTrackMatrixivNV@16) - GL_STUB(GetVertexAttribPointervNV, 704, GetVertexAttribPointervNV@12) - GL_STUB(GetVertexAttribdvNV, 705, GetVertexAttribdvNV@12) - GL_STUB(GetVertexAttribfvNV, 706, GetVertexAttribfvNV@12) - GL_STUB(GetVertexAttribivNV, 707, GetVertexAttribivNV@12) - GL_STUB(IsProgramNV, 708, IsProgramNV@4) - GL_STUB(LoadProgramNV, 709, LoadProgramNV@16) - GL_STUB(ProgramParameters4dvNV, 710, ProgramParameters4dvNV@16) - GL_STUB(ProgramParameters4fvNV, 711, ProgramParameters4fvNV@16) - GL_STUB(RequestResidentProgramsNV, 712, RequestResidentProgramsNV@8) - GL_STUB(TrackMatrixNV, 713, TrackMatrixNV@16) - GL_STUB(VertexAttrib1dNV, 714, VertexAttrib1dNV@12) - GL_STUB(VertexAttrib1dvNV, 715, VertexAttrib1dvNV@8) - GL_STUB(VertexAttrib1fNV, 716, VertexAttrib1fNV@8) - GL_STUB(VertexAttrib1fvNV, 717, VertexAttrib1fvNV@8) - GL_STUB(VertexAttrib1sNV, 718, VertexAttrib1sNV@8) - GL_STUB(VertexAttrib1svNV, 719, VertexAttrib1svNV@8) - GL_STUB(VertexAttrib2dNV, 720, VertexAttrib2dNV@20) - GL_STUB(VertexAttrib2dvNV, 721, VertexAttrib2dvNV@8) - GL_STUB(VertexAttrib2fNV, 722, VertexAttrib2fNV@12) - GL_STUB(VertexAttrib2fvNV, 723, VertexAttrib2fvNV@8) - GL_STUB(VertexAttrib2sNV, 724, VertexAttrib2sNV@12) - GL_STUB(VertexAttrib2svNV, 725, VertexAttrib2svNV@8) - GL_STUB(VertexAttrib3dNV, 726, VertexAttrib3dNV@28) - GL_STUB(VertexAttrib3dvNV, 727, VertexAttrib3dvNV@8) - GL_STUB(VertexAttrib3fNV, 728, VertexAttrib3fNV@16) - GL_STUB(VertexAttrib3fvNV, 729, VertexAttrib3fvNV@8) - GL_STUB(VertexAttrib3sNV, 730, VertexAttrib3sNV@16) - GL_STUB(VertexAttrib3svNV, 731, VertexAttrib3svNV@8) - GL_STUB(VertexAttrib4dNV, 732, VertexAttrib4dNV@36) - GL_STUB(VertexAttrib4dvNV, 733, VertexAttrib4dvNV@8) - GL_STUB(VertexAttrib4fNV, 734, VertexAttrib4fNV@20) - GL_STUB(VertexAttrib4fvNV, 735, VertexAttrib4fvNV@8) - GL_STUB(VertexAttrib4sNV, 736, VertexAttrib4sNV@20) - GL_STUB(VertexAttrib4svNV, 737, VertexAttrib4svNV@8) - GL_STUB(VertexAttrib4ubNV, 738, VertexAttrib4ubNV@20) - GL_STUB(VertexAttrib4ubvNV, 739, VertexAttrib4ubvNV@8) - GL_STUB(VertexAttribPointerNV, 740, VertexAttribPointerNV@20) - GL_STUB(VertexAttribs1dvNV, 741, VertexAttribs1dvNV@12) - GL_STUB(VertexAttribs1fvNV, 742, VertexAttribs1fvNV@12) - GL_STUB(VertexAttribs1svNV, 743, VertexAttribs1svNV@12) - GL_STUB(VertexAttribs2dvNV, 744, VertexAttribs2dvNV@12) - GL_STUB(VertexAttribs2fvNV, 745, VertexAttribs2fvNV@12) - GL_STUB(VertexAttribs2svNV, 746, VertexAttribs2svNV@12) - GL_STUB(VertexAttribs3dvNV, 747, VertexAttribs3dvNV@12) - GL_STUB(VertexAttribs3fvNV, 748, VertexAttribs3fvNV@12) - GL_STUB(VertexAttribs3svNV, 749, VertexAttribs3svNV@12) - GL_STUB(VertexAttribs4dvNV, 750, VertexAttribs4dvNV@12) - GL_STUB(VertexAttribs4fvNV, 751, VertexAttribs4fvNV@12) - GL_STUB(VertexAttribs4svNV, 752, VertexAttribs4svNV@12) - GL_STUB(VertexAttribs4ubvNV, 753, VertexAttribs4ubvNV@12) - GL_STUB(GetTexBumpParameterfvATI, 754, GetTexBumpParameterfvATI@8) - GL_STUB(GetTexBumpParameterivATI, 755, GetTexBumpParameterivATI@8) - GL_STUB(TexBumpParameterfvATI, 756, TexBumpParameterfvATI@8) - GL_STUB(TexBumpParameterivATI, 757, TexBumpParameterivATI@8) - GL_STUB(AlphaFragmentOp1ATI, 758, AlphaFragmentOp1ATI@24) - GL_STUB(AlphaFragmentOp2ATI, 759, AlphaFragmentOp2ATI@36) - GL_STUB(AlphaFragmentOp3ATI, 760, AlphaFragmentOp3ATI@48) - GL_STUB(BeginFragmentShaderATI, 761, BeginFragmentShaderATI@0) - GL_STUB(BindFragmentShaderATI, 762, BindFragmentShaderATI@4) - GL_STUB(ColorFragmentOp1ATI, 763, ColorFragmentOp1ATI@28) - GL_STUB(ColorFragmentOp2ATI, 764, ColorFragmentOp2ATI@40) - GL_STUB(ColorFragmentOp3ATI, 765, ColorFragmentOp3ATI@52) - GL_STUB(DeleteFragmentShaderATI, 766, DeleteFragmentShaderATI@4) - GL_STUB(EndFragmentShaderATI, 767, EndFragmentShaderATI@0) - GL_STUB(GenFragmentShadersATI, 768, GenFragmentShadersATI@4) - GL_STUB(PassTexCoordATI, 769, PassTexCoordATI@12) - GL_STUB(SampleMapATI, 770, SampleMapATI@12) - GL_STUB(SetFragmentShaderConstantATI, 771, SetFragmentShaderConstantATI@8) - GL_STUB(PointParameteriNV, 772, PointParameteriNV@8) - GL_STUB(PointParameterivNV, 773, PointParameterivNV@8) - GL_STUB(_dispatch_stub_774, 774, _dispatch_stub_774@4) - HIDDEN(GL_PREFIX(_dispatch_stub_774, _dispatch_stub_774@4)) - GL_STUB(_dispatch_stub_775, 775, _dispatch_stub_775@4) - HIDDEN(GL_PREFIX(_dispatch_stub_775, _dispatch_stub_775@4)) - GL_STUB(_dispatch_stub_776, 776, _dispatch_stub_776@8) - HIDDEN(GL_PREFIX(_dispatch_stub_776, _dispatch_stub_776@8)) - GL_STUB(_dispatch_stub_777, 777, _dispatch_stub_777@8) - HIDDEN(GL_PREFIX(_dispatch_stub_777, _dispatch_stub_777@8)) - GL_STUB(_dispatch_stub_778, 778, _dispatch_stub_778@4) - HIDDEN(GL_PREFIX(_dispatch_stub_778, _dispatch_stub_778@4)) - GL_STUB(GetProgramNamedParameterdvNV, 779, GetProgramNamedParameterdvNV@16) - GL_STUB(GetProgramNamedParameterfvNV, 780, GetProgramNamedParameterfvNV@16) - GL_STUB(ProgramNamedParameter4dNV, 781, ProgramNamedParameter4dNV@44) - GL_STUB(ProgramNamedParameter4dvNV, 782, ProgramNamedParameter4dvNV@16) - GL_STUB(ProgramNamedParameter4fNV, 783, ProgramNamedParameter4fNV@28) - GL_STUB(ProgramNamedParameter4fvNV, 784, ProgramNamedParameter4fvNV@16) - GL_STUB(PrimitiveRestartIndexNV, 785, PrimitiveRestartIndexNV@4) - GL_STUB(PrimitiveRestartNV, 786, PrimitiveRestartNV@0) - GL_STUB(_dispatch_stub_787, 787, _dispatch_stub_787@16) - HIDDEN(GL_PREFIX(_dispatch_stub_787, _dispatch_stub_787@16)) - GL_STUB(_dispatch_stub_788, 788, _dispatch_stub_788@8) - HIDDEN(GL_PREFIX(_dispatch_stub_788, _dispatch_stub_788@8)) - GL_STUB(BindFramebufferEXT, 789, BindFramebufferEXT@8) - GL_STUB(BindRenderbufferEXT, 790, BindRenderbufferEXT@8) - GL_STUB(CheckFramebufferStatusEXT, 791, CheckFramebufferStatusEXT@4) - GL_STUB(DeleteFramebuffersEXT, 792, DeleteFramebuffersEXT@8) - GL_STUB(DeleteRenderbuffersEXT, 793, DeleteRenderbuffersEXT@8) - GL_STUB(FramebufferRenderbufferEXT, 794, FramebufferRenderbufferEXT@16) - GL_STUB(FramebufferTexture1DEXT, 795, FramebufferTexture1DEXT@20) - GL_STUB(FramebufferTexture2DEXT, 796, FramebufferTexture2DEXT@20) - GL_STUB(FramebufferTexture3DEXT, 797, FramebufferTexture3DEXT@24) - GL_STUB(GenFramebuffersEXT, 798, GenFramebuffersEXT@8) - GL_STUB(GenRenderbuffersEXT, 799, GenRenderbuffersEXT@8) - GL_STUB(GenerateMipmapEXT, 800, GenerateMipmapEXT@4) - GL_STUB(GetFramebufferAttachmentParameterivEXT, 801, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB(GetRenderbufferParameterivEXT, 802, GetRenderbufferParameterivEXT@12) - GL_STUB(IsFramebufferEXT, 803, IsFramebufferEXT@4) - GL_STUB(IsRenderbufferEXT, 804, IsRenderbufferEXT@4) - GL_STUB(RenderbufferStorageEXT, 805, RenderbufferStorageEXT@16) - GL_STUB(_dispatch_stub_806, 806, _dispatch_stub_806@40) - HIDDEN(GL_PREFIX(_dispatch_stub_806, _dispatch_stub_806@40)) - GL_STUB(_dispatch_stub_807, 807, _dispatch_stub_807@12) - HIDDEN(GL_PREFIX(_dispatch_stub_807, _dispatch_stub_807@12)) - GL_STUB(_dispatch_stub_808, 808, _dispatch_stub_808@12) - HIDDEN(GL_PREFIX(_dispatch_stub_808, _dispatch_stub_808@12)) - GL_STUB(BindFragDataLocationEXT, 809, BindFragDataLocationEXT@12) - GL_STUB(GetFragDataLocationEXT, 810, GetFragDataLocationEXT@8) - GL_STUB(GetUniformuivEXT, 811, GetUniformuivEXT@12) - GL_STUB(GetVertexAttribIivEXT, 812, GetVertexAttribIivEXT@12) - GL_STUB(GetVertexAttribIuivEXT, 813, GetVertexAttribIuivEXT@12) - GL_STUB(Uniform1uiEXT, 814, Uniform1uiEXT@8) - GL_STUB(Uniform1uivEXT, 815, Uniform1uivEXT@12) - GL_STUB(Uniform2uiEXT, 816, Uniform2uiEXT@12) - GL_STUB(Uniform2uivEXT, 817, Uniform2uivEXT@12) - GL_STUB(Uniform3uiEXT, 818, Uniform3uiEXT@16) - GL_STUB(Uniform3uivEXT, 819, Uniform3uivEXT@12) - GL_STUB(Uniform4uiEXT, 820, Uniform4uiEXT@20) - GL_STUB(Uniform4uivEXT, 821, Uniform4uivEXT@12) - GL_STUB(VertexAttribI1iEXT, 822, VertexAttribI1iEXT@8) - GL_STUB(VertexAttribI1ivEXT, 823, VertexAttribI1ivEXT@8) - GL_STUB(VertexAttribI1uiEXT, 824, VertexAttribI1uiEXT@8) - GL_STUB(VertexAttribI1uivEXT, 825, VertexAttribI1uivEXT@8) - GL_STUB(VertexAttribI2iEXT, 826, VertexAttribI2iEXT@12) - GL_STUB(VertexAttribI2ivEXT, 827, VertexAttribI2ivEXT@8) - GL_STUB(VertexAttribI2uiEXT, 828, VertexAttribI2uiEXT@12) - GL_STUB(VertexAttribI2uivEXT, 829, VertexAttribI2uivEXT@8) - GL_STUB(VertexAttribI3iEXT, 830, VertexAttribI3iEXT@16) - GL_STUB(VertexAttribI3ivEXT, 831, VertexAttribI3ivEXT@8) - GL_STUB(VertexAttribI3uiEXT, 832, VertexAttribI3uiEXT@16) - GL_STUB(VertexAttribI3uivEXT, 833, VertexAttribI3uivEXT@8) - GL_STUB(VertexAttribI4bvEXT, 834, VertexAttribI4bvEXT@8) - GL_STUB(VertexAttribI4iEXT, 835, VertexAttribI4iEXT@20) - GL_STUB(VertexAttribI4ivEXT, 836, VertexAttribI4ivEXT@8) - GL_STUB(VertexAttribI4svEXT, 837, VertexAttribI4svEXT@8) - GL_STUB(VertexAttribI4ubvEXT, 838, VertexAttribI4ubvEXT@8) - GL_STUB(VertexAttribI4uiEXT, 839, VertexAttribI4uiEXT@20) - GL_STUB(VertexAttribI4uivEXT, 840, VertexAttribI4uivEXT@8) - GL_STUB(VertexAttribI4usvEXT, 841, VertexAttribI4usvEXT@8) - GL_STUB(VertexAttribIPointerEXT, 842, VertexAttribIPointerEXT@20) - GL_STUB(FramebufferTextureLayerEXT, 843, FramebufferTextureLayerEXT@20) - GL_STUB(ColorMaskIndexedEXT, 844, ColorMaskIndexedEXT@20) - GL_STUB(DisableIndexedEXT, 845, DisableIndexedEXT@8) - GL_STUB(EnableIndexedEXT, 846, EnableIndexedEXT@8) - GL_STUB(GetBooleanIndexedvEXT, 847, GetBooleanIndexedvEXT@12) - GL_STUB(GetIntegerIndexedvEXT, 848, GetIntegerIndexedvEXT@12) - GL_STUB(IsEnabledIndexedEXT, 849, IsEnabledIndexedEXT@8) - GL_STUB(ClearColorIiEXT, 850, ClearColorIiEXT@16) - GL_STUB(ClearColorIuiEXT, 851, ClearColorIuiEXT@16) - GL_STUB(GetTexParameterIivEXT, 852, GetTexParameterIivEXT@12) - GL_STUB(GetTexParameterIuivEXT, 853, GetTexParameterIuivEXT@12) - GL_STUB(TexParameterIivEXT, 854, TexParameterIivEXT@12) - GL_STUB(TexParameterIuivEXT, 855, TexParameterIuivEXT@12) - GL_STUB(BeginConditionalRenderNV, 856, BeginConditionalRenderNV@8) - GL_STUB(EndConditionalRenderNV, 857, EndConditionalRenderNV@0) - GL_STUB(BeginTransformFeedbackEXT, 858, BeginTransformFeedbackEXT@4) - GL_STUB(BindBufferBaseEXT, 859, BindBufferBaseEXT@12) - GL_STUB(BindBufferOffsetEXT, 860, BindBufferOffsetEXT@16) - GL_STUB(BindBufferRangeEXT, 861, BindBufferRangeEXT@20) - GL_STUB(EndTransformFeedbackEXT, 862, EndTransformFeedbackEXT@0) - GL_STUB(GetTransformFeedbackVaryingEXT, 863, GetTransformFeedbackVaryingEXT@28) - GL_STUB(TransformFeedbackVaryingsEXT, 864, TransformFeedbackVaryingsEXT@16) - GL_STUB(ProvokingVertexEXT, 865, ProvokingVertexEXT@4) - 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(GetObjectParameterivAPPLE, 868, GetObjectParameterivAPPLE@16) - GL_STUB(ObjectPurgeableAPPLE, 869, ObjectPurgeableAPPLE@12) - GL_STUB(ObjectUnpurgeableAPPLE, 870, ObjectUnpurgeableAPPLE@12) - GL_STUB(ActiveProgramEXT, 871, ActiveProgramEXT@4) - GL_STUB(CreateShaderProgramEXT, 872, CreateShaderProgramEXT@8) - GL_STUB(UseShaderProgramEXT, 873, UseShaderProgramEXT@8) - GL_STUB(_dispatch_stub_874, 874, _dispatch_stub_874@16) - HIDDEN(GL_PREFIX(_dispatch_stub_874, _dispatch_stub_874@16)) - GL_STUB(_dispatch_stub_875, 875, _dispatch_stub_875@16) - HIDDEN(GL_PREFIX(_dispatch_stub_875, _dispatch_stub_875@16)) - GL_STUB(_dispatch_stub_876, 876, _dispatch_stub_876@16) - HIDDEN(GL_PREFIX(_dispatch_stub_876, _dispatch_stub_876@16)) + GL_STUB(VertexAttribDivisorARB, 578, VertexAttribDivisorARB@8) + GL_STUB(FlushMappedBufferRange, 579, FlushMappedBufferRange@12) + GL_STUB(MapBufferRange, 580, MapBufferRange@16) + GL_STUB(BindVertexArray, 581, BindVertexArray@4) + GL_STUB(GenVertexArrays, 582, GenVertexArrays@8) + GL_STUB(CopyBufferSubData, 583, CopyBufferSubData@20) + GL_STUB(ClientWaitSync, 584, ClientWaitSync@12) + GL_STUB(DeleteSync, 585, DeleteSync@4) + GL_STUB(FenceSync, 586, FenceSync@8) + GL_STUB(GetInteger64v, 587, GetInteger64v@8) + GL_STUB(GetSynciv, 588, GetSynciv@20) + GL_STUB(IsSync, 589, IsSync@4) + GL_STUB(WaitSync, 590, WaitSync@12) + GL_STUB(DrawElementsBaseVertex, 591, DrawElementsBaseVertex@20) + GL_STUB(DrawRangeElementsBaseVertex, 592, DrawRangeElementsBaseVertex@28) + GL_STUB(MultiDrawElementsBaseVertex, 593, MultiDrawElementsBaseVertex@24) + GL_STUB(BlendEquationSeparateiARB, 594, BlendEquationSeparateiARB@12) + GL_STUB(BlendEquationiARB, 595, BlendEquationiARB@8) + GL_STUB(BlendFuncSeparateiARB, 596, BlendFuncSeparateiARB@20) + GL_STUB(BlendFunciARB, 597, BlendFunciARB@12) + GL_STUB(BindTransformFeedback, 598, BindTransformFeedback@8) + GL_STUB(DeleteTransformFeedbacks, 599, DeleteTransformFeedbacks@8) + GL_STUB(DrawTransformFeedback, 600, DrawTransformFeedback@8) + GL_STUB(GenTransformFeedbacks, 601, GenTransformFeedbacks@8) + GL_STUB(IsTransformFeedback, 602, IsTransformFeedback@4) + GL_STUB(PauseTransformFeedback, 603, PauseTransformFeedback@0) + GL_STUB(ResumeTransformFeedback, 604, ResumeTransformFeedback@0) + GL_STUB(ClearDepthf, 605, ClearDepthf@4) + GL_STUB(DepthRangef, 606, DepthRangef@8) + GL_STUB(GetShaderPrecisionFormat, 607, GetShaderPrecisionFormat@16) + GL_STUB(ReleaseShaderCompiler, 608, ReleaseShaderCompiler@0) + GL_STUB(ShaderBinary, 609, ShaderBinary@20) + GL_STUB(PolygonOffsetEXT, 610, PolygonOffsetEXT@8) + GL_STUB(_dispatch_stub_611, 611, _dispatch_stub_611@8) + HIDDEN(GL_PREFIX(_dispatch_stub_611, _dispatch_stub_611@8)) + GL_STUB(_dispatch_stub_612, 612, _dispatch_stub_612@8) + HIDDEN(GL_PREFIX(_dispatch_stub_612, _dispatch_stub_612@8)) + GL_STUB(_dispatch_stub_613, 613, _dispatch_stub_613@8) + HIDDEN(GL_PREFIX(_dispatch_stub_613, _dispatch_stub_613@8)) + GL_STUB(_dispatch_stub_614, 614, _dispatch_stub_614@8) + HIDDEN(GL_PREFIX(_dispatch_stub_614, _dispatch_stub_614@8)) + GL_STUB(_dispatch_stub_615, 615, _dispatch_stub_615@8) + HIDDEN(GL_PREFIX(_dispatch_stub_615, _dispatch_stub_615@8)) + GL_STUB(_dispatch_stub_616, 616, _dispatch_stub_616@8) + HIDDEN(GL_PREFIX(_dispatch_stub_616, _dispatch_stub_616@8)) + GL_STUB(_dispatch_stub_617, 617, _dispatch_stub_617@8) + HIDDEN(GL_PREFIX(_dispatch_stub_617, _dispatch_stub_617@8)) + GL_STUB(_dispatch_stub_618, 618, _dispatch_stub_618@4) + HIDDEN(GL_PREFIX(_dispatch_stub_618, _dispatch_stub_618@4)) + GL_STUB(ColorPointerEXT, 619, ColorPointerEXT@20) + GL_STUB(EdgeFlagPointerEXT, 620, EdgeFlagPointerEXT@12) + GL_STUB(IndexPointerEXT, 621, IndexPointerEXT@16) + GL_STUB(NormalPointerEXT, 622, NormalPointerEXT@16) + GL_STUB(TexCoordPointerEXT, 623, TexCoordPointerEXT@20) + GL_STUB(VertexPointerEXT, 624, VertexPointerEXT@20) + GL_STUB(PointParameterfEXT, 625, PointParameterfEXT@8) + GL_STUB(PointParameterfvEXT, 626, PointParameterfvEXT@8) + GL_STUB(LockArraysEXT, 627, LockArraysEXT@8) + GL_STUB(UnlockArraysEXT, 628, UnlockArraysEXT@0) + GL_STUB(SecondaryColor3bEXT, 629, SecondaryColor3bEXT@12) + GL_STUB(SecondaryColor3bvEXT, 630, SecondaryColor3bvEXT@4) + GL_STUB(SecondaryColor3dEXT, 631, SecondaryColor3dEXT@24) + GL_STUB(SecondaryColor3dvEXT, 632, SecondaryColor3dvEXT@4) + GL_STUB(SecondaryColor3fEXT, 633, SecondaryColor3fEXT@12) + GL_STUB(SecondaryColor3fvEXT, 634, SecondaryColor3fvEXT@4) + GL_STUB(SecondaryColor3iEXT, 635, SecondaryColor3iEXT@12) + GL_STUB(SecondaryColor3ivEXT, 636, SecondaryColor3ivEXT@4) + GL_STUB(SecondaryColor3sEXT, 637, SecondaryColor3sEXT@12) + GL_STUB(SecondaryColor3svEXT, 638, SecondaryColor3svEXT@4) + GL_STUB(SecondaryColor3ubEXT, 639, SecondaryColor3ubEXT@12) + GL_STUB(SecondaryColor3ubvEXT, 640, SecondaryColor3ubvEXT@4) + GL_STUB(SecondaryColor3uiEXT, 641, SecondaryColor3uiEXT@12) + GL_STUB(SecondaryColor3uivEXT, 642, SecondaryColor3uivEXT@4) + GL_STUB(SecondaryColor3usEXT, 643, SecondaryColor3usEXT@12) + GL_STUB(SecondaryColor3usvEXT, 644, SecondaryColor3usvEXT@4) + GL_STUB(SecondaryColorPointerEXT, 645, SecondaryColorPointerEXT@16) + GL_STUB(MultiDrawArraysEXT, 646, MultiDrawArraysEXT@16) + GL_STUB(MultiDrawElementsEXT, 647, MultiDrawElementsEXT@20) + GL_STUB(FogCoordPointerEXT, 648, FogCoordPointerEXT@12) + GL_STUB(FogCoorddEXT, 649, FogCoorddEXT@8) + GL_STUB(FogCoorddvEXT, 650, FogCoorddvEXT@4) + GL_STUB(FogCoordfEXT, 651, FogCoordfEXT@4) + GL_STUB(FogCoordfvEXT, 652, FogCoordfvEXT@4) + GL_STUB(_dispatch_stub_653, 653, _dispatch_stub_653@4) + HIDDEN(GL_PREFIX(_dispatch_stub_653, _dispatch_stub_653@4)) + GL_STUB(BlendFuncSeparateEXT, 654, BlendFuncSeparateEXT@16) + GL_STUB(FlushVertexArrayRangeNV, 655, FlushVertexArrayRangeNV@0) + GL_STUB(VertexArrayRangeNV, 656, VertexArrayRangeNV@8) + GL_STUB(CombinerInputNV, 657, CombinerInputNV@24) + GL_STUB(CombinerOutputNV, 658, CombinerOutputNV@40) + GL_STUB(CombinerParameterfNV, 659, CombinerParameterfNV@8) + GL_STUB(CombinerParameterfvNV, 660, CombinerParameterfvNV@8) + GL_STUB(CombinerParameteriNV, 661, CombinerParameteriNV@8) + GL_STUB(CombinerParameterivNV, 662, CombinerParameterivNV@8) + GL_STUB(FinalCombinerInputNV, 663, FinalCombinerInputNV@16) + GL_STUB(GetCombinerInputParameterfvNV, 664, GetCombinerInputParameterfvNV@20) + GL_STUB(GetCombinerInputParameterivNV, 665, GetCombinerInputParameterivNV@20) + GL_STUB(GetCombinerOutputParameterfvNV, 666, GetCombinerOutputParameterfvNV@16) + GL_STUB(GetCombinerOutputParameterivNV, 667, GetCombinerOutputParameterivNV@16) + GL_STUB(GetFinalCombinerInputParameterfvNV, 668, GetFinalCombinerInputParameterfvNV@12) + GL_STUB(GetFinalCombinerInputParameterivNV, 669, GetFinalCombinerInputParameterivNV@12) + GL_STUB(ResizeBuffersMESA, 670, ResizeBuffersMESA@0) + GL_STUB(WindowPos2dMESA, 671, WindowPos2dMESA@16) + GL_STUB(WindowPos2dvMESA, 672, WindowPos2dvMESA@4) + GL_STUB(WindowPos2fMESA, 673, WindowPos2fMESA@8) + GL_STUB(WindowPos2fvMESA, 674, WindowPos2fvMESA@4) + GL_STUB(WindowPos2iMESA, 675, WindowPos2iMESA@8) + GL_STUB(WindowPos2ivMESA, 676, WindowPos2ivMESA@4) + GL_STUB(WindowPos2sMESA, 677, WindowPos2sMESA@8) + GL_STUB(WindowPos2svMESA, 678, WindowPos2svMESA@4) + GL_STUB(WindowPos3dMESA, 679, WindowPos3dMESA@24) + GL_STUB(WindowPos3dvMESA, 680, WindowPos3dvMESA@4) + GL_STUB(WindowPos3fMESA, 681, WindowPos3fMESA@12) + GL_STUB(WindowPos3fvMESA, 682, WindowPos3fvMESA@4) + GL_STUB(WindowPos3iMESA, 683, WindowPos3iMESA@12) + GL_STUB(WindowPos3ivMESA, 684, WindowPos3ivMESA@4) + GL_STUB(WindowPos3sMESA, 685, WindowPos3sMESA@12) + GL_STUB(WindowPos3svMESA, 686, WindowPos3svMESA@4) + GL_STUB(WindowPos4dMESA, 687, WindowPos4dMESA@32) + GL_STUB(WindowPos4dvMESA, 688, WindowPos4dvMESA@4) + GL_STUB(WindowPos4fMESA, 689, WindowPos4fMESA@16) + GL_STUB(WindowPos4fvMESA, 690, WindowPos4fvMESA@4) + GL_STUB(WindowPos4iMESA, 691, WindowPos4iMESA@16) + GL_STUB(WindowPos4ivMESA, 692, WindowPos4ivMESA@4) + GL_STUB(WindowPos4sMESA, 693, WindowPos4sMESA@16) + GL_STUB(WindowPos4svMESA, 694, WindowPos4svMESA@4) + GL_STUB(_dispatch_stub_695, 695, _dispatch_stub_695@20) + HIDDEN(GL_PREFIX(_dispatch_stub_695, _dispatch_stub_695@20)) + GL_STUB(_dispatch_stub_696, 696, _dispatch_stub_696@24) + HIDDEN(GL_PREFIX(_dispatch_stub_696, _dispatch_stub_696@24)) + GL_STUB(_dispatch_stub_697, 697, _dispatch_stub_697@8) + HIDDEN(GL_PREFIX(_dispatch_stub_697, _dispatch_stub_697@8)) + GL_STUB(_dispatch_stub_698, 698, _dispatch_stub_698@4) + HIDDEN(GL_PREFIX(_dispatch_stub_698, _dispatch_stub_698@4)) + GL_STUB(_dispatch_stub_699, 699, _dispatch_stub_699@8) + HIDDEN(GL_PREFIX(_dispatch_stub_699, _dispatch_stub_699@8)) + GL_STUB(_dispatch_stub_700, 700, _dispatch_stub_700@12) + HIDDEN(GL_PREFIX(_dispatch_stub_700, _dispatch_stub_700@12)) + GL_STUB(_dispatch_stub_701, 701, _dispatch_stub_701@4) + HIDDEN(GL_PREFIX(_dispatch_stub_701, _dispatch_stub_701@4)) + GL_STUB(_dispatch_stub_702, 702, _dispatch_stub_702@8) + HIDDEN(GL_PREFIX(_dispatch_stub_702, _dispatch_stub_702@8)) + GL_STUB(_dispatch_stub_703, 703, _dispatch_stub_703@4) + HIDDEN(GL_PREFIX(_dispatch_stub_703, _dispatch_stub_703@4)) + GL_STUB(AreProgramsResidentNV, 704, AreProgramsResidentNV@12) + GL_STUB(BindProgramNV, 705, BindProgramNV@8) + GL_STUB(DeleteProgramsNV, 706, DeleteProgramsNV@8) + GL_STUB(ExecuteProgramNV, 707, ExecuteProgramNV@12) + GL_STUB(GenProgramsNV, 708, GenProgramsNV@8) + GL_STUB(GetProgramParameterdvNV, 709, GetProgramParameterdvNV@16) + GL_STUB(GetProgramParameterfvNV, 710, GetProgramParameterfvNV@16) + GL_STUB(GetProgramStringNV, 711, GetProgramStringNV@12) + GL_STUB(GetProgramivNV, 712, GetProgramivNV@12) + GL_STUB(GetTrackMatrixivNV, 713, GetTrackMatrixivNV@16) + GL_STUB(GetVertexAttribPointervNV, 714, GetVertexAttribPointervNV@12) + GL_STUB(GetVertexAttribdvNV, 715, GetVertexAttribdvNV@12) + GL_STUB(GetVertexAttribfvNV, 716, GetVertexAttribfvNV@12) + GL_STUB(GetVertexAttribivNV, 717, GetVertexAttribivNV@12) + GL_STUB(IsProgramNV, 718, IsProgramNV@4) + GL_STUB(LoadProgramNV, 719, LoadProgramNV@16) + GL_STUB(ProgramParameters4dvNV, 720, ProgramParameters4dvNV@16) + GL_STUB(ProgramParameters4fvNV, 721, ProgramParameters4fvNV@16) + GL_STUB(RequestResidentProgramsNV, 722, RequestResidentProgramsNV@8) + GL_STUB(TrackMatrixNV, 723, TrackMatrixNV@16) + GL_STUB(VertexAttrib1dNV, 724, VertexAttrib1dNV@12) + GL_STUB(VertexAttrib1dvNV, 725, VertexAttrib1dvNV@8) + GL_STUB(VertexAttrib1fNV, 726, VertexAttrib1fNV@8) + GL_STUB(VertexAttrib1fvNV, 727, VertexAttrib1fvNV@8) + GL_STUB(VertexAttrib1sNV, 728, VertexAttrib1sNV@8) + GL_STUB(VertexAttrib1svNV, 729, VertexAttrib1svNV@8) + GL_STUB(VertexAttrib2dNV, 730, VertexAttrib2dNV@20) + GL_STUB(VertexAttrib2dvNV, 731, VertexAttrib2dvNV@8) + GL_STUB(VertexAttrib2fNV, 732, VertexAttrib2fNV@12) + GL_STUB(VertexAttrib2fvNV, 733, VertexAttrib2fvNV@8) + GL_STUB(VertexAttrib2sNV, 734, VertexAttrib2sNV@12) + GL_STUB(VertexAttrib2svNV, 735, VertexAttrib2svNV@8) + GL_STUB(VertexAttrib3dNV, 736, VertexAttrib3dNV@28) + GL_STUB(VertexAttrib3dvNV, 737, VertexAttrib3dvNV@8) + GL_STUB(VertexAttrib3fNV, 738, VertexAttrib3fNV@16) + GL_STUB(VertexAttrib3fvNV, 739, VertexAttrib3fvNV@8) + GL_STUB(VertexAttrib3sNV, 740, VertexAttrib3sNV@16) + GL_STUB(VertexAttrib3svNV, 741, VertexAttrib3svNV@8) + GL_STUB(VertexAttrib4dNV, 742, VertexAttrib4dNV@36) + GL_STUB(VertexAttrib4dvNV, 743, VertexAttrib4dvNV@8) + GL_STUB(VertexAttrib4fNV, 744, VertexAttrib4fNV@20) + GL_STUB(VertexAttrib4fvNV, 745, VertexAttrib4fvNV@8) + GL_STUB(VertexAttrib4sNV, 746, VertexAttrib4sNV@20) + GL_STUB(VertexAttrib4svNV, 747, VertexAttrib4svNV@8) + GL_STUB(VertexAttrib4ubNV, 748, VertexAttrib4ubNV@20) + GL_STUB(VertexAttrib4ubvNV, 749, VertexAttrib4ubvNV@8) + GL_STUB(VertexAttribPointerNV, 750, VertexAttribPointerNV@20) + GL_STUB(VertexAttribs1dvNV, 751, VertexAttribs1dvNV@12) + GL_STUB(VertexAttribs1fvNV, 752, VertexAttribs1fvNV@12) + GL_STUB(VertexAttribs1svNV, 753, VertexAttribs1svNV@12) + GL_STUB(VertexAttribs2dvNV, 754, VertexAttribs2dvNV@12) + GL_STUB(VertexAttribs2fvNV, 755, VertexAttribs2fvNV@12) + GL_STUB(VertexAttribs2svNV, 756, VertexAttribs2svNV@12) + GL_STUB(VertexAttribs3dvNV, 757, VertexAttribs3dvNV@12) + GL_STUB(VertexAttribs3fvNV, 758, VertexAttribs3fvNV@12) + GL_STUB(VertexAttribs3svNV, 759, VertexAttribs3svNV@12) + GL_STUB(VertexAttribs4dvNV, 760, VertexAttribs4dvNV@12) + GL_STUB(VertexAttribs4fvNV, 761, VertexAttribs4fvNV@12) + GL_STUB(VertexAttribs4svNV, 762, VertexAttribs4svNV@12) + GL_STUB(VertexAttribs4ubvNV, 763, VertexAttribs4ubvNV@12) + GL_STUB(GetTexBumpParameterfvATI, 764, GetTexBumpParameterfvATI@8) + GL_STUB(GetTexBumpParameterivATI, 765, GetTexBumpParameterivATI@8) + GL_STUB(TexBumpParameterfvATI, 766, TexBumpParameterfvATI@8) + GL_STUB(TexBumpParameterivATI, 767, TexBumpParameterivATI@8) + GL_STUB(AlphaFragmentOp1ATI, 768, AlphaFragmentOp1ATI@24) + GL_STUB(AlphaFragmentOp2ATI, 769, AlphaFragmentOp2ATI@36) + GL_STUB(AlphaFragmentOp3ATI, 770, AlphaFragmentOp3ATI@48) + GL_STUB(BeginFragmentShaderATI, 771, BeginFragmentShaderATI@0) + GL_STUB(BindFragmentShaderATI, 772, BindFragmentShaderATI@4) + GL_STUB(ColorFragmentOp1ATI, 773, ColorFragmentOp1ATI@28) + GL_STUB(ColorFragmentOp2ATI, 774, ColorFragmentOp2ATI@40) + GL_STUB(ColorFragmentOp3ATI, 775, ColorFragmentOp3ATI@52) + GL_STUB(DeleteFragmentShaderATI, 776, DeleteFragmentShaderATI@4) + GL_STUB(EndFragmentShaderATI, 777, EndFragmentShaderATI@0) + GL_STUB(GenFragmentShadersATI, 778, GenFragmentShadersATI@4) + GL_STUB(PassTexCoordATI, 779, PassTexCoordATI@12) + GL_STUB(SampleMapATI, 780, SampleMapATI@12) + GL_STUB(SetFragmentShaderConstantATI, 781, SetFragmentShaderConstantATI@8) + GL_STUB(PointParameteriNV, 782, PointParameteriNV@8) + GL_STUB(PointParameterivNV, 783, PointParameterivNV@8) + GL_STUB(_dispatch_stub_784, 784, _dispatch_stub_784@4) + HIDDEN(GL_PREFIX(_dispatch_stub_784, _dispatch_stub_784@4)) + GL_STUB(_dispatch_stub_785, 785, _dispatch_stub_785@4) + HIDDEN(GL_PREFIX(_dispatch_stub_785, _dispatch_stub_785@4)) + GL_STUB(_dispatch_stub_786, 786, _dispatch_stub_786@8) + HIDDEN(GL_PREFIX(_dispatch_stub_786, _dispatch_stub_786@8)) + GL_STUB(_dispatch_stub_787, 787, _dispatch_stub_787@8) + HIDDEN(GL_PREFIX(_dispatch_stub_787, _dispatch_stub_787@8)) + GL_STUB(_dispatch_stub_788, 788, _dispatch_stub_788@4) + HIDDEN(GL_PREFIX(_dispatch_stub_788, _dispatch_stub_788@4)) + GL_STUB(GetProgramNamedParameterdvNV, 789, GetProgramNamedParameterdvNV@16) + GL_STUB(GetProgramNamedParameterfvNV, 790, GetProgramNamedParameterfvNV@16) + GL_STUB(ProgramNamedParameter4dNV, 791, ProgramNamedParameter4dNV@44) + GL_STUB(ProgramNamedParameter4dvNV, 792, ProgramNamedParameter4dvNV@16) + GL_STUB(ProgramNamedParameter4fNV, 793, ProgramNamedParameter4fNV@28) + GL_STUB(ProgramNamedParameter4fvNV, 794, ProgramNamedParameter4fvNV@16) + GL_STUB(PrimitiveRestartIndexNV, 795, PrimitiveRestartIndexNV@4) + GL_STUB(PrimitiveRestartNV, 796, PrimitiveRestartNV@0) + GL_STUB(_dispatch_stub_797, 797, _dispatch_stub_797@16) + HIDDEN(GL_PREFIX(_dispatch_stub_797, _dispatch_stub_797@16)) + GL_STUB(_dispatch_stub_798, 798, _dispatch_stub_798@8) + HIDDEN(GL_PREFIX(_dispatch_stub_798, _dispatch_stub_798@8)) + GL_STUB(BindFramebufferEXT, 799, BindFramebufferEXT@8) + GL_STUB(BindRenderbufferEXT, 800, BindRenderbufferEXT@8) + GL_STUB(CheckFramebufferStatusEXT, 801, CheckFramebufferStatusEXT@4) + GL_STUB(DeleteFramebuffersEXT, 802, DeleteFramebuffersEXT@8) + GL_STUB(DeleteRenderbuffersEXT, 803, DeleteRenderbuffersEXT@8) + GL_STUB(FramebufferRenderbufferEXT, 804, FramebufferRenderbufferEXT@16) + GL_STUB(FramebufferTexture1DEXT, 805, FramebufferTexture1DEXT@20) + GL_STUB(FramebufferTexture2DEXT, 806, FramebufferTexture2DEXT@20) + GL_STUB(FramebufferTexture3DEXT, 807, FramebufferTexture3DEXT@24) + GL_STUB(GenFramebuffersEXT, 808, GenFramebuffersEXT@8) + GL_STUB(GenRenderbuffersEXT, 809, GenRenderbuffersEXT@8) + GL_STUB(GenerateMipmapEXT, 810, GenerateMipmapEXT@4) + GL_STUB(GetFramebufferAttachmentParameterivEXT, 811, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB(GetRenderbufferParameterivEXT, 812, GetRenderbufferParameterivEXT@12) + GL_STUB(IsFramebufferEXT, 813, IsFramebufferEXT@4) + GL_STUB(IsRenderbufferEXT, 814, IsRenderbufferEXT@4) + GL_STUB(RenderbufferStorageEXT, 815, RenderbufferStorageEXT@16) + GL_STUB(_dispatch_stub_816, 816, _dispatch_stub_816@40) + HIDDEN(GL_PREFIX(_dispatch_stub_816, _dispatch_stub_816@40)) + GL_STUB(_dispatch_stub_817, 817, _dispatch_stub_817@12) + HIDDEN(GL_PREFIX(_dispatch_stub_817, _dispatch_stub_817@12)) + GL_STUB(_dispatch_stub_818, 818, _dispatch_stub_818@12) + HIDDEN(GL_PREFIX(_dispatch_stub_818, _dispatch_stub_818@12)) + GL_STUB(BindFragDataLocationEXT, 819, BindFragDataLocationEXT@12) + GL_STUB(GetFragDataLocationEXT, 820, GetFragDataLocationEXT@8) + GL_STUB(GetUniformuivEXT, 821, GetUniformuivEXT@12) + GL_STUB(GetVertexAttribIivEXT, 822, GetVertexAttribIivEXT@12) + GL_STUB(GetVertexAttribIuivEXT, 823, GetVertexAttribIuivEXT@12) + GL_STUB(Uniform1uiEXT, 824, Uniform1uiEXT@8) + GL_STUB(Uniform1uivEXT, 825, Uniform1uivEXT@12) + GL_STUB(Uniform2uiEXT, 826, Uniform2uiEXT@12) + GL_STUB(Uniform2uivEXT, 827, Uniform2uivEXT@12) + GL_STUB(Uniform3uiEXT, 828, Uniform3uiEXT@16) + GL_STUB(Uniform3uivEXT, 829, Uniform3uivEXT@12) + GL_STUB(Uniform4uiEXT, 830, Uniform4uiEXT@20) + GL_STUB(Uniform4uivEXT, 831, Uniform4uivEXT@12) + GL_STUB(VertexAttribI1iEXT, 832, VertexAttribI1iEXT@8) + GL_STUB(VertexAttribI1ivEXT, 833, VertexAttribI1ivEXT@8) + GL_STUB(VertexAttribI1uiEXT, 834, VertexAttribI1uiEXT@8) + GL_STUB(VertexAttribI1uivEXT, 835, VertexAttribI1uivEXT@8) + GL_STUB(VertexAttribI2iEXT, 836, VertexAttribI2iEXT@12) + GL_STUB(VertexAttribI2ivEXT, 837, VertexAttribI2ivEXT@8) + GL_STUB(VertexAttribI2uiEXT, 838, VertexAttribI2uiEXT@12) + GL_STUB(VertexAttribI2uivEXT, 839, VertexAttribI2uivEXT@8) + GL_STUB(VertexAttribI3iEXT, 840, VertexAttribI3iEXT@16) + GL_STUB(VertexAttribI3ivEXT, 841, VertexAttribI3ivEXT@8) + GL_STUB(VertexAttribI3uiEXT, 842, VertexAttribI3uiEXT@16) + GL_STUB(VertexAttribI3uivEXT, 843, VertexAttribI3uivEXT@8) + GL_STUB(VertexAttribI4bvEXT, 844, VertexAttribI4bvEXT@8) + GL_STUB(VertexAttribI4iEXT, 845, VertexAttribI4iEXT@20) + GL_STUB(VertexAttribI4ivEXT, 846, VertexAttribI4ivEXT@8) + GL_STUB(VertexAttribI4svEXT, 847, VertexAttribI4svEXT@8) + GL_STUB(VertexAttribI4ubvEXT, 848, VertexAttribI4ubvEXT@8) + GL_STUB(VertexAttribI4uiEXT, 849, VertexAttribI4uiEXT@20) + GL_STUB(VertexAttribI4uivEXT, 850, VertexAttribI4uivEXT@8) + GL_STUB(VertexAttribI4usvEXT, 851, VertexAttribI4usvEXT@8) + GL_STUB(VertexAttribIPointerEXT, 852, VertexAttribIPointerEXT@20) + GL_STUB(FramebufferTextureLayerEXT, 853, FramebufferTextureLayerEXT@20) + GL_STUB(ColorMaskIndexedEXT, 854, ColorMaskIndexedEXT@20) + GL_STUB(DisableIndexedEXT, 855, DisableIndexedEXT@8) + GL_STUB(EnableIndexedEXT, 856, EnableIndexedEXT@8) + GL_STUB(GetBooleanIndexedvEXT, 857, GetBooleanIndexedvEXT@12) + GL_STUB(GetIntegerIndexedvEXT, 858, GetIntegerIndexedvEXT@12) + GL_STUB(IsEnabledIndexedEXT, 859, IsEnabledIndexedEXT@8) + GL_STUB(ClearColorIiEXT, 860, ClearColorIiEXT@16) + GL_STUB(ClearColorIuiEXT, 861, ClearColorIuiEXT@16) + GL_STUB(GetTexParameterIivEXT, 862, GetTexParameterIivEXT@12) + GL_STUB(GetTexParameterIuivEXT, 863, GetTexParameterIuivEXT@12) + GL_STUB(TexParameterIivEXT, 864, TexParameterIivEXT@12) + GL_STUB(TexParameterIuivEXT, 865, TexParameterIuivEXT@12) + GL_STUB(BeginConditionalRenderNV, 866, BeginConditionalRenderNV@8) + GL_STUB(EndConditionalRenderNV, 867, EndConditionalRenderNV@0) + GL_STUB(BeginTransformFeedbackEXT, 868, BeginTransformFeedbackEXT@4) + GL_STUB(BindBufferBaseEXT, 869, BindBufferBaseEXT@12) + GL_STUB(BindBufferOffsetEXT, 870, BindBufferOffsetEXT@16) + GL_STUB(BindBufferRangeEXT, 871, BindBufferRangeEXT@20) + GL_STUB(EndTransformFeedbackEXT, 872, EndTransformFeedbackEXT@0) + GL_STUB(GetTransformFeedbackVaryingEXT, 873, GetTransformFeedbackVaryingEXT@28) + GL_STUB(TransformFeedbackVaryingsEXT, 874, TransformFeedbackVaryingsEXT@16) + GL_STUB(ProvokingVertexEXT, 875, ProvokingVertexEXT@4) + GL_STUB(_dispatch_stub_876, 876, _dispatch_stub_876@12) + HIDDEN(GL_PREFIX(_dispatch_stub_876, _dispatch_stub_876@12)) GL_STUB(_dispatch_stub_877, 877, _dispatch_stub_877@12) HIDDEN(GL_PREFIX(_dispatch_stub_877, _dispatch_stub_877@12)) - GL_STUB(_dispatch_stub_878, 878, _dispatch_stub_878@12) - HIDDEN(GL_PREFIX(_dispatch_stub_878, _dispatch_stub_878@12)) - GL_STUB(EGLImageTargetRenderbufferStorageOES, 879, EGLImageTargetRenderbufferStorageOES@8) - GL_STUB(EGLImageTargetTexture2DOES, 880, EGLImageTargetTexture2DOES@8) + GL_STUB(GetObjectParameterivAPPLE, 878, GetObjectParameterivAPPLE@16) + GL_STUB(ObjectPurgeableAPPLE, 879, ObjectPurgeableAPPLE@12) + GL_STUB(ObjectUnpurgeableAPPLE, 880, ObjectUnpurgeableAPPLE@12) + GL_STUB(ActiveProgramEXT, 881, ActiveProgramEXT@4) + GL_STUB(CreateShaderProgramEXT, 882, CreateShaderProgramEXT@8) + GL_STUB(UseShaderProgramEXT, 883, UseShaderProgramEXT@8) + GL_STUB(_dispatch_stub_884, 884, _dispatch_stub_884@16) + HIDDEN(GL_PREFIX(_dispatch_stub_884, _dispatch_stub_884@16)) + GL_STUB(_dispatch_stub_885, 885, _dispatch_stub_885@16) + HIDDEN(GL_PREFIX(_dispatch_stub_885, _dispatch_stub_885@16)) + GL_STUB(_dispatch_stub_886, 886, _dispatch_stub_886@16) + HIDDEN(GL_PREFIX(_dispatch_stub_886, _dispatch_stub_886@16)) + GL_STUB(_dispatch_stub_887, 887, _dispatch_stub_887@12) + HIDDEN(GL_PREFIX(_dispatch_stub_887, _dispatch_stub_887@12)) + GL_STUB(_dispatch_stub_888, 888, _dispatch_stub_888@12) + HIDDEN(GL_PREFIX(_dispatch_stub_888, _dispatch_stub_888@12)) + GL_STUB(EGLImageTargetRenderbufferStorageOES, 889, EGLImageTargetRenderbufferStorageOES@8) + GL_STUB(EGLImageTargetTexture2DOES, 890, 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) @@ -1255,151 +1265,151 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(DrawElementsInstancedEXT, 573, DrawElementsInstancedEXT@20, DrawElementsInstancedARB, DrawElementsInstancedARB@20) GL_STUB_ALIAS(DrawElementsInstanced, 573, DrawElementsInstanced@20, DrawElementsInstancedARB, DrawElementsInstancedARB@20) GL_STUB_ALIAS(RenderbufferStorageMultisampleEXT, 574, RenderbufferStorageMultisampleEXT@20, RenderbufferStorageMultisample, RenderbufferStorageMultisample@20) - GL_STUB_ALIAS(PointParameterf, 615, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfARB, 615, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfv, 616, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(PointParameterfvARB, 616, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(SecondaryColor3b, 619, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) - GL_STUB_ALIAS(SecondaryColor3bv, 620, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) - GL_STUB_ALIAS(SecondaryColor3d, 621, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) - GL_STUB_ALIAS(SecondaryColor3dv, 622, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) - GL_STUB_ALIAS(SecondaryColor3f, 623, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) - GL_STUB_ALIAS(SecondaryColor3fv, 624, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) - GL_STUB_ALIAS(SecondaryColor3i, 625, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) - GL_STUB_ALIAS(SecondaryColor3iv, 626, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) - GL_STUB_ALIAS(SecondaryColor3s, 627, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) - GL_STUB_ALIAS(SecondaryColor3sv, 628, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) - GL_STUB_ALIAS(SecondaryColor3ub, 629, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) - GL_STUB_ALIAS(SecondaryColor3ubv, 630, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) - GL_STUB_ALIAS(SecondaryColor3ui, 631, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) - GL_STUB_ALIAS(SecondaryColor3uiv, 632, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) - GL_STUB_ALIAS(SecondaryColor3us, 633, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) - GL_STUB_ALIAS(SecondaryColor3usv, 634, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) - GL_STUB_ALIAS(SecondaryColorPointer, 635, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) - GL_STUB_ALIAS(MultiDrawArrays, 636, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) - GL_STUB_ALIAS(MultiDrawElements, 637, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) - GL_STUB_ALIAS(FogCoordPointer, 638, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) - GL_STUB_ALIAS(FogCoordd, 639, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) - GL_STUB_ALIAS(FogCoorddv, 640, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) - GL_STUB_ALIAS(FogCoordf, 641, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) - GL_STUB_ALIAS(FogCoordfv, 642, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB_ALIAS(BlendFuncSeparate, 644, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) - GL_STUB_ALIAS(WindowPos2d, 661, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dARB, 661, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dv, 662, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2dvARB, 662, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2f, 663, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fARB, 663, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fv, 664, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2fvARB, 664, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2i, 665, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iARB, 665, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iv, 666, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2ivARB, 666, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2s, 667, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sARB, 667, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sv, 668, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos2svARB, 668, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos3d, 669, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dARB, 669, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dv, 670, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3dvARB, 670, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3f, 671, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fARB, 671, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fv, 672, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3fvARB, 672, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3i, 673, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iARB, 673, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iv, 674, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3ivARB, 674, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3s, 675, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sARB, 675, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sv, 676, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB_ALIAS(WindowPos3svARB, 676, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB_ALIAS(BindProgramARB, 695, BindProgramARB@8, BindProgramNV, BindProgramNV@8) - GL_STUB_ALIAS(DeleteProgramsARB, 696, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) - GL_STUB_ALIAS(GenProgramsARB, 698, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) - GL_STUB_ALIAS(GetVertexAttribPointerv, 704, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) - GL_STUB_ALIAS(GetVertexAttribPointervARB, 704, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) - GL_STUB_ALIAS(IsProgramARB, 708, IsProgramARB@4, IsProgramNV, IsProgramNV@4) - GL_STUB_ALIAS(PointParameteri, 772, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) - GL_STUB_ALIAS(PointParameteriv, 773, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) - GL_STUB_ALIAS(DeleteVertexArrays, 776, DeleteVertexArrays@8, _dispatch_stub_776, _dispatch_stub_776@8) - GL_STUB_ALIAS(IsVertexArray, 778, IsVertexArray@4, _dispatch_stub_778, _dispatch_stub_778@4) - GL_STUB_ALIAS(PrimitiveRestartIndex, 785, PrimitiveRestartIndex@4, PrimitiveRestartIndexNV, PrimitiveRestartIndexNV@4) - GL_STUB_ALIAS(BlendEquationSeparate, 788, BlendEquationSeparate@8, _dispatch_stub_788, _dispatch_stub_788@8) - GL_STUB_ALIAS(BindFramebuffer, 789, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) - GL_STUB_ALIAS(BindRenderbuffer, 790, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) - GL_STUB_ALIAS(CheckFramebufferStatus, 791, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) - GL_STUB_ALIAS(DeleteFramebuffers, 792, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) - GL_STUB_ALIAS(DeleteRenderbuffers, 793, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) - GL_STUB_ALIAS(FramebufferRenderbuffer, 794, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) - GL_STUB_ALIAS(FramebufferTexture1D, 795, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) - GL_STUB_ALIAS(FramebufferTexture2D, 796, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) - GL_STUB_ALIAS(FramebufferTexture3D, 797, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) - GL_STUB_ALIAS(GenFramebuffers, 798, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) - GL_STUB_ALIAS(GenRenderbuffers, 799, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) - GL_STUB_ALIAS(GenerateMipmap, 800, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) - GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, 801, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB_ALIAS(GetRenderbufferParameteriv, 802, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) - GL_STUB_ALIAS(IsFramebuffer, 803, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) - GL_STUB_ALIAS(IsRenderbuffer, 804, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) - GL_STUB_ALIAS(RenderbufferStorage, 805, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB_ALIAS(BlitFramebuffer, 806, BlitFramebuffer@40, _dispatch_stub_806, _dispatch_stub_806@40) - GL_STUB_ALIAS(BindFragDataLocation, 809, BindFragDataLocation@12, BindFragDataLocationEXT, BindFragDataLocationEXT@12) - GL_STUB_ALIAS(GetFragDataLocation, 810, GetFragDataLocation@8, GetFragDataLocationEXT, GetFragDataLocationEXT@8) - GL_STUB_ALIAS(GetUniformuiv, 811, GetUniformuiv@12, GetUniformuivEXT, GetUniformuivEXT@12) - GL_STUB_ALIAS(GetVertexAttribIiv, 812, GetVertexAttribIiv@12, GetVertexAttribIivEXT, GetVertexAttribIivEXT@12) - GL_STUB_ALIAS(GetVertexAttribIuiv, 813, GetVertexAttribIuiv@12, GetVertexAttribIuivEXT, GetVertexAttribIuivEXT@12) - GL_STUB_ALIAS(Uniform1ui, 814, Uniform1ui@8, Uniform1uiEXT, Uniform1uiEXT@8) - GL_STUB_ALIAS(Uniform1uiv, 815, Uniform1uiv@12, Uniform1uivEXT, Uniform1uivEXT@12) - GL_STUB_ALIAS(Uniform2ui, 816, Uniform2ui@12, Uniform2uiEXT, Uniform2uiEXT@12) - GL_STUB_ALIAS(Uniform2uiv, 817, Uniform2uiv@12, Uniform2uivEXT, Uniform2uivEXT@12) - GL_STUB_ALIAS(Uniform3ui, 818, Uniform3ui@16, Uniform3uiEXT, Uniform3uiEXT@16) - GL_STUB_ALIAS(Uniform3uiv, 819, Uniform3uiv@12, Uniform3uivEXT, Uniform3uivEXT@12) - GL_STUB_ALIAS(Uniform4ui, 820, Uniform4ui@20, Uniform4uiEXT, Uniform4uiEXT@20) - GL_STUB_ALIAS(Uniform4uiv, 821, Uniform4uiv@12, Uniform4uivEXT, Uniform4uivEXT@12) - GL_STUB_ALIAS(VertexAttribI1i, 822, VertexAttribI1i@8, VertexAttribI1iEXT, VertexAttribI1iEXT@8) - GL_STUB_ALIAS(VertexAttribI1iv, 823, VertexAttribI1iv@8, VertexAttribI1ivEXT, VertexAttribI1ivEXT@8) - GL_STUB_ALIAS(VertexAttribI1ui, 824, VertexAttribI1ui@8, VertexAttribI1uiEXT, VertexAttribI1uiEXT@8) - GL_STUB_ALIAS(VertexAttribI1uiv, 825, VertexAttribI1uiv@8, VertexAttribI1uivEXT, VertexAttribI1uivEXT@8) - GL_STUB_ALIAS(VertexAttribI2i, 826, VertexAttribI2i@12, VertexAttribI2iEXT, VertexAttribI2iEXT@12) - GL_STUB_ALIAS(VertexAttribI2iv, 827, VertexAttribI2iv@8, VertexAttribI2ivEXT, VertexAttribI2ivEXT@8) - GL_STUB_ALIAS(VertexAttribI2ui, 828, VertexAttribI2ui@12, VertexAttribI2uiEXT, VertexAttribI2uiEXT@12) - GL_STUB_ALIAS(VertexAttribI2uiv, 829, VertexAttribI2uiv@8, VertexAttribI2uivEXT, VertexAttribI2uivEXT@8) - GL_STUB_ALIAS(VertexAttribI3i, 830, VertexAttribI3i@16, VertexAttribI3iEXT, VertexAttribI3iEXT@16) - GL_STUB_ALIAS(VertexAttribI3iv, 831, VertexAttribI3iv@8, VertexAttribI3ivEXT, VertexAttribI3ivEXT@8) - GL_STUB_ALIAS(VertexAttribI3ui, 832, VertexAttribI3ui@16, VertexAttribI3uiEXT, VertexAttribI3uiEXT@16) - GL_STUB_ALIAS(VertexAttribI3uiv, 833, VertexAttribI3uiv@8, VertexAttribI3uivEXT, VertexAttribI3uivEXT@8) - GL_STUB_ALIAS(VertexAttribI4bv, 834, VertexAttribI4bv@8, VertexAttribI4bvEXT, VertexAttribI4bvEXT@8) - GL_STUB_ALIAS(VertexAttribI4i, 835, VertexAttribI4i@20, VertexAttribI4iEXT, VertexAttribI4iEXT@20) - GL_STUB_ALIAS(VertexAttribI4iv, 836, VertexAttribI4iv@8, VertexAttribI4ivEXT, VertexAttribI4ivEXT@8) - GL_STUB_ALIAS(VertexAttribI4sv, 837, VertexAttribI4sv@8, VertexAttribI4svEXT, VertexAttribI4svEXT@8) - GL_STUB_ALIAS(VertexAttribI4ubv, 838, VertexAttribI4ubv@8, VertexAttribI4ubvEXT, VertexAttribI4ubvEXT@8) - GL_STUB_ALIAS(VertexAttribI4ui, 839, VertexAttribI4ui@20, VertexAttribI4uiEXT, VertexAttribI4uiEXT@20) - GL_STUB_ALIAS(VertexAttribI4uiv, 840, VertexAttribI4uiv@8, VertexAttribI4uivEXT, VertexAttribI4uivEXT@8) - GL_STUB_ALIAS(VertexAttribI4usv, 841, VertexAttribI4usv@8, VertexAttribI4usvEXT, VertexAttribI4usvEXT@8) - GL_STUB_ALIAS(VertexAttribIPointer, 842, VertexAttribIPointer@20, VertexAttribIPointerEXT, VertexAttribIPointerEXT@20) - GL_STUB_ALIAS(FramebufferTextureLayer, 843, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) - GL_STUB_ALIAS(ColorMaski, 844, ColorMaski@20, ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) - GL_STUB_ALIAS(Disablei, 845, Disablei@8, DisableIndexedEXT, DisableIndexedEXT@8) - GL_STUB_ALIAS(Enablei, 846, Enablei@8, EnableIndexedEXT, EnableIndexedEXT@8) - GL_STUB_ALIAS(GetBooleani_v, 847, GetBooleani_v@12, GetBooleanIndexedvEXT, GetBooleanIndexedvEXT@12) - GL_STUB_ALIAS(GetIntegeri_v, 848, GetIntegeri_v@12, GetIntegerIndexedvEXT, GetIntegerIndexedvEXT@12) - GL_STUB_ALIAS(IsEnabledi, 849, IsEnabledi@8, IsEnabledIndexedEXT, IsEnabledIndexedEXT@8) - GL_STUB_ALIAS(GetTexParameterIiv, 852, GetTexParameterIiv@12, GetTexParameterIivEXT, GetTexParameterIivEXT@12) - GL_STUB_ALIAS(GetTexParameterIuiv, 853, GetTexParameterIuiv@12, GetTexParameterIuivEXT, GetTexParameterIuivEXT@12) - GL_STUB_ALIAS(TexParameterIiv, 854, TexParameterIiv@12, TexParameterIivEXT, TexParameterIivEXT@12) - GL_STUB_ALIAS(TexParameterIuiv, 855, TexParameterIuiv@12, TexParameterIuivEXT, TexParameterIuivEXT@12) - GL_STUB_ALIAS(BeginConditionalRender, 856, BeginConditionalRender@8, BeginConditionalRenderNV, BeginConditionalRenderNV@8) - GL_STUB_ALIAS(EndConditionalRender, 857, EndConditionalRender@0, EndConditionalRenderNV, EndConditionalRenderNV@0) - GL_STUB_ALIAS(BeginTransformFeedback, 858, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) - GL_STUB_ALIAS(BindBufferBase, 859, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) - GL_STUB_ALIAS(BindBufferRange, 861, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) - GL_STUB_ALIAS(EndTransformFeedback, 862, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) - GL_STUB_ALIAS(GetTransformFeedbackVarying, 863, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) - GL_STUB_ALIAS(TransformFeedbackVaryings, 864, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) - GL_STUB_ALIAS(ProvokingVertex, 865, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) + GL_STUB_ALIAS(PointParameterf, 625, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfARB, 625, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfv, 626, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(PointParameterfvARB, 626, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(SecondaryColor3b, 629, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) + GL_STUB_ALIAS(SecondaryColor3bv, 630, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) + GL_STUB_ALIAS(SecondaryColor3d, 631, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) + GL_STUB_ALIAS(SecondaryColor3dv, 632, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) + GL_STUB_ALIAS(SecondaryColor3f, 633, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) + GL_STUB_ALIAS(SecondaryColor3fv, 634, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) + GL_STUB_ALIAS(SecondaryColor3i, 635, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) + GL_STUB_ALIAS(SecondaryColor3iv, 636, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) + GL_STUB_ALIAS(SecondaryColor3s, 637, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) + GL_STUB_ALIAS(SecondaryColor3sv, 638, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) + GL_STUB_ALIAS(SecondaryColor3ub, 639, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) + GL_STUB_ALIAS(SecondaryColor3ubv, 640, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) + GL_STUB_ALIAS(SecondaryColor3ui, 641, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) + GL_STUB_ALIAS(SecondaryColor3uiv, 642, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) + GL_STUB_ALIAS(SecondaryColor3us, 643, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) + GL_STUB_ALIAS(SecondaryColor3usv, 644, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) + GL_STUB_ALIAS(SecondaryColorPointer, 645, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) + GL_STUB_ALIAS(MultiDrawArrays, 646, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) + GL_STUB_ALIAS(MultiDrawElements, 647, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) + GL_STUB_ALIAS(FogCoordPointer, 648, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) + GL_STUB_ALIAS(FogCoordd, 649, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) + GL_STUB_ALIAS(FogCoorddv, 650, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) + GL_STUB_ALIAS(FogCoordf, 651, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) + GL_STUB_ALIAS(FogCoordfv, 652, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) + GL_STUB_ALIAS(BlendFuncSeparate, 654, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) + GL_STUB_ALIAS(WindowPos2d, 671, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dARB, 671, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dv, 672, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2dvARB, 672, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2f, 673, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fARB, 673, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fv, 674, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2fvARB, 674, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2i, 675, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iARB, 675, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iv, 676, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2ivARB, 676, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2s, 677, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sARB, 677, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sv, 678, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos2svARB, 678, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos3d, 679, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dARB, 679, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dv, 680, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3dvARB, 680, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3f, 681, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fARB, 681, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fv, 682, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3fvARB, 682, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3i, 683, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iARB, 683, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iv, 684, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3ivARB, 684, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3s, 685, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sARB, 685, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sv, 686, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(WindowPos3svARB, 686, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(BindProgramARB, 705, BindProgramARB@8, BindProgramNV, BindProgramNV@8) + GL_STUB_ALIAS(DeleteProgramsARB, 706, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) + GL_STUB_ALIAS(GenProgramsARB, 708, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) + GL_STUB_ALIAS(GetVertexAttribPointerv, 714, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(GetVertexAttribPointervARB, 714, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(IsProgramARB, 718, IsProgramARB@4, IsProgramNV, IsProgramNV@4) + GL_STUB_ALIAS(PointParameteri, 782, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) + GL_STUB_ALIAS(PointParameteriv, 783, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) + GL_STUB_ALIAS(DeleteVertexArrays, 786, DeleteVertexArrays@8, _dispatch_stub_786, _dispatch_stub_786@8) + GL_STUB_ALIAS(IsVertexArray, 788, IsVertexArray@4, _dispatch_stub_788, _dispatch_stub_788@4) + GL_STUB_ALIAS(PrimitiveRestartIndex, 795, PrimitiveRestartIndex@4, PrimitiveRestartIndexNV, PrimitiveRestartIndexNV@4) + GL_STUB_ALIAS(BlendEquationSeparate, 798, BlendEquationSeparate@8, _dispatch_stub_798, _dispatch_stub_798@8) + GL_STUB_ALIAS(BindFramebuffer, 799, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) + GL_STUB_ALIAS(BindRenderbuffer, 800, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) + GL_STUB_ALIAS(CheckFramebufferStatus, 801, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) + GL_STUB_ALIAS(DeleteFramebuffers, 802, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) + GL_STUB_ALIAS(DeleteRenderbuffers, 803, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) + GL_STUB_ALIAS(FramebufferRenderbuffer, 804, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) + GL_STUB_ALIAS(FramebufferTexture1D, 805, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) + GL_STUB_ALIAS(FramebufferTexture2D, 806, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) + GL_STUB_ALIAS(FramebufferTexture3D, 807, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) + GL_STUB_ALIAS(GenFramebuffers, 808, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) + GL_STUB_ALIAS(GenRenderbuffers, 809, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) + GL_STUB_ALIAS(GenerateMipmap, 810, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) + GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, 811, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB_ALIAS(GetRenderbufferParameteriv, 812, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) + GL_STUB_ALIAS(IsFramebuffer, 813, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) + GL_STUB_ALIAS(IsRenderbuffer, 814, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) + GL_STUB_ALIAS(RenderbufferStorage, 815, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) + GL_STUB_ALIAS(BlitFramebuffer, 816, BlitFramebuffer@40, _dispatch_stub_816, _dispatch_stub_816@40) + GL_STUB_ALIAS(BindFragDataLocation, 819, BindFragDataLocation@12, BindFragDataLocationEXT, BindFragDataLocationEXT@12) + GL_STUB_ALIAS(GetFragDataLocation, 820, GetFragDataLocation@8, GetFragDataLocationEXT, GetFragDataLocationEXT@8) + GL_STUB_ALIAS(GetUniformuiv, 821, GetUniformuiv@12, GetUniformuivEXT, GetUniformuivEXT@12) + GL_STUB_ALIAS(GetVertexAttribIiv, 822, GetVertexAttribIiv@12, GetVertexAttribIivEXT, GetVertexAttribIivEXT@12) + GL_STUB_ALIAS(GetVertexAttribIuiv, 823, GetVertexAttribIuiv@12, GetVertexAttribIuivEXT, GetVertexAttribIuivEXT@12) + GL_STUB_ALIAS(Uniform1ui, 824, Uniform1ui@8, Uniform1uiEXT, Uniform1uiEXT@8) + GL_STUB_ALIAS(Uniform1uiv, 825, Uniform1uiv@12, Uniform1uivEXT, Uniform1uivEXT@12) + GL_STUB_ALIAS(Uniform2ui, 826, Uniform2ui@12, Uniform2uiEXT, Uniform2uiEXT@12) + GL_STUB_ALIAS(Uniform2uiv, 827, Uniform2uiv@12, Uniform2uivEXT, Uniform2uivEXT@12) + GL_STUB_ALIAS(Uniform3ui, 828, Uniform3ui@16, Uniform3uiEXT, Uniform3uiEXT@16) + GL_STUB_ALIAS(Uniform3uiv, 829, Uniform3uiv@12, Uniform3uivEXT, Uniform3uivEXT@12) + GL_STUB_ALIAS(Uniform4ui, 830, Uniform4ui@20, Uniform4uiEXT, Uniform4uiEXT@20) + GL_STUB_ALIAS(Uniform4uiv, 831, Uniform4uiv@12, Uniform4uivEXT, Uniform4uivEXT@12) + GL_STUB_ALIAS(VertexAttribI1i, 832, VertexAttribI1i@8, VertexAttribI1iEXT, VertexAttribI1iEXT@8) + GL_STUB_ALIAS(VertexAttribI1iv, 833, VertexAttribI1iv@8, VertexAttribI1ivEXT, VertexAttribI1ivEXT@8) + GL_STUB_ALIAS(VertexAttribI1ui, 834, VertexAttribI1ui@8, VertexAttribI1uiEXT, VertexAttribI1uiEXT@8) + GL_STUB_ALIAS(VertexAttribI1uiv, 835, VertexAttribI1uiv@8, VertexAttribI1uivEXT, VertexAttribI1uivEXT@8) + GL_STUB_ALIAS(VertexAttribI2i, 836, VertexAttribI2i@12, VertexAttribI2iEXT, VertexAttribI2iEXT@12) + GL_STUB_ALIAS(VertexAttribI2iv, 837, VertexAttribI2iv@8, VertexAttribI2ivEXT, VertexAttribI2ivEXT@8) + GL_STUB_ALIAS(VertexAttribI2ui, 838, VertexAttribI2ui@12, VertexAttribI2uiEXT, VertexAttribI2uiEXT@12) + GL_STUB_ALIAS(VertexAttribI2uiv, 839, VertexAttribI2uiv@8, VertexAttribI2uivEXT, VertexAttribI2uivEXT@8) + GL_STUB_ALIAS(VertexAttribI3i, 840, VertexAttribI3i@16, VertexAttribI3iEXT, VertexAttribI3iEXT@16) + GL_STUB_ALIAS(VertexAttribI3iv, 841, VertexAttribI3iv@8, VertexAttribI3ivEXT, VertexAttribI3ivEXT@8) + GL_STUB_ALIAS(VertexAttribI3ui, 842, VertexAttribI3ui@16, VertexAttribI3uiEXT, VertexAttribI3uiEXT@16) + GL_STUB_ALIAS(VertexAttribI3uiv, 843, VertexAttribI3uiv@8, VertexAttribI3uivEXT, VertexAttribI3uivEXT@8) + GL_STUB_ALIAS(VertexAttribI4bv, 844, VertexAttribI4bv@8, VertexAttribI4bvEXT, VertexAttribI4bvEXT@8) + GL_STUB_ALIAS(VertexAttribI4i, 845, VertexAttribI4i@20, VertexAttribI4iEXT, VertexAttribI4iEXT@20) + GL_STUB_ALIAS(VertexAttribI4iv, 846, VertexAttribI4iv@8, VertexAttribI4ivEXT, VertexAttribI4ivEXT@8) + GL_STUB_ALIAS(VertexAttribI4sv, 847, VertexAttribI4sv@8, VertexAttribI4svEXT, VertexAttribI4svEXT@8) + GL_STUB_ALIAS(VertexAttribI4ubv, 848, VertexAttribI4ubv@8, VertexAttribI4ubvEXT, VertexAttribI4ubvEXT@8) + GL_STUB_ALIAS(VertexAttribI4ui, 849, VertexAttribI4ui@20, VertexAttribI4uiEXT, VertexAttribI4uiEXT@20) + GL_STUB_ALIAS(VertexAttribI4uiv, 850, VertexAttribI4uiv@8, VertexAttribI4uivEXT, VertexAttribI4uivEXT@8) + GL_STUB_ALIAS(VertexAttribI4usv, 851, VertexAttribI4usv@8, VertexAttribI4usvEXT, VertexAttribI4usvEXT@8) + GL_STUB_ALIAS(VertexAttribIPointer, 852, VertexAttribIPointer@20, VertexAttribIPointerEXT, VertexAttribIPointerEXT@20) + GL_STUB_ALIAS(FramebufferTextureLayer, 853, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) + GL_STUB_ALIAS(ColorMaski, 854, ColorMaski@20, ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) + GL_STUB_ALIAS(Disablei, 855, Disablei@8, DisableIndexedEXT, DisableIndexedEXT@8) + GL_STUB_ALIAS(Enablei, 856, Enablei@8, EnableIndexedEXT, EnableIndexedEXT@8) + GL_STUB_ALIAS(GetBooleani_v, 857, GetBooleani_v@12, GetBooleanIndexedvEXT, GetBooleanIndexedvEXT@12) + GL_STUB_ALIAS(GetIntegeri_v, 858, GetIntegeri_v@12, GetIntegerIndexedvEXT, GetIntegerIndexedvEXT@12) + GL_STUB_ALIAS(IsEnabledi, 859, IsEnabledi@8, IsEnabledIndexedEXT, IsEnabledIndexedEXT@8) + GL_STUB_ALIAS(GetTexParameterIiv, 862, GetTexParameterIiv@12, GetTexParameterIivEXT, GetTexParameterIivEXT@12) + GL_STUB_ALIAS(GetTexParameterIuiv, 863, GetTexParameterIuiv@12, GetTexParameterIuivEXT, GetTexParameterIuivEXT@12) + GL_STUB_ALIAS(TexParameterIiv, 864, TexParameterIiv@12, TexParameterIivEXT, TexParameterIivEXT@12) + GL_STUB_ALIAS(TexParameterIuiv, 865, TexParameterIuiv@12, TexParameterIuivEXT, TexParameterIuivEXT@12) + GL_STUB_ALIAS(BeginConditionalRender, 866, BeginConditionalRender@8, BeginConditionalRenderNV, BeginConditionalRenderNV@8) + GL_STUB_ALIAS(EndConditionalRender, 867, EndConditionalRender@0, EndConditionalRenderNV, EndConditionalRenderNV@0) + GL_STUB_ALIAS(BeginTransformFeedback, 868, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) + GL_STUB_ALIAS(BindBufferBase, 869, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) + GL_STUB_ALIAS(BindBufferRange, 871, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) + GL_STUB_ALIAS(EndTransformFeedback, 872, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) + GL_STUB_ALIAS(GetTransformFeedbackVarying, 873, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) + GL_STUB_ALIAS(TransformFeedbackVaryings, 874, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) + GL_STUB_ALIAS(ProvokingVertex, 875, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) GLOBL GLNAME(gl_dispatch_functions_end) HIDDEN(GLNAME(gl_dispatch_functions_end)) diff --git a/src/mapi/glapi/glapitable.h b/src/mapi/glapi/glapitable.h index af6b3461740..1834987df42 100644 --- a/src/mapi/glapi/glapitable.h +++ b/src/mapi/glapi/glapitable.h @@ -618,309 +618,319 @@ struct _glapi_table void (GLAPIENTRYP FramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level); /* 575 */ void (GLAPIENTRYP FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); /* 576 */ void (GLAPIENTRYP ProgramParameteriARB)(GLuint program, GLenum pname, GLint value); /* 577 */ - void (GLAPIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); /* 578 */ - GLvoid * (GLAPIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); /* 579 */ - void (GLAPIENTRYP BindVertexArray)(GLuint array); /* 580 */ - void (GLAPIENTRYP GenVertexArrays)(GLsizei n, GLuint * arrays); /* 581 */ - void (GLAPIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 582 */ - GLenum (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 583 */ - void (GLAPIENTRYP DeleteSync)(GLsync sync); /* 584 */ - GLsync (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 585 */ - void (GLAPIENTRYP GetInteger64v)(GLenum pname, GLint64 * params); /* 586 */ - void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 587 */ - GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 588 */ - void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 589 */ - void (GLAPIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 590 */ - void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 591 */ - void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 592 */ - void (GLAPIENTRYP BindTransformFeedback)(GLenum target, GLuint id); /* 593 */ - void (GLAPIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint * ids); /* 594 */ - void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint id); /* 595 */ - void (GLAPIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint * ids); /* 596 */ - GLboolean (GLAPIENTRYP IsTransformFeedback)(GLuint id); /* 597 */ - void (GLAPIENTRYP PauseTransformFeedback)(void); /* 598 */ - void (GLAPIENTRYP ResumeTransformFeedback)(void); /* 599 */ - void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 600 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 601 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 602 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 603 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 604 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 605 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 606 */ - void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 607 */ - void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 608 */ - void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 609 */ - void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 610 */ - void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 611 */ - void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 612 */ - void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 613 */ - void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 614 */ - void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 615 */ - void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 616 */ - void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 617 */ - void (GLAPIENTRYP UnlockArraysEXT)(void); /* 618 */ - void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 619 */ - void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 620 */ - void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 621 */ - void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 622 */ - void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 623 */ - void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 624 */ - void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 625 */ - void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 626 */ - void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 627 */ - void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 628 */ - void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 629 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 630 */ - void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 631 */ - void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 632 */ - void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 633 */ - void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 634 */ - void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 635 */ - void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 636 */ - void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 637 */ - void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 638 */ - void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 639 */ - void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 640 */ - void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 641 */ - void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 642 */ - void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 643 */ - void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 644 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 645 */ - void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 646 */ - void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 647 */ - void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 648 */ - void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 649 */ - void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 650 */ - void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 651 */ - void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 652 */ - void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 653 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 654 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 655 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 656 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 657 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 658 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 659 */ - void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 660 */ - void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 661 */ - void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 662 */ - void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 663 */ - void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 664 */ - void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 665 */ - void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 666 */ - void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 667 */ - void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 668 */ - void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 669 */ - void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 670 */ - void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 671 */ - void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 672 */ - void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 673 */ - void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 674 */ - void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 675 */ - void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 676 */ - void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 677 */ - void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 678 */ - void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 679 */ - void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 680 */ - void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 681 */ - void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 682 */ - void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 683 */ - void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 684 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 685 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 686 */ - void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 687 */ - void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 688 */ - void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 689 */ - void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 690 */ - GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 691 */ - void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 692 */ - GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 693 */ - GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 694 */ - void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 695 */ - void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 696 */ - void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 697 */ - void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 698 */ - void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 699 */ - void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 700 */ - void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 701 */ - void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 702 */ - void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 703 */ - void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 704 */ - void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 705 */ - void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 706 */ - void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 707 */ - GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 708 */ - void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 709 */ - void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 710 */ - void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 711 */ - void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 712 */ - void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 713 */ - void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 714 */ - void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 715 */ - void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 716 */ - void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 717 */ - void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 718 */ - void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 719 */ - void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 720 */ - void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 721 */ - void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 722 */ - void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 723 */ - void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 724 */ - void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 725 */ - void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 726 */ - void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 727 */ - void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 728 */ - void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 729 */ - void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 730 */ - void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 731 */ - void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 732 */ - void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 733 */ - void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 734 */ - void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 735 */ - void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 736 */ - void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 737 */ - void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 738 */ - void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 739 */ - void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 740 */ - void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 741 */ - void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 742 */ - void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 743 */ - void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 744 */ - void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 745 */ - void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 746 */ - void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 747 */ - void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 748 */ - void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 749 */ - void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 750 */ - void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 751 */ - void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 752 */ - void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 753 */ - void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 754 */ - void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 755 */ - void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 756 */ - void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 757 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 758 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 759 */ - void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 760 */ - void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 761 */ - void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 762 */ - void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 763 */ - void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 764 */ - void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 765 */ - void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 766 */ - void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 767 */ - GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 768 */ - void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 769 */ - void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 770 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 771 */ - void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 772 */ - void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 773 */ - void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 774 */ - void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 775 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 776 */ - void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 777 */ - GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 778 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 779 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 780 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 781 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 782 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 783 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 784 */ - void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 785 */ - void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 786 */ - void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 787 */ - void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 788 */ - void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 789 */ - void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 790 */ - GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 791 */ - void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 792 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 793 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 794 */ - void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 795 */ - void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 796 */ - void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 797 */ - void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 798 */ - void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 799 */ - void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 800 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 801 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 802 */ - GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 803 */ - GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 804 */ - void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 805 */ - void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 806 */ - void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 807 */ - void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 808 */ - void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 809 */ - GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 810 */ - void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 811 */ - void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 812 */ - void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 813 */ - void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 814 */ - void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 815 */ - void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 816 */ - void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 817 */ - void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 818 */ - void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 819 */ - void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 820 */ - void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 821 */ - void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 822 */ - void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 823 */ - void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 824 */ - void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 825 */ - void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 826 */ - void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 827 */ - void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 828 */ - void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 829 */ - void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 830 */ - void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 831 */ - void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 832 */ - void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 833 */ - void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 834 */ - void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 835 */ - void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 836 */ - void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 837 */ - void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 838 */ - void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 839 */ - void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 840 */ - void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 841 */ - void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 842 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 843 */ - void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 844 */ - void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 845 */ - void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 846 */ - void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 847 */ - void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 848 */ - GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 849 */ - void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 850 */ - void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 851 */ - void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 852 */ - void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 853 */ - void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 854 */ - void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 855 */ - void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 856 */ - void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 857 */ - void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 858 */ - void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 859 */ - void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 860 */ - void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 861 */ - void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 862 */ - void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 863 */ - void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 864 */ - void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 865 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 866 */ - void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 867 */ - void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 868 */ - GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 869 */ - GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 870 */ - void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 871 */ - GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 872 */ - void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 873 */ - void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 874 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 875 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 876 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 877 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 878 */ - void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 879 */ - void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 880 */ + void (GLAPIENTRYP VertexAttribDivisorARB)(GLuint index, GLuint divisor); /* 578 */ + void (GLAPIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); /* 579 */ + GLvoid * (GLAPIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); /* 580 */ + void (GLAPIENTRYP BindVertexArray)(GLuint array); /* 581 */ + void (GLAPIENTRYP GenVertexArrays)(GLsizei n, GLuint * arrays); /* 582 */ + void (GLAPIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); /* 583 */ + GLenum (GLAPIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 584 */ + void (GLAPIENTRYP DeleteSync)(GLsync sync); /* 585 */ + GLsync (GLAPIENTRYP FenceSync)(GLenum condition, GLbitfield flags); /* 586 */ + void (GLAPIENTRYP GetInteger64v)(GLenum pname, GLint64 * params); /* 587 */ + void (GLAPIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * values); /* 588 */ + GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 589 */ + void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 590 */ + void (GLAPIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 591 */ + void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 592 */ + void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 593 */ + void (GLAPIENTRYP BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA); /* 594 */ + void (GLAPIENTRYP BlendEquationiARB)(GLuint buf, GLenum mode); /* 595 */ + void (GLAPIENTRYP BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA); /* 596 */ + void (GLAPIENTRYP BlendFunciARB)(GLuint buf, GLenum src, GLenum dst); /* 597 */ + void (GLAPIENTRYP BindTransformFeedback)(GLenum target, GLuint id); /* 598 */ + void (GLAPIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint * ids); /* 599 */ + void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint id); /* 600 */ + void (GLAPIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint * ids); /* 601 */ + GLboolean (GLAPIENTRYP IsTransformFeedback)(GLuint id); /* 602 */ + void (GLAPIENTRYP PauseTransformFeedback)(void); /* 603 */ + void (GLAPIENTRYP ResumeTransformFeedback)(void); /* 604 */ + void (GLAPIENTRYP ClearDepthf)(GLclampf depth); /* 605 */ + void (GLAPIENTRYP DepthRangef)(GLclampf zNear, GLclampf zFar); /* 606 */ + void (GLAPIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); /* 607 */ + void (GLAPIENTRYP ReleaseShaderCompiler)(void); /* 608 */ + void (GLAPIENTRYP ShaderBinary)(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); /* 609 */ + void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 610 */ + void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 611 */ + void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 612 */ + void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 613 */ + void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 614 */ + void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 615 */ + void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 616 */ + void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 617 */ + void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 618 */ + void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 619 */ + void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 620 */ + void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 621 */ + void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 622 */ + void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 623 */ + void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 624 */ + void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 625 */ + void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 626 */ + void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 627 */ + void (GLAPIENTRYP UnlockArraysEXT)(void); /* 628 */ + void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 629 */ + void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 630 */ + void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 631 */ + void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 632 */ + void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 633 */ + void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 634 */ + void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 635 */ + void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 636 */ + void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 637 */ + void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 638 */ + void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 639 */ + void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 640 */ + void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 641 */ + void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 642 */ + void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 643 */ + void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 644 */ + void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 645 */ + void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 646 */ + void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 647 */ + void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 648 */ + void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 649 */ + void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 650 */ + void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 651 */ + void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 652 */ + void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 653 */ + void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 654 */ + void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 655 */ + void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 656 */ + void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 657 */ + void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 658 */ + void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 659 */ + void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 660 */ + void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 661 */ + void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 662 */ + void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 663 */ + void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 664 */ + void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 665 */ + void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 666 */ + void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 667 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 668 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 669 */ + void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 670 */ + void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 671 */ + void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 672 */ + void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 673 */ + void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 674 */ + void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 675 */ + void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 676 */ + void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 677 */ + void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 678 */ + void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 679 */ + void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 680 */ + void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 681 */ + void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 682 */ + void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 683 */ + void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 684 */ + void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 685 */ + void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 686 */ + void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 687 */ + void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 688 */ + void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 689 */ + void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 690 */ + void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 691 */ + void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 692 */ + void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 693 */ + void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 694 */ + void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 695 */ + void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 696 */ + void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 697 */ + void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 698 */ + void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 699 */ + void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 700 */ + GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 701 */ + void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 702 */ + GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 703 */ + GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 704 */ + void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 705 */ + void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 706 */ + void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 707 */ + void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 708 */ + void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 709 */ + void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 710 */ + void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 711 */ + void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 712 */ + void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 713 */ + void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 714 */ + void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 715 */ + void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 716 */ + void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 717 */ + GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 718 */ + void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 719 */ + void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 720 */ + void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 721 */ + void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 722 */ + void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 723 */ + void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 724 */ + void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 725 */ + void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 726 */ + void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 727 */ + void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 728 */ + void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 729 */ + void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 730 */ + void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 731 */ + void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 732 */ + void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 733 */ + void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 734 */ + void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 735 */ + void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 736 */ + void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 737 */ + void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 738 */ + void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 739 */ + void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 740 */ + void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 741 */ + void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 742 */ + void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 743 */ + void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 744 */ + void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 745 */ + void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 746 */ + void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 747 */ + void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 748 */ + void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 749 */ + void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 750 */ + void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 751 */ + void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 752 */ + void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 753 */ + void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 754 */ + void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 755 */ + void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 756 */ + void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 757 */ + void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 758 */ + void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 759 */ + void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 760 */ + void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 761 */ + void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 762 */ + void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 763 */ + void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 764 */ + void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 765 */ + void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 766 */ + void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 767 */ + void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 768 */ + void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 769 */ + void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 770 */ + void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 771 */ + void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 772 */ + void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 773 */ + void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 774 */ + void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 775 */ + void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 776 */ + void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 777 */ + GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 778 */ + void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 779 */ + void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 780 */ + void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 781 */ + void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 782 */ + void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 783 */ + void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 784 */ + void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 785 */ + void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 786 */ + void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 787 */ + GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 788 */ + void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 789 */ + void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 790 */ + void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 791 */ + void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 792 */ + void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 793 */ + void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 794 */ + void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 795 */ + void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 796 */ + void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 797 */ + void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 798 */ + void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 799 */ + void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 800 */ + GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 801 */ + void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 802 */ + void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 803 */ + void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 804 */ + void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 805 */ + void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 806 */ + void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 807 */ + void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 808 */ + void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 809 */ + void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 810 */ + void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 811 */ + void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 812 */ + GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 813 */ + GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 814 */ + void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 815 */ + void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 816 */ + void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 817 */ + void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 818 */ + void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 819 */ + GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 820 */ + void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 821 */ + void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 822 */ + void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 823 */ + void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 824 */ + void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 825 */ + void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 826 */ + void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 827 */ + void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 828 */ + void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 829 */ + void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 830 */ + void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 831 */ + void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 832 */ + void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 833 */ + void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 834 */ + void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 835 */ + void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 836 */ + void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 837 */ + void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 838 */ + void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 839 */ + void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 840 */ + void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 841 */ + void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 842 */ + void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 843 */ + void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 844 */ + void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 845 */ + void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 846 */ + void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 847 */ + void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 848 */ + void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 849 */ + void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 850 */ + void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 851 */ + void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 852 */ + void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 853 */ + void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 854 */ + void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 855 */ + void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 856 */ + void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 857 */ + void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 858 */ + GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 859 */ + void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 860 */ + void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 861 */ + void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 862 */ + void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 863 */ + void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 864 */ + void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 865 */ + void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 866 */ + void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 867 */ + void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 868 */ + void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 869 */ + void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 870 */ + void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 871 */ + void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 872 */ + void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 873 */ + void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 874 */ + void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 875 */ + void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 876 */ + void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 877 */ + void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 878 */ + GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 879 */ + GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 880 */ + void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 881 */ + GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 882 */ + void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 883 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 884 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 885 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 886 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 887 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 888 */ + void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 889 */ + void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 890 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/src/mapi/glapi/glapitemp.h b/src/mapi/glapi/glapitemp.h index cf844dc90c5..f45ca85258d 100644 --- a/src/mapi/glapi/glapitemp.h +++ b/src/mapi/glapi/glapitemp.h @@ -3952,6 +3952,11 @@ KEYWORD1 void KEYWORD2 NAME(ProgramParameteriARB)(GLuint program, GLenum pname, DISPATCH(ProgramParameteriARB, (program, pname, value), (F, "glProgramParameteriARB(%d, 0x%x, %d);\n", program, pname, value)); } +KEYWORD1 void KEYWORD2 NAME(VertexAttribDivisorARB)(GLuint index, GLuint divisor) +{ + DISPATCH(VertexAttribDivisorARB, (index, divisor), (F, "glVertexAttribDivisorARB(%d, %d);\n", index, divisor)); +} + KEYWORD1 void KEYWORD2 NAME(FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length) { DISPATCH(FlushMappedBufferRange, (target, offset, length), (F, "glFlushMappedBufferRange(0x%x, %d, %d);\n", target, offset, length)); @@ -4027,6 +4032,26 @@ KEYWORD1 void KEYWORD2 NAME(MultiDrawElementsBaseVertex)(GLenum mode, const GLsi DISPATCH(MultiDrawElementsBaseVertex, (mode, count, type, indices, primcount, basevertex), (F, "glMultiDrawElementsBaseVertex(0x%x, %p, 0x%x, %p, %d, %p);\n", mode, (const void *) count, type, (const void *) indices, primcount, (const void *) basevertex)); } +KEYWORD1 void KEYWORD2 NAME(BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA) +{ + DISPATCH(BlendEquationSeparateiARB, (buf, modeRGB, modeA), (F, "glBlendEquationSeparateiARB(%d, 0x%x, 0x%x);\n", buf, modeRGB, modeA)); +} + +KEYWORD1 void KEYWORD2 NAME(BlendEquationiARB)(GLuint buf, GLenum mode) +{ + DISPATCH(BlendEquationiARB, (buf, mode), (F, "glBlendEquationiARB(%d, 0x%x);\n", buf, mode)); +} + +KEYWORD1 void KEYWORD2 NAME(BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA) +{ + DISPATCH(BlendFuncSeparateiARB, (buf, srcRGB, dstRGB, srcA, dstA), (F, "glBlendFuncSeparateiARB(%d, 0x%x, 0x%x, 0x%x, 0x%x);\n", buf, srcRGB, dstRGB, srcA, dstA)); +} + +KEYWORD1 void KEYWORD2 NAME(BlendFunciARB)(GLuint buf, GLenum src, GLenum dst) +{ + DISPATCH(BlendFunciARB, (buf, src, dst), (F, "glBlendFunciARB(%d, 0x%x, 0x%x);\n", buf, src, dst)); +} + KEYWORD1 void KEYWORD2 NAME(BindTransformFeedback)(GLenum target, GLuint id) { DISPATCH(BindTransformFeedback, (target, id), (F, "glBindTransformFeedback(0x%x, %d);\n", target, id)); @@ -4062,63 +4087,88 @@ KEYWORD1 void KEYWORD2 NAME(ResumeTransformFeedback)(void) DISPATCH(ResumeTransformFeedback, (), (F, "glResumeTransformFeedback();\n")); } +KEYWORD1 void KEYWORD2 NAME(ClearDepthf)(GLclampf depth) +{ + DISPATCH(ClearDepthf, (depth), (F, "glClearDepthf(%f);\n", depth)); +} + +KEYWORD1 void KEYWORD2 NAME(DepthRangef)(GLclampf zNear, GLclampf zFar) +{ + DISPATCH(DepthRangef, (zNear, zFar), (F, "glDepthRangef(%f, %f);\n", zNear, zFar)); +} + +KEYWORD1 void KEYWORD2 NAME(GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision) +{ + DISPATCH(GetShaderPrecisionFormat, (shadertype, precisiontype, range, precision), (F, "glGetShaderPrecisionFormat(0x%x, 0x%x, %p, %p);\n", shadertype, precisiontype, (const void *) range, (const void *) precision)); +} + +KEYWORD1 void KEYWORD2 NAME(ReleaseShaderCompiler)(void) +{ + DISPATCH(ReleaseShaderCompiler, (), (F, "glReleaseShaderCompiler();\n")); +} + +KEYWORD1 void KEYWORD2 NAME(ShaderBinary)(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length) +{ + DISPATCH(ShaderBinary, (n, shaders, binaryformat, binary, length), (F, "glShaderBinary(%d, %p, 0x%x, %p, %d);\n", n, (const void *) shaders, binaryformat, (const void *) binary, length)); +} + KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) { DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_601)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_611)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_601)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_611)(GLenum pname, GLfloat * params) { DISPATCH(GetPixelTexGenParameterfvSGIS, (pname, params), (F, "glGetPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_602)(GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_612)(GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_602)(GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_612)(GLenum pname, GLint * params) { DISPATCH(GetPixelTexGenParameterivSGIS, (pname, params), (F, "glGetPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_603)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_613)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_603)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_613)(GLenum pname, GLfloat param) { DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_614)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_604)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_614)(GLenum pname, const GLfloat * params) { DISPATCH(PixelTexGenParameterfvSGIS, (pname, params), (F, "glPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_605)(GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_615)(GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_605)(GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_615)(GLenum pname, GLint param) { DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_606)(GLenum pname, const GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_616)(GLenum pname, const GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_606)(GLenum pname, const GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_616)(GLenum pname, const GLint * params) { DISPATCH(PixelTexGenParameterivSGIS, (pname, params), (F, "glPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_607)(GLclampf value, GLboolean invert); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_617)(GLclampf value, GLboolean invert); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_607)(GLclampf value, GLboolean invert) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_617)(GLclampf value, GLboolean invert) { DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_608)(GLenum pattern); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_618)(GLenum pattern); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_608)(GLenum pattern) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_618)(GLenum pattern) { DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern)); } @@ -4168,9 +4218,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfEXT)(GLenum pname, GLfloat param) DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfEXT(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_615)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_625)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_615)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_625)(GLenum pname, GLfloat param) { DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param)); } @@ -4190,9 +4240,9 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterfvEXT)(GLenum pname, const GLfloat * p DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvEXT(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_616)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_626)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_616)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_626)(GLenum pname, const GLfloat * params) { DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } @@ -4447,9 +4497,9 @@ KEYWORD1 void KEYWORD2 NAME(FogCoordfvEXT)(const GLfloat * coord) DISPATCH(FogCoordfvEXT, (coord), (F, "glFogCoordfvEXT(%p);\n", (const void *) coord)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_643)(GLenum mode); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLenum mode); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_643)(GLenum mode) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLenum mode) { DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode)); } @@ -4464,9 +4514,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfac DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateEXT(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_644)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_644)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateINGR(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } @@ -4831,65 +4881,65 @@ KEYWORD1 void KEYWORD2 NAME(WindowPos4svMESA)(const GLshort * v) DISPATCH(WindowPos4svMESA, (v), (F, "glWindowPos4svMESA(%p);\n", (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_685)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_695)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_685)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_695)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawArraysIBM, (mode, first, count, primcount, modestride), (F, "glMultiModeDrawArraysIBM(%p, %p, %p, %d, %d);\n", (const void *) mode, (const void *) first, (const void *) count, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_686)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_696)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_686)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_696)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawElementsIBM, (mode, count, type, indices, primcount, modestride), (F, "glMultiModeDrawElementsIBM(%p, %p, 0x%x, %p, %d, %d);\n", (const void *) mode, (const void *) count, type, (const void *) indices, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_687)(GLsizei n, const GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_697)(GLsizei n, const GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_687)(GLsizei n, const GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_697)(GLsizei n, const GLuint * fences) { DISPATCH(DeleteFencesNV, (n, fences), (F, "glDeleteFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_688)(GLuint fence); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_698)(GLuint fence); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_688)(GLuint fence) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_698)(GLuint fence) { DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_689)(GLsizei n, GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_699)(GLsizei n, GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_689)(GLsizei n, GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_699)(GLsizei n, GLuint * fences) { DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_690)(GLuint fence, GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_700)(GLuint fence, GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_690)(GLuint fence, GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_700)(GLuint fence, GLenum pname, GLint * params) { DISPATCH(GetFenceivNV, (fence, pname, params), (F, "glGetFenceivNV(%d, 0x%x, %p);\n", fence, pname, (const void *) params)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_691)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_701)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_691)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_701)(GLuint fence) { RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_692)(GLuint fence, GLenum condition); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_702)(GLuint fence, GLenum condition); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_692)(GLuint fence, GLenum condition) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_702)(GLuint fence, GLenum condition) { DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_693)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_703)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_693)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_703)(GLuint fence) { RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence)); } @@ -5334,16 +5384,16 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterivNV)(GLenum pname, const GLint * para DISPATCH(PointParameterivNV, (pname, params), (F, "glPointParameterivNV(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum face); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_784)(GLenum face); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLenum face) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_784)(GLenum face) { DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLuint array); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLuint array); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLuint array) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_785)(GLuint array) { DISPATCH(BindVertexArrayAPPLE, (array), (F, "glBindVertexArrayAPPLE(%d);\n", array)); } @@ -5353,16 +5403,16 @@ KEYWORD1 void KEYWORD2 NAME(DeleteVertexArrays)(GLsizei n, const GLuint * arrays DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArrays(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLsizei n, const GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_786)(GLsizei n, const GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(GLsizei n, const GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_786)(GLsizei n, const GLuint * arrays) { DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLsizei n, GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLsizei n, GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLsizei n, GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLsizei n, GLuint * arrays) { DISPATCH(GenVertexArraysAPPLE, (n, arrays), (F, "glGenVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } @@ -5372,9 +5422,9 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsVertexArray)(GLuint array) RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArray(%d);\n", array)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_778)(GLuint array); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_788)(GLuint array); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_778)(GLuint array) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_788)(GLuint array) { RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArrayAPPLE(%d);\n", array)); } @@ -5424,9 +5474,9 @@ KEYWORD1 void KEYWORD2 NAME(PrimitiveRestartNV)(void) DISPATCH(PrimitiveRestartNV, (), (F, "glPrimitiveRestartNV();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLclampd zmin, GLclampd zmax); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_797)(GLclampd zmin, GLclampd zmax); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_787)(GLclampd zmin, GLclampd zmax) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_797)(GLclampd zmin, GLclampd zmax) { DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax)); } @@ -5436,9 +5486,9 @@ KEYWORD1 void KEYWORD2 NAME(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA) DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparate(0x%x, 0x%x);\n", modeRGB, modeA)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum modeRGB, GLenum modeA); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_798)(GLenum modeRGB, GLenum modeA); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_788)(GLenum modeRGB, GLenum modeA) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_798)(GLenum modeRGB, GLenum modeA) { DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA)); } @@ -5618,23 +5668,23 @@ KEYWORD1 void KEYWORD2 NAME(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint src DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebuffer(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_806)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_816)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_806)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_816)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebufferEXT(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_807)(GLenum target, GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_817)(GLenum target, GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_807)(GLenum target, GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_817)(GLenum target, GLenum pname, GLint param) { DISPATCH(BufferParameteriAPPLE, (target, pname, param), (F, "glBufferParameteriAPPLE(0x%x, 0x%x, %d);\n", target, pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_808)(GLenum target, GLintptr offset, GLsizeiptr size); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_818)(GLenum target, GLintptr offset, GLsizeiptr size); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_808)(GLenum target, GLintptr offset, GLsizeiptr size) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_818)(GLenum target, GLintptr offset, GLsizeiptr size) { DISPATCH(FlushMappedBufferRangeAPPLE, (target, offset, size), (F, "glFlushMappedBufferRangeAPPLE(0x%x, %d, %d);\n", target, offset, size)); } @@ -6194,16 +6244,16 @@ KEYWORD1 void KEYWORD2 NAME(ProvokingVertex)(GLenum mode) DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertex(0x%x);\n", mode)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_866)(GLenum target, GLenum pname, GLvoid ** params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_876)(GLenum target, GLenum pname, GLvoid ** params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_866)(GLenum target, GLenum pname, GLvoid ** params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_876)(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_867)(GLenum target, GLsizei length, GLvoid * pointer); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_877)(GLenum target, GLsizei length, GLvoid * pointer); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_867)(GLenum target, GLsizei length, GLvoid * pointer) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_877)(GLenum target, GLsizei length, GLvoid * pointer) { DISPATCH(TextureRangeAPPLE, (target, length, pointer), (F, "glTextureRangeAPPLE(0x%x, %d, %p);\n", target, length, (const void *) pointer)); } @@ -6238,37 +6288,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_874)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_884)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_874)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_884)(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_875)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_885)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_875)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_885)(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_876)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_886)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_876)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_886)(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_877)(GLuint id, GLenum pname, GLint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_887)(GLuint id, GLenum pname, GLint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_877)(GLuint id, GLenum pname, GLint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_887)(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_878)(GLuint id, GLenum pname, GLuint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_888)(GLuint id, GLenum pname, GLuint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_878)(GLuint id, GLenum pname, GLuint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_888)(GLuint id, GLenum pname, GLuint64EXT * params) { DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } @@ -7014,6 +7064,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FramebufferTextureARB), TABLE_ENTRY(FramebufferTextureFaceARB), TABLE_ENTRY(ProgramParameteriARB), + TABLE_ENTRY(VertexAttribDivisorARB), TABLE_ENTRY(FlushMappedBufferRange), TABLE_ENTRY(MapBufferRange), TABLE_ENTRY(BindVertexArray), @@ -7029,6 +7080,10 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(DrawElementsBaseVertex), TABLE_ENTRY(DrawRangeElementsBaseVertex), TABLE_ENTRY(MultiDrawElementsBaseVertex), + TABLE_ENTRY(BlendEquationSeparateiARB), + TABLE_ENTRY(BlendEquationiARB), + TABLE_ENTRY(BlendFuncSeparateiARB), + TABLE_ENTRY(BlendFunciARB), TABLE_ENTRY(BindTransformFeedback), TABLE_ENTRY(DeleteTransformFeedbacks), TABLE_ENTRY(DrawTransformFeedback), @@ -7036,15 +7091,20 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsTransformFeedback), TABLE_ENTRY(PauseTransformFeedback), TABLE_ENTRY(ResumeTransformFeedback), + TABLE_ENTRY(ClearDepthf), + TABLE_ENTRY(DepthRangef), + TABLE_ENTRY(GetShaderPrecisionFormat), + TABLE_ENTRY(ReleaseShaderCompiler), + TABLE_ENTRY(ShaderBinary), TABLE_ENTRY(PolygonOffsetEXT), - TABLE_ENTRY(_dispatch_stub_601), - TABLE_ENTRY(_dispatch_stub_602), - TABLE_ENTRY(_dispatch_stub_603), - TABLE_ENTRY(_dispatch_stub_604), - TABLE_ENTRY(_dispatch_stub_605), - TABLE_ENTRY(_dispatch_stub_606), - TABLE_ENTRY(_dispatch_stub_607), - TABLE_ENTRY(_dispatch_stub_608), + TABLE_ENTRY(_dispatch_stub_611), + TABLE_ENTRY(_dispatch_stub_612), + TABLE_ENTRY(_dispatch_stub_613), + TABLE_ENTRY(_dispatch_stub_614), + TABLE_ENTRY(_dispatch_stub_615), + TABLE_ENTRY(_dispatch_stub_616), + TABLE_ENTRY(_dispatch_stub_617), + TABLE_ENTRY(_dispatch_stub_618), TABLE_ENTRY(ColorPointerEXT), TABLE_ENTRY(EdgeFlagPointerEXT), TABLE_ENTRY(IndexPointerEXT), @@ -7079,7 +7139,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FogCoorddvEXT), TABLE_ENTRY(FogCoordfEXT), TABLE_ENTRY(FogCoordfvEXT), - TABLE_ENTRY(_dispatch_stub_643), + TABLE_ENTRY(_dispatch_stub_653), TABLE_ENTRY(BlendFuncSeparateEXT), TABLE_ENTRY(FlushVertexArrayRangeNV), TABLE_ENTRY(VertexArrayRangeNV), @@ -7121,15 +7181,15 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(WindowPos4ivMESA), TABLE_ENTRY(WindowPos4sMESA), TABLE_ENTRY(WindowPos4svMESA), - TABLE_ENTRY(_dispatch_stub_685), - TABLE_ENTRY(_dispatch_stub_686), - TABLE_ENTRY(_dispatch_stub_687), - TABLE_ENTRY(_dispatch_stub_688), - TABLE_ENTRY(_dispatch_stub_689), - TABLE_ENTRY(_dispatch_stub_690), - TABLE_ENTRY(_dispatch_stub_691), - TABLE_ENTRY(_dispatch_stub_692), - TABLE_ENTRY(_dispatch_stub_693), + TABLE_ENTRY(_dispatch_stub_695), + TABLE_ENTRY(_dispatch_stub_696), + TABLE_ENTRY(_dispatch_stub_697), + TABLE_ENTRY(_dispatch_stub_698), + TABLE_ENTRY(_dispatch_stub_699), + TABLE_ENTRY(_dispatch_stub_700), + TABLE_ENTRY(_dispatch_stub_701), + TABLE_ENTRY(_dispatch_stub_702), + TABLE_ENTRY(_dispatch_stub_703), TABLE_ENTRY(AreProgramsResidentNV), TABLE_ENTRY(BindProgramNV), TABLE_ENTRY(DeleteProgramsNV), @@ -7210,11 +7270,11 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(SetFragmentShaderConstantATI), TABLE_ENTRY(PointParameteriNV), TABLE_ENTRY(PointParameterivNV), - TABLE_ENTRY(_dispatch_stub_774), - TABLE_ENTRY(_dispatch_stub_775), - TABLE_ENTRY(_dispatch_stub_776), - TABLE_ENTRY(_dispatch_stub_777), - TABLE_ENTRY(_dispatch_stub_778), + TABLE_ENTRY(_dispatch_stub_784), + TABLE_ENTRY(_dispatch_stub_785), + TABLE_ENTRY(_dispatch_stub_786), + TABLE_ENTRY(_dispatch_stub_787), + TABLE_ENTRY(_dispatch_stub_788), TABLE_ENTRY(GetProgramNamedParameterdvNV), TABLE_ENTRY(GetProgramNamedParameterfvNV), TABLE_ENTRY(ProgramNamedParameter4dNV), @@ -7223,8 +7283,8 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(ProgramNamedParameter4fvNV), TABLE_ENTRY(PrimitiveRestartIndexNV), TABLE_ENTRY(PrimitiveRestartNV), - TABLE_ENTRY(_dispatch_stub_787), - TABLE_ENTRY(_dispatch_stub_788), + TABLE_ENTRY(_dispatch_stub_797), + TABLE_ENTRY(_dispatch_stub_798), TABLE_ENTRY(BindFramebufferEXT), TABLE_ENTRY(BindRenderbufferEXT), TABLE_ENTRY(CheckFramebufferStatusEXT), @@ -7242,9 +7302,9 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsFramebufferEXT), TABLE_ENTRY(IsRenderbufferEXT), TABLE_ENTRY(RenderbufferStorageEXT), - TABLE_ENTRY(_dispatch_stub_806), - TABLE_ENTRY(_dispatch_stub_807), - TABLE_ENTRY(_dispatch_stub_808), + TABLE_ENTRY(_dispatch_stub_816), + TABLE_ENTRY(_dispatch_stub_817), + TABLE_ENTRY(_dispatch_stub_818), TABLE_ENTRY(BindFragDataLocationEXT), TABLE_ENTRY(GetFragDataLocationEXT), TABLE_ENTRY(GetUniformuivEXT), @@ -7302,19 +7362,19 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetTransformFeedbackVaryingEXT), TABLE_ENTRY(TransformFeedbackVaryingsEXT), TABLE_ENTRY(ProvokingVertexEXT), - TABLE_ENTRY(_dispatch_stub_866), - TABLE_ENTRY(_dispatch_stub_867), + TABLE_ENTRY(_dispatch_stub_876), + TABLE_ENTRY(_dispatch_stub_877), TABLE_ENTRY(GetObjectParameterivAPPLE), TABLE_ENTRY(ObjectPurgeableAPPLE), TABLE_ENTRY(ObjectUnpurgeableAPPLE), TABLE_ENTRY(ActiveProgramEXT), TABLE_ENTRY(CreateShaderProgramEXT), TABLE_ENTRY(UseShaderProgramEXT), - TABLE_ENTRY(_dispatch_stub_874), - TABLE_ENTRY(_dispatch_stub_875), - TABLE_ENTRY(_dispatch_stub_876), - TABLE_ENTRY(_dispatch_stub_877), - TABLE_ENTRY(_dispatch_stub_878), + TABLE_ENTRY(_dispatch_stub_884), + TABLE_ENTRY(_dispatch_stub_885), + TABLE_ENTRY(_dispatch_stub_886), + TABLE_ENTRY(_dispatch_stub_887), + TABLE_ENTRY(_dispatch_stub_888), TABLE_ENTRY(EGLImageTargetRenderbufferStorageOES), TABLE_ENTRY(EGLImageTargetTexture2DOES), /* A whole bunch of no-op functions. These might be called @@ -7621,10 +7681,10 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(RenderbufferStorageMultisampleEXT), TABLE_ENTRY(PointParameterf), TABLE_ENTRY(PointParameterfARB), - TABLE_ENTRY(_dispatch_stub_615), + TABLE_ENTRY(_dispatch_stub_625), TABLE_ENTRY(PointParameterfv), TABLE_ENTRY(PointParameterfvARB), - TABLE_ENTRY(_dispatch_stub_616), + TABLE_ENTRY(_dispatch_stub_626), TABLE_ENTRY(SecondaryColor3b), TABLE_ENTRY(SecondaryColor3bv), TABLE_ENTRY(SecondaryColor3d), @@ -7650,7 +7710,7 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(FogCoordf), TABLE_ENTRY(FogCoordfv), TABLE_ENTRY(BlendFuncSeparate), - TABLE_ENTRY(_dispatch_stub_644), + TABLE_ENTRY(_dispatch_stub_654), TABLE_ENTRY(WindowPos2d), TABLE_ENTRY(WindowPos2dARB), TABLE_ENTRY(WindowPos2dv), diff --git a/src/mapi/glapi/glprocs.h b/src/mapi/glapi/glprocs.h index c0a98e622a2..9b2457cde12 100644 --- a/src/mapi/glapi/glprocs.h +++ b/src/mapi/glapi/glprocs.h @@ -630,6 +630,7 @@ static const char gl_string_table[] = "glFramebufferTextureARB\0" "glFramebufferTextureFaceARB\0" "glProgramParameteriARB\0" + "glVertexAttribDivisorARB\0" "glFlushMappedBufferRange\0" "glMapBufferRange\0" "glBindVertexArray\0" @@ -645,6 +646,10 @@ static const char gl_string_table[] = "glDrawElementsBaseVertex\0" "glDrawRangeElementsBaseVertex\0" "glMultiDrawElementsBaseVertex\0" + "glBlendEquationSeparateiARB\0" + "glBlendEquationiARB\0" + "glBlendFuncSeparateiARB\0" + "glBlendFunciARB\0" "glBindTransformFeedback\0" "glDeleteTransformFeedbacks\0" "glDrawTransformFeedback\0" @@ -652,6 +657,11 @@ static const char gl_string_table[] = "glIsTransformFeedback\0" "glPauseTransformFeedback\0" "glResumeTransformFeedback\0" + "glClearDepthf\0" + "glDepthRangef\0" + "glGetShaderPrecisionFormat\0" + "glReleaseShaderCompiler\0" + "glShaderBinary\0" "glPolygonOffsetEXT\0" "glGetPixelTexGenParameterfvSGIS\0" "glGetPixelTexGenParameterivSGIS\0" @@ -1309,41 +1319,41 @@ static const char gl_string_table[] = #define gl_dispatch_stub_364 mgl_dispatch_stub_364 #define gl_dispatch_stub_365 mgl_dispatch_stub_365 #define gl_dispatch_stub_366 mgl_dispatch_stub_366 -#define gl_dispatch_stub_601 mgl_dispatch_stub_601 -#define gl_dispatch_stub_602 mgl_dispatch_stub_602 -#define gl_dispatch_stub_603 mgl_dispatch_stub_603 -#define gl_dispatch_stub_604 mgl_dispatch_stub_604 -#define gl_dispatch_stub_605 mgl_dispatch_stub_605 -#define gl_dispatch_stub_606 mgl_dispatch_stub_606 -#define gl_dispatch_stub_607 mgl_dispatch_stub_607 -#define gl_dispatch_stub_608 mgl_dispatch_stub_608 -#define gl_dispatch_stub_643 mgl_dispatch_stub_643 -#define gl_dispatch_stub_685 mgl_dispatch_stub_685 -#define gl_dispatch_stub_686 mgl_dispatch_stub_686 -#define gl_dispatch_stub_687 mgl_dispatch_stub_687 -#define gl_dispatch_stub_688 mgl_dispatch_stub_688 -#define gl_dispatch_stub_689 mgl_dispatch_stub_689 -#define gl_dispatch_stub_690 mgl_dispatch_stub_690 -#define gl_dispatch_stub_691 mgl_dispatch_stub_691 -#define gl_dispatch_stub_692 mgl_dispatch_stub_692 -#define gl_dispatch_stub_693 mgl_dispatch_stub_693 -#define gl_dispatch_stub_774 mgl_dispatch_stub_774 -#define gl_dispatch_stub_775 mgl_dispatch_stub_775 -#define gl_dispatch_stub_776 mgl_dispatch_stub_776 -#define gl_dispatch_stub_777 mgl_dispatch_stub_777 -#define gl_dispatch_stub_778 mgl_dispatch_stub_778 +#define gl_dispatch_stub_611 mgl_dispatch_stub_611 +#define gl_dispatch_stub_612 mgl_dispatch_stub_612 +#define gl_dispatch_stub_613 mgl_dispatch_stub_613 +#define gl_dispatch_stub_614 mgl_dispatch_stub_614 +#define gl_dispatch_stub_615 mgl_dispatch_stub_615 +#define gl_dispatch_stub_616 mgl_dispatch_stub_616 +#define gl_dispatch_stub_617 mgl_dispatch_stub_617 +#define gl_dispatch_stub_618 mgl_dispatch_stub_618 +#define gl_dispatch_stub_653 mgl_dispatch_stub_653 +#define gl_dispatch_stub_695 mgl_dispatch_stub_695 +#define gl_dispatch_stub_696 mgl_dispatch_stub_696 +#define gl_dispatch_stub_697 mgl_dispatch_stub_697 +#define gl_dispatch_stub_698 mgl_dispatch_stub_698 +#define gl_dispatch_stub_699 mgl_dispatch_stub_699 +#define gl_dispatch_stub_700 mgl_dispatch_stub_700 +#define gl_dispatch_stub_701 mgl_dispatch_stub_701 +#define gl_dispatch_stub_702 mgl_dispatch_stub_702 +#define gl_dispatch_stub_703 mgl_dispatch_stub_703 +#define gl_dispatch_stub_784 mgl_dispatch_stub_784 +#define gl_dispatch_stub_785 mgl_dispatch_stub_785 +#define gl_dispatch_stub_786 mgl_dispatch_stub_786 #define gl_dispatch_stub_787 mgl_dispatch_stub_787 #define gl_dispatch_stub_788 mgl_dispatch_stub_788 -#define gl_dispatch_stub_806 mgl_dispatch_stub_806 -#define gl_dispatch_stub_807 mgl_dispatch_stub_807 -#define gl_dispatch_stub_808 mgl_dispatch_stub_808 -#define gl_dispatch_stub_866 mgl_dispatch_stub_866 -#define gl_dispatch_stub_867 mgl_dispatch_stub_867 -#define gl_dispatch_stub_874 mgl_dispatch_stub_874 -#define gl_dispatch_stub_875 mgl_dispatch_stub_875 +#define gl_dispatch_stub_797 mgl_dispatch_stub_797 +#define gl_dispatch_stub_798 mgl_dispatch_stub_798 +#define gl_dispatch_stub_816 mgl_dispatch_stub_816 +#define gl_dispatch_stub_817 mgl_dispatch_stub_817 +#define gl_dispatch_stub_818 mgl_dispatch_stub_818 #define gl_dispatch_stub_876 mgl_dispatch_stub_876 #define gl_dispatch_stub_877 mgl_dispatch_stub_877 -#define gl_dispatch_stub_878 mgl_dispatch_stub_878 +#define gl_dispatch_stub_884 mgl_dispatch_stub_884 +#define gl_dispatch_stub_885 mgl_dispatch_stub_885 +#define gl_dispatch_stub_886 mgl_dispatch_stub_886 +#define gl_dispatch_stub_887 mgl_dispatch_stub_887 +#define gl_dispatch_stub_888 mgl_dispatch_stub_888 #endif /* USE_MGL_NAMESPACE */ @@ -1361,41 +1371,41 @@ void GLAPIENTRY gl_dispatch_stub_363(GLenum target, GLenum pname, GLint * params void GLAPIENTRY gl_dispatch_stub_364(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); void GLAPIENTRY gl_dispatch_stub_365(GLenum target, GLenum pname, GLfloat * params); void GLAPIENTRY gl_dispatch_stub_366(GLenum target, GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_601(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_602(GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_603(GLenum pname, GLfloat param); -void GLAPIENTRY gl_dispatch_stub_604(GLenum pname, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_605(GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_606(GLenum pname, const GLint * params); -void GLAPIENTRY gl_dispatch_stub_607(GLclampf value, GLboolean invert); -void GLAPIENTRY gl_dispatch_stub_608(GLenum pattern); -void GLAPIENTRY gl_dispatch_stub_643(GLenum mode); -void GLAPIENTRY gl_dispatch_stub_685(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_686(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_687(GLsizei n, const GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_688(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_689(GLsizei n, GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_690(GLuint fence, GLenum pname, GLint * params); -GLboolean GLAPIENTRY gl_dispatch_stub_691(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_692(GLuint fence, GLenum condition); -GLboolean GLAPIENTRY gl_dispatch_stub_693(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_774(GLenum face); -void GLAPIENTRY gl_dispatch_stub_775(GLuint array); -void GLAPIENTRY gl_dispatch_stub_776(GLsizei n, const GLuint * arrays); -void GLAPIENTRY gl_dispatch_stub_777(GLsizei n, GLuint * arrays); -GLboolean GLAPIENTRY gl_dispatch_stub_778(GLuint array); -void GLAPIENTRY gl_dispatch_stub_787(GLclampd zmin, GLclampd zmax); -void GLAPIENTRY gl_dispatch_stub_788(GLenum modeRGB, GLenum modeA); -void GLAPIENTRY gl_dispatch_stub_806(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_807(GLenum target, GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_808(GLenum target, GLintptr offset, GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_866(GLenum target, GLenum pname, GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_867(GLenum target, GLsizei length, GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_874(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_875(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_876(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_877(GLuint id, GLenum pname, GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_878(GLuint id, GLenum pname, GLuint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_611(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_612(GLenum pname, GLint * params); +void GLAPIENTRY gl_dispatch_stub_613(GLenum pname, GLfloat param); +void GLAPIENTRY gl_dispatch_stub_614(GLenum pname, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_615(GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_616(GLenum pname, const GLint * params); +void GLAPIENTRY gl_dispatch_stub_617(GLclampf value, GLboolean invert); +void GLAPIENTRY gl_dispatch_stub_618(GLenum pattern); +void GLAPIENTRY gl_dispatch_stub_653(GLenum mode); +void GLAPIENTRY gl_dispatch_stub_695(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_696(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_697(GLsizei n, const GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_698(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_699(GLsizei n, GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_700(GLuint fence, GLenum pname, GLint * params); +GLboolean GLAPIENTRY gl_dispatch_stub_701(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_702(GLuint fence, GLenum condition); +GLboolean GLAPIENTRY gl_dispatch_stub_703(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_784(GLenum face); +void GLAPIENTRY gl_dispatch_stub_785(GLuint array); +void GLAPIENTRY gl_dispatch_stub_786(GLsizei n, const GLuint * arrays); +void GLAPIENTRY gl_dispatch_stub_787(GLsizei n, GLuint * arrays); +GLboolean GLAPIENTRY gl_dispatch_stub_788(GLuint array); +void GLAPIENTRY gl_dispatch_stub_797(GLclampd zmin, GLclampd zmax); +void GLAPIENTRY gl_dispatch_stub_798(GLenum modeRGB, GLenum modeA); +void GLAPIENTRY gl_dispatch_stub_816(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_817(GLenum target, GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_818(GLenum target, GLintptr offset, GLsizeiptr size); +void GLAPIENTRY gl_dispatch_stub_876(GLenum target, GLenum pname, GLvoid ** params); +void GLAPIENTRY gl_dispatch_stub_877(GLenum target, GLsizei length, GLvoid * pointer); +void GLAPIENTRY gl_dispatch_stub_884(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void GLAPIENTRY gl_dispatch_stub_885(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_886(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_887(GLuint id, GLenum pname, GLint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_888(GLuint id, GLenum pname, GLuint64EXT * params); #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { @@ -1977,668 +1987,678 @@ static const glprocs_table_t static_functions[] = { NAME_FUNC_OFFSET( 9225, glFramebufferTextureARB, glFramebufferTextureARB, NULL, 575), NAME_FUNC_OFFSET( 9249, glFramebufferTextureFaceARB, glFramebufferTextureFaceARB, NULL, 576), NAME_FUNC_OFFSET( 9277, glProgramParameteriARB, glProgramParameteriARB, NULL, 577), - NAME_FUNC_OFFSET( 9300, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, 578), - NAME_FUNC_OFFSET( 9325, glMapBufferRange, glMapBufferRange, NULL, 579), - NAME_FUNC_OFFSET( 9342, glBindVertexArray, glBindVertexArray, NULL, 580), - NAME_FUNC_OFFSET( 9360, glGenVertexArrays, glGenVertexArrays, NULL, 581), - NAME_FUNC_OFFSET( 9378, glCopyBufferSubData, glCopyBufferSubData, NULL, 582), - NAME_FUNC_OFFSET( 9398, glClientWaitSync, glClientWaitSync, NULL, 583), - NAME_FUNC_OFFSET( 9415, glDeleteSync, glDeleteSync, NULL, 584), - NAME_FUNC_OFFSET( 9428, glFenceSync, glFenceSync, NULL, 585), - NAME_FUNC_OFFSET( 9440, glGetInteger64v, glGetInteger64v, NULL, 586), - NAME_FUNC_OFFSET( 9456, glGetSynciv, glGetSynciv, NULL, 587), - NAME_FUNC_OFFSET( 9468, glIsSync, glIsSync, NULL, 588), - NAME_FUNC_OFFSET( 9477, glWaitSync, glWaitSync, NULL, 589), - NAME_FUNC_OFFSET( 9488, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, 590), - NAME_FUNC_OFFSET( 9513, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, 591), - NAME_FUNC_OFFSET( 9543, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, 592), - NAME_FUNC_OFFSET( 9573, glBindTransformFeedback, glBindTransformFeedback, NULL, 593), - NAME_FUNC_OFFSET( 9597, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, 594), - NAME_FUNC_OFFSET( 9624, glDrawTransformFeedback, glDrawTransformFeedback, NULL, 595), - NAME_FUNC_OFFSET( 9648, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, 596), - NAME_FUNC_OFFSET( 9672, glIsTransformFeedback, glIsTransformFeedback, NULL, 597), - NAME_FUNC_OFFSET( 9694, glPauseTransformFeedback, glPauseTransformFeedback, NULL, 598), - NAME_FUNC_OFFSET( 9719, glResumeTransformFeedback, glResumeTransformFeedback, NULL, 599), - NAME_FUNC_OFFSET( 9745, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 600), - NAME_FUNC_OFFSET( 9764, gl_dispatch_stub_601, gl_dispatch_stub_601, NULL, 601), - NAME_FUNC_OFFSET( 9796, gl_dispatch_stub_602, gl_dispatch_stub_602, NULL, 602), - NAME_FUNC_OFFSET( 9828, gl_dispatch_stub_603, gl_dispatch_stub_603, NULL, 603), - NAME_FUNC_OFFSET( 9856, gl_dispatch_stub_604, gl_dispatch_stub_604, NULL, 604), - NAME_FUNC_OFFSET( 9885, gl_dispatch_stub_605, gl_dispatch_stub_605, NULL, 605), - NAME_FUNC_OFFSET( 9913, gl_dispatch_stub_606, gl_dispatch_stub_606, NULL, 606), - NAME_FUNC_OFFSET( 9942, gl_dispatch_stub_607, gl_dispatch_stub_607, NULL, 607), - NAME_FUNC_OFFSET( 9959, gl_dispatch_stub_608, gl_dispatch_stub_608, NULL, 608), - NAME_FUNC_OFFSET( 9979, glColorPointerEXT, glColorPointerEXT, NULL, 609), - NAME_FUNC_OFFSET( 9997, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 610), - NAME_FUNC_OFFSET(10018, glIndexPointerEXT, glIndexPointerEXT, NULL, 611), - NAME_FUNC_OFFSET(10036, glNormalPointerEXT, glNormalPointerEXT, NULL, 612), - NAME_FUNC_OFFSET(10055, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 613), - NAME_FUNC_OFFSET(10076, glVertexPointerEXT, glVertexPointerEXT, NULL, 614), - NAME_FUNC_OFFSET(10095, glPointParameterfEXT, glPointParameterfEXT, NULL, 615), - NAME_FUNC_OFFSET(10116, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 616), - NAME_FUNC_OFFSET(10138, glLockArraysEXT, glLockArraysEXT, NULL, 617), - NAME_FUNC_OFFSET(10154, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 618), - NAME_FUNC_OFFSET(10172, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 619), - NAME_FUNC_OFFSET(10194, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 620), - NAME_FUNC_OFFSET(10217, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 621), - NAME_FUNC_OFFSET(10239, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 622), - NAME_FUNC_OFFSET(10262, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 623), - NAME_FUNC_OFFSET(10284, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 624), - NAME_FUNC_OFFSET(10307, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 625), - NAME_FUNC_OFFSET(10329, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 626), - NAME_FUNC_OFFSET(10352, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 627), - NAME_FUNC_OFFSET(10374, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 628), - NAME_FUNC_OFFSET(10397, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 629), - NAME_FUNC_OFFSET(10420, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 630), - NAME_FUNC_OFFSET(10444, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 631), - NAME_FUNC_OFFSET(10467, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 632), - NAME_FUNC_OFFSET(10491, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 633), - NAME_FUNC_OFFSET(10514, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 634), - NAME_FUNC_OFFSET(10538, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 635), - NAME_FUNC_OFFSET(10565, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 636), - NAME_FUNC_OFFSET(10586, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 637), - NAME_FUNC_OFFSET(10609, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 638), - NAME_FUNC_OFFSET(10630, glFogCoorddEXT, glFogCoorddEXT, NULL, 639), - NAME_FUNC_OFFSET(10645, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 640), - NAME_FUNC_OFFSET(10661, glFogCoordfEXT, glFogCoordfEXT, NULL, 641), - NAME_FUNC_OFFSET(10676, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 642), - NAME_FUNC_OFFSET(10692, gl_dispatch_stub_643, gl_dispatch_stub_643, NULL, 643), - NAME_FUNC_OFFSET(10710, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 644), - NAME_FUNC_OFFSET(10733, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, 645), - NAME_FUNC_OFFSET(10759, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, 646), - NAME_FUNC_OFFSET(10780, glCombinerInputNV, glCombinerInputNV, NULL, 647), - NAME_FUNC_OFFSET(10798, glCombinerOutputNV, glCombinerOutputNV, NULL, 648), - NAME_FUNC_OFFSET(10817, glCombinerParameterfNV, glCombinerParameterfNV, NULL, 649), - NAME_FUNC_OFFSET(10840, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, 650), - NAME_FUNC_OFFSET(10864, glCombinerParameteriNV, glCombinerParameteriNV, NULL, 651), - NAME_FUNC_OFFSET(10887, glCombinerParameterivNV, glCombinerParameterivNV, NULL, 652), - NAME_FUNC_OFFSET(10911, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, 653), - NAME_FUNC_OFFSET(10934, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, 654), - NAME_FUNC_OFFSET(10966, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, 655), - NAME_FUNC_OFFSET(10998, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, 656), - NAME_FUNC_OFFSET(11031, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, 657), - NAME_FUNC_OFFSET(11064, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, 658), - NAME_FUNC_OFFSET(11101, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, 659), - NAME_FUNC_OFFSET(11138, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 660), - NAME_FUNC_OFFSET(11158, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 661), - NAME_FUNC_OFFSET(11176, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 662), - NAME_FUNC_OFFSET(11195, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 663), - NAME_FUNC_OFFSET(11213, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 664), - NAME_FUNC_OFFSET(11232, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 665), - NAME_FUNC_OFFSET(11250, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 666), - NAME_FUNC_OFFSET(11269, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 667), - NAME_FUNC_OFFSET(11287, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 668), - NAME_FUNC_OFFSET(11306, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 669), - NAME_FUNC_OFFSET(11324, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 670), - NAME_FUNC_OFFSET(11343, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 671), - NAME_FUNC_OFFSET(11361, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 672), - NAME_FUNC_OFFSET(11380, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 673), - NAME_FUNC_OFFSET(11398, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 674), - NAME_FUNC_OFFSET(11417, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 675), - NAME_FUNC_OFFSET(11435, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 676), - NAME_FUNC_OFFSET(11454, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 677), - NAME_FUNC_OFFSET(11472, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 678), - NAME_FUNC_OFFSET(11491, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 679), - NAME_FUNC_OFFSET(11509, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 680), - NAME_FUNC_OFFSET(11528, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 681), - NAME_FUNC_OFFSET(11546, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 682), - NAME_FUNC_OFFSET(11565, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 683), - NAME_FUNC_OFFSET(11583, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 684), - NAME_FUNC_OFFSET(11602, gl_dispatch_stub_685, gl_dispatch_stub_685, NULL, 685), - NAME_FUNC_OFFSET(11627, gl_dispatch_stub_686, gl_dispatch_stub_686, NULL, 686), - NAME_FUNC_OFFSET(11654, gl_dispatch_stub_687, gl_dispatch_stub_687, NULL, 687), - NAME_FUNC_OFFSET(11671, gl_dispatch_stub_688, gl_dispatch_stub_688, NULL, 688), - NAME_FUNC_OFFSET(11687, gl_dispatch_stub_689, gl_dispatch_stub_689, NULL, 689), - NAME_FUNC_OFFSET(11701, gl_dispatch_stub_690, gl_dispatch_stub_690, NULL, 690), - NAME_FUNC_OFFSET(11716, gl_dispatch_stub_691, gl_dispatch_stub_691, NULL, 691), - NAME_FUNC_OFFSET(11728, gl_dispatch_stub_692, gl_dispatch_stub_692, NULL, 692), - NAME_FUNC_OFFSET(11741, gl_dispatch_stub_693, gl_dispatch_stub_693, NULL, 693), - NAME_FUNC_OFFSET(11755, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 694), - NAME_FUNC_OFFSET(11779, glBindProgramNV, glBindProgramNV, NULL, 695), - NAME_FUNC_OFFSET(11795, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 696), - NAME_FUNC_OFFSET(11814, glExecuteProgramNV, glExecuteProgramNV, NULL, 697), - NAME_FUNC_OFFSET(11833, glGenProgramsNV, glGenProgramsNV, NULL, 698), - NAME_FUNC_OFFSET(11849, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 699), - NAME_FUNC_OFFSET(11875, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 700), - NAME_FUNC_OFFSET(11901, glGetProgramStringNV, glGetProgramStringNV, NULL, 701), - NAME_FUNC_OFFSET(11922, glGetProgramivNV, glGetProgramivNV, NULL, 702), - NAME_FUNC_OFFSET(11939, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 703), - NAME_FUNC_OFFSET(11960, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 704), - NAME_FUNC_OFFSET(11988, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 705), - NAME_FUNC_OFFSET(12010, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 706), - NAME_FUNC_OFFSET(12032, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 707), - NAME_FUNC_OFFSET(12054, glIsProgramNV, glIsProgramNV, NULL, 708), - NAME_FUNC_OFFSET(12068, glLoadProgramNV, glLoadProgramNV, NULL, 709), - NAME_FUNC_OFFSET(12084, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 710), - NAME_FUNC_OFFSET(12109, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 711), - NAME_FUNC_OFFSET(12134, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 712), - NAME_FUNC_OFFSET(12162, glTrackMatrixNV, glTrackMatrixNV, NULL, 713), - NAME_FUNC_OFFSET(12178, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 714), - NAME_FUNC_OFFSET(12197, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 715), - NAME_FUNC_OFFSET(12217, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 716), - NAME_FUNC_OFFSET(12236, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 717), - NAME_FUNC_OFFSET(12256, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 718), - NAME_FUNC_OFFSET(12275, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 719), - NAME_FUNC_OFFSET(12295, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 720), - NAME_FUNC_OFFSET(12314, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 721), - NAME_FUNC_OFFSET(12334, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 722), - NAME_FUNC_OFFSET(12353, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 723), - NAME_FUNC_OFFSET(12373, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 724), - NAME_FUNC_OFFSET(12392, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 725), - NAME_FUNC_OFFSET(12412, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 726), - NAME_FUNC_OFFSET(12431, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 727), - NAME_FUNC_OFFSET(12451, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 728), - NAME_FUNC_OFFSET(12470, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 729), - NAME_FUNC_OFFSET(12490, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 730), - NAME_FUNC_OFFSET(12509, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 731), - NAME_FUNC_OFFSET(12529, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 732), - NAME_FUNC_OFFSET(12548, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 733), - NAME_FUNC_OFFSET(12568, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 734), - NAME_FUNC_OFFSET(12587, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 735), - NAME_FUNC_OFFSET(12607, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 736), - NAME_FUNC_OFFSET(12626, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 737), - NAME_FUNC_OFFSET(12646, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 738), - NAME_FUNC_OFFSET(12666, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 739), - NAME_FUNC_OFFSET(12687, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 740), - NAME_FUNC_OFFSET(12711, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 741), - NAME_FUNC_OFFSET(12732, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 742), - NAME_FUNC_OFFSET(12753, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 743), - NAME_FUNC_OFFSET(12774, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 744), - NAME_FUNC_OFFSET(12795, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 745), - NAME_FUNC_OFFSET(12816, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 746), - NAME_FUNC_OFFSET(12837, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 747), - NAME_FUNC_OFFSET(12858, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 748), - NAME_FUNC_OFFSET(12879, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 749), - NAME_FUNC_OFFSET(12900, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 750), - NAME_FUNC_OFFSET(12921, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 751), - NAME_FUNC_OFFSET(12942, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 752), - NAME_FUNC_OFFSET(12963, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 753), - NAME_FUNC_OFFSET(12985, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 754), - NAME_FUNC_OFFSET(13012, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 755), - NAME_FUNC_OFFSET(13039, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 756), - NAME_FUNC_OFFSET(13063, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 757), - NAME_FUNC_OFFSET(13087, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 758), - NAME_FUNC_OFFSET(13109, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 759), - NAME_FUNC_OFFSET(13131, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 760), - NAME_FUNC_OFFSET(13153, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 761), - NAME_FUNC_OFFSET(13178, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 762), - NAME_FUNC_OFFSET(13202, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 763), - NAME_FUNC_OFFSET(13224, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 764), - NAME_FUNC_OFFSET(13246, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 765), - NAME_FUNC_OFFSET(13268, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 766), - NAME_FUNC_OFFSET(13294, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 767), - NAME_FUNC_OFFSET(13317, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 768), - NAME_FUNC_OFFSET(13341, glPassTexCoordATI, glPassTexCoordATI, NULL, 769), - NAME_FUNC_OFFSET(13359, glSampleMapATI, glSampleMapATI, NULL, 770), - NAME_FUNC_OFFSET(13374, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 771), - NAME_FUNC_OFFSET(13405, glPointParameteriNV, glPointParameteriNV, NULL, 772), - NAME_FUNC_OFFSET(13425, glPointParameterivNV, glPointParameterivNV, NULL, 773), - NAME_FUNC_OFFSET(13446, gl_dispatch_stub_774, gl_dispatch_stub_774, NULL, 774), - NAME_FUNC_OFFSET(13469, gl_dispatch_stub_775, gl_dispatch_stub_775, NULL, 775), - NAME_FUNC_OFFSET(13492, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, 776), - NAME_FUNC_OFFSET(13518, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, 777), - NAME_FUNC_OFFSET(13541, gl_dispatch_stub_778, gl_dispatch_stub_778, NULL, 778), - NAME_FUNC_OFFSET(13562, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 779), - NAME_FUNC_OFFSET(13593, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 780), - NAME_FUNC_OFFSET(13624, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 781), - NAME_FUNC_OFFSET(13652, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 782), - NAME_FUNC_OFFSET(13681, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 783), - NAME_FUNC_OFFSET(13709, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 784), - NAME_FUNC_OFFSET(13738, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 785), - NAME_FUNC_OFFSET(13764, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 786), - NAME_FUNC_OFFSET(13785, gl_dispatch_stub_787, gl_dispatch_stub_787, NULL, 787), - NAME_FUNC_OFFSET(13802, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, 788), - NAME_FUNC_OFFSET(13829, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 789), - NAME_FUNC_OFFSET(13850, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 790), - NAME_FUNC_OFFSET(13872, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 791), - NAME_FUNC_OFFSET(13900, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 792), - NAME_FUNC_OFFSET(13924, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 793), - NAME_FUNC_OFFSET(13949, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 794), - NAME_FUNC_OFFSET(13978, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 795), - NAME_FUNC_OFFSET(14004, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 796), - NAME_FUNC_OFFSET(14030, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 797), - NAME_FUNC_OFFSET(14056, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 798), - NAME_FUNC_OFFSET(14077, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 799), - NAME_FUNC_OFFSET(14099, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 800), - NAME_FUNC_OFFSET(14119, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 801), - NAME_FUNC_OFFSET(14160, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 802), - NAME_FUNC_OFFSET(14192, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 803), - NAME_FUNC_OFFSET(14211, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 804), - NAME_FUNC_OFFSET(14231, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 805), - NAME_FUNC_OFFSET(14256, gl_dispatch_stub_806, gl_dispatch_stub_806, NULL, 806), - NAME_FUNC_OFFSET(14277, gl_dispatch_stub_807, gl_dispatch_stub_807, NULL, 807), - NAME_FUNC_OFFSET(14301, gl_dispatch_stub_808, gl_dispatch_stub_808, NULL, 808), - NAME_FUNC_OFFSET(14331, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 809), - NAME_FUNC_OFFSET(14357, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 810), - NAME_FUNC_OFFSET(14382, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 811), - NAME_FUNC_OFFSET(14401, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 812), - NAME_FUNC_OFFSET(14425, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 813), - NAME_FUNC_OFFSET(14450, glUniform1uiEXT, glUniform1uiEXT, NULL, 814), - NAME_FUNC_OFFSET(14466, glUniform1uivEXT, glUniform1uivEXT, NULL, 815), - NAME_FUNC_OFFSET(14483, glUniform2uiEXT, glUniform2uiEXT, NULL, 816), - NAME_FUNC_OFFSET(14499, glUniform2uivEXT, glUniform2uivEXT, NULL, 817), - NAME_FUNC_OFFSET(14516, glUniform3uiEXT, glUniform3uiEXT, NULL, 818), - NAME_FUNC_OFFSET(14532, glUniform3uivEXT, glUniform3uivEXT, NULL, 819), - NAME_FUNC_OFFSET(14549, glUniform4uiEXT, glUniform4uiEXT, NULL, 820), - NAME_FUNC_OFFSET(14565, glUniform4uivEXT, glUniform4uivEXT, NULL, 821), - NAME_FUNC_OFFSET(14582, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 822), - NAME_FUNC_OFFSET(14603, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 823), - NAME_FUNC_OFFSET(14625, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 824), - NAME_FUNC_OFFSET(14647, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 825), - NAME_FUNC_OFFSET(14670, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 826), - NAME_FUNC_OFFSET(14691, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 827), - NAME_FUNC_OFFSET(14713, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 828), - NAME_FUNC_OFFSET(14735, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 829), - NAME_FUNC_OFFSET(14758, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 830), - NAME_FUNC_OFFSET(14779, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 831), - NAME_FUNC_OFFSET(14801, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 832), - NAME_FUNC_OFFSET(14823, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 833), - NAME_FUNC_OFFSET(14846, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 834), - NAME_FUNC_OFFSET(14868, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 835), - NAME_FUNC_OFFSET(14889, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 836), - NAME_FUNC_OFFSET(14911, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 837), - NAME_FUNC_OFFSET(14933, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 838), - NAME_FUNC_OFFSET(14956, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 839), - NAME_FUNC_OFFSET(14978, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 840), - NAME_FUNC_OFFSET(15001, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 841), - NAME_FUNC_OFFSET(15024, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 842), - NAME_FUNC_OFFSET(15050, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 843), - NAME_FUNC_OFFSET(15079, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 844), - NAME_FUNC_OFFSET(15101, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 845), - NAME_FUNC_OFFSET(15121, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 846), - NAME_FUNC_OFFSET(15140, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 847), - NAME_FUNC_OFFSET(15164, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 848), - NAME_FUNC_OFFSET(15188, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 849), - NAME_FUNC_OFFSET(15210, glClearColorIiEXT, glClearColorIiEXT, NULL, 850), - NAME_FUNC_OFFSET(15228, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 851), - NAME_FUNC_OFFSET(15247, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 852), - NAME_FUNC_OFFSET(15271, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 853), - NAME_FUNC_OFFSET(15296, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 854), - NAME_FUNC_OFFSET(15317, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 855), - NAME_FUNC_OFFSET(15339, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 856), - NAME_FUNC_OFFSET(15366, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 857), - NAME_FUNC_OFFSET(15391, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 858), - NAME_FUNC_OFFSET(15419, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 859), - NAME_FUNC_OFFSET(15439, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 860), - NAME_FUNC_OFFSET(15461, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 861), - NAME_FUNC_OFFSET(15482, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 862), - NAME_FUNC_OFFSET(15508, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 863), - NAME_FUNC_OFFSET(15541, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 864), - NAME_FUNC_OFFSET(15572, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 865), - NAME_FUNC_OFFSET(15593, gl_dispatch_stub_866, gl_dispatch_stub_866, NULL, 866), - NAME_FUNC_OFFSET(15624, gl_dispatch_stub_867, gl_dispatch_stub_867, NULL, 867), - NAME_FUNC_OFFSET(15644, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 868), - NAME_FUNC_OFFSET(15672, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 869), - NAME_FUNC_OFFSET(15695, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 870), - NAME_FUNC_OFFSET(15720, glActiveProgramEXT, glActiveProgramEXT, NULL, 871), - NAME_FUNC_OFFSET(15739, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 872), - NAME_FUNC_OFFSET(15764, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 873), - NAME_FUNC_OFFSET(15786, gl_dispatch_stub_874, gl_dispatch_stub_874, NULL, 874), - NAME_FUNC_OFFSET(15811, gl_dispatch_stub_875, gl_dispatch_stub_875, NULL, 875), - NAME_FUNC_OFFSET(15840, gl_dispatch_stub_876, gl_dispatch_stub_876, NULL, 876), - NAME_FUNC_OFFSET(15871, gl_dispatch_stub_877, gl_dispatch_stub_877, NULL, 877), - NAME_FUNC_OFFSET(15895, gl_dispatch_stub_878, gl_dispatch_stub_878, NULL, 878), - NAME_FUNC_OFFSET(15920, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 879), - NAME_FUNC_OFFSET(15959, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 880), - NAME_FUNC_OFFSET(15988, glArrayElement, glArrayElement, NULL, 306), - NAME_FUNC_OFFSET(16006, glBindTexture, glBindTexture, NULL, 307), - NAME_FUNC_OFFSET(16023, glDrawArrays, glDrawArrays, NULL, 310), - NAME_FUNC_OFFSET(16039, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322), - NAME_FUNC_OFFSET(16064, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), - NAME_FUNC_OFFSET(16084, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), - NAME_FUNC_OFFSET(16104, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), - NAME_FUNC_OFFSET(16127, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), - NAME_FUNC_OFFSET(16150, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327), - NAME_FUNC_OFFSET(16170, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328), - NAME_FUNC_OFFSET(16187, glGetPointerv, glGetPointerv, NULL, 329), - NAME_FUNC_OFFSET(16204, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), - NAME_FUNC_OFFSET(16219, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), - NAME_FUNC_OFFSET(16243, glTexSubImage1D, glTexSubImage1D, NULL, 332), - NAME_FUNC_OFFSET(16262, glTexSubImage2D, glTexSubImage2D, NULL, 333), - NAME_FUNC_OFFSET(16281, glBlendColor, glBlendColor, NULL, 336), - NAME_FUNC_OFFSET(16297, glBlendEquation, glBlendEquation, NULL, 337), - NAME_FUNC_OFFSET(16316, glDrawRangeElements, glDrawRangeElements, NULL, 338), - NAME_FUNC_OFFSET(16339, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(16355, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(16371, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), - NAME_FUNC_OFFSET(16398, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), - NAME_FUNC_OFFSET(16425, glCopyColorTable, glCopyColorTable, NULL, 342), - NAME_FUNC_OFFSET(16445, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(16464, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(16483, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(16513, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(16543, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(16573, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(16603, glColorSubTable, glColorSubTable, NULL, 346), - NAME_FUNC_OFFSET(16622, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), - NAME_FUNC_OFFSET(16645, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), - NAME_FUNC_OFFSET(16670, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), - NAME_FUNC_OFFSET(16695, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), - NAME_FUNC_OFFSET(16722, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), - NAME_FUNC_OFFSET(16750, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), - NAME_FUNC_OFFSET(16777, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), - NAME_FUNC_OFFSET(16805, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), - NAME_FUNC_OFFSET(16834, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), - NAME_FUNC_OFFSET(16863, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356), - NAME_FUNC_OFFSET(16889, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357), - NAME_FUNC_OFFSET(16920, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358), - NAME_FUNC_OFFSET(16951, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359), - NAME_FUNC_OFFSET(16975, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), - NAME_FUNC_OFFSET(16998, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361), - NAME_FUNC_OFFSET(17016, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362), - NAME_FUNC_OFFSET(17045, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363), - NAME_FUNC_OFFSET(17074, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364), - NAME_FUNC_OFFSET(17089, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365), - NAME_FUNC_OFFSET(17115, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366), - NAME_FUNC_OFFSET(17141, glHistogram, glHistogram, NULL, 367), - NAME_FUNC_OFFSET(17156, glMinmax, glMinmax, NULL, 368), - NAME_FUNC_OFFSET(17168, glResetHistogram, glResetHistogram, NULL, 369), - NAME_FUNC_OFFSET(17188, glResetMinmax, glResetMinmax, NULL, 370), - NAME_FUNC_OFFSET(17205, glTexImage3D, glTexImage3D, NULL, 371), - NAME_FUNC_OFFSET(17221, glTexSubImage3D, glTexSubImage3D, NULL, 372), - NAME_FUNC_OFFSET(17240, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), - NAME_FUNC_OFFSET(17263, glActiveTextureARB, glActiveTextureARB, NULL, 374), - NAME_FUNC_OFFSET(17279, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), - NAME_FUNC_OFFSET(17301, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), - NAME_FUNC_OFFSET(17319, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), - NAME_FUNC_OFFSET(17338, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), - NAME_FUNC_OFFSET(17356, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), - NAME_FUNC_OFFSET(17375, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), - NAME_FUNC_OFFSET(17393, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), - NAME_FUNC_OFFSET(17412, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), - NAME_FUNC_OFFSET(17430, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), - NAME_FUNC_OFFSET(17449, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), - NAME_FUNC_OFFSET(17467, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), - NAME_FUNC_OFFSET(17486, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), - NAME_FUNC_OFFSET(17504, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), - NAME_FUNC_OFFSET(17523, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), - NAME_FUNC_OFFSET(17541, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), - NAME_FUNC_OFFSET(17560, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), - NAME_FUNC_OFFSET(17578, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), - NAME_FUNC_OFFSET(17597, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), - NAME_FUNC_OFFSET(17615, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), - NAME_FUNC_OFFSET(17634, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), - NAME_FUNC_OFFSET(17652, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), - NAME_FUNC_OFFSET(17671, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), - NAME_FUNC_OFFSET(17689, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), - NAME_FUNC_OFFSET(17708, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), - NAME_FUNC_OFFSET(17726, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), - NAME_FUNC_OFFSET(17745, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), - NAME_FUNC_OFFSET(17763, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), - NAME_FUNC_OFFSET(17782, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), - NAME_FUNC_OFFSET(17800, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), - NAME_FUNC_OFFSET(17819, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), - NAME_FUNC_OFFSET(17837, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), - NAME_FUNC_OFFSET(17856, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), - NAME_FUNC_OFFSET(17874, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), - NAME_FUNC_OFFSET(17893, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), - NAME_FUNC_OFFSET(17916, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 441), - NAME_FUNC_OFFSET(17939, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 442), - NAME_FUNC_OFFSET(17962, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 443), - NAME_FUNC_OFFSET(17985, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 444), - NAME_FUNC_OFFSET(18008, glSampleCoverageARB, glSampleCoverageARB, NULL, 445), - NAME_FUNC_OFFSET(18025, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 446), - NAME_FUNC_OFFSET(18048, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 447), - NAME_FUNC_OFFSET(18071, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 448), - NAME_FUNC_OFFSET(18094, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 449), - NAME_FUNC_OFFSET(18120, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 450), - NAME_FUNC_OFFSET(18146, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 451), - NAME_FUNC_OFFSET(18172, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 452), - NAME_FUNC_OFFSET(18196, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 453), - NAME_FUNC_OFFSET(18223, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 454), - NAME_FUNC_OFFSET(18249, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 461), - NAME_FUNC_OFFSET(18269, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 462), - NAME_FUNC_OFFSET(18289, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 463), - NAME_FUNC_OFFSET(18309, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 464), - NAME_FUNC_OFFSET(18332, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 465), - NAME_FUNC_OFFSET(18356, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 466), - NAME_FUNC_OFFSET(18379, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 467), - NAME_FUNC_OFFSET(18403, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 473), - NAME_FUNC_OFFSET(18420, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 474), - NAME_FUNC_OFFSET(18438, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 475), - NAME_FUNC_OFFSET(18455, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 476), - NAME_FUNC_OFFSET(18473, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 477), - NAME_FUNC_OFFSET(18490, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 478), - NAME_FUNC_OFFSET(18508, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 479), - NAME_FUNC_OFFSET(18525, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 480), - NAME_FUNC_OFFSET(18543, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 481), - NAME_FUNC_OFFSET(18560, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 482), - NAME_FUNC_OFFSET(18578, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 483), - NAME_FUNC_OFFSET(18595, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 484), - NAME_FUNC_OFFSET(18613, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 485), - NAME_FUNC_OFFSET(18630, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 486), - NAME_FUNC_OFFSET(18648, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 487), - NAME_FUNC_OFFSET(18665, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 488), - NAME_FUNC_OFFSET(18683, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 489), - NAME_FUNC_OFFSET(18700, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 490), - NAME_FUNC_OFFSET(18718, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 491), - NAME_FUNC_OFFSET(18737, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 492), - NAME_FUNC_OFFSET(18756, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 493), - NAME_FUNC_OFFSET(18775, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 494), - NAME_FUNC_OFFSET(18794, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 495), - NAME_FUNC_OFFSET(18814, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 496), - NAME_FUNC_OFFSET(18834, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 497), - NAME_FUNC_OFFSET(18854, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 498), - NAME_FUNC_OFFSET(18872, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 499), - NAME_FUNC_OFFSET(18889, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 500), - NAME_FUNC_OFFSET(18907, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 501), - NAME_FUNC_OFFSET(18924, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 502), - NAME_FUNC_OFFSET(18942, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 503), - NAME_FUNC_OFFSET(18960, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 504), - NAME_FUNC_OFFSET(18977, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 505), - NAME_FUNC_OFFSET(18995, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 506), - NAME_FUNC_OFFSET(19014, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 507), - NAME_FUNC_OFFSET(19033, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 508), - NAME_FUNC_OFFSET(19052, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 509), - NAME_FUNC_OFFSET(19074, glBindBufferARB, glBindBufferARB, NULL, 510), - NAME_FUNC_OFFSET(19087, glBufferDataARB, glBufferDataARB, NULL, 511), - NAME_FUNC_OFFSET(19100, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), - NAME_FUNC_OFFSET(19116, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), - NAME_FUNC_OFFSET(19132, glGenBuffersARB, glGenBuffersARB, NULL, 514), - NAME_FUNC_OFFSET(19145, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 515), - NAME_FUNC_OFFSET(19168, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 516), - NAME_FUNC_OFFSET(19188, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 517), - NAME_FUNC_OFFSET(19207, glIsBufferARB, glIsBufferARB, NULL, 518), - NAME_FUNC_OFFSET(19218, glMapBufferARB, glMapBufferARB, NULL, 519), - NAME_FUNC_OFFSET(19230, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), - NAME_FUNC_OFFSET(19244, glBeginQueryARB, glBeginQueryARB, NULL, 521), - NAME_FUNC_OFFSET(19257, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), - NAME_FUNC_OFFSET(19273, glEndQueryARB, glEndQueryARB, NULL, 523), - NAME_FUNC_OFFSET(19284, glGenQueriesARB, glGenQueriesARB, NULL, 524), - NAME_FUNC_OFFSET(19297, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 525), - NAME_FUNC_OFFSET(19316, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 526), - NAME_FUNC_OFFSET(19336, glGetQueryivARB, glGetQueryivARB, NULL, 527), - NAME_FUNC_OFFSET(19349, glIsQueryARB, glIsQueryARB, NULL, 528), - NAME_FUNC_OFFSET(19359, glCompileShaderARB, glCompileShaderARB, NULL, 530), - NAME_FUNC_OFFSET(19375, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 535), - NAME_FUNC_OFFSET(19394, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 541), - NAME_FUNC_OFFSET(19412, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 542), - NAME_FUNC_OFFSET(19433, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), - NAME_FUNC_OFFSET(19448, glGetUniformivARB, glGetUniformivARB, NULL, 544), - NAME_FUNC_OFFSET(19463, glLinkProgramARB, glLinkProgramARB, NULL, 545), - NAME_FUNC_OFFSET(19477, glShaderSourceARB, glShaderSourceARB, NULL, 546), - NAME_FUNC_OFFSET(19492, glUniform1fARB, glUniform1fARB, NULL, 547), - NAME_FUNC_OFFSET(19504, glUniform1fvARB, glUniform1fvARB, NULL, 548), - NAME_FUNC_OFFSET(19517, glUniform1iARB, glUniform1iARB, NULL, 549), - NAME_FUNC_OFFSET(19529, glUniform1ivARB, glUniform1ivARB, NULL, 550), - NAME_FUNC_OFFSET(19542, glUniform2fARB, glUniform2fARB, NULL, 551), - NAME_FUNC_OFFSET(19554, glUniform2fvARB, glUniform2fvARB, NULL, 552), - NAME_FUNC_OFFSET(19567, glUniform2iARB, glUniform2iARB, NULL, 553), - NAME_FUNC_OFFSET(19579, glUniform2ivARB, glUniform2ivARB, NULL, 554), - NAME_FUNC_OFFSET(19592, glUniform3fARB, glUniform3fARB, NULL, 555), - NAME_FUNC_OFFSET(19604, glUniform3fvARB, glUniform3fvARB, NULL, 556), - NAME_FUNC_OFFSET(19617, glUniform3iARB, glUniform3iARB, NULL, 557), - NAME_FUNC_OFFSET(19629, glUniform3ivARB, glUniform3ivARB, NULL, 558), - NAME_FUNC_OFFSET(19642, glUniform4fARB, glUniform4fARB, NULL, 559), - NAME_FUNC_OFFSET(19654, glUniform4fvARB, glUniform4fvARB, NULL, 560), - NAME_FUNC_OFFSET(19667, glUniform4iARB, glUniform4iARB, NULL, 561), - NAME_FUNC_OFFSET(19679, glUniform4ivARB, glUniform4ivARB, NULL, 562), - NAME_FUNC_OFFSET(19692, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 563), - NAME_FUNC_OFFSET(19711, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 564), - NAME_FUNC_OFFSET(19730, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 565), - NAME_FUNC_OFFSET(19749, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 566), - NAME_FUNC_OFFSET(19762, glValidateProgramARB, glValidateProgramARB, NULL, 567), - NAME_FUNC_OFFSET(19780, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 568), - NAME_FUNC_OFFSET(19801, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 569), - NAME_FUNC_OFFSET(19819, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 570), - NAME_FUNC_OFFSET(19839, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(19853, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(19870, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572), - NAME_FUNC_OFFSET(19895, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572), - NAME_FUNC_OFFSET(19917, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573), - NAME_FUNC_OFFSET(19944, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573), - NAME_FUNC_OFFSET(19968, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 574), - NAME_FUNC_OFFSET(20004, gl_dispatch_stub_607, gl_dispatch_stub_607, NULL, 607), - NAME_FUNC_OFFSET(20020, gl_dispatch_stub_608, gl_dispatch_stub_608, NULL, 608), - NAME_FUNC_OFFSET(20039, glPointParameterfEXT, glPointParameterfEXT, NULL, 615), - NAME_FUNC_OFFSET(20057, glPointParameterfEXT, glPointParameterfEXT, NULL, 615), - NAME_FUNC_OFFSET(20078, glPointParameterfEXT, glPointParameterfEXT, NULL, 615), - NAME_FUNC_OFFSET(20100, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 616), - NAME_FUNC_OFFSET(20119, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 616), - NAME_FUNC_OFFSET(20141, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 616), - NAME_FUNC_OFFSET(20164, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 619), - NAME_FUNC_OFFSET(20183, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 620), - NAME_FUNC_OFFSET(20203, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 621), - NAME_FUNC_OFFSET(20222, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 622), - NAME_FUNC_OFFSET(20242, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 623), - NAME_FUNC_OFFSET(20261, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 624), - NAME_FUNC_OFFSET(20281, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 625), - NAME_FUNC_OFFSET(20300, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 626), - NAME_FUNC_OFFSET(20320, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 627), - NAME_FUNC_OFFSET(20339, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 628), - NAME_FUNC_OFFSET(20359, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 629), - NAME_FUNC_OFFSET(20379, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 630), - NAME_FUNC_OFFSET(20400, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 631), - NAME_FUNC_OFFSET(20420, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 632), - NAME_FUNC_OFFSET(20441, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 633), - NAME_FUNC_OFFSET(20461, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 634), - NAME_FUNC_OFFSET(20482, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 635), - NAME_FUNC_OFFSET(20506, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 636), - NAME_FUNC_OFFSET(20524, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 637), - NAME_FUNC_OFFSET(20544, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 638), - NAME_FUNC_OFFSET(20562, glFogCoorddEXT, glFogCoorddEXT, NULL, 639), - NAME_FUNC_OFFSET(20574, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 640), - NAME_FUNC_OFFSET(20587, glFogCoordfEXT, glFogCoordfEXT, NULL, 641), - NAME_FUNC_OFFSET(20599, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 642), - NAME_FUNC_OFFSET(20612, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 644), - NAME_FUNC_OFFSET(20632, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 644), - NAME_FUNC_OFFSET(20656, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 661), - NAME_FUNC_OFFSET(20670, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 661), - NAME_FUNC_OFFSET(20687, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 662), - NAME_FUNC_OFFSET(20702, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 662), - NAME_FUNC_OFFSET(20720, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 663), - NAME_FUNC_OFFSET(20734, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 663), - NAME_FUNC_OFFSET(20751, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 664), - NAME_FUNC_OFFSET(20766, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 664), - NAME_FUNC_OFFSET(20784, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 665), - NAME_FUNC_OFFSET(20798, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 665), - NAME_FUNC_OFFSET(20815, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 666), - NAME_FUNC_OFFSET(20830, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 666), - NAME_FUNC_OFFSET(20848, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 667), - NAME_FUNC_OFFSET(20862, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 667), - NAME_FUNC_OFFSET(20879, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 668), - NAME_FUNC_OFFSET(20894, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 668), - NAME_FUNC_OFFSET(20912, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 669), - NAME_FUNC_OFFSET(20926, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 669), - NAME_FUNC_OFFSET(20943, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 670), - NAME_FUNC_OFFSET(20958, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 670), - NAME_FUNC_OFFSET(20976, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 671), - NAME_FUNC_OFFSET(20990, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 671), - NAME_FUNC_OFFSET(21007, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 672), - NAME_FUNC_OFFSET(21022, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 672), - NAME_FUNC_OFFSET(21040, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 673), - NAME_FUNC_OFFSET(21054, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 673), - NAME_FUNC_OFFSET(21071, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 674), - NAME_FUNC_OFFSET(21086, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 674), - NAME_FUNC_OFFSET(21104, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 675), - NAME_FUNC_OFFSET(21118, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 675), - NAME_FUNC_OFFSET(21135, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 676), - NAME_FUNC_OFFSET(21150, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 676), - NAME_FUNC_OFFSET(21168, glBindProgramNV, glBindProgramNV, NULL, 695), - NAME_FUNC_OFFSET(21185, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 696), - NAME_FUNC_OFFSET(21205, glGenProgramsNV, glGenProgramsNV, NULL, 698), - NAME_FUNC_OFFSET(21222, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 704), - NAME_FUNC_OFFSET(21248, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 704), - NAME_FUNC_OFFSET(21277, glIsProgramNV, glIsProgramNV, NULL, 708), - NAME_FUNC_OFFSET(21292, glPointParameteriNV, glPointParameteriNV, NULL, 772), - NAME_FUNC_OFFSET(21310, glPointParameterivNV, glPointParameterivNV, NULL, 773), - NAME_FUNC_OFFSET(21329, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, 776), - NAME_FUNC_OFFSET(21350, gl_dispatch_stub_778, gl_dispatch_stub_778, NULL, 778), - NAME_FUNC_OFFSET(21366, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 785), - NAME_FUNC_OFFSET(21390, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, 788), - NAME_FUNC_OFFSET(21414, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, 788), - NAME_FUNC_OFFSET(21441, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 789), - NAME_FUNC_OFFSET(21459, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 790), - NAME_FUNC_OFFSET(21478, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 791), - NAME_FUNC_OFFSET(21503, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 792), - NAME_FUNC_OFFSET(21524, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 793), - NAME_FUNC_OFFSET(21546, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 794), - NAME_FUNC_OFFSET(21572, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 795), - NAME_FUNC_OFFSET(21595, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 796), - NAME_FUNC_OFFSET(21618, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 797), - NAME_FUNC_OFFSET(21641, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 798), - NAME_FUNC_OFFSET(21659, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 799), - NAME_FUNC_OFFSET(21678, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 800), - NAME_FUNC_OFFSET(21695, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 801), - NAME_FUNC_OFFSET(21733, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 802), - NAME_FUNC_OFFSET(21762, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 803), - NAME_FUNC_OFFSET(21778, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 804), - NAME_FUNC_OFFSET(21795, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 805), - NAME_FUNC_OFFSET(21817, gl_dispatch_stub_806, gl_dispatch_stub_806, NULL, 806), - NAME_FUNC_OFFSET(21835, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 809), - NAME_FUNC_OFFSET(21858, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 810), - NAME_FUNC_OFFSET(21880, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 811), - NAME_FUNC_OFFSET(21896, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 812), - NAME_FUNC_OFFSET(21917, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 813), - NAME_FUNC_OFFSET(21939, glUniform1uiEXT, glUniform1uiEXT, NULL, 814), - NAME_FUNC_OFFSET(21952, glUniform1uivEXT, glUniform1uivEXT, NULL, 815), - NAME_FUNC_OFFSET(21966, glUniform2uiEXT, glUniform2uiEXT, NULL, 816), - NAME_FUNC_OFFSET(21979, glUniform2uivEXT, glUniform2uivEXT, NULL, 817), - NAME_FUNC_OFFSET(21993, glUniform3uiEXT, glUniform3uiEXT, NULL, 818), - NAME_FUNC_OFFSET(22006, glUniform3uivEXT, glUniform3uivEXT, NULL, 819), - NAME_FUNC_OFFSET(22020, glUniform4uiEXT, glUniform4uiEXT, NULL, 820), - NAME_FUNC_OFFSET(22033, glUniform4uivEXT, glUniform4uivEXT, NULL, 821), - NAME_FUNC_OFFSET(22047, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 822), - NAME_FUNC_OFFSET(22065, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 823), - NAME_FUNC_OFFSET(22084, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 824), - NAME_FUNC_OFFSET(22103, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 825), - NAME_FUNC_OFFSET(22123, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 826), - NAME_FUNC_OFFSET(22141, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 827), - NAME_FUNC_OFFSET(22160, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 828), - NAME_FUNC_OFFSET(22179, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 829), - NAME_FUNC_OFFSET(22199, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 830), - NAME_FUNC_OFFSET(22217, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 831), - NAME_FUNC_OFFSET(22236, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 832), - NAME_FUNC_OFFSET(22255, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 833), - NAME_FUNC_OFFSET(22275, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 834), - NAME_FUNC_OFFSET(22294, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 835), - NAME_FUNC_OFFSET(22312, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 836), - NAME_FUNC_OFFSET(22331, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 837), - NAME_FUNC_OFFSET(22350, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 838), - NAME_FUNC_OFFSET(22370, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 839), - NAME_FUNC_OFFSET(22389, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 840), - NAME_FUNC_OFFSET(22409, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 841), - NAME_FUNC_OFFSET(22429, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 842), - NAME_FUNC_OFFSET(22452, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 843), - NAME_FUNC_OFFSET(22478, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 844), - NAME_FUNC_OFFSET(22491, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 845), - NAME_FUNC_OFFSET(22502, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 846), - NAME_FUNC_OFFSET(22512, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 847), - NAME_FUNC_OFFSET(22528, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 848), - NAME_FUNC_OFFSET(22544, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 849), - NAME_FUNC_OFFSET(22557, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 852), - NAME_FUNC_OFFSET(22578, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 853), - NAME_FUNC_OFFSET(22600, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 854), - NAME_FUNC_OFFSET(22618, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 855), - NAME_FUNC_OFFSET(22637, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 856), - NAME_FUNC_OFFSET(22662, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 857), - NAME_FUNC_OFFSET(22685, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 858), - NAME_FUNC_OFFSET(22710, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 859), - NAME_FUNC_OFFSET(22727, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 861), - NAME_FUNC_OFFSET(22745, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 862), - NAME_FUNC_OFFSET(22768, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 863), - NAME_FUNC_OFFSET(22798, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 864), - NAME_FUNC_OFFSET(22826, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 865), + NAME_FUNC_OFFSET( 9300, glVertexAttribDivisorARB, glVertexAttribDivisorARB, NULL, 578), + NAME_FUNC_OFFSET( 9325, glFlushMappedBufferRange, glFlushMappedBufferRange, NULL, 579), + NAME_FUNC_OFFSET( 9350, glMapBufferRange, glMapBufferRange, NULL, 580), + NAME_FUNC_OFFSET( 9367, glBindVertexArray, glBindVertexArray, NULL, 581), + NAME_FUNC_OFFSET( 9385, glGenVertexArrays, glGenVertexArrays, NULL, 582), + NAME_FUNC_OFFSET( 9403, glCopyBufferSubData, glCopyBufferSubData, NULL, 583), + NAME_FUNC_OFFSET( 9423, glClientWaitSync, glClientWaitSync, NULL, 584), + NAME_FUNC_OFFSET( 9440, glDeleteSync, glDeleteSync, NULL, 585), + NAME_FUNC_OFFSET( 9453, glFenceSync, glFenceSync, NULL, 586), + NAME_FUNC_OFFSET( 9465, glGetInteger64v, glGetInteger64v, NULL, 587), + NAME_FUNC_OFFSET( 9481, glGetSynciv, glGetSynciv, NULL, 588), + NAME_FUNC_OFFSET( 9493, glIsSync, glIsSync, NULL, 589), + NAME_FUNC_OFFSET( 9502, glWaitSync, glWaitSync, NULL, 590), + NAME_FUNC_OFFSET( 9513, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, 591), + NAME_FUNC_OFFSET( 9538, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, 592), + NAME_FUNC_OFFSET( 9568, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, 593), + NAME_FUNC_OFFSET( 9598, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 594), + NAME_FUNC_OFFSET( 9626, glBlendEquationiARB, glBlendEquationiARB, NULL, 595), + NAME_FUNC_OFFSET( 9646, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 596), + NAME_FUNC_OFFSET( 9670, glBlendFunciARB, glBlendFunciARB, NULL, 597), + NAME_FUNC_OFFSET( 9686, glBindTransformFeedback, glBindTransformFeedback, NULL, 598), + NAME_FUNC_OFFSET( 9710, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, 599), + NAME_FUNC_OFFSET( 9737, glDrawTransformFeedback, glDrawTransformFeedback, NULL, 600), + NAME_FUNC_OFFSET( 9761, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, 601), + NAME_FUNC_OFFSET( 9785, glIsTransformFeedback, glIsTransformFeedback, NULL, 602), + NAME_FUNC_OFFSET( 9807, glPauseTransformFeedback, glPauseTransformFeedback, NULL, 603), + NAME_FUNC_OFFSET( 9832, glResumeTransformFeedback, glResumeTransformFeedback, NULL, 604), + NAME_FUNC_OFFSET( 9858, glClearDepthf, glClearDepthf, NULL, 605), + NAME_FUNC_OFFSET( 9872, glDepthRangef, glDepthRangef, NULL, 606), + NAME_FUNC_OFFSET( 9886, glGetShaderPrecisionFormat, glGetShaderPrecisionFormat, NULL, 607), + NAME_FUNC_OFFSET( 9913, glReleaseShaderCompiler, glReleaseShaderCompiler, NULL, 608), + NAME_FUNC_OFFSET( 9937, glShaderBinary, glShaderBinary, NULL, 609), + NAME_FUNC_OFFSET( 9952, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 610), + NAME_FUNC_OFFSET( 9971, gl_dispatch_stub_611, gl_dispatch_stub_611, NULL, 611), + NAME_FUNC_OFFSET(10003, gl_dispatch_stub_612, gl_dispatch_stub_612, NULL, 612), + NAME_FUNC_OFFSET(10035, gl_dispatch_stub_613, gl_dispatch_stub_613, NULL, 613), + NAME_FUNC_OFFSET(10063, gl_dispatch_stub_614, gl_dispatch_stub_614, NULL, 614), + NAME_FUNC_OFFSET(10092, gl_dispatch_stub_615, gl_dispatch_stub_615, NULL, 615), + NAME_FUNC_OFFSET(10120, gl_dispatch_stub_616, gl_dispatch_stub_616, NULL, 616), + NAME_FUNC_OFFSET(10149, gl_dispatch_stub_617, gl_dispatch_stub_617, NULL, 617), + NAME_FUNC_OFFSET(10166, gl_dispatch_stub_618, gl_dispatch_stub_618, NULL, 618), + NAME_FUNC_OFFSET(10186, glColorPointerEXT, glColorPointerEXT, NULL, 619), + NAME_FUNC_OFFSET(10204, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 620), + NAME_FUNC_OFFSET(10225, glIndexPointerEXT, glIndexPointerEXT, NULL, 621), + NAME_FUNC_OFFSET(10243, glNormalPointerEXT, glNormalPointerEXT, NULL, 622), + NAME_FUNC_OFFSET(10262, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 623), + NAME_FUNC_OFFSET(10283, glVertexPointerEXT, glVertexPointerEXT, NULL, 624), + NAME_FUNC_OFFSET(10302, glPointParameterfEXT, glPointParameterfEXT, NULL, 625), + NAME_FUNC_OFFSET(10323, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 626), + NAME_FUNC_OFFSET(10345, glLockArraysEXT, glLockArraysEXT, NULL, 627), + NAME_FUNC_OFFSET(10361, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 628), + NAME_FUNC_OFFSET(10379, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 629), + NAME_FUNC_OFFSET(10401, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 630), + NAME_FUNC_OFFSET(10424, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 631), + NAME_FUNC_OFFSET(10446, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 632), + NAME_FUNC_OFFSET(10469, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 633), + NAME_FUNC_OFFSET(10491, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 634), + NAME_FUNC_OFFSET(10514, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 635), + NAME_FUNC_OFFSET(10536, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 636), + NAME_FUNC_OFFSET(10559, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 637), + NAME_FUNC_OFFSET(10581, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 638), + NAME_FUNC_OFFSET(10604, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 639), + NAME_FUNC_OFFSET(10627, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 640), + NAME_FUNC_OFFSET(10651, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 641), + NAME_FUNC_OFFSET(10674, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 642), + NAME_FUNC_OFFSET(10698, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 643), + NAME_FUNC_OFFSET(10721, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 644), + NAME_FUNC_OFFSET(10745, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 645), + NAME_FUNC_OFFSET(10772, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 646), + NAME_FUNC_OFFSET(10793, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 647), + NAME_FUNC_OFFSET(10816, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 648), + NAME_FUNC_OFFSET(10837, glFogCoorddEXT, glFogCoorddEXT, NULL, 649), + NAME_FUNC_OFFSET(10852, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 650), + NAME_FUNC_OFFSET(10868, glFogCoordfEXT, glFogCoordfEXT, NULL, 651), + NAME_FUNC_OFFSET(10883, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 652), + NAME_FUNC_OFFSET(10899, gl_dispatch_stub_653, gl_dispatch_stub_653, NULL, 653), + NAME_FUNC_OFFSET(10917, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 654), + NAME_FUNC_OFFSET(10940, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, 655), + NAME_FUNC_OFFSET(10966, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, 656), + NAME_FUNC_OFFSET(10987, glCombinerInputNV, glCombinerInputNV, NULL, 657), + NAME_FUNC_OFFSET(11005, glCombinerOutputNV, glCombinerOutputNV, NULL, 658), + NAME_FUNC_OFFSET(11024, glCombinerParameterfNV, glCombinerParameterfNV, NULL, 659), + NAME_FUNC_OFFSET(11047, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, 660), + NAME_FUNC_OFFSET(11071, glCombinerParameteriNV, glCombinerParameteriNV, NULL, 661), + NAME_FUNC_OFFSET(11094, glCombinerParameterivNV, glCombinerParameterivNV, NULL, 662), + NAME_FUNC_OFFSET(11118, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, 663), + NAME_FUNC_OFFSET(11141, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, 664), + NAME_FUNC_OFFSET(11173, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, 665), + NAME_FUNC_OFFSET(11205, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, 666), + NAME_FUNC_OFFSET(11238, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, 667), + NAME_FUNC_OFFSET(11271, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, 668), + NAME_FUNC_OFFSET(11308, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, 669), + NAME_FUNC_OFFSET(11345, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 670), + NAME_FUNC_OFFSET(11365, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 671), + NAME_FUNC_OFFSET(11383, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 672), + NAME_FUNC_OFFSET(11402, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 673), + NAME_FUNC_OFFSET(11420, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 674), + NAME_FUNC_OFFSET(11439, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 675), + NAME_FUNC_OFFSET(11457, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 676), + NAME_FUNC_OFFSET(11476, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 677), + NAME_FUNC_OFFSET(11494, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 678), + NAME_FUNC_OFFSET(11513, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 679), + NAME_FUNC_OFFSET(11531, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 680), + NAME_FUNC_OFFSET(11550, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 681), + NAME_FUNC_OFFSET(11568, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 682), + NAME_FUNC_OFFSET(11587, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 683), + NAME_FUNC_OFFSET(11605, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 684), + NAME_FUNC_OFFSET(11624, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 685), + NAME_FUNC_OFFSET(11642, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 686), + NAME_FUNC_OFFSET(11661, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 687), + NAME_FUNC_OFFSET(11679, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 688), + NAME_FUNC_OFFSET(11698, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 689), + NAME_FUNC_OFFSET(11716, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 690), + NAME_FUNC_OFFSET(11735, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 691), + NAME_FUNC_OFFSET(11753, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 692), + NAME_FUNC_OFFSET(11772, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 693), + NAME_FUNC_OFFSET(11790, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 694), + NAME_FUNC_OFFSET(11809, gl_dispatch_stub_695, gl_dispatch_stub_695, NULL, 695), + NAME_FUNC_OFFSET(11834, gl_dispatch_stub_696, gl_dispatch_stub_696, NULL, 696), + NAME_FUNC_OFFSET(11861, gl_dispatch_stub_697, gl_dispatch_stub_697, NULL, 697), + NAME_FUNC_OFFSET(11878, gl_dispatch_stub_698, gl_dispatch_stub_698, NULL, 698), + NAME_FUNC_OFFSET(11894, gl_dispatch_stub_699, gl_dispatch_stub_699, NULL, 699), + NAME_FUNC_OFFSET(11908, gl_dispatch_stub_700, gl_dispatch_stub_700, NULL, 700), + NAME_FUNC_OFFSET(11923, gl_dispatch_stub_701, gl_dispatch_stub_701, NULL, 701), + NAME_FUNC_OFFSET(11935, gl_dispatch_stub_702, gl_dispatch_stub_702, NULL, 702), + NAME_FUNC_OFFSET(11948, gl_dispatch_stub_703, gl_dispatch_stub_703, NULL, 703), + NAME_FUNC_OFFSET(11962, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 704), + NAME_FUNC_OFFSET(11986, glBindProgramNV, glBindProgramNV, NULL, 705), + NAME_FUNC_OFFSET(12002, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 706), + NAME_FUNC_OFFSET(12021, glExecuteProgramNV, glExecuteProgramNV, NULL, 707), + NAME_FUNC_OFFSET(12040, glGenProgramsNV, glGenProgramsNV, NULL, 708), + NAME_FUNC_OFFSET(12056, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 709), + NAME_FUNC_OFFSET(12082, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 710), + NAME_FUNC_OFFSET(12108, glGetProgramStringNV, glGetProgramStringNV, NULL, 711), + NAME_FUNC_OFFSET(12129, glGetProgramivNV, glGetProgramivNV, NULL, 712), + NAME_FUNC_OFFSET(12146, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 713), + NAME_FUNC_OFFSET(12167, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 714), + NAME_FUNC_OFFSET(12195, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 715), + NAME_FUNC_OFFSET(12217, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 716), + NAME_FUNC_OFFSET(12239, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 717), + NAME_FUNC_OFFSET(12261, glIsProgramNV, glIsProgramNV, NULL, 718), + NAME_FUNC_OFFSET(12275, glLoadProgramNV, glLoadProgramNV, NULL, 719), + NAME_FUNC_OFFSET(12291, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 720), + NAME_FUNC_OFFSET(12316, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 721), + NAME_FUNC_OFFSET(12341, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 722), + NAME_FUNC_OFFSET(12369, glTrackMatrixNV, glTrackMatrixNV, NULL, 723), + NAME_FUNC_OFFSET(12385, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 724), + NAME_FUNC_OFFSET(12404, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 725), + NAME_FUNC_OFFSET(12424, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 726), + NAME_FUNC_OFFSET(12443, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 727), + NAME_FUNC_OFFSET(12463, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 728), + NAME_FUNC_OFFSET(12482, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 729), + NAME_FUNC_OFFSET(12502, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 730), + NAME_FUNC_OFFSET(12521, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 731), + NAME_FUNC_OFFSET(12541, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 732), + NAME_FUNC_OFFSET(12560, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 733), + NAME_FUNC_OFFSET(12580, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 734), + NAME_FUNC_OFFSET(12599, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 735), + NAME_FUNC_OFFSET(12619, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 736), + NAME_FUNC_OFFSET(12638, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 737), + NAME_FUNC_OFFSET(12658, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 738), + NAME_FUNC_OFFSET(12677, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 739), + NAME_FUNC_OFFSET(12697, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 740), + NAME_FUNC_OFFSET(12716, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 741), + NAME_FUNC_OFFSET(12736, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 742), + NAME_FUNC_OFFSET(12755, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 743), + NAME_FUNC_OFFSET(12775, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 744), + NAME_FUNC_OFFSET(12794, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 745), + NAME_FUNC_OFFSET(12814, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 746), + NAME_FUNC_OFFSET(12833, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 747), + NAME_FUNC_OFFSET(12853, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 748), + NAME_FUNC_OFFSET(12873, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 749), + NAME_FUNC_OFFSET(12894, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 750), + NAME_FUNC_OFFSET(12918, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 751), + NAME_FUNC_OFFSET(12939, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 752), + NAME_FUNC_OFFSET(12960, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 753), + NAME_FUNC_OFFSET(12981, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 754), + NAME_FUNC_OFFSET(13002, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 755), + NAME_FUNC_OFFSET(13023, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 756), + NAME_FUNC_OFFSET(13044, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 757), + NAME_FUNC_OFFSET(13065, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 758), + NAME_FUNC_OFFSET(13086, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 759), + NAME_FUNC_OFFSET(13107, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 760), + NAME_FUNC_OFFSET(13128, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 761), + NAME_FUNC_OFFSET(13149, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 762), + NAME_FUNC_OFFSET(13170, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 763), + NAME_FUNC_OFFSET(13192, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 764), + NAME_FUNC_OFFSET(13219, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 765), + NAME_FUNC_OFFSET(13246, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 766), + NAME_FUNC_OFFSET(13270, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 767), + NAME_FUNC_OFFSET(13294, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 768), + NAME_FUNC_OFFSET(13316, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 769), + NAME_FUNC_OFFSET(13338, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 770), + NAME_FUNC_OFFSET(13360, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 771), + NAME_FUNC_OFFSET(13385, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 772), + NAME_FUNC_OFFSET(13409, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 773), + NAME_FUNC_OFFSET(13431, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 774), + NAME_FUNC_OFFSET(13453, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 775), + NAME_FUNC_OFFSET(13475, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 776), + NAME_FUNC_OFFSET(13501, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 777), + NAME_FUNC_OFFSET(13524, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 778), + NAME_FUNC_OFFSET(13548, glPassTexCoordATI, glPassTexCoordATI, NULL, 779), + NAME_FUNC_OFFSET(13566, glSampleMapATI, glSampleMapATI, NULL, 780), + NAME_FUNC_OFFSET(13581, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 781), + NAME_FUNC_OFFSET(13612, glPointParameteriNV, glPointParameteriNV, NULL, 782), + NAME_FUNC_OFFSET(13632, glPointParameterivNV, glPointParameterivNV, NULL, 783), + NAME_FUNC_OFFSET(13653, gl_dispatch_stub_784, gl_dispatch_stub_784, NULL, 784), + NAME_FUNC_OFFSET(13676, gl_dispatch_stub_785, gl_dispatch_stub_785, NULL, 785), + NAME_FUNC_OFFSET(13699, gl_dispatch_stub_786, gl_dispatch_stub_786, NULL, 786), + NAME_FUNC_OFFSET(13725, gl_dispatch_stub_787, gl_dispatch_stub_787, NULL, 787), + NAME_FUNC_OFFSET(13748, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, 788), + NAME_FUNC_OFFSET(13769, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 789), + NAME_FUNC_OFFSET(13800, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 790), + NAME_FUNC_OFFSET(13831, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 791), + NAME_FUNC_OFFSET(13859, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 792), + NAME_FUNC_OFFSET(13888, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 793), + NAME_FUNC_OFFSET(13916, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 794), + NAME_FUNC_OFFSET(13945, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 795), + NAME_FUNC_OFFSET(13971, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 796), + NAME_FUNC_OFFSET(13992, gl_dispatch_stub_797, gl_dispatch_stub_797, NULL, 797), + NAME_FUNC_OFFSET(14009, gl_dispatch_stub_798, gl_dispatch_stub_798, NULL, 798), + NAME_FUNC_OFFSET(14036, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 799), + NAME_FUNC_OFFSET(14057, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 800), + NAME_FUNC_OFFSET(14079, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 801), + NAME_FUNC_OFFSET(14107, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 802), + NAME_FUNC_OFFSET(14131, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 803), + NAME_FUNC_OFFSET(14156, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 804), + NAME_FUNC_OFFSET(14185, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 805), + NAME_FUNC_OFFSET(14211, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 806), + NAME_FUNC_OFFSET(14237, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 807), + NAME_FUNC_OFFSET(14263, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 808), + NAME_FUNC_OFFSET(14284, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 809), + NAME_FUNC_OFFSET(14306, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 810), + NAME_FUNC_OFFSET(14326, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 811), + NAME_FUNC_OFFSET(14367, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 812), + NAME_FUNC_OFFSET(14399, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 813), + NAME_FUNC_OFFSET(14418, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 814), + NAME_FUNC_OFFSET(14438, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 815), + NAME_FUNC_OFFSET(14463, gl_dispatch_stub_816, gl_dispatch_stub_816, NULL, 816), + NAME_FUNC_OFFSET(14484, gl_dispatch_stub_817, gl_dispatch_stub_817, NULL, 817), + NAME_FUNC_OFFSET(14508, gl_dispatch_stub_818, gl_dispatch_stub_818, NULL, 818), + NAME_FUNC_OFFSET(14538, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 819), + NAME_FUNC_OFFSET(14564, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 820), + NAME_FUNC_OFFSET(14589, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 821), + NAME_FUNC_OFFSET(14608, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 822), + NAME_FUNC_OFFSET(14632, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 823), + NAME_FUNC_OFFSET(14657, glUniform1uiEXT, glUniform1uiEXT, NULL, 824), + NAME_FUNC_OFFSET(14673, glUniform1uivEXT, glUniform1uivEXT, NULL, 825), + NAME_FUNC_OFFSET(14690, glUniform2uiEXT, glUniform2uiEXT, NULL, 826), + NAME_FUNC_OFFSET(14706, glUniform2uivEXT, glUniform2uivEXT, NULL, 827), + NAME_FUNC_OFFSET(14723, glUniform3uiEXT, glUniform3uiEXT, NULL, 828), + NAME_FUNC_OFFSET(14739, glUniform3uivEXT, glUniform3uivEXT, NULL, 829), + NAME_FUNC_OFFSET(14756, glUniform4uiEXT, glUniform4uiEXT, NULL, 830), + NAME_FUNC_OFFSET(14772, glUniform4uivEXT, glUniform4uivEXT, NULL, 831), + NAME_FUNC_OFFSET(14789, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 832), + NAME_FUNC_OFFSET(14810, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 833), + NAME_FUNC_OFFSET(14832, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 834), + NAME_FUNC_OFFSET(14854, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 835), + NAME_FUNC_OFFSET(14877, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 836), + NAME_FUNC_OFFSET(14898, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 837), + NAME_FUNC_OFFSET(14920, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 838), + NAME_FUNC_OFFSET(14942, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 839), + NAME_FUNC_OFFSET(14965, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 840), + NAME_FUNC_OFFSET(14986, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 841), + NAME_FUNC_OFFSET(15008, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 842), + NAME_FUNC_OFFSET(15030, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 843), + NAME_FUNC_OFFSET(15053, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 844), + NAME_FUNC_OFFSET(15075, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 845), + NAME_FUNC_OFFSET(15096, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 846), + NAME_FUNC_OFFSET(15118, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 847), + NAME_FUNC_OFFSET(15140, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 848), + NAME_FUNC_OFFSET(15163, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 849), + NAME_FUNC_OFFSET(15185, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 850), + NAME_FUNC_OFFSET(15208, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 851), + NAME_FUNC_OFFSET(15231, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 852), + NAME_FUNC_OFFSET(15257, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 853), + NAME_FUNC_OFFSET(15286, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 854), + NAME_FUNC_OFFSET(15308, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 855), + NAME_FUNC_OFFSET(15328, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 856), + NAME_FUNC_OFFSET(15347, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 857), + NAME_FUNC_OFFSET(15371, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 858), + NAME_FUNC_OFFSET(15395, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 859), + NAME_FUNC_OFFSET(15417, glClearColorIiEXT, glClearColorIiEXT, NULL, 860), + NAME_FUNC_OFFSET(15435, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 861), + NAME_FUNC_OFFSET(15454, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 862), + NAME_FUNC_OFFSET(15478, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 863), + NAME_FUNC_OFFSET(15503, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 864), + NAME_FUNC_OFFSET(15524, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 865), + NAME_FUNC_OFFSET(15546, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 866), + NAME_FUNC_OFFSET(15573, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 867), + NAME_FUNC_OFFSET(15598, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 868), + NAME_FUNC_OFFSET(15626, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 869), + NAME_FUNC_OFFSET(15646, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 870), + NAME_FUNC_OFFSET(15668, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 871), + NAME_FUNC_OFFSET(15689, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 872), + NAME_FUNC_OFFSET(15715, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 873), + NAME_FUNC_OFFSET(15748, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 874), + NAME_FUNC_OFFSET(15779, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 875), + NAME_FUNC_OFFSET(15800, gl_dispatch_stub_876, gl_dispatch_stub_876, NULL, 876), + NAME_FUNC_OFFSET(15831, gl_dispatch_stub_877, gl_dispatch_stub_877, NULL, 877), + NAME_FUNC_OFFSET(15851, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 878), + NAME_FUNC_OFFSET(15879, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 879), + NAME_FUNC_OFFSET(15902, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 880), + NAME_FUNC_OFFSET(15927, glActiveProgramEXT, glActiveProgramEXT, NULL, 881), + NAME_FUNC_OFFSET(15946, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 882), + NAME_FUNC_OFFSET(15971, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 883), + NAME_FUNC_OFFSET(15993, gl_dispatch_stub_884, gl_dispatch_stub_884, NULL, 884), + NAME_FUNC_OFFSET(16018, gl_dispatch_stub_885, gl_dispatch_stub_885, NULL, 885), + NAME_FUNC_OFFSET(16047, gl_dispatch_stub_886, gl_dispatch_stub_886, NULL, 886), + NAME_FUNC_OFFSET(16078, gl_dispatch_stub_887, gl_dispatch_stub_887, NULL, 887), + NAME_FUNC_OFFSET(16102, gl_dispatch_stub_888, gl_dispatch_stub_888, NULL, 888), + NAME_FUNC_OFFSET(16127, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 889), + NAME_FUNC_OFFSET(16166, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 890), + NAME_FUNC_OFFSET(16195, glArrayElement, glArrayElement, NULL, 306), + NAME_FUNC_OFFSET(16213, glBindTexture, glBindTexture, NULL, 307), + NAME_FUNC_OFFSET(16230, glDrawArrays, glDrawArrays, NULL, 310), + NAME_FUNC_OFFSET(16246, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322), + NAME_FUNC_OFFSET(16271, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), + NAME_FUNC_OFFSET(16291, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), + NAME_FUNC_OFFSET(16311, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), + NAME_FUNC_OFFSET(16334, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), + NAME_FUNC_OFFSET(16357, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327), + NAME_FUNC_OFFSET(16377, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328), + NAME_FUNC_OFFSET(16394, glGetPointerv, glGetPointerv, NULL, 329), + NAME_FUNC_OFFSET(16411, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), + NAME_FUNC_OFFSET(16426, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), + NAME_FUNC_OFFSET(16450, glTexSubImage1D, glTexSubImage1D, NULL, 332), + NAME_FUNC_OFFSET(16469, glTexSubImage2D, glTexSubImage2D, NULL, 333), + NAME_FUNC_OFFSET(16488, glBlendColor, glBlendColor, NULL, 336), + NAME_FUNC_OFFSET(16504, glBlendEquation, glBlendEquation, NULL, 337), + NAME_FUNC_OFFSET(16523, glDrawRangeElements, glDrawRangeElements, NULL, 338), + NAME_FUNC_OFFSET(16546, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(16562, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(16578, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), + NAME_FUNC_OFFSET(16605, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), + NAME_FUNC_OFFSET(16632, glCopyColorTable, glCopyColorTable, NULL, 342), + NAME_FUNC_OFFSET(16652, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(16671, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(16690, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(16720, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(16750, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(16780, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(16810, glColorSubTable, glColorSubTable, NULL, 346), + NAME_FUNC_OFFSET(16829, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), + NAME_FUNC_OFFSET(16852, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), + NAME_FUNC_OFFSET(16877, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), + NAME_FUNC_OFFSET(16902, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), + NAME_FUNC_OFFSET(16929, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), + NAME_FUNC_OFFSET(16957, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), + NAME_FUNC_OFFSET(16984, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), + NAME_FUNC_OFFSET(17012, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), + NAME_FUNC_OFFSET(17041, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), + NAME_FUNC_OFFSET(17070, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356), + NAME_FUNC_OFFSET(17096, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357), + NAME_FUNC_OFFSET(17127, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358), + NAME_FUNC_OFFSET(17158, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359), + NAME_FUNC_OFFSET(17182, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), + NAME_FUNC_OFFSET(17205, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361), + NAME_FUNC_OFFSET(17223, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362), + NAME_FUNC_OFFSET(17252, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363), + NAME_FUNC_OFFSET(17281, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364), + NAME_FUNC_OFFSET(17296, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365), + NAME_FUNC_OFFSET(17322, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366), + NAME_FUNC_OFFSET(17348, glHistogram, glHistogram, NULL, 367), + NAME_FUNC_OFFSET(17363, glMinmax, glMinmax, NULL, 368), + NAME_FUNC_OFFSET(17375, glResetHistogram, glResetHistogram, NULL, 369), + NAME_FUNC_OFFSET(17395, glResetMinmax, glResetMinmax, NULL, 370), + NAME_FUNC_OFFSET(17412, glTexImage3D, glTexImage3D, NULL, 371), + NAME_FUNC_OFFSET(17428, glTexSubImage3D, glTexSubImage3D, NULL, 372), + NAME_FUNC_OFFSET(17447, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), + NAME_FUNC_OFFSET(17470, glActiveTextureARB, glActiveTextureARB, NULL, 374), + NAME_FUNC_OFFSET(17486, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), + NAME_FUNC_OFFSET(17508, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), + NAME_FUNC_OFFSET(17526, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), + NAME_FUNC_OFFSET(17545, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), + NAME_FUNC_OFFSET(17563, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), + NAME_FUNC_OFFSET(17582, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), + NAME_FUNC_OFFSET(17600, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), + NAME_FUNC_OFFSET(17619, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), + NAME_FUNC_OFFSET(17637, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), + NAME_FUNC_OFFSET(17656, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), + NAME_FUNC_OFFSET(17674, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), + NAME_FUNC_OFFSET(17693, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), + NAME_FUNC_OFFSET(17711, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), + NAME_FUNC_OFFSET(17730, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), + NAME_FUNC_OFFSET(17748, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), + NAME_FUNC_OFFSET(17767, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), + NAME_FUNC_OFFSET(17785, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), + NAME_FUNC_OFFSET(17804, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), + NAME_FUNC_OFFSET(17822, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), + NAME_FUNC_OFFSET(17841, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), + NAME_FUNC_OFFSET(17859, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), + NAME_FUNC_OFFSET(17878, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), + NAME_FUNC_OFFSET(17896, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), + NAME_FUNC_OFFSET(17915, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), + NAME_FUNC_OFFSET(17933, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), + NAME_FUNC_OFFSET(17952, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), + NAME_FUNC_OFFSET(17970, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), + NAME_FUNC_OFFSET(17989, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), + NAME_FUNC_OFFSET(18007, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), + NAME_FUNC_OFFSET(18026, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), + NAME_FUNC_OFFSET(18044, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), + NAME_FUNC_OFFSET(18063, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), + NAME_FUNC_OFFSET(18081, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), + NAME_FUNC_OFFSET(18100, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), + NAME_FUNC_OFFSET(18123, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 441), + NAME_FUNC_OFFSET(18146, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 442), + NAME_FUNC_OFFSET(18169, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 443), + NAME_FUNC_OFFSET(18192, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 444), + NAME_FUNC_OFFSET(18215, glSampleCoverageARB, glSampleCoverageARB, NULL, 445), + NAME_FUNC_OFFSET(18232, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 446), + NAME_FUNC_OFFSET(18255, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 447), + NAME_FUNC_OFFSET(18278, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 448), + NAME_FUNC_OFFSET(18301, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 449), + NAME_FUNC_OFFSET(18327, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 450), + NAME_FUNC_OFFSET(18353, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 451), + NAME_FUNC_OFFSET(18379, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 452), + NAME_FUNC_OFFSET(18403, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 453), + NAME_FUNC_OFFSET(18430, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 454), + NAME_FUNC_OFFSET(18456, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 461), + NAME_FUNC_OFFSET(18476, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 462), + NAME_FUNC_OFFSET(18496, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 463), + NAME_FUNC_OFFSET(18516, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 464), + NAME_FUNC_OFFSET(18539, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 465), + NAME_FUNC_OFFSET(18563, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 466), + NAME_FUNC_OFFSET(18586, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 467), + NAME_FUNC_OFFSET(18610, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 473), + NAME_FUNC_OFFSET(18627, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 474), + NAME_FUNC_OFFSET(18645, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 475), + NAME_FUNC_OFFSET(18662, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 476), + NAME_FUNC_OFFSET(18680, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 477), + NAME_FUNC_OFFSET(18697, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 478), + NAME_FUNC_OFFSET(18715, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 479), + NAME_FUNC_OFFSET(18732, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 480), + NAME_FUNC_OFFSET(18750, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 481), + NAME_FUNC_OFFSET(18767, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 482), + NAME_FUNC_OFFSET(18785, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 483), + NAME_FUNC_OFFSET(18802, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 484), + NAME_FUNC_OFFSET(18820, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 485), + NAME_FUNC_OFFSET(18837, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 486), + NAME_FUNC_OFFSET(18855, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 487), + NAME_FUNC_OFFSET(18872, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 488), + NAME_FUNC_OFFSET(18890, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 489), + NAME_FUNC_OFFSET(18907, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 490), + NAME_FUNC_OFFSET(18925, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 491), + NAME_FUNC_OFFSET(18944, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 492), + NAME_FUNC_OFFSET(18963, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 493), + NAME_FUNC_OFFSET(18982, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 494), + NAME_FUNC_OFFSET(19001, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 495), + NAME_FUNC_OFFSET(19021, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 496), + NAME_FUNC_OFFSET(19041, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 497), + NAME_FUNC_OFFSET(19061, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 498), + NAME_FUNC_OFFSET(19079, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 499), + NAME_FUNC_OFFSET(19096, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 500), + NAME_FUNC_OFFSET(19114, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 501), + NAME_FUNC_OFFSET(19131, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 502), + NAME_FUNC_OFFSET(19149, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 503), + NAME_FUNC_OFFSET(19167, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 504), + NAME_FUNC_OFFSET(19184, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 505), + NAME_FUNC_OFFSET(19202, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 506), + NAME_FUNC_OFFSET(19221, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 507), + NAME_FUNC_OFFSET(19240, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 508), + NAME_FUNC_OFFSET(19259, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 509), + NAME_FUNC_OFFSET(19281, glBindBufferARB, glBindBufferARB, NULL, 510), + NAME_FUNC_OFFSET(19294, glBufferDataARB, glBufferDataARB, NULL, 511), + NAME_FUNC_OFFSET(19307, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), + NAME_FUNC_OFFSET(19323, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), + NAME_FUNC_OFFSET(19339, glGenBuffersARB, glGenBuffersARB, NULL, 514), + NAME_FUNC_OFFSET(19352, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 515), + NAME_FUNC_OFFSET(19375, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 516), + NAME_FUNC_OFFSET(19395, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 517), + NAME_FUNC_OFFSET(19414, glIsBufferARB, glIsBufferARB, NULL, 518), + NAME_FUNC_OFFSET(19425, glMapBufferARB, glMapBufferARB, NULL, 519), + NAME_FUNC_OFFSET(19437, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), + NAME_FUNC_OFFSET(19451, glBeginQueryARB, glBeginQueryARB, NULL, 521), + NAME_FUNC_OFFSET(19464, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), + NAME_FUNC_OFFSET(19480, glEndQueryARB, glEndQueryARB, NULL, 523), + NAME_FUNC_OFFSET(19491, glGenQueriesARB, glGenQueriesARB, NULL, 524), + NAME_FUNC_OFFSET(19504, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 525), + NAME_FUNC_OFFSET(19523, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 526), + NAME_FUNC_OFFSET(19543, glGetQueryivARB, glGetQueryivARB, NULL, 527), + NAME_FUNC_OFFSET(19556, glIsQueryARB, glIsQueryARB, NULL, 528), + NAME_FUNC_OFFSET(19566, glCompileShaderARB, glCompileShaderARB, NULL, 530), + NAME_FUNC_OFFSET(19582, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 535), + NAME_FUNC_OFFSET(19601, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 541), + NAME_FUNC_OFFSET(19619, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 542), + NAME_FUNC_OFFSET(19640, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), + NAME_FUNC_OFFSET(19655, glGetUniformivARB, glGetUniformivARB, NULL, 544), + NAME_FUNC_OFFSET(19670, glLinkProgramARB, glLinkProgramARB, NULL, 545), + NAME_FUNC_OFFSET(19684, glShaderSourceARB, glShaderSourceARB, NULL, 546), + NAME_FUNC_OFFSET(19699, glUniform1fARB, glUniform1fARB, NULL, 547), + NAME_FUNC_OFFSET(19711, glUniform1fvARB, glUniform1fvARB, NULL, 548), + NAME_FUNC_OFFSET(19724, glUniform1iARB, glUniform1iARB, NULL, 549), + NAME_FUNC_OFFSET(19736, glUniform1ivARB, glUniform1ivARB, NULL, 550), + NAME_FUNC_OFFSET(19749, glUniform2fARB, glUniform2fARB, NULL, 551), + NAME_FUNC_OFFSET(19761, glUniform2fvARB, glUniform2fvARB, NULL, 552), + NAME_FUNC_OFFSET(19774, glUniform2iARB, glUniform2iARB, NULL, 553), + NAME_FUNC_OFFSET(19786, glUniform2ivARB, glUniform2ivARB, NULL, 554), + NAME_FUNC_OFFSET(19799, glUniform3fARB, glUniform3fARB, NULL, 555), + NAME_FUNC_OFFSET(19811, glUniform3fvARB, glUniform3fvARB, NULL, 556), + NAME_FUNC_OFFSET(19824, glUniform3iARB, glUniform3iARB, NULL, 557), + NAME_FUNC_OFFSET(19836, glUniform3ivARB, glUniform3ivARB, NULL, 558), + NAME_FUNC_OFFSET(19849, glUniform4fARB, glUniform4fARB, NULL, 559), + NAME_FUNC_OFFSET(19861, glUniform4fvARB, glUniform4fvARB, NULL, 560), + NAME_FUNC_OFFSET(19874, glUniform4iARB, glUniform4iARB, NULL, 561), + NAME_FUNC_OFFSET(19886, glUniform4ivARB, glUniform4ivARB, NULL, 562), + NAME_FUNC_OFFSET(19899, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 563), + NAME_FUNC_OFFSET(19918, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 564), + NAME_FUNC_OFFSET(19937, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 565), + NAME_FUNC_OFFSET(19956, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 566), + NAME_FUNC_OFFSET(19969, glValidateProgramARB, glValidateProgramARB, NULL, 567), + NAME_FUNC_OFFSET(19987, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 568), + NAME_FUNC_OFFSET(20008, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 569), + NAME_FUNC_OFFSET(20026, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 570), + NAME_FUNC_OFFSET(20046, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), + NAME_FUNC_OFFSET(20060, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), + NAME_FUNC_OFFSET(20077, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572), + NAME_FUNC_OFFSET(20102, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 572), + NAME_FUNC_OFFSET(20124, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573), + NAME_FUNC_OFFSET(20151, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 573), + NAME_FUNC_OFFSET(20175, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 574), + NAME_FUNC_OFFSET(20211, gl_dispatch_stub_617, gl_dispatch_stub_617, NULL, 617), + NAME_FUNC_OFFSET(20227, gl_dispatch_stub_618, gl_dispatch_stub_618, NULL, 618), + NAME_FUNC_OFFSET(20246, glPointParameterfEXT, glPointParameterfEXT, NULL, 625), + NAME_FUNC_OFFSET(20264, glPointParameterfEXT, glPointParameterfEXT, NULL, 625), + NAME_FUNC_OFFSET(20285, glPointParameterfEXT, glPointParameterfEXT, NULL, 625), + NAME_FUNC_OFFSET(20307, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 626), + NAME_FUNC_OFFSET(20326, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 626), + NAME_FUNC_OFFSET(20348, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 626), + NAME_FUNC_OFFSET(20371, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 629), + NAME_FUNC_OFFSET(20390, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 630), + NAME_FUNC_OFFSET(20410, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 631), + NAME_FUNC_OFFSET(20429, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 632), + NAME_FUNC_OFFSET(20449, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 633), + NAME_FUNC_OFFSET(20468, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 634), + NAME_FUNC_OFFSET(20488, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 635), + NAME_FUNC_OFFSET(20507, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 636), + NAME_FUNC_OFFSET(20527, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 637), + NAME_FUNC_OFFSET(20546, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 638), + NAME_FUNC_OFFSET(20566, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 639), + NAME_FUNC_OFFSET(20586, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 640), + NAME_FUNC_OFFSET(20607, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 641), + NAME_FUNC_OFFSET(20627, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 642), + NAME_FUNC_OFFSET(20648, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 643), + NAME_FUNC_OFFSET(20668, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 644), + NAME_FUNC_OFFSET(20689, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 645), + NAME_FUNC_OFFSET(20713, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 646), + NAME_FUNC_OFFSET(20731, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 647), + NAME_FUNC_OFFSET(20751, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 648), + NAME_FUNC_OFFSET(20769, glFogCoorddEXT, glFogCoorddEXT, NULL, 649), + NAME_FUNC_OFFSET(20781, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 650), + NAME_FUNC_OFFSET(20794, glFogCoordfEXT, glFogCoordfEXT, NULL, 651), + NAME_FUNC_OFFSET(20806, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 652), + NAME_FUNC_OFFSET(20819, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 654), + NAME_FUNC_OFFSET(20839, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 654), + NAME_FUNC_OFFSET(20863, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 671), + NAME_FUNC_OFFSET(20877, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 671), + NAME_FUNC_OFFSET(20894, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 672), + NAME_FUNC_OFFSET(20909, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 672), + NAME_FUNC_OFFSET(20927, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 673), + NAME_FUNC_OFFSET(20941, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 673), + NAME_FUNC_OFFSET(20958, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 674), + NAME_FUNC_OFFSET(20973, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 674), + NAME_FUNC_OFFSET(20991, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 675), + NAME_FUNC_OFFSET(21005, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 675), + NAME_FUNC_OFFSET(21022, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 676), + NAME_FUNC_OFFSET(21037, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 676), + NAME_FUNC_OFFSET(21055, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 677), + NAME_FUNC_OFFSET(21069, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 677), + NAME_FUNC_OFFSET(21086, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 678), + NAME_FUNC_OFFSET(21101, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 678), + NAME_FUNC_OFFSET(21119, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 679), + NAME_FUNC_OFFSET(21133, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 679), + NAME_FUNC_OFFSET(21150, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 680), + NAME_FUNC_OFFSET(21165, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 680), + NAME_FUNC_OFFSET(21183, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 681), + NAME_FUNC_OFFSET(21197, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 681), + NAME_FUNC_OFFSET(21214, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 682), + NAME_FUNC_OFFSET(21229, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 682), + NAME_FUNC_OFFSET(21247, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 683), + NAME_FUNC_OFFSET(21261, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 683), + NAME_FUNC_OFFSET(21278, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 684), + NAME_FUNC_OFFSET(21293, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 684), + NAME_FUNC_OFFSET(21311, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 685), + NAME_FUNC_OFFSET(21325, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 685), + NAME_FUNC_OFFSET(21342, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 686), + NAME_FUNC_OFFSET(21357, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 686), + NAME_FUNC_OFFSET(21375, glBindProgramNV, glBindProgramNV, NULL, 705), + NAME_FUNC_OFFSET(21392, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 706), + NAME_FUNC_OFFSET(21412, glGenProgramsNV, glGenProgramsNV, NULL, 708), + NAME_FUNC_OFFSET(21429, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 714), + NAME_FUNC_OFFSET(21455, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 714), + NAME_FUNC_OFFSET(21484, glIsProgramNV, glIsProgramNV, NULL, 718), + NAME_FUNC_OFFSET(21499, glPointParameteriNV, glPointParameteriNV, NULL, 782), + NAME_FUNC_OFFSET(21517, glPointParameterivNV, glPointParameterivNV, NULL, 783), + NAME_FUNC_OFFSET(21536, gl_dispatch_stub_786, gl_dispatch_stub_786, NULL, 786), + NAME_FUNC_OFFSET(21557, gl_dispatch_stub_788, gl_dispatch_stub_788, NULL, 788), + NAME_FUNC_OFFSET(21573, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 795), + NAME_FUNC_OFFSET(21597, gl_dispatch_stub_798, gl_dispatch_stub_798, NULL, 798), + NAME_FUNC_OFFSET(21621, gl_dispatch_stub_798, gl_dispatch_stub_798, NULL, 798), + NAME_FUNC_OFFSET(21648, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 799), + NAME_FUNC_OFFSET(21666, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 800), + NAME_FUNC_OFFSET(21685, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 801), + NAME_FUNC_OFFSET(21710, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 802), + NAME_FUNC_OFFSET(21731, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 803), + NAME_FUNC_OFFSET(21753, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 804), + NAME_FUNC_OFFSET(21779, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 805), + NAME_FUNC_OFFSET(21802, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 806), + NAME_FUNC_OFFSET(21825, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 807), + NAME_FUNC_OFFSET(21848, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 808), + NAME_FUNC_OFFSET(21866, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 809), + NAME_FUNC_OFFSET(21885, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 810), + NAME_FUNC_OFFSET(21902, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 811), + NAME_FUNC_OFFSET(21940, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 812), + NAME_FUNC_OFFSET(21969, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 813), + NAME_FUNC_OFFSET(21985, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 814), + NAME_FUNC_OFFSET(22002, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 815), + NAME_FUNC_OFFSET(22024, gl_dispatch_stub_816, gl_dispatch_stub_816, NULL, 816), + NAME_FUNC_OFFSET(22042, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 819), + NAME_FUNC_OFFSET(22065, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 820), + NAME_FUNC_OFFSET(22087, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 821), + NAME_FUNC_OFFSET(22103, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 822), + NAME_FUNC_OFFSET(22124, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 823), + NAME_FUNC_OFFSET(22146, glUniform1uiEXT, glUniform1uiEXT, NULL, 824), + NAME_FUNC_OFFSET(22159, glUniform1uivEXT, glUniform1uivEXT, NULL, 825), + NAME_FUNC_OFFSET(22173, glUniform2uiEXT, glUniform2uiEXT, NULL, 826), + NAME_FUNC_OFFSET(22186, glUniform2uivEXT, glUniform2uivEXT, NULL, 827), + NAME_FUNC_OFFSET(22200, glUniform3uiEXT, glUniform3uiEXT, NULL, 828), + NAME_FUNC_OFFSET(22213, glUniform3uivEXT, glUniform3uivEXT, NULL, 829), + NAME_FUNC_OFFSET(22227, glUniform4uiEXT, glUniform4uiEXT, NULL, 830), + NAME_FUNC_OFFSET(22240, glUniform4uivEXT, glUniform4uivEXT, NULL, 831), + NAME_FUNC_OFFSET(22254, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 832), + NAME_FUNC_OFFSET(22272, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 833), + NAME_FUNC_OFFSET(22291, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 834), + NAME_FUNC_OFFSET(22310, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 835), + NAME_FUNC_OFFSET(22330, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 836), + NAME_FUNC_OFFSET(22348, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 837), + NAME_FUNC_OFFSET(22367, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 838), + NAME_FUNC_OFFSET(22386, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 839), + NAME_FUNC_OFFSET(22406, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 840), + NAME_FUNC_OFFSET(22424, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 841), + NAME_FUNC_OFFSET(22443, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 842), + NAME_FUNC_OFFSET(22462, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 843), + NAME_FUNC_OFFSET(22482, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 844), + NAME_FUNC_OFFSET(22501, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 845), + NAME_FUNC_OFFSET(22519, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 846), + NAME_FUNC_OFFSET(22538, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 847), + NAME_FUNC_OFFSET(22557, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 848), + NAME_FUNC_OFFSET(22577, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 849), + NAME_FUNC_OFFSET(22596, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 850), + NAME_FUNC_OFFSET(22616, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 851), + NAME_FUNC_OFFSET(22636, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 852), + NAME_FUNC_OFFSET(22659, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 853), + NAME_FUNC_OFFSET(22685, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 854), + NAME_FUNC_OFFSET(22698, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 855), + NAME_FUNC_OFFSET(22709, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 856), + NAME_FUNC_OFFSET(22719, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 857), + NAME_FUNC_OFFSET(22735, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 858), + NAME_FUNC_OFFSET(22751, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 859), + NAME_FUNC_OFFSET(22764, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 862), + NAME_FUNC_OFFSET(22785, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 863), + NAME_FUNC_OFFSET(22807, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 864), + NAME_FUNC_OFFSET(22825, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 865), + NAME_FUNC_OFFSET(22844, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 866), + NAME_FUNC_OFFSET(22869, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 867), + NAME_FUNC_OFFSET(22892, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 868), + NAME_FUNC_OFFSET(22917, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 869), + NAME_FUNC_OFFSET(22934, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 871), + NAME_FUNC_OFFSET(22952, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 872), + NAME_FUNC_OFFSET(22975, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 873), + NAME_FUNC_OFFSET(23005, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 874), + NAME_FUNC_OFFSET(23033, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 875), NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; diff --git a/src/mapi/vgapi/SConscript b/src/mapi/vgapi/SConscript index 42d86b69eef..ee6d9fb827c 100644 --- a/src/mapi/vgapi/SConscript +++ b/src/mapi/vgapi/SConscript @@ -44,13 +44,20 @@ if env['platform'] != 'winddk': env.Depends(vgapi_objects, vgapi_header) + # libOpenVG.dll + env['LIBPREFIX'] = 'lib' + env['SHLIBPREFIX'] = 'lib' + openvg = env.SharedLibrary( - target = 'libOpenVG', + target = 'OpenVG', source = vgapi_objects, ) env.InstallSharedLibrary(openvg, version=(1, 0, 0)) - vgapi = [env.FindIxes(openvg, 'LIBPREFIX', 'LIBSUFFIX')] + if env['platform'] == 'windows': + openvg = env.FindIxes(openvg, 'LIBPREFIX', 'LIBSUFFIX') + else: + openvg = env.FindIxes(openvg, 'SHLIBPREFIX', 'SHLIBSUFFIX') - Export(['vgapi']) + Export(['openvg']) diff --git a/src/mesa/drivers/common/driverfuncs.c b/src/mesa/drivers/common/driverfuncs.c index fc67bee98c6..3c6ecb83f0a 100644 --- a/src/mesa/drivers/common/driverfuncs.c +++ b/src/mesa/drivers/common/driverfuncs.c @@ -231,13 +231,14 @@ _mesa_init_driver_state(struct gl_context *ctx) ctx->Driver.BlendColor(ctx, ctx->Color.BlendColor); ctx->Driver.BlendEquationSeparate(ctx, - ctx->Color.BlendEquationRGB, - ctx->Color.BlendEquationA); + ctx->Color.Blend[0].EquationRGB, + ctx->Color.Blend[0].EquationA); ctx->Driver.BlendFuncSeparate(ctx, - ctx->Color.BlendSrcRGB, - ctx->Color.BlendDstRGB, - ctx->Color.BlendSrcA, ctx->Color.BlendDstA); + ctx->Color.Blend[0].SrcRGB, + ctx->Color.Blend[0].DstRGB, + ctx->Color.Blend[0].SrcA, + ctx->Color.Blend[0].DstA); if (ctx->Driver.ColorMaskIndexed) { GLuint i; diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 3e699912bb4..fd12e4d0a66 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -2319,7 +2319,7 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target, } _mesa_BindFramebufferEXT(GL_FRAMEBUFFER_EXT, mipmap->FBO); - _mesa_TexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + _mesa_TexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); _mesa_TexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); _mesa_TexParameteri(target, GL_GENERATE_MIPMAP, GL_FALSE); _mesa_TexParameteri(target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c index a5b71bd40ad..bf8cf6eec07 100644 --- a/src/mesa/drivers/dri/common/dri_util.c +++ b/src/mesa/drivers/dri/common/dri_util.c @@ -790,6 +790,9 @@ driCreateNewScreen(int scrn, static const __DRIextension *emptyExtensionList[] = { NULL }; __DRIscreen *psp; + if (driDriverAPI.InitScreen == NULL) + return NULL; + psp = calloc(1, sizeof *psp); if (!psp) return NULL; diff --git a/src/mesa/drivers/dri/i810/i810state.c b/src/mesa/drivers/dri/i810/i810state.c index 7c3fbb1424d..6040abf7fac 100644 --- a/src/mesa/drivers/dri/i810/i810state.c +++ b/src/mesa/drivers/dri/i810/i810state.c @@ -95,7 +95,7 @@ static void i810BlendFuncSeparate( struct gl_context *ctx, GLenum sfactorRGB, GLuint a = SDM_UPDATE_SRC_BLEND | SDM_UPDATE_DST_BLEND; GLboolean fallback = GL_FALSE; - switch (ctx->Color.BlendSrcRGB) { + switch (ctx->Color.Blend[0].SrcRGB) { case GL_ZERO: a |= SDM_SRC_ZERO; break; case GL_ONE: a |= SDM_SRC_ONE; break; case GL_SRC_COLOR: a |= SDM_SRC_SRC_COLOR; break; @@ -124,7 +124,7 @@ static void i810BlendFuncSeparate( struct gl_context *ctx, GLenum sfactorRGB, return; } - switch (ctx->Color.BlendDstRGB) { + switch (ctx->Color.Blend[0].DstRGB) { case GL_ZERO: a |= SDM_DST_ZERO; break; case GL_ONE: a |= SDM_DST_ONE; break; case GL_SRC_COLOR: a |= SDM_DST_SRC_COLOR; break; diff --git a/src/mesa/drivers/dri/i915/i830_state.c b/src/mesa/drivers/dri/i915/i830_state.c index 147192adc7a..ef5b8d971da 100644 --- a/src/mesa/drivers/dri/i915/i830_state.c +++ b/src/mesa/drivers/dri/i915/i830_state.c @@ -291,10 +291,10 @@ i830_set_blend_state(struct gl_context * ctx) funcRGB = - SRC_BLND_FACT(intel_translate_blend_factor(ctx->Color.BlendSrcRGB)) - | DST_BLND_FACT(intel_translate_blend_factor(ctx->Color.BlendDstRGB)); + SRC_BLND_FACT(intel_translate_blend_factor(ctx->Color.Blend[0].SrcRGB)) + | DST_BLND_FACT(intel_translate_blend_factor(ctx->Color.Blend[0].DstRGB)); - switch (ctx->Color.BlendEquationRGB) { + switch (ctx->Color.Blend[0].EquationRGB) { case GL_FUNC_ADD: eqnRGB = BLENDFUNC_ADD; break; @@ -314,15 +314,15 @@ i830_set_blend_state(struct gl_context * ctx) break; default: fprintf(stderr, "[%s:%u] Invalid RGB blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationRGB); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationRGB); return; } - funcA = SRC_ABLEND_FACT(intel_translate_blend_factor(ctx->Color.BlendSrcA)) - | DST_ABLEND_FACT(intel_translate_blend_factor(ctx->Color.BlendDstA)); + funcA = SRC_ABLEND_FACT(intel_translate_blend_factor(ctx->Color.Blend[0].SrcA)) + | DST_ABLEND_FACT(intel_translate_blend_factor(ctx->Color.Blend[0].DstA)); - switch (ctx->Color.BlendEquationA) { + switch (ctx->Color.Blend[0].EquationA) { case GL_FUNC_ADD: eqnA = BLENDFUNC_ADD; break; @@ -342,7 +342,7 @@ i830_set_blend_state(struct gl_context * ctx) break; default: fprintf(stderr, "[%s:%u] Invalid alpha blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationA); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationA); return; } diff --git a/src/mesa/drivers/dri/i915/i915_state.c b/src/mesa/drivers/dri/i915/i915_state.c index 9508fbaf942..63c6e78ebe9 100644 --- a/src/mesa/drivers/dri/i915/i915_state.c +++ b/src/mesa/drivers/dri/i915/i915_state.c @@ -267,12 +267,12 @@ i915UpdateBlendState(struct gl_context * ctx) ~(S6_CBUF_SRC_BLEND_FACT_MASK | S6_CBUF_DST_BLEND_FACT_MASK | S6_CBUF_BLEND_FUNC_MASK)); - GLuint eqRGB = ctx->Color.BlendEquationRGB; - GLuint eqA = ctx->Color.BlendEquationA; - GLuint srcRGB = ctx->Color.BlendSrcRGB; - GLuint dstRGB = ctx->Color.BlendDstRGB; - GLuint srcA = ctx->Color.BlendSrcA; - GLuint dstA = ctx->Color.BlendDstA; + GLuint eqRGB = ctx->Color.Blend[0].EquationRGB; + GLuint eqA = ctx->Color.Blend[0].EquationA; + GLuint srcRGB = ctx->Color.Blend[0].SrcRGB; + GLuint dstRGB = ctx->Color.Blend[0].DstRGB; + GLuint srcA = ctx->Color.Blend[0].SrcA; + GLuint dstA = ctx->Color.Blend[0].DstA; if (eqRGB == GL_MIN || eqRGB == GL_MAX) { srcRGB = dstRGB = GL_ONE; diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c index d286c9dbdc7..c986970a757 100644 --- a/src/mesa/drivers/dri/i965/brw_cc.c +++ b/src/mesa/drivers/dri/i965/brw_cc.c @@ -141,12 +141,12 @@ static void upload_cc_unit(struct brw_context *brw) cc.cc2.logicop_enable = 1; cc.cc5.logicop_func = intel_translate_logic_op(ctx->Color.LogicOp); } else if (ctx->Color.BlendEnabled) { - GLenum eqRGB = ctx->Color.BlendEquationRGB; - GLenum eqA = ctx->Color.BlendEquationA; - GLenum srcRGB = ctx->Color.BlendSrcRGB; - GLenum dstRGB = ctx->Color.BlendDstRGB; - GLenum srcA = ctx->Color.BlendSrcA; - GLenum dstA = ctx->Color.BlendDstA; + GLenum eqRGB = ctx->Color.Blend[0].EquationRGB; + GLenum eqA = ctx->Color.Blend[0].EquationA; + GLenum srcRGB = ctx->Color.Blend[0].SrcRGB; + GLenum dstRGB = ctx->Color.Blend[0].DstRGB; + GLenum srcA = ctx->Color.Blend[0].SrcA; + GLenum dstA = ctx->Color.Blend[0].DstA; /* If the renderbuffer is XRGB, we have to frob the blend function to * force the destination alpha to 1.0. This means replacing GL_DST_ALPHA diff --git a/src/mesa/drivers/dri/i965/brw_fallback.c b/src/mesa/drivers/dri/i965/brw_fallback.c index 395f306f1b5..d0b0c22abf6 100644 --- a/src/mesa/drivers/dri/i965/brw_fallback.c +++ b/src/mesa/drivers/dri/i965/brw_fallback.c @@ -36,8 +36,6 @@ #include "swrast/swrast.h" #include "tnl/tnl.h" #include "brw_context.h" -#include "intel_fbo.h" -#include "intel_regions.h" #define FILE_DEBUG_FLAG DEBUG_FALLBACKS diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 22e6e2e7368..a35687d5991 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -48,6 +48,7 @@ extern "C" { #include "../glsl/ir_optimization.h" #include "../glsl/ir_print_visitor.h" +#define MAX_INSTRUCTION (1 << 30) static struct brw_reg brw_reg_from_fs_reg(class fs_reg *reg); struct gl_shader * @@ -534,25 +535,40 @@ fs_visitor::emit_general_interpolation(ir_variable *ir) continue; } - for (unsigned int c = 0; c < type->vector_elements; c++) { - struct brw_reg interp = interp_reg(location, c); - emit(fs_inst(FS_OPCODE_LINTERP, - attr, - this->delta_x, - this->delta_y, - fs_reg(interp))); - attr.reg_offset++; - } - - if (intel->gen < 6) { - attr.reg_offset -= type->vector_elements; + if (c->key.flat_shade && (location == FRAG_ATTRIB_COL0 || + location == FRAG_ATTRIB_COL1)) { + /* Constant interpolation (flat shading) case. The SF has + * handed us defined values in only the constant offset + * field of the setup reg. + */ for (unsigned int c = 0; c < type->vector_elements; c++) { - emit(fs_inst(BRW_OPCODE_MUL, - attr, + struct brw_reg interp = interp_reg(location, c); + interp = suboffset(interp, 3); + emit(fs_inst(FS_OPCODE_CINTERP, attr, fs_reg(interp))); + attr.reg_offset++; + } + } else { + /* Perspective interpolation case. */ + for (unsigned int c = 0; c < type->vector_elements; c++) { + struct brw_reg interp = interp_reg(location, c); + emit(fs_inst(FS_OPCODE_LINTERP, attr, - this->pixel_w)); + this->delta_x, + this->delta_y, + fs_reg(interp))); attr.reg_offset++; } + + if (intel->gen < 6) { + attr.reg_offset -= type->vector_elements; + for (unsigned int c = 0; c < type->vector_elements; c++) { + emit(fs_inst(BRW_OPCODE_MUL, + attr, + attr, + this->pixel_w)); + attr.reg_offset++; + } + } } location++; } @@ -859,6 +875,7 @@ fs_visitor::visit(ir_expression *ir) break; case ir_unop_abs: op[0].abs = true; + op[0].negate = false; this->result = op[0]; break; case ir_unop_sign: @@ -2556,12 +2573,15 @@ fs_visitor::assign_urb_setup() foreach_iter(exec_list_iterator, iter, this->instructions) { fs_inst *inst = (fs_inst *)iter.get(); - if (inst->opcode != FS_OPCODE_LINTERP) - continue; - - assert(inst->src[2].file == FIXED_HW_REG); + if (inst->opcode == FS_OPCODE_LINTERP) { + assert(inst->src[2].file == FIXED_HW_REG); + inst->src[2].fixed_hw_reg.nr += urb_start; + } - inst->src[2].fixed_hw_reg.nr += urb_start; + if (inst->opcode == FS_OPCODE_CINTERP) { + assert(inst->src[0].file == FIXED_HW_REG); + inst->src[0].fixed_hw_reg.nr += urb_start; + } } this->first_non_payload_grf = urb_start + c->prog_data.urb_read_length; @@ -2652,6 +2672,7 @@ fs_visitor::split_virtual_grfs() } } } + this->live_intervals_valid = false; } /** @@ -2726,8 +2747,11 @@ fs_visitor::calculate_live_intervals() int loop_start = 0; int bb_header_ip = 0; + if (this->live_intervals_valid) + return; + for (int i = 0; i < num_vars; i++) { - def[i] = 1 << 30; + def[i] = MAX_INSTRUCTION; use[i] = -1; } @@ -2805,6 +2829,8 @@ fs_visitor::calculate_live_intervals() talloc_free(this->virtual_grf_use); this->virtual_grf_def = def; this->virtual_grf_use = use; + + this->live_intervals_valid = true; } /** @@ -2820,6 +2846,8 @@ fs_visitor::propagate_constants() { bool progress = false; + calculate_live_intervals(); + foreach_iter(exec_list_iterator, iter, this->instructions) { fs_inst *inst = (fs_inst *)iter.get(); @@ -2877,6 +2905,7 @@ fs_visitor::propagate_constants() /* Fit this constant in by commuting the operands */ scan_inst->src[0] = scan_inst->src[1]; scan_inst->src[1] = inst->src[0]; + progress = true; } break; case BRW_OPCODE_CMP: @@ -2897,6 +2926,9 @@ fs_visitor::propagate_constants() } } + if (progress) + this->live_intervals_valid = false; + return progress; } /** @@ -2911,6 +2943,8 @@ fs_visitor::dead_code_eliminate() bool progress = false; int pc = 0; + calculate_live_intervals(); + foreach_iter(exec_list_iterator, iter, this->instructions) { fs_inst *inst = (fs_inst *)iter.get(); @@ -2922,6 +2956,9 @@ fs_visitor::dead_code_eliminate() pc++; } + if (progress) + live_intervals_valid = false; + return progress; } @@ -2929,10 +2966,35 @@ bool fs_visitor::register_coalesce() { bool progress = false; + int if_depth = 0; + int loop_depth = 0; foreach_iter(exec_list_iterator, iter, this->instructions) { fs_inst *inst = (fs_inst *)iter.get(); + /* Make sure that we dominate the instructions we're going to + * scan for interfering with our coalescing, or we won't have + * scanned enough to see if anything interferes with our + * coalescing. We don't dominate the following instructions if + * we're in a loop or an if block. + */ + switch (inst->opcode) { + case BRW_OPCODE_DO: + loop_depth++; + break; + case BRW_OPCODE_WHILE: + loop_depth--; + break; + case BRW_OPCODE_IF: + if_depth++; + break; + case BRW_OPCODE_ENDIF: + if_depth--; + break; + } + if (loop_depth || if_depth) + continue; + if (inst->opcode != BRW_OPCODE_MOV || inst->predicated || inst->saturate || @@ -2950,14 +3012,6 @@ fs_visitor::register_coalesce() for (; scan_iter.has_next(); scan_iter.next()) { fs_inst *scan_inst = (fs_inst *)scan_iter.get(); - if (scan_inst->opcode == BRW_OPCODE_DO || - scan_inst->opcode == BRW_OPCODE_WHILE || - scan_inst->opcode == BRW_OPCODE_ENDIF) { - interfered = true; - iter = scan_iter; - break; - } - if (scan_inst->dst.file == GRF) { if (scan_inst->dst.reg == inst->dst.reg && (scan_inst->dst.reg_offset == inst->dst.reg_offset || @@ -2977,10 +3031,6 @@ fs_visitor::register_coalesce() continue; } - /* Update live interval so we don't have to recalculate. */ - this->virtual_grf_use[inst->src[0].reg] = MAX2(virtual_grf_use[inst->src[0].reg], - virtual_grf_use[inst->dst.reg]); - /* Rewrite the later usage to point at the source of the move to * be removed. */ @@ -3005,6 +3055,9 @@ fs_visitor::register_coalesce() progress = true; } + if (progress) + live_intervals_valid = false; + return progress; } @@ -3015,6 +3068,8 @@ fs_visitor::compute_to_mrf() bool progress = false; int next_ip = 0; + calculate_live_intervals(); + foreach_iter(exec_list_iterator, iter, this->instructions) { fs_inst *inst = (fs_inst *)iter.get(); @@ -3218,15 +3273,16 @@ fs_visitor::virtual_grf_interferes(int a, int b) int start = MAX2(this->virtual_grf_def[a], this->virtual_grf_def[b]); int end = MIN2(this->virtual_grf_use[a], this->virtual_grf_use[b]); - /* For dead code, just check if the def interferes with the other range. */ - if (this->virtual_grf_use[a] == -1) { - return (this->virtual_grf_def[a] >= this->virtual_grf_def[b] && - this->virtual_grf_def[a] < this->virtual_grf_use[b]); - } - if (this->virtual_grf_use[b] == -1) { - return (this->virtual_grf_def[b] >= this->virtual_grf_def[a] && - this->virtual_grf_def[b] < this->virtual_grf_use[a]); - } + /* We can't handle dead register writes here, without iterating + * over the whole instruction stream to find every single dead + * write to that register to compare to the live interval of the + * other register. Just assert that dead_code_eliminate() has been + * called. + */ + assert((this->virtual_grf_use[a] != -1 || + this->virtual_grf_def[a] == MAX_INSTRUCTION) && + (this->virtual_grf_use[b] != -1 || + this->virtual_grf_def[b] == MAX_INSTRUCTION)); return start < end; } @@ -3466,6 +3522,9 @@ fs_visitor::generate_code() case FS_OPCODE_COS: generate_math(inst, dst, src); break; + case FS_OPCODE_CINTERP: + brw_MOV(p, dst, src[0]); + break; case FS_OPCODE_LINTERP: generate_linterp(inst, dst, src); break; @@ -3614,7 +3673,6 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c) progress = v.remove_duplicate_mrf_writes() || progress; - v.calculate_live_intervals(); progress = v.propagate_constants() || progress; progress = v.register_coalesce() || progress; progress = v.compute_to_mrf() || progress; @@ -3627,7 +3685,6 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c) for (int i = 1; i < virtual_grf_count; i++) { v.spill_reg(i); } - v.calculate_live_intervals(); } if (0) @@ -3636,8 +3693,6 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c) while (!v.assign_regs()) { if (v.fail) break; - - v.calculate_live_intervals(); } } } diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 00a000855c5..82d96f6ac02 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -68,6 +68,7 @@ enum fs_opcodes { FS_OPCODE_COS, FS_OPCODE_DDX, FS_OPCODE_DDY, + FS_OPCODE_CINTERP, FS_OPCODE_LINTERP, FS_OPCODE_TEX, FS_OPCODE_TXB, @@ -378,6 +379,7 @@ public: this->virtual_grf_array_size = 0; this->virtual_grf_def = NULL; this->virtual_grf_use = NULL; + this->live_intervals_valid = false; this->kill_emitted = false; } @@ -479,6 +481,7 @@ public: int virtual_grf_array_size; int *virtual_grf_def; int *virtual_grf_use; + bool live_intervals_valid; struct hash_table *variable_ht; ir_variable *frag_color, *frag_data, *frag_depth; diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp index bbb210cd449..078a349abdf 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp @@ -94,6 +94,8 @@ fs_visitor::assign_regs() int class_count = 0; int aligned_pair_class = -1; + calculate_live_intervals(); + /* Set up the register classes. * * The base registers store a scalar value. For texture samples, @@ -416,4 +418,6 @@ fs_visitor::spill_reg(int spill_reg) } } } + + this->live_intervals_valid = false; } diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c index fe9737d043a..0411ce0b36c 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_emit.c +++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c @@ -1942,6 +1942,7 @@ void brw_vs_emit(struct brw_vs_compile *c ) switch (inst->Opcode) { case OPCODE_ABS: + args[0].negate = false; brw_MOV(p, dst, brw_abs(args[0])); break; case OPCODE_ADD: diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index e921d8a9a1d..a372554555c 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -120,7 +120,8 @@ brw_render_target_supported(gl_format format) static GLuint translate_tex_format( gl_format mesa_format, GLenum internal_format, - GLenum depth_mode ) + GLenum depth_mode, + GLenum srgb_decode ) { switch( mesa_format ) { @@ -146,7 +147,14 @@ static GLuint translate_tex_format( gl_format mesa_format, return BRW_SURFACEFORMAT_R24_UNORM_X8_TYPELESS; else return BRW_SURFACEFORMAT_L24X8_UNORM; - + + case MESA_FORMAT_SARGB8: + case MESA_FORMAT_SLA8: + case MESA_FORMAT_SL8: + if (srgb_decode == GL_DECODE_EXT) + return brw_format_for_mesa_format[mesa_format]; + else if (srgb_decode == GL_SKIP_DECODE_EXT) + return brw_format_for_mesa_format[_mesa_get_srgb_format_linear(mesa_format)]; default: assert(brw_format_for_mesa_format[mesa_format] != 0); return brw_format_for_mesa_format[mesa_format]; @@ -189,7 +197,7 @@ brw_update_texture_surface( struct gl_context *ctx, GLuint unit ) surf.ss0.surface_type = translate_tex_target(tObj->Target); surf.ss0.surface_format = translate_tex_format(firstImage->TexFormat, firstImage->InternalFormat, - tObj->DepthMode); + tObj->DepthMode, tObj->sRGBDecode); /* This is ok for all textures with channel width 8bit or less: */ @@ -435,6 +443,11 @@ brw_update_renderbuffer_surface(struct brw_context *brw, */ surf.ss0.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; break; + case MESA_FORMAT_SARGB8: + /* without GL_EXT_framebuffer_sRGB we shouldn't bind sRGB + surfaces to the blend/update as sRGB */ + surf.ss0.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; + break; default: surf.ss0.surface_format = brw_format_for_mesa_format[irb->Base.Format]; assert(surf.ss0.surface_format != 0); diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c index dbcdc5b8693..f51afa40716 100644 --- a/src/mesa/drivers/dri/i965/gen6_cc.c +++ b/src/mesa/drivers/dri/i965/gen6_cc.c @@ -66,12 +66,12 @@ blend_state_populate_key(struct brw_context *brw, /* _NEW_COLOR */ key->color_blend = ctx->Color.BlendEnabled; if (key->color_blend) { - key->blend_eq_rgb = ctx->Color.BlendEquationRGB; - key->blend_eq_a = ctx->Color.BlendEquationA; - key->blend_src_rgb = ctx->Color.BlendSrcRGB; - key->blend_dst_rgb = ctx->Color.BlendDstRGB; - key->blend_src_a = ctx->Color.BlendSrcA; - key->blend_dst_a = ctx->Color.BlendDstA; + key->blend_eq_rgb = ctx->Color.Blend[0].EquationRGB; + key->blend_eq_a = ctx->Color.Blend[0].EquationA; + key->blend_src_rgb = ctx->Color.Blend[0].SrcRGB; + key->blend_dst_rgb = ctx->Color.Blend[0].DstRGB; + key->blend_src_a = ctx->Color.Blend[0].SrcA; + key->blend_dst_a = ctx->Color.Blend[0].DstA; } /* _NEW_COLOR */ diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index 00c2f99f80b..747e9dcb717 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -33,6 +33,7 @@ #include "utils.h" +#define need_GL_ARB_ES2_compatibility #define need_GL_ARB_draw_elements_base_vertex #define need_GL_ARB_framebuffer_object #define need_GL_ARB_map_buffer_range @@ -80,6 +81,7 @@ * i965_dri. */ static const struct dri_extension card_extensions[] = { + { "GL_ARB_ES2_compatibility", GL_ARB_ES2_compatibility_functions }, { "GL_ARB_draw_elements_base_vertex", GL_ARB_draw_elements_base_vertex_functions }, { "GL_ARB_explicit_attrib_location", NULL }, { "GL_ARB_framebuffer_object", GL_ARB_framebuffer_object_functions}, @@ -176,6 +178,7 @@ static const struct dri_extension brw_extensions[] = { { "GL_EXT_shadow_funcs", NULL }, { "GL_EXT_stencil_two_side", GL_EXT_stencil_two_side_functions }, { "GL_EXT_texture_sRGB", NULL }, + { "GL_EXT_texture_sRGB_decode", NULL }, { "GL_EXT_texture_swizzle", NULL }, { "GL_EXT_vertex_array_bgra", NULL }, { "GL_ATI_envmap_bumpmap", GL_ATI_envmap_bumpmap_functions }, diff --git a/src/mesa/drivers/dri/intel/intel_extensions_es2.c b/src/mesa/drivers/dri/intel/intel_extensions_es2.c index 38b92d5b55b..5ef6b0561de 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions_es2.c +++ b/src/mesa/drivers/dri/intel/intel_extensions_es2.c @@ -81,6 +81,17 @@ static const char *es2_extensions[] = { }; /** + * \brief Extensions to disable. + * + * These extensions must be manually disabled because they may have been + * enabled by default. + */ +static const char* es2_extensions_disabled[] = { + "GL_OES_standard_derivatives", + NULL, +}; + +/** * Initializes potential list of extensions if ctx == NULL, or actually enables * extensions for a context. */ @@ -94,4 +105,6 @@ intelInitExtensionsES2(struct gl_context *ctx) for (i = 0; es2_extensions[i]; i++) _mesa_enable_extension(ctx, es2_extensions[i]); + for (i = 0; es2_extensions_disabled[i]; i++) + _mesa_disable_extension(ctx, es2_extensions_disabled[i]); } diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index cbb6275e9ce..0db5a491c8f 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -454,7 +454,6 @@ intel_render_texture(struct gl_context * ctx, struct gl_framebuffer *fb, struct gl_renderbuffer_attachment *att) { - struct intel_context *intel = intel_context(ctx); struct gl_texture_image *newImage = att->Texture->Image[att->CubeMapFace][att->TextureLevel]; struct intel_renderbuffer *irb = intel_renderbuffer(att->Renderbuffer); @@ -517,6 +516,7 @@ intel_render_texture(struct gl_context * ctx, * instead, we just make a new single-level miptree and render * into that. */ + struct intel_context *intel = intel_context(ctx); struct intel_mipmap_tree *old_mt = intel_image->mt; struct intel_mipmap_tree *new_mt; int comp_byte = 0, texel_bytes; diff --git a/src/mesa/drivers/dri/intel/intel_pixel.c b/src/mesa/drivers/dri/intel/intel_pixel.c index d5c35775ce4..f97256e59bb 100644 --- a/src/mesa/drivers/dri/intel/intel_pixel.c +++ b/src/mesa/drivers/dri/intel/intel_pixel.c @@ -66,12 +66,12 @@ intel_check_blit_fragment_ops(struct gl_context * ctx, GLboolean src_alpha_is_on } if (ctx->Color.BlendEnabled && - (effective_func(ctx->Color.BlendSrcRGB, src_alpha_is_one) != GL_ONE || - effective_func(ctx->Color.BlendDstRGB, src_alpha_is_one) != GL_ZERO || - ctx->Color.BlendEquationRGB != GL_FUNC_ADD || - effective_func(ctx->Color.BlendSrcA, src_alpha_is_one) != GL_ONE || - effective_func(ctx->Color.BlendDstA, src_alpha_is_one) != GL_ZERO || - ctx->Color.BlendEquationA != GL_FUNC_ADD)) { + (effective_func(ctx->Color.Blend[0].SrcRGB, src_alpha_is_one) != GL_ONE || + effective_func(ctx->Color.Blend[0].DstRGB, src_alpha_is_one) != GL_ZERO || + ctx->Color.Blend[0].EquationRGB != GL_FUNC_ADD || + effective_func(ctx->Color.Blend[0].SrcA, src_alpha_is_one) != GL_ONE || + effective_func(ctx->Color.Blend[0].DstA, src_alpha_is_one) != GL_ZERO || + ctx->Color.Blend[0].EquationA != GL_FUNC_ADD)) { DBG("fallback due to blend\n"); return GL_FALSE; } diff --git a/src/mesa/drivers/dri/mach64/mach64_state.c b/src/mesa/drivers/dri/mach64/mach64_state.c index 8e795955c2c..c1a4e63204f 100644 --- a/src/mesa/drivers/dri/mach64/mach64_state.c +++ b/src/mesa/drivers/dri/mach64/mach64_state.c @@ -102,7 +102,7 @@ static void mach64UpdateAlphaMode( struct gl_context *ctx ) MACH64_ALPHA_BLEND_DST_MASK | MACH64_ALPHA_BLEND_SAT); - switch ( ctx->Color.BlendSrcRGB ) { + switch ( ctx->Color.Blend[0].SrcRGB ) { case GL_ZERO: s |= MACH64_ALPHA_BLEND_SRC_ZERO; break; @@ -135,7 +135,7 @@ static void mach64UpdateAlphaMode( struct gl_context *ctx ) FALLBACK( mmesa, MACH64_FALLBACK_BLEND_FUNC, GL_TRUE ); } - switch ( ctx->Color.BlendDstRGB ) { + switch ( ctx->Color.Blend[0].DstRGB ) { case GL_ZERO: s |= MACH64_ALPHA_BLEND_DST_ZERO; break; diff --git a/src/mesa/drivers/dri/mga/mgastate.c b/src/mesa/drivers/dri/mga/mgastate.c index 25d7de28fe8..2fac2b49cd2 100644 --- a/src/mesa/drivers/dri/mga/mgastate.c +++ b/src/mesa/drivers/dri/mga/mgastate.c @@ -141,7 +141,7 @@ static void mgaDDBlendFuncSeparate( struct gl_context *ctx, GLenum sfactorRGB, GLuint src; GLuint dst; - switch (ctx->Color.BlendSrcRGB) { + switch (ctx->Color.Blend[0].SrcRGB) { case GL_ZERO: src = AC_src_zero; break; case GL_SRC_ALPHA: @@ -169,7 +169,7 @@ static void mgaDDBlendFuncSeparate( struct gl_context *ctx, GLenum sfactorRGB, break; } - switch (ctx->Color.BlendDstRGB) { + switch (ctx->Color.Blend[0].DstRGB) { case GL_SRC_ALPHA: dst = AC_dst_src_alpha; break; case GL_ONE_MINUS_SRC_ALPHA: diff --git a/src/mesa/drivers/dri/nouveau/nv04_state_raster.c b/src/mesa/drivers/dri/nouveau/nv04_state_raster.c index 98f2f98f1d0..ecfbdfedff6 100644 --- a/src/mesa/drivers/dri/nouveau/nv04_state_raster.c +++ b/src/mesa/drivers/dri/nouveau/nv04_state_raster.c @@ -264,8 +264,8 @@ nv04_emit_blend(struct gl_context *ctx, int emit) NV04_MULTITEX_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE; /* Alpha blending. */ - blend |= get_blend_func(ctx->Color.BlendDstRGB) << 28 | - get_blend_func(ctx->Color.BlendSrcRGB) << 24; + blend |= get_blend_func(ctx->Color.Blend[0].DstRGB) << 28 | + get_blend_func(ctx->Color.Blend[0].SrcRGB) << 24; if (ctx->Color.BlendEnabled) blend |= NV04_MULTITEX_TRIANGLE_BLEND_BLEND_ENABLE; @@ -296,8 +296,8 @@ nv04_emit_blend(struct gl_context *ctx, int emit) NV04_TEXTURED_TRIANGLE_BLEND_TEXTURE_PERSPECTIVE_ENABLE; /* Alpha blending. */ - blend |= get_blend_func(ctx->Color.BlendDstRGB) << 28 | - get_blend_func(ctx->Color.BlendSrcRGB) << 24; + blend |= get_blend_func(ctx->Color.Blend[0].DstRGB) << 28 | + get_blend_func(ctx->Color.Blend[0].SrcRGB) << 24; if (ctx->Color.BlendEnabled) blend |= NV04_TEXTURED_TRIANGLE_BLEND_BLEND_ENABLE; diff --git a/src/mesa/drivers/dri/nouveau/nv10_state_raster.c b/src/mesa/drivers/dri/nouveau/nv10_state_raster.c index bb1084ed11b..50021b0a7bf 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_state_raster.c +++ b/src/mesa/drivers/dri/nouveau/nv10_state_raster.c @@ -68,7 +68,7 @@ nv10_emit_blend_equation(struct gl_context *ctx, int emit) OUT_RINGb(chan, ctx->Color.BlendEnabled); BEGIN_RING(chan, celsius, NV10_3D_BLEND_EQUATION, 1); - OUT_RING(chan, nvgl_blend_eqn(ctx->Color.BlendEquationRGB)); + OUT_RING(chan, nvgl_blend_eqn(ctx->Color.Blend[0].EquationRGB)); } void @@ -78,8 +78,8 @@ nv10_emit_blend_func(struct gl_context *ctx, int emit) struct nouveau_grobj *celsius = context_eng3d(ctx); BEGIN_RING(chan, celsius, NV10_3D_BLEND_FUNC_SRC, 2); - OUT_RING(chan, nvgl_blend_func(ctx->Color.BlendSrcRGB)); - OUT_RING(chan, nvgl_blend_func(ctx->Color.BlendDstRGB)); + OUT_RING(chan, nvgl_blend_func(ctx->Color.Blend[0].SrcRGB)); + OUT_RING(chan, nvgl_blend_func(ctx->Color.Blend[0].DstRGB)); } void diff --git a/src/mesa/drivers/dri/r128/r128_state.c b/src/mesa/drivers/dri/r128/r128_state.c index 4a49e8fc70f..d6725cdd0ec 100644 --- a/src/mesa/drivers/dri/r128/r128_state.c +++ b/src/mesa/drivers/dri/r128/r128_state.c @@ -178,12 +178,12 @@ static void r128UpdateAlphaMode( struct gl_context *ctx ) (R128_ALPHA_BLEND_MASK << R128_ALPHA_BLEND_DST_SHIFT) | R128_ALPHA_COMB_FCN_MASK); - a |= blend_factor( rmesa, ctx->Color.BlendSrcRGB, GL_TRUE ) + a |= blend_factor( rmesa, ctx->Color.Blend[0].SrcRGB, GL_TRUE ) << R128_ALPHA_BLEND_SRC_SHIFT; - a |= blend_factor( rmesa, ctx->Color.BlendDstRGB, GL_FALSE ) + a |= blend_factor( rmesa, ctx->Color.Blend[0].DstRGB, GL_FALSE ) << R128_ALPHA_BLEND_DST_SHIFT; - switch (ctx->Color.BlendEquationRGB) { + switch (ctx->Color.Blend[0].EquationRGB) { case GL_FUNC_ADD: a |= R128_ALPHA_COMB_ADD_CLAMP; break; diff --git a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c index b523edcb5d9..0a1e0b47577 100644 --- a/src/mesa/drivers/dri/r200/r200_state.c +++ b/src/mesa/drivers/dri/r200/r200_state.c @@ -245,10 +245,10 @@ static void r200_set_blend_state( struct gl_context * ctx ) } } - func = (blend_factor( ctx->Color.BlendSrcRGB, GL_TRUE ) << R200_SRC_BLEND_SHIFT) | - (blend_factor( ctx->Color.BlendDstRGB, GL_FALSE ) << R200_DST_BLEND_SHIFT); + func = (blend_factor( ctx->Color.Blend[0].SrcRGB, GL_TRUE ) << R200_SRC_BLEND_SHIFT) | + (blend_factor( ctx->Color.Blend[0].DstRGB, GL_FALSE ) << R200_DST_BLEND_SHIFT); - switch(ctx->Color.BlendEquationRGB) { + switch(ctx->Color.Blend[0].EquationRGB) { case GL_FUNC_ADD: eqn = R200_COMB_FCN_ADD_CLAMP; break; @@ -275,7 +275,7 @@ static void r200_set_blend_state( struct gl_context * ctx ) default: fprintf( stderr, "[%s:%u] Invalid RGB blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationRGB ); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationRGB ); return; } @@ -284,10 +284,10 @@ static void r200_set_blend_state( struct gl_context * ctx ) return; } - funcA = (blend_factor( ctx->Color.BlendSrcA, GL_TRUE ) << R200_SRC_BLEND_SHIFT) | - (blend_factor( ctx->Color.BlendDstA, GL_FALSE ) << R200_DST_BLEND_SHIFT); + funcA = (blend_factor( ctx->Color.Blend[0].SrcA, GL_TRUE ) << R200_SRC_BLEND_SHIFT) | + (blend_factor( ctx->Color.Blend[0].DstA, GL_FALSE ) << R200_DST_BLEND_SHIFT); - switch(ctx->Color.BlendEquationA) { + switch(ctx->Color.Blend[0].EquationA) { case GL_FUNC_ADD: eqnA = R200_COMB_FCN_ADD_CLAMP; break; @@ -314,7 +314,7 @@ static void r200_set_blend_state( struct gl_context * ctx ) default: fprintf( stderr, "[%s:%u] Invalid A blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationA ); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationA ); return; } diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index ab8c1df5f74..9df9101bcd3 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -220,12 +220,12 @@ static void r300SetBlendState(struct gl_context * ctx) } func = - (blend_factor(ctx->Color.BlendSrcRGB, GL_TRUE) << - R300_SRC_BLEND_SHIFT) | (blend_factor(ctx->Color.BlendDstRGB, + (blend_factor(ctx->Color.Blend[0].SrcRGB, GL_TRUE) << + R300_SRC_BLEND_SHIFT) | (blend_factor(ctx->Color.Blend[0].DstRGB, GL_FALSE) << R300_DST_BLEND_SHIFT); - switch (ctx->Color.BlendEquationRGB) { + switch (ctx->Color.Blend[0].EquationRGB) { case GL_FUNC_ADD: eqn = R300_COMB_FCN_ADD_CLAMP; break; @@ -253,17 +253,17 @@ static void r300SetBlendState(struct gl_context * ctx) default: fprintf(stderr, "[%s:%u] Invalid RGB blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationRGB); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationRGB); return; } funcA = - (blend_factor(ctx->Color.BlendSrcA, GL_TRUE) << - R300_SRC_BLEND_SHIFT) | (blend_factor(ctx->Color.BlendDstA, + (blend_factor(ctx->Color.Blend[0].SrcA, GL_TRUE) << + R300_SRC_BLEND_SHIFT) | (blend_factor(ctx->Color.Blend[0].DstA, GL_FALSE) << R300_DST_BLEND_SHIFT); - switch (ctx->Color.BlendEquationA) { + switch (ctx->Color.Blend[0].EquationA) { case GL_FUNC_ADD: eqnA = R300_COMB_FCN_ADD_CLAMP; break; @@ -291,7 +291,7 @@ static void r300SetBlendState(struct gl_context * ctx) default: fprintf(stderr, "[%s:%u] Invalid A blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationA); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationA); return; } diff --git a/src/mesa/drivers/dri/r600/evergreen_state.c b/src/mesa/drivers/dri/r600/evergreen_state.c index 648cda0078e..006e50007b6 100644 --- a/src/mesa/drivers/dri/r600/evergreen_state.c +++ b/src/mesa/drivers/dri/r600/evergreen_state.c @@ -363,13 +363,13 @@ static void evergreenSetBlendState(struct gl_context * ctx) //diff : CB_COLOR_CO } SETfield(blend_reg, - evergreenblend_factor(ctx->Color.BlendSrcRGB, GL_TRUE), + evergreenblend_factor(ctx->Color.Blend[0].SrcRGB, GL_TRUE), COLOR_SRCBLEND_shift, COLOR_SRCBLEND_mask); SETfield(blend_reg, - evergreenblend_factor(ctx->Color.BlendDstRGB, GL_FALSE), + evergreenblend_factor(ctx->Color.Blend[0].DstRGB, GL_FALSE), COLOR_DESTBLEND_shift, COLOR_DESTBLEND_mask); - switch (ctx->Color.BlendEquationRGB) { + switch (ctx->Color.Blend[0].EquationRGB) { case GL_FUNC_ADD: eqn = COMB_DST_PLUS_SRC; break; @@ -401,20 +401,20 @@ static void evergreenSetBlendState(struct gl_context * ctx) //diff : CB_COLOR_CO default: fprintf(stderr, "[%s:%u] Invalid RGB blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationRGB); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationRGB); return; } SETfield(blend_reg, eqn, COLOR_COMB_FCN_shift, COLOR_COMB_FCN_mask); SETfield(blend_reg, - evergreenblend_factor(ctx->Color.BlendSrcA, GL_TRUE), + evergreenblend_factor(ctx->Color.Blend[0].SrcA, GL_TRUE), ALPHA_SRCBLEND_shift, ALPHA_SRCBLEND_mask); SETfield(blend_reg, - evergreenblend_factor(ctx->Color.BlendDstA, GL_FALSE), + evergreenblend_factor(ctx->Color.Blend[0].DstA, GL_FALSE), ALPHA_DESTBLEND_shift, ALPHA_DESTBLEND_mask); - switch (ctx->Color.BlendEquationA) { + switch (ctx->Color.Blend[0].EquationA) { case GL_FUNC_ADD: eqnA = COMB_DST_PLUS_SRC; break; @@ -445,7 +445,7 @@ static void evergreenSetBlendState(struct gl_context * ctx) //diff : CB_COLOR_CO default: fprintf(stderr, "[%s:%u] Invalid A blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationA); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationA); return; } diff --git a/src/mesa/drivers/dri/r600/r700_state.c b/src/mesa/drivers/dri/r600/r700_state.c index bd04a633b48..f8770690ff6 100644 --- a/src/mesa/drivers/dri/r600/r700_state.c +++ b/src/mesa/drivers/dri/r600/r700_state.c @@ -474,13 +474,13 @@ static void r700SetBlendState(struct gl_context * ctx) } SETfield(blend_reg, - blend_factor(ctx->Color.BlendSrcRGB, GL_TRUE), + blend_factor(ctx->Color.Blend[0].SrcRGB, GL_TRUE), COLOR_SRCBLEND_shift, COLOR_SRCBLEND_mask); SETfield(blend_reg, - blend_factor(ctx->Color.BlendDstRGB, GL_FALSE), + blend_factor(ctx->Color.Blend[0].DstRGB, GL_FALSE), COLOR_DESTBLEND_shift, COLOR_DESTBLEND_mask); - switch (ctx->Color.BlendEquationRGB) { + switch (ctx->Color.Blend[0].EquationRGB) { case GL_FUNC_ADD: eqn = COMB_DST_PLUS_SRC; break; @@ -512,20 +512,20 @@ static void r700SetBlendState(struct gl_context * ctx) default: fprintf(stderr, "[%s:%u] Invalid RGB blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationRGB); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationRGB); return; } SETfield(blend_reg, eqn, COLOR_COMB_FCN_shift, COLOR_COMB_FCN_mask); SETfield(blend_reg, - blend_factor(ctx->Color.BlendSrcA, GL_TRUE), + blend_factor(ctx->Color.Blend[0].SrcA, GL_TRUE), ALPHA_SRCBLEND_shift, ALPHA_SRCBLEND_mask); SETfield(blend_reg, - blend_factor(ctx->Color.BlendDstA, GL_FALSE), + blend_factor(ctx->Color.Blend[0].DstA, GL_FALSE), ALPHA_DESTBLEND_shift, ALPHA_DESTBLEND_mask); - switch (ctx->Color.BlendEquationA) { + switch (ctx->Color.Blend[0].EquationA) { case GL_FUNC_ADD: eqnA = COMB_DST_PLUS_SRC; break; @@ -556,7 +556,7 @@ static void r700SetBlendState(struct gl_context * ctx) default: fprintf(stderr, "[%s:%u] Invalid A blend equation (0x%04x).\n", - __FUNCTION__, __LINE__, ctx->Color.BlendEquationA); + __FUNCTION__, __LINE__, ctx->Color.Blend[0].EquationA); return; } diff --git a/src/mesa/drivers/dri/radeon/radeon_state.c b/src/mesa/drivers/dri/radeon/radeon_state.c index cae12f192c3..ca42aa39474 100644 --- a/src/mesa/drivers/dri/radeon/radeon_state.c +++ b/src/mesa/drivers/dri/radeon/radeon_state.c @@ -136,7 +136,7 @@ static void radeonBlendEquationSeparate( struct gl_context *ctx, RADEON_STATECHANGE( rmesa, ctx ); rmesa->hw.ctx.cmd[CTX_RB3D_BLENDCNTL] = b; if ( (ctx->Color.ColorLogicOpEnabled || (ctx->Color.BlendEnabled - && ctx->Color.BlendEquationRGB == GL_LOGIC_OP)) ) { + && ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) ) { rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] |= RADEON_ROP_ENABLE; } else { rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] &= ~RADEON_ROP_ENABLE; @@ -153,7 +153,7 @@ static void radeonBlendFuncSeparate( struct gl_context *ctx, ~(RADEON_SRC_BLEND_MASK | RADEON_DST_BLEND_MASK); GLboolean fallback = GL_FALSE; - switch ( ctx->Color.BlendSrcRGB ) { + switch ( ctx->Color.Blend[0].SrcRGB ) { case GL_ZERO: b |= RADEON_SRC_BLEND_GL_ZERO; break; @@ -200,7 +200,7 @@ static void radeonBlendFuncSeparate( struct gl_context *ctx, break; } - switch ( ctx->Color.BlendDstRGB ) { + switch ( ctx->Color.Blend[0].DstRGB ) { case GL_ZERO: b |= RADEON_DST_BLEND_GL_ZERO; break; @@ -1602,7 +1602,7 @@ static void radeonEnable( struct gl_context *ctx, GLenum cap, GLboolean state ) rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] &= ~RADEON_ALPHA_BLEND_ENABLE; } if ( (ctx->Color.ColorLogicOpEnabled || (ctx->Color.BlendEnabled - && ctx->Color.BlendEquationRGB == GL_LOGIC_OP)) ) { + && ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) ) { rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] |= RADEON_ROP_ENABLE; } else { rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] &= ~RADEON_ROP_ENABLE; @@ -1612,12 +1612,12 @@ static void radeonEnable( struct gl_context *ctx, GLenum cap, GLboolean state ) */ if (state) { ctx->Driver.BlendEquationSeparate( ctx, - ctx->Color.BlendEquationRGB, - ctx->Color.BlendEquationA ); - ctx->Driver.BlendFuncSeparate( ctx, ctx->Color.BlendSrcRGB, - ctx->Color.BlendDstRGB, - ctx->Color.BlendSrcA, - ctx->Color.BlendDstA ); + ctx->Color.Blend[0].EquationRGB, + ctx->Color.Blend[0].EquationA ); + ctx->Driver.BlendFuncSeparate( ctx, ctx->Color.Blend[0].SrcRGB, + ctx->Color.Blend[0].DstRGB, + ctx->Color.Blend[0].SrcA, + ctx->Color.Blend[0].DstA ); } else { FALLBACK( rmesa, RADEON_FALLBACK_BLEND_FUNC, GL_FALSE ); @@ -1741,7 +1741,7 @@ static void radeonEnable( struct gl_context *ctx, GLenum cap, GLboolean state ) case GL_COLOR_LOGIC_OP: RADEON_STATECHANGE( rmesa, ctx ); if ( (ctx->Color.ColorLogicOpEnabled || (ctx->Color.BlendEnabled - && ctx->Color.BlendEquationRGB == GL_LOGIC_OP)) ) { + && ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) ) { rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] |= RADEON_ROP_ENABLE; } else { rmesa->hw.ctx.cmd[CTX_RB3D_CNTL] &= ~RADEON_ROP_ENABLE; diff --git a/src/mesa/drivers/dri/savage/savagestate.c b/src/mesa/drivers/dri/savage/savagestate.c index 0906f85b1fa..1feffa0b0a2 100644 --- a/src/mesa/drivers/dri/savage/savagestate.c +++ b/src/mesa/drivers/dri/savage/savagestate.c @@ -136,7 +136,7 @@ static void savageBlendFunc_s4(struct gl_context *ctx) * blend modes */ if(ctx->Color.BlendEnabled){ - switch (ctx->Color.BlendDstRGB) + switch (ctx->Color.Blend[0].DstRGB) { case GL_ZERO: imesa->regs.s4.drawLocalCtrl.ni.dstAlphaMode = DAM_Zero; @@ -192,7 +192,7 @@ static void savageBlendFunc_s4(struct gl_context *ctx) break; } - switch (ctx->Color.BlendSrcRGB) + switch (ctx->Color.Blend[0].SrcRGB) { case GL_ZERO: imesa->regs.s4.drawLocalCtrl.ni.srcAlphaMode = SAM_Zero; @@ -310,7 +310,7 @@ static void savageBlendFunc_s3d(struct gl_context *ctx) * blend modes */ if(ctx->Color.BlendEnabled){ - switch (ctx->Color.BlendDstRGB) + switch (ctx->Color.Blend[0].DstRGB) { case GL_ZERO: imesa->regs.s3d.drawCtrl.ni.dstAlphaMode = DAM_Zero; @@ -366,7 +366,7 @@ static void savageBlendFunc_s3d(struct gl_context *ctx) break; } - switch (ctx->Color.BlendSrcRGB) + switch (ctx->Color.Blend[0].SrcRGB) { case GL_ZERO: imesa->regs.s3d.drawCtrl.ni.srcAlphaMode = SAM_Zero; diff --git a/src/mesa/drivers/dri/tdfx/tdfx_state.c b/src/mesa/drivers/dri/tdfx/tdfx_state.c index 3f6822d4574..b26b2c710b9 100644 --- a/src/mesa/drivers/dri/tdfx/tdfx_state.c +++ b/src/mesa/drivers/dri/tdfx/tdfx_state.c @@ -84,7 +84,7 @@ static void tdfxUpdateAlphaMode( struct gl_context *ctx ) if ( ctx->Color.BlendEnabled && (fxMesa->Fallback & TDFX_FALLBACK_BLEND) == 0 ) { - switch ( ctx->Color.BlendSrcRGB ) { + switch ( ctx->Color.Blend[0].SrcRGB ) { case GL_ZERO: srcRGB = GR_BLEND_ZERO; break; @@ -126,7 +126,7 @@ static void tdfxUpdateAlphaMode( struct gl_context *ctx ) srcRGB = GR_BLEND_ONE; } - switch ( ctx->Color.BlendSrcA ) { + switch ( ctx->Color.Blend[0].SrcA ) { case GL_ZERO: srcA = GR_BLEND_ZERO; break; @@ -156,7 +156,7 @@ static void tdfxUpdateAlphaMode( struct gl_context *ctx ) srcA = GR_BLEND_ONE; } - switch ( ctx->Color.BlendDstRGB ) { + switch ( ctx->Color.Blend[0].DstRGB ) { case GL_ZERO: dstRGB = GR_BLEND_ZERO; break; @@ -195,7 +195,7 @@ static void tdfxUpdateAlphaMode( struct gl_context *ctx ) dstRGB = GR_BLEND_ZERO; } - switch ( ctx->Color.BlendDstA ) { + switch ( ctx->Color.Blend[0].DstA ) { case GL_ZERO: dstA = GR_BLEND_ZERO; break; @@ -222,7 +222,7 @@ static void tdfxUpdateAlphaMode( struct gl_context *ctx ) dstA = GR_BLEND_ZERO; } - switch ( ctx->Color.BlendEquationRGB ) { + switch ( ctx->Color.Blend[0].EquationRGB ) { case GL_FUNC_SUBTRACT: eqRGB = GR_BLEND_OP_SUB; break; @@ -235,7 +235,7 @@ static void tdfxUpdateAlphaMode( struct gl_context *ctx ) break; } - switch ( ctx->Color.BlendEquationA ) { + switch ( ctx->Color.Blend[0].EquationA ) { case GL_FUNC_SUBTRACT: eqA = GR_BLEND_OP_SUB; break; diff --git a/src/mesa/drivers/dri/unichrome/via_state.c b/src/mesa/drivers/dri/unichrome/via_state.c index 033352188d4..774f439bfb6 100644 --- a/src/mesa/drivers/dri/unichrome/via_state.c +++ b/src/mesa/drivers/dri/unichrome/via_state.c @@ -552,7 +552,7 @@ static void viaBlendFunc(struct gl_context *ctx, GLenum sfactor, GLenum dfactor) if (VIA_DEBUG & DEBUG_STATE) fprintf(stderr, "%s in\n", __FUNCTION__); - switch (ctx->Color.BlendSrcRGB) { + switch (ctx->Color.Blend[0].SrcRGB) { case GL_SRC_ALPHA_SATURATE: case GL_CONSTANT_COLOR: case GL_ONE_MINUS_CONSTANT_COLOR: @@ -564,7 +564,7 @@ static void viaBlendFunc(struct gl_context *ctx, GLenum sfactor, GLenum dfactor) break; } - switch (ctx->Color.BlendDstRGB) { + switch (ctx->Color.Blend[0].DstRGB) { case GL_CONSTANT_COLOR: case GL_ONE_MINUS_CONSTANT_COLOR: case GL_CONSTANT_ALPHA: @@ -757,14 +757,14 @@ void viaInitState(struct gl_context *ctx) */ ctx->Driver.BlendEquationSeparate( ctx, - ctx->Color.BlendEquationRGB, - ctx->Color.BlendEquationA); + ctx->Color.Blend[0].EquationRGB, + ctx->Color.Blend[0].EquationA); ctx->Driver.BlendFuncSeparate( ctx, - ctx->Color.BlendSrcRGB, - ctx->Color.BlendDstRGB, - ctx->Color.BlendSrcA, - ctx->Color.BlendDstA); + ctx->Color.Blend[0].SrcRGB, + ctx->Color.Blend[0].DstRGB, + ctx->Color.Blend[0].SrcA, + ctx->Color.Blend[0].DstA); ctx->Driver.Scissor( ctx, ctx->Scissor.X, ctx->Scissor.Y, ctx->Scissor.Width, ctx->Scissor.Height ); @@ -953,8 +953,8 @@ static GLboolean viaChooseTextureState(struct gl_context *ctx) static void viaChooseColorState(struct gl_context *ctx) { struct via_context *vmesa = VIA_CONTEXT(ctx); - GLenum s = ctx->Color.BlendSrcRGB; - GLenum d = ctx->Color.BlendDstRGB; + GLenum s = ctx->Color.Blend[0].SrcRGB; + GLenum d = ctx->Color.Blend[0].DstRGB; /* The HW's blending equation is: * (Ca * FCa + Cbias + Cb * FCb) << Cshift diff --git a/src/mesa/main/APIspec.xml b/src/mesa/main/APIspec.xml index 16d0c9413d0..50446a9093a 100644 --- a/src/mesa/main/APIspec.xml +++ b/src/mesa/main/APIspec.xml @@ -2004,6 +2004,14 @@ <value name="GL_UNSIGNED_INT_24_8_OES"/> </desc> </desc> + + <desc name="format" category="EXT_texture_format_BGRA8888"> + <value name="GL_BGRA_EXT"/> + + <desc name="type" error="GL_INVALID_OPERATION"> + <value name="GL_UNSIGNED_BYTE"/> + </desc> + </desc> </template> <template name="BindTexture"> @@ -3582,6 +3590,7 @@ <function name="ClearColor" template="ClearColor" gltype="GLclampf"/> <function name="ClearStencil" template="ClearStencil"/> <function name="ClearDepth" template="ClearDepth" gltype="GLclampd"/> + <function name="ClearDepthf" template="ClearDepth" gltype="GLclampf"/> <function name="StencilMask" template="StencilMask"/> <function name="StencilMaskSeparate" template="StencilMaskSeparate"/> @@ -3626,6 +3635,7 @@ <function name="IsEnabled" template="IsEnabled"/> <function name="DepthRange" template="DepthRange" gltype="GLclampd"/> + <function name="DepthRangef" template="DepthRange" gltype="GLclampf"/> <function name="Frustum" template="Frustum" gltype="GLdouble"/> <function name="LoadIdentity" template="LoadIdentity"/> diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c index 1427abd107a..546cdd61987 100644 --- a/src/mesa/main/api_exec.c +++ b/src/mesa/main/api_exec.c @@ -361,6 +361,10 @@ _mesa_create_exec_table(void) SET_PointParameterfvEXT(exec, _mesa_PointParameterfv); #endif + /* 95. GL_ARB_ES2_compatibility */ + SET_ClearDepthf(exec, _mesa_ClearDepthf); + SET_DepthRangef(exec, _mesa_DepthRangef); + /* 97. GL_EXT_compiled_vertex_array */ #if _HAVE_FULL_GL SET_LockArraysEXT(exec, _mesa_LockArraysEXT); @@ -707,7 +711,15 @@ _mesa_create_exec_table(void) SET_GetStringi(exec, _mesa_GetStringi); SET_ClampColor(exec, _mesa_ClampColorARB); + /* GL_ARB_instanced_arrays */ + SET_VertexAttribDivisorARB(exec, _mesa_VertexAttribDivisor); + /* GL_ARB_draw_buffer_blend */ + SET_BlendFunciARB(exec, _mesa_BlendFunci); + SET_BlendFuncSeparateiARB(exec, _mesa_BlendFuncSeparatei); + SET_BlendEquationiARB(exec, _mesa_BlendEquationi); + SET_BlendEquationSeparateiARB(exec, _mesa_BlendEquationSeparatei); + return exec; } diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index adfec3b0d5a..7fd1287368f 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -954,20 +954,39 @@ _mesa_PopAttrib(void) _mesa_set_enable(ctx, GL_BLEND, (color->BlendEnabled & 1)); } } - _mesa_BlendFuncSeparateEXT(color->BlendSrcRGB, - color->BlendDstRGB, - color->BlendSrcA, - color->BlendDstA); - /* This special case is because glBlendEquationSeparateEXT - * cannot take GL_LOGIC_OP as a parameter. - */ - if ( color->BlendEquationRGB == color->BlendEquationA ) { - _mesa_BlendEquation(color->BlendEquationRGB); - } - else { - _mesa_BlendEquationSeparateEXT(color->BlendEquationRGB, - color->BlendEquationA); - } + if (ctx->Color._BlendFuncPerBuffer || + ctx->Color._BlendEquationPerBuffer) { + /* set blend per buffer */ + GLuint buf; + for (buf = 0; buf < ctx->Const.MaxDrawBuffers; buf++) { + _mesa_BlendFuncSeparatei(buf, color->Blend[buf].SrcRGB, + color->Blend[buf].DstRGB, + color->Blend[buf].SrcA, + color->Blend[buf].DstA); + _mesa_BlendEquationSeparatei(buf, + color->Blend[buf].EquationRGB, + color->Blend[buf].EquationA); + } + } + else { + /* set same blend modes for all buffers */ + _mesa_BlendFuncSeparateEXT(color->Blend[0].SrcRGB, + color->Blend[0].DstRGB, + color->Blend[0].SrcA, + color->Blend[0].DstA); + /* This special case is because glBlendEquationSeparateEXT + * cannot take GL_LOGIC_OP as a parameter. + */ + if (color->Blend[0].EquationRGB == + color->Blend[0].EquationA) { + _mesa_BlendEquation(color->Blend[0].EquationRGB); + } + else { + _mesa_BlendEquationSeparateEXT( + color->Blend[0].EquationRGB, + color->Blend[0].EquationA); + } + } _mesa_BlendColor(color->BlendColor[0], color->BlendColor[1], color->BlendColor[2], diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c index ec778b7244d..43e2f7f8617 100644 --- a/src/mesa/main/blend.c +++ b/src/mesa/main/blend.c @@ -37,6 +37,110 @@ #include "mtypes.h" + +/** + * Check if given blend source factor is legal. + * \return GL_TRUE if legal, GL_FALSE otherwise. + */ +static GLboolean +legal_src_factor(const struct gl_context *ctx, GLenum factor) +{ + switch (factor) { + case GL_SRC_COLOR: + case GL_ONE_MINUS_SRC_COLOR: + return ctx->Extensions.NV_blend_square; + case GL_ZERO: + case GL_ONE: + case GL_DST_COLOR: + case GL_ONE_MINUS_DST_COLOR: + case GL_SRC_ALPHA: + case GL_ONE_MINUS_SRC_ALPHA: + case GL_DST_ALPHA: + case GL_ONE_MINUS_DST_ALPHA: + case GL_SRC_ALPHA_SATURATE: + case GL_CONSTANT_COLOR: + case GL_ONE_MINUS_CONSTANT_COLOR: + case GL_CONSTANT_ALPHA: + case GL_ONE_MINUS_CONSTANT_ALPHA: + return GL_TRUE; + default: + return GL_FALSE; + } +} + + +/** + * Check if given blend destination factor is legal. + * \return GL_TRUE if legal, GL_FALSE otherwise. + */ +static GLboolean +legal_dst_factor(const struct gl_context *ctx, GLenum factor) +{ + switch (factor) { + case GL_DST_COLOR: + case GL_ONE_MINUS_DST_COLOR: + return ctx->Extensions.NV_blend_square; + case GL_ZERO: + case GL_ONE: + case GL_SRC_COLOR: + case GL_ONE_MINUS_SRC_COLOR: + case GL_SRC_ALPHA: + case GL_ONE_MINUS_SRC_ALPHA: + case GL_DST_ALPHA: + case GL_ONE_MINUS_DST_ALPHA: + case GL_CONSTANT_COLOR: + case GL_ONE_MINUS_CONSTANT_COLOR: + case GL_CONSTANT_ALPHA: + case GL_ONE_MINUS_CONSTANT_ALPHA: + return GL_TRUE; + default: + return GL_FALSE; + } +} + + +/** + * Check if src/dest RGB/A blend factors are legal. If not generate + * a GL error. + * \return GL_TRUE if factors are legal, GL_FALSE otherwise. + */ +static GLboolean +validate_blend_factors(struct gl_context *ctx, const char *func, + GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA) +{ + if (!legal_src_factor(ctx, sfactorRGB)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "%s(sfactorRGB = %s)", func, + _mesa_lookup_enum_by_nr(sfactorRGB)); + return GL_FALSE; + } + + if (!legal_dst_factor(ctx, dfactorRGB)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "%s(dfactorRGB = %s)", func, + _mesa_lookup_enum_by_nr(dfactorRGB)); + return GL_FALSE; + } + + if (sfactorA != sfactorRGB && !legal_src_factor(ctx, sfactorA)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "%s(sfactorA = %s)", func, + _mesa_lookup_enum_by_nr(sfactorA)); + return GL_FALSE; + } + + if (dfactorA != dfactorRGB && !legal_dst_factor(ctx, dfactorA)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "%s(dfactorA = %s)", func, + _mesa_lookup_enum_by_nr(dfactorA)); + return GL_FALSE; + } + + return GL_TRUE; +} + + /** * Specify the blending operation. * @@ -53,21 +157,19 @@ _mesa_BlendFunc( GLenum sfactor, GLenum dfactor ) /** - * Process GL_EXT_blend_func_separate(). + * Set the separate blend source/dest factors for all draw buffers. * * \param sfactorRGB RGB source factor operator. * \param dfactorRGB RGB destination factor operator. * \param sfactorA alpha source factor operator. * \param dfactorA alpha destination factor operator. - * - * Verifies the parameters and updates gl_colorbuffer_attrib. - * On a change, flush the vertices and notify the driver via - * dd_function_table::BlendFuncSeparate. */ void GLAPIENTRY _mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorA, GLenum dfactorA ) { + GLuint buf, numBuffers; + GLboolean changed; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -78,165 +180,130 @@ _mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB, _mesa_lookup_enum_by_nr(sfactorA), _mesa_lookup_enum_by_nr(dfactorA)); - switch (sfactorRGB) { - case GL_SRC_COLOR: - case GL_ONE_MINUS_SRC_COLOR: - if (!ctx->Extensions.NV_blend_square) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (sfactorRGB)"); - return; - } - /* fall-through */ - case GL_ZERO: - case GL_ONE: - case GL_DST_COLOR: - case GL_ONE_MINUS_DST_COLOR: - case GL_SRC_ALPHA: - case GL_ONE_MINUS_SRC_ALPHA: - case GL_DST_ALPHA: - case GL_ONE_MINUS_DST_ALPHA: - case GL_SRC_ALPHA_SATURATE: - case GL_CONSTANT_COLOR: - case GL_ONE_MINUS_CONSTANT_COLOR: - case GL_CONSTANT_ALPHA: - case GL_ONE_MINUS_CONSTANT_ALPHA: - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (sfactorRGB)"); - return; + if (!validate_blend_factors(ctx, "glBlendFuncSeparate", + sfactorRGB, dfactorRGB, + sfactorA, dfactorA)) { + return; } - switch (dfactorRGB) { - case GL_DST_COLOR: - case GL_ONE_MINUS_DST_COLOR: - if (!ctx->Extensions.NV_blend_square) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (dfactorRGB)"); - return; - } - /* fall-through */ - case GL_ZERO: - case GL_ONE: - case GL_SRC_COLOR: - case GL_ONE_MINUS_SRC_COLOR: - case GL_SRC_ALPHA: - case GL_ONE_MINUS_SRC_ALPHA: - case GL_DST_ALPHA: - case GL_ONE_MINUS_DST_ALPHA: - case GL_CONSTANT_COLOR: - case GL_ONE_MINUS_CONSTANT_COLOR: - case GL_CONSTANT_ALPHA: - case GL_ONE_MINUS_CONSTANT_ALPHA: + numBuffers = ctx->Extensions.ARB_draw_buffers_blend + ? ctx->Const.MaxDrawBuffers : 1; + + changed = GL_FALSE; + for (buf = 0; buf < numBuffers; buf++) { + if (ctx->Color.Blend[buf].SrcRGB != sfactorRGB || + ctx->Color.Blend[buf].DstRGB != dfactorRGB || + ctx->Color.Blend[buf].SrcA != sfactorA || + ctx->Color.Blend[buf].DstA != dfactorA) { + changed = GL_TRUE; break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (dfactorRGB)"); - return; + } } + if (!changed) + return; - switch (sfactorA) { - case GL_SRC_COLOR: - case GL_ONE_MINUS_SRC_COLOR: - if (!ctx->Extensions.NV_blend_square) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (sfactorA)"); - return; - } - /* fall-through */ - case GL_ZERO: - case GL_ONE: - case GL_DST_COLOR: - case GL_ONE_MINUS_DST_COLOR: - case GL_SRC_ALPHA: - case GL_ONE_MINUS_SRC_ALPHA: - case GL_DST_ALPHA: - case GL_ONE_MINUS_DST_ALPHA: - case GL_SRC_ALPHA_SATURATE: - case GL_CONSTANT_COLOR: - case GL_ONE_MINUS_CONSTANT_COLOR: - case GL_CONSTANT_ALPHA: - case GL_ONE_MINUS_CONSTANT_ALPHA: - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (sfactorA)"); - return; + FLUSH_VERTICES(ctx, _NEW_COLOR); + + for (buf = 0; buf < numBuffers; buf++) { + ctx->Color.Blend[buf].SrcRGB = sfactorRGB; + ctx->Color.Blend[buf].DstRGB = dfactorRGB; + ctx->Color.Blend[buf].SrcA = sfactorA; + ctx->Color.Blend[buf].DstA = dfactorA; } + ctx->Color._BlendFuncPerBuffer = GL_FALSE; - switch (dfactorA) { - case GL_DST_COLOR: - case GL_ONE_MINUS_DST_COLOR: - if (!ctx->Extensions.NV_blend_square) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (dfactorA)"); - return; - } - /* fall-through */ - case GL_ZERO: - case GL_ONE: - case GL_SRC_COLOR: - case GL_ONE_MINUS_SRC_COLOR: - case GL_SRC_ALPHA: - case GL_ONE_MINUS_SRC_ALPHA: - case GL_DST_ALPHA: - case GL_ONE_MINUS_DST_ALPHA: - case GL_CONSTANT_COLOR: - case GL_ONE_MINUS_CONSTANT_COLOR: - case GL_CONSTANT_ALPHA: - case GL_ONE_MINUS_CONSTANT_ALPHA: - break; - default: - _mesa_error( ctx, GL_INVALID_ENUM, "glBlendFunc or glBlendFuncSeparate (dfactorA)" ); - return; + if (ctx->Driver.BlendFuncSeparate) { + ctx->Driver.BlendFuncSeparate(ctx, sfactorRGB, dfactorRGB, + sfactorA, dfactorA); } +} + - if (ctx->Color.BlendSrcRGB == sfactorRGB && - ctx->Color.BlendDstRGB == dfactorRGB && - ctx->Color.BlendSrcA == sfactorA && - ctx->Color.BlendDstA == dfactorA) +#if _HAVE_FULL_GL + + +/** + * Set blend source/dest factors for one color buffer/target. + */ +void GLAPIENTRY +_mesa_BlendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) +{ + _mesa_BlendFuncSeparatei(buf, sfactor, dfactor, sfactor, dfactor); +} + + +/** + * Set separate blend source/dest factors for one color buffer/target. + */ +void GLAPIENTRY +_mesa_BlendFuncSeparatei(GLuint buf, GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END(ctx); + + if (!ctx->Extensions.ARB_draw_buffers_blend) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glBlendFunc[Separate]i()"); + return; + } + + if (buf >= ctx->Const.MaxDrawBuffers) { + _mesa_error(ctx, GL_INVALID_VALUE, "glBlendFuncSeparatei(buffer=%u)", + buf); return; + } + + if (!validate_blend_factors(ctx, "glBlendFuncSeparatei", + sfactorRGB, dfactorRGB, + sfactorA, dfactorA)) { + return; + } + + if (ctx->Color.Blend[buf].SrcRGB == sfactorRGB && + ctx->Color.Blend[buf].DstRGB == dfactorRGB && + ctx->Color.Blend[buf].SrcA == sfactorA && + ctx->Color.Blend[buf].DstA == dfactorA) + return; /* no change */ FLUSH_VERTICES(ctx, _NEW_COLOR); - ctx->Color.BlendSrcRGB = sfactorRGB; - ctx->Color.BlendDstRGB = dfactorRGB; - ctx->Color.BlendSrcA = sfactorA; - ctx->Color.BlendDstA = dfactorA; + ctx->Color.Blend[buf].SrcRGB = sfactorRGB; + ctx->Color.Blend[buf].DstRGB = dfactorRGB; + ctx->Color.Blend[buf].SrcA = sfactorA; + ctx->Color.Blend[buf].DstA = dfactorA; + ctx->Color._BlendFuncPerBuffer = GL_TRUE; - if (ctx->Driver.BlendFuncSeparate) { - (*ctx->Driver.BlendFuncSeparate)( ctx, sfactorRGB, dfactorRGB, - sfactorA, dfactorA ); + if (ctx->Driver.BlendFuncSeparatei) { + ctx->Driver.BlendFuncSeparatei(ctx, buf, sfactorRGB, dfactorRGB, + sfactorA, dfactorA); } } -#if _HAVE_FULL_GL - +/** + * Check if given blend equation is legal. + * \return GL_TRUE if legal, GL_FALSE otherwise. + */ static GLboolean -_mesa_validate_blend_equation( struct gl_context *ctx, - GLenum mode, GLboolean is_separate ) +legal_blend_equation(const struct gl_context *ctx, + GLenum mode, GLboolean is_separate) { switch (mode) { - case GL_FUNC_ADD: - break; - case GL_MIN: - case GL_MAX: - if (!ctx->Extensions.EXT_blend_minmax) { - return GL_FALSE; - } - break; + case GL_FUNC_ADD: + return GL_TRUE; + case GL_MIN: + case GL_MAX: + return ctx->Extensions.EXT_blend_minmax; + case GL_LOGIC_OP: /* glBlendEquationSeparate cannot take GL_LOGIC_OP as a parameter. */ - case GL_LOGIC_OP: - if (!ctx->Extensions.EXT_blend_logic_op || is_separate) { - return GL_FALSE; - } - break; - case GL_FUNC_SUBTRACT: - case GL_FUNC_REVERSE_SUBTRACT: - if (!ctx->Extensions.EXT_blend_subtract) { - return GL_FALSE; - } - break; - default: - return GL_FALSE; + return ctx->Extensions.EXT_blend_logic_op && !is_separate; + case GL_FUNC_SUBTRACT: + case GL_FUNC_REVERSE_SUBTRACT: + return ctx->Extensions.EXT_blend_subtract; + default: + return GL_FALSE; } - - return GL_TRUE; } @@ -244,6 +311,8 @@ _mesa_validate_blend_equation( struct gl_context *ctx, void GLAPIENTRY _mesa_BlendEquation( GLenum mode ) { + GLuint buf, numBuffers; + GLboolean changed; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -251,27 +320,80 @@ _mesa_BlendEquation( GLenum mode ) _mesa_debug(ctx, "glBlendEquation %s\n", _mesa_lookup_enum_by_nr(mode)); - if ( ! _mesa_validate_blend_equation( ctx, mode, GL_FALSE ) ) { + if (!legal_blend_equation(ctx, mode, GL_FALSE)) { _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquation"); return; } - if ( (ctx->Color.BlendEquationRGB == mode) && - (ctx->Color.BlendEquationA == mode) ) + numBuffers = ctx->Extensions.ARB_draw_buffers_blend + ? ctx->Const.MaxDrawBuffers : 1; + + changed = GL_FALSE; + for (buf = 0; buf < numBuffers; buf++) { + if (ctx->Color.Blend[buf].EquationRGB != mode || + ctx->Color.Blend[buf].EquationA != mode) { + changed = GL_TRUE; + break; + } + } + if (!changed) return; FLUSH_VERTICES(ctx, _NEW_COLOR); - ctx->Color.BlendEquationRGB = mode; - ctx->Color.BlendEquationA = mode; + for (buf = 0; buf < numBuffers; buf++) { + ctx->Color.Blend[buf].EquationRGB = mode; + ctx->Color.Blend[buf].EquationA = mode; + } + ctx->Color._BlendEquationPerBuffer = GL_FALSE; if (ctx->Driver.BlendEquationSeparate) (*ctx->Driver.BlendEquationSeparate)( ctx, mode, mode ); } +/** + * Set blend equation for one color buffer/target. + */ +void GLAPIENTRY +_mesa_BlendEquationi(GLuint buf, GLenum mode) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END(ctx); + + if (MESA_VERBOSE & VERBOSE_API) + _mesa_debug(ctx, "glBlendEquationi(%u, %s)\n", + buf, _mesa_lookup_enum_by_nr(mode)); + + if (buf >= ctx->Const.MaxDrawBuffers) { + _mesa_error(ctx, GL_INVALID_VALUE, "glBlendFuncSeparatei(buffer=%u)", + buf); + return; + } + + if (!legal_blend_equation(ctx, mode, GL_FALSE)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquationi"); + return; + } + + if (ctx->Color.Blend[buf].EquationRGB == mode && + ctx->Color.Blend[buf].EquationA == mode) + return; /* no change */ + + FLUSH_VERTICES(ctx, _NEW_COLOR); + ctx->Color.Blend[buf].EquationRGB = mode; + ctx->Color.Blend[buf].EquationA = mode; + ctx->Color._BlendEquationPerBuffer = GL_TRUE; + + if (ctx->Driver.BlendEquationSeparatei) + ctx->Driver.BlendEquationSeparatei(ctx, buf, mode, mode); +} + + void GLAPIENTRY _mesa_BlendEquationSeparateEXT( GLenum modeRGB, GLenum modeA ) { + GLuint buf, numBuffers; + GLboolean changed; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -286,29 +408,88 @@ _mesa_BlendEquationSeparateEXT( GLenum modeRGB, GLenum modeA ) return; } - if ( ! _mesa_validate_blend_equation( ctx, modeRGB, GL_TRUE ) ) { + if (!legal_blend_equation(ctx, modeRGB, GL_TRUE)) { _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquationSeparateEXT(modeRGB)"); return; } - if ( ! _mesa_validate_blend_equation( ctx, modeA, GL_TRUE ) ) { + if (!legal_blend_equation(ctx, modeA, GL_TRUE)) { _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquationSeparateEXT(modeA)"); return; } + numBuffers = ctx->Extensions.ARB_draw_buffers_blend + ? ctx->Const.MaxDrawBuffers : 1; - if ( (ctx->Color.BlendEquationRGB == modeRGB) && - (ctx->Color.BlendEquationA == modeA) ) + changed = GL_FALSE; + for (buf = 0; buf < numBuffers; buf++) { + if (ctx->Color.Blend[buf].EquationRGB != modeRGB || + ctx->Color.Blend[buf].EquationA != modeA) { + changed = GL_TRUE; + break; + } + } + if (!changed) return; FLUSH_VERTICES(ctx, _NEW_COLOR); - ctx->Color.BlendEquationRGB = modeRGB; - ctx->Color.BlendEquationA = modeA; + for (buf = 0; buf < numBuffers; buf++) { + ctx->Color.Blend[buf].EquationRGB = modeRGB; + ctx->Color.Blend[buf].EquationA = modeA; + } + ctx->Color._BlendEquationPerBuffer = GL_FALSE; if (ctx->Driver.BlendEquationSeparate) - (*ctx->Driver.BlendEquationSeparate)( ctx, modeRGB, modeA ); + ctx->Driver.BlendEquationSeparate(ctx, modeRGB, modeA); } -#endif + + +/** + * Set separate blend equations for one color buffer/target. + */ +void +_mesa_BlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeA) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END(ctx); + + if (MESA_VERBOSE & VERBOSE_API) + _mesa_debug(ctx, "glBlendEquationSeparatei %u, %s %s\n", buf, + _mesa_lookup_enum_by_nr(modeRGB), + _mesa_lookup_enum_by_nr(modeA)); + + if (buf >= ctx->Const.MaxDrawBuffers) { + _mesa_error(ctx, GL_INVALID_VALUE, "glBlendEquationSeparatei(buffer=%u)", + buf); + return; + } + + if (!legal_blend_equation(ctx, modeRGB, GL_TRUE)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquationSeparatei(modeRGB)"); + return; + } + + if (!legal_blend_equation(ctx, modeA, GL_TRUE)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glBlendEquationSeparatei(modeA)"); + return; + } + + if (ctx->Color.Blend[buf].EquationRGB == modeRGB && + ctx->Color.Blend[buf].EquationA == modeA) + return; /* no change */ + + FLUSH_VERTICES(ctx, _NEW_COLOR); + ctx->Color.Blend[buf].EquationRGB = modeRGB; + ctx->Color.Blend[buf].EquationA = modeA; + ctx->Color._BlendEquationPerBuffer = GL_TRUE; + + if (ctx->Driver.BlendEquationSeparatei) + ctx->Driver.BlendEquationSeparatei(ctx, buf, modeRGB, modeA); +} + + + +#endif /* _HAVE_FULL_GL */ /** @@ -593,6 +774,8 @@ _mesa_ClampColorARB(GLenum target, GLenum clamp) */ void _mesa_init_color( struct gl_context * ctx ) { + GLuint i; + /* Color buffer group */ ctx->Color.IndexMask = ~0u; memset(ctx->Color.ColorMask, 0xff, sizeof(ctx->Color.ColorMask)); @@ -602,12 +785,14 @@ void _mesa_init_color( struct gl_context * ctx ) ctx->Color.AlphaFunc = GL_ALWAYS; ctx->Color.AlphaRef = 0; ctx->Color.BlendEnabled = 0x0; - ctx->Color.BlendSrcRGB = GL_ONE; - ctx->Color.BlendDstRGB = GL_ZERO; - ctx->Color.BlendSrcA = GL_ONE; - ctx->Color.BlendDstA = GL_ZERO; - ctx->Color.BlendEquationRGB = GL_FUNC_ADD; - ctx->Color.BlendEquationA = GL_FUNC_ADD; + for (i = 0; i < Elements(ctx->Color.Blend); i++) { + ctx->Color.Blend[i].SrcRGB = GL_ONE; + ctx->Color.Blend[i].DstRGB = GL_ZERO; + ctx->Color.Blend[i].SrcA = GL_ONE; + ctx->Color.Blend[i].DstA = GL_ZERO; + ctx->Color.Blend[i].EquationRGB = GL_FUNC_ADD; + ctx->Color.Blend[i].EquationA = GL_FUNC_ADD; + } ASSIGN_4V( ctx->Color.BlendColor, 0.0, 0.0, 0.0, 0.0 ); ctx->Color.IndexLogicOpEnabled = GL_FALSE; ctx->Color.ColorLogicOpEnabled = GL_FALSE; diff --git a/src/mesa/main/blend.h b/src/mesa/main/blend.h index f72c779f1aa..39e7c9fd49b 100644 --- a/src/mesa/main/blend.h +++ b/src/mesa/main/blend.h @@ -48,13 +48,30 @@ _mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB, extern void GLAPIENTRY +_mesa_BlendFunci(GLuint buf, GLenum sfactor, GLenum dfactor); + + +extern void GLAPIENTRY +_mesa_BlendFuncSeparatei(GLuint buf, GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA); + + +extern void GLAPIENTRY _mesa_BlendEquation( GLenum mode ); extern void GLAPIENTRY +_mesa_BlendEquationi(GLuint buf, GLenum mode); + + +extern void GLAPIENTRY _mesa_BlendEquationSeparateEXT( GLenum modeRGB, GLenum modeA ); +extern void +_mesa_BlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeA); + + extern void GLAPIENTRY _mesa_BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index 42d98a33a8d..8fb9b4c6b7a 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -320,7 +320,7 @@ do { \ */ #define RGBA_LOGICOP_ENABLED(CTX) \ ((CTX)->Color.ColorLogicOpEnabled || \ - ((CTX)->Color.BlendEnabled && (CTX)->Color.BlendEquationRGB == GL_LOGIC_OP)) + ((CTX)->Color.BlendEnabled && (CTX)->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) #endif /* CONTEXT_H */ diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index c62969e9b7e..2eede4268ca 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -635,10 +635,15 @@ struct dd_function_table { void (*BlendColor)(struct gl_context *ctx, const GLfloat color[4]); /** Set the blend equation */ void (*BlendEquationSeparate)(struct gl_context *ctx, GLenum modeRGB, GLenum modeA); + void (*BlendEquationSeparatei)(struct gl_context *ctx, GLuint buffer, + GLenum modeRGB, GLenum modeA); /** Specify pixel arithmetic */ void (*BlendFuncSeparate)(struct gl_context *ctx, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorA, GLenum dfactorA); + void (*BlendFuncSeparatei)(struct gl_context *ctx, GLuint buffer, + GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA); /** Specify clear values for the color buffers */ void (*ClearColor)(struct gl_context *ctx, const GLfloat color[4]); /** Specify the clear value for the depth buffer */ diff --git a/src/mesa/main/depth.c b/src/mesa/main/depth.c index c5a910e144a..0bb47731ea3 100644 --- a/src/mesa/main/depth.c +++ b/src/mesa/main/depth.c @@ -56,6 +56,12 @@ _mesa_ClearDepth( GLclampd depth ) } +void GLAPIENTRY +_mesa_ClearDepthf( GLclampf depth ) +{ + _mesa_ClearDepth(depth); +} + void GLAPIENTRY _mesa_DepthFunc( GLenum func ) diff --git a/src/mesa/main/depth.h b/src/mesa/main/depth.h index b498a471534..2f428629f9a 100644 --- a/src/mesa/main/depth.h +++ b/src/mesa/main/depth.h @@ -44,6 +44,9 @@ extern void GLAPIENTRY _mesa_ClearDepth( GLclampd depth ); extern void GLAPIENTRY +_mesa_ClearDepthf( GLclampf depth ); + +extern void GLAPIENTRY _mesa_DepthFunc( GLenum func ); extern void GLAPIENTRY diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 6c0c556ad8d..cdf349104a4 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -188,6 +188,12 @@ typedef enum OPCODE_BLEND_EQUATION, OPCODE_BLEND_EQUATION_SEPARATE, OPCODE_BLEND_FUNC_SEPARATE, + + OPCODE_BLEND_EQUATION_I, + OPCODE_BLEND_EQUATION_SEPARATE_I, + OPCODE_BLEND_FUNC_I, + OPCODE_BLEND_FUNC_SEPARATE_I, + OPCODE_CALL_LIST, OPCODE_CALL_LIST_OFFSET, OPCODE_CLEAR, @@ -421,6 +427,9 @@ typedef enum OPCODE_ACTIVE_PROGRAM_EXT, OPCODE_USE_SHADER_PROGRAM_EXT, + /* GL_ARB_instanced_arrays */ + OPCODE_VERTEX_ATTRIB_DIVISOR, + /* The following three are meta instructions */ OPCODE_ERROR, /* raise compiled-in error */ OPCODE_CONTINUE, @@ -1143,6 +1152,82 @@ save_BlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) } } +/* GL_ARB_draw_buffers_blend */ +static void GLAPIENTRY +save_BlendFuncSeparatei(GLuint buf, GLenum sfactorRGB, GLenum dfactorRGB, + GLenum sfactorA, GLenum dfactorA) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_BLEND_FUNC_SEPARATE_I, 5); + if (n) { + n[1].ui = buf; + n[2].e = sfactorRGB; + n[3].e = dfactorRGB; + n[4].e = sfactorA; + n[5].e = dfactorA; + } + if (ctx->ExecuteFlag) { + CALL_BlendFuncSeparateiARB(ctx->Exec, (buf, sfactorRGB, dfactorRGB, + sfactorA, dfactorA)); + } +} + +/* GL_ARB_draw_buffers_blend */ +static void GLAPIENTRY +save_BlendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_BLEND_FUNC_SEPARATE_I, 3); + if (n) { + n[1].ui = buf; + n[2].e = sfactor; + n[3].e = dfactor; + } + if (ctx->ExecuteFlag) { + CALL_BlendFunciARB(ctx->Exec, (buf, sfactor, dfactor)); + } +} + +/* GL_ARB_draw_buffers_blend */ +static void GLAPIENTRY +save_BlendEquationi(GLuint buf, GLenum mode) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION_I, 2); + if (n) { + n[1].ui = buf; + n[2].e = mode; + } + if (ctx->ExecuteFlag) { + CALL_BlendEquationiARB(ctx->Exec, (buf, mode)); + } +} + +/* GL_ARB_draw_buffers_blend */ +static void GLAPIENTRY +save_BlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeA) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_BLEND_EQUATION_SEPARATE_I, 3); + if (n) { + n[1].ui = buf; + n[2].e = modeRGB; + n[3].e = modeA; + } + if (ctx->ExecuteFlag) { + CALL_BlendEquationSeparateiARB(ctx->Exec, (buf, modeRGB, modeA)); + } +} + + static void invalidate_saved_current_state( struct gl_context *ctx ) { GLint i; @@ -6927,6 +7012,22 @@ exec_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) } +/* GL_ARB_instanced_arrays */ +static void +save_VertexAttribDivisor(GLuint index, GLuint divisor) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_VERTEX_ATTRIB_DIVISOR, 2); + if (n) { + n[1].ui = index; + n[2].ui = divisor; + } + if (ctx->ExecuteFlag) { + CALL_VertexAttribDivisorARB(ctx->Exec, (index, divisor)); + } +} @@ -7058,6 +7159,26 @@ execute_list(struct gl_context *ctx, GLuint list) CALL_BlendFuncSeparateEXT(ctx->Exec, (n[1].e, n[2].e, n[3].e, n[4].e)); break; + + case OPCODE_BLEND_FUNC_I: + /* GL_ARB_draw_buffers_blend */ + CALL_BlendFunciARB(ctx->Exec, (n[1].ui, n[2].e, n[3].e)); + break; + case OPCODE_BLEND_FUNC_SEPARATE_I: + /* GL_ARB_draw_buffers_blend */ + CALL_BlendFuncSeparateiARB(ctx->Exec, (n[1].ui, n[2].e, n[3].e, + n[4].e, n[5].e)); + break; + case OPCODE_BLEND_EQUATION_I: + /* GL_ARB_draw_buffers_blend */ + CALL_BlendEquationiARB(ctx->Exec, (n[1].ui, n[2].e)); + break; + case OPCODE_BLEND_EQUATION_SEPARATE_I: + /* GL_ARB_draw_buffers_blend */ + CALL_BlendEquationSeparateiARB(ctx->Exec, + (n[1].ui, n[2].e, n[3].e)); + break; + case OPCODE_CALL_LIST: /* Generated by glCallList(), don't add ListBase */ if (ctx->ListState.CallDepth < MAX_LIST_NESTING) { @@ -8080,6 +8201,11 @@ execute_list(struct gl_context *ctx, GLuint list) } break; + case OPCODE_VERTEX_ATTRIB_DIVISOR: + /* GL_ARB_instanced_arrays */ + CALL_VertexAttribDivisorARB(ctx->Exec, (n[1].ui, n[2].ui)); + break; + case OPCODE_CONTINUE: n = (Node *) n[1].next; break; @@ -9749,6 +9875,15 @@ _mesa_create_save_table(void) (void) save_Uniform4uiv; #endif + /* GL_ARB_instanced_arrays */ + SET_VertexAttribDivisorARB(table, save_VertexAttribDivisor); + + /* GL_ARB_draw_buffer_blend */ + SET_BlendFunciARB(table, save_BlendFunci); + SET_BlendFuncSeparateiARB(table, save_BlendFuncSeparatei); + SET_BlendEquationiARB(table, save_BlendEquationi); + SET_BlendEquationSeparateiARB(table, save_BlendEquationSeparatei); + return table; } diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index 0ce62c0e3c7..c358fb246bc 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -2275,6 +2275,7 @@ LONGSTRING static const char enum_string_table[] = "GL_VERTEX_ATTRIB_ARRAY9_NV\0" "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\0" "GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB\0" + "GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB\0" "GL_VERTEX_ATTRIB_ARRAY_ENABLED\0" "GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB\0" "GL_VERTEX_ATTRIB_ARRAY_INTEGER\0" @@ -2332,7 +2333,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[2294] = +static const enum_elt all_enums[2295] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -4573,64 +4574,65 @@ static const enum_elt all_enums[2294] = { 49885, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ { 49912, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ { 49950, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 49992, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 50023, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 50058, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ - { 50089, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ - { 50124, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 50158, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 50196, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 50227, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 50262, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 50290, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 50322, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 50352, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 50386, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 50414, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 50446, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 50466, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 50488, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 50517, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 50538, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 50567, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 50600, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 50632, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 50659, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 50690, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 50720, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 50737, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 50758, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 50785, 0x00000BA2 }, /* GL_VIEWPORT */ - { 50797, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 50813, 0x00008A1A }, /* GL_VOLATILE_APPLE */ - { 50831, 0x0000911D }, /* GL_WAIT_FAILED */ - { 50846, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 50866, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 50897, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 50932, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ - { 50967, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ - { 50987, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 51015, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ - { 51043, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 51068, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ - { 51093, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 51120, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ - { 51147, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 51172, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ - { 51197, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 51221, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 51240, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 51254, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 51272, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ - { 51290, 0x00001506 }, /* GL_XOR */ - { 51297, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 51316, 0x00008757 }, /* GL_YCBCR_MESA */ - { 51330, 0x00000000 }, /* GL_ZERO */ - { 51338, 0x00000D16 }, /* GL_ZOOM_X */ - { 51348, 0x00000D17 }, /* GL_ZOOM_Y */ + { 49992, 0x000088FE }, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ + { 50027, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 50058, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 50093, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + { 50124, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ + { 50159, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 50193, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 50231, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 50262, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 50297, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 50325, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 50357, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 50387, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 50421, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 50449, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 50481, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 50501, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 50523, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 50552, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 50573, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 50602, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 50635, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 50667, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 50694, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 50725, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 50755, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 50772, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 50793, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 50820, 0x00000BA2 }, /* GL_VIEWPORT */ + { 50832, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 50848, 0x00008A1A }, /* GL_VOLATILE_APPLE */ + { 50866, 0x0000911D }, /* GL_WAIT_FAILED */ + { 50881, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 50901, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 50932, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 50967, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ + { 51002, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ + { 51022, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 51050, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ + { 51078, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 51103, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ + { 51128, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 51155, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ + { 51182, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 51207, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ + { 51232, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 51256, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 51275, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 51289, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 51307, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ + { 51325, 0x00001506 }, /* GL_XOR */ + { 51332, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 51351, 0x00008757 }, /* GL_YCBCR_MESA */ + { 51365, 0x00000000 }, /* GL_ZERO */ + { 51373, 0x00000D16 }, /* GL_ZOOM_X */ + { 51383, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1551] = +static const unsigned reduced_enums[1552] = { 535, /* GL_FALSE */ 827, /* GL_LINES */ @@ -4776,7 +4778,7 @@ static const unsigned reduced_enums[1551] = 1856, /* GL_STENCIL_WRITEMASK */ 1006, /* GL_MATRIX_MODE */ 1222, /* GL_NORMALIZE */ - 2266, /* GL_VIEWPORT */ + 2267, /* GL_VIEWPORT */ 1195, /* GL_MODELVIEW_STACK_DEPTH */ 1481, /* GL_PROJECTION_STACK_DEPTH */ 2089, /* GL_TEXTURE_STACK_DEPTH */ @@ -4856,8 +4858,8 @@ static const unsigned reduced_enums[1551] = 741, /* GL_INDEX_OFFSET */ 1550, /* GL_RED_SCALE */ 1546, /* GL_RED_BIAS */ - 2292, /* GL_ZOOM_X */ - 2293, /* GL_ZOOM_Y */ + 2293, /* GL_ZOOM_X */ + 2294, /* GL_ZOOM_Y */ 697, /* GL_GREEN_SCALE */ 693, /* GL_GREEN_BIAS */ 115, /* GL_BLUE_SCALE */ @@ -4960,7 +4962,7 @@ static const unsigned reduced_enums[1551] = 347, /* GL_COPY */ 59, /* GL_AND_INVERTED */ 1220, /* GL_NOOP */ - 2288, /* GL_XOR */ + 2289, /* GL_XOR */ 1287, /* GL_OR */ 1221, /* GL_NOR */ 526, /* GL_EQUIV */ @@ -5301,7 +5303,7 @@ static const unsigned reduced_enums[1551] = 354, /* GL_CULL_VERTEX_EXT */ 356, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ 355, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 2284, /* GL_WRAP_BORDER_SUN */ + 2285, /* GL_WRAP_BORDER_SUN */ 1991, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ 816, /* GL_LIGHT_MODEL_COLOR_CONTROL */ 1758, /* GL_SINGLE_COLOR */ @@ -5481,7 +5483,7 @@ static const unsigned reduced_enums[1551] = 2213, /* GL_VERTEX_ARRAY_BINDING */ 2080, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ 2081, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 2289, /* GL_YCBCR_422_APPLE */ + 2290, /* GL_YCBCR_422_APPLE */ 2202, /* GL_UNSIGNED_SHORT_8_8_APPLE */ 2204, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ 2092, /* GL_TEXTURE_STORAGE_HINT_APPLE */ @@ -5491,12 +5493,12 @@ static const unsigned reduced_enums[1551] = 1760, /* GL_SLICE_ACCUM_SUN */ 1510, /* GL_QUAD_MESH_SUN */ 2139, /* GL_TRIANGLE_MESH_SUN */ - 2254, /* GL_VERTEX_PROGRAM_ARB */ - 2265, /* GL_VERTEX_STATE_PROGRAM_NV */ - 2239, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 2247, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 2249, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 2251, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 2255, /* GL_VERTEX_PROGRAM_ARB */ + 2266, /* GL_VERTEX_STATE_PROGRAM_NV */ + 2240, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 2248, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 2250, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 2252, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ 383, /* GL_CURRENT_VERTEX_ATTRIB */ 1455, /* GL_PROGRAM_LENGTH_ARB */ 1471, /* GL_PROGRAM_STRING_ARB */ @@ -5518,14 +5520,14 @@ static const unsigned reduced_enums[1551] = 366, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ 363, /* GL_CURRENT_MATRIX_ARB */ 1468, /* GL_PROGRAM_POINT_SIZE */ - 2260, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 2261, /* GL_VERTEX_PROGRAM_TWO_SIDE */ 1467, /* GL_PROGRAM_PARAMETER_NV */ - 2245, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 2246, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ 1473, /* GL_PROGRAM_TARGET_NV */ 1470, /* GL_PROGRAM_RESIDENT_NV */ 2102, /* GL_TRACK_MATRIX_NV */ 2103, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 2255, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 2256, /* GL_VERTEX_PROGRAM_BINDING_NV */ 1449, /* GL_PROGRAM_ERROR_POSITION_ARB */ 408, /* GL_DEPTH_CLAMP */ 2221, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ @@ -5582,14 +5584,14 @@ static const unsigned reduced_enums[1551] = 311, /* GL_COMPRESSED_TEXTURE_FORMATS */ 1134, /* GL_MAX_VERTEX_UNITS_ARB */ 23, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 2283, /* GL_WEIGHT_SUM_UNITY_ARB */ - 2253, /* GL_VERTEX_BLEND_ARB */ + 2284, /* GL_WEIGHT_SUM_UNITY_ARB */ + 2254, /* GL_VERTEX_BLEND_ARB */ 385, /* GL_CURRENT_WEIGHT_ARB */ - 2281, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 2279, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 2277, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 2275, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 2270, /* GL_WEIGHT_ARRAY_ARB */ + 2282, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 2280, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 2278, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 2276, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 2271, /* GL_WEIGHT_ARRAY_ARB */ 442, /* GL_DOT3_RGB */ 443, /* GL_DOT3_RGBA */ 305, /* GL_COMPRESSED_RGB_FXT1_3DFX */ @@ -5634,7 +5636,7 @@ static const unsigned reduced_enums[1551] = 1197, /* GL_MODULATE_ADD_ATI */ 1198, /* GL_MODULATE_SIGNED_ADD_ATI */ 1199, /* GL_MODULATE_SUBTRACT_ATI */ - 2290, /* GL_YCBCR_MESA */ + 2291, /* GL_YCBCR_MESA */ 1294, /* GL_PACK_INVERT_MESA */ 388, /* GL_DEBUG_OBJECT_MESA */ 389, /* GL_DEBUG_PRINT_MESA */ @@ -5713,7 +5715,7 @@ static const unsigned reduced_enums[1551] = 1520, /* GL_QUERY_RESULT */ 1522, /* GL_QUERY_RESULT_AVAILABLE */ 1126, /* GL_MAX_VERTEX_ATTRIBS */ - 2243, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 2244, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ 433, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ 432, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ 1103, /* GL_MAX_TEXTURE_COORDS */ @@ -5736,7 +5738,7 @@ static const unsigned reduced_enums[1551] = 516, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ 1730, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ 573, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 2271, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 2272, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ 2237, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ 1454, /* GL_PROGRAM_INSTRUCTIONS_ARB */ 1070, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ @@ -5763,7 +5765,7 @@ static const unsigned reduced_enums[1551] = 1477, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ 2127, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ 1539, /* GL_READ_ONLY */ - 2285, /* GL_WRITE_ONLY */ + 2286, /* GL_WRITE_ONLY */ 1541, /* GL_READ_WRITE */ 124, /* GL_BUFFER_ACCESS */ 129, /* GL_BUFFER_MAPPED */ @@ -5821,7 +5823,8 @@ static const unsigned reduced_enums[1551] = 1069, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ 1073, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ 1072, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 2241, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + 2242, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + 2239, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ 1012, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ 1149, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ 1086, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ @@ -5843,12 +5846,12 @@ static const unsigned reduced_enums[1551] = 138, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ 128, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ 1556, /* GL_RELEASED_APPLE */ - 2268, /* GL_VOLATILE_APPLE */ + 2269, /* GL_VOLATILE_APPLE */ 1595, /* GL_RETAINED_APPLE */ 2144, /* GL_UNDEFINED_APPLE */ 1504, /* GL_PURGEABLE_APPLE */ 596, /* GL_FRAGMENT_SHADER */ - 2263, /* GL_VERTEX_SHADER */ + 2264, /* GL_VERTEX_SHADER */ 1465, /* GL_PROGRAM_OBJECT_ARB */ 1747, /* GL_SHADER_OBJECT_ARB */ 1041, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ @@ -5909,8 +5912,8 @@ static const unsigned reduced_enums[1551] = 1306, /* GL_PALETTE8_R5_G6_B5_OES */ 1309, /* GL_PALETTE8_RGBA4_OES */ 1307, /* GL_PALETTE8_RGB5_A1_OES */ - 726, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - 724, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + 725, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + 723, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ 1355, /* GL_POINT_SIZE_ARRAY_OES */ 2014, /* GL_TEXTURE_CROP_RECT_OES */ 996, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ @@ -6166,7 +6169,7 @@ static const unsigned reduced_enums[1551] = 54, /* GL_ALREADY_SIGNALED */ 2100, /* GL_TIMEOUT_EXPIRED */ 312, /* GL_CONDITION_SATISFIED */ - 2269, /* GL_WAIT_FAILED */ + 2270, /* GL_WAIT_FAILED */ 126, /* GL_BUFFER_ACCESS_FLAGS */ 132, /* GL_BUFFER_MAP_LENGTH */ 133, /* GL_BUFFER_MAP_OFFSET */ diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 42626152e8e..113ac405073 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -24,6 +24,12 @@ */ +/** + * \file + * \brief Extension handling + */ + + #include "glheader.h" #include "imports.h" #include "context.h" @@ -31,200 +37,338 @@ #include "mfeatures.h" #include "mtypes.h" +enum { + DISABLE = 0, + GL = 1 << API_OPENGL, + ES1 = 1 << API_OPENGLES, + ES2 = 1 << API_OPENGLES2, +}; -#define F(x) offsetof(struct gl_extensions, x) -#define ON GL_TRUE -#define OFF GL_FALSE +/** + * \brief An element of the \c extension_table. + */ +struct extension { + /** Name of extension, such as "GL_ARB_depth_clamp". */ + const char *name; + /** Offset (in bytes) of the corresponding member in struct gl_extensions. */ + size_t offset; -/* + /** Set of API's in which the extension exists, as a bitset. */ + uint8_t api_set; +}; + + +/** + * Given a member \c x of struct gl_extensions, return offset of + * \c x in bytes. + */ +#define o(x) offsetof(struct gl_extensions, x) + + +/** + * \brief Table of supported OpenGL extensions for all API's. + * * Note: The GL_MESAX_* extensions are placeholders for future ARB extensions. */ -static const struct { - GLboolean enabled; - const char *name; - int flag_offset; -} default_extensions[] = { - { OFF, "GL_ARB_blend_func_extended", F(ARB_blend_func_extended) }, - { ON, "GL_ARB_copy_buffer", F(ARB_copy_buffer) }, - { OFF, "GL_ARB_depth_buffer_float", F(ARB_depth_buffer_float) }, - { OFF, "GL_ARB_depth_clamp", F(ARB_depth_clamp) }, - { OFF, "GL_ARB_depth_texture", F(ARB_depth_texture) }, - { ON, "GL_ARB_draw_buffers", F(ARB_draw_buffers) }, - { OFF, "GL_ARB_draw_elements_base_vertex", F(ARB_draw_elements_base_vertex) }, - { OFF, "GL_ARB_draw_instanced", F(ARB_draw_instanced) }, - { OFF, "GL_ARB_explicit_attrib_location", F(ARB_explicit_attrib_location) }, - { OFF, "GL_ARB_fragment_coord_conventions", F(ARB_fragment_coord_conventions) }, - { OFF, "GL_ARB_fragment_program", F(ARB_fragment_program) }, - { OFF, "GL_ARB_fragment_program_shadow", F(ARB_fragment_program_shadow) }, - { OFF, "GL_ARB_fragment_shader", F(ARB_fragment_shader) }, - { OFF, "GL_ARB_framebuffer_object", F(ARB_framebuffer_object) }, - /* TODO: reenable this when the new GLSL compiler actually supports them */ - /* { OFF, "GL_ARB_geometry_shader4", F(ARB_geometry_shader4) }, */ - { OFF, "GL_ARB_half_float_pixel", F(ARB_half_float_pixel) }, - { OFF, "GL_ARB_half_float_vertex", F(ARB_half_float_vertex) }, - { OFF, "GL_ARB_instanced_arrays", F(ARB_instanced_arrays) }, - { OFF, "GL_ARB_map_buffer_range", F(ARB_map_buffer_range) }, - { ON, "GL_ARB_multisample", F(ARB_multisample) }, - { OFF, "GL_ARB_multitexture", F(ARB_multitexture) }, - { OFF, "GL_ARB_occlusion_query", F(ARB_occlusion_query) }, - { OFF, "GL_ARB_occlusion_query2", F(ARB_occlusion_query2) }, - { OFF, "GL_ARB_pixel_buffer_object", F(EXT_pixel_buffer_object) }, - { OFF, "GL_ARB_point_parameters", F(EXT_point_parameters) }, - { OFF, "GL_ARB_point_sprite", F(ARB_point_sprite) }, - { OFF, "GL_ARB_provoking_vertex", F(EXT_provoking_vertex) }, - { OFF, "GL_ARB_sampler_objects", F(ARB_sampler_objects) }, - { OFF, "GL_ARB_seamless_cube_map", F(ARB_seamless_cube_map) }, - { OFF, "GL_ARB_shader_objects", F(ARB_shader_objects) }, - { OFF, "GL_ARB_shader_stencil_export", F(ARB_shader_stencil_export) }, - { OFF, "GL_ARB_shading_language_100", F(ARB_shading_language_100) }, - { OFF, "GL_ARB_shadow", F(ARB_shadow) }, - { OFF, "GL_ARB_shadow_ambient", F(ARB_shadow_ambient) }, - { OFF, "GL_ARB_sync", F(ARB_sync) }, - { OFF, "GL_ARB_texture_border_clamp", F(ARB_texture_border_clamp) }, - { OFF, "GL_ARB_texture_buffer_object", F(ARB_texture_buffer_object) }, - { ON, "GL_ARB_texture_compression", F(ARB_texture_compression) }, - { OFF, "GL_ARB_texture_compression_rgtc", F(ARB_texture_compression_rgtc) }, - { OFF, "GL_ARB_texture_cube_map", F(ARB_texture_cube_map) }, - { OFF, "GL_ARB_texture_env_add", F(EXT_texture_env_add) }, - { OFF, "GL_ARB_texture_env_combine", F(ARB_texture_env_combine) }, - { OFF, "GL_ARB_texture_env_crossbar", F(ARB_texture_env_crossbar) }, - { OFF, "GL_ARB_texture_env_dot3", F(ARB_texture_env_dot3) }, - { OFF, "GL_MESAX_texture_float", F(ARB_texture_float) }, - { OFF, "GL_ARB_texture_mirrored_repeat", F(ARB_texture_mirrored_repeat)}, - { OFF, "GL_ARB_texture_multisample", F(ARB_texture_multisample) }, - { OFF, "GL_ARB_texture_non_power_of_two", F(ARB_texture_non_power_of_two)}, - { OFF, "GL_ARB_texture_rectangle", F(NV_texture_rectangle) }, - { OFF, "GL_ARB_texture_rg", F(ARB_texture_rg) }, - { OFF, "GL_ARB_texture_rgb10_a2ui", F(ARB_texture_rgb10_a2ui) }, - { OFF, "GL_ARB_texture_swizzle", F(EXT_texture_swizzle) }, - { ON, "GL_ARB_transpose_matrix", F(ARB_transpose_matrix) }, - { OFF, "GL_ARB_transform_feedback2", F(ARB_transform_feedback2) }, - { OFF, "GL_ARB_uniform_buffer_object", F(ARB_uniform_buffer_object) }, - { OFF, "GL_ARB_vertex_array_bgra", F(EXT_vertex_array_bgra) }, - { OFF, "GL_ARB_vertex_array_object", F(ARB_vertex_array_object) }, - { ON, "GL_ARB_vertex_buffer_object", F(ARB_vertex_buffer_object) }, - { OFF, "GL_ARB_vertex_program", F(ARB_vertex_program) }, - { OFF, "GL_ARB_vertex_shader", F(ARB_vertex_shader) }, - { OFF, "GL_ARB_vertex_type_2_10_10_10_rev", F(ARB_vertex_type_2_10_10_10_rev) }, - { ON, "GL_ARB_window_pos", F(ARB_window_pos) }, - { ON, "GL_EXT_abgr", F(EXT_abgr) }, - { ON, "GL_EXT_bgra", F(EXT_bgra) }, - { OFF, "GL_EXT_blend_color", F(EXT_blend_color) }, - { OFF, "GL_EXT_blend_equation_separate", F(EXT_blend_equation_separate) }, - { OFF, "GL_EXT_blend_func_separate", F(EXT_blend_func_separate) }, - { OFF, "GL_EXT_blend_logic_op", F(EXT_blend_logic_op) }, - { OFF, "GL_EXT_blend_minmax", F(EXT_blend_minmax) }, - { OFF, "GL_EXT_blend_subtract", F(EXT_blend_subtract) }, - { OFF, "GL_EXT_clip_volume_hint", F(EXT_clip_volume_hint) }, - { ON, "GL_EXT_compiled_vertex_array", F(EXT_compiled_vertex_array) }, - { ON, "GL_EXT_copy_texture", F(EXT_copy_texture) }, - { OFF, "GL_EXT_depth_bounds_test", F(EXT_depth_bounds_test) }, - { OFF, "GL_EXT_draw_buffers2", F(EXT_draw_buffers2) }, - { OFF, "GL_EXT_draw_instanced", F(ARB_draw_instanced) }, - { ON, "GL_EXT_draw_range_elements", F(EXT_draw_range_elements) }, - { OFF, "GL_EXT_framebuffer_blit", F(EXT_framebuffer_blit) }, - { OFF, "GL_EXT_framebuffer_multisample", F(EXT_framebuffer_multisample) }, - { OFF, "GL_EXT_framebuffer_object", F(EXT_framebuffer_object) }, - { 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) }, - { ON, "GL_EXT_packed_pixels", F(EXT_packed_pixels) }, - { OFF, "GL_EXT_paletted_texture", F(EXT_paletted_texture) }, - { OFF, "GL_EXT_pixel_buffer_object", F(EXT_pixel_buffer_object) }, - { OFF, "GL_EXT_point_parameters", F(EXT_point_parameters) }, - { ON, "GL_EXT_polygon_offset", F(EXT_polygon_offset) }, - { OFF, "GL_EXT_provoking_vertex", F(EXT_provoking_vertex) }, - { ON, "GL_EXT_rescale_normal", F(EXT_rescale_normal) }, - { OFF, "GL_EXT_secondary_color", F(EXT_secondary_color) }, - { OFF, "GL_EXT_separate_shader_objects", F(EXT_separate_shader_objects) }, - { ON, "GL_EXT_separate_specular_color", F(EXT_separate_specular_color) }, - { OFF, "GL_EXT_shadow_funcs", F(EXT_shadow_funcs) }, - { OFF, "GL_EXT_shared_texture_palette", F(EXT_shared_texture_palette) }, - { OFF, "GL_EXT_stencil_two_side", F(EXT_stencil_two_side) }, - { OFF, "GL_EXT_stencil_wrap", F(EXT_stencil_wrap) }, - { ON, "GL_EXT_subtexture", F(EXT_subtexture) }, - { ON, "GL_EXT_texture", F(EXT_texture) }, - { ON, "GL_EXT_texture3D", F(EXT_texture3D) }, - { OFF, "GL_EXT_texture_array", F(EXT_texture_array) }, - { OFF, "GL_EXT_texture_compression_s3tc", F(EXT_texture_compression_s3tc) }, - { OFF, "GL_EXT_texture_compression_rgtc", F(ARB_texture_compression_rgtc) }, - { OFF, "GL_EXT_texture_cube_map", F(ARB_texture_cube_map) }, - { ON, "GL_EXT_texture_edge_clamp", F(SGIS_texture_edge_clamp) }, - { OFF, "GL_EXT_texture_env_add", F(EXT_texture_env_add) }, - { OFF, "GL_EXT_texture_env_combine", F(EXT_texture_env_combine) }, - { OFF, "GL_EXT_texture_env_dot3", F(EXT_texture_env_dot3) }, - { OFF, "GL_EXT_texture_filter_anisotropic", F(EXT_texture_filter_anisotropic) }, - { OFF, "GL_EXT_texture_integer", F(EXT_texture_integer) }, - { OFF, "GL_EXT_texture_lod_bias", F(EXT_texture_lod_bias) }, - { OFF, "GL_EXT_texture_mirror_clamp", F(EXT_texture_mirror_clamp) }, - { ON, "GL_EXT_texture_object", F(EXT_texture_object) }, - { OFF, "GL_EXT_texture_rectangle", F(NV_texture_rectangle) }, - { OFF, "GL_EXT_texture_shared_exponent", F(EXT_texture_shared_exponent) }, - { OFF, "GL_EXT_texture_sRGB", F(EXT_texture_sRGB) }, - { OFF, "GL_EXT_texture_swizzle", F(EXT_texture_swizzle) }, - { OFF, "GL_EXT_timer_query", F(EXT_timer_query) }, - { OFF, "GL_EXT_transform_feedback", F(EXT_transform_feedback) }, - { ON, "GL_EXT_vertex_array", F(EXT_vertex_array) }, - { OFF, "GL_EXT_vertex_array_bgra", F(EXT_vertex_array_bgra) }, - { OFF, "GL_EXT_vertex_array_set", F(EXT_vertex_array_set) }, - { OFF, "GL_3DFX_texture_compression_FXT1", F(TDFX_texture_compression_FXT1) }, - { OFF, "GL_APPLE_client_storage", F(APPLE_client_storage) }, - { ON, "GL_APPLE_packed_pixels", F(APPLE_packed_pixels) }, - { OFF, "GL_APPLE_vertex_array_object", F(APPLE_vertex_array_object) }, - { OFF, "GL_APPLE_object_purgeable", F(APPLE_object_purgeable) }, - { OFF, "GL_ATI_blend_equation_separate", F(EXT_blend_equation_separate) }, - { OFF, "GL_ATI_envmap_bumpmap", F(ATI_envmap_bumpmap) }, - { OFF, "GL_ATI_texture_env_combine3", F(ATI_texture_env_combine3)}, - { OFF, "GL_ATI_texture_mirror_once", F(ATI_texture_mirror_once)}, - { OFF, "GL_ATI_fragment_shader", F(ATI_fragment_shader)}, - { OFF, "GL_ATI_separate_stencil", F(ATI_separate_stencil)}, - { ON, "GL_IBM_multimode_draw_arrays", F(IBM_multimode_draw_arrays) }, - { ON, "GL_IBM_rasterpos_clip", F(IBM_rasterpos_clip) }, - { OFF, "GL_IBM_texture_mirrored_repeat", F(ARB_texture_mirrored_repeat)}, - { OFF, "GL_INGR_blend_func_separate", F(EXT_blend_func_separate) }, - { OFF, "GL_MESA_pack_invert", F(MESA_pack_invert) }, - { OFF, "GL_MESA_resize_buffers", F(MESA_resize_buffers) }, - { OFF, "GL_MESA_texture_array", F(MESA_texture_array) }, - { OFF, "GL_MESA_texture_signed_rgba", F(MESA_texture_signed_rgba) }, - { OFF, "GL_MESA_ycbcr_texture", F(MESA_ycbcr_texture) }, - { ON, "GL_MESA_window_pos", F(ARB_window_pos) }, - { OFF, "GL_NV_blend_square", F(NV_blend_square) }, - { OFF, "GL_NV_conditional_render", F(NV_conditional_render) }, - { OFF, "GL_NV_depth_clamp", F(ARB_depth_clamp) }, - { OFF, "GL_NV_fragment_program", F(NV_fragment_program) }, - { OFF, "GL_NV_fragment_program_option", F(NV_fragment_program_option) }, - { ON, "GL_NV_light_max_exponent", F(NV_light_max_exponent) }, - { OFF, "GL_NV_packed_depth_stencil", F(EXT_packed_depth_stencil) }, - { OFF, "GL_NV_point_sprite", F(NV_point_sprite) }, - { OFF, "GL_NV_primitive_restart", F(NV_primitive_restart) }, - { ON, "GL_NV_texgen_reflection", F(NV_texgen_reflection) }, - { OFF, "GL_NV_texture_env_combine4", F(NV_texture_env_combine4) }, - { OFF, "GL_NV_texture_rectangle", F(NV_texture_rectangle) }, - { OFF, "GL_NV_vertex_program", F(NV_vertex_program) }, - { OFF, "GL_NV_vertex_program1_1", F(NV_vertex_program1_1) }, - { ON, "GL_OES_read_format", F(OES_read_format) }, - { OFF, "GL_SGI_texture_color_table", F(SGI_texture_color_table) }, - { ON, "GL_SGIS_generate_mipmap", F(SGIS_generate_mipmap) }, - { OFF, "GL_SGIS_texture_border_clamp", F(ARB_texture_border_clamp) }, - { ON, "GL_SGIS_texture_edge_clamp", F(SGIS_texture_edge_clamp) }, - { ON, "GL_SGIS_texture_lod", F(SGIS_texture_lod) }, - { ON, "GL_SUN_multi_draw_arrays", F(EXT_multi_draw_arrays) }, - { OFF, "GL_S3_s3tc", F(S3_s3tc) }, - { OFF, "GL_EXT_texture_format_BGRA8888", F(EXT_texture_format_BGRA8888) }, -#if FEATURE_OES_EGL_image - { OFF, "GL_OES_EGL_image", F(OES_EGL_image) }, -#endif +static const struct extension extension_table[] = { + /* ARB Extensions */ + { "GL_ARB_ES2_compatibility", o(ARB_ES2_compatibility), GL }, + { "GL_ARB_blend_func_extended", o(ARB_blend_func_extended), GL }, + { "GL_ARB_copy_buffer", o(ARB_copy_buffer), GL }, + { "GL_ARB_depth_buffer_float", o(ARB_depth_buffer_float), GL }, + { "GL_ARB_depth_clamp", o(ARB_depth_clamp), GL }, + { "GL_ARB_depth_texture", o(ARB_depth_texture), GL }, + { "GL_ARB_draw_buffers", o(ARB_draw_buffers), GL }, + { "GL_ARB_draw_buffers_blend", o(ARB_draw_buffers_blend), GL }, + { "GL_ARB_draw_elements_base_vertex", o(ARB_draw_elements_base_vertex), GL }, + { "GL_ARB_draw_instanced", o(ARB_draw_instanced), GL }, + { "GL_ARB_explicit_attrib_location", o(ARB_explicit_attrib_location), GL }, + { "GL_ARB_fragment_coord_conventions", o(ARB_fragment_coord_conventions), GL }, + { "GL_ARB_fragment_program", o(ARB_fragment_program), GL }, + { "GL_ARB_fragment_program_shadow", o(ARB_fragment_program_shadow), GL }, + { "GL_ARB_fragment_shader", o(ARB_fragment_shader), GL }, + { "GL_ARB_framebuffer_object", o(ARB_framebuffer_object), GL }, + { "GL_ARB_half_float_pixel", o(ARB_half_float_pixel), GL }, + { "GL_ARB_half_float_vertex", o(ARB_half_float_vertex), GL }, + { "GL_ARB_instanced_arrays", o(ARB_instanced_arrays), GL }, + { "GL_ARB_map_buffer_range", o(ARB_map_buffer_range), GL }, + { "GL_ARB_multisample", o(ARB_multisample), GL }, + { "GL_ARB_multitexture", o(ARB_multitexture), GL }, + { "GL_ARB_occlusion_query2", o(ARB_occlusion_query2), GL }, + { "GL_ARB_occlusion_query", o(ARB_occlusion_query), GL }, + { "GL_ARB_pixel_buffer_object", o(EXT_pixel_buffer_object), GL }, + { "GL_ARB_point_parameters", o(EXT_point_parameters), GL }, + { "GL_ARB_point_sprite", o(ARB_point_sprite), GL }, + { "GL_ARB_provoking_vertex", o(EXT_provoking_vertex), GL }, + { "GL_ARB_sampler_objects", o(ARB_sampler_objects), GL }, + { "GL_ARB_seamless_cube_map", o(ARB_seamless_cube_map), GL }, + { "GL_ARB_shader_objects", o(ARB_shader_objects), GL }, + { "GL_ARB_shader_stencil_export", o(ARB_shader_stencil_export), GL }, + { "GL_ARB_shading_language_100", o(ARB_shading_language_100), GL }, + { "GL_ARB_shadow_ambient", o(ARB_shadow_ambient), GL }, + { "GL_ARB_shadow", o(ARB_shadow), GL }, + { "GL_ARB_sync", o(ARB_sync), GL }, + { "GL_ARB_texture_border_clamp", o(ARB_texture_border_clamp), GL }, + { "GL_ARB_texture_buffer_object", o(ARB_texture_buffer_object), GL }, + { "GL_ARB_texture_compression", o(ARB_texture_compression), GL }, + { "GL_ARB_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL }, + { "GL_ARB_texture_cube_map", o(ARB_texture_cube_map), GL }, + { "GL_ARB_texture_env_add", o(EXT_texture_env_add), GL }, + { "GL_ARB_texture_env_combine", o(ARB_texture_env_combine), GL }, + { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), GL }, + { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), GL }, + { "GL_ARB_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL }, + { "GL_ARB_texture_multisample", o(ARB_texture_multisample), GL }, + { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), GL }, + { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL }, + { "GL_ARB_texture_rgb10_a2ui", o(ARB_texture_rgb10_a2ui), GL }, + { "GL_ARB_texture_rg", o(ARB_texture_rg), GL }, + { "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL }, + { "GL_ARB_transform_feedback2", o(ARB_transform_feedback2), GL }, + { "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), GL }, + { "GL_ARB_uniform_buffer_object", o(ARB_uniform_buffer_object), GL }, + { "GL_ARB_vertex_array_bgra", o(EXT_vertex_array_bgra), GL }, + { "GL_ARB_vertex_array_object", o(ARB_vertex_array_object), GL }, + { "GL_ARB_vertex_buffer_object", o(ARB_vertex_buffer_object), GL }, + { "GL_ARB_vertex_program", o(ARB_vertex_program), GL }, + { "GL_ARB_vertex_shader", o(ARB_vertex_shader), GL }, + { "GL_ARB_vertex_type_2_10_10_10_rev", o(ARB_vertex_type_2_10_10_10_rev), GL }, + { "GL_ARB_window_pos", o(ARB_window_pos), GL }, + + /* EXT extensions */ + { "GL_EXT_abgr", o(EXT_abgr), GL }, + { "GL_EXT_bgra", o(EXT_bgra), GL }, + { "GL_EXT_blend_color", o(EXT_blend_color), GL }, + { "GL_EXT_blend_equation_separate", o(EXT_blend_equation_separate), GL }, + { "GL_EXT_blend_func_separate", o(EXT_blend_func_separate), GL }, + { "GL_EXT_blend_logic_op", o(EXT_blend_logic_op), GL }, + { "GL_EXT_blend_minmax", o(EXT_blend_minmax), GL | ES1 | ES2 }, + { "GL_EXT_blend_subtract", o(EXT_blend_subtract), GL }, + { "GL_EXT_clip_volume_hint", o(EXT_clip_volume_hint), GL }, + { "GL_EXT_compiled_vertex_array", o(EXT_compiled_vertex_array), GL }, + { "GL_EXT_copy_texture", o(EXT_copy_texture), GL }, + { "GL_EXT_depth_bounds_test", o(EXT_depth_bounds_test), GL }, + { "GL_EXT_draw_buffers2", o(EXT_draw_buffers2), GL }, + { "GL_EXT_draw_instanced", o(ARB_draw_instanced), GL }, + { "GL_EXT_draw_range_elements", o(EXT_draw_range_elements), GL }, + { "GL_EXT_fog_coord", o(EXT_fog_coord), GL }, + { "GL_EXT_framebuffer_blit", o(EXT_framebuffer_blit), GL }, + { "GL_EXT_framebuffer_multisample", o(EXT_framebuffer_multisample), GL }, + { "GL_EXT_framebuffer_object", o(EXT_framebuffer_object), GL }, + { "GL_EXT_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL }, + { "GL_EXT_gpu_program_parameters", o(EXT_gpu_program_parameters), GL }, + { "GL_EXT_gpu_shader4", o(EXT_gpu_shader4), GL }, + { "GL_EXT_multi_draw_arrays", o(EXT_multi_draw_arrays), GL | ES1 | ES2 }, + { "GL_EXT_packed_depth_stencil", o(EXT_packed_depth_stencil), GL }, + { "GL_EXT_packed_float", o(EXT_packed_float), GL }, + { "GL_EXT_packed_pixels", o(EXT_packed_pixels), GL }, + { "GL_EXT_paletted_texture", o(EXT_paletted_texture), GL }, + { "GL_EXT_pixel_buffer_object", o(EXT_pixel_buffer_object), GL }, + { "GL_EXT_point_parameters", o(EXT_point_parameters), GL }, + { "GL_EXT_polygon_offset", o(EXT_polygon_offset), GL }, + { "GL_EXT_provoking_vertex", o(EXT_provoking_vertex), GL }, + { "GL_EXT_rescale_normal", o(EXT_rescale_normal), GL }, + { "GL_EXT_secondary_color", o(EXT_secondary_color), GL }, + { "GL_EXT_separate_shader_objects", o(EXT_separate_shader_objects), GL }, + { "GL_EXT_separate_specular_color", o(EXT_separate_specular_color), GL }, + { "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), GL }, + { "GL_EXT_shared_texture_palette", o(EXT_shared_texture_palette), GL }, + { "GL_EXT_stencil_two_side", o(EXT_stencil_two_side), GL }, + { "GL_EXT_stencil_wrap", o(EXT_stencil_wrap), GL }, + { "GL_EXT_subtexture", o(EXT_subtexture), GL }, + { "GL_EXT_texture3D", o(EXT_texture3D), GL }, + { "GL_EXT_texture_array", o(EXT_texture_array), GL }, + { "GL_EXT_texture_compression_dxt1", o(EXT_texture_compression_s3tc), GL | ES1 | ES2 }, + { "GL_EXT_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL }, + { "GL_EXT_texture_compression_s3tc", o(EXT_texture_compression_s3tc), GL }, + { "GL_EXT_texture_cube_map", o(ARB_texture_cube_map), GL }, + { "GL_EXT_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL }, + { "GL_EXT_texture_env_add", o(EXT_texture_env_add), GL }, + { "GL_EXT_texture_env_combine", o(EXT_texture_env_combine), GL }, + { "GL_EXT_texture_env_dot3", o(EXT_texture_env_dot3), GL }, + { "GL_EXT_texture_filter_anisotropic", o(EXT_texture_filter_anisotropic), GL | ES1 | ES2 }, + { "GL_EXT_texture_format_BGRA8888", o(EXT_texture_format_BGRA8888), ES1 | ES2 }, + { "GL_EXT_texture_integer", o(EXT_texture_integer), GL }, + { "GL_EXT_texture_lod_bias", o(EXT_texture_lod_bias), GL | ES1 }, + { "GL_EXT_texture_mirror_clamp", o(EXT_texture_mirror_clamp), GL }, + { "GL_EXT_texture_object", o(EXT_texture_object), GL }, + { "GL_EXT_texture", o(EXT_texture), GL }, + { "GL_EXT_texture_rectangle", o(NV_texture_rectangle), GL }, + { "GL_EXT_texture_shared_exponent", o(EXT_texture_shared_exponent), GL }, + { "GL_EXT_texture_sRGB", o(EXT_texture_sRGB), GL }, + { "GL_EXT_texture_sRGB_decode", o(EXT_texture_sRGB_decode), GL }, + { "GL_EXT_texture_swizzle", o(EXT_texture_swizzle), GL }, + { "GL_EXT_texture_type_2_10_10_10_REV", o(dummy_true), ES2 }, + { "GL_EXT_timer_query", o(EXT_timer_query), GL }, + { "GL_EXT_transform_feedback", o(EXT_transform_feedback), GL }, + { "GL_EXT_vertex_array_bgra", o(EXT_vertex_array_bgra), GL }, + { "GL_EXT_vertex_array", o(EXT_vertex_array), GL }, + { "GL_EXT_vertex_array_set", o(EXT_vertex_array_set), GL }, + + /* OES extensions */ + { "GL_OES_blend_equation_separate", o(EXT_blend_equation_separate), ES1 }, + { "GL_OES_blend_func_separate", o(EXT_blend_func_separate), ES1 }, + { "GL_OES_blend_subtract", o(EXT_blend_subtract), ES1 }, + { "GL_OES_byte_coordinates", o(dummy_true), ES1 }, + { "GL_OES_compressed_paletted_texture", o(dummy_false), DISABLE }, + { "GL_OES_depth24", o(EXT_framebuffer_object), ES1 | ES2 }, + { "GL_OES_depth32", o(dummy_false), DISABLE }, + { "GL_OES_depth_texture", o(ARB_depth_texture), ES2 }, #if FEATURE_OES_draw_texture - { OFF, "GL_OES_draw_texture", F(OES_draw_texture) }, -#endif /* FEATURE_OES_draw_texture */ + { "GL_OES_draw_texture", o(OES_draw_texture), ES1 | ES2 }, +#endif +#if FEATURE_OES_EGL_image + /* FIXME: Mesa expects GL_OES_EGL_image to be available in OpenGL contexts. */ + { "GL_OES_EGL_image", o(OES_EGL_image), GL | ES1 | ES2 }, +#endif + { "GL_OES_element_index_uint", o(EXT_vertex_array), ES1 | ES2 }, + { "GL_OES_fbo_render_mipmap", o(EXT_framebuffer_object), ES1 | ES2 }, + { "GL_OES_fixed_point", o(dummy_true), ES1 }, + { "GL_OES_framebuffer_object", o(EXT_framebuffer_object), ES1 }, + { "GL_OES_mapbuffer", o(ARB_vertex_buffer_object), ES1 | ES2 }, + { "GL_OES_matrix_get", o(dummy_true), ES1 }, + { "GL_OES_packed_depth_stencil", o(EXT_packed_depth_stencil), ES1 | ES2 }, + { "GL_OES_point_size_array", o(dummy_true), ES1 }, + { "GL_OES_point_sprite", o(ARB_point_sprite), ES1 }, + { "GL_OES_query_matrix", o(dummy_true), ES1 }, + { "GL_OES_read_format", o(OES_read_format), GL | ES1 }, + { "GL_OES_rgb8_rgba8", o(EXT_framebuffer_object), ES1 | ES2 }, + { "GL_OES_single_precision", o(dummy_true), ES1 }, + { "GL_OES_standard_derivatives", o(OES_standard_derivatives), ES2 }, + { "GL_OES_stencil1", o(dummy_false), DISABLE }, + { "GL_OES_stencil4", o(dummy_false), DISABLE }, + { "GL_OES_stencil8", o(EXT_framebuffer_object), ES1 | ES2 }, + { "GL_OES_stencil_wrap", o(EXT_stencil_wrap), ES1 }, + /* GL_OES_texture_3D is disabled due to missing GLSL support. */ + { "GL_OES_texture_3D", o(EXT_texture3D), DISABLE }, + { "GL_OES_texture_cube_map", o(ARB_texture_cube_map), ES1 }, + { "GL_OES_texture_env_crossbar", o(ARB_texture_env_crossbar), ES1 }, + { "GL_OES_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), ES1 }, + { "GL_OES_texture_npot", o(ARB_texture_non_power_of_two), ES2 }, + + /* Vendor extensions */ + { "GL_3DFX_texture_compression_FXT1", o(TDFX_texture_compression_FXT1), GL }, + { "GL_APPLE_client_storage", o(APPLE_client_storage), GL }, + { "GL_APPLE_object_purgeable", o(APPLE_object_purgeable), GL }, + { "GL_APPLE_packed_pixels", o(APPLE_packed_pixels), GL }, + { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), GL }, + { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), GL }, + { "GL_ATI_envmap_bumpmap", o(ATI_envmap_bumpmap), GL }, + { "GL_ATI_fragment_shader", o(ATI_fragment_shader), GL }, + { "GL_ATI_separate_stencil", o(ATI_separate_stencil), GL }, + { "GL_ATI_texture_env_combine3", o(ATI_texture_env_combine3), GL }, + { "GL_ATI_texture_mirror_once", o(ATI_texture_mirror_once), GL }, + { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), GL }, + { "GL_IBM_rasterpos_clip", o(IBM_rasterpos_clip), GL }, + { "GL_IBM_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL }, + { "GL_INGR_blend_func_separate", o(EXT_blend_func_separate), GL }, + { "GL_MESA_pack_invert", o(MESA_pack_invert), GL }, + { "GL_MESA_resize_buffers", o(MESA_resize_buffers), GL }, + { "GL_MESA_texture_array", o(MESA_texture_array), GL }, + { "GL_MESA_texture_signed_rgba", o(MESA_texture_signed_rgba), GL }, + { "GL_MESA_window_pos", o(ARB_window_pos), GL }, + { "GL_MESAX_texture_float", o(ARB_texture_float), GL }, + { "GL_MESA_ycbcr_texture", o(MESA_ycbcr_texture), GL }, + { "GL_NV_blend_square", o(NV_blend_square), GL }, + { "GL_NV_conditional_render", o(NV_conditional_render), GL }, + { "GL_NV_depth_clamp", o(ARB_depth_clamp), GL }, + { "GL_NV_fragment_program", o(NV_fragment_program), GL }, + { "GL_NV_fragment_program_option", o(NV_fragment_program_option), GL }, + { "GL_NV_light_max_exponent", o(NV_light_max_exponent), GL }, + { "GL_NV_packed_depth_stencil", o(EXT_packed_depth_stencil), GL }, + { "GL_NV_point_sprite", o(NV_point_sprite), GL }, + { "GL_NV_primitive_restart", o(NV_primitive_restart), GL }, + { "GL_NV_texgen_reflection", o(NV_texgen_reflection), GL }, + { "GL_NV_texture_env_combine4", o(NV_texture_env_combine4), GL }, + { "GL_NV_texture_rectangle", o(NV_texture_rectangle), GL }, + { "GL_NV_vertex_program1_1", o(NV_vertex_program1_1), GL }, + { "GL_NV_vertex_program", o(NV_vertex_program), GL }, + { "GL_S3_s3tc", o(S3_s3tc), GL }, + { "GL_SGIS_generate_mipmap", o(SGIS_generate_mipmap), GL }, + { "GL_SGIS_texture_border_clamp", o(ARB_texture_border_clamp), GL }, + { "GL_SGIS_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL }, + { "GL_SGIS_texture_lod", o(SGIS_texture_lod), GL }, + { "GL_SGI_texture_color_table", o(SGI_texture_color_table), GL }, + { "GL_SUN_multi_draw_arrays", o(EXT_multi_draw_arrays), GL }, + + { 0, 0, 0 }, }; +/** + * Given an extension name, lookup up the corresponding member of struct + * gl_extensions and return that member's offset (in bytes). If the name is + * not found in the \c extension_table, return 0. + * + * \param name Name of extension. + * \return Offset of member in struct gl_extensions. + */ +static size_t +name_to_offset(const char* name) +{ + const struct extension *i; + + if (name == 0) + return 0; + + for (i = extension_table; i->name != 0; ++i) { + if (strcmp(name, i->name) == 0) + return i->offset; + } + + return 0; +} + + +/** + * \brief Extensions enabled by default. + * + * These extensions are enabled by _mesa_init_extensions(). + * + * XXX: Should these defaults also apply to GLES? + */ +static const size_t default_extensions[] = { + o(ARB_copy_buffer), + o(ARB_draw_buffers), + o(ARB_multisample), + o(ARB_texture_compression), + o(ARB_transpose_matrix), + o(ARB_vertex_buffer_object), + o(ARB_window_pos), + + o(EXT_abgr), + o(EXT_bgra), + o(EXT_compiled_vertex_array), + o(EXT_copy_texture), + o(EXT_draw_range_elements), + o(EXT_multi_draw_arrays), + o(EXT_packed_pixels), + o(EXT_polygon_offset), + o(EXT_rescale_normal), + o(EXT_separate_specular_color), + o(EXT_subtexture), + o(EXT_texture), + o(EXT_texture3D), + o(EXT_texture_object), + o(EXT_vertex_array), + + o(OES_read_format), + o(OES_standard_derivatives), + + /* Vendor Extensions */ + o(APPLE_packed_pixels), + o(IBM_multimode_draw_arrays), + o(IBM_rasterpos_clip), + o(NV_light_max_exponent), + o(NV_texgen_reflection), + o(SGIS_generate_mipmap), + o(SGIS_texture_edge_clamp), + o(SGIS_texture_lod), + + 0, +}; + /** * Enable all extensions suitable for a software-only renderer. @@ -238,6 +382,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_depth_texture = GL_TRUE; /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/ ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE; + ctx->Extensions.ARB_draw_instanced = GL_TRUE; ctx->Extensions.ARB_explicit_attrib_location = GL_TRUE; ctx->Extensions.ARB_fragment_coord_conventions = GL_TRUE; #if FEATURE_ARB_fragment_program @@ -344,6 +489,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.EXT_texture_lod_bias = GL_TRUE; #if FEATURE_EXT_texture_sRGB ctx->Extensions.EXT_texture_sRGB = GL_TRUE; + ctx->Extensions.EXT_texture_sRGB_decode = GL_TRUE; #endif ctx->Extensions.EXT_texture_swizzle = GL_TRUE; #if FEATURE_EXT_transform_feedback @@ -513,8 +659,7 @@ _mesa_enable_2_1_extensions(struct gl_context *ctx) static GLboolean set_extension( struct gl_context *ctx, const char *name, GLboolean state ) { - GLboolean *base = (GLboolean *) &ctx->Extensions; - GLuint i; + size_t offset; if (ctx->Extensions.String) { /* The string was already queried - can't change it now! */ @@ -522,16 +667,20 @@ set_extension( struct gl_context *ctx, const char *name, GLboolean state ) return GL_FALSE; } - for (i = 0 ; i < Elements(default_extensions) ; i++) { - if (strcmp(default_extensions[i].name, name) == 0) { - if (default_extensions[i].flag_offset) { - GLboolean *enabled = base + default_extensions[i].flag_offset; - *enabled = state; - } - return GL_TRUE; - } + offset = name_to_offset(name); + if (offset == 0) { + _mesa_problem(ctx, "Trying to enable/disable unknown extension %s", + name); + return GL_FALSE; + } else if (offset == o(dummy_true) && state == GL_FALSE) { + _mesa_problem(ctx, "Trying to disable a permanently enabled extension: " + "%s", name); + return GL_FALSE; + } else { + GLboolean *base = (GLboolean *) &ctx->Extensions; + base[offset] = state; + return GL_TRUE; } - return GL_FALSE; } @@ -560,36 +709,22 @@ _mesa_disable_extension( struct gl_context *ctx, const char *name ) /** - * Check if the i-th extension is enabled. - */ -static GLboolean -extension_enabled(struct gl_context *ctx, GLuint index) -{ - const GLboolean *base = (const GLboolean *) &ctx->Extensions; - if (!default_extensions[index].flag_offset || - *(base + default_extensions[index].flag_offset)) { - return GL_TRUE; - } - else { - return GL_FALSE; - } -} - - -/** * Test if the named extension is enabled in this context. */ GLboolean _mesa_extension_is_enabled( struct gl_context *ctx, const char *name ) { - GLuint i; + size_t offset; + GLboolean *base; - for (i = 0 ; i < Elements(default_extensions) ; i++) { - if (strcmp(default_extensions[i].name, name) == 0) { - return extension_enabled(ctx, i); - } - } - return GL_FALSE; + if (name == 0) + return GL_FALSE; + + offset = name_to_offset(name); + if (offset == 0) + return GL_FALSE; + base = (GLboolean *) &ctx->Extensions; + return base[offset]; } @@ -620,8 +755,10 @@ append(const char *a, const char *b) * For extension names that are recognized, turn them on. For extension * names that are recognized and prefixed with '-', turn them off. * Return a string of the unknown/leftover names. + * + * Returnd string needs to be freed. */ -static const char * +static char * get_extension_override( struct gl_context *ctx ) { const char *envExt = _mesa_getenv("MESA_EXTENSION_OVERRIDE"); @@ -668,22 +805,27 @@ get_extension_override( struct gl_context *ctx ) /** - * Run through the default_extensions array above and set the - * ctx->Extensions.ARB/EXT_* flags accordingly. - * To be called during context initialization. + * \brief Initialize extension tables and enable default extensions. + * + * This should be called during context initialization. + * Note: Sets gl_extensions.dummy_true to true. */ void _mesa_init_extensions( struct gl_context *ctx ) { GLboolean *base = (GLboolean *) &ctx->Extensions; - GLuint i; - - for (i = 0 ; i < Elements(default_extensions) ; i++) { - if (default_extensions[i].enabled && - default_extensions[i].flag_offset) { - *(base + default_extensions[i].flag_offset) = GL_TRUE; - } - } + GLboolean *sentinel = base + o(extension_sentinel); + GLboolean *i; + const size_t *j; + + /* First, turn all extensions off. */ + for (i = base; i != sentinel; ++i) + *i = GL_FALSE; + + /* Then, selectively turn default extensions on. */ + ctx->Extensions.dummy_true = GL_TRUE; + for (j = default_extensions; *j != 0; ++j) + base[*j] = GL_TRUE; } @@ -691,256 +833,46 @@ _mesa_init_extensions( struct gl_context *ctx ) * Construct the GL_EXTENSIONS string. Called the first time that * glGetString(GL_EXTENSIONS) is called. */ -static GLubyte * -compute_extensions( struct gl_context *ctx ) +GLubyte* +_mesa_make_extension_string(struct gl_context *ctx) { - const char *extraExt = get_extension_override(ctx); - GLuint extStrLen = 0; - char *s; - GLuint i; + /* The extension string. */ + char *exts = 0; + /* Length of extension string. */ + size_t length = 0; + /* String of extra extensions. */ + char *extra_extensions = get_extension_override(ctx); + GLboolean *base = (GLboolean *) &ctx->Extensions; + const struct extension *i; - /* first, compute length of the extension string */ - for (i = 0 ; i < Elements(default_extensions) ; i++) { - if (extension_enabled(ctx, i)) { - extStrLen += (GLuint) strlen(default_extensions[i].name) + 1; + /* Compute length of the extension string. */ + for (i = extension_table; i->name != 0; ++i) { + if (base[i->offset] && (i->api_set & (1 << ctx->API))) { + length += strlen(i->name) + 1; /* +1 for space */ } } + if (extra_extensions != NULL) + length += 1 + strlen(extra_extensions); /* +1 for space */ - if (extraExt) - extStrLen += strlen(extraExt) + 1; /* +1 for space */ - - /* allocate the extension string */ - s = (char *) malloc(extStrLen); - if (!s) + exts = (char *) calloc(length + 1, sizeof(char)); + if (exts == NULL) { + free(extra_extensions); return NULL; - - /* second, build the extension string */ - extStrLen = 0; - for (i = 0 ; i < Elements(default_extensions) ; i++) { - if (extension_enabled(ctx, i)) { - GLuint len = (GLuint) strlen(default_extensions[i].name); - memcpy(s + extStrLen, default_extensions[i].name, len); - extStrLen += len; - s[extStrLen] = ' '; - extStrLen++; - } - } - ASSERT(extStrLen > 0); - - s[extStrLen - 1] = 0; /* -1 to overwrite trailing the ' ' */ - - if (extraExt) { - s = append(s, " "); - s = append(s, extraExt); - } - - return (GLubyte *) s; -} - -static size_t -append_extension(GLubyte **str, const char *ext) -{ - GLubyte *s = *str; - size_t len = strlen(ext); - - if (s) { - memcpy(s, ext, len); - s[len++] = ' '; - s[len] = '\0'; - - *str += len; } - else { - len++; - } - - return len; -} - - -static size_t -make_extension_string_es1(const struct gl_context *ctx, GLubyte *str) -{ - size_t len = 0; - - /* Core additions */ - len += append_extension(&str, "GL_OES_byte_coordinates"); - len += append_extension(&str, "GL_OES_fixed_point"); - len += append_extension(&str, "GL_OES_single_precision"); - len += append_extension(&str, "GL_OES_matrix_get"); - - /* 1.1 required extensions */ - len += append_extension(&str, "GL_OES_read_format"); - len += append_extension(&str, "GL_OES_compressed_paletted_texture"); - len += append_extension(&str, "GL_OES_point_size_array"); - len += append_extension(&str, "GL_OES_point_sprite"); - /* 1.1 deprecated extensions */ - len += append_extension(&str, "GL_OES_query_matrix"); - -#if FEATURE_OES_draw_texture - if (ctx->Extensions.OES_draw_texture) - len += append_extension(&str, "GL_OES_draw_texture"); -#endif - - if (ctx->Extensions.EXT_blend_equation_separate) - len += append_extension(&str, "GL_OES_blend_equation_separate"); - if (ctx->Extensions.EXT_blend_func_separate) - len += append_extension(&str, "GL_OES_blend_func_separate"); - if (ctx->Extensions.EXT_blend_subtract) - len += append_extension(&str, "GL_OES_blend_subtract"); - - if (ctx->Extensions.EXT_stencil_wrap) - len += append_extension(&str, "GL_OES_stencil_wrap"); - - if (ctx->Extensions.ARB_texture_cube_map) - len += append_extension(&str, "GL_OES_texture_cube_map"); - if (ctx->Extensions.ARB_texture_env_crossbar) - len += append_extension(&str, "GL_OES_texture_env_crossbar"); - if (ctx->Extensions.ARB_texture_mirrored_repeat) - len += append_extension(&str, "GL_OES_texture_mirrored_repeat"); - - if (ctx->Extensions.ARB_framebuffer_object) { - len += append_extension(&str, "GL_OES_framebuffer_object"); - len += append_extension(&str, "GL_OES_depth24"); - len += append_extension(&str, "GL_OES_depth32"); - len += append_extension(&str, "GL_OES_fbo_render_mipmap"); - len += append_extension(&str, "GL_OES_rgb8_rgba8"); - len += append_extension(&str, "GL_OES_stencil1"); - len += append_extension(&str, "GL_OES_stencil4"); - len += append_extension(&str, "GL_OES_stencil8"); + /* Build the extension string.*/ + for (i = extension_table; i->name != 0; ++i) { + if (base[i->offset] && (i->api_set & (1 << ctx->API))) { + strcat(exts, i->name); + strcat(exts, " "); + } } - - if (ctx->Extensions.EXT_vertex_array) - len += append_extension(&str, "GL_OES_element_index_uint"); - if (ctx->Extensions.ARB_vertex_buffer_object) - len += append_extension(&str, "GL_OES_mapbuffer"); - if (ctx->Extensions.EXT_texture_filter_anisotropic) - len += append_extension(&str, "GL_EXT_texture_filter_anisotropic"); - - /* some applications check this for NPOT support */ - if (ctx->Extensions.ARB_texture_non_power_of_two) - len += append_extension(&str, "GL_ARB_texture_non_power_of_two"); - - if (ctx->Extensions.EXT_texture_compression_s3tc) - len += append_extension(&str, "GL_EXT_texture_compression_dxt1"); - if (ctx->Extensions.EXT_texture_lod_bias) - len += append_extension(&str, "GL_EXT_texture_lod_bias"); - if (ctx->Extensions.EXT_blend_minmax) - len += append_extension(&str, "GL_EXT_blend_minmax"); - if (ctx->Extensions.EXT_multi_draw_arrays) - len += append_extension(&str, "GL_EXT_multi_draw_arrays"); - -#if FEATURE_OES_EGL_image - if (ctx->Extensions.OES_EGL_image) - len += append_extension(&str, "GL_OES_EGL_image"); -#endif - - return len; -} - - -static GLubyte * -compute_extensions_es1(const struct gl_context *ctx) -{ - GLubyte *s; - unsigned int len; - - len = make_extension_string_es1(ctx, NULL); - s = malloc(len + 1); - if (!s) - return NULL; - make_extension_string_es1(ctx, s); - - return s; -} - -static size_t -make_extension_string_es2(const struct gl_context *ctx, GLubyte *str) -{ - size_t len = 0; - - if (ctx->Extensions.ARB_framebuffer_object) { - len += append_extension(&str, "GL_OES_depth24"); - len += append_extension(&str, "GL_OES_depth32"); - len += append_extension(&str, "GL_OES_fbo_render_mipmap"); - len += append_extension(&str, "GL_OES_rgb8_rgba8"); - len += append_extension(&str, "GL_OES_stencil1"); - len += append_extension(&str, "GL_OES_stencil4"); + if (extra_extensions != 0) { + strcat(exts, extra_extensions); + free(extra_extensions); } - if (ctx->Extensions.EXT_vertex_array) - len += append_extension(&str, "GL_OES_element_index_uint"); - if (ctx->Extensions.ARB_vertex_buffer_object) - len += append_extension(&str, "GL_OES_mapbuffer"); - -#if 0 - /* disabled because of missing GLSL support */ - if (ctx->Extensions.EXT_texture3D) - len += append_extension(&str, "GL_OES_texture_3D"); -#endif - - if (ctx->Extensions.ARB_texture_non_power_of_two) - len += append_extension(&str, "GL_OES_texture_npot"); - if (ctx->Extensions.EXT_texture_filter_anisotropic) - len += append_extension(&str, "GL_EXT_texture_filter_anisotropic"); - - len += append_extension(&str, "GL_EXT_texture_type_2_10_10_10_REV"); - if (ctx->Extensions.ARB_depth_texture) - len += append_extension(&str, "GL_OES_depth_texture"); - if (ctx->Extensions.EXT_packed_depth_stencil) - len += append_extension(&str, "GL_OES_packed_depth_stencil"); - if (ctx->Extensions.ARB_fragment_shader) - len += append_extension(&str, "GL_OES_standard_derivatives"); - - if (ctx->Extensions.EXT_texture_compression_s3tc) - len += append_extension(&str, "GL_EXT_texture_compression_dxt1"); - if (ctx->Extensions.EXT_blend_minmax) - len += append_extension(&str, "GL_EXT_blend_minmax"); - if (ctx->Extensions.EXT_multi_draw_arrays) - len += append_extension(&str, "GL_EXT_multi_draw_arrays"); - -#if FEATURE_OES_EGL_image - if (ctx->Extensions.OES_EGL_image) - len += append_extension(&str, "GL_OES_EGL_image"); -#endif - - if (ctx->Extensions.EXT_texture_format_BGRA8888) - len += append_extension(&str, "GL_EXT_texture_format_BGRA8888"); - - return len; -} - -static GLubyte * -compute_extensions_es2(struct gl_context *ctx) -{ - GLubyte *s; - unsigned int len; - - len = make_extension_string_es2(ctx, NULL); - s = malloc(len + 1); - if (!s) - return NULL; - make_extension_string_es2(ctx, s); - - return s; -} - - -GLubyte * -_mesa_make_extension_string(struct gl_context *ctx) -{ - switch (ctx->API) { - case API_OPENGL: - return compute_extensions(ctx); - case API_OPENGLES2: - return compute_extensions_es2(ctx); - case API_OPENGLES: - return compute_extensions_es1(ctx); - default: - assert(0); - return NULL; - } + return (GLubyte *) exts; } /** @@ -949,38 +881,42 @@ _mesa_make_extension_string(struct gl_context *ctx) GLuint _mesa_get_extension_count(struct gl_context *ctx) { - GLuint i; + GLboolean *base; + const struct extension *i; /* only count once */ - if (!ctx->Extensions.Count) { - for (i = 0; i < Elements(default_extensions); i++) { - if (extension_enabled(ctx, i)) { - ctx->Extensions.Count++; - } + if (ctx->Extensions.Count != 0) + return ctx->Extensions.Count; + + base = (GLboolean *) &ctx->Extensions; + for (i = extension_table; i->name != 0; ++i) { + if (base[i->offset]) { + ctx->Extensions.Count++; } } - - if (0) - _mesa_debug(ctx, "%u of %d extensions enabled\n", ctx->Extensions.Count, - (int) Elements(default_extensions)); - return ctx->Extensions.Count; } - /** * Return name of i-th enabled extension */ const GLubyte * _mesa_get_enabled_extension(struct gl_context *ctx, GLuint index) { - GLuint i; + const GLboolean *base; + size_t n; + const struct extension *i; + + if (index < 0) + return NULL; - for (i = 0; i < Elements(default_extensions); i++) { - if (extension_enabled(ctx, i)) { - if (index == 0) - return (const GLubyte *) default_extensions[i].name; - index--; + base = (GLboolean*) &ctx->Extensions; + n = 0; + for (i = extension_table; i->name != 0; ++i) { + if (n == index && base[i->offset]) { + return (GLubyte*) i->name; + } else if (base[i->offset]) { + ++n; } } diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 3e7fd9cf0ec..f31d8b36db8 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -960,67 +960,42 @@ _mesa_GenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers) /** - * Given an internal format token for a render buffer, return the + * Given an internal format token for a renderbuffer, return the * corresponding base format. - * This is very similar to _mesa_base_tex_format() but the set of valid - * internal formats is somewhat different. - * - * \return one of GL_RGB, GL_RGBA, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT - * GL_DEPTH_STENCIL_EXT or zero if error. - * - * XXX in the future when we support red-only and red-green formats - * we'll also return GL_RED and GL_RG. */ GLenum _mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat) { + GLenum baseFormat; + switch (internalFormat) { - case GL_ALPHA: - case GL_ALPHA4: - case GL_ALPHA8: - case GL_ALPHA12: - case GL_ALPHA16: - return GL_ALPHA; - case GL_RGB: - case GL_R3_G3_B2: - case GL_RGB4: - case GL_RGB5: - case GL_RGB8: - case GL_RGB10: - case GL_RGB12: - case GL_RGB16: - return GL_RGB; - case GL_RGBA: - case GL_RGBA2: - case GL_RGBA4: - case GL_RGB5_A1: - case GL_RGBA8: - case GL_RGB10_A2: - case GL_RGBA12: - case GL_RGBA16: case GL_RGBA16_SNORM: + /* This is used internally by Mesa for accum buffers. */ return GL_RGBA; case GL_STENCIL_INDEX: case GL_STENCIL_INDEX1_EXT: case GL_STENCIL_INDEX4_EXT: case GL_STENCIL_INDEX8_EXT: case GL_STENCIL_INDEX16_EXT: + /* This is not a valid texture internalFormat, but valid for + * renderbuffers. + */ return GL_STENCIL_INDEX; case GL_DEPTH_COMPONENT: case GL_DEPTH_COMPONENT16: case GL_DEPTH_COMPONENT24: case GL_DEPTH_COMPONENT32: + /* This is an override of _mesa_base_tex_format's check that + * ARB_depth_texture is present. We allow depth RBs without it. + */ return GL_DEPTH_COMPONENT; - case GL_DEPTH_STENCIL_EXT: - case GL_DEPTH24_STENCIL8_EXT: - if (ctx->Extensions.EXT_packed_depth_stencil) - return GL_DEPTH_STENCIL_EXT; - else - return 0; - /* XXX add floating point formats eventually */ - default: - return 0; } + + baseFormat = _mesa_base_tex_format(ctx, internalFormat); + if (baseFormat < 0) + return 0; + + return baseFormat; } @@ -1056,6 +1031,14 @@ renderbuffer_storage(GLenum target, GLenum internalFormat, return; } + if (baseFormat != GL_DEPTH_COMPONENT && + baseFormat != GL_STENCIL_INDEX && + baseFormat != GL_DEPTH_STENCIL && + !_mesa_is_legal_color_format(ctx, baseFormat)) { + _mesa_error(ctx, GL_INVALID_ENUM, "%s(internalFormat)", func); + return; + } + if (width < 1 || width > (GLsizei) ctx->Const.MaxRenderbufferSize) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(width)", func); return; @@ -1924,6 +1907,13 @@ _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, " renderbuffer %u)", renderbuffer); return; } + else if (rb == &DummyRenderbuffer) { + /* This is what NVIDIA does */ + _mesa_error(ctx, GL_INVALID_VALUE, + "glFramebufferRenderbufferEXT(renderbuffer %u)", + renderbuffer); + return; + } } else { /* remove renderbuffer attachment */ diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index 1bc72726e13..b8fed182570 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -1092,6 +1092,48 @@ _mesa_get_format_color_encoding(gl_format format) /** + * For an sRGB format, return the corresponding linear color space format. + * For non-sRGB formats, return the format as-is. + */ +gl_format +_mesa_get_srgb_format_linear(gl_format format) +{ + switch (format) { + case MESA_FORMAT_SRGB8: + format = MESA_FORMAT_RGB888; + break; + case MESA_FORMAT_SRGBA8: + format = MESA_FORMAT_RGBA8888; + break; + case MESA_FORMAT_SARGB8: + format = MESA_FORMAT_ARGB8888; + break; + case MESA_FORMAT_SL8: + format = MESA_FORMAT_L8; + break; + case MESA_FORMAT_SLA8: + format = MESA_FORMAT_AL88; + break; + case MESA_FORMAT_SRGB_DXT1: + format = MESA_FORMAT_RGB_DXT1; + break; + case MESA_FORMAT_SRGBA_DXT1: + format = MESA_FORMAT_RGBA_DXT1; + break; + case MESA_FORMAT_SRGBA_DXT3: + format = MESA_FORMAT_RGBA_DXT3; + break; + case MESA_FORMAT_SRGBA_DXT5: + format = MESA_FORMAT_RGBA_DXT5; + break; + default: + break; + } + return format; +} + + +/** * Return number of bytes needed to store an image of the given size * in the given format. */ diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h index b8e76664f85..d4dc5eac03e 100644 --- a/src/mesa/main/formats.h +++ b/src/mesa/main/formats.h @@ -228,4 +228,7 @@ _mesa_format_to_type_and_comps(gl_format format, extern void _mesa_test_formats(void); +extern gl_format +_mesa_get_srgb_format_linear(gl_format format); + #endif /* FORMATS_H */ diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 5d26f74bbc2..e223cf425ab 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -273,6 +273,7 @@ static const int extra_EXT_gpu_shader4[] = { }; +EXTRA_EXT(ARB_ES2_compatibility); EXTRA_EXT(ARB_multitexture); EXTRA_EXT(ARB_texture_cube_map); EXTRA_EXT(MESA_texture_array); @@ -371,7 +372,7 @@ static const struct value_desc values[] = { API_OPENGL_BIT | API_OPENGLES_BIT | API_OPENGLES2_BIT, NO_EXTRA}, { GL_ALPHA_BITS, BUFFER_INT(Visual.alphaBits), extra_new_buffers }, { GL_BLEND, CONTEXT_BIT0(Color.BlendEnabled), NO_EXTRA }, - { GL_BLEND_SRC, CONTEXT_ENUM(Color.BlendSrcRGB), NO_EXTRA }, + { GL_BLEND_SRC, CONTEXT_ENUM(Color.Blend[0].SrcRGB), NO_EXTRA }, { GL_BLUE_BITS, BUFFER_INT(Visual.blueBits), extra_new_buffers }, { GL_COLOR_CLEAR_VALUE, CONTEXT_FIELD(Color.ClearColor[0], TYPE_FLOATN_4), NO_EXTRA }, { GL_COLOR_WRITEMASK, LOC_CUSTOM, TYPE_INT_4, 0, NO_EXTRA }, @@ -434,15 +435,15 @@ static const struct value_desc values[] = { extra_ARB_texture_cube_map }, /* XXX: OES_texture_cube_map */ /* XXX: OES_blend_subtract */ - { GL_BLEND_SRC_RGB_EXT, CONTEXT_ENUM(Color.BlendSrcRGB), NO_EXTRA }, - { GL_BLEND_DST_RGB_EXT, CONTEXT_ENUM(Color.BlendDstRGB), NO_EXTRA }, - { GL_BLEND_SRC_ALPHA_EXT, CONTEXT_ENUM(Color.BlendSrcA), NO_EXTRA }, - { GL_BLEND_DST_ALPHA_EXT, CONTEXT_ENUM(Color.BlendDstA), NO_EXTRA }, + { GL_BLEND_SRC_RGB_EXT, CONTEXT_ENUM(Color.Blend[0].SrcRGB), NO_EXTRA }, + { GL_BLEND_DST_RGB_EXT, CONTEXT_ENUM(Color.Blend[0].DstRGB), NO_EXTRA }, + { GL_BLEND_SRC_ALPHA_EXT, CONTEXT_ENUM(Color.Blend[0].SrcA), NO_EXTRA }, + { GL_BLEND_DST_ALPHA_EXT, CONTEXT_ENUM(Color.Blend[0].DstA), NO_EXTRA }, /* GL_BLEND_EQUATION_RGB, which is what we're really after, is * defined identically to GL_BLEND_EQUATION. */ - { GL_BLEND_EQUATION, CONTEXT_ENUM(Color.BlendEquationRGB), NO_EXTRA }, - { GL_BLEND_EQUATION_ALPHA_EXT, CONTEXT_ENUM(Color.BlendEquationA), NO_EXTRA }, + { GL_BLEND_EQUATION, CONTEXT_ENUM(Color.Blend[0].EquationRGB), NO_EXTRA }, + { GL_BLEND_EQUATION_ALPHA_EXT, CONTEXT_ENUM(Color.Blend[0].EquationA), NO_EXTRA }, /* GL_ARB_texture_compression */ { GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, LOC_CUSTOM, TYPE_INT, 0, NO_EXTRA }, @@ -511,7 +512,7 @@ static const struct value_desc values[] = { { GL_ALPHA_TEST, CONTEXT_BOOL(Color.AlphaEnabled), NO_EXTRA }, { GL_ALPHA_TEST_FUNC, CONTEXT_ENUM(Color.AlphaFunc), NO_EXTRA }, { GL_ALPHA_TEST_REF, CONTEXT_FIELD(Color.AlphaRef, TYPE_FLOATN), NO_EXTRA }, - { GL_BLEND_DST, CONTEXT_ENUM(Color.BlendDstRGB), NO_EXTRA }, + { GL_BLEND_DST, CONTEXT_ENUM(Color.Blend[0].DstRGB), NO_EXTRA }, { GL_CLIP_PLANE0, CONTEXT_BIT0(Transform.ClipPlanesEnabled), NO_EXTRA }, { GL_CLIP_PLANE1, CONTEXT_BIT1(Transform.ClipPlanesEnabled), NO_EXTRA }, { GL_CLIP_PLANE2, CONTEXT_BIT2(Transform.ClipPlanesEnabled), NO_EXTRA }, @@ -587,6 +588,15 @@ static const struct value_desc values[] = { { GL_TEXTURE_COORD_ARRAY_STRIDE, LOC_CUSTOM, TYPE_BOOLEAN, offsetof(struct gl_client_array, Stride), NO_EXTRA }, + /* GL_ARB_ES2_compatibility */ + { GL_SHADER_COMPILER, CONST(1), extra_ARB_ES2_compatibility }, + { GL_MAX_VARYING_VECTORS, CONTEXT_INT(Const.MaxVarying), + extra_ARB_ES2_compatibility }, + { GL_MAX_VERTEX_UNIFORM_VECTORS, LOC_CUSTOM, TYPE_INT, 0, + extra_ARB_ES2_compatibility }, + { GL_MAX_FRAGMENT_UNIFORM_VECTORS, LOC_CUSTOM, TYPE_INT, 0, + extra_ARB_ES2_compatibility }, + /* GL_ARB_multitexture */ { GL_MAX_TEXTURE_UNITS_ARB, CONTEXT_INT(Const.MaxTextureUnits), extra_ARB_multitexture }, @@ -2261,6 +2271,53 @@ find_value_indexed(const char *func, GLenum pname, int index, union value *v) v->value_int = (ctx->Color.BlendEnabled >> index) & 1; return TYPE_INT; + case GL_BLEND_SRC: + /* fall-through */ + case GL_BLEND_SRC_RGB: + if (index >= ctx->Const.MaxDrawBuffers) + goto invalid_value; + if (!ctx->Extensions.ARB_draw_buffers_blend) + goto invalid_enum; + v->value_int = ctx->Color.Blend[index].SrcRGB; + return TYPE_INT; + case GL_BLEND_SRC_ALPHA: + if (index >= ctx->Const.MaxDrawBuffers) + goto invalid_value; + if (!ctx->Extensions.ARB_draw_buffers_blend) + goto invalid_enum; + v->value_int = ctx->Color.Blend[index].SrcA; + return TYPE_INT; + case GL_BLEND_DST: + /* fall-through */ + case GL_BLEND_DST_RGB: + if (index >= ctx->Const.MaxDrawBuffers) + goto invalid_value; + if (!ctx->Extensions.ARB_draw_buffers_blend) + goto invalid_enum; + v->value_int = ctx->Color.Blend[index].DstRGB; + return TYPE_INT; + case GL_BLEND_DST_ALPHA: + if (index >= ctx->Const.MaxDrawBuffers) + goto invalid_value; + if (!ctx->Extensions.ARB_draw_buffers_blend) + goto invalid_enum; + v->value_int = ctx->Color.Blend[index].DstA; + return TYPE_INT; + case GL_BLEND_EQUATION_RGB: + if (index >= ctx->Const.MaxDrawBuffers) + goto invalid_value; + if (!ctx->Extensions.ARB_draw_buffers_blend) + goto invalid_enum; + v->value_int = ctx->Color.Blend[index].EquationRGB; + return TYPE_INT; + case GL_BLEND_EQUATION_ALPHA: + if (index >= ctx->Const.MaxDrawBuffers) + goto invalid_value; + if (!ctx->Extensions.ARB_draw_buffers_blend) + goto invalid_enum; + v->value_int = ctx->Color.Blend[index].EquationA; + return TYPE_INT; + case GL_COLOR_WRITEMASK: if (index >= ctx->Const.MaxDrawBuffers) goto invalid_value; @@ -2311,8 +2368,10 @@ void GLAPIENTRY _mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params ) { union value v; + enum value_type type = + find_value_indexed("glGetBooleanIndexedv", pname, index, &v); - switch (find_value_indexed("glGetBooleanIndexedv", pname, index, &v)) { + switch (type) { case TYPE_INT: params[0] = INT_TO_BOOLEAN(v.value_int); break; @@ -2326,7 +2385,7 @@ _mesa_GetBooleanIndexedv( GLenum pname, GLuint index, GLboolean *params ) params[0] = INT64_TO_BOOLEAN(v.value_int); break; default: - assert(0); + ; /* nothing - GL error was recorded */ } } @@ -2334,8 +2393,10 @@ void GLAPIENTRY _mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params ) { union value v; + enum value_type type = + find_value_indexed("glGetIntegerIndexedv", pname, index, &v); - switch (find_value_indexed("glGetIntegerIndexedv", pname, index, &v)) { + switch (type) { case TYPE_INT: params[0] = v.value_int; break; @@ -2349,7 +2410,7 @@ _mesa_GetIntegerIndexedv( GLenum pname, GLuint index, GLint *params ) params[0] = INT64_TO_INT(v.value_int); break; default: - assert(0); + ; /* nothing - GL error was recorded */ } } @@ -2358,8 +2419,10 @@ void GLAPIENTRY _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params ) { union value v; + enum value_type type = + find_value_indexed("glGetIntegerIndexedv", pname, index, &v); - switch (find_value_indexed("glGetIntegerIndexedv", pname, index, &v)) { + switch (type) { case TYPE_INT: params[0] = v.value_int; break; @@ -2373,7 +2436,7 @@ _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params ) params[0] = v.value_int; break; default: - assert(0); + ; /* nothing - GL error was recorded */ } } #endif /* FEATURE_ARB_sync */ diff --git a/src/mesa/main/glapidispatch.h b/src/mesa/main/glapidispatch.h index 87784269c5c..b5144b0cf53 100644 --- a/src/mesa/main/glapidispatch.h +++ b/src/mesa/main/glapidispatch.h @@ -59,7 +59,7 @@ } while(0) /* total number of offsets below */ -#define _gloffset_COUNT 881 +#define _gloffset_COUNT 891 #define _gloffset_NewList 0 #define _gloffset_EndList 1 @@ -642,313 +642,323 @@ #define _gloffset_FramebufferTextureARB 575 #define _gloffset_FramebufferTextureFaceARB 576 #define _gloffset_ProgramParameteriARB 577 -#define _gloffset_FlushMappedBufferRange 578 -#define _gloffset_MapBufferRange 579 -#define _gloffset_BindVertexArray 580 -#define _gloffset_GenVertexArrays 581 -#define _gloffset_CopyBufferSubData 582 -#define _gloffset_ClientWaitSync 583 -#define _gloffset_DeleteSync 584 -#define _gloffset_FenceSync 585 -#define _gloffset_GetInteger64v 586 -#define _gloffset_GetSynciv 587 -#define _gloffset_IsSync 588 -#define _gloffset_WaitSync 589 -#define _gloffset_DrawElementsBaseVertex 590 -#define _gloffset_DrawRangeElementsBaseVertex 591 -#define _gloffset_MultiDrawElementsBaseVertex 592 -#define _gloffset_BindTransformFeedback 593 -#define _gloffset_DeleteTransformFeedbacks 594 -#define _gloffset_DrawTransformFeedback 595 -#define _gloffset_GenTransformFeedbacks 596 -#define _gloffset_IsTransformFeedback 597 -#define _gloffset_PauseTransformFeedback 598 -#define _gloffset_ResumeTransformFeedback 599 -#define _gloffset_PolygonOffsetEXT 600 -#define _gloffset_GetPixelTexGenParameterfvSGIS 601 -#define _gloffset_GetPixelTexGenParameterivSGIS 602 -#define _gloffset_PixelTexGenParameterfSGIS 603 -#define _gloffset_PixelTexGenParameterfvSGIS 604 -#define _gloffset_PixelTexGenParameteriSGIS 605 -#define _gloffset_PixelTexGenParameterivSGIS 606 -#define _gloffset_SampleMaskSGIS 607 -#define _gloffset_SamplePatternSGIS 608 -#define _gloffset_ColorPointerEXT 609 -#define _gloffset_EdgeFlagPointerEXT 610 -#define _gloffset_IndexPointerEXT 611 -#define _gloffset_NormalPointerEXT 612 -#define _gloffset_TexCoordPointerEXT 613 -#define _gloffset_VertexPointerEXT 614 -#define _gloffset_PointParameterfEXT 615 -#define _gloffset_PointParameterfvEXT 616 -#define _gloffset_LockArraysEXT 617 -#define _gloffset_UnlockArraysEXT 618 -#define _gloffset_SecondaryColor3bEXT 619 -#define _gloffset_SecondaryColor3bvEXT 620 -#define _gloffset_SecondaryColor3dEXT 621 -#define _gloffset_SecondaryColor3dvEXT 622 -#define _gloffset_SecondaryColor3fEXT 623 -#define _gloffset_SecondaryColor3fvEXT 624 -#define _gloffset_SecondaryColor3iEXT 625 -#define _gloffset_SecondaryColor3ivEXT 626 -#define _gloffset_SecondaryColor3sEXT 627 -#define _gloffset_SecondaryColor3svEXT 628 -#define _gloffset_SecondaryColor3ubEXT 629 -#define _gloffset_SecondaryColor3ubvEXT 630 -#define _gloffset_SecondaryColor3uiEXT 631 -#define _gloffset_SecondaryColor3uivEXT 632 -#define _gloffset_SecondaryColor3usEXT 633 -#define _gloffset_SecondaryColor3usvEXT 634 -#define _gloffset_SecondaryColorPointerEXT 635 -#define _gloffset_MultiDrawArraysEXT 636 -#define _gloffset_MultiDrawElementsEXT 637 -#define _gloffset_FogCoordPointerEXT 638 -#define _gloffset_FogCoorddEXT 639 -#define _gloffset_FogCoorddvEXT 640 -#define _gloffset_FogCoordfEXT 641 -#define _gloffset_FogCoordfvEXT 642 -#define _gloffset_PixelTexGenSGIX 643 -#define _gloffset_BlendFuncSeparateEXT 644 -#define _gloffset_FlushVertexArrayRangeNV 645 -#define _gloffset_VertexArrayRangeNV 646 -#define _gloffset_CombinerInputNV 647 -#define _gloffset_CombinerOutputNV 648 -#define _gloffset_CombinerParameterfNV 649 -#define _gloffset_CombinerParameterfvNV 650 -#define _gloffset_CombinerParameteriNV 651 -#define _gloffset_CombinerParameterivNV 652 -#define _gloffset_FinalCombinerInputNV 653 -#define _gloffset_GetCombinerInputParameterfvNV 654 -#define _gloffset_GetCombinerInputParameterivNV 655 -#define _gloffset_GetCombinerOutputParameterfvNV 656 -#define _gloffset_GetCombinerOutputParameterivNV 657 -#define _gloffset_GetFinalCombinerInputParameterfvNV 658 -#define _gloffset_GetFinalCombinerInputParameterivNV 659 -#define _gloffset_ResizeBuffersMESA 660 -#define _gloffset_WindowPos2dMESA 661 -#define _gloffset_WindowPos2dvMESA 662 -#define _gloffset_WindowPos2fMESA 663 -#define _gloffset_WindowPos2fvMESA 664 -#define _gloffset_WindowPos2iMESA 665 -#define _gloffset_WindowPos2ivMESA 666 -#define _gloffset_WindowPos2sMESA 667 -#define _gloffset_WindowPos2svMESA 668 -#define _gloffset_WindowPos3dMESA 669 -#define _gloffset_WindowPos3dvMESA 670 -#define _gloffset_WindowPos3fMESA 671 -#define _gloffset_WindowPos3fvMESA 672 -#define _gloffset_WindowPos3iMESA 673 -#define _gloffset_WindowPos3ivMESA 674 -#define _gloffset_WindowPos3sMESA 675 -#define _gloffset_WindowPos3svMESA 676 -#define _gloffset_WindowPos4dMESA 677 -#define _gloffset_WindowPos4dvMESA 678 -#define _gloffset_WindowPos4fMESA 679 -#define _gloffset_WindowPos4fvMESA 680 -#define _gloffset_WindowPos4iMESA 681 -#define _gloffset_WindowPos4ivMESA 682 -#define _gloffset_WindowPos4sMESA 683 -#define _gloffset_WindowPos4svMESA 684 -#define _gloffset_MultiModeDrawArraysIBM 685 -#define _gloffset_MultiModeDrawElementsIBM 686 -#define _gloffset_DeleteFencesNV 687 -#define _gloffset_FinishFenceNV 688 -#define _gloffset_GenFencesNV 689 -#define _gloffset_GetFenceivNV 690 -#define _gloffset_IsFenceNV 691 -#define _gloffset_SetFenceNV 692 -#define _gloffset_TestFenceNV 693 -#define _gloffset_AreProgramsResidentNV 694 -#define _gloffset_BindProgramNV 695 -#define _gloffset_DeleteProgramsNV 696 -#define _gloffset_ExecuteProgramNV 697 -#define _gloffset_GenProgramsNV 698 -#define _gloffset_GetProgramParameterdvNV 699 -#define _gloffset_GetProgramParameterfvNV 700 -#define _gloffset_GetProgramStringNV 701 -#define _gloffset_GetProgramivNV 702 -#define _gloffset_GetTrackMatrixivNV 703 -#define _gloffset_GetVertexAttribPointervNV 704 -#define _gloffset_GetVertexAttribdvNV 705 -#define _gloffset_GetVertexAttribfvNV 706 -#define _gloffset_GetVertexAttribivNV 707 -#define _gloffset_IsProgramNV 708 -#define _gloffset_LoadProgramNV 709 -#define _gloffset_ProgramParameters4dvNV 710 -#define _gloffset_ProgramParameters4fvNV 711 -#define _gloffset_RequestResidentProgramsNV 712 -#define _gloffset_TrackMatrixNV 713 -#define _gloffset_VertexAttrib1dNV 714 -#define _gloffset_VertexAttrib1dvNV 715 -#define _gloffset_VertexAttrib1fNV 716 -#define _gloffset_VertexAttrib1fvNV 717 -#define _gloffset_VertexAttrib1sNV 718 -#define _gloffset_VertexAttrib1svNV 719 -#define _gloffset_VertexAttrib2dNV 720 -#define _gloffset_VertexAttrib2dvNV 721 -#define _gloffset_VertexAttrib2fNV 722 -#define _gloffset_VertexAttrib2fvNV 723 -#define _gloffset_VertexAttrib2sNV 724 -#define _gloffset_VertexAttrib2svNV 725 -#define _gloffset_VertexAttrib3dNV 726 -#define _gloffset_VertexAttrib3dvNV 727 -#define _gloffset_VertexAttrib3fNV 728 -#define _gloffset_VertexAttrib3fvNV 729 -#define _gloffset_VertexAttrib3sNV 730 -#define _gloffset_VertexAttrib3svNV 731 -#define _gloffset_VertexAttrib4dNV 732 -#define _gloffset_VertexAttrib4dvNV 733 -#define _gloffset_VertexAttrib4fNV 734 -#define _gloffset_VertexAttrib4fvNV 735 -#define _gloffset_VertexAttrib4sNV 736 -#define _gloffset_VertexAttrib4svNV 737 -#define _gloffset_VertexAttrib4ubNV 738 -#define _gloffset_VertexAttrib4ubvNV 739 -#define _gloffset_VertexAttribPointerNV 740 -#define _gloffset_VertexAttribs1dvNV 741 -#define _gloffset_VertexAttribs1fvNV 742 -#define _gloffset_VertexAttribs1svNV 743 -#define _gloffset_VertexAttribs2dvNV 744 -#define _gloffset_VertexAttribs2fvNV 745 -#define _gloffset_VertexAttribs2svNV 746 -#define _gloffset_VertexAttribs3dvNV 747 -#define _gloffset_VertexAttribs3fvNV 748 -#define _gloffset_VertexAttribs3svNV 749 -#define _gloffset_VertexAttribs4dvNV 750 -#define _gloffset_VertexAttribs4fvNV 751 -#define _gloffset_VertexAttribs4svNV 752 -#define _gloffset_VertexAttribs4ubvNV 753 -#define _gloffset_GetTexBumpParameterfvATI 754 -#define _gloffset_GetTexBumpParameterivATI 755 -#define _gloffset_TexBumpParameterfvATI 756 -#define _gloffset_TexBumpParameterivATI 757 -#define _gloffset_AlphaFragmentOp1ATI 758 -#define _gloffset_AlphaFragmentOp2ATI 759 -#define _gloffset_AlphaFragmentOp3ATI 760 -#define _gloffset_BeginFragmentShaderATI 761 -#define _gloffset_BindFragmentShaderATI 762 -#define _gloffset_ColorFragmentOp1ATI 763 -#define _gloffset_ColorFragmentOp2ATI 764 -#define _gloffset_ColorFragmentOp3ATI 765 -#define _gloffset_DeleteFragmentShaderATI 766 -#define _gloffset_EndFragmentShaderATI 767 -#define _gloffset_GenFragmentShadersATI 768 -#define _gloffset_PassTexCoordATI 769 -#define _gloffset_SampleMapATI 770 -#define _gloffset_SetFragmentShaderConstantATI 771 -#define _gloffset_PointParameteriNV 772 -#define _gloffset_PointParameterivNV 773 -#define _gloffset_ActiveStencilFaceEXT 774 -#define _gloffset_BindVertexArrayAPPLE 775 -#define _gloffset_DeleteVertexArraysAPPLE 776 -#define _gloffset_GenVertexArraysAPPLE 777 -#define _gloffset_IsVertexArrayAPPLE 778 -#define _gloffset_GetProgramNamedParameterdvNV 779 -#define _gloffset_GetProgramNamedParameterfvNV 780 -#define _gloffset_ProgramNamedParameter4dNV 781 -#define _gloffset_ProgramNamedParameter4dvNV 782 -#define _gloffset_ProgramNamedParameter4fNV 783 -#define _gloffset_ProgramNamedParameter4fvNV 784 -#define _gloffset_PrimitiveRestartIndexNV 785 -#define _gloffset_PrimitiveRestartNV 786 -#define _gloffset_DepthBoundsEXT 787 -#define _gloffset_BlendEquationSeparateEXT 788 -#define _gloffset_BindFramebufferEXT 789 -#define _gloffset_BindRenderbufferEXT 790 -#define _gloffset_CheckFramebufferStatusEXT 791 -#define _gloffset_DeleteFramebuffersEXT 792 -#define _gloffset_DeleteRenderbuffersEXT 793 -#define _gloffset_FramebufferRenderbufferEXT 794 -#define _gloffset_FramebufferTexture1DEXT 795 -#define _gloffset_FramebufferTexture2DEXT 796 -#define _gloffset_FramebufferTexture3DEXT 797 -#define _gloffset_GenFramebuffersEXT 798 -#define _gloffset_GenRenderbuffersEXT 799 -#define _gloffset_GenerateMipmapEXT 800 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 801 -#define _gloffset_GetRenderbufferParameterivEXT 802 -#define _gloffset_IsFramebufferEXT 803 -#define _gloffset_IsRenderbufferEXT 804 -#define _gloffset_RenderbufferStorageEXT 805 -#define _gloffset_BlitFramebufferEXT 806 -#define _gloffset_BufferParameteriAPPLE 807 -#define _gloffset_FlushMappedBufferRangeAPPLE 808 -#define _gloffset_BindFragDataLocationEXT 809 -#define _gloffset_GetFragDataLocationEXT 810 -#define _gloffset_GetUniformuivEXT 811 -#define _gloffset_GetVertexAttribIivEXT 812 -#define _gloffset_GetVertexAttribIuivEXT 813 -#define _gloffset_Uniform1uiEXT 814 -#define _gloffset_Uniform1uivEXT 815 -#define _gloffset_Uniform2uiEXT 816 -#define _gloffset_Uniform2uivEXT 817 -#define _gloffset_Uniform3uiEXT 818 -#define _gloffset_Uniform3uivEXT 819 -#define _gloffset_Uniform4uiEXT 820 -#define _gloffset_Uniform4uivEXT 821 -#define _gloffset_VertexAttribI1iEXT 822 -#define _gloffset_VertexAttribI1ivEXT 823 -#define _gloffset_VertexAttribI1uiEXT 824 -#define _gloffset_VertexAttribI1uivEXT 825 -#define _gloffset_VertexAttribI2iEXT 826 -#define _gloffset_VertexAttribI2ivEXT 827 -#define _gloffset_VertexAttribI2uiEXT 828 -#define _gloffset_VertexAttribI2uivEXT 829 -#define _gloffset_VertexAttribI3iEXT 830 -#define _gloffset_VertexAttribI3ivEXT 831 -#define _gloffset_VertexAttribI3uiEXT 832 -#define _gloffset_VertexAttribI3uivEXT 833 -#define _gloffset_VertexAttribI4bvEXT 834 -#define _gloffset_VertexAttribI4iEXT 835 -#define _gloffset_VertexAttribI4ivEXT 836 -#define _gloffset_VertexAttribI4svEXT 837 -#define _gloffset_VertexAttribI4ubvEXT 838 -#define _gloffset_VertexAttribI4uiEXT 839 -#define _gloffset_VertexAttribI4uivEXT 840 -#define _gloffset_VertexAttribI4usvEXT 841 -#define _gloffset_VertexAttribIPointerEXT 842 -#define _gloffset_FramebufferTextureLayerEXT 843 -#define _gloffset_ColorMaskIndexedEXT 844 -#define _gloffset_DisableIndexedEXT 845 -#define _gloffset_EnableIndexedEXT 846 -#define _gloffset_GetBooleanIndexedvEXT 847 -#define _gloffset_GetIntegerIndexedvEXT 848 -#define _gloffset_IsEnabledIndexedEXT 849 -#define _gloffset_ClearColorIiEXT 850 -#define _gloffset_ClearColorIuiEXT 851 -#define _gloffset_GetTexParameterIivEXT 852 -#define _gloffset_GetTexParameterIuivEXT 853 -#define _gloffset_TexParameterIivEXT 854 -#define _gloffset_TexParameterIuivEXT 855 -#define _gloffset_BeginConditionalRenderNV 856 -#define _gloffset_EndConditionalRenderNV 857 -#define _gloffset_BeginTransformFeedbackEXT 858 -#define _gloffset_BindBufferBaseEXT 859 -#define _gloffset_BindBufferOffsetEXT 860 -#define _gloffset_BindBufferRangeEXT 861 -#define _gloffset_EndTransformFeedbackEXT 862 -#define _gloffset_GetTransformFeedbackVaryingEXT 863 -#define _gloffset_TransformFeedbackVaryingsEXT 864 -#define _gloffset_ProvokingVertexEXT 865 -#define _gloffset_GetTexParameterPointervAPPLE 866 -#define _gloffset_TextureRangeAPPLE 867 -#define _gloffset_GetObjectParameterivAPPLE 868 -#define _gloffset_ObjectPurgeableAPPLE 869 -#define _gloffset_ObjectUnpurgeableAPPLE 870 -#define _gloffset_ActiveProgramEXT 871 -#define _gloffset_CreateShaderProgramEXT 872 -#define _gloffset_UseShaderProgramEXT 873 -#define _gloffset_StencilFuncSeparateATI 874 -#define _gloffset_ProgramEnvParameters4fvEXT 875 -#define _gloffset_ProgramLocalParameters4fvEXT 876 -#define _gloffset_GetQueryObjecti64vEXT 877 -#define _gloffset_GetQueryObjectui64vEXT 878 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 879 -#define _gloffset_EGLImageTargetTexture2DOES 880 +#define _gloffset_VertexAttribDivisorARB 578 +#define _gloffset_FlushMappedBufferRange 579 +#define _gloffset_MapBufferRange 580 +#define _gloffset_BindVertexArray 581 +#define _gloffset_GenVertexArrays 582 +#define _gloffset_CopyBufferSubData 583 +#define _gloffset_ClientWaitSync 584 +#define _gloffset_DeleteSync 585 +#define _gloffset_FenceSync 586 +#define _gloffset_GetInteger64v 587 +#define _gloffset_GetSynciv 588 +#define _gloffset_IsSync 589 +#define _gloffset_WaitSync 590 +#define _gloffset_DrawElementsBaseVertex 591 +#define _gloffset_DrawRangeElementsBaseVertex 592 +#define _gloffset_MultiDrawElementsBaseVertex 593 +#define _gloffset_BlendEquationSeparateiARB 594 +#define _gloffset_BlendEquationiARB 595 +#define _gloffset_BlendFuncSeparateiARB 596 +#define _gloffset_BlendFunciARB 597 +#define _gloffset_BindTransformFeedback 598 +#define _gloffset_DeleteTransformFeedbacks 599 +#define _gloffset_DrawTransformFeedback 600 +#define _gloffset_GenTransformFeedbacks 601 +#define _gloffset_IsTransformFeedback 602 +#define _gloffset_PauseTransformFeedback 603 +#define _gloffset_ResumeTransformFeedback 604 +#define _gloffset_ClearDepthf 605 +#define _gloffset_DepthRangef 606 +#define _gloffset_GetShaderPrecisionFormat 607 +#define _gloffset_ReleaseShaderCompiler 608 +#define _gloffset_ShaderBinary 609 +#define _gloffset_PolygonOffsetEXT 610 +#define _gloffset_GetPixelTexGenParameterfvSGIS 611 +#define _gloffset_GetPixelTexGenParameterivSGIS 612 +#define _gloffset_PixelTexGenParameterfSGIS 613 +#define _gloffset_PixelTexGenParameterfvSGIS 614 +#define _gloffset_PixelTexGenParameteriSGIS 615 +#define _gloffset_PixelTexGenParameterivSGIS 616 +#define _gloffset_SampleMaskSGIS 617 +#define _gloffset_SamplePatternSGIS 618 +#define _gloffset_ColorPointerEXT 619 +#define _gloffset_EdgeFlagPointerEXT 620 +#define _gloffset_IndexPointerEXT 621 +#define _gloffset_NormalPointerEXT 622 +#define _gloffset_TexCoordPointerEXT 623 +#define _gloffset_VertexPointerEXT 624 +#define _gloffset_PointParameterfEXT 625 +#define _gloffset_PointParameterfvEXT 626 +#define _gloffset_LockArraysEXT 627 +#define _gloffset_UnlockArraysEXT 628 +#define _gloffset_SecondaryColor3bEXT 629 +#define _gloffset_SecondaryColor3bvEXT 630 +#define _gloffset_SecondaryColor3dEXT 631 +#define _gloffset_SecondaryColor3dvEXT 632 +#define _gloffset_SecondaryColor3fEXT 633 +#define _gloffset_SecondaryColor3fvEXT 634 +#define _gloffset_SecondaryColor3iEXT 635 +#define _gloffset_SecondaryColor3ivEXT 636 +#define _gloffset_SecondaryColor3sEXT 637 +#define _gloffset_SecondaryColor3svEXT 638 +#define _gloffset_SecondaryColor3ubEXT 639 +#define _gloffset_SecondaryColor3ubvEXT 640 +#define _gloffset_SecondaryColor3uiEXT 641 +#define _gloffset_SecondaryColor3uivEXT 642 +#define _gloffset_SecondaryColor3usEXT 643 +#define _gloffset_SecondaryColor3usvEXT 644 +#define _gloffset_SecondaryColorPointerEXT 645 +#define _gloffset_MultiDrawArraysEXT 646 +#define _gloffset_MultiDrawElementsEXT 647 +#define _gloffset_FogCoordPointerEXT 648 +#define _gloffset_FogCoorddEXT 649 +#define _gloffset_FogCoorddvEXT 650 +#define _gloffset_FogCoordfEXT 651 +#define _gloffset_FogCoordfvEXT 652 +#define _gloffset_PixelTexGenSGIX 653 +#define _gloffset_BlendFuncSeparateEXT 654 +#define _gloffset_FlushVertexArrayRangeNV 655 +#define _gloffset_VertexArrayRangeNV 656 +#define _gloffset_CombinerInputNV 657 +#define _gloffset_CombinerOutputNV 658 +#define _gloffset_CombinerParameterfNV 659 +#define _gloffset_CombinerParameterfvNV 660 +#define _gloffset_CombinerParameteriNV 661 +#define _gloffset_CombinerParameterivNV 662 +#define _gloffset_FinalCombinerInputNV 663 +#define _gloffset_GetCombinerInputParameterfvNV 664 +#define _gloffset_GetCombinerInputParameterivNV 665 +#define _gloffset_GetCombinerOutputParameterfvNV 666 +#define _gloffset_GetCombinerOutputParameterivNV 667 +#define _gloffset_GetFinalCombinerInputParameterfvNV 668 +#define _gloffset_GetFinalCombinerInputParameterivNV 669 +#define _gloffset_ResizeBuffersMESA 670 +#define _gloffset_WindowPos2dMESA 671 +#define _gloffset_WindowPos2dvMESA 672 +#define _gloffset_WindowPos2fMESA 673 +#define _gloffset_WindowPos2fvMESA 674 +#define _gloffset_WindowPos2iMESA 675 +#define _gloffset_WindowPos2ivMESA 676 +#define _gloffset_WindowPos2sMESA 677 +#define _gloffset_WindowPos2svMESA 678 +#define _gloffset_WindowPos3dMESA 679 +#define _gloffset_WindowPos3dvMESA 680 +#define _gloffset_WindowPos3fMESA 681 +#define _gloffset_WindowPos3fvMESA 682 +#define _gloffset_WindowPos3iMESA 683 +#define _gloffset_WindowPos3ivMESA 684 +#define _gloffset_WindowPos3sMESA 685 +#define _gloffset_WindowPos3svMESA 686 +#define _gloffset_WindowPos4dMESA 687 +#define _gloffset_WindowPos4dvMESA 688 +#define _gloffset_WindowPos4fMESA 689 +#define _gloffset_WindowPos4fvMESA 690 +#define _gloffset_WindowPos4iMESA 691 +#define _gloffset_WindowPos4ivMESA 692 +#define _gloffset_WindowPos4sMESA 693 +#define _gloffset_WindowPos4svMESA 694 +#define _gloffset_MultiModeDrawArraysIBM 695 +#define _gloffset_MultiModeDrawElementsIBM 696 +#define _gloffset_DeleteFencesNV 697 +#define _gloffset_FinishFenceNV 698 +#define _gloffset_GenFencesNV 699 +#define _gloffset_GetFenceivNV 700 +#define _gloffset_IsFenceNV 701 +#define _gloffset_SetFenceNV 702 +#define _gloffset_TestFenceNV 703 +#define _gloffset_AreProgramsResidentNV 704 +#define _gloffset_BindProgramNV 705 +#define _gloffset_DeleteProgramsNV 706 +#define _gloffset_ExecuteProgramNV 707 +#define _gloffset_GenProgramsNV 708 +#define _gloffset_GetProgramParameterdvNV 709 +#define _gloffset_GetProgramParameterfvNV 710 +#define _gloffset_GetProgramStringNV 711 +#define _gloffset_GetProgramivNV 712 +#define _gloffset_GetTrackMatrixivNV 713 +#define _gloffset_GetVertexAttribPointervNV 714 +#define _gloffset_GetVertexAttribdvNV 715 +#define _gloffset_GetVertexAttribfvNV 716 +#define _gloffset_GetVertexAttribivNV 717 +#define _gloffset_IsProgramNV 718 +#define _gloffset_LoadProgramNV 719 +#define _gloffset_ProgramParameters4dvNV 720 +#define _gloffset_ProgramParameters4fvNV 721 +#define _gloffset_RequestResidentProgramsNV 722 +#define _gloffset_TrackMatrixNV 723 +#define _gloffset_VertexAttrib1dNV 724 +#define _gloffset_VertexAttrib1dvNV 725 +#define _gloffset_VertexAttrib1fNV 726 +#define _gloffset_VertexAttrib1fvNV 727 +#define _gloffset_VertexAttrib1sNV 728 +#define _gloffset_VertexAttrib1svNV 729 +#define _gloffset_VertexAttrib2dNV 730 +#define _gloffset_VertexAttrib2dvNV 731 +#define _gloffset_VertexAttrib2fNV 732 +#define _gloffset_VertexAttrib2fvNV 733 +#define _gloffset_VertexAttrib2sNV 734 +#define _gloffset_VertexAttrib2svNV 735 +#define _gloffset_VertexAttrib3dNV 736 +#define _gloffset_VertexAttrib3dvNV 737 +#define _gloffset_VertexAttrib3fNV 738 +#define _gloffset_VertexAttrib3fvNV 739 +#define _gloffset_VertexAttrib3sNV 740 +#define _gloffset_VertexAttrib3svNV 741 +#define _gloffset_VertexAttrib4dNV 742 +#define _gloffset_VertexAttrib4dvNV 743 +#define _gloffset_VertexAttrib4fNV 744 +#define _gloffset_VertexAttrib4fvNV 745 +#define _gloffset_VertexAttrib4sNV 746 +#define _gloffset_VertexAttrib4svNV 747 +#define _gloffset_VertexAttrib4ubNV 748 +#define _gloffset_VertexAttrib4ubvNV 749 +#define _gloffset_VertexAttribPointerNV 750 +#define _gloffset_VertexAttribs1dvNV 751 +#define _gloffset_VertexAttribs1fvNV 752 +#define _gloffset_VertexAttribs1svNV 753 +#define _gloffset_VertexAttribs2dvNV 754 +#define _gloffset_VertexAttribs2fvNV 755 +#define _gloffset_VertexAttribs2svNV 756 +#define _gloffset_VertexAttribs3dvNV 757 +#define _gloffset_VertexAttribs3fvNV 758 +#define _gloffset_VertexAttribs3svNV 759 +#define _gloffset_VertexAttribs4dvNV 760 +#define _gloffset_VertexAttribs4fvNV 761 +#define _gloffset_VertexAttribs4svNV 762 +#define _gloffset_VertexAttribs4ubvNV 763 +#define _gloffset_GetTexBumpParameterfvATI 764 +#define _gloffset_GetTexBumpParameterivATI 765 +#define _gloffset_TexBumpParameterfvATI 766 +#define _gloffset_TexBumpParameterivATI 767 +#define _gloffset_AlphaFragmentOp1ATI 768 +#define _gloffset_AlphaFragmentOp2ATI 769 +#define _gloffset_AlphaFragmentOp3ATI 770 +#define _gloffset_BeginFragmentShaderATI 771 +#define _gloffset_BindFragmentShaderATI 772 +#define _gloffset_ColorFragmentOp1ATI 773 +#define _gloffset_ColorFragmentOp2ATI 774 +#define _gloffset_ColorFragmentOp3ATI 775 +#define _gloffset_DeleteFragmentShaderATI 776 +#define _gloffset_EndFragmentShaderATI 777 +#define _gloffset_GenFragmentShadersATI 778 +#define _gloffset_PassTexCoordATI 779 +#define _gloffset_SampleMapATI 780 +#define _gloffset_SetFragmentShaderConstantATI 781 +#define _gloffset_PointParameteriNV 782 +#define _gloffset_PointParameterivNV 783 +#define _gloffset_ActiveStencilFaceEXT 784 +#define _gloffset_BindVertexArrayAPPLE 785 +#define _gloffset_DeleteVertexArraysAPPLE 786 +#define _gloffset_GenVertexArraysAPPLE 787 +#define _gloffset_IsVertexArrayAPPLE 788 +#define _gloffset_GetProgramNamedParameterdvNV 789 +#define _gloffset_GetProgramNamedParameterfvNV 790 +#define _gloffset_ProgramNamedParameter4dNV 791 +#define _gloffset_ProgramNamedParameter4dvNV 792 +#define _gloffset_ProgramNamedParameter4fNV 793 +#define _gloffset_ProgramNamedParameter4fvNV 794 +#define _gloffset_PrimitiveRestartIndexNV 795 +#define _gloffset_PrimitiveRestartNV 796 +#define _gloffset_DepthBoundsEXT 797 +#define _gloffset_BlendEquationSeparateEXT 798 +#define _gloffset_BindFramebufferEXT 799 +#define _gloffset_BindRenderbufferEXT 800 +#define _gloffset_CheckFramebufferStatusEXT 801 +#define _gloffset_DeleteFramebuffersEXT 802 +#define _gloffset_DeleteRenderbuffersEXT 803 +#define _gloffset_FramebufferRenderbufferEXT 804 +#define _gloffset_FramebufferTexture1DEXT 805 +#define _gloffset_FramebufferTexture2DEXT 806 +#define _gloffset_FramebufferTexture3DEXT 807 +#define _gloffset_GenFramebuffersEXT 808 +#define _gloffset_GenRenderbuffersEXT 809 +#define _gloffset_GenerateMipmapEXT 810 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 811 +#define _gloffset_GetRenderbufferParameterivEXT 812 +#define _gloffset_IsFramebufferEXT 813 +#define _gloffset_IsRenderbufferEXT 814 +#define _gloffset_RenderbufferStorageEXT 815 +#define _gloffset_BlitFramebufferEXT 816 +#define _gloffset_BufferParameteriAPPLE 817 +#define _gloffset_FlushMappedBufferRangeAPPLE 818 +#define _gloffset_BindFragDataLocationEXT 819 +#define _gloffset_GetFragDataLocationEXT 820 +#define _gloffset_GetUniformuivEXT 821 +#define _gloffset_GetVertexAttribIivEXT 822 +#define _gloffset_GetVertexAttribIuivEXT 823 +#define _gloffset_Uniform1uiEXT 824 +#define _gloffset_Uniform1uivEXT 825 +#define _gloffset_Uniform2uiEXT 826 +#define _gloffset_Uniform2uivEXT 827 +#define _gloffset_Uniform3uiEXT 828 +#define _gloffset_Uniform3uivEXT 829 +#define _gloffset_Uniform4uiEXT 830 +#define _gloffset_Uniform4uivEXT 831 +#define _gloffset_VertexAttribI1iEXT 832 +#define _gloffset_VertexAttribI1ivEXT 833 +#define _gloffset_VertexAttribI1uiEXT 834 +#define _gloffset_VertexAttribI1uivEXT 835 +#define _gloffset_VertexAttribI2iEXT 836 +#define _gloffset_VertexAttribI2ivEXT 837 +#define _gloffset_VertexAttribI2uiEXT 838 +#define _gloffset_VertexAttribI2uivEXT 839 +#define _gloffset_VertexAttribI3iEXT 840 +#define _gloffset_VertexAttribI3ivEXT 841 +#define _gloffset_VertexAttribI3uiEXT 842 +#define _gloffset_VertexAttribI3uivEXT 843 +#define _gloffset_VertexAttribI4bvEXT 844 +#define _gloffset_VertexAttribI4iEXT 845 +#define _gloffset_VertexAttribI4ivEXT 846 +#define _gloffset_VertexAttribI4svEXT 847 +#define _gloffset_VertexAttribI4ubvEXT 848 +#define _gloffset_VertexAttribI4uiEXT 849 +#define _gloffset_VertexAttribI4uivEXT 850 +#define _gloffset_VertexAttribI4usvEXT 851 +#define _gloffset_VertexAttribIPointerEXT 852 +#define _gloffset_FramebufferTextureLayerEXT 853 +#define _gloffset_ColorMaskIndexedEXT 854 +#define _gloffset_DisableIndexedEXT 855 +#define _gloffset_EnableIndexedEXT 856 +#define _gloffset_GetBooleanIndexedvEXT 857 +#define _gloffset_GetIntegerIndexedvEXT 858 +#define _gloffset_IsEnabledIndexedEXT 859 +#define _gloffset_ClearColorIiEXT 860 +#define _gloffset_ClearColorIuiEXT 861 +#define _gloffset_GetTexParameterIivEXT 862 +#define _gloffset_GetTexParameterIuivEXT 863 +#define _gloffset_TexParameterIivEXT 864 +#define _gloffset_TexParameterIuivEXT 865 +#define _gloffset_BeginConditionalRenderNV 866 +#define _gloffset_EndConditionalRenderNV 867 +#define _gloffset_BeginTransformFeedbackEXT 868 +#define _gloffset_BindBufferBaseEXT 869 +#define _gloffset_BindBufferOffsetEXT 870 +#define _gloffset_BindBufferRangeEXT 871 +#define _gloffset_EndTransformFeedbackEXT 872 +#define _gloffset_GetTransformFeedbackVaryingEXT 873 +#define _gloffset_TransformFeedbackVaryingsEXT 874 +#define _gloffset_ProvokingVertexEXT 875 +#define _gloffset_GetTexParameterPointervAPPLE 876 +#define _gloffset_TextureRangeAPPLE 877 +#define _gloffset_GetObjectParameterivAPPLE 878 +#define _gloffset_ObjectPurgeableAPPLE 879 +#define _gloffset_ObjectUnpurgeableAPPLE 880 +#define _gloffset_ActiveProgramEXT 881 +#define _gloffset_CreateShaderProgramEXT 882 +#define _gloffset_UseShaderProgramEXT 883 +#define _gloffset_StencilFuncSeparateATI 884 +#define _gloffset_ProgramEnvParameters4fvEXT 885 +#define _gloffset_ProgramLocalParameters4fvEXT 886 +#define _gloffset_GetQueryObjecti64vEXT 887 +#define _gloffset_GetQueryObjectui64vEXT 888 +#define _gloffset_EGLImageTargetRenderbufferStorageOES 889 +#define _gloffset_EGLImageTargetTexture2DOES 890 #else /* !_GLAPI_USE_REMAP_TABLE */ -#define driDispatchRemapTable_size 473 +#define driDispatchRemapTable_size 483 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -1121,309 +1131,319 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define FramebufferTextureARB_remap_index 167 #define FramebufferTextureFaceARB_remap_index 168 #define ProgramParameteriARB_remap_index 169 -#define FlushMappedBufferRange_remap_index 170 -#define MapBufferRange_remap_index 171 -#define BindVertexArray_remap_index 172 -#define GenVertexArrays_remap_index 173 -#define CopyBufferSubData_remap_index 174 -#define ClientWaitSync_remap_index 175 -#define DeleteSync_remap_index 176 -#define FenceSync_remap_index 177 -#define GetInteger64v_remap_index 178 -#define GetSynciv_remap_index 179 -#define IsSync_remap_index 180 -#define WaitSync_remap_index 181 -#define DrawElementsBaseVertex_remap_index 182 -#define DrawRangeElementsBaseVertex_remap_index 183 -#define MultiDrawElementsBaseVertex_remap_index 184 -#define BindTransformFeedback_remap_index 185 -#define DeleteTransformFeedbacks_remap_index 186 -#define DrawTransformFeedback_remap_index 187 -#define GenTransformFeedbacks_remap_index 188 -#define IsTransformFeedback_remap_index 189 -#define PauseTransformFeedback_remap_index 190 -#define ResumeTransformFeedback_remap_index 191 -#define PolygonOffsetEXT_remap_index 192 -#define GetPixelTexGenParameterfvSGIS_remap_index 193 -#define GetPixelTexGenParameterivSGIS_remap_index 194 -#define PixelTexGenParameterfSGIS_remap_index 195 -#define PixelTexGenParameterfvSGIS_remap_index 196 -#define PixelTexGenParameteriSGIS_remap_index 197 -#define PixelTexGenParameterivSGIS_remap_index 198 -#define SampleMaskSGIS_remap_index 199 -#define SamplePatternSGIS_remap_index 200 -#define ColorPointerEXT_remap_index 201 -#define EdgeFlagPointerEXT_remap_index 202 -#define IndexPointerEXT_remap_index 203 -#define NormalPointerEXT_remap_index 204 -#define TexCoordPointerEXT_remap_index 205 -#define VertexPointerEXT_remap_index 206 -#define PointParameterfEXT_remap_index 207 -#define PointParameterfvEXT_remap_index 208 -#define LockArraysEXT_remap_index 209 -#define UnlockArraysEXT_remap_index 210 -#define SecondaryColor3bEXT_remap_index 211 -#define SecondaryColor3bvEXT_remap_index 212 -#define SecondaryColor3dEXT_remap_index 213 -#define SecondaryColor3dvEXT_remap_index 214 -#define SecondaryColor3fEXT_remap_index 215 -#define SecondaryColor3fvEXT_remap_index 216 -#define SecondaryColor3iEXT_remap_index 217 -#define SecondaryColor3ivEXT_remap_index 218 -#define SecondaryColor3sEXT_remap_index 219 -#define SecondaryColor3svEXT_remap_index 220 -#define SecondaryColor3ubEXT_remap_index 221 -#define SecondaryColor3ubvEXT_remap_index 222 -#define SecondaryColor3uiEXT_remap_index 223 -#define SecondaryColor3uivEXT_remap_index 224 -#define SecondaryColor3usEXT_remap_index 225 -#define SecondaryColor3usvEXT_remap_index 226 -#define SecondaryColorPointerEXT_remap_index 227 -#define MultiDrawArraysEXT_remap_index 228 -#define MultiDrawElementsEXT_remap_index 229 -#define FogCoordPointerEXT_remap_index 230 -#define FogCoorddEXT_remap_index 231 -#define FogCoorddvEXT_remap_index 232 -#define FogCoordfEXT_remap_index 233 -#define FogCoordfvEXT_remap_index 234 -#define PixelTexGenSGIX_remap_index 235 -#define BlendFuncSeparateEXT_remap_index 236 -#define FlushVertexArrayRangeNV_remap_index 237 -#define VertexArrayRangeNV_remap_index 238 -#define CombinerInputNV_remap_index 239 -#define CombinerOutputNV_remap_index 240 -#define CombinerParameterfNV_remap_index 241 -#define CombinerParameterfvNV_remap_index 242 -#define CombinerParameteriNV_remap_index 243 -#define CombinerParameterivNV_remap_index 244 -#define FinalCombinerInputNV_remap_index 245 -#define GetCombinerInputParameterfvNV_remap_index 246 -#define GetCombinerInputParameterivNV_remap_index 247 -#define GetCombinerOutputParameterfvNV_remap_index 248 -#define GetCombinerOutputParameterivNV_remap_index 249 -#define GetFinalCombinerInputParameterfvNV_remap_index 250 -#define GetFinalCombinerInputParameterivNV_remap_index 251 -#define ResizeBuffersMESA_remap_index 252 -#define WindowPos2dMESA_remap_index 253 -#define WindowPos2dvMESA_remap_index 254 -#define WindowPos2fMESA_remap_index 255 -#define WindowPos2fvMESA_remap_index 256 -#define WindowPos2iMESA_remap_index 257 -#define WindowPos2ivMESA_remap_index 258 -#define WindowPos2sMESA_remap_index 259 -#define WindowPos2svMESA_remap_index 260 -#define WindowPos3dMESA_remap_index 261 -#define WindowPos3dvMESA_remap_index 262 -#define WindowPos3fMESA_remap_index 263 -#define WindowPos3fvMESA_remap_index 264 -#define WindowPos3iMESA_remap_index 265 -#define WindowPos3ivMESA_remap_index 266 -#define WindowPos3sMESA_remap_index 267 -#define WindowPos3svMESA_remap_index 268 -#define WindowPos4dMESA_remap_index 269 -#define WindowPos4dvMESA_remap_index 270 -#define WindowPos4fMESA_remap_index 271 -#define WindowPos4fvMESA_remap_index 272 -#define WindowPos4iMESA_remap_index 273 -#define WindowPos4ivMESA_remap_index 274 -#define WindowPos4sMESA_remap_index 275 -#define WindowPos4svMESA_remap_index 276 -#define MultiModeDrawArraysIBM_remap_index 277 -#define MultiModeDrawElementsIBM_remap_index 278 -#define DeleteFencesNV_remap_index 279 -#define FinishFenceNV_remap_index 280 -#define GenFencesNV_remap_index 281 -#define GetFenceivNV_remap_index 282 -#define IsFenceNV_remap_index 283 -#define SetFenceNV_remap_index 284 -#define TestFenceNV_remap_index 285 -#define AreProgramsResidentNV_remap_index 286 -#define BindProgramNV_remap_index 287 -#define DeleteProgramsNV_remap_index 288 -#define ExecuteProgramNV_remap_index 289 -#define GenProgramsNV_remap_index 290 -#define GetProgramParameterdvNV_remap_index 291 -#define GetProgramParameterfvNV_remap_index 292 -#define GetProgramStringNV_remap_index 293 -#define GetProgramivNV_remap_index 294 -#define GetTrackMatrixivNV_remap_index 295 -#define GetVertexAttribPointervNV_remap_index 296 -#define GetVertexAttribdvNV_remap_index 297 -#define GetVertexAttribfvNV_remap_index 298 -#define GetVertexAttribivNV_remap_index 299 -#define IsProgramNV_remap_index 300 -#define LoadProgramNV_remap_index 301 -#define ProgramParameters4dvNV_remap_index 302 -#define ProgramParameters4fvNV_remap_index 303 -#define RequestResidentProgramsNV_remap_index 304 -#define TrackMatrixNV_remap_index 305 -#define VertexAttrib1dNV_remap_index 306 -#define VertexAttrib1dvNV_remap_index 307 -#define VertexAttrib1fNV_remap_index 308 -#define VertexAttrib1fvNV_remap_index 309 -#define VertexAttrib1sNV_remap_index 310 -#define VertexAttrib1svNV_remap_index 311 -#define VertexAttrib2dNV_remap_index 312 -#define VertexAttrib2dvNV_remap_index 313 -#define VertexAttrib2fNV_remap_index 314 -#define VertexAttrib2fvNV_remap_index 315 -#define VertexAttrib2sNV_remap_index 316 -#define VertexAttrib2svNV_remap_index 317 -#define VertexAttrib3dNV_remap_index 318 -#define VertexAttrib3dvNV_remap_index 319 -#define VertexAttrib3fNV_remap_index 320 -#define VertexAttrib3fvNV_remap_index 321 -#define VertexAttrib3sNV_remap_index 322 -#define VertexAttrib3svNV_remap_index 323 -#define VertexAttrib4dNV_remap_index 324 -#define VertexAttrib4dvNV_remap_index 325 -#define VertexAttrib4fNV_remap_index 326 -#define VertexAttrib4fvNV_remap_index 327 -#define VertexAttrib4sNV_remap_index 328 -#define VertexAttrib4svNV_remap_index 329 -#define VertexAttrib4ubNV_remap_index 330 -#define VertexAttrib4ubvNV_remap_index 331 -#define VertexAttribPointerNV_remap_index 332 -#define VertexAttribs1dvNV_remap_index 333 -#define VertexAttribs1fvNV_remap_index 334 -#define VertexAttribs1svNV_remap_index 335 -#define VertexAttribs2dvNV_remap_index 336 -#define VertexAttribs2fvNV_remap_index 337 -#define VertexAttribs2svNV_remap_index 338 -#define VertexAttribs3dvNV_remap_index 339 -#define VertexAttribs3fvNV_remap_index 340 -#define VertexAttribs3svNV_remap_index 341 -#define VertexAttribs4dvNV_remap_index 342 -#define VertexAttribs4fvNV_remap_index 343 -#define VertexAttribs4svNV_remap_index 344 -#define VertexAttribs4ubvNV_remap_index 345 -#define GetTexBumpParameterfvATI_remap_index 346 -#define GetTexBumpParameterivATI_remap_index 347 -#define TexBumpParameterfvATI_remap_index 348 -#define TexBumpParameterivATI_remap_index 349 -#define AlphaFragmentOp1ATI_remap_index 350 -#define AlphaFragmentOp2ATI_remap_index 351 -#define AlphaFragmentOp3ATI_remap_index 352 -#define BeginFragmentShaderATI_remap_index 353 -#define BindFragmentShaderATI_remap_index 354 -#define ColorFragmentOp1ATI_remap_index 355 -#define ColorFragmentOp2ATI_remap_index 356 -#define ColorFragmentOp3ATI_remap_index 357 -#define DeleteFragmentShaderATI_remap_index 358 -#define EndFragmentShaderATI_remap_index 359 -#define GenFragmentShadersATI_remap_index 360 -#define PassTexCoordATI_remap_index 361 -#define SampleMapATI_remap_index 362 -#define SetFragmentShaderConstantATI_remap_index 363 -#define PointParameteriNV_remap_index 364 -#define PointParameterivNV_remap_index 365 -#define ActiveStencilFaceEXT_remap_index 366 -#define BindVertexArrayAPPLE_remap_index 367 -#define DeleteVertexArraysAPPLE_remap_index 368 -#define GenVertexArraysAPPLE_remap_index 369 -#define IsVertexArrayAPPLE_remap_index 370 -#define GetProgramNamedParameterdvNV_remap_index 371 -#define GetProgramNamedParameterfvNV_remap_index 372 -#define ProgramNamedParameter4dNV_remap_index 373 -#define ProgramNamedParameter4dvNV_remap_index 374 -#define ProgramNamedParameter4fNV_remap_index 375 -#define ProgramNamedParameter4fvNV_remap_index 376 -#define PrimitiveRestartIndexNV_remap_index 377 -#define PrimitiveRestartNV_remap_index 378 -#define DepthBoundsEXT_remap_index 379 -#define BlendEquationSeparateEXT_remap_index 380 -#define BindFramebufferEXT_remap_index 381 -#define BindRenderbufferEXT_remap_index 382 -#define CheckFramebufferStatusEXT_remap_index 383 -#define DeleteFramebuffersEXT_remap_index 384 -#define DeleteRenderbuffersEXT_remap_index 385 -#define FramebufferRenderbufferEXT_remap_index 386 -#define FramebufferTexture1DEXT_remap_index 387 -#define FramebufferTexture2DEXT_remap_index 388 -#define FramebufferTexture3DEXT_remap_index 389 -#define GenFramebuffersEXT_remap_index 390 -#define GenRenderbuffersEXT_remap_index 391 -#define GenerateMipmapEXT_remap_index 392 -#define GetFramebufferAttachmentParameterivEXT_remap_index 393 -#define GetRenderbufferParameterivEXT_remap_index 394 -#define IsFramebufferEXT_remap_index 395 -#define IsRenderbufferEXT_remap_index 396 -#define RenderbufferStorageEXT_remap_index 397 -#define BlitFramebufferEXT_remap_index 398 -#define BufferParameteriAPPLE_remap_index 399 -#define FlushMappedBufferRangeAPPLE_remap_index 400 -#define BindFragDataLocationEXT_remap_index 401 -#define GetFragDataLocationEXT_remap_index 402 -#define GetUniformuivEXT_remap_index 403 -#define GetVertexAttribIivEXT_remap_index 404 -#define GetVertexAttribIuivEXT_remap_index 405 -#define Uniform1uiEXT_remap_index 406 -#define Uniform1uivEXT_remap_index 407 -#define Uniform2uiEXT_remap_index 408 -#define Uniform2uivEXT_remap_index 409 -#define Uniform3uiEXT_remap_index 410 -#define Uniform3uivEXT_remap_index 411 -#define Uniform4uiEXT_remap_index 412 -#define Uniform4uivEXT_remap_index 413 -#define VertexAttribI1iEXT_remap_index 414 -#define VertexAttribI1ivEXT_remap_index 415 -#define VertexAttribI1uiEXT_remap_index 416 -#define VertexAttribI1uivEXT_remap_index 417 -#define VertexAttribI2iEXT_remap_index 418 -#define VertexAttribI2ivEXT_remap_index 419 -#define VertexAttribI2uiEXT_remap_index 420 -#define VertexAttribI2uivEXT_remap_index 421 -#define VertexAttribI3iEXT_remap_index 422 -#define VertexAttribI3ivEXT_remap_index 423 -#define VertexAttribI3uiEXT_remap_index 424 -#define VertexAttribI3uivEXT_remap_index 425 -#define VertexAttribI4bvEXT_remap_index 426 -#define VertexAttribI4iEXT_remap_index 427 -#define VertexAttribI4ivEXT_remap_index 428 -#define VertexAttribI4svEXT_remap_index 429 -#define VertexAttribI4ubvEXT_remap_index 430 -#define VertexAttribI4uiEXT_remap_index 431 -#define VertexAttribI4uivEXT_remap_index 432 -#define VertexAttribI4usvEXT_remap_index 433 -#define VertexAttribIPointerEXT_remap_index 434 -#define FramebufferTextureLayerEXT_remap_index 435 -#define ColorMaskIndexedEXT_remap_index 436 -#define DisableIndexedEXT_remap_index 437 -#define EnableIndexedEXT_remap_index 438 -#define GetBooleanIndexedvEXT_remap_index 439 -#define GetIntegerIndexedvEXT_remap_index 440 -#define IsEnabledIndexedEXT_remap_index 441 -#define ClearColorIiEXT_remap_index 442 -#define ClearColorIuiEXT_remap_index 443 -#define GetTexParameterIivEXT_remap_index 444 -#define GetTexParameterIuivEXT_remap_index 445 -#define TexParameterIivEXT_remap_index 446 -#define TexParameterIuivEXT_remap_index 447 -#define BeginConditionalRenderNV_remap_index 448 -#define EndConditionalRenderNV_remap_index 449 -#define BeginTransformFeedbackEXT_remap_index 450 -#define BindBufferBaseEXT_remap_index 451 -#define BindBufferOffsetEXT_remap_index 452 -#define BindBufferRangeEXT_remap_index 453 -#define EndTransformFeedbackEXT_remap_index 454 -#define GetTransformFeedbackVaryingEXT_remap_index 455 -#define TransformFeedbackVaryingsEXT_remap_index 456 -#define ProvokingVertexEXT_remap_index 457 -#define GetTexParameterPointervAPPLE_remap_index 458 -#define TextureRangeAPPLE_remap_index 459 -#define GetObjectParameterivAPPLE_remap_index 460 -#define ObjectPurgeableAPPLE_remap_index 461 -#define ObjectUnpurgeableAPPLE_remap_index 462 -#define ActiveProgramEXT_remap_index 463 -#define CreateShaderProgramEXT_remap_index 464 -#define UseShaderProgramEXT_remap_index 465 -#define StencilFuncSeparateATI_remap_index 466 -#define ProgramEnvParameters4fvEXT_remap_index 467 -#define ProgramLocalParameters4fvEXT_remap_index 468 -#define GetQueryObjecti64vEXT_remap_index 469 -#define GetQueryObjectui64vEXT_remap_index 470 -#define EGLImageTargetRenderbufferStorageOES_remap_index 471 -#define EGLImageTargetTexture2DOES_remap_index 472 +#define VertexAttribDivisorARB_remap_index 170 +#define FlushMappedBufferRange_remap_index 171 +#define MapBufferRange_remap_index 172 +#define BindVertexArray_remap_index 173 +#define GenVertexArrays_remap_index 174 +#define CopyBufferSubData_remap_index 175 +#define ClientWaitSync_remap_index 176 +#define DeleteSync_remap_index 177 +#define FenceSync_remap_index 178 +#define GetInteger64v_remap_index 179 +#define GetSynciv_remap_index 180 +#define IsSync_remap_index 181 +#define WaitSync_remap_index 182 +#define DrawElementsBaseVertex_remap_index 183 +#define DrawRangeElementsBaseVertex_remap_index 184 +#define MultiDrawElementsBaseVertex_remap_index 185 +#define BlendEquationSeparateiARB_remap_index 186 +#define BlendEquationiARB_remap_index 187 +#define BlendFuncSeparateiARB_remap_index 188 +#define BlendFunciARB_remap_index 189 +#define BindTransformFeedback_remap_index 190 +#define DeleteTransformFeedbacks_remap_index 191 +#define DrawTransformFeedback_remap_index 192 +#define GenTransformFeedbacks_remap_index 193 +#define IsTransformFeedback_remap_index 194 +#define PauseTransformFeedback_remap_index 195 +#define ResumeTransformFeedback_remap_index 196 +#define ClearDepthf_remap_index 197 +#define DepthRangef_remap_index 198 +#define GetShaderPrecisionFormat_remap_index 199 +#define ReleaseShaderCompiler_remap_index 200 +#define ShaderBinary_remap_index 201 +#define PolygonOffsetEXT_remap_index 202 +#define GetPixelTexGenParameterfvSGIS_remap_index 203 +#define GetPixelTexGenParameterivSGIS_remap_index 204 +#define PixelTexGenParameterfSGIS_remap_index 205 +#define PixelTexGenParameterfvSGIS_remap_index 206 +#define PixelTexGenParameteriSGIS_remap_index 207 +#define PixelTexGenParameterivSGIS_remap_index 208 +#define SampleMaskSGIS_remap_index 209 +#define SamplePatternSGIS_remap_index 210 +#define ColorPointerEXT_remap_index 211 +#define EdgeFlagPointerEXT_remap_index 212 +#define IndexPointerEXT_remap_index 213 +#define NormalPointerEXT_remap_index 214 +#define TexCoordPointerEXT_remap_index 215 +#define VertexPointerEXT_remap_index 216 +#define PointParameterfEXT_remap_index 217 +#define PointParameterfvEXT_remap_index 218 +#define LockArraysEXT_remap_index 219 +#define UnlockArraysEXT_remap_index 220 +#define SecondaryColor3bEXT_remap_index 221 +#define SecondaryColor3bvEXT_remap_index 222 +#define SecondaryColor3dEXT_remap_index 223 +#define SecondaryColor3dvEXT_remap_index 224 +#define SecondaryColor3fEXT_remap_index 225 +#define SecondaryColor3fvEXT_remap_index 226 +#define SecondaryColor3iEXT_remap_index 227 +#define SecondaryColor3ivEXT_remap_index 228 +#define SecondaryColor3sEXT_remap_index 229 +#define SecondaryColor3svEXT_remap_index 230 +#define SecondaryColor3ubEXT_remap_index 231 +#define SecondaryColor3ubvEXT_remap_index 232 +#define SecondaryColor3uiEXT_remap_index 233 +#define SecondaryColor3uivEXT_remap_index 234 +#define SecondaryColor3usEXT_remap_index 235 +#define SecondaryColor3usvEXT_remap_index 236 +#define SecondaryColorPointerEXT_remap_index 237 +#define MultiDrawArraysEXT_remap_index 238 +#define MultiDrawElementsEXT_remap_index 239 +#define FogCoordPointerEXT_remap_index 240 +#define FogCoorddEXT_remap_index 241 +#define FogCoorddvEXT_remap_index 242 +#define FogCoordfEXT_remap_index 243 +#define FogCoordfvEXT_remap_index 244 +#define PixelTexGenSGIX_remap_index 245 +#define BlendFuncSeparateEXT_remap_index 246 +#define FlushVertexArrayRangeNV_remap_index 247 +#define VertexArrayRangeNV_remap_index 248 +#define CombinerInputNV_remap_index 249 +#define CombinerOutputNV_remap_index 250 +#define CombinerParameterfNV_remap_index 251 +#define CombinerParameterfvNV_remap_index 252 +#define CombinerParameteriNV_remap_index 253 +#define CombinerParameterivNV_remap_index 254 +#define FinalCombinerInputNV_remap_index 255 +#define GetCombinerInputParameterfvNV_remap_index 256 +#define GetCombinerInputParameterivNV_remap_index 257 +#define GetCombinerOutputParameterfvNV_remap_index 258 +#define GetCombinerOutputParameterivNV_remap_index 259 +#define GetFinalCombinerInputParameterfvNV_remap_index 260 +#define GetFinalCombinerInputParameterivNV_remap_index 261 +#define ResizeBuffersMESA_remap_index 262 +#define WindowPos2dMESA_remap_index 263 +#define WindowPos2dvMESA_remap_index 264 +#define WindowPos2fMESA_remap_index 265 +#define WindowPos2fvMESA_remap_index 266 +#define WindowPos2iMESA_remap_index 267 +#define WindowPos2ivMESA_remap_index 268 +#define WindowPos2sMESA_remap_index 269 +#define WindowPos2svMESA_remap_index 270 +#define WindowPos3dMESA_remap_index 271 +#define WindowPos3dvMESA_remap_index 272 +#define WindowPos3fMESA_remap_index 273 +#define WindowPos3fvMESA_remap_index 274 +#define WindowPos3iMESA_remap_index 275 +#define WindowPos3ivMESA_remap_index 276 +#define WindowPos3sMESA_remap_index 277 +#define WindowPos3svMESA_remap_index 278 +#define WindowPos4dMESA_remap_index 279 +#define WindowPos4dvMESA_remap_index 280 +#define WindowPos4fMESA_remap_index 281 +#define WindowPos4fvMESA_remap_index 282 +#define WindowPos4iMESA_remap_index 283 +#define WindowPos4ivMESA_remap_index 284 +#define WindowPos4sMESA_remap_index 285 +#define WindowPos4svMESA_remap_index 286 +#define MultiModeDrawArraysIBM_remap_index 287 +#define MultiModeDrawElementsIBM_remap_index 288 +#define DeleteFencesNV_remap_index 289 +#define FinishFenceNV_remap_index 290 +#define GenFencesNV_remap_index 291 +#define GetFenceivNV_remap_index 292 +#define IsFenceNV_remap_index 293 +#define SetFenceNV_remap_index 294 +#define TestFenceNV_remap_index 295 +#define AreProgramsResidentNV_remap_index 296 +#define BindProgramNV_remap_index 297 +#define DeleteProgramsNV_remap_index 298 +#define ExecuteProgramNV_remap_index 299 +#define GenProgramsNV_remap_index 300 +#define GetProgramParameterdvNV_remap_index 301 +#define GetProgramParameterfvNV_remap_index 302 +#define GetProgramStringNV_remap_index 303 +#define GetProgramivNV_remap_index 304 +#define GetTrackMatrixivNV_remap_index 305 +#define GetVertexAttribPointervNV_remap_index 306 +#define GetVertexAttribdvNV_remap_index 307 +#define GetVertexAttribfvNV_remap_index 308 +#define GetVertexAttribivNV_remap_index 309 +#define IsProgramNV_remap_index 310 +#define LoadProgramNV_remap_index 311 +#define ProgramParameters4dvNV_remap_index 312 +#define ProgramParameters4fvNV_remap_index 313 +#define RequestResidentProgramsNV_remap_index 314 +#define TrackMatrixNV_remap_index 315 +#define VertexAttrib1dNV_remap_index 316 +#define VertexAttrib1dvNV_remap_index 317 +#define VertexAttrib1fNV_remap_index 318 +#define VertexAttrib1fvNV_remap_index 319 +#define VertexAttrib1sNV_remap_index 320 +#define VertexAttrib1svNV_remap_index 321 +#define VertexAttrib2dNV_remap_index 322 +#define VertexAttrib2dvNV_remap_index 323 +#define VertexAttrib2fNV_remap_index 324 +#define VertexAttrib2fvNV_remap_index 325 +#define VertexAttrib2sNV_remap_index 326 +#define VertexAttrib2svNV_remap_index 327 +#define VertexAttrib3dNV_remap_index 328 +#define VertexAttrib3dvNV_remap_index 329 +#define VertexAttrib3fNV_remap_index 330 +#define VertexAttrib3fvNV_remap_index 331 +#define VertexAttrib3sNV_remap_index 332 +#define VertexAttrib3svNV_remap_index 333 +#define VertexAttrib4dNV_remap_index 334 +#define VertexAttrib4dvNV_remap_index 335 +#define VertexAttrib4fNV_remap_index 336 +#define VertexAttrib4fvNV_remap_index 337 +#define VertexAttrib4sNV_remap_index 338 +#define VertexAttrib4svNV_remap_index 339 +#define VertexAttrib4ubNV_remap_index 340 +#define VertexAttrib4ubvNV_remap_index 341 +#define VertexAttribPointerNV_remap_index 342 +#define VertexAttribs1dvNV_remap_index 343 +#define VertexAttribs1fvNV_remap_index 344 +#define VertexAttribs1svNV_remap_index 345 +#define VertexAttribs2dvNV_remap_index 346 +#define VertexAttribs2fvNV_remap_index 347 +#define VertexAttribs2svNV_remap_index 348 +#define VertexAttribs3dvNV_remap_index 349 +#define VertexAttribs3fvNV_remap_index 350 +#define VertexAttribs3svNV_remap_index 351 +#define VertexAttribs4dvNV_remap_index 352 +#define VertexAttribs4fvNV_remap_index 353 +#define VertexAttribs4svNV_remap_index 354 +#define VertexAttribs4ubvNV_remap_index 355 +#define GetTexBumpParameterfvATI_remap_index 356 +#define GetTexBumpParameterivATI_remap_index 357 +#define TexBumpParameterfvATI_remap_index 358 +#define TexBumpParameterivATI_remap_index 359 +#define AlphaFragmentOp1ATI_remap_index 360 +#define AlphaFragmentOp2ATI_remap_index 361 +#define AlphaFragmentOp3ATI_remap_index 362 +#define BeginFragmentShaderATI_remap_index 363 +#define BindFragmentShaderATI_remap_index 364 +#define ColorFragmentOp1ATI_remap_index 365 +#define ColorFragmentOp2ATI_remap_index 366 +#define ColorFragmentOp3ATI_remap_index 367 +#define DeleteFragmentShaderATI_remap_index 368 +#define EndFragmentShaderATI_remap_index 369 +#define GenFragmentShadersATI_remap_index 370 +#define PassTexCoordATI_remap_index 371 +#define SampleMapATI_remap_index 372 +#define SetFragmentShaderConstantATI_remap_index 373 +#define PointParameteriNV_remap_index 374 +#define PointParameterivNV_remap_index 375 +#define ActiveStencilFaceEXT_remap_index 376 +#define BindVertexArrayAPPLE_remap_index 377 +#define DeleteVertexArraysAPPLE_remap_index 378 +#define GenVertexArraysAPPLE_remap_index 379 +#define IsVertexArrayAPPLE_remap_index 380 +#define GetProgramNamedParameterdvNV_remap_index 381 +#define GetProgramNamedParameterfvNV_remap_index 382 +#define ProgramNamedParameter4dNV_remap_index 383 +#define ProgramNamedParameter4dvNV_remap_index 384 +#define ProgramNamedParameter4fNV_remap_index 385 +#define ProgramNamedParameter4fvNV_remap_index 386 +#define PrimitiveRestartIndexNV_remap_index 387 +#define PrimitiveRestartNV_remap_index 388 +#define DepthBoundsEXT_remap_index 389 +#define BlendEquationSeparateEXT_remap_index 390 +#define BindFramebufferEXT_remap_index 391 +#define BindRenderbufferEXT_remap_index 392 +#define CheckFramebufferStatusEXT_remap_index 393 +#define DeleteFramebuffersEXT_remap_index 394 +#define DeleteRenderbuffersEXT_remap_index 395 +#define FramebufferRenderbufferEXT_remap_index 396 +#define FramebufferTexture1DEXT_remap_index 397 +#define FramebufferTexture2DEXT_remap_index 398 +#define FramebufferTexture3DEXT_remap_index 399 +#define GenFramebuffersEXT_remap_index 400 +#define GenRenderbuffersEXT_remap_index 401 +#define GenerateMipmapEXT_remap_index 402 +#define GetFramebufferAttachmentParameterivEXT_remap_index 403 +#define GetRenderbufferParameterivEXT_remap_index 404 +#define IsFramebufferEXT_remap_index 405 +#define IsRenderbufferEXT_remap_index 406 +#define RenderbufferStorageEXT_remap_index 407 +#define BlitFramebufferEXT_remap_index 408 +#define BufferParameteriAPPLE_remap_index 409 +#define FlushMappedBufferRangeAPPLE_remap_index 410 +#define BindFragDataLocationEXT_remap_index 411 +#define GetFragDataLocationEXT_remap_index 412 +#define GetUniformuivEXT_remap_index 413 +#define GetVertexAttribIivEXT_remap_index 414 +#define GetVertexAttribIuivEXT_remap_index 415 +#define Uniform1uiEXT_remap_index 416 +#define Uniform1uivEXT_remap_index 417 +#define Uniform2uiEXT_remap_index 418 +#define Uniform2uivEXT_remap_index 419 +#define Uniform3uiEXT_remap_index 420 +#define Uniform3uivEXT_remap_index 421 +#define Uniform4uiEXT_remap_index 422 +#define Uniform4uivEXT_remap_index 423 +#define VertexAttribI1iEXT_remap_index 424 +#define VertexAttribI1ivEXT_remap_index 425 +#define VertexAttribI1uiEXT_remap_index 426 +#define VertexAttribI1uivEXT_remap_index 427 +#define VertexAttribI2iEXT_remap_index 428 +#define VertexAttribI2ivEXT_remap_index 429 +#define VertexAttribI2uiEXT_remap_index 430 +#define VertexAttribI2uivEXT_remap_index 431 +#define VertexAttribI3iEXT_remap_index 432 +#define VertexAttribI3ivEXT_remap_index 433 +#define VertexAttribI3uiEXT_remap_index 434 +#define VertexAttribI3uivEXT_remap_index 435 +#define VertexAttribI4bvEXT_remap_index 436 +#define VertexAttribI4iEXT_remap_index 437 +#define VertexAttribI4ivEXT_remap_index 438 +#define VertexAttribI4svEXT_remap_index 439 +#define VertexAttribI4ubvEXT_remap_index 440 +#define VertexAttribI4uiEXT_remap_index 441 +#define VertexAttribI4uivEXT_remap_index 442 +#define VertexAttribI4usvEXT_remap_index 443 +#define VertexAttribIPointerEXT_remap_index 444 +#define FramebufferTextureLayerEXT_remap_index 445 +#define ColorMaskIndexedEXT_remap_index 446 +#define DisableIndexedEXT_remap_index 447 +#define EnableIndexedEXT_remap_index 448 +#define GetBooleanIndexedvEXT_remap_index 449 +#define GetIntegerIndexedvEXT_remap_index 450 +#define IsEnabledIndexedEXT_remap_index 451 +#define ClearColorIiEXT_remap_index 452 +#define ClearColorIuiEXT_remap_index 453 +#define GetTexParameterIivEXT_remap_index 454 +#define GetTexParameterIuivEXT_remap_index 455 +#define TexParameterIivEXT_remap_index 456 +#define TexParameterIuivEXT_remap_index 457 +#define BeginConditionalRenderNV_remap_index 458 +#define EndConditionalRenderNV_remap_index 459 +#define BeginTransformFeedbackEXT_remap_index 460 +#define BindBufferBaseEXT_remap_index 461 +#define BindBufferOffsetEXT_remap_index 462 +#define BindBufferRangeEXT_remap_index 463 +#define EndTransformFeedbackEXT_remap_index 464 +#define GetTransformFeedbackVaryingEXT_remap_index 465 +#define TransformFeedbackVaryingsEXT_remap_index 466 +#define ProvokingVertexEXT_remap_index 467 +#define GetTexParameterPointervAPPLE_remap_index 468 +#define TextureRangeAPPLE_remap_index 469 +#define GetObjectParameterivAPPLE_remap_index 470 +#define ObjectPurgeableAPPLE_remap_index 471 +#define ObjectUnpurgeableAPPLE_remap_index 472 +#define ActiveProgramEXT_remap_index 473 +#define CreateShaderProgramEXT_remap_index 474 +#define UseShaderProgramEXT_remap_index 475 +#define StencilFuncSeparateATI_remap_index 476 +#define ProgramEnvParameters4fvEXT_remap_index 477 +#define ProgramLocalParameters4fvEXT_remap_index 478 +#define GetQueryObjecti64vEXT_remap_index 479 +#define GetQueryObjectui64vEXT_remap_index 480 +#define EGLImageTargetRenderbufferStorageOES_remap_index 481 +#define EGLImageTargetTexture2DOES_remap_index 482 #define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index] #define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index] @@ -1595,6 +1615,7 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_FramebufferTextureARB driDispatchRemapTable[FramebufferTextureARB_remap_index] #define _gloffset_FramebufferTextureFaceARB driDispatchRemapTable[FramebufferTextureFaceARB_remap_index] #define _gloffset_ProgramParameteriARB driDispatchRemapTable[ProgramParameteriARB_remap_index] +#define _gloffset_VertexAttribDivisorARB driDispatchRemapTable[VertexAttribDivisorARB_remap_index] #define _gloffset_FlushMappedBufferRange driDispatchRemapTable[FlushMappedBufferRange_remap_index] #define _gloffset_MapBufferRange driDispatchRemapTable[MapBufferRange_remap_index] #define _gloffset_BindVertexArray driDispatchRemapTable[BindVertexArray_remap_index] @@ -1610,6 +1631,10 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index] #define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index] #define _gloffset_MultiDrawElementsBaseVertex driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index] +#define _gloffset_BlendEquationSeparateiARB driDispatchRemapTable[BlendEquationSeparateiARB_remap_index] +#define _gloffset_BlendEquationiARB driDispatchRemapTable[BlendEquationiARB_remap_index] +#define _gloffset_BlendFuncSeparateiARB driDispatchRemapTable[BlendFuncSeparateiARB_remap_index] +#define _gloffset_BlendFunciARB driDispatchRemapTable[BlendFunciARB_remap_index] #define _gloffset_BindTransformFeedback driDispatchRemapTable[BindTransformFeedback_remap_index] #define _gloffset_DeleteTransformFeedbacks driDispatchRemapTable[DeleteTransformFeedbacks_remap_index] #define _gloffset_DrawTransformFeedback driDispatchRemapTable[DrawTransformFeedback_remap_index] @@ -1617,6 +1642,11 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_IsTransformFeedback driDispatchRemapTable[IsTransformFeedback_remap_index] #define _gloffset_PauseTransformFeedback driDispatchRemapTable[PauseTransformFeedback_remap_index] #define _gloffset_ResumeTransformFeedback driDispatchRemapTable[ResumeTransformFeedback_remap_index] +#define _gloffset_ClearDepthf driDispatchRemapTable[ClearDepthf_remap_index] +#define _gloffset_DepthRangef driDispatchRemapTable[DepthRangef_remap_index] +#define _gloffset_GetShaderPrecisionFormat driDispatchRemapTable[GetShaderPrecisionFormat_remap_index] +#define _gloffset_ReleaseShaderCompiler driDispatchRemapTable[ReleaseShaderCompiler_remap_index] +#define _gloffset_ShaderBinary driDispatchRemapTable[ShaderBinary_remap_index] #define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] #define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] #define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] @@ -3635,6 +3665,9 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #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_VertexAttribDivisorARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLuint)), _gloffset_VertexAttribDivisorARB, parameters) +#define GET_VertexAttribDivisorARB(disp) GET_by_offset(disp, _gloffset_VertexAttribDivisorARB) +#define SET_VertexAttribDivisorARB(disp, fn) SET_by_offset(disp, _gloffset_VertexAttribDivisorARB, 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) @@ -3680,6 +3713,18 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #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_BlendEquationSeparateiARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLenum)), _gloffset_BlendEquationSeparateiARB, parameters) +#define GET_BlendEquationSeparateiARB(disp) GET_by_offset(disp, _gloffset_BlendEquationSeparateiARB) +#define SET_BlendEquationSeparateiARB(disp, fn) SET_by_offset(disp, _gloffset_BlendEquationSeparateiARB, fn) +#define CALL_BlendEquationiARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum)), _gloffset_BlendEquationiARB, parameters) +#define GET_BlendEquationiARB(disp) GET_by_offset(disp, _gloffset_BlendEquationiARB) +#define SET_BlendEquationiARB(disp, fn) SET_by_offset(disp, _gloffset_BlendEquationiARB, fn) +#define CALL_BlendFuncSeparateiARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLenum, GLenum, GLenum)), _gloffset_BlendFuncSeparateiARB, parameters) +#define GET_BlendFuncSeparateiARB(disp) GET_by_offset(disp, _gloffset_BlendFuncSeparateiARB) +#define SET_BlendFuncSeparateiARB(disp, fn) SET_by_offset(disp, _gloffset_BlendFuncSeparateiARB, fn) +#define CALL_BlendFunciARB(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLuint, GLenum, GLenum)), _gloffset_BlendFunciARB, parameters) +#define GET_BlendFunciARB(disp) GET_by_offset(disp, _gloffset_BlendFunciARB) +#define SET_BlendFunciARB(disp, fn) SET_by_offset(disp, _gloffset_BlendFunciARB, 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) @@ -3701,6 +3746,21 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #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_ClearDepthf(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf)), _gloffset_ClearDepthf, parameters) +#define GET_ClearDepthf(disp) GET_by_offset(disp, _gloffset_ClearDepthf) +#define SET_ClearDepthf(disp, fn) SET_by_offset(disp, _gloffset_ClearDepthf, fn) +#define CALL_DepthRangef(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLclampf, GLclampf)), _gloffset_DepthRangef, parameters) +#define GET_DepthRangef(disp) GET_by_offset(disp, _gloffset_DepthRangef) +#define SET_DepthRangef(disp, fn) SET_by_offset(disp, _gloffset_DepthRangef, fn) +#define CALL_GetShaderPrecisionFormat(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLenum, GLenum, GLint *, GLint *)), _gloffset_GetShaderPrecisionFormat, parameters) +#define GET_GetShaderPrecisionFormat(disp) GET_by_offset(disp, _gloffset_GetShaderPrecisionFormat) +#define SET_GetShaderPrecisionFormat(disp, fn) SET_by_offset(disp, _gloffset_GetShaderPrecisionFormat, fn) +#define CALL_ReleaseShaderCompiler(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(void)), _gloffset_ReleaseShaderCompiler, parameters) +#define GET_ReleaseShaderCompiler(disp) GET_by_offset(disp, _gloffset_ReleaseShaderCompiler) +#define SET_ReleaseShaderCompiler(disp, fn) SET_by_offset(disp, _gloffset_ReleaseShaderCompiler, fn) +#define CALL_ShaderBinary(disp, parameters) CALL_by_offset(disp, (void (GLAPIENTRYP)(GLsizei, const GLuint *, GLenum, const GLvoid *, GLsizei)), _gloffset_ShaderBinary, parameters) +#define GET_ShaderBinary(disp) GET_by_offset(disp, _gloffset_ShaderBinary) +#define SET_ShaderBinary(disp, fn) SET_by_offset(disp, _gloffset_ShaderBinary, 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) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 4fc25a4148f..a6445b18368 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -719,13 +719,20 @@ struct gl_colorbuffer_attrib */ /*@{*/ GLbitfield BlendEnabled; /**< Per-buffer blend enable flags */ - GLenum BlendSrcRGB; /**< Blending source operator */ - GLenum BlendDstRGB; /**< Blending destination operator */ - GLenum BlendSrcA; /**< GL_INGR_blend_func_separate */ - GLenum BlendDstA; /**< GL_INGR_blend_func_separate */ - GLenum BlendEquationRGB; /**< Blending equation */ - GLenum BlendEquationA; /**< GL_EXT_blend_equation_separate */ GLfloat BlendColor[4]; /**< Blending color */ + struct + { + GLenum SrcRGB; /**< RGB blend source term */ + GLenum DstRGB; /**< RGB blend dest term */ + GLenum SrcA; /**< Alpha blend source term */ + GLenum DstA; /**< Alpha blend dest term */ + GLenum EquationRGB; /**< GL_ADD, GL_SUBTRACT, etc. */ + GLenum EquationA; /**< GL_ADD, GL_SUBTRACT, etc. */ + } Blend[MAX_DRAW_BUFFERS]; + /** Are the blend func terms currently different for each buffer/target? */ + GLboolean _BlendFuncPerBuffer; + /** Are the blend equations currently different for each buffer/target? */ + GLboolean _BlendEquationPerBuffer; /*@}*/ /** @@ -1315,6 +1322,7 @@ struct gl_texture_object GLboolean _Complete; /**< Is texture object complete? */ GLboolean _RenderToTexture; /**< Any rendering to this texture? */ GLboolean Purgeable; /**< Is the buffer purgeable under memory pressure? */ + GLenum sRGBDecode; /** Actual texture images, indexed by [cube face] and [mipmap level] */ struct gl_texture_image *Image[MAX_FACES][MAX_TEXTURE_LEVELS]; @@ -1546,6 +1554,7 @@ struct gl_client_array GLboolean Enabled; /**< Enabled flag is a boolean */ GLboolean Normalized; /**< GL_ARB_vertex_program */ GLboolean Integer; /**< Integer-valued? */ + GLuint InstanceDivisor; /**< GL_ARB_instanced_arrays */ GLuint _ElementSize; /**< size of each element in bytes */ struct gl_buffer_object *BufferObj;/**< GL_ARB_vertex_buffer_object */ @@ -1748,11 +1757,24 @@ typedef enum PROGRAM_WRITE_ONLY, /**< A dummy, write-only register */ PROGRAM_ADDRESS, /**< machine->AddressReg */ PROGRAM_SAMPLER, /**< for shader samplers, compile-time only */ + PROGRAM_SYSTEM_VALUE,/**< InstanceId, PrimitiveID, etc. */ PROGRAM_UNDEFINED, /**< Invalid/TBD value */ PROGRAM_FILE_MAX } gl_register_file; +/** + * If the register file is PROGRAM_SYSTEM_VALUE, the register index will be + * one of these values. + */ +typedef enum +{ + SYSTEM_VALUE_FRONT_FACE, /**< Fragment shader only (not done yet) */ + SYSTEM_VALUE_INSTANCE_ID, /**< Vertex shader only */ + SYSTEM_VALUE_MAX /**< Number of values */ +} gl_system_value; + + /** Vertex and fragment instructions */ struct prog_instruction; struct gl_program_parameter_list; @@ -1775,6 +1797,7 @@ struct gl_program GLbitfield InputsRead; /**< Bitmask of which input regs are read */ GLbitfield64 OutputsWritten; /**< Bitmask of which output regs are written */ + GLbitfield SystemValuesRead; /**< Bitmask of SYSTEM_VALUE_x inputs used */ GLbitfield InputFlags[MAX_PROGRAM_INPUTS]; /**< PROG_PARAM_BIT_x flags */ GLbitfield OutputFlags[MAX_PROGRAM_OUTPUTS]; /**< PROG_PARAM_BIT_x flags */ GLbitfield TexturesUsed[MAX_TEXTURE_UNITS]; /**< TEXTURE_x_BIT bitmask */ @@ -2655,12 +2678,16 @@ struct gl_constants struct gl_extensions { GLboolean dummy; /* don't remove this! */ + GLboolean dummy_true; /* Set true by _mesa_init_extensions(). */ + GLboolean dummy_false; /* Set false by _mesa_init_extensions(). */ + GLboolean ARB_ES2_compatibility; GLboolean ARB_blend_func_extended; GLboolean ARB_copy_buffer; GLboolean ARB_depth_buffer_float; GLboolean ARB_depth_clamp; GLboolean ARB_depth_texture; GLboolean ARB_draw_buffers; + GLboolean ARB_draw_buffers_blend; GLboolean ARB_draw_elements_base_vertex; GLboolean ARB_draw_instanced; GLboolean ARB_fragment_coord_conventions; @@ -2764,12 +2791,14 @@ struct gl_extensions GLboolean EXT_texture_mirror_clamp; GLboolean EXT_texture_shared_exponent; GLboolean EXT_texture_sRGB; + GLboolean EXT_texture_sRGB_decode; GLboolean EXT_texture_swizzle; GLboolean EXT_transform_feedback; GLboolean EXT_timer_query; GLboolean EXT_vertex_array; GLboolean EXT_vertex_array_bgra; GLboolean EXT_vertex_array_set; + GLboolean OES_standard_derivatives; /* vendor extensions */ GLboolean APPLE_client_storage; GLboolean APPLE_packed_pixels; @@ -2809,6 +2838,7 @@ struct gl_extensions GLboolean OES_EGL_image; GLboolean OES_draw_texture; GLboolean EXT_texture_format_BGRA8888; + GLboolean extension_sentinel; /** The extension string */ const GLubyte *String; /** Number of supported extensions */ diff --git a/src/mesa/main/remap_helper.h b/src/mesa/main/remap_helper.h index 7368c76e7e7..07e8719189e 100644 --- a/src/mesa/main/remap_helper.h +++ b/src/mesa/main/remap_helper.h @@ -967,3769 +967,3809 @@ static const char _mesa_function_pool[] = "i\0" "glGenLists\0" "\0" - /* _mesa_function_pool[6733]: SetFragmentShaderConstantATI (will be remapped) */ - "ip\0" - "glSetFragmentShaderConstantATI\0" + /* _mesa_function_pool[6733]: DepthRangef (will be remapped) */ + "ff\0" + "glDepthRangef\0" "\0" - /* _mesa_function_pool[6768]: GetMapAttribParameterivNV (dynamic) */ + /* _mesa_function_pool[6751]: GetMapAttribParameterivNV (dynamic) */ "iiip\0" "glGetMapAttribParameterivNV\0" "\0" - /* _mesa_function_pool[6802]: CreateShaderObjectARB (will be remapped) */ + /* _mesa_function_pool[6785]: CreateShaderObjectARB (will be remapped) */ "i\0" "glCreateShaderObjectARB\0" "\0" - /* _mesa_function_pool[6829]: GetSharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[6812]: GetSharpenTexFuncSGIS (dynamic) */ "ip\0" "glGetSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[6857]: BufferDataARB (will be remapped) */ + /* _mesa_function_pool[6840]: BufferDataARB (will be remapped) */ "iipi\0" "glBufferData\0" "glBufferDataARB\0" "\0" - /* _mesa_function_pool[6892]: FlushVertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[6875]: FlushVertexArrayRangeNV (will be remapped) */ "\0" "glFlushVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[6920]: MapGrid2d (offset 226) */ + /* _mesa_function_pool[6903]: MapGrid2d (offset 226) */ "iddidd\0" "glMapGrid2d\0" "\0" - /* _mesa_function_pool[6940]: MapGrid2f (offset 227) */ + /* _mesa_function_pool[6923]: MapGrid2f (offset 227) */ "iffiff\0" "glMapGrid2f\0" "\0" - /* _mesa_function_pool[6960]: SampleMapATI (will be remapped) */ + /* _mesa_function_pool[6943]: SampleMapATI (will be remapped) */ "iii\0" "glSampleMapATI\0" "\0" - /* _mesa_function_pool[6980]: VertexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6963]: VertexPointerEXT (will be remapped) */ "iiiip\0" "glVertexPointerEXT\0" "\0" - /* _mesa_function_pool[7006]: GetTexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[6989]: GetTexFilterFuncSGIS (dynamic) */ "iip\0" "glGetTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[7034]: Scissor (offset 176) */ + /* _mesa_function_pool[7017]: Scissor (offset 176) */ "iiii\0" "glScissor\0" "\0" - /* _mesa_function_pool[7050]: Fogf (offset 153) */ + /* _mesa_function_pool[7033]: Fogf (offset 153) */ "if\0" "glFogf\0" "\0" - /* _mesa_function_pool[7061]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[7044]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[7106]: TexSubImage1D (offset 332) */ + /* _mesa_function_pool[7089]: TexSubImage1D (offset 332) */ "iiiiiip\0" "glTexSubImage1D\0" "glTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[7150]: VertexAttrib1sARB (will be remapped) */ + /* _mesa_function_pool[7133]: VertexAttrib1sARB (will be remapped) */ "ii\0" "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" "\0" - /* _mesa_function_pool[7191]: FenceSync (will be remapped) */ + /* _mesa_function_pool[7174]: FenceSync (will be remapped) */ "ii\0" "glFenceSync\0" "\0" - /* _mesa_function_pool[7207]: Color4usv (offset 40) */ + /* _mesa_function_pool[7190]: Color4usv (offset 40) */ "p\0" "glColor4usv\0" "\0" - /* _mesa_function_pool[7222]: Fogi (offset 155) */ + /* _mesa_function_pool[7205]: Fogi (offset 155) */ "ii\0" "glFogi\0" "\0" - /* _mesa_function_pool[7233]: DepthRange (offset 288) */ + /* _mesa_function_pool[7216]: DepthRange (offset 288) */ "dd\0" "glDepthRange\0" "\0" - /* _mesa_function_pool[7250]: RasterPos3iv (offset 75) */ + /* _mesa_function_pool[7233]: RasterPos3iv (offset 75) */ "p\0" "glRasterPos3iv\0" "\0" - /* _mesa_function_pool[7268]: FinalCombinerInputNV (will be remapped) */ + /* _mesa_function_pool[7251]: FinalCombinerInputNV (will be remapped) */ "iiii\0" "glFinalCombinerInputNV\0" "\0" - /* _mesa_function_pool[7297]: TexCoord2i (offset 106) */ + /* _mesa_function_pool[7280]: TexCoord2i (offset 106) */ "ii\0" "glTexCoord2i\0" "\0" - /* _mesa_function_pool[7314]: PixelMapfv (offset 251) */ + /* _mesa_function_pool[7297]: PixelMapfv (offset 251) */ "iip\0" "glPixelMapfv\0" "\0" - /* _mesa_function_pool[7332]: Color4ui (offset 37) */ + /* _mesa_function_pool[7315]: Color4ui (offset 37) */ "iiii\0" "glColor4ui\0" "\0" - /* _mesa_function_pool[7349]: RasterPos3s (offset 76) */ + /* _mesa_function_pool[7332]: RasterPos3s (offset 76) */ "iii\0" "glRasterPos3s\0" "\0" - /* _mesa_function_pool[7368]: Color3usv (offset 24) */ + /* _mesa_function_pool[7351]: Color3usv (offset 24) */ "p\0" "glColor3usv\0" "\0" - /* _mesa_function_pool[7383]: FlushRasterSGIX (dynamic) */ + /* _mesa_function_pool[7366]: FlushRasterSGIX (dynamic) */ "\0" "glFlushRasterSGIX\0" "\0" - /* _mesa_function_pool[7403]: TexCoord2f (offset 104) */ + /* _mesa_function_pool[7386]: TexCoord2f (offset 104) */ "ff\0" "glTexCoord2f\0" "\0" - /* _mesa_function_pool[7420]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[7403]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ "ifffff\0" "glReplacementCodeuiTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[7469]: TexCoord2d (offset 102) */ + /* _mesa_function_pool[7452]: TexCoord2d (offset 102) */ "dd\0" "glTexCoord2d\0" "\0" - /* _mesa_function_pool[7486]: RasterPos3d (offset 70) */ + /* _mesa_function_pool[7469]: RasterPos3d (offset 70) */ "ddd\0" "glRasterPos3d\0" "\0" - /* _mesa_function_pool[7505]: RasterPos3f (offset 72) */ + /* _mesa_function_pool[7488]: RasterPos3f (offset 72) */ "fff\0" "glRasterPos3f\0" "\0" - /* _mesa_function_pool[7524]: Uniform1fARB (will be remapped) */ + /* _mesa_function_pool[7507]: Uniform1fARB (will be remapped) */ "if\0" "glUniform1f\0" "glUniform1fARB\0" "\0" - /* _mesa_function_pool[7555]: AreTexturesResident (offset 322) */ + /* _mesa_function_pool[7538]: AreTexturesResident (offset 322) */ "ipp\0" "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" "\0" - /* _mesa_function_pool[7607]: TexCoord2s (offset 108) */ + /* _mesa_function_pool[7590]: TexCoord2s (offset 108) */ "ii\0" "glTexCoord2s\0" "\0" - /* _mesa_function_pool[7624]: StencilOpSeparate (will be remapped) */ + /* _mesa_function_pool[7607]: StencilOpSeparate (will be remapped) */ "iiii\0" "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" "\0" - /* _mesa_function_pool[7673]: ColorTableParameteriv (offset 341) */ + /* _mesa_function_pool[7656]: ColorTableParameteriv (offset 341) */ "iip\0" "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" "\0" - /* _mesa_function_pool[7729]: FogCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[7712]: FogCoordPointerListIBM (dynamic) */ "iipi\0" "glFogCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[7760]: WindowPos3dMESA (will be remapped) */ + /* _mesa_function_pool[7743]: WindowPos3dMESA (will be remapped) */ "ddd\0" "glWindowPos3d\0" "glWindowPos3dARB\0" "glWindowPos3dMESA\0" "\0" - /* _mesa_function_pool[7814]: Color4us (offset 39) */ + /* _mesa_function_pool[7797]: Color4us (offset 39) */ "iiii\0" "glColor4us\0" "\0" - /* _mesa_function_pool[7831]: PointParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[7814]: PointParameterfvEXT (will be remapped) */ "ip\0" "glPointParameterfv\0" "glPointParameterfvARB\0" "glPointParameterfvEXT\0" "glPointParameterfvSGIS\0" "\0" - /* _mesa_function_pool[7921]: Color3bv (offset 10) */ + /* _mesa_function_pool[7904]: Color3bv (offset 10) */ "p\0" "glColor3bv\0" "\0" - /* _mesa_function_pool[7935]: WindowPos2fvMESA (will be remapped) */ + /* _mesa_function_pool[7918]: WindowPos2fvMESA (will be remapped) */ "p\0" "glWindowPos2fv\0" "glWindowPos2fvARB\0" "glWindowPos2fvMESA\0" "\0" - /* _mesa_function_pool[7990]: SecondaryColor3bvEXT (will be remapped) */ + /* _mesa_function_pool[7973]: SecondaryColor3bvEXT (will be remapped) */ "p\0" "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" "\0" - /* _mesa_function_pool[8036]: VertexPointerListIBM (dynamic) */ + /* _mesa_function_pool[8019]: VertexPointerListIBM (dynamic) */ "iiipi\0" "glVertexPointerListIBM\0" "\0" - /* _mesa_function_pool[8066]: GetProgramLocalParameterfvARB (will be remapped) */ + /* _mesa_function_pool[8049]: GetProgramLocalParameterfvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterfvARB\0" "\0" - /* _mesa_function_pool[8103]: FragmentMaterialfSGIX (dynamic) */ + /* _mesa_function_pool[8086]: FragmentMaterialfSGIX (dynamic) */ "iif\0" "glFragmentMaterialfSGIX\0" "\0" - /* _mesa_function_pool[8132]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8115]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[8174]: RenderbufferStorageEXT (will be remapped) */ + /* _mesa_function_pool[8157]: RenderbufferStorageEXT (will be remapped) */ "iiii\0" "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" "\0" - /* _mesa_function_pool[8227]: IsFenceNV (will be remapped) */ + /* _mesa_function_pool[8210]: IsFenceNV (will be remapped) */ "i\0" "glIsFenceNV\0" "\0" - /* _mesa_function_pool[8242]: AttachObjectARB (will be remapped) */ + /* _mesa_function_pool[8225]: AttachObjectARB (will be remapped) */ "ii\0" "glAttachObjectARB\0" "\0" - /* _mesa_function_pool[8264]: GetFragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[8247]: GetFragmentLightivSGIX (dynamic) */ "iip\0" "glGetFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[8294]: UniformMatrix2fvARB (will be remapped) */ + /* _mesa_function_pool[8277]: UniformMatrix2fvARB (will be remapped) */ "iiip\0" "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" "\0" - /* _mesa_function_pool[8341]: MultiTexCoord2fARB (offset 386) */ + /* _mesa_function_pool[8324]: MultiTexCoord2fARB (offset 386) */ "iff\0" "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" "\0" - /* _mesa_function_pool[8385]: ColorTable (offset 339) */ + /* _mesa_function_pool[8368]: ColorTable (offset 339) */ "iiiiip\0" "glColorTable\0" "glColorTableSGI\0" "glColorTableEXT\0" "\0" - /* _mesa_function_pool[8438]: IndexPointer (offset 314) */ + /* _mesa_function_pool[8421]: IndexPointer (offset 314) */ "iip\0" "glIndexPointer\0" "\0" - /* _mesa_function_pool[8458]: Accum (offset 213) */ + /* _mesa_function_pool[8441]: Accum (offset 213) */ "if\0" "glAccum\0" "\0" - /* _mesa_function_pool[8470]: GetTexImage (offset 281) */ + /* _mesa_function_pool[8453]: GetTexImage (offset 281) */ "iiiip\0" "glGetTexImage\0" "\0" - /* _mesa_function_pool[8491]: MapControlPointsNV (dynamic) */ + /* _mesa_function_pool[8474]: MapControlPointsNV (dynamic) */ "iiiiiiiip\0" "glMapControlPointsNV\0" "\0" - /* _mesa_function_pool[8523]: ConvolutionFilter2D (offset 349) */ + /* _mesa_function_pool[8506]: ConvolutionFilter2D (offset 349) */ "iiiiiip\0" "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[8579]: Finish (offset 216) */ + /* _mesa_function_pool[8562]: Finish (offset 216) */ "\0" "glFinish\0" "\0" - /* _mesa_function_pool[8590]: MapParameterfvNV (dynamic) */ + /* _mesa_function_pool[8573]: MapParameterfvNV (dynamic) */ "iip\0" "glMapParameterfvNV\0" "\0" - /* _mesa_function_pool[8614]: ClearStencil (offset 207) */ + /* _mesa_function_pool[8597]: ClearStencil (offset 207) */ "i\0" "glClearStencil\0" "\0" - /* _mesa_function_pool[8632]: VertexAttrib3dvARB (will be remapped) */ + /* _mesa_function_pool[8615]: VertexAttrib3dvARB (will be remapped) */ "ip\0" "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" "\0" - /* _mesa_function_pool[8675]: Uniform4uivEXT (will be remapped) */ + /* _mesa_function_pool[8658]: Uniform4uivEXT (will be remapped) */ "iip\0" "glUniform4uivEXT\0" "glUniform4uiv\0" "\0" - /* _mesa_function_pool[8711]: HintPGI (dynamic) */ + /* _mesa_function_pool[8694]: HintPGI (dynamic) */ "ii\0" "glHintPGI\0" "\0" - /* _mesa_function_pool[8725]: ConvolutionParameteriv (offset 353) */ + /* _mesa_function_pool[8708]: ConvolutionParameteriv (offset 353) */ "iip\0" "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[8783]: Color4s (offset 33) */ + /* _mesa_function_pool[8766]: Color4s (offset 33) */ "iiii\0" "glColor4s\0" "\0" - /* _mesa_function_pool[8799]: InterleavedArrays (offset 317) */ + /* _mesa_function_pool[8782]: InterleavedArrays (offset 317) */ "iip\0" "glInterleavedArrays\0" "\0" - /* _mesa_function_pool[8824]: RasterPos2fv (offset 65) */ + /* _mesa_function_pool[8807]: RasterPos2fv (offset 65) */ "p\0" "glRasterPos2fv\0" "\0" - /* _mesa_function_pool[8842]: TexCoord1fv (offset 97) */ + /* _mesa_function_pool[8825]: TexCoord1fv (offset 97) */ "p\0" "glTexCoord1fv\0" "\0" - /* _mesa_function_pool[8859]: Vertex2d (offset 126) */ + /* _mesa_function_pool[8842]: Vertex2d (offset 126) */ "dd\0" "glVertex2d\0" "\0" - /* _mesa_function_pool[8874]: CullParameterdvEXT (dynamic) */ + /* _mesa_function_pool[8857]: CullParameterdvEXT (dynamic) */ "ip\0" "glCullParameterdvEXT\0" "\0" - /* _mesa_function_pool[8899]: ProgramNamedParameter4fNV (will be remapped) */ + /* _mesa_function_pool[8882]: ProgramNamedParameter4fNV (will be remapped) */ "iipffff\0" "glProgramNamedParameter4fNV\0" "\0" - /* _mesa_function_pool[8936]: Color3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8919]: Color3fVertex3fSUN (dynamic) */ "ffffff\0" "glColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[8965]: ProgramEnvParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[8948]: ProgramEnvParameter4fvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" "\0" - /* _mesa_function_pool[9022]: Color4i (offset 31) */ + /* _mesa_function_pool[9005]: Color4i (offset 31) */ "iiii\0" "glColor4i\0" "\0" - /* _mesa_function_pool[9038]: Color4f (offset 29) */ + /* _mesa_function_pool[9021]: Color4f (offset 29) */ "ffff\0" "glColor4f\0" "\0" - /* _mesa_function_pool[9054]: RasterPos4fv (offset 81) */ + /* _mesa_function_pool[9037]: RasterPos4fv (offset 81) */ "p\0" "glRasterPos4fv\0" "\0" - /* _mesa_function_pool[9072]: Color4d (offset 27) */ + /* _mesa_function_pool[9055]: Color4d (offset 27) */ "dddd\0" "glColor4d\0" "\0" - /* _mesa_function_pool[9088]: ClearIndex (offset 205) */ + /* _mesa_function_pool[9071]: ClearIndex (offset 205) */ "f\0" "glClearIndex\0" "\0" - /* _mesa_function_pool[9104]: Color4b (offset 25) */ + /* _mesa_function_pool[9087]: Color4b (offset 25) */ "iiii\0" "glColor4b\0" "\0" - /* _mesa_function_pool[9120]: LoadMatrixd (offset 292) */ + /* _mesa_function_pool[9103]: LoadMatrixd (offset 292) */ "p\0" "glLoadMatrixd\0" "\0" - /* _mesa_function_pool[9137]: FragmentLightModeliSGIX (dynamic) */ + /* _mesa_function_pool[9120]: FragmentLightModeliSGIX (dynamic) */ "ii\0" "glFragmentLightModeliSGIX\0" "\0" - /* _mesa_function_pool[9167]: RasterPos2dv (offset 63) */ + /* _mesa_function_pool[9150]: RasterPos2dv (offset 63) */ "p\0" "glRasterPos2dv\0" "\0" - /* _mesa_function_pool[9185]: ConvolutionParameterfv (offset 351) */ + /* _mesa_function_pool[9168]: ConvolutionParameterfv (offset 351) */ "iip\0" "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[9243]: TbufferMask3DFX (dynamic) */ + /* _mesa_function_pool[9226]: TbufferMask3DFX (dynamic) */ "i\0" "glTbufferMask3DFX\0" "\0" - /* _mesa_function_pool[9264]: GetTexGendv (offset 278) */ + /* _mesa_function_pool[9247]: GetTexGendv (offset 278) */ "iip\0" "glGetTexGendv\0" "\0" - /* _mesa_function_pool[9283]: GetVertexAttribfvNV (will be remapped) */ + /* _mesa_function_pool[9266]: GetVertexAttribfvNV (will be remapped) */ "iip\0" "glGetVertexAttribfvNV\0" "\0" - /* _mesa_function_pool[9310]: BeginTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[9293]: BeginTransformFeedbackEXT (will be remapped) */ "i\0" "glBeginTransformFeedbackEXT\0" "glBeginTransformFeedback\0" "\0" - /* _mesa_function_pool[9366]: LoadProgramNV (will be remapped) */ + /* _mesa_function_pool[9349]: LoadProgramNV (will be remapped) */ "iiip\0" "glLoadProgramNV\0" "\0" - /* _mesa_function_pool[9388]: WaitSync (will be remapped) */ + /* _mesa_function_pool[9371]: WaitSync (will be remapped) */ "iii\0" "glWaitSync\0" "\0" - /* _mesa_function_pool[9404]: EndList (offset 1) */ + /* _mesa_function_pool[9387]: EndList (offset 1) */ "\0" "glEndList\0" "\0" - /* _mesa_function_pool[9416]: VertexAttrib4fvNV (will be remapped) */ + /* _mesa_function_pool[9399]: VertexAttrib4fvNV (will be remapped) */ "ip\0" "glVertexAttrib4fvNV\0" "\0" - /* _mesa_function_pool[9440]: GetAttachedObjectsARB (will be remapped) */ + /* _mesa_function_pool[9423]: GetAttachedObjectsARB (will be remapped) */ "iipp\0" "glGetAttachedObjectsARB\0" "\0" - /* _mesa_function_pool[9470]: Uniform3fvARB (will be remapped) */ + /* _mesa_function_pool[9453]: Uniform3fvARB (will be remapped) */ "iip\0" "glUniform3fv\0" "glUniform3fvARB\0" "\0" - /* _mesa_function_pool[9504]: EvalCoord1fv (offset 231) */ + /* _mesa_function_pool[9487]: EvalCoord1fv (offset 231) */ "p\0" "glEvalCoord1fv\0" "\0" - /* _mesa_function_pool[9522]: DrawRangeElements (offset 338) */ + /* _mesa_function_pool[9505]: DrawRangeElements (offset 338) */ "iiiiip\0" "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" "\0" - /* _mesa_function_pool[9573]: EvalMesh2 (offset 238) */ + /* _mesa_function_pool[9556]: EvalMesh2 (offset 238) */ "iiiii\0" "glEvalMesh2\0" "\0" - /* _mesa_function_pool[9592]: Vertex4fv (offset 145) */ + /* _mesa_function_pool[9575]: Vertex4fv (offset 145) */ "p\0" "glVertex4fv\0" "\0" - /* _mesa_function_pool[9607]: GenTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[9590]: GenTransformFeedbacks (will be remapped) */ "ip\0" "glGenTransformFeedbacks\0" "\0" - /* _mesa_function_pool[9635]: SpriteParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[9618]: SpriteParameterfvSGIX (dynamic) */ "ip\0" "glSpriteParameterfvSGIX\0" "\0" - /* _mesa_function_pool[9663]: CheckFramebufferStatusEXT (will be remapped) */ + /* _mesa_function_pool[9646]: CheckFramebufferStatusEXT (will be remapped) */ "i\0" "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" "\0" - /* _mesa_function_pool[9719]: GlobalAlphaFactoruiSUN (dynamic) */ + /* _mesa_function_pool[9702]: GlobalAlphaFactoruiSUN (dynamic) */ "i\0" "glGlobalAlphaFactoruiSUN\0" "\0" - /* _mesa_function_pool[9747]: GetHandleARB (will be remapped) */ + /* _mesa_function_pool[9730]: GetHandleARB (will be remapped) */ "i\0" "glGetHandleARB\0" "\0" - /* _mesa_function_pool[9765]: GetVertexAttribivARB (will be remapped) */ + /* _mesa_function_pool[9748]: GetVertexAttribivARB (will be remapped) */ "iip\0" "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" "\0" - /* _mesa_function_pool[9813]: GetCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[9796]: BlendFunciARB (will be remapped) */ + "iii\0" + "glBlendFunciARB\0" + "\0" + /* _mesa_function_pool[9817]: GetCombinerInputParameterfvNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[9852]: GetTexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[9856]: GetTexParameterIivEXT (will be remapped) */ "iip\0" "glGetTexParameterIivEXT\0" "glGetTexParameterIiv\0" "\0" - /* _mesa_function_pool[9902]: CreateProgram (will be remapped) */ + /* _mesa_function_pool[9906]: CreateProgram (will be remapped) */ "\0" "glCreateProgram\0" "\0" - /* _mesa_function_pool[9920]: LoadTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[9924]: LoadTransposeMatrixdARB (will be remapped) */ "p\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[9972]: GetMinmax (offset 364) */ + /* _mesa_function_pool[9976]: ReleaseShaderCompiler (will be remapped) */ + "\0" + "glReleaseShaderCompiler\0" + "\0" + /* _mesa_function_pool[10002]: GetMinmax (offset 364) */ "iiiip\0" "glGetMinmax\0" "glGetMinmaxEXT\0" "\0" - /* _mesa_function_pool[10006]: StencilFuncSeparate (will be remapped) */ + /* _mesa_function_pool[10036]: StencilFuncSeparate (will be remapped) */ "iiii\0" "glStencilFuncSeparate\0" "\0" - /* _mesa_function_pool[10034]: SecondaryColor3sEXT (will be remapped) */ + /* _mesa_function_pool[10064]: SecondaryColor3sEXT (will be remapped) */ "iii\0" "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" "\0" - /* _mesa_function_pool[10080]: Color3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10110]: Color3fVertex3fvSUN (dynamic) */ "pp\0" "glColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10106]: GetInteger64i_v (will be remapped) */ + /* _mesa_function_pool[10136]: GetInteger64i_v (will be remapped) */ "iip\0" "glGetInteger64i_v\0" "\0" - /* _mesa_function_pool[10129]: Normal3fv (offset 57) */ + /* _mesa_function_pool[10159]: Normal3fv (offset 57) */ "p\0" "glNormal3fv\0" "\0" - /* _mesa_function_pool[10144]: GlobalAlphaFactorbSUN (dynamic) */ + /* _mesa_function_pool[10174]: GlobalAlphaFactorbSUN (dynamic) */ "i\0" "glGlobalAlphaFactorbSUN\0" "\0" - /* _mesa_function_pool[10171]: Color3us (offset 23) */ + /* _mesa_function_pool[10201]: Color3us (offset 23) */ "iii\0" "glColor3us\0" "\0" - /* _mesa_function_pool[10187]: ImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[10217]: ImageTransformParameterfvHP (dynamic) */ "iip\0" "glImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[10222]: VertexAttrib4ivARB (will be remapped) */ + /* _mesa_function_pool[10252]: VertexAttrib4ivARB (will be remapped) */ "ip\0" "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" "\0" - /* _mesa_function_pool[10265]: End (offset 43) */ + /* _mesa_function_pool[10295]: End (offset 43) */ "\0" "glEnd\0" "\0" - /* _mesa_function_pool[10273]: VertexAttrib3fNV (will be remapped) */ + /* _mesa_function_pool[10303]: VertexAttrib3fNV (will be remapped) */ "ifff\0" "glVertexAttrib3fNV\0" "\0" - /* _mesa_function_pool[10298]: VertexAttribs2dvNV (will be remapped) */ + /* _mesa_function_pool[10328]: VertexAttribs2dvNV (will be remapped) */ "iip\0" "glVertexAttribs2dvNV\0" "\0" - /* _mesa_function_pool[10324]: GetQueryObjectui64vEXT (will be remapped) */ + /* _mesa_function_pool[10354]: GetQueryObjectui64vEXT (will be remapped) */ "iip\0" "glGetQueryObjectui64vEXT\0" "\0" - /* _mesa_function_pool[10354]: MultiTexCoord3fvARB (offset 395) */ + /* _mesa_function_pool[10384]: MultiTexCoord3fvARB (offset 395) */ "ip\0" "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" "\0" - /* _mesa_function_pool[10399]: SecondaryColor3dEXT (will be remapped) */ + /* _mesa_function_pool[10429]: SecondaryColor3dEXT (will be remapped) */ "ddd\0" "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" "\0" - /* _mesa_function_pool[10445]: Color3ub (offset 19) */ + /* _mesa_function_pool[10475]: Color3ub (offset 19) */ "iii\0" "glColor3ub\0" "\0" - /* _mesa_function_pool[10461]: GetProgramParameterfvNV (will be remapped) */ + /* _mesa_function_pool[10491]: GetProgramParameterfvNV (will be remapped) */ "iiip\0" "glGetProgramParameterfvNV\0" "\0" - /* _mesa_function_pool[10493]: TangentPointerEXT (dynamic) */ + /* _mesa_function_pool[10523]: TangentPointerEXT (dynamic) */ "iip\0" "glTangentPointerEXT\0" "\0" - /* _mesa_function_pool[10518]: Color4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10548]: Color4fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10553]: GetInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[10583]: GetInstrumentsSGIX (dynamic) */ "\0" "glGetInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[10576]: GetUniformuivEXT (will be remapped) */ + /* _mesa_function_pool[10606]: GetUniformuivEXT (will be remapped) */ "iip\0" "glGetUniformuivEXT\0" "glGetUniformuiv\0" "\0" - /* _mesa_function_pool[10616]: Color3ui (offset 21) */ + /* _mesa_function_pool[10646]: Color3ui (offset 21) */ "iii\0" "glColor3ui\0" "\0" - /* _mesa_function_pool[10632]: EvalMapsNV (dynamic) */ + /* _mesa_function_pool[10662]: EvalMapsNV (dynamic) */ "ii\0" "glEvalMapsNV\0" "\0" - /* _mesa_function_pool[10649]: TexSubImage2D (offset 333) */ + /* _mesa_function_pool[10679]: TexSubImage2D (offset 333) */ "iiiiiiiip\0" "glTexSubImage2D\0" "glTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[10695]: FragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[10725]: FragmentLightivSGIX (dynamic) */ "iip\0" "glFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[10722]: GetTexParameterPointervAPPLE (will be remapped) */ + /* _mesa_function_pool[10752]: GetTexParameterPointervAPPLE (will be remapped) */ "iip\0" "glGetTexParameterPointervAPPLE\0" "\0" - /* _mesa_function_pool[10758]: TexGenfv (offset 191) */ + /* _mesa_function_pool[10788]: TexGenfv (offset 191) */ "iip\0" "glTexGenfv\0" "\0" - /* _mesa_function_pool[10774]: GetTransformFeedbackVaryingEXT (will be remapped) */ + /* _mesa_function_pool[10804]: GetTransformFeedbackVaryingEXT (will be remapped) */ "iiipppp\0" "glGetTransformFeedbackVaryingEXT\0" "glGetTransformFeedbackVarying\0" "\0" - /* _mesa_function_pool[10846]: VertexAttrib4bvARB (will be remapped) */ + /* _mesa_function_pool[10876]: VertexAttrib4bvARB (will be remapped) */ "ip\0" "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" "\0" - /* _mesa_function_pool[10889]: AlphaFragmentOp2ATI (will be remapped) */ - "iiiiiiiii\0" - "glAlphaFragmentOp2ATI\0" + /* _mesa_function_pool[10919]: ShaderBinary (will be remapped) */ + "ipipi\0" + "glShaderBinary\0" "\0" - /* _mesa_function_pool[10922]: GetIntegerIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[10941]: GetIntegerIndexedvEXT (will be remapped) */ "iip\0" "glGetIntegerIndexedvEXT\0" "glGetIntegeri_v\0" "\0" - /* _mesa_function_pool[10967]: MultiTexCoord4sARB (offset 406) */ + /* _mesa_function_pool[10986]: MultiTexCoord4sARB (offset 406) */ "iiiii\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" "\0" - /* _mesa_function_pool[11013]: GetFragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[11032]: GetFragmentMaterialivSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[11046]: WindowPos4dMESA (will be remapped) */ + /* _mesa_function_pool[11065]: WindowPos4dMESA (will be remapped) */ "dddd\0" "glWindowPos4dMESA\0" "\0" - /* _mesa_function_pool[11070]: WeightPointerARB (dynamic) */ + /* _mesa_function_pool[11089]: WeightPointerARB (dynamic) */ "iiip\0" "glWeightPointerARB\0" "\0" - /* _mesa_function_pool[11095]: WindowPos2dMESA (will be remapped) */ + /* _mesa_function_pool[11114]: WindowPos2dMESA (will be remapped) */ "dd\0" "glWindowPos2d\0" "glWindowPos2dARB\0" "glWindowPos2dMESA\0" "\0" - /* _mesa_function_pool[11148]: FramebufferTexture3DEXT (will be remapped) */ + /* _mesa_function_pool[11167]: FramebufferTexture3DEXT (will be remapped) */ "iiiiii\0" "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" "\0" - /* _mesa_function_pool[11205]: BlendEquation (offset 337) */ + /* _mesa_function_pool[11224]: BlendEquation (offset 337) */ "i\0" "glBlendEquation\0" "glBlendEquationEXT\0" "\0" - /* _mesa_function_pool[11243]: VertexAttrib3dNV (will be remapped) */ + /* _mesa_function_pool[11262]: VertexAttrib3dNV (will be remapped) */ "iddd\0" "glVertexAttrib3dNV\0" "\0" - /* _mesa_function_pool[11268]: VertexAttrib3dARB (will be remapped) */ + /* _mesa_function_pool[11287]: VertexAttrib3dARB (will be remapped) */ "iddd\0" "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" "\0" - /* _mesa_function_pool[11311]: VertexAttribI4usvEXT (will be remapped) */ + /* _mesa_function_pool[11330]: VertexAttribI4usvEXT (will be remapped) */ "ip\0" "glVertexAttribI4usvEXT\0" "glVertexAttribI4usv\0" "\0" - /* _mesa_function_pool[11358]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[11377]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "ppppp\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[11422]: VertexAttrib4fARB (will be remapped) */ + /* _mesa_function_pool[11441]: VertexAttrib4fARB (will be remapped) */ "iffff\0" "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" "\0" - /* _mesa_function_pool[11466]: GetError (offset 261) */ + /* _mesa_function_pool[11485]: GetError (offset 261) */ "\0" "glGetError\0" "\0" - /* _mesa_function_pool[11479]: IndexFuncEXT (dynamic) */ + /* _mesa_function_pool[11498]: IndexFuncEXT (dynamic) */ "if\0" "glIndexFuncEXT\0" "\0" - /* _mesa_function_pool[11498]: TexCoord3dv (offset 111) */ + /* _mesa_function_pool[11517]: TexCoord3dv (offset 111) */ "p\0" "glTexCoord3dv\0" "\0" - /* _mesa_function_pool[11515]: Indexdv (offset 45) */ + /* _mesa_function_pool[11534]: Indexdv (offset 45) */ "p\0" "glIndexdv\0" "\0" - /* _mesa_function_pool[11528]: FramebufferTexture2DEXT (will be remapped) */ + /* _mesa_function_pool[11547]: FramebufferTexture2DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" "\0" - /* _mesa_function_pool[11584]: Normal3s (offset 60) */ + /* _mesa_function_pool[11603]: Normal3s (offset 60) */ "iii\0" "glNormal3s\0" "\0" - /* _mesa_function_pool[11600]: GetObjectParameterivAPPLE (will be remapped) */ + /* _mesa_function_pool[11619]: GetObjectParameterivAPPLE (will be remapped) */ "iiip\0" "glGetObjectParameterivAPPLE\0" "\0" - /* _mesa_function_pool[11634]: PushName (offset 201) */ + /* _mesa_function_pool[11653]: PushName (offset 201) */ "i\0" "glPushName\0" "\0" - /* _mesa_function_pool[11648]: MultiTexCoord2dvARB (offset 385) */ + /* _mesa_function_pool[11667]: MultiTexCoord2dvARB (offset 385) */ "ip\0" "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" "\0" - /* _mesa_function_pool[11693]: CullParameterfvEXT (dynamic) */ + /* _mesa_function_pool[11712]: CullParameterfvEXT (dynamic) */ "ip\0" "glCullParameterfvEXT\0" "\0" - /* _mesa_function_pool[11718]: Normal3i (offset 58) */ + /* _mesa_function_pool[11737]: Normal3i (offset 58) */ "iii\0" "glNormal3i\0" "\0" - /* _mesa_function_pool[11734]: ProgramNamedParameter4fvNV (will be remapped) */ + /* _mesa_function_pool[11753]: ProgramNamedParameter4fvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4fvNV\0" "\0" - /* _mesa_function_pool[11769]: SecondaryColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[11788]: SecondaryColorPointerEXT (will be remapped) */ "iiip\0" "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" "\0" - /* _mesa_function_pool[11826]: VertexAttrib4fvARB (will be remapped) */ + /* _mesa_function_pool[11845]: VertexAttrib4fvARB (will be remapped) */ "ip\0" "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" "\0" - /* _mesa_function_pool[11869]: ColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[11888]: ColorPointerListIBM (dynamic) */ "iiipi\0" "glColorPointerListIBM\0" "\0" - /* _mesa_function_pool[11898]: GetActiveUniformARB (will be remapped) */ + /* _mesa_function_pool[11917]: GetActiveUniformARB (will be remapped) */ "iiipppp\0" "glGetActiveUniform\0" "glGetActiveUniformARB\0" "\0" - /* _mesa_function_pool[11948]: ImageTransformParameteriHP (dynamic) */ + /* _mesa_function_pool[11967]: ImageTransformParameteriHP (dynamic) */ "iii\0" "glImageTransformParameteriHP\0" "\0" - /* _mesa_function_pool[11982]: Normal3b (offset 52) */ + /* _mesa_function_pool[12001]: Normal3b (offset 52) */ "iii\0" "glNormal3b\0" "\0" - /* _mesa_function_pool[11998]: Normal3d (offset 54) */ + /* _mesa_function_pool[12017]: Normal3d (offset 54) */ "ddd\0" "glNormal3d\0" "\0" - /* _mesa_function_pool[12014]: Uniform1uiEXT (will be remapped) */ + /* _mesa_function_pool[12033]: Uniform1uiEXT (will be remapped) */ "ii\0" "glUniform1uiEXT\0" "glUniform1ui\0" "\0" - /* _mesa_function_pool[12047]: Normal3f (offset 56) */ + /* _mesa_function_pool[12066]: Normal3f (offset 56) */ "fff\0" "glNormal3f\0" "\0" - /* _mesa_function_pool[12063]: MultiTexCoord1svARB (offset 383) */ + /* _mesa_function_pool[12082]: MultiTexCoord1svARB (offset 383) */ "ip\0" "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" "\0" - /* _mesa_function_pool[12108]: Indexi (offset 48) */ + /* _mesa_function_pool[12127]: Indexi (offset 48) */ "i\0" "glIndexi\0" "\0" - /* _mesa_function_pool[12120]: EGLImageTargetTexture2DOES (will be remapped) */ + /* _mesa_function_pool[12139]: EGLImageTargetTexture2DOES (will be remapped) */ "ip\0" "glEGLImageTargetTexture2DOES\0" "\0" - /* _mesa_function_pool[12153]: EndQueryARB (will be remapped) */ + /* _mesa_function_pool[12172]: EndQueryARB (will be remapped) */ "i\0" "glEndQuery\0" "glEndQueryARB\0" "\0" - /* _mesa_function_pool[12181]: DeleteFencesNV (will be remapped) */ + /* _mesa_function_pool[12200]: DeleteFencesNV (will be remapped) */ "ip\0" "glDeleteFencesNV\0" "\0" - /* _mesa_function_pool[12202]: BindBufferRangeEXT (will be remapped) */ + /* _mesa_function_pool[12221]: BindBufferRangeEXT (will be remapped) */ "iiiii\0" "glBindBufferRangeEXT\0" "glBindBufferRange\0" "\0" - /* _mesa_function_pool[12248]: DepthMask (offset 211) */ + /* _mesa_function_pool[12267]: DepthMask (offset 211) */ "i\0" "glDepthMask\0" "\0" - /* _mesa_function_pool[12263]: IsShader (will be remapped) */ + /* _mesa_function_pool[12282]: IsShader (will be remapped) */ "i\0" "glIsShader\0" "\0" - /* _mesa_function_pool[12277]: Indexf (offset 46) */ + /* _mesa_function_pool[12296]: Indexf (offset 46) */ "f\0" "glIndexf\0" "\0" - /* _mesa_function_pool[12289]: GetImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[12308]: GetImageTransformParameterivHP (dynamic) */ "iip\0" "glGetImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[12327]: Indexd (offset 44) */ + /* _mesa_function_pool[12346]: Indexd (offset 44) */ "d\0" "glIndexd\0" "\0" - /* _mesa_function_pool[12339]: GetMaterialiv (offset 270) */ + /* _mesa_function_pool[12358]: GetMaterialiv (offset 270) */ "iip\0" "glGetMaterialiv\0" "\0" - /* _mesa_function_pool[12360]: StencilOp (offset 244) */ + /* _mesa_function_pool[12379]: StencilOp (offset 244) */ "iii\0" "glStencilOp\0" "\0" - /* _mesa_function_pool[12377]: WindowPos4ivMESA (will be remapped) */ + /* _mesa_function_pool[12396]: WindowPos4ivMESA (will be remapped) */ "p\0" "glWindowPos4ivMESA\0" "\0" - /* _mesa_function_pool[12399]: FramebufferTextureLayer (dynamic) */ + /* _mesa_function_pool[12418]: FramebufferTextureLayer (dynamic) */ "iiiii\0" "glFramebufferTextureLayerARB\0" "\0" - /* _mesa_function_pool[12435]: MultiTexCoord3svARB (offset 399) */ + /* _mesa_function_pool[12454]: MultiTexCoord3svARB (offset 399) */ "ip\0" "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" "\0" - /* _mesa_function_pool[12480]: TexEnvfv (offset 185) */ + /* _mesa_function_pool[12499]: TexEnvfv (offset 185) */ "iip\0" "glTexEnvfv\0" "\0" - /* _mesa_function_pool[12496]: MultiTexCoord4iARB (offset 404) */ + /* _mesa_function_pool[12515]: MultiTexCoord4iARB (offset 404) */ "iiiii\0" "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" "\0" - /* _mesa_function_pool[12542]: Indexs (offset 50) */ + /* _mesa_function_pool[12561]: Indexs (offset 50) */ "i\0" "glIndexs\0" "\0" - /* _mesa_function_pool[12554]: Binormal3ivEXT (dynamic) */ + /* _mesa_function_pool[12573]: Binormal3ivEXT (dynamic) */ "p\0" "glBinormal3ivEXT\0" "\0" - /* _mesa_function_pool[12574]: ResizeBuffersMESA (will be remapped) */ + /* _mesa_function_pool[12593]: ResizeBuffersMESA (will be remapped) */ "\0" "glResizeBuffersMESA\0" "\0" - /* _mesa_function_pool[12596]: GetUniformivARB (will be remapped) */ + /* _mesa_function_pool[12615]: BlendFuncSeparateiARB (will be remapped) */ + "iiiii\0" + "glBlendFuncSeparateiARB\0" + "\0" + /* _mesa_function_pool[12646]: GetUniformivARB (will be remapped) */ "iip\0" "glGetUniformiv\0" "glGetUniformivARB\0" "\0" - /* _mesa_function_pool[12634]: PixelTexGenParameteriSGIS (will be remapped) */ + /* _mesa_function_pool[12684]: PixelTexGenParameteriSGIS (will be remapped) */ "ii\0" "glPixelTexGenParameteriSGIS\0" "\0" - /* _mesa_function_pool[12666]: VertexPointervINTEL (dynamic) */ + /* _mesa_function_pool[12716]: VertexPointervINTEL (dynamic) */ "iip\0" "glVertexPointervINTEL\0" "\0" - /* _mesa_function_pool[12693]: Vertex2i (offset 130) */ + /* _mesa_function_pool[12743]: Vertex2i (offset 130) */ "ii\0" "glVertex2i\0" "\0" - /* _mesa_function_pool[12708]: LoadMatrixf (offset 291) */ + /* _mesa_function_pool[12758]: LoadMatrixf (offset 291) */ "p\0" "glLoadMatrixf\0" "\0" - /* _mesa_function_pool[12725]: VertexAttribI1uivEXT (will be remapped) */ + /* _mesa_function_pool[12775]: VertexAttribI1uivEXT (will be remapped) */ "ip\0" "glVertexAttribI1uivEXT\0" "glVertexAttribI1uiv\0" "\0" - /* _mesa_function_pool[12772]: Vertex2f (offset 128) */ + /* _mesa_function_pool[12822]: Vertex2f (offset 128) */ "ff\0" "glVertex2f\0" "\0" - /* _mesa_function_pool[12787]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[12837]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[12840]: Color4bv (offset 26) */ + /* _mesa_function_pool[12890]: Color4bv (offset 26) */ "p\0" "glColor4bv\0" "\0" - /* _mesa_function_pool[12854]: VertexPointer (offset 321) */ + /* _mesa_function_pool[12904]: VertexPointer (offset 321) */ "iiip\0" "glVertexPointer\0" "\0" - /* _mesa_function_pool[12876]: SecondaryColor3uiEXT (will be remapped) */ + /* _mesa_function_pool[12926]: SecondaryColor3uiEXT (will be remapped) */ "iii\0" "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" "\0" - /* _mesa_function_pool[12924]: StartInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[12974]: StartInstrumentsSGIX (dynamic) */ "\0" "glStartInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[12949]: SecondaryColor3usvEXT (will be remapped) */ + /* _mesa_function_pool[12999]: SecondaryColor3usvEXT (will be remapped) */ "p\0" "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" "\0" - /* _mesa_function_pool[12997]: VertexAttrib2fvNV (will be remapped) */ + /* _mesa_function_pool[13047]: VertexAttrib2fvNV (will be remapped) */ "ip\0" "glVertexAttrib2fvNV\0" "\0" - /* _mesa_function_pool[13021]: ProgramLocalParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[13071]: ProgramLocalParameter4dvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4dvARB\0" "\0" - /* _mesa_function_pool[13056]: DeleteLists (offset 4) */ + /* _mesa_function_pool[13106]: DeleteLists (offset 4) */ "ii\0" "glDeleteLists\0" "\0" - /* _mesa_function_pool[13074]: LogicOp (offset 242) */ + /* _mesa_function_pool[13124]: LogicOp (offset 242) */ "i\0" "glLogicOp\0" "\0" - /* _mesa_function_pool[13087]: MatrixIndexuivARB (dynamic) */ + /* _mesa_function_pool[13137]: MatrixIndexuivARB (dynamic) */ "ip\0" "glMatrixIndexuivARB\0" "\0" - /* _mesa_function_pool[13111]: Vertex2s (offset 132) */ + /* _mesa_function_pool[13161]: Vertex2s (offset 132) */ "ii\0" "glVertex2s\0" "\0" - /* _mesa_function_pool[13126]: RenderbufferStorageMultisample (will be remapped) */ + /* _mesa_function_pool[13176]: RenderbufferStorageMultisample (will be remapped) */ "iiiii\0" "glRenderbufferStorageMultisample\0" "glRenderbufferStorageMultisampleEXT\0" "\0" - /* _mesa_function_pool[13202]: TexCoord4fv (offset 121) */ + /* _mesa_function_pool[13252]: TexCoord4fv (offset 121) */ "p\0" "glTexCoord4fv\0" "\0" - /* _mesa_function_pool[13219]: Tangent3sEXT (dynamic) */ + /* _mesa_function_pool[13269]: Tangent3sEXT (dynamic) */ "iii\0" "glTangent3sEXT\0" "\0" - /* _mesa_function_pool[13239]: GlobalAlphaFactorfSUN (dynamic) */ + /* _mesa_function_pool[13289]: GlobalAlphaFactorfSUN (dynamic) */ "f\0" "glGlobalAlphaFactorfSUN\0" "\0" - /* _mesa_function_pool[13266]: MultiTexCoord3iARB (offset 396) */ + /* _mesa_function_pool[13316]: MultiTexCoord3iARB (offset 396) */ "iiii\0" "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" "\0" - /* _mesa_function_pool[13311]: IsProgram (will be remapped) */ + /* _mesa_function_pool[13361]: IsProgram (will be remapped) */ "i\0" "glIsProgram\0" "\0" - /* _mesa_function_pool[13326]: TexCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[13376]: TexCoordPointerListIBM (dynamic) */ "iiipi\0" "glTexCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[13358]: VertexAttribI4svEXT (will be remapped) */ + /* _mesa_function_pool[13408]: VertexAttribI4svEXT (will be remapped) */ "ip\0" "glVertexAttribI4svEXT\0" "glVertexAttribI4sv\0" "\0" - /* _mesa_function_pool[13403]: GlobalAlphaFactorusSUN (dynamic) */ + /* _mesa_function_pool[13453]: GlobalAlphaFactorusSUN (dynamic) */ "i\0" "glGlobalAlphaFactorusSUN\0" "\0" - /* _mesa_function_pool[13431]: VertexAttrib2dvNV (will be remapped) */ + /* _mesa_function_pool[13481]: VertexAttrib2dvNV (will be remapped) */ "ip\0" "glVertexAttrib2dvNV\0" "\0" - /* _mesa_function_pool[13455]: FramebufferRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[13505]: FramebufferRenderbufferEXT (will be remapped) */ "iiii\0" "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" "\0" - /* _mesa_function_pool[13516]: ClearBufferuiv (will be remapped) */ + /* _mesa_function_pool[13566]: ClearBufferuiv (will be remapped) */ "iip\0" "glClearBufferuiv\0" "\0" - /* _mesa_function_pool[13538]: VertexAttrib1dvNV (will be remapped) */ + /* _mesa_function_pool[13588]: VertexAttrib1dvNV (will be remapped) */ "ip\0" "glVertexAttrib1dvNV\0" "\0" - /* _mesa_function_pool[13562]: GenTextures (offset 328) */ + /* _mesa_function_pool[13612]: GenTextures (offset 328) */ "ip\0" "glGenTextures\0" "glGenTexturesEXT\0" "\0" - /* _mesa_function_pool[13597]: FramebufferTextureARB (will be remapped) */ + /* _mesa_function_pool[13647]: FramebufferTextureARB (will be remapped) */ "iiii\0" "glFramebufferTextureARB\0" "\0" - /* _mesa_function_pool[13627]: SetFenceNV (will be remapped) */ + /* _mesa_function_pool[13677]: SetFenceNV (will be remapped) */ "ii\0" "glSetFenceNV\0" "\0" - /* _mesa_function_pool[13644]: FramebufferTexture1DEXT (will be remapped) */ + /* _mesa_function_pool[13694]: FramebufferTexture1DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" "\0" - /* _mesa_function_pool[13700]: GetCombinerOutputParameterivNV (will be remapped) */ + /* _mesa_function_pool[13750]: GetCombinerOutputParameterivNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterivNV\0" "\0" - /* _mesa_function_pool[13739]: MultiModeDrawArraysIBM (will be remapped) */ + /* _mesa_function_pool[13789]: MultiModeDrawArraysIBM (will be remapped) */ "pppii\0" "glMultiModeDrawArraysIBM\0" "\0" - /* _mesa_function_pool[13771]: PixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[13821]: PixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[13804]: TextureNormalEXT (dynamic) */ + /* _mesa_function_pool[13854]: TextureNormalEXT (dynamic) */ "i\0" "glTextureNormalEXT\0" "\0" - /* _mesa_function_pool[13826]: IndexPointerListIBM (dynamic) */ + /* _mesa_function_pool[13876]: IndexPointerListIBM (dynamic) */ "iipi\0" "glIndexPointerListIBM\0" "\0" - /* _mesa_function_pool[13854]: WeightfvARB (dynamic) */ + /* _mesa_function_pool[13904]: WeightfvARB (dynamic) */ "ip\0" "glWeightfvARB\0" "\0" - /* _mesa_function_pool[13872]: GetCombinerOutputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[13922]: GetCombinerOutputParameterfvNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterfvNV\0" "\0" - /* _mesa_function_pool[13911]: RasterPos2sv (offset 69) */ + /* _mesa_function_pool[13961]: RasterPos2sv (offset 69) */ "p\0" "glRasterPos2sv\0" "\0" - /* _mesa_function_pool[13929]: Color4ubv (offset 36) */ + /* _mesa_function_pool[13979]: Color4ubv (offset 36) */ "p\0" "glColor4ubv\0" "\0" - /* _mesa_function_pool[13944]: DrawBuffer (offset 202) */ + /* _mesa_function_pool[13994]: DrawBuffer (offset 202) */ "i\0" "glDrawBuffer\0" "\0" - /* _mesa_function_pool[13960]: TexCoord2fv (offset 105) */ + /* _mesa_function_pool[14010]: TexCoord2fv (offset 105) */ "p\0" "glTexCoord2fv\0" "\0" - /* _mesa_function_pool[13977]: WindowPos4fMESA (will be remapped) */ + /* _mesa_function_pool[14027]: WindowPos4fMESA (will be remapped) */ "ffff\0" "glWindowPos4fMESA\0" "\0" - /* _mesa_function_pool[14001]: TexCoord1sv (offset 101) */ + /* _mesa_function_pool[14051]: TexCoord1sv (offset 101) */ "p\0" "glTexCoord1sv\0" "\0" - /* _mesa_function_pool[14018]: WindowPos3dvMESA (will be remapped) */ + /* _mesa_function_pool[14068]: WindowPos3dvMESA (will be remapped) */ "p\0" "glWindowPos3dv\0" "glWindowPos3dvARB\0" "glWindowPos3dvMESA\0" "\0" - /* _mesa_function_pool[14073]: DepthFunc (offset 245) */ + /* _mesa_function_pool[14123]: DepthFunc (offset 245) */ "i\0" "glDepthFunc\0" "\0" - /* _mesa_function_pool[14088]: PixelMapusv (offset 253) */ + /* _mesa_function_pool[14138]: PixelMapusv (offset 253) */ "iip\0" "glPixelMapusv\0" "\0" - /* _mesa_function_pool[14107]: GetQueryObjecti64vEXT (will be remapped) */ + /* _mesa_function_pool[14157]: GetQueryObjecti64vEXT (will be remapped) */ "iip\0" "glGetQueryObjecti64vEXT\0" "\0" - /* _mesa_function_pool[14136]: MultiTexCoord1dARB (offset 376) */ + /* _mesa_function_pool[14186]: MultiTexCoord1dARB (offset 376) */ "id\0" "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" "\0" - /* _mesa_function_pool[14179]: PointParameterivNV (will be remapped) */ + /* _mesa_function_pool[14229]: PointParameterivNV (will be remapped) */ "ip\0" "glPointParameteriv\0" "glPointParameterivNV\0" "\0" - /* _mesa_function_pool[14223]: BlendFunc (offset 241) */ + /* _mesa_function_pool[14273]: BlendFunc (offset 241) */ "ii\0" "glBlendFunc\0" "\0" - /* _mesa_function_pool[14239]: EndTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[14289]: EndTransformFeedbackEXT (will be remapped) */ "\0" "glEndTransformFeedbackEXT\0" "glEndTransformFeedback\0" "\0" - /* _mesa_function_pool[14290]: Uniform2fvARB (will be remapped) */ + /* _mesa_function_pool[14340]: Uniform2fvARB (will be remapped) */ "iip\0" "glUniform2fv\0" "glUniform2fvARB\0" "\0" - /* _mesa_function_pool[14324]: BufferParameteriAPPLE (will be remapped) */ + /* _mesa_function_pool[14374]: BufferParameteriAPPLE (will be remapped) */ "iii\0" "glBufferParameteriAPPLE\0" "\0" - /* _mesa_function_pool[14353]: MultiTexCoord3dvARB (offset 393) */ + /* _mesa_function_pool[14403]: MultiTexCoord3dvARB (offset 393) */ "ip\0" "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" "\0" - /* _mesa_function_pool[14398]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[14448]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[14454]: DeleteObjectARB (will be remapped) */ + /* _mesa_function_pool[14504]: DeleteObjectARB (will be remapped) */ "i\0" "glDeleteObjectARB\0" "\0" - /* _mesa_function_pool[14475]: MatrixIndexPointerARB (dynamic) */ + /* _mesa_function_pool[14525]: GetShaderPrecisionFormat (will be remapped) */ + "iipp\0" + "glGetShaderPrecisionFormat\0" + "\0" + /* _mesa_function_pool[14558]: MatrixIndexPointerARB (dynamic) */ "iiip\0" "glMatrixIndexPointerARB\0" "\0" - /* _mesa_function_pool[14505]: ProgramNamedParameter4dvNV (will be remapped) */ + /* _mesa_function_pool[14588]: ProgramNamedParameter4dvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4dvNV\0" "\0" - /* _mesa_function_pool[14540]: Tangent3fvEXT (dynamic) */ + /* _mesa_function_pool[14623]: Tangent3fvEXT (dynamic) */ "p\0" "glTangent3fvEXT\0" "\0" - /* _mesa_function_pool[14559]: Flush (offset 217) */ + /* _mesa_function_pool[14642]: Flush (offset 217) */ "\0" "glFlush\0" "\0" - /* _mesa_function_pool[14569]: Color4uiv (offset 38) */ + /* _mesa_function_pool[14652]: Color4uiv (offset 38) */ "p\0" "glColor4uiv\0" "\0" - /* _mesa_function_pool[14584]: VertexAttribI4iEXT (will be remapped) */ + /* _mesa_function_pool[14667]: VertexAttribI4iEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4iEXT\0" "glVertexAttribI4i\0" "\0" - /* _mesa_function_pool[14630]: GenVertexArrays (will be remapped) */ + /* _mesa_function_pool[14713]: GenVertexArrays (will be remapped) */ "ip\0" "glGenVertexArrays\0" "\0" - /* _mesa_function_pool[14652]: Uniform3uivEXT (will be remapped) */ + /* _mesa_function_pool[14735]: Uniform3uivEXT (will be remapped) */ "iip\0" "glUniform3uivEXT\0" "glUniform3uiv\0" "\0" - /* _mesa_function_pool[14688]: RasterPos3sv (offset 77) */ + /* _mesa_function_pool[14771]: RasterPos3sv (offset 77) */ "p\0" "glRasterPos3sv\0" "\0" - /* _mesa_function_pool[14706]: BindFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[14789]: BindFramebufferEXT (will be remapped) */ "ii\0" "glBindFramebuffer\0" "glBindFramebufferEXT\0" "\0" - /* _mesa_function_pool[14749]: ReferencePlaneSGIX (dynamic) */ + /* _mesa_function_pool[14832]: ReferencePlaneSGIX (dynamic) */ "p\0" "glReferencePlaneSGIX\0" "\0" - /* _mesa_function_pool[14773]: PushAttrib (offset 219) */ + /* _mesa_function_pool[14856]: PushAttrib (offset 219) */ "i\0" "glPushAttrib\0" "\0" - /* _mesa_function_pool[14789]: RasterPos2i (offset 66) */ + /* _mesa_function_pool[14872]: RasterPos2i (offset 66) */ "ii\0" "glRasterPos2i\0" "\0" - /* _mesa_function_pool[14807]: ValidateProgramARB (will be remapped) */ + /* _mesa_function_pool[14890]: ValidateProgramARB (will be remapped) */ "i\0" "glValidateProgram\0" "glValidateProgramARB\0" "\0" - /* _mesa_function_pool[14849]: TexParameteriv (offset 181) */ + /* _mesa_function_pool[14932]: TexParameteriv (offset 181) */ "iip\0" "glTexParameteriv\0" "\0" - /* _mesa_function_pool[14871]: UnlockArraysEXT (will be remapped) */ + /* _mesa_function_pool[14954]: UnlockArraysEXT (will be remapped) */ "\0" "glUnlockArraysEXT\0" "\0" - /* _mesa_function_pool[14891]: TexCoord2fColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[14974]: TexCoord2fColor3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[14932]: WindowPos3fvMESA (will be remapped) */ + /* _mesa_function_pool[15015]: WindowPos3fvMESA (will be remapped) */ "p\0" "glWindowPos3fv\0" "glWindowPos3fvARB\0" "glWindowPos3fvMESA\0" "\0" - /* _mesa_function_pool[14987]: RasterPos2f (offset 64) */ + /* _mesa_function_pool[15070]: RasterPos2f (offset 64) */ "ff\0" "glRasterPos2f\0" "\0" - /* _mesa_function_pool[15005]: VertexAttrib1svNV (will be remapped) */ + /* _mesa_function_pool[15088]: VertexAttrib1svNV (will be remapped) */ "ip\0" "glVertexAttrib1svNV\0" "\0" - /* _mesa_function_pool[15029]: RasterPos2d (offset 62) */ + /* _mesa_function_pool[15112]: RasterPos2d (offset 62) */ "dd\0" "glRasterPos2d\0" "\0" - /* _mesa_function_pool[15047]: RasterPos3fv (offset 73) */ + /* _mesa_function_pool[15130]: RasterPos3fv (offset 73) */ "p\0" "glRasterPos3fv\0" "\0" - /* _mesa_function_pool[15065]: CopyTexSubImage3D (offset 373) */ + /* _mesa_function_pool[15148]: CopyTexSubImage3D (offset 373) */ "iiiiiiiii\0" "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[15119]: VertexAttrib2dARB (will be remapped) */ + /* _mesa_function_pool[15202]: VertexAttrib2dARB (will be remapped) */ "idd\0" "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" "\0" - /* _mesa_function_pool[15161]: Color4ub (offset 35) */ + /* _mesa_function_pool[15244]: Color4ub (offset 35) */ "iiii\0" "glColor4ub\0" "\0" - /* _mesa_function_pool[15178]: GetInteger64v (will be remapped) */ + /* _mesa_function_pool[15261]: GetInteger64v (will be remapped) */ "ip\0" "glGetInteger64v\0" "\0" - /* _mesa_function_pool[15198]: TextureColorMaskSGIS (dynamic) */ + /* _mesa_function_pool[15281]: TextureColorMaskSGIS (dynamic) */ "iiii\0" "glTextureColorMaskSGIS\0" "\0" - /* _mesa_function_pool[15227]: RasterPos2s (offset 68) */ + /* _mesa_function_pool[15310]: RasterPos2s (offset 68) */ "ii\0" "glRasterPos2s\0" "\0" - /* _mesa_function_pool[15245]: GetColorTable (offset 343) */ + /* _mesa_function_pool[15328]: GetColorTable (offset 343) */ "iiip\0" "glGetColorTable\0" "glGetColorTableSGI\0" "glGetColorTableEXT\0" "\0" - /* _mesa_function_pool[15305]: SelectBuffer (offset 195) */ + /* _mesa_function_pool[15388]: SelectBuffer (offset 195) */ "ip\0" "glSelectBuffer\0" "\0" - /* _mesa_function_pool[15324]: Indexiv (offset 49) */ + /* _mesa_function_pool[15407]: Indexiv (offset 49) */ "p\0" "glIndexiv\0" "\0" - /* _mesa_function_pool[15337]: TexCoord3i (offset 114) */ + /* _mesa_function_pool[15420]: TexCoord3i (offset 114) */ "iii\0" "glTexCoord3i\0" "\0" - /* _mesa_function_pool[15355]: CopyColorTable (offset 342) */ + /* _mesa_function_pool[15438]: CopyColorTable (offset 342) */ "iiiii\0" "glCopyColorTable\0" "glCopyColorTableSGI\0" "\0" - /* _mesa_function_pool[15399]: GetHistogramParameterfv (offset 362) */ + /* _mesa_function_pool[15482]: GetHistogramParameterfv (offset 362) */ "iip\0" "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" "\0" - /* _mesa_function_pool[15459]: Frustum (offset 289) */ + /* _mesa_function_pool[15542]: Frustum (offset 289) */ "dddddd\0" "glFrustum\0" "\0" - /* _mesa_function_pool[15477]: GetString (offset 275) */ + /* _mesa_function_pool[15560]: GetString (offset 275) */ "i\0" "glGetString\0" "\0" - /* _mesa_function_pool[15492]: ColorPointervINTEL (dynamic) */ + /* _mesa_function_pool[15575]: ColorPointervINTEL (dynamic) */ "iip\0" "glColorPointervINTEL\0" "\0" - /* _mesa_function_pool[15518]: TexEnvf (offset 184) */ + /* _mesa_function_pool[15601]: TexEnvf (offset 184) */ "iif\0" "glTexEnvf\0" "\0" - /* _mesa_function_pool[15533]: TexCoord3d (offset 110) */ + /* _mesa_function_pool[15616]: TexCoord3d (offset 110) */ "ddd\0" "glTexCoord3d\0" "\0" - /* _mesa_function_pool[15551]: AlphaFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[15634]: AlphaFragmentOp1ATI (will be remapped) */ "iiiiii\0" "glAlphaFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[15581]: TexCoord3f (offset 112) */ + /* _mesa_function_pool[15664]: TexCoord3f (offset 112) */ "fff\0" "glTexCoord3f\0" "\0" - /* _mesa_function_pool[15599]: MultiTexCoord3ivARB (offset 397) */ + /* _mesa_function_pool[15682]: MultiTexCoord3ivARB (offset 397) */ "ip\0" "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" "\0" - /* _mesa_function_pool[15644]: MultiTexCoord2sARB (offset 390) */ + /* _mesa_function_pool[15727]: MultiTexCoord2sARB (offset 390) */ "iii\0" "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" "\0" - /* _mesa_function_pool[15688]: VertexAttrib1dvARB (will be remapped) */ + /* _mesa_function_pool[15771]: VertexAttrib1dvARB (will be remapped) */ "ip\0" "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" "\0" - /* _mesa_function_pool[15731]: DeleteTextures (offset 327) */ + /* _mesa_function_pool[15814]: DeleteTextures (offset 327) */ "ip\0" "glDeleteTextures\0" "glDeleteTexturesEXT\0" "\0" - /* _mesa_function_pool[15772]: TexCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[15855]: TexCoordPointerEXT (will be remapped) */ "iiiip\0" "glTexCoordPointerEXT\0" "\0" - /* _mesa_function_pool[15800]: TexSubImage4DSGIS (dynamic) */ + /* _mesa_function_pool[15883]: TexSubImage4DSGIS (dynamic) */ "iiiiiiiiiiiip\0" "glTexSubImage4DSGIS\0" "\0" - /* _mesa_function_pool[15835]: TexCoord3s (offset 116) */ + /* _mesa_function_pool[15918]: TexCoord3s (offset 116) */ "iii\0" "glTexCoord3s\0" "\0" - /* _mesa_function_pool[15853]: GetTexLevelParameteriv (offset 285) */ + /* _mesa_function_pool[15936]: GetTexLevelParameteriv (offset 285) */ "iiip\0" "glGetTexLevelParameteriv\0" "\0" - /* _mesa_function_pool[15884]: CombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[15967]: CombinerStageParameterfvNV (dynamic) */ "iip\0" "glCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[15918]: StopInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[16001]: StopInstrumentsSGIX (dynamic) */ "i\0" "glStopInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[15943]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[16026]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ "fffffffffffffff\0" "glTexCoord4fColor4fNormal3fVertex4fSUN\0" "\0" - /* _mesa_function_pool[15999]: ClearAccum (offset 204) */ + /* _mesa_function_pool[16082]: ClearAccum (offset 204) */ "ffff\0" "glClearAccum\0" "\0" - /* _mesa_function_pool[16018]: DeformSGIX (dynamic) */ + /* _mesa_function_pool[16101]: DeformSGIX (dynamic) */ "i\0" "glDeformSGIX\0" "\0" - /* _mesa_function_pool[16034]: GetVertexAttribfvARB (will be remapped) */ + /* _mesa_function_pool[16117]: GetVertexAttribfvARB (will be remapped) */ "iip\0" "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" "\0" - /* _mesa_function_pool[16082]: SecondaryColor3ivEXT (will be remapped) */ + /* _mesa_function_pool[16165]: SecondaryColor3ivEXT (will be remapped) */ "p\0" "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" "\0" - /* _mesa_function_pool[16128]: TexCoord4iv (offset 123) */ + /* _mesa_function_pool[16211]: TexCoord4iv (offset 123) */ "p\0" "glTexCoord4iv\0" "\0" - /* _mesa_function_pool[16145]: VertexAttribI4uiEXT (will be remapped) */ + /* _mesa_function_pool[16228]: VertexAttribI4uiEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4uiEXT\0" "glVertexAttribI4ui\0" "\0" - /* _mesa_function_pool[16193]: GetFragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[16276]: GetFragmentMaterialfvSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[16226]: UniformMatrix4x2fv (will be remapped) */ + /* _mesa_function_pool[16309]: UniformMatrix4x2fv (will be remapped) */ "iiip\0" "glUniformMatrix4x2fv\0" "\0" - /* _mesa_function_pool[16253]: GetDetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[16336]: GetDetailTexFuncSGIS (dynamic) */ "ip\0" "glGetDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[16280]: GetCombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[16363]: GetCombinerStageParameterfvNV (dynamic) */ "iip\0" "glGetCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[16317]: PolygonOffset (offset 319) */ + /* _mesa_function_pool[16400]: PolygonOffset (offset 319) */ "ff\0" "glPolygonOffset\0" "\0" - /* _mesa_function_pool[16337]: BindVertexArray (will be remapped) */ + /* _mesa_function_pool[16420]: BindVertexArray (will be remapped) */ "i\0" "glBindVertexArray\0" "\0" - /* _mesa_function_pool[16358]: Color4ubVertex2fvSUN (dynamic) */ + /* _mesa_function_pool[16441]: Color4ubVertex2fvSUN (dynamic) */ "pp\0" "glColor4ubVertex2fvSUN\0" "\0" - /* _mesa_function_pool[16385]: Rectd (offset 86) */ + /* _mesa_function_pool[16468]: Rectd (offset 86) */ "dddd\0" "glRectd\0" "\0" - /* _mesa_function_pool[16399]: TexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[16482]: TexFilterFuncSGIS (dynamic) */ "iiip\0" "glTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[16425]: SampleMaskSGIS (will be remapped) */ + /* _mesa_function_pool[16508]: SampleMaskSGIS (will be remapped) */ "fi\0" "glSampleMaskSGIS\0" "glSampleMaskEXT\0" "\0" - /* _mesa_function_pool[16462]: VertexAttribI4ubvEXT (will be remapped) */ + /* _mesa_function_pool[16545]: VertexAttribI4ubvEXT (will be remapped) */ "ip\0" "glVertexAttribI4ubvEXT\0" "glVertexAttribI4ubv\0" "\0" - /* _mesa_function_pool[16509]: GetAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[16592]: GetAttribLocationARB (will be remapped) */ "ip\0" "glGetAttribLocation\0" "glGetAttribLocationARB\0" "\0" - /* _mesa_function_pool[16556]: RasterPos3i (offset 74) */ + /* _mesa_function_pool[16639]: RasterPos3i (offset 74) */ "iii\0" "glRasterPos3i\0" "\0" - /* _mesa_function_pool[16575]: VertexAttrib4ubvARB (will be remapped) */ + /* _mesa_function_pool[16658]: BlendEquationSeparateiARB (will be remapped) */ + "iii\0" + "glBlendEquationSeparateiARB\0" + "\0" + /* _mesa_function_pool[16691]: VertexAttrib4ubvARB (will be remapped) */ "ip\0" "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" "\0" - /* _mesa_function_pool[16620]: DetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[16736]: DetailTexFuncSGIS (dynamic) */ "iip\0" "glDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[16645]: Normal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[16761]: Normal3fVertex3fSUN (dynamic) */ "ffffff\0" "glNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[16675]: CopyTexImage2D (offset 324) */ + /* _mesa_function_pool[16791]: CopyTexImage2D (offset 324) */ "iiiiiiii\0" "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" "\0" - /* _mesa_function_pool[16722]: GetBufferPointervARB (will be remapped) */ + /* _mesa_function_pool[16838]: GetBufferPointervARB (will be remapped) */ "iip\0" "glGetBufferPointerv\0" "glGetBufferPointervARB\0" "\0" - /* _mesa_function_pool[16770]: ProgramEnvParameter4fARB (will be remapped) */ + /* _mesa_function_pool[16886]: ProgramEnvParameter4fARB (will be remapped) */ "iiffff\0" "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" "\0" - /* _mesa_function_pool[16828]: Uniform3ivARB (will be remapped) */ + /* _mesa_function_pool[16944]: Uniform3ivARB (will be remapped) */ "iip\0" "glUniform3iv\0" "glUniform3ivARB\0" "\0" - /* _mesa_function_pool[16862]: Lightfv (offset 160) */ + /* _mesa_function_pool[16978]: Lightfv (offset 160) */ "iip\0" "glLightfv\0" "\0" - /* _mesa_function_pool[16877]: PrimitiveRestartIndexNV (will be remapped) */ + /* _mesa_function_pool[16993]: PrimitiveRestartIndexNV (will be remapped) */ "i\0" "glPrimitiveRestartIndexNV\0" "glPrimitiveRestartIndex\0" "\0" - /* _mesa_function_pool[16930]: ClearDepth (offset 208) */ + /* _mesa_function_pool[17046]: ClearDepth (offset 208) */ "d\0" "glClearDepth\0" "\0" - /* _mesa_function_pool[16946]: GetFenceivNV (will be remapped) */ + /* _mesa_function_pool[17062]: GetFenceivNV (will be remapped) */ "iip\0" "glGetFenceivNV\0" "\0" - /* _mesa_function_pool[16966]: WindowPos4dvMESA (will be remapped) */ + /* _mesa_function_pool[17082]: WindowPos4dvMESA (will be remapped) */ "p\0" "glWindowPos4dvMESA\0" "\0" - /* _mesa_function_pool[16988]: ColorSubTable (offset 346) */ + /* _mesa_function_pool[17104]: ColorSubTable (offset 346) */ "iiiiip\0" "glColorSubTable\0" "glColorSubTableEXT\0" "\0" - /* _mesa_function_pool[17031]: Color4fv (offset 30) */ + /* _mesa_function_pool[17147]: Color4fv (offset 30) */ "p\0" "glColor4fv\0" "\0" - /* _mesa_function_pool[17045]: MultiTexCoord4ivARB (offset 405) */ + /* _mesa_function_pool[17161]: MultiTexCoord4ivARB (offset 405) */ "ip\0" "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" "\0" - /* _mesa_function_pool[17090]: ProgramLocalParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[17206]: ProgramLocalParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramLocalParameters4fvEXT\0" "\0" - /* _mesa_function_pool[17127]: ColorPointer (offset 308) */ + /* _mesa_function_pool[17243]: ColorPointer (offset 308) */ "iiip\0" "glColorPointer\0" "\0" - /* _mesa_function_pool[17148]: Rects (offset 92) */ + /* _mesa_function_pool[17264]: Rects (offset 92) */ "iiii\0" "glRects\0" "\0" - /* _mesa_function_pool[17162]: GetMapAttribParameterfvNV (dynamic) */ + /* _mesa_function_pool[17278]: GetMapAttribParameterfvNV (dynamic) */ "iiip\0" "glGetMapAttribParameterfvNV\0" "\0" - /* _mesa_function_pool[17196]: CreateShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[17312]: CreateShaderProgramEXT (will be remapped) */ "ip\0" "glCreateShaderProgramEXT\0" "\0" - /* _mesa_function_pool[17225]: ActiveProgramEXT (will be remapped) */ + /* _mesa_function_pool[17341]: ActiveProgramEXT (will be remapped) */ "i\0" "glActiveProgramEXT\0" "\0" - /* _mesa_function_pool[17247]: Lightiv (offset 162) */ + /* _mesa_function_pool[17363]: Lightiv (offset 162) */ "iip\0" "glLightiv\0" "\0" - /* _mesa_function_pool[17262]: VertexAttrib4sARB (will be remapped) */ + /* _mesa_function_pool[17378]: VertexAttrib4sARB (will be remapped) */ "iiiii\0" "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" "\0" - /* _mesa_function_pool[17306]: GetQueryObjectuivARB (will be remapped) */ + /* _mesa_function_pool[17422]: GetQueryObjectuivARB (will be remapped) */ "iip\0" "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" "\0" - /* _mesa_function_pool[17354]: GetTexParameteriv (offset 283) */ + /* _mesa_function_pool[17470]: GetTexParameteriv (offset 283) */ "iip\0" "glGetTexParameteriv\0" "\0" - /* _mesa_function_pool[17379]: MapParameterivNV (dynamic) */ + /* _mesa_function_pool[17495]: MapParameterivNV (dynamic) */ "iip\0" "glMapParameterivNV\0" "\0" - /* _mesa_function_pool[17403]: GenRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[17519]: GenRenderbuffersEXT (will be remapped) */ "ip\0" "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[17448]: ClearBufferfv (will be remapped) */ + /* _mesa_function_pool[17564]: ClearBufferfv (will be remapped) */ "iip\0" "glClearBufferfv\0" "\0" - /* _mesa_function_pool[17469]: VertexAttrib2dvARB (will be remapped) */ + /* _mesa_function_pool[17585]: VertexAttrib2dvARB (will be remapped) */ "ip\0" "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" "\0" - /* _mesa_function_pool[17512]: EdgeFlagPointerEXT (will be remapped) */ + /* _mesa_function_pool[17628]: EdgeFlagPointerEXT (will be remapped) */ "iip\0" "glEdgeFlagPointerEXT\0" "\0" - /* _mesa_function_pool[17538]: VertexAttribs2svNV (will be remapped) */ + /* _mesa_function_pool[17654]: VertexAttribs2svNV (will be remapped) */ "iip\0" "glVertexAttribs2svNV\0" "\0" - /* _mesa_function_pool[17564]: WeightbvARB (dynamic) */ + /* _mesa_function_pool[17680]: WeightbvARB (dynamic) */ "ip\0" "glWeightbvARB\0" "\0" - /* _mesa_function_pool[17582]: VertexAttrib2fvARB (will be remapped) */ + /* _mesa_function_pool[17698]: VertexAttrib2fvARB (will be remapped) */ "ip\0" "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" "\0" - /* _mesa_function_pool[17625]: GetBufferParameterivARB (will be remapped) */ + /* _mesa_function_pool[17741]: GetBufferParameterivARB (will be remapped) */ "iip\0" "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" "\0" - /* _mesa_function_pool[17679]: Rectdv (offset 87) */ + /* _mesa_function_pool[17795]: Rectdv (offset 87) */ "pp\0" "glRectdv\0" "\0" - /* _mesa_function_pool[17692]: ListParameteriSGIX (dynamic) */ + /* _mesa_function_pool[17808]: ListParameteriSGIX (dynamic) */ "iii\0" "glListParameteriSGIX\0" "\0" - /* _mesa_function_pool[17718]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[17834]: BlendEquationiARB (will be remapped) */ + "ii\0" + "glBlendEquationiARB\0" + "\0" + /* _mesa_function_pool[17858]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffff\0" "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[17777]: InstrumentsBufferSGIX (dynamic) */ + /* _mesa_function_pool[17917]: InstrumentsBufferSGIX (dynamic) */ "ip\0" "glInstrumentsBufferSGIX\0" "\0" - /* _mesa_function_pool[17805]: VertexAttrib4NivARB (will be remapped) */ + /* _mesa_function_pool[17945]: VertexAttrib4NivARB (will be remapped) */ "ip\0" "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" "\0" - /* _mesa_function_pool[17850]: DrawArraysInstancedARB (will be remapped) */ + /* _mesa_function_pool[17990]: DrawArraysInstancedARB (will be remapped) */ "iiii\0" "glDrawArraysInstancedARB\0" "glDrawArraysInstancedEXT\0" "glDrawArraysInstanced\0" "\0" - /* _mesa_function_pool[17928]: GetAttachedShaders (will be remapped) */ + /* _mesa_function_pool[18068]: GetAttachedShaders (will be remapped) */ "iipp\0" "glGetAttachedShaders\0" "\0" - /* _mesa_function_pool[17955]: GenVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[18095]: GenVertexArraysAPPLE (will be remapped) */ "ip\0" "glGenVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[17982]: ClearBufferfi (will be remapped) */ + /* _mesa_function_pool[18122]: ClearBufferfi (will be remapped) */ "iifi\0" "glClearBufferfi\0" "\0" - /* _mesa_function_pool[18004]: Materialiv (offset 172) */ + /* _mesa_function_pool[18144]: Materialiv (offset 172) */ "iip\0" "glMaterialiv\0" "\0" - /* _mesa_function_pool[18022]: PushClientAttrib (offset 335) */ + /* _mesa_function_pool[18162]: PushClientAttrib (offset 335) */ "i\0" "glPushClientAttrib\0" "\0" - /* _mesa_function_pool[18044]: ProgramEnvParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[18184]: ProgramEnvParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramEnvParameters4fvEXT\0" "\0" - /* _mesa_function_pool[18079]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[18219]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[18125]: WindowPos2iMESA (will be remapped) */ + /* _mesa_function_pool[18265]: WindowPos2iMESA (will be remapped) */ "ii\0" "glWindowPos2i\0" "glWindowPos2iARB\0" "glWindowPos2iMESA\0" "\0" - /* _mesa_function_pool[18178]: SecondaryColor3fvEXT (will be remapped) */ + /* _mesa_function_pool[18318]: SecondaryColor3fvEXT (will be remapped) */ "p\0" "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" "\0" - /* _mesa_function_pool[18224]: PolygonMode (offset 174) */ + /* _mesa_function_pool[18364]: PolygonMode (offset 174) */ "ii\0" "glPolygonMode\0" "\0" - /* _mesa_function_pool[18242]: CompressedTexSubImage1DARB (will be remapped) */ + /* _mesa_function_pool[18382]: CompressedTexSubImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" "\0" - /* _mesa_function_pool[18306]: VertexAttribI1iEXT (will be remapped) */ + /* _mesa_function_pool[18446]: VertexAttribI1iEXT (will be remapped) */ "ii\0" "glVertexAttribI1iEXT\0" "glVertexAttribI1i\0" "\0" - /* _mesa_function_pool[18349]: GetVertexAttribivNV (will be remapped) */ + /* _mesa_function_pool[18489]: GetVertexAttribivNV (will be remapped) */ "iip\0" "glGetVertexAttribivNV\0" "\0" - /* _mesa_function_pool[18376]: GetProgramStringARB (will be remapped) */ + /* _mesa_function_pool[18516]: GetProgramStringARB (will be remapped) */ "iip\0" "glGetProgramStringARB\0" "\0" - /* _mesa_function_pool[18403]: VertexAttribIPointerEXT (will be remapped) */ + /* _mesa_function_pool[18543]: VertexAttribIPointerEXT (will be remapped) */ "iiiip\0" "glVertexAttribIPointerEXT\0" "glVertexAttribIPointer\0" "\0" - /* _mesa_function_pool[18459]: TexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[18599]: TexBumpParameterfvATI (will be remapped) */ "ip\0" "glTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[18487]: CompileShaderARB (will be remapped) */ + /* _mesa_function_pool[18627]: CompileShaderARB (will be remapped) */ "i\0" "glCompileShader\0" "glCompileShaderARB\0" "\0" - /* _mesa_function_pool[18525]: DeleteShader (will be remapped) */ + /* _mesa_function_pool[18665]: DeleteShader (will be remapped) */ "i\0" "glDeleteShader\0" "\0" - /* _mesa_function_pool[18543]: DisableClientState (offset 309) */ + /* _mesa_function_pool[18683]: DisableClientState (offset 309) */ "i\0" "glDisableClientState\0" "\0" - /* _mesa_function_pool[18567]: TexGeni (offset 192) */ + /* _mesa_function_pool[18707]: TexGeni (offset 192) */ "iii\0" "glTexGeni\0" "\0" - /* _mesa_function_pool[18582]: TexGenf (offset 190) */ + /* _mesa_function_pool[18722]: TexGenf (offset 190) */ "iif\0" "glTexGenf\0" "\0" - /* _mesa_function_pool[18597]: Uniform3fARB (will be remapped) */ + /* _mesa_function_pool[18737]: Uniform3fARB (will be remapped) */ "ifff\0" "glUniform3f\0" "glUniform3fARB\0" "\0" - /* _mesa_function_pool[18630]: TexGend (offset 188) */ + /* _mesa_function_pool[18770]: TexGend (offset 188) */ "iid\0" "glTexGend\0" "\0" - /* _mesa_function_pool[18645]: ListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[18785]: ListParameterfvSGIX (dynamic) */ "iip\0" "glListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[18672]: GetPolygonStipple (offset 274) */ + /* _mesa_function_pool[18812]: GetPolygonStipple (offset 274) */ "p\0" "glGetPolygonStipple\0" "\0" - /* _mesa_function_pool[18695]: Tangent3dvEXT (dynamic) */ + /* _mesa_function_pool[18835]: Tangent3dvEXT (dynamic) */ "p\0" "glTangent3dvEXT\0" "\0" - /* _mesa_function_pool[18714]: BindBufferOffsetEXT (will be remapped) */ + /* _mesa_function_pool[18854]: BindBufferOffsetEXT (will be remapped) */ "iiii\0" "glBindBufferOffsetEXT\0" "\0" - /* _mesa_function_pool[18742]: WindowPos3sMESA (will be remapped) */ + /* _mesa_function_pool[18882]: WindowPos3sMESA (will be remapped) */ "iii\0" "glWindowPos3s\0" "glWindowPos3sARB\0" "glWindowPos3sMESA\0" "\0" - /* _mesa_function_pool[18796]: VertexAttrib2svNV (will be remapped) */ + /* _mesa_function_pool[18936]: VertexAttrib2svNV (will be remapped) */ "ip\0" "glVertexAttrib2svNV\0" "\0" - /* _mesa_function_pool[18820]: DisableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[18960]: DisableIndexedEXT (will be remapped) */ "ii\0" "glDisableIndexedEXT\0" "glDisablei\0" "\0" - /* _mesa_function_pool[18855]: BindBufferBaseEXT (will be remapped) */ + /* _mesa_function_pool[18995]: BindBufferBaseEXT (will be remapped) */ "iii\0" "glBindBufferBaseEXT\0" "glBindBufferBase\0" "\0" - /* _mesa_function_pool[18897]: TexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[19037]: TexCoord2fVertex3fvSUN (dynamic) */ "pp\0" "glTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[18926]: WindowPos4sMESA (will be remapped) */ + /* _mesa_function_pool[19066]: WindowPos4sMESA (will be remapped) */ "iiii\0" "glWindowPos4sMESA\0" "\0" - /* _mesa_function_pool[18950]: VertexAttrib4NuivARB (will be remapped) */ + /* _mesa_function_pool[19090]: VertexAttrib4NuivARB (will be remapped) */ "ip\0" "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" "\0" - /* _mesa_function_pool[18997]: ClientActiveTextureARB (offset 375) */ + /* _mesa_function_pool[19137]: ClientActiveTextureARB (offset 375) */ "i\0" "glClientActiveTexture\0" "glClientActiveTextureARB\0" "\0" - /* _mesa_function_pool[19047]: PixelTexGenSGIX (will be remapped) */ + /* _mesa_function_pool[19187]: PixelTexGenSGIX (will be remapped) */ "i\0" "glPixelTexGenSGIX\0" "\0" - /* _mesa_function_pool[19068]: ReplacementCodeusvSUN (dynamic) */ + /* _mesa_function_pool[19208]: ReplacementCodeusvSUN (dynamic) */ "p\0" "glReplacementCodeusvSUN\0" "\0" - /* _mesa_function_pool[19095]: Uniform4fARB (will be remapped) */ + /* _mesa_function_pool[19235]: Uniform4fARB (will be remapped) */ "iffff\0" "glUniform4f\0" "glUniform4fARB\0" "\0" - /* _mesa_function_pool[19129]: Color4sv (offset 34) */ + /* _mesa_function_pool[19269]: Color4sv (offset 34) */ "p\0" "glColor4sv\0" "\0" - /* _mesa_function_pool[19143]: FlushMappedBufferRange (will be remapped) */ + /* _mesa_function_pool[19283]: FlushMappedBufferRange (will be remapped) */ "iii\0" "glFlushMappedBufferRange\0" "\0" - /* _mesa_function_pool[19173]: IsProgramNV (will be remapped) */ + /* _mesa_function_pool[19313]: IsProgramNV (will be remapped) */ "i\0" "glIsProgramARB\0" "glIsProgramNV\0" "\0" - /* _mesa_function_pool[19205]: FlushMappedBufferRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[19345]: FlushMappedBufferRangeAPPLE (will be remapped) */ "iii\0" "glFlushMappedBufferRangeAPPLE\0" "\0" - /* _mesa_function_pool[19240]: PixelZoom (offset 246) */ + /* _mesa_function_pool[19380]: PixelZoom (offset 246) */ "ff\0" "glPixelZoom\0" "\0" - /* _mesa_function_pool[19256]: ReplacementCodePointerSUN (dynamic) */ + /* _mesa_function_pool[19396]: ReplacementCodePointerSUN (dynamic) */ "iip\0" "glReplacementCodePointerSUN\0" "\0" - /* _mesa_function_pool[19289]: ProgramEnvParameter4dARB (will be remapped) */ + /* _mesa_function_pool[19429]: ProgramEnvParameter4dARB (will be remapped) */ "iidddd\0" "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" "\0" - /* _mesa_function_pool[19347]: ColorTableParameterfv (offset 340) */ + /* _mesa_function_pool[19487]: ColorTableParameterfv (offset 340) */ "iip\0" "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" "\0" - /* _mesa_function_pool[19403]: FragmentLightModelfSGIX (dynamic) */ + /* _mesa_function_pool[19543]: FragmentLightModelfSGIX (dynamic) */ "if\0" "glFragmentLightModelfSGIX\0" "\0" - /* _mesa_function_pool[19433]: Binormal3bvEXT (dynamic) */ + /* _mesa_function_pool[19573]: Binormal3bvEXT (dynamic) */ "p\0" "glBinormal3bvEXT\0" "\0" - /* _mesa_function_pool[19453]: PixelMapuiv (offset 252) */ + /* _mesa_function_pool[19593]: PixelMapuiv (offset 252) */ "iip\0" "glPixelMapuiv\0" "\0" - /* _mesa_function_pool[19472]: Color3dv (offset 12) */ + /* _mesa_function_pool[19612]: Color3dv (offset 12) */ "p\0" "glColor3dv\0" "\0" - /* _mesa_function_pool[19486]: IsTexture (offset 330) */ + /* _mesa_function_pool[19626]: IsTexture (offset 330) */ "i\0" "glIsTexture\0" "glIsTextureEXT\0" "\0" - /* _mesa_function_pool[19516]: VertexWeightfvEXT (dynamic) */ + /* _mesa_function_pool[19656]: VertexWeightfvEXT (dynamic) */ "p\0" "glVertexWeightfvEXT\0" "\0" - /* _mesa_function_pool[19539]: VertexAttrib1dARB (will be remapped) */ + /* _mesa_function_pool[19679]: VertexAttrib1dARB (will be remapped) */ "id\0" "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" "\0" - /* _mesa_function_pool[19580]: ImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[19720]: ImageTransformParameterivHP (dynamic) */ "iip\0" "glImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[19615]: TexCoord4i (offset 122) */ + /* _mesa_function_pool[19755]: TexCoord4i (offset 122) */ "iiii\0" "glTexCoord4i\0" "\0" - /* _mesa_function_pool[19634]: DeleteQueriesARB (will be remapped) */ + /* _mesa_function_pool[19774]: DeleteQueriesARB (will be remapped) */ "ip\0" "glDeleteQueries\0" "glDeleteQueriesARB\0" "\0" - /* _mesa_function_pool[19673]: Color4ubVertex2fSUN (dynamic) */ + /* _mesa_function_pool[19813]: Color4ubVertex2fSUN (dynamic) */ "iiiiff\0" "glColor4ubVertex2fSUN\0" "\0" - /* _mesa_function_pool[19703]: FragmentColorMaterialSGIX (dynamic) */ + /* _mesa_function_pool[19843]: FragmentColorMaterialSGIX (dynamic) */ "ii\0" "glFragmentColorMaterialSGIX\0" "\0" - /* _mesa_function_pool[19735]: CurrentPaletteMatrixARB (dynamic) */ + /* _mesa_function_pool[19875]: CurrentPaletteMatrixARB (dynamic) */ "i\0" "glCurrentPaletteMatrixARB\0" "\0" - /* _mesa_function_pool[19764]: GetMapdv (offset 266) */ + /* _mesa_function_pool[19904]: GetMapdv (offset 266) */ "iip\0" "glGetMapdv\0" "\0" - /* _mesa_function_pool[19780]: ObjectPurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[19920]: ObjectPurgeableAPPLE (will be remapped) */ "iii\0" "glObjectPurgeableAPPLE\0" "\0" - /* _mesa_function_pool[19808]: GetStringi (will be remapped) */ + /* _mesa_function_pool[19948]: GetStringi (will be remapped) */ "ii\0" "glGetStringi\0" "\0" - /* _mesa_function_pool[19825]: SamplePatternSGIS (will be remapped) */ + /* _mesa_function_pool[19965]: SamplePatternSGIS (will be remapped) */ "i\0" "glSamplePatternSGIS\0" "glSamplePatternEXT\0" "\0" - /* _mesa_function_pool[19867]: PixelStoref (offset 249) */ + /* _mesa_function_pool[20007]: PixelStoref (offset 249) */ "if\0" "glPixelStoref\0" "\0" - /* _mesa_function_pool[19885]: IsQueryARB (will be remapped) */ + /* _mesa_function_pool[20025]: IsQueryARB (will be remapped) */ "i\0" "glIsQuery\0" "glIsQueryARB\0" "\0" - /* _mesa_function_pool[19911]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[20051]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ "iiiiifff\0" "glReplacementCodeuiColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[19960]: PixelStorei (offset 250) */ + /* _mesa_function_pool[20100]: PixelStorei (offset 250) */ "ii\0" "glPixelStorei\0" "\0" - /* _mesa_function_pool[19978]: VertexAttrib4usvARB (will be remapped) */ + /* _mesa_function_pool[20118]: VertexAttrib4usvARB (will be remapped) */ "ip\0" "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" "\0" - /* _mesa_function_pool[20023]: LinkProgramARB (will be remapped) */ + /* _mesa_function_pool[20163]: LinkProgramARB (will be remapped) */ "i\0" "glLinkProgram\0" "glLinkProgramARB\0" "\0" - /* _mesa_function_pool[20057]: VertexAttrib2fNV (will be remapped) */ + /* _mesa_function_pool[20197]: VertexAttrib2fNV (will be remapped) */ "iff\0" "glVertexAttrib2fNV\0" "\0" - /* _mesa_function_pool[20081]: ShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[20221]: ShaderSourceARB (will be remapped) */ "iipp\0" "glShaderSource\0" "glShaderSourceARB\0" "\0" - /* _mesa_function_pool[20120]: FragmentMaterialiSGIX (dynamic) */ + /* _mesa_function_pool[20260]: FragmentMaterialiSGIX (dynamic) */ "iii\0" "glFragmentMaterialiSGIX\0" "\0" - /* _mesa_function_pool[20149]: EvalCoord2dv (offset 233) */ + /* _mesa_function_pool[20289]: EvalCoord2dv (offset 233) */ "p\0" "glEvalCoord2dv\0" "\0" - /* _mesa_function_pool[20167]: VertexAttrib3svARB (will be remapped) */ + /* _mesa_function_pool[20307]: VertexAttrib3svARB (will be remapped) */ "ip\0" "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" "\0" - /* _mesa_function_pool[20210]: ColorMaterial (offset 151) */ + /* _mesa_function_pool[20350]: ColorMaterial (offset 151) */ "ii\0" "glColorMaterial\0" "\0" - /* _mesa_function_pool[20230]: CompressedTexSubImage3DARB (will be remapped) */ + /* _mesa_function_pool[20370]: CompressedTexSubImage3DARB (will be remapped) */ "iiiiiiiiiip\0" "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" "\0" - /* _mesa_function_pool[20298]: WindowPos2ivMESA (will be remapped) */ + /* _mesa_function_pool[20438]: WindowPos2ivMESA (will be remapped) */ "p\0" "glWindowPos2iv\0" "glWindowPos2ivARB\0" "glWindowPos2ivMESA\0" "\0" - /* _mesa_function_pool[20353]: IsFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[20493]: IsFramebufferEXT (will be remapped) */ "i\0" "glIsFramebuffer\0" "glIsFramebufferEXT\0" "\0" - /* _mesa_function_pool[20391]: Uniform4ivARB (will be remapped) */ + /* _mesa_function_pool[20531]: Uniform4ivARB (will be remapped) */ "iip\0" "glUniform4iv\0" "glUniform4ivARB\0" "\0" - /* _mesa_function_pool[20425]: GetVertexAttribdvARB (will be remapped) */ + /* _mesa_function_pool[20565]: GetVertexAttribdvARB (will be remapped) */ "iip\0" "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" "\0" - /* _mesa_function_pool[20473]: TexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[20613]: TexBumpParameterivATI (will be remapped) */ "ip\0" "glTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[20501]: GetSeparableFilter (offset 359) */ + /* _mesa_function_pool[20641]: GetSeparableFilter (offset 359) */ "iiippp\0" "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" "\0" - /* _mesa_function_pool[20554]: Binormal3dEXT (dynamic) */ + /* _mesa_function_pool[20694]: Binormal3dEXT (dynamic) */ "ddd\0" "glBinormal3dEXT\0" "\0" - /* _mesa_function_pool[20575]: SpriteParameteriSGIX (dynamic) */ + /* _mesa_function_pool[20715]: SpriteParameteriSGIX (dynamic) */ "ii\0" "glSpriteParameteriSGIX\0" "\0" - /* _mesa_function_pool[20602]: RequestResidentProgramsNV (will be remapped) */ + /* _mesa_function_pool[20742]: RequestResidentProgramsNV (will be remapped) */ "ip\0" "glRequestResidentProgramsNV\0" "\0" - /* _mesa_function_pool[20634]: TagSampleBufferSGIX (dynamic) */ + /* _mesa_function_pool[20774]: TagSampleBufferSGIX (dynamic) */ "\0" "glTagSampleBufferSGIX\0" "\0" - /* _mesa_function_pool[20658]: TransformFeedbackVaryingsEXT (will be remapped) */ + /* _mesa_function_pool[20798]: TransformFeedbackVaryingsEXT (will be remapped) */ "iipi\0" "glTransformFeedbackVaryingsEXT\0" "glTransformFeedbackVaryings\0" "\0" - /* _mesa_function_pool[20723]: FeedbackBuffer (offset 194) */ + /* _mesa_function_pool[20863]: FeedbackBuffer (offset 194) */ "iip\0" "glFeedbackBuffer\0" "\0" - /* _mesa_function_pool[20745]: RasterPos2iv (offset 67) */ + /* _mesa_function_pool[20885]: RasterPos2iv (offset 67) */ "p\0" "glRasterPos2iv\0" "\0" - /* _mesa_function_pool[20763]: TexImage1D (offset 182) */ + /* _mesa_function_pool[20903]: TexImage1D (offset 182) */ "iiiiiiip\0" "glTexImage1D\0" "\0" - /* _mesa_function_pool[20786]: ListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[20926]: ListParameterivSGIX (dynamic) */ "iip\0" "glListParameterivSGIX\0" "\0" - /* _mesa_function_pool[20813]: MultiDrawElementsEXT (will be remapped) */ + /* _mesa_function_pool[20953]: MultiDrawElementsEXT (will be remapped) */ "ipipi\0" "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" "\0" - /* _mesa_function_pool[20863]: Color3s (offset 17) */ + /* _mesa_function_pool[21003]: Color3s (offset 17) */ "iii\0" "glColor3s\0" "\0" - /* _mesa_function_pool[20878]: Uniform1ivARB (will be remapped) */ + /* _mesa_function_pool[21018]: Uniform1ivARB (will be remapped) */ "iip\0" "glUniform1iv\0" "glUniform1ivARB\0" "\0" - /* _mesa_function_pool[20912]: WindowPos2sMESA (will be remapped) */ + /* _mesa_function_pool[21052]: WindowPos2sMESA (will be remapped) */ "ii\0" "glWindowPos2s\0" "glWindowPos2sARB\0" "glWindowPos2sMESA\0" "\0" - /* _mesa_function_pool[20965]: WeightusvARB (dynamic) */ + /* _mesa_function_pool[21105]: WeightusvARB (dynamic) */ "ip\0" "glWeightusvARB\0" "\0" - /* _mesa_function_pool[20984]: TexCoordPointer (offset 320) */ + /* _mesa_function_pool[21124]: TexCoordPointer (offset 320) */ "iiip\0" "glTexCoordPointer\0" "\0" - /* _mesa_function_pool[21008]: FogCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[21148]: FogCoordPointerEXT (will be remapped) */ "iip\0" "glFogCoordPointer\0" "glFogCoordPointerEXT\0" "\0" - /* _mesa_function_pool[21052]: IndexMaterialEXT (dynamic) */ + /* _mesa_function_pool[21192]: IndexMaterialEXT (dynamic) */ "ii\0" "glIndexMaterialEXT\0" "\0" - /* _mesa_function_pool[21075]: Color3i (offset 15) */ + /* _mesa_function_pool[21215]: Color3i (offset 15) */ "iii\0" "glColor3i\0" "\0" - /* _mesa_function_pool[21090]: FrontFace (offset 157) */ + /* _mesa_function_pool[21230]: FrontFace (offset 157) */ "i\0" "glFrontFace\0" "\0" - /* _mesa_function_pool[21105]: EvalCoord2d (offset 232) */ + /* _mesa_function_pool[21245]: EvalCoord2d (offset 232) */ "dd\0" "glEvalCoord2d\0" "\0" - /* _mesa_function_pool[21123]: SecondaryColor3ubvEXT (will be remapped) */ + /* _mesa_function_pool[21263]: SecondaryColor3ubvEXT (will be remapped) */ "p\0" "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" "\0" - /* _mesa_function_pool[21171]: EvalCoord2f (offset 234) */ + /* _mesa_function_pool[21311]: EvalCoord2f (offset 234) */ "ff\0" "glEvalCoord2f\0" "\0" - /* _mesa_function_pool[21189]: VertexAttrib4dvARB (will be remapped) */ + /* _mesa_function_pool[21329]: VertexAttrib4dvARB (will be remapped) */ "ip\0" "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" "\0" - /* _mesa_function_pool[21232]: BindAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[21372]: BindAttribLocationARB (will be remapped) */ "iip\0" "glBindAttribLocation\0" "glBindAttribLocationARB\0" "\0" - /* _mesa_function_pool[21282]: Color3b (offset 9) */ + /* _mesa_function_pool[21422]: Color3b (offset 9) */ "iii\0" "glColor3b\0" "\0" - /* _mesa_function_pool[21297]: MultiTexCoord2dARB (offset 384) */ + /* _mesa_function_pool[21437]: MultiTexCoord2dARB (offset 384) */ "idd\0" "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" "\0" - /* _mesa_function_pool[21341]: ExecuteProgramNV (will be remapped) */ + /* _mesa_function_pool[21481]: ExecuteProgramNV (will be remapped) */ "iip\0" "glExecuteProgramNV\0" "\0" - /* _mesa_function_pool[21365]: Color3f (offset 13) */ + /* _mesa_function_pool[21505]: Color3f (offset 13) */ "fff\0" "glColor3f\0" "\0" - /* _mesa_function_pool[21380]: LightEnviSGIX (dynamic) */ + /* _mesa_function_pool[21520]: LightEnviSGIX (dynamic) */ "ii\0" "glLightEnviSGIX\0" "\0" - /* _mesa_function_pool[21400]: Color3d (offset 11) */ + /* _mesa_function_pool[21540]: Color3d (offset 11) */ "ddd\0" "glColor3d\0" "\0" - /* _mesa_function_pool[21415]: Normal3dv (offset 55) */ + /* _mesa_function_pool[21555]: Normal3dv (offset 55) */ "p\0" "glNormal3dv\0" "\0" - /* _mesa_function_pool[21430]: Lightf (offset 159) */ + /* _mesa_function_pool[21570]: Lightf (offset 159) */ "iif\0" "glLightf\0" "\0" - /* _mesa_function_pool[21444]: ReplacementCodeuiSUN (dynamic) */ + /* _mesa_function_pool[21584]: ReplacementCodeuiSUN (dynamic) */ "i\0" "glReplacementCodeuiSUN\0" "\0" - /* _mesa_function_pool[21470]: MatrixMode (offset 293) */ + /* _mesa_function_pool[21610]: MatrixMode (offset 293) */ "i\0" "glMatrixMode\0" "\0" - /* _mesa_function_pool[21486]: GetPixelMapusv (offset 273) */ + /* _mesa_function_pool[21626]: GetPixelMapusv (offset 273) */ "ip\0" "glGetPixelMapusv\0" "\0" - /* _mesa_function_pool[21507]: Lighti (offset 161) */ + /* _mesa_function_pool[21647]: Lighti (offset 161) */ "iii\0" "glLighti\0" "\0" - /* _mesa_function_pool[21521]: VertexAttribPointerNV (will be remapped) */ + /* _mesa_function_pool[21661]: VertexAttribPointerNV (will be remapped) */ "iiiip\0" "glVertexAttribPointerNV\0" "\0" - /* _mesa_function_pool[21552]: GetBooleanIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[21692]: ClearDepthf (will be remapped) */ + "f\0" + "glClearDepthf\0" + "\0" + /* _mesa_function_pool[21709]: GetBooleanIndexedvEXT (will be remapped) */ "iip\0" "glGetBooleanIndexedvEXT\0" "glGetBooleani_v\0" "\0" - /* _mesa_function_pool[21597]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ + /* _mesa_function_pool[21754]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ "iiip\0" "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" "\0" - /* _mesa_function_pool[21682]: PixelTransformParameterfEXT (dynamic) */ + /* _mesa_function_pool[21839]: PixelTransformParameterfEXT (dynamic) */ "iif\0" "glPixelTransformParameterfEXT\0" "\0" - /* _mesa_function_pool[21717]: MultiTexCoord4dvARB (offset 401) */ + /* _mesa_function_pool[21874]: MultiTexCoord4dvARB (offset 401) */ "ip\0" "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" "\0" - /* _mesa_function_pool[21762]: PixelTransformParameteriEXT (dynamic) */ + /* _mesa_function_pool[21919]: PixelTransformParameteriEXT (dynamic) */ "iii\0" "glPixelTransformParameteriEXT\0" "\0" - /* _mesa_function_pool[21797]: GetDoublev (offset 260) */ + /* _mesa_function_pool[21954]: GetDoublev (offset 260) */ "ip\0" "glGetDoublev\0" "\0" - /* _mesa_function_pool[21814]: MultMatrixd (offset 295) */ + /* _mesa_function_pool[21971]: MultMatrixd (offset 295) */ "p\0" "glMultMatrixd\0" "\0" - /* _mesa_function_pool[21831]: MultMatrixf (offset 294) */ + /* _mesa_function_pool[21988]: MultMatrixf (offset 294) */ "p\0" "glMultMatrixf\0" "\0" - /* _mesa_function_pool[21848]: VertexAttribI4bvEXT (will be remapped) */ + /* _mesa_function_pool[22005]: VertexAttribI4bvEXT (will be remapped) */ "ip\0" "glVertexAttribI4bvEXT\0" "glVertexAttribI4bv\0" "\0" - /* _mesa_function_pool[21893]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[22050]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ "ffiiiifff\0" "glTexCoord2fColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[21936]: Uniform1iARB (will be remapped) */ + /* _mesa_function_pool[22093]: Uniform1iARB (will be remapped) */ "ii\0" "glUniform1i\0" "glUniform1iARB\0" "\0" - /* _mesa_function_pool[21967]: VertexAttribPointerARB (will be remapped) */ + /* _mesa_function_pool[22124]: VertexAttribPointerARB (will be remapped) */ "iiiiip\0" "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" "\0" - /* _mesa_function_pool[22022]: VertexAttrib3sNV (will be remapped) */ + /* _mesa_function_pool[22179]: VertexAttrib3sNV (will be remapped) */ "iiii\0" "glVertexAttrib3sNV\0" "\0" - /* _mesa_function_pool[22047]: SharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[22204]: SharpenTexFuncSGIS (dynamic) */ "iip\0" "glSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[22073]: MultiTexCoord4fvARB (offset 403) */ + /* _mesa_function_pool[22230]: MultiTexCoord4fvARB (offset 403) */ "ip\0" "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" "\0" - /* _mesa_function_pool[22118]: Uniform2uiEXT (will be remapped) */ + /* _mesa_function_pool[22275]: Uniform2uiEXT (will be remapped) */ "iii\0" "glUniform2uiEXT\0" "glUniform2ui\0" "\0" - /* _mesa_function_pool[22152]: UniformMatrix2x3fv (will be remapped) */ + /* _mesa_function_pool[22309]: UniformMatrix2x3fv (will be remapped) */ "iiip\0" "glUniformMatrix2x3fv\0" "\0" - /* _mesa_function_pool[22179]: TrackMatrixNV (will be remapped) */ + /* _mesa_function_pool[22336]: TrackMatrixNV (will be remapped) */ "iiii\0" "glTrackMatrixNV\0" "\0" - /* _mesa_function_pool[22201]: CombinerParameteriNV (will be remapped) */ + /* _mesa_function_pool[22358]: CombinerParameteriNV (will be remapped) */ "ii\0" "glCombinerParameteriNV\0" "\0" - /* _mesa_function_pool[22228]: DeleteAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[22385]: DeleteAsyncMarkersSGIX (dynamic) */ "ii\0" "glDeleteAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[22257]: ReplacementCodeusSUN (dynamic) */ + /* _mesa_function_pool[22414]: ReplacementCodeusSUN (dynamic) */ "i\0" "glReplacementCodeusSUN\0" "\0" - /* _mesa_function_pool[22283]: IsAsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[22440]: IsAsyncMarkerSGIX (dynamic) */ "i\0" "glIsAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[22306]: FrameZoomSGIX (dynamic) */ + /* _mesa_function_pool[22463]: FrameZoomSGIX (dynamic) */ "i\0" "glFrameZoomSGIX\0" "\0" - /* _mesa_function_pool[22325]: Normal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[22482]: Normal3fVertex3fvSUN (dynamic) */ "pp\0" "glNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[22352]: RasterPos4sv (offset 85) */ + /* _mesa_function_pool[22509]: RasterPos4sv (offset 85) */ "p\0" "glRasterPos4sv\0" "\0" - /* _mesa_function_pool[22370]: VertexAttrib4NsvARB (will be remapped) */ + /* _mesa_function_pool[22527]: VertexAttrib4NsvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" "\0" - /* _mesa_function_pool[22415]: VertexAttrib3fvARB (will be remapped) */ + /* _mesa_function_pool[22572]: VertexAttrib3fvARB (will be remapped) */ "ip\0" "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" "\0" - /* _mesa_function_pool[22458]: ClearColor (offset 206) */ + /* _mesa_function_pool[22615]: ClearColor (offset 206) */ "ffff\0" "glClearColor\0" "\0" - /* _mesa_function_pool[22477]: GetSynciv (will be remapped) */ + /* _mesa_function_pool[22634]: GetSynciv (will be remapped) */ "iiipp\0" "glGetSynciv\0" "\0" - /* _mesa_function_pool[22496]: ClearColorIiEXT (will be remapped) */ + /* _mesa_function_pool[22653]: ClearColorIiEXT (will be remapped) */ "iiii\0" "glClearColorIiEXT\0" "\0" - /* _mesa_function_pool[22520]: DeleteFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[22677]: DeleteFramebuffersEXT (will be remapped) */ "ip\0" "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" "\0" - /* _mesa_function_pool[22569]: GlobalAlphaFactorsSUN (dynamic) */ + /* _mesa_function_pool[22726]: GlobalAlphaFactorsSUN (dynamic) */ "i\0" "glGlobalAlphaFactorsSUN\0" "\0" - /* _mesa_function_pool[22596]: IsEnabledIndexedEXT (will be remapped) */ + /* _mesa_function_pool[22753]: IsEnabledIndexedEXT (will be remapped) */ "ii\0" "glIsEnabledIndexedEXT\0" "glIsEnabledi\0" "\0" - /* _mesa_function_pool[22635]: TexEnviv (offset 187) */ + /* _mesa_function_pool[22792]: TexEnviv (offset 187) */ "iip\0" "glTexEnviv\0" "\0" - /* _mesa_function_pool[22651]: TexSubImage3D (offset 372) */ + /* _mesa_function_pool[22808]: TexSubImage3D (offset 372) */ "iiiiiiiiiip\0" "glTexSubImage3D\0" "glTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[22699]: Tangent3fEXT (dynamic) */ + /* _mesa_function_pool[22856]: Tangent3fEXT (dynamic) */ "fff\0" "glTangent3fEXT\0" "\0" - /* _mesa_function_pool[22719]: SecondaryColor3uivEXT (will be remapped) */ + /* _mesa_function_pool[22876]: SecondaryColor3uivEXT (will be remapped) */ "p\0" "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" "\0" - /* _mesa_function_pool[22767]: MatrixIndexubvARB (dynamic) */ + /* _mesa_function_pool[22924]: MatrixIndexubvARB (dynamic) */ "ip\0" "glMatrixIndexubvARB\0" "\0" - /* _mesa_function_pool[22791]: Color4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[22948]: Color4fNormal3fVertex3fSUN (dynamic) */ "ffffffffff\0" "glColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[22832]: PixelTexGenParameterfSGIS (will be remapped) */ + /* _mesa_function_pool[22989]: PixelTexGenParameterfSGIS (will be remapped) */ "if\0" "glPixelTexGenParameterfSGIS\0" "\0" - /* _mesa_function_pool[22864]: CreateShader (will be remapped) */ + /* _mesa_function_pool[23021]: CreateShader (will be remapped) */ "i\0" "glCreateShader\0" "\0" - /* _mesa_function_pool[22882]: GetColorTableParameterfv (offset 344) */ + /* _mesa_function_pool[23039]: GetColorTableParameterfv (offset 344) */ "iip\0" "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" "glGetColorTableParameterfvEXT\0" "\0" - /* _mesa_function_pool[22974]: FragmentLightModelfvSGIX (dynamic) */ + /* _mesa_function_pool[23131]: FragmentLightModelfvSGIX (dynamic) */ "ip\0" "glFragmentLightModelfvSGIX\0" "\0" - /* _mesa_function_pool[23005]: Bitmap (offset 8) */ + /* _mesa_function_pool[23162]: Bitmap (offset 8) */ "iiffffp\0" "glBitmap\0" "\0" - /* _mesa_function_pool[23023]: MultiTexCoord3fARB (offset 394) */ + /* _mesa_function_pool[23180]: MultiTexCoord3fARB (offset 394) */ "ifff\0" "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" "\0" - /* _mesa_function_pool[23068]: GetTexLevelParameterfv (offset 284) */ + /* _mesa_function_pool[23225]: GetTexLevelParameterfv (offset 284) */ "iiip\0" "glGetTexLevelParameterfv\0" "\0" - /* _mesa_function_pool[23099]: GetPixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[23256]: GetPixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[23135]: GenFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[23292]: GenFramebuffersEXT (will be remapped) */ "ip\0" "glGenFramebuffers\0" "glGenFramebuffersEXT\0" "\0" - /* _mesa_function_pool[23178]: VertexAttribDivisor (will be remapped) */ + /* _mesa_function_pool[23335]: VertexAttribDivisor (will be remapped) */ "ii\0" "glVertexAttribDivisor\0" "\0" - /* _mesa_function_pool[23204]: GetProgramParameterdvNV (will be remapped) */ + /* _mesa_function_pool[23361]: GetProgramParameterdvNV (will be remapped) */ "iiip\0" "glGetProgramParameterdvNV\0" "\0" - /* _mesa_function_pool[23236]: Vertex2sv (offset 133) */ + /* _mesa_function_pool[23393]: Vertex2sv (offset 133) */ "p\0" "glVertex2sv\0" "\0" - /* _mesa_function_pool[23251]: GetIntegerv (offset 263) */ + /* _mesa_function_pool[23408]: GetIntegerv (offset 263) */ "ip\0" "glGetIntegerv\0" "\0" - /* _mesa_function_pool[23269]: IsVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[23426]: IsVertexArrayAPPLE (will be remapped) */ "i\0" "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[23309]: FragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[23466]: FragmentLightfvSGIX (dynamic) */ "iip\0" "glFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[23336]: DetachShader (will be remapped) */ + /* _mesa_function_pool[23493]: VertexAttribDivisorARB (will be remapped) */ + "ii\0" + "glVertexAttribDivisorARB\0" + "\0" + /* _mesa_function_pool[23522]: DetachShader (will be remapped) */ "ii\0" "glDetachShader\0" "\0" - /* _mesa_function_pool[23355]: VertexAttrib4NubARB (will be remapped) */ + /* _mesa_function_pool[23541]: VertexAttrib4NubARB (will be remapped) */ "iiiii\0" "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" "\0" - /* _mesa_function_pool[23403]: GetProgramEnvParameterfvARB (will be remapped) */ + /* _mesa_function_pool[23589]: GetProgramEnvParameterfvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterfvARB\0" "\0" - /* _mesa_function_pool[23438]: GetTrackMatrixivNV (will be remapped) */ + /* _mesa_function_pool[23624]: GetTrackMatrixivNV (will be remapped) */ "iiip\0" "glGetTrackMatrixivNV\0" "\0" - /* _mesa_function_pool[23465]: VertexAttrib3svNV (will be remapped) */ + /* _mesa_function_pool[23651]: VertexAttrib3svNV (will be remapped) */ "ip\0" "glVertexAttrib3svNV\0" "\0" - /* _mesa_function_pool[23489]: Uniform4fvARB (will be remapped) */ + /* _mesa_function_pool[23675]: Uniform4fvARB (will be remapped) */ "iip\0" "glUniform4fv\0" "glUniform4fvARB\0" "\0" - /* _mesa_function_pool[23523]: MultTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[23709]: MultTransposeMatrixfARB (will be remapped) */ "p\0" "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[23575]: GetTexEnviv (offset 277) */ + /* _mesa_function_pool[23761]: GetTexEnviv (offset 277) */ "iip\0" "glGetTexEnviv\0" "\0" - /* _mesa_function_pool[23594]: ColorFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[23780]: ColorFragmentOp1ATI (will be remapped) */ "iiiiiii\0" "glColorFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[23625]: GetUniformfvARB (will be remapped) */ + /* _mesa_function_pool[23811]: GetUniformfvARB (will be remapped) */ "iip\0" "glGetUniformfv\0" "glGetUniformfvARB\0" "\0" - /* _mesa_function_pool[23663]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ + /* _mesa_function_pool[23849]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ "ip\0" "glEGLImageTargetRenderbufferStorageOES\0" "\0" - /* _mesa_function_pool[23706]: VertexAttribI2ivEXT (will be remapped) */ + /* _mesa_function_pool[23892]: VertexAttribI2ivEXT (will be remapped) */ "ip\0" "glVertexAttribI2ivEXT\0" "glVertexAttribI2iv\0" "\0" - /* _mesa_function_pool[23751]: PopClientAttrib (offset 334) */ + /* _mesa_function_pool[23937]: PopClientAttrib (offset 334) */ "\0" "glPopClientAttrib\0" "\0" - /* _mesa_function_pool[23771]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[23957]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffffff\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[23842]: DetachObjectARB (will be remapped) */ + /* _mesa_function_pool[24028]: DetachObjectARB (will be remapped) */ "ii\0" "glDetachObjectARB\0" "\0" - /* _mesa_function_pool[23864]: VertexBlendARB (dynamic) */ + /* _mesa_function_pool[24050]: VertexBlendARB (dynamic) */ "i\0" "glVertexBlendARB\0" "\0" - /* _mesa_function_pool[23884]: WindowPos3iMESA (will be remapped) */ + /* _mesa_function_pool[24070]: WindowPos3iMESA (will be remapped) */ "iii\0" "glWindowPos3i\0" "glWindowPos3iARB\0" "glWindowPos3iMESA\0" "\0" - /* _mesa_function_pool[23938]: SeparableFilter2D (offset 360) */ + /* _mesa_function_pool[24124]: SeparableFilter2D (offset 360) */ "iiiiiipp\0" "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" "\0" - /* _mesa_function_pool[23991]: ProgramParameteriARB (will be remapped) */ + /* _mesa_function_pool[24177]: ProgramParameteriARB (will be remapped) */ "iii\0" "glProgramParameteriARB\0" "\0" - /* _mesa_function_pool[24019]: Map1d (offset 220) */ + /* _mesa_function_pool[24205]: Map1d (offset 220) */ "iddiip\0" "glMap1d\0" "\0" - /* _mesa_function_pool[24035]: Map1f (offset 221) */ + /* _mesa_function_pool[24221]: Map1f (offset 221) */ "iffiip\0" "glMap1f\0" "\0" - /* _mesa_function_pool[24051]: CompressedTexImage2DARB (will be remapped) */ + /* _mesa_function_pool[24237]: CompressedTexImage2DARB (will be remapped) */ "iiiiiiip\0" "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" "\0" - /* _mesa_function_pool[24110]: ArrayElement (offset 306) */ + /* _mesa_function_pool[24296]: ArrayElement (offset 306) */ "i\0" "glArrayElement\0" "glArrayElementEXT\0" "\0" - /* _mesa_function_pool[24146]: TexImage2D (offset 183) */ + /* _mesa_function_pool[24332]: TexImage2D (offset 183) */ "iiiiiiiip\0" "glTexImage2D\0" "\0" - /* _mesa_function_pool[24170]: DepthBoundsEXT (will be remapped) */ + /* _mesa_function_pool[24356]: DepthBoundsEXT (will be remapped) */ "dd\0" "glDepthBoundsEXT\0" "\0" - /* _mesa_function_pool[24191]: ProgramParameters4fvNV (will be remapped) */ + /* _mesa_function_pool[24377]: ProgramParameters4fvNV (will be remapped) */ "iiip\0" "glProgramParameters4fvNV\0" "\0" - /* _mesa_function_pool[24222]: DeformationMap3fSGIX (dynamic) */ + /* _mesa_function_pool[24408]: DeformationMap3fSGIX (dynamic) */ "iffiiffiiffiip\0" "glDeformationMap3fSGIX\0" "\0" - /* _mesa_function_pool[24261]: GetProgramivNV (will be remapped) */ + /* _mesa_function_pool[24447]: GetProgramivNV (will be remapped) */ "iip\0" "glGetProgramivNV\0" "\0" - /* _mesa_function_pool[24283]: GetFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[24469]: GetFragDataLocationEXT (will be remapped) */ "ip\0" "glGetFragDataLocationEXT\0" "glGetFragDataLocation\0" "\0" - /* _mesa_function_pool[24334]: GetMinmaxParameteriv (offset 366) */ + /* _mesa_function_pool[24520]: GetMinmaxParameteriv (offset 366) */ "iip\0" "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" "\0" - /* _mesa_function_pool[24388]: PixelTransferf (offset 247) */ + /* _mesa_function_pool[24574]: PixelTransferf (offset 247) */ "if\0" "glPixelTransferf\0" "\0" - /* _mesa_function_pool[24409]: CopyTexImage1D (offset 323) */ + /* _mesa_function_pool[24595]: CopyTexImage1D (offset 323) */ "iiiiiii\0" "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" "\0" - /* _mesa_function_pool[24455]: PushMatrix (offset 298) */ + /* _mesa_function_pool[24641]: PushMatrix (offset 298) */ "\0" "glPushMatrix\0" "\0" - /* _mesa_function_pool[24470]: Fogiv (offset 156) */ + /* _mesa_function_pool[24656]: Fogiv (offset 156) */ "ip\0" "glFogiv\0" "\0" - /* _mesa_function_pool[24482]: TexCoord1dv (offset 95) */ + /* _mesa_function_pool[24668]: TexCoord1dv (offset 95) */ "p\0" "glTexCoord1dv\0" "\0" - /* _mesa_function_pool[24499]: AlphaFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[24685]: AlphaFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiii\0" "glAlphaFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[24535]: PixelTransferi (offset 248) */ + /* _mesa_function_pool[24721]: PixelTransferi (offset 248) */ "ii\0" "glPixelTransferi\0" "\0" - /* _mesa_function_pool[24556]: GetVertexAttribdvNV (will be remapped) */ + /* _mesa_function_pool[24742]: GetVertexAttribdvNV (will be remapped) */ "iip\0" "glGetVertexAttribdvNV\0" "\0" - /* _mesa_function_pool[24583]: VertexAttrib3fvNV (will be remapped) */ + /* _mesa_function_pool[24769]: VertexAttrib3fvNV (will be remapped) */ "ip\0" "glVertexAttrib3fvNV\0" "\0" - /* _mesa_function_pool[24607]: Rotatef (offset 300) */ + /* _mesa_function_pool[24793]: Rotatef (offset 300) */ "ffff\0" "glRotatef\0" "\0" - /* _mesa_function_pool[24623]: GetFinalCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[24809]: GetFinalCombinerInputParameterivNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[24665]: Vertex3i (offset 138) */ + /* _mesa_function_pool[24851]: Vertex3i (offset 138) */ "iii\0" "glVertex3i\0" "\0" - /* _mesa_function_pool[24681]: Vertex3f (offset 136) */ + /* _mesa_function_pool[24867]: Vertex3f (offset 136) */ "fff\0" "glVertex3f\0" "\0" - /* _mesa_function_pool[24697]: Clear (offset 203) */ + /* _mesa_function_pool[24883]: Clear (offset 203) */ "i\0" "glClear\0" "\0" - /* _mesa_function_pool[24708]: Vertex3d (offset 134) */ + /* _mesa_function_pool[24894]: Vertex3d (offset 134) */ "ddd\0" "glVertex3d\0" "\0" - /* _mesa_function_pool[24724]: GetMapParameterivNV (dynamic) */ + /* _mesa_function_pool[24910]: GetMapParameterivNV (dynamic) */ "iip\0" "glGetMapParameterivNV\0" "\0" - /* _mesa_function_pool[24751]: Uniform4iARB (will be remapped) */ + /* _mesa_function_pool[24937]: Uniform4iARB (will be remapped) */ "iiiii\0" "glUniform4i\0" "glUniform4iARB\0" "\0" - /* _mesa_function_pool[24785]: ReadBuffer (offset 254) */ + /* _mesa_function_pool[24971]: ReadBuffer (offset 254) */ "i\0" "glReadBuffer\0" "\0" - /* _mesa_function_pool[24801]: ConvolutionParameteri (offset 352) */ + /* _mesa_function_pool[24987]: ConvolutionParameteri (offset 352) */ "iii\0" "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" "\0" - /* _mesa_function_pool[24857]: Ortho (offset 296) */ + /* _mesa_function_pool[25043]: Ortho (offset 296) */ "dddddd\0" "glOrtho\0" "\0" - /* _mesa_function_pool[24873]: Binormal3sEXT (dynamic) */ + /* _mesa_function_pool[25059]: Binormal3sEXT (dynamic) */ "iii\0" "glBinormal3sEXT\0" "\0" - /* _mesa_function_pool[24894]: ListBase (offset 6) */ + /* _mesa_function_pool[25080]: ListBase (offset 6) */ "i\0" "glListBase\0" "\0" - /* _mesa_function_pool[24908]: Vertex3s (offset 140) */ + /* _mesa_function_pool[25094]: Vertex3s (offset 140) */ "iii\0" "glVertex3s\0" "\0" - /* _mesa_function_pool[24924]: ConvolutionParameterf (offset 350) */ + /* _mesa_function_pool[25110]: ConvolutionParameterf (offset 350) */ "iif\0" "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" "\0" - /* _mesa_function_pool[24980]: GetColorTableParameteriv (offset 345) */ + /* _mesa_function_pool[25166]: GetColorTableParameteriv (offset 345) */ "iip\0" "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" "glGetColorTableParameterivEXT\0" "\0" - /* _mesa_function_pool[25072]: ProgramEnvParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[25258]: ProgramEnvParameter4dvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" "\0" - /* _mesa_function_pool[25129]: ShadeModel (offset 177) */ + /* _mesa_function_pool[25315]: ShadeModel (offset 177) */ "i\0" "glShadeModel\0" "\0" - /* _mesa_function_pool[25145]: VertexAttribs2fvNV (will be remapped) */ + /* _mesa_function_pool[25331]: VertexAttribs2fvNV (will be remapped) */ "iip\0" "glVertexAttribs2fvNV\0" "\0" - /* _mesa_function_pool[25171]: Rectiv (offset 91) */ + /* _mesa_function_pool[25357]: Rectiv (offset 91) */ "pp\0" "glRectiv\0" "\0" - /* _mesa_function_pool[25184]: UseProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[25370]: UseProgramObjectARB (will be remapped) */ "i\0" "glUseProgram\0" "glUseProgramObjectARB\0" "\0" - /* _mesa_function_pool[25222]: GetMapParameterfvNV (dynamic) */ + /* _mesa_function_pool[25408]: GetMapParameterfvNV (dynamic) */ "iip\0" "glGetMapParameterfvNV\0" "\0" - /* _mesa_function_pool[25249]: EndConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[25435]: EndConditionalRenderNV (will be remapped) */ "\0" "glEndConditionalRenderNV\0" "glEndConditionalRender\0" "\0" - /* _mesa_function_pool[25299]: PassTexCoordATI (will be remapped) */ + /* _mesa_function_pool[25485]: PassTexCoordATI (will be remapped) */ "iii\0" "glPassTexCoordATI\0" "\0" - /* _mesa_function_pool[25322]: DeleteProgram (will be remapped) */ + /* _mesa_function_pool[25508]: DeleteProgram (will be remapped) */ "i\0" "glDeleteProgram\0" "\0" - /* _mesa_function_pool[25341]: Tangent3ivEXT (dynamic) */ + /* _mesa_function_pool[25527]: Tangent3ivEXT (dynamic) */ "p\0" "glTangent3ivEXT\0" "\0" - /* _mesa_function_pool[25360]: Tangent3dEXT (dynamic) */ + /* _mesa_function_pool[25546]: Tangent3dEXT (dynamic) */ "ddd\0" "glTangent3dEXT\0" "\0" - /* _mesa_function_pool[25380]: SecondaryColor3dvEXT (will be remapped) */ + /* _mesa_function_pool[25566]: SecondaryColor3dvEXT (will be remapped) */ "p\0" "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" "\0" - /* _mesa_function_pool[25426]: Vertex2fv (offset 129) */ + /* _mesa_function_pool[25612]: AlphaFragmentOp2ATI (will be remapped) */ + "iiiiiiiii\0" + "glAlphaFragmentOp2ATI\0" + "\0" + /* _mesa_function_pool[25645]: Vertex2fv (offset 129) */ "p\0" "glVertex2fv\0" "\0" - /* _mesa_function_pool[25441]: MultiDrawArraysEXT (will be remapped) */ + /* _mesa_function_pool[25660]: MultiDrawArraysEXT (will be remapped) */ "ippi\0" "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" "\0" - /* _mesa_function_pool[25486]: BindRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[25705]: BindRenderbufferEXT (will be remapped) */ "ii\0" "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" "\0" - /* _mesa_function_pool[25531]: MultiTexCoord4dARB (offset 400) */ + /* _mesa_function_pool[25750]: MultiTexCoord4dARB (offset 400) */ "idddd\0" "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" "\0" - /* _mesa_function_pool[25577]: FramebufferTextureFaceARB (will be remapped) */ + /* _mesa_function_pool[25796]: FramebufferTextureFaceARB (will be remapped) */ "iiiii\0" "glFramebufferTextureFaceARB\0" "\0" - /* _mesa_function_pool[25612]: Vertex3sv (offset 141) */ + /* _mesa_function_pool[25831]: Vertex3sv (offset 141) */ "p\0" "glVertex3sv\0" "\0" - /* _mesa_function_pool[25627]: SecondaryColor3usEXT (will be remapped) */ + /* _mesa_function_pool[25846]: SecondaryColor3usEXT (will be remapped) */ "iii\0" "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" "\0" - /* _mesa_function_pool[25675]: ProgramLocalParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[25894]: ProgramLocalParameter4fvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4fvARB\0" "\0" - /* _mesa_function_pool[25710]: DeleteProgramsNV (will be remapped) */ + /* _mesa_function_pool[25929]: DeleteProgramsNV (will be remapped) */ "ip\0" "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" "\0" - /* _mesa_function_pool[25753]: EvalMesh1 (offset 236) */ + /* _mesa_function_pool[25972]: EvalMesh1 (offset 236) */ "iii\0" "glEvalMesh1\0" "\0" - /* _mesa_function_pool[25770]: PauseTransformFeedback (will be remapped) */ + /* _mesa_function_pool[25989]: PauseTransformFeedback (will be remapped) */ "\0" "glPauseTransformFeedback\0" "\0" - /* _mesa_function_pool[25797]: MultiTexCoord1sARB (offset 382) */ + /* _mesa_function_pool[26016]: MultiTexCoord1sARB (offset 382) */ "ii\0" "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" "\0" - /* _mesa_function_pool[25840]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[26059]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[25887]: GetVertexAttribPointervNV (will be remapped) */ + /* _mesa_function_pool[26106]: GetVertexAttribPointervNV (will be remapped) */ "iip\0" "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" "\0" - /* _mesa_function_pool[25975]: VertexAttribs1fvNV (will be remapped) */ + /* _mesa_function_pool[26194]: VertexAttribs1fvNV (will be remapped) */ "iip\0" "glVertexAttribs1fvNV\0" "\0" - /* _mesa_function_pool[26001]: MultiTexCoord1dvARB (offset 377) */ + /* _mesa_function_pool[26220]: MultiTexCoord1dvARB (offset 377) */ "ip\0" "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" "\0" - /* _mesa_function_pool[26046]: Uniform2iARB (will be remapped) */ + /* _mesa_function_pool[26265]: Uniform2iARB (will be remapped) */ "iii\0" "glUniform2i\0" "glUniform2iARB\0" "\0" - /* _mesa_function_pool[26078]: Vertex2iv (offset 131) */ + /* _mesa_function_pool[26297]: Vertex2iv (offset 131) */ "p\0" "glVertex2iv\0" "\0" - /* _mesa_function_pool[26093]: GetProgramStringNV (will be remapped) */ + /* _mesa_function_pool[26312]: GetProgramStringNV (will be remapped) */ "iip\0" "glGetProgramStringNV\0" "\0" - /* _mesa_function_pool[26119]: ColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[26338]: ColorPointerEXT (will be remapped) */ "iiiip\0" "glColorPointerEXT\0" "\0" - /* _mesa_function_pool[26144]: LineWidth (offset 168) */ + /* _mesa_function_pool[26363]: LineWidth (offset 168) */ "f\0" "glLineWidth\0" "\0" - /* _mesa_function_pool[26159]: MapBufferARB (will be remapped) */ + /* _mesa_function_pool[26378]: MapBufferARB (will be remapped) */ "ii\0" "glMapBuffer\0" "glMapBufferARB\0" "\0" - /* _mesa_function_pool[26190]: MultiDrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[26409]: MultiDrawElementsBaseVertex (will be remapped) */ "ipipip\0" "glMultiDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[26228]: TexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[26447]: TexParameterIuivEXT (will be remapped) */ "iip\0" "glTexParameterIuivEXT\0" "glTexParameterIuiv\0" "\0" - /* _mesa_function_pool[26274]: Binormal3svEXT (dynamic) */ + /* _mesa_function_pool[26493]: Binormal3svEXT (dynamic) */ "p\0" "glBinormal3svEXT\0" "\0" - /* _mesa_function_pool[26294]: ApplyTextureEXT (dynamic) */ + /* _mesa_function_pool[26513]: ApplyTextureEXT (dynamic) */ "i\0" "glApplyTextureEXT\0" "\0" - /* _mesa_function_pool[26315]: GetBufferParameteri64v (will be remapped) */ + /* _mesa_function_pool[26534]: GetBufferParameteri64v (will be remapped) */ "iip\0" "glGetBufferParameteri64v\0" "\0" - /* _mesa_function_pool[26345]: TexGendv (offset 189) */ + /* _mesa_function_pool[26564]: TexGendv (offset 189) */ "iip\0" "glTexGendv\0" "\0" - /* _mesa_function_pool[26361]: VertexAttribI3iEXT (will be remapped) */ + /* _mesa_function_pool[26580]: VertexAttribI3iEXT (will be remapped) */ "iiii\0" "glVertexAttribI3iEXT\0" "glVertexAttribI3i\0" "\0" - /* _mesa_function_pool[26406]: EnableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[26625]: EnableIndexedEXT (will be remapped) */ "ii\0" "glEnableIndexedEXT\0" "glEnablei\0" "\0" - /* _mesa_function_pool[26439]: TextureMaterialEXT (dynamic) */ + /* _mesa_function_pool[26658]: TextureMaterialEXT (dynamic) */ "ii\0" "glTextureMaterialEXT\0" "\0" - /* _mesa_function_pool[26464]: TextureLightEXT (dynamic) */ + /* _mesa_function_pool[26683]: TextureLightEXT (dynamic) */ "i\0" "glTextureLightEXT\0" "\0" - /* _mesa_function_pool[26485]: ResetMinmax (offset 370) */ + /* _mesa_function_pool[26704]: ResetMinmax (offset 370) */ "i\0" "glResetMinmax\0" "glResetMinmaxEXT\0" "\0" - /* _mesa_function_pool[26519]: SpriteParameterfSGIX (dynamic) */ + /* _mesa_function_pool[26738]: SpriteParameterfSGIX (dynamic) */ "if\0" "glSpriteParameterfSGIX\0" "\0" - /* _mesa_function_pool[26546]: EnableClientState (offset 313) */ + /* _mesa_function_pool[26765]: EnableClientState (offset 313) */ "i\0" "glEnableClientState\0" "\0" - /* _mesa_function_pool[26569]: VertexAttrib4sNV (will be remapped) */ + /* _mesa_function_pool[26788]: VertexAttrib4sNV (will be remapped) */ "iiiii\0" "glVertexAttrib4sNV\0" "\0" - /* _mesa_function_pool[26595]: GetConvolutionParameterfv (offset 357) */ + /* _mesa_function_pool[26814]: GetConvolutionParameterfv (offset 357) */ "iip\0" "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[26659]: VertexAttribs4dvNV (will be remapped) */ + /* _mesa_function_pool[26878]: VertexAttribs4dvNV (will be remapped) */ "iip\0" "glVertexAttribs4dvNV\0" "\0" - /* _mesa_function_pool[26685]: VertexAttrib4dARB (will be remapped) */ + /* _mesa_function_pool[26904]: VertexAttrib4dARB (will be remapped) */ "idddd\0" "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" "\0" - /* _mesa_function_pool[26729]: GetTexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[26948]: GetTexBumpParameterfvATI (will be remapped) */ "ip\0" "glGetTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[26760]: ProgramNamedParameter4dNV (will be remapped) */ + /* _mesa_function_pool[26979]: ProgramNamedParameter4dNV (will be remapped) */ "iipdddd\0" "glProgramNamedParameter4dNV\0" "\0" - /* _mesa_function_pool[26797]: GetMaterialfv (offset 269) */ + /* _mesa_function_pool[27016]: GetMaterialfv (offset 269) */ "iip\0" "glGetMaterialfv\0" "\0" - /* _mesa_function_pool[26818]: VertexWeightfEXT (dynamic) */ + /* _mesa_function_pool[27037]: VertexWeightfEXT (dynamic) */ "f\0" "glVertexWeightfEXT\0" "\0" - /* _mesa_function_pool[26840]: Binormal3fEXT (dynamic) */ + /* _mesa_function_pool[27059]: SetFragmentShaderConstantATI (will be remapped) */ + "ip\0" + "glSetFragmentShaderConstantATI\0" + "\0" + /* _mesa_function_pool[27094]: Binormal3fEXT (dynamic) */ "fff\0" "glBinormal3fEXT\0" "\0" - /* _mesa_function_pool[26861]: CallList (offset 2) */ + /* _mesa_function_pool[27115]: CallList (offset 2) */ "i\0" "glCallList\0" "\0" - /* _mesa_function_pool[26875]: Materialfv (offset 170) */ + /* _mesa_function_pool[27129]: Materialfv (offset 170) */ "iip\0" "glMaterialfv\0" "\0" - /* _mesa_function_pool[26893]: TexCoord3fv (offset 113) */ + /* _mesa_function_pool[27147]: TexCoord3fv (offset 113) */ "p\0" "glTexCoord3fv\0" "\0" - /* _mesa_function_pool[26910]: FogCoordfvEXT (will be remapped) */ + /* _mesa_function_pool[27164]: FogCoordfvEXT (will be remapped) */ "p\0" "glFogCoordfv\0" "glFogCoordfvEXT\0" "\0" - /* _mesa_function_pool[26942]: MultiTexCoord1ivARB (offset 381) */ + /* _mesa_function_pool[27196]: MultiTexCoord1ivARB (offset 381) */ "ip\0" "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" "\0" - /* _mesa_function_pool[26987]: SecondaryColor3ubEXT (will be remapped) */ + /* _mesa_function_pool[27241]: SecondaryColor3ubEXT (will be remapped) */ "iii\0" "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" "\0" - /* _mesa_function_pool[27035]: MultiTexCoord2ivARB (offset 389) */ + /* _mesa_function_pool[27289]: MultiTexCoord2ivARB (offset 389) */ "ip\0" "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" "\0" - /* _mesa_function_pool[27080]: FogFuncSGIS (dynamic) */ + /* _mesa_function_pool[27334]: FogFuncSGIS (dynamic) */ "ip\0" "glFogFuncSGIS\0" "\0" - /* _mesa_function_pool[27098]: CopyTexSubImage2D (offset 326) */ + /* _mesa_function_pool[27352]: CopyTexSubImage2D (offset 326) */ "iiiiiiii\0" "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[27151]: GetObjectParameterivARB (will be remapped) */ + /* _mesa_function_pool[27405]: GetObjectParameterivARB (will be remapped) */ "iip\0" "glGetObjectParameterivARB\0" "\0" - /* _mesa_function_pool[27182]: Color3iv (offset 16) */ + /* _mesa_function_pool[27436]: Color3iv (offset 16) */ "p\0" "glColor3iv\0" "\0" - /* _mesa_function_pool[27196]: TexCoord4fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[27450]: TexCoord4fVertex4fSUN (dynamic) */ "ffffffff\0" "glTexCoord4fVertex4fSUN\0" "\0" - /* _mesa_function_pool[27230]: DrawElements (offset 311) */ + /* _mesa_function_pool[27484]: DrawElements (offset 311) */ "iiip\0" "glDrawElements\0" "\0" - /* _mesa_function_pool[27251]: BindVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[27505]: BindVertexArrayAPPLE (will be remapped) */ "i\0" "glBindVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[27277]: GetProgramLocalParameterdvARB (will be remapped) */ + /* _mesa_function_pool[27531]: GetProgramLocalParameterdvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterdvARB\0" "\0" - /* _mesa_function_pool[27314]: GetHistogramParameteriv (offset 363) */ + /* _mesa_function_pool[27568]: GetHistogramParameteriv (offset 363) */ "iip\0" "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" "\0" - /* _mesa_function_pool[27374]: MultiTexCoord1iARB (offset 380) */ + /* _mesa_function_pool[27628]: MultiTexCoord1iARB (offset 380) */ "ii\0" "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" "\0" - /* _mesa_function_pool[27417]: GetConvolutionFilter (offset 356) */ + /* _mesa_function_pool[27671]: GetConvolutionFilter (offset 356) */ "iiip\0" "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" "\0" - /* _mesa_function_pool[27472]: GetProgramivARB (will be remapped) */ + /* _mesa_function_pool[27726]: GetProgramivARB (will be remapped) */ "iip\0" "glGetProgramivARB\0" "\0" - /* _mesa_function_pool[27495]: BlendFuncSeparateEXT (will be remapped) */ + /* _mesa_function_pool[27749]: BlendFuncSeparateEXT (will be remapped) */ "iiii\0" "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" "glBlendFuncSeparateINGR\0" "\0" - /* _mesa_function_pool[27568]: MapBufferRange (will be remapped) */ + /* _mesa_function_pool[27822]: MapBufferRange (will be remapped) */ "iiii\0" "glMapBufferRange\0" "\0" - /* _mesa_function_pool[27591]: ProgramParameters4dvNV (will be remapped) */ + /* _mesa_function_pool[27845]: ProgramParameters4dvNV (will be remapped) */ "iiip\0" "glProgramParameters4dvNV\0" "\0" - /* _mesa_function_pool[27622]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[27876]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[27659]: EvalPoint2 (offset 239) */ + /* _mesa_function_pool[27913]: EvalPoint2 (offset 239) */ "ii\0" "glEvalPoint2\0" "\0" - /* _mesa_function_pool[27676]: Uniform1uivEXT (will be remapped) */ + /* _mesa_function_pool[27930]: Uniform1uivEXT (will be remapped) */ "iip\0" "glUniform1uivEXT\0" "glUniform1uiv\0" "\0" - /* _mesa_function_pool[27712]: EvalPoint1 (offset 237) */ + /* _mesa_function_pool[27966]: EvalPoint1 (offset 237) */ "i\0" "glEvalPoint1\0" "\0" - /* _mesa_function_pool[27728]: Binormal3dvEXT (dynamic) */ + /* _mesa_function_pool[27982]: Binormal3dvEXT (dynamic) */ "p\0" "glBinormal3dvEXT\0" "\0" - /* _mesa_function_pool[27748]: PopMatrix (offset 297) */ + /* _mesa_function_pool[28002]: PopMatrix (offset 297) */ "\0" "glPopMatrix\0" "\0" - /* _mesa_function_pool[27762]: FinishFenceNV (will be remapped) */ + /* _mesa_function_pool[28016]: FinishFenceNV (will be remapped) */ "i\0" "glFinishFenceNV\0" "\0" - /* _mesa_function_pool[27781]: GetFogFuncSGIS (dynamic) */ + /* _mesa_function_pool[28035]: GetFogFuncSGIS (dynamic) */ "p\0" "glGetFogFuncSGIS\0" "\0" - /* _mesa_function_pool[27801]: GetUniformLocationARB (will be remapped) */ + /* _mesa_function_pool[28055]: GetUniformLocationARB (will be remapped) */ "ip\0" "glGetUniformLocation\0" "glGetUniformLocationARB\0" "\0" - /* _mesa_function_pool[27850]: SecondaryColor3fEXT (will be remapped) */ + /* _mesa_function_pool[28104]: SecondaryColor3fEXT (will be remapped) */ "fff\0" "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" "\0" - /* _mesa_function_pool[27896]: GetTexGeniv (offset 280) */ + /* _mesa_function_pool[28150]: GetTexGeniv (offset 280) */ "iip\0" "glGetTexGeniv\0" "\0" - /* _mesa_function_pool[27915]: CombinerInputNV (will be remapped) */ + /* _mesa_function_pool[28169]: CombinerInputNV (will be remapped) */ "iiiiii\0" "glCombinerInputNV\0" "\0" - /* _mesa_function_pool[27941]: VertexAttrib3sARB (will be remapped) */ + /* _mesa_function_pool[28195]: VertexAttrib3sARB (will be remapped) */ "iiii\0" "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" "\0" - /* _mesa_function_pool[27984]: IsTransformFeedback (will be remapped) */ + /* _mesa_function_pool[28238]: IsTransformFeedback (will be remapped) */ "i\0" "glIsTransformFeedback\0" "\0" - /* _mesa_function_pool[28009]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[28263]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[28054]: Map2d (offset 222) */ + /* _mesa_function_pool[28308]: Map2d (offset 222) */ "iddiiddiip\0" "glMap2d\0" "\0" - /* _mesa_function_pool[28074]: Map2f (offset 223) */ + /* _mesa_function_pool[28328]: Map2f (offset 223) */ "iffiiffiip\0" "glMap2f\0" "\0" - /* _mesa_function_pool[28094]: ProgramStringARB (will be remapped) */ + /* _mesa_function_pool[28348]: ProgramStringARB (will be remapped) */ "iiip\0" "glProgramStringARB\0" "\0" - /* _mesa_function_pool[28119]: Vertex4s (offset 148) */ + /* _mesa_function_pool[28373]: Vertex4s (offset 148) */ "iiii\0" "glVertex4s\0" "\0" - /* _mesa_function_pool[28136]: TexCoord4fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[28390]: TexCoord4fVertex4fvSUN (dynamic) */ "pp\0" "glTexCoord4fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[28165]: FragmentLightModelivSGIX (dynamic) */ + /* _mesa_function_pool[28419]: FragmentLightModelivSGIX (dynamic) */ "ip\0" "glFragmentLightModelivSGIX\0" "\0" - /* _mesa_function_pool[28196]: VertexAttrib1fNV (will be remapped) */ + /* _mesa_function_pool[28450]: VertexAttrib1fNV (will be remapped) */ "if\0" "glVertexAttrib1fNV\0" "\0" - /* _mesa_function_pool[28219]: Vertex4f (offset 144) */ + /* _mesa_function_pool[28473]: Vertex4f (offset 144) */ "ffff\0" "glVertex4f\0" "\0" - /* _mesa_function_pool[28236]: EvalCoord1d (offset 228) */ + /* _mesa_function_pool[28490]: EvalCoord1d (offset 228) */ "d\0" "glEvalCoord1d\0" "\0" - /* _mesa_function_pool[28253]: Vertex4d (offset 142) */ + /* _mesa_function_pool[28507]: Vertex4d (offset 142) */ "dddd\0" "glVertex4d\0" "\0" - /* _mesa_function_pool[28270]: RasterPos4dv (offset 79) */ + /* _mesa_function_pool[28524]: RasterPos4dv (offset 79) */ "p\0" "glRasterPos4dv\0" "\0" - /* _mesa_function_pool[28288]: UseShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[28542]: UseShaderProgramEXT (will be remapped) */ "ii\0" "glUseShaderProgramEXT\0" "\0" - /* _mesa_function_pool[28314]: FragmentLightfSGIX (dynamic) */ + /* _mesa_function_pool[28568]: FragmentLightfSGIX (dynamic) */ "iif\0" "glFragmentLightfSGIX\0" "\0" - /* _mesa_function_pool[28340]: GetCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[28594]: GetCompressedTexImageARB (will be remapped) */ "iip\0" "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[28396]: GetTexGenfv (offset 279) */ + /* _mesa_function_pool[28650]: GetTexGenfv (offset 279) */ "iip\0" "glGetTexGenfv\0" "\0" - /* _mesa_function_pool[28415]: Vertex4i (offset 146) */ + /* _mesa_function_pool[28669]: Vertex4i (offset 146) */ "iiii\0" "glVertex4i\0" "\0" - /* _mesa_function_pool[28432]: VertexWeightPointerEXT (dynamic) */ + /* _mesa_function_pool[28686]: VertexWeightPointerEXT (dynamic) */ "iiip\0" "glVertexWeightPointerEXT\0" "\0" - /* _mesa_function_pool[28463]: GetHistogram (offset 361) */ + /* _mesa_function_pool[28717]: GetHistogram (offset 361) */ "iiiip\0" "glGetHistogram\0" "glGetHistogramEXT\0" "\0" - /* _mesa_function_pool[28503]: ActiveStencilFaceEXT (will be remapped) */ + /* _mesa_function_pool[28757]: ActiveStencilFaceEXT (will be remapped) */ "i\0" "glActiveStencilFaceEXT\0" "\0" - /* _mesa_function_pool[28529]: StencilFuncSeparateATI (will be remapped) */ + /* _mesa_function_pool[28783]: StencilFuncSeparateATI (will be remapped) */ "iiii\0" "glStencilFuncSeparateATI\0" "\0" - /* _mesa_function_pool[28560]: Materialf (offset 169) */ + /* _mesa_function_pool[28814]: Materialf (offset 169) */ "iif\0" "glMaterialf\0" "\0" - /* _mesa_function_pool[28577]: GetShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[28831]: GetShaderSourceARB (will be remapped) */ "iipp\0" "glGetShaderSource\0" "glGetShaderSourceARB\0" "\0" - /* _mesa_function_pool[28622]: IglooInterfaceSGIX (dynamic) */ + /* _mesa_function_pool[28876]: IglooInterfaceSGIX (dynamic) */ "ip\0" "glIglooInterfaceSGIX\0" "\0" - /* _mesa_function_pool[28647]: Materiali (offset 171) */ + /* _mesa_function_pool[28901]: Materiali (offset 171) */ "iii\0" "glMateriali\0" "\0" - /* _mesa_function_pool[28664]: VertexAttrib4dNV (will be remapped) */ + /* _mesa_function_pool[28918]: VertexAttrib4dNV (will be remapped) */ "idddd\0" "glVertexAttrib4dNV\0" "\0" - /* _mesa_function_pool[28690]: MultiModeDrawElementsIBM (will be remapped) */ + /* _mesa_function_pool[28944]: MultiModeDrawElementsIBM (will be remapped) */ "ppipii\0" "glMultiModeDrawElementsIBM\0" "\0" - /* _mesa_function_pool[28725]: Indexsv (offset 51) */ + /* _mesa_function_pool[28979]: Indexsv (offset 51) */ "p\0" "glIndexsv\0" "\0" - /* _mesa_function_pool[28738]: MultiTexCoord4svARB (offset 407) */ + /* _mesa_function_pool[28992]: MultiTexCoord4svARB (offset 407) */ "ip\0" "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" "\0" - /* _mesa_function_pool[28783]: LightModelfv (offset 164) */ + /* _mesa_function_pool[29037]: LightModelfv (offset 164) */ "ip\0" "glLightModelfv\0" "\0" - /* _mesa_function_pool[28802]: TexCoord2dv (offset 103) */ + /* _mesa_function_pool[29056]: TexCoord2dv (offset 103) */ "p\0" "glTexCoord2dv\0" "\0" - /* _mesa_function_pool[28819]: GenQueriesARB (will be remapped) */ + /* _mesa_function_pool[29073]: GenQueriesARB (will be remapped) */ "ip\0" "glGenQueries\0" "glGenQueriesARB\0" "\0" - /* _mesa_function_pool[28852]: EvalCoord1dv (offset 229) */ + /* _mesa_function_pool[29106]: EvalCoord1dv (offset 229) */ "p\0" "glEvalCoord1dv\0" "\0" - /* _mesa_function_pool[28870]: ReplacementCodeuiVertex3fSUN (dynamic) */ + /* _mesa_function_pool[29124]: ReplacementCodeuiVertex3fSUN (dynamic) */ "ifff\0" "glReplacementCodeuiVertex3fSUN\0" "\0" - /* _mesa_function_pool[28907]: Translated (offset 303) */ + /* _mesa_function_pool[29161]: Translated (offset 303) */ "ddd\0" "glTranslated\0" "\0" - /* _mesa_function_pool[28925]: Translatef (offset 304) */ + /* _mesa_function_pool[29179]: Translatef (offset 304) */ "fff\0" "glTranslatef\0" "\0" - /* _mesa_function_pool[28943]: Uniform3uiEXT (will be remapped) */ + /* _mesa_function_pool[29197]: Uniform3uiEXT (will be remapped) */ "iiii\0" "glUniform3uiEXT\0" "glUniform3ui\0" "\0" - /* _mesa_function_pool[28978]: StencilMask (offset 209) */ + /* _mesa_function_pool[29232]: StencilMask (offset 209) */ "i\0" "glStencilMask\0" "\0" - /* _mesa_function_pool[28995]: Tangent3iEXT (dynamic) */ + /* _mesa_function_pool[29249]: Tangent3iEXT (dynamic) */ "iii\0" "glTangent3iEXT\0" "\0" - /* _mesa_function_pool[29015]: GetLightiv (offset 265) */ + /* _mesa_function_pool[29269]: GetLightiv (offset 265) */ "iip\0" "glGetLightiv\0" "\0" - /* _mesa_function_pool[29033]: DrawMeshArraysSUN (dynamic) */ + /* _mesa_function_pool[29287]: DrawMeshArraysSUN (dynamic) */ "iiii\0" "glDrawMeshArraysSUN\0" "\0" - /* _mesa_function_pool[29059]: IsList (offset 287) */ + /* _mesa_function_pool[29313]: IsList (offset 287) */ "i\0" "glIsList\0" "\0" - /* _mesa_function_pool[29071]: IsSync (will be remapped) */ + /* _mesa_function_pool[29325]: IsSync (will be remapped) */ "i\0" "glIsSync\0" "\0" - /* _mesa_function_pool[29083]: RenderMode (offset 196) */ + /* _mesa_function_pool[29337]: RenderMode (offset 196) */ "i\0" "glRenderMode\0" "\0" - /* _mesa_function_pool[29099]: GetMapControlPointsNV (dynamic) */ + /* _mesa_function_pool[29353]: GetMapControlPointsNV (dynamic) */ "iiiiiip\0" "glGetMapControlPointsNV\0" "\0" - /* _mesa_function_pool[29132]: DrawBuffersARB (will be remapped) */ + /* _mesa_function_pool[29386]: DrawBuffersARB (will be remapped) */ "ip\0" "glDrawBuffers\0" "glDrawBuffersARB\0" "glDrawBuffersATI\0" "\0" - /* _mesa_function_pool[29184]: ClearBufferiv (will be remapped) */ + /* _mesa_function_pool[29438]: ClearBufferiv (will be remapped) */ "iip\0" "glClearBufferiv\0" "\0" - /* _mesa_function_pool[29205]: ProgramLocalParameter4fARB (will be remapped) */ + /* _mesa_function_pool[29459]: ProgramLocalParameter4fARB (will be remapped) */ "iiffff\0" "glProgramLocalParameter4fARB\0" "\0" - /* _mesa_function_pool[29242]: SpriteParameterivSGIX (dynamic) */ + /* _mesa_function_pool[29496]: SpriteParameterivSGIX (dynamic) */ "ip\0" "glSpriteParameterivSGIX\0" "\0" - /* _mesa_function_pool[29270]: ProvokingVertexEXT (will be remapped) */ + /* _mesa_function_pool[29524]: ProvokingVertexEXT (will be remapped) */ "i\0" "glProvokingVertexEXT\0" "glProvokingVertex\0" "\0" - /* _mesa_function_pool[29312]: MultiTexCoord1fARB (offset 378) */ + /* _mesa_function_pool[29566]: MultiTexCoord1fARB (offset 378) */ "if\0" "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" "\0" - /* _mesa_function_pool[29355]: LoadName (offset 198) */ + /* _mesa_function_pool[29609]: LoadName (offset 198) */ "i\0" "glLoadName\0" "\0" - /* _mesa_function_pool[29369]: VertexAttribs4ubvNV (will be remapped) */ + /* _mesa_function_pool[29623]: VertexAttribs4ubvNV (will be remapped) */ "iip\0" "glVertexAttribs4ubvNV\0" "\0" - /* _mesa_function_pool[29396]: WeightsvARB (dynamic) */ + /* _mesa_function_pool[29650]: WeightsvARB (dynamic) */ "ip\0" "glWeightsvARB\0" "\0" - /* _mesa_function_pool[29414]: Uniform1fvARB (will be remapped) */ + /* _mesa_function_pool[29668]: Uniform1fvARB (will be remapped) */ "iip\0" "glUniform1fv\0" "glUniform1fvARB\0" "\0" - /* _mesa_function_pool[29448]: CopyTexSubImage1D (offset 325) */ + /* _mesa_function_pool[29702]: CopyTexSubImage1D (offset 325) */ "iiiiii\0" "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[29499]: CullFace (offset 152) */ + /* _mesa_function_pool[29753]: CullFace (offset 152) */ "i\0" "glCullFace\0" "\0" - /* _mesa_function_pool[29513]: BindTexture (offset 307) */ + /* _mesa_function_pool[29767]: BindTexture (offset 307) */ "ii\0" "glBindTexture\0" "glBindTextureEXT\0" "\0" - /* _mesa_function_pool[29548]: BeginFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[29802]: BeginFragmentShaderATI (will be remapped) */ "\0" "glBeginFragmentShaderATI\0" "\0" - /* _mesa_function_pool[29575]: MultiTexCoord4fARB (offset 402) */ + /* _mesa_function_pool[29829]: MultiTexCoord4fARB (offset 402) */ "iffff\0" "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" "\0" - /* _mesa_function_pool[29621]: VertexAttribs3svNV (will be remapped) */ + /* _mesa_function_pool[29875]: VertexAttribs3svNV (will be remapped) */ "iip\0" "glVertexAttribs3svNV\0" "\0" - /* _mesa_function_pool[29647]: StencilFunc (offset 243) */ + /* _mesa_function_pool[29901]: StencilFunc (offset 243) */ "iii\0" "glStencilFunc\0" "\0" - /* _mesa_function_pool[29666]: CopyPixels (offset 255) */ + /* _mesa_function_pool[29920]: CopyPixels (offset 255) */ "iiiii\0" "glCopyPixels\0" "\0" - /* _mesa_function_pool[29686]: Rectsv (offset 93) */ + /* _mesa_function_pool[29940]: Rectsv (offset 93) */ "pp\0" "glRectsv\0" "\0" - /* _mesa_function_pool[29699]: ReplacementCodeuivSUN (dynamic) */ + /* _mesa_function_pool[29953]: ReplacementCodeuivSUN (dynamic) */ "p\0" "glReplacementCodeuivSUN\0" "\0" - /* _mesa_function_pool[29726]: EnableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[29980]: EnableVertexAttribArrayARB (will be remapped) */ "i\0" "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[29784]: NormalPointervINTEL (dynamic) */ + /* _mesa_function_pool[30038]: NormalPointervINTEL (dynamic) */ "ip\0" "glNormalPointervINTEL\0" "\0" - /* _mesa_function_pool[29810]: CopyConvolutionFilter2D (offset 355) */ + /* _mesa_function_pool[30064]: CopyConvolutionFilter2D (offset 355) */ "iiiiii\0" "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[29873]: WindowPos3ivMESA (will be remapped) */ + /* _mesa_function_pool[30127]: WindowPos3ivMESA (will be remapped) */ "p\0" "glWindowPos3iv\0" "glWindowPos3ivARB\0" "glWindowPos3ivMESA\0" "\0" - /* _mesa_function_pool[29928]: CopyBufferSubData (will be remapped) */ + /* _mesa_function_pool[30182]: CopyBufferSubData (will be remapped) */ "iiiii\0" "glCopyBufferSubData\0" "\0" - /* _mesa_function_pool[29955]: NormalPointer (offset 318) */ + /* _mesa_function_pool[30209]: NormalPointer (offset 318) */ "iip\0" "glNormalPointer\0" "\0" - /* _mesa_function_pool[29976]: TexParameterfv (offset 179) */ + /* _mesa_function_pool[30230]: TexParameterfv (offset 179) */ "iip\0" "glTexParameterfv\0" "\0" - /* _mesa_function_pool[29998]: IsBufferARB (will be remapped) */ + /* _mesa_function_pool[30252]: IsBufferARB (will be remapped) */ "i\0" "glIsBuffer\0" "glIsBufferARB\0" "\0" - /* _mesa_function_pool[30026]: WindowPos4iMESA (will be remapped) */ + /* _mesa_function_pool[30280]: WindowPos4iMESA (will be remapped) */ "iiii\0" "glWindowPos4iMESA\0" "\0" - /* _mesa_function_pool[30050]: VertexAttrib4uivARB (will be remapped) */ + /* _mesa_function_pool[30304]: VertexAttrib4uivARB (will be remapped) */ "ip\0" "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" "\0" - /* _mesa_function_pool[30095]: Tangent3bvEXT (dynamic) */ + /* _mesa_function_pool[30349]: Tangent3bvEXT (dynamic) */ "p\0" "glTangent3bvEXT\0" "\0" - /* _mesa_function_pool[30114]: VertexAttribI3uivEXT (will be remapped) */ + /* _mesa_function_pool[30368]: VertexAttribI3uivEXT (will be remapped) */ "ip\0" "glVertexAttribI3uivEXT\0" "glVertexAttribI3uiv\0" "\0" - /* _mesa_function_pool[30161]: UniformMatrix3x4fv (will be remapped) */ + /* _mesa_function_pool[30415]: UniformMatrix3x4fv (will be remapped) */ "iiip\0" "glUniformMatrix3x4fv\0" "\0" - /* _mesa_function_pool[30188]: ClipPlane (offset 150) */ + /* _mesa_function_pool[30442]: ClipPlane (offset 150) */ "ip\0" "glClipPlane\0" "\0" - /* _mesa_function_pool[30204]: Recti (offset 90) */ + /* _mesa_function_pool[30458]: Recti (offset 90) */ "iiii\0" "glRecti\0" "\0" - /* _mesa_function_pool[30218]: VertexAttribI3ivEXT (will be remapped) */ + /* _mesa_function_pool[30472]: VertexAttribI3ivEXT (will be remapped) */ "ip\0" "glVertexAttribI3ivEXT\0" "glVertexAttribI3iv\0" "\0" - /* _mesa_function_pool[30263]: DrawRangeElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[30517]: DrawRangeElementsBaseVertex (will be remapped) */ "iiiiipi\0" "glDrawRangeElementsBaseVertex\0" "\0" - /* _mesa_function_pool[30302]: TexCoordPointervINTEL (dynamic) */ + /* _mesa_function_pool[30556]: TexCoordPointervINTEL (dynamic) */ "iip\0" "glTexCoordPointervINTEL\0" "\0" - /* _mesa_function_pool[30331]: DeleteBuffersARB (will be remapped) */ + /* _mesa_function_pool[30585]: DeleteBuffersARB (will be remapped) */ "ip\0" "glDeleteBuffers\0" "glDeleteBuffersARB\0" "\0" - /* _mesa_function_pool[30370]: PixelTransformParameterfvEXT (dynamic) */ + /* _mesa_function_pool[30624]: PixelTransformParameterfvEXT (dynamic) */ "iip\0" "glPixelTransformParameterfvEXT\0" "\0" - /* _mesa_function_pool[30406]: PrimitiveRestartNV (will be remapped) */ + /* _mesa_function_pool[30660]: PrimitiveRestartNV (will be remapped) */ "\0" "glPrimitiveRestartNV\0" "\0" - /* _mesa_function_pool[30429]: WindowPos4fvMESA (will be remapped) */ + /* _mesa_function_pool[30683]: WindowPos4fvMESA (will be remapped) */ "p\0" "glWindowPos4fvMESA\0" "\0" - /* _mesa_function_pool[30451]: GetPixelMapuiv (offset 272) */ + /* _mesa_function_pool[30705]: GetPixelMapuiv (offset 272) */ "ip\0" "glGetPixelMapuiv\0" "\0" - /* _mesa_function_pool[30472]: Rectf (offset 88) */ + /* _mesa_function_pool[30726]: Rectf (offset 88) */ "ffff\0" "glRectf\0" "\0" - /* _mesa_function_pool[30486]: VertexAttrib1sNV (will be remapped) */ + /* _mesa_function_pool[30740]: VertexAttrib1sNV (will be remapped) */ "ii\0" "glVertexAttrib1sNV\0" "\0" - /* _mesa_function_pool[30509]: Indexfv (offset 47) */ + /* _mesa_function_pool[30763]: Indexfv (offset 47) */ "p\0" "glIndexfv\0" "\0" - /* _mesa_function_pool[30522]: SecondaryColor3svEXT (will be remapped) */ + /* _mesa_function_pool[30776]: SecondaryColor3svEXT (will be remapped) */ "p\0" "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" "\0" - /* _mesa_function_pool[30568]: LoadTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[30822]: LoadTransposeMatrixfARB (will be remapped) */ "p\0" "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[30620]: GetPointerv (offset 329) */ + /* _mesa_function_pool[30874]: GetPointerv (offset 329) */ "ip\0" "glGetPointerv\0" "glGetPointervEXT\0" "\0" - /* _mesa_function_pool[30655]: Tangent3bEXT (dynamic) */ + /* _mesa_function_pool[30909]: Tangent3bEXT (dynamic) */ "iii\0" "glTangent3bEXT\0" "\0" - /* _mesa_function_pool[30675]: CombinerParameterfNV (will be remapped) */ + /* _mesa_function_pool[30929]: CombinerParameterfNV (will be remapped) */ "if\0" "glCombinerParameterfNV\0" "\0" - /* _mesa_function_pool[30702]: IndexMask (offset 212) */ + /* _mesa_function_pool[30956]: IndexMask (offset 212) */ "i\0" "glIndexMask\0" "\0" - /* _mesa_function_pool[30717]: BindProgramNV (will be remapped) */ + /* _mesa_function_pool[30971]: BindProgramNV (will be remapped) */ "ii\0" "glBindProgramARB\0" "glBindProgramNV\0" "\0" - /* _mesa_function_pool[30754]: VertexAttrib4svARB (will be remapped) */ + /* _mesa_function_pool[31008]: VertexAttrib4svARB (will be remapped) */ "ip\0" "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" "\0" - /* _mesa_function_pool[30797]: GetFloatv (offset 262) */ + /* _mesa_function_pool[31051]: GetFloatv (offset 262) */ "ip\0" "glGetFloatv\0" "\0" - /* _mesa_function_pool[30813]: CreateDebugObjectMESA (dynamic) */ + /* _mesa_function_pool[31067]: CreateDebugObjectMESA (dynamic) */ "\0" "glCreateDebugObjectMESA\0" "\0" - /* _mesa_function_pool[30839]: GetShaderiv (will be remapped) */ + /* _mesa_function_pool[31093]: GetShaderiv (will be remapped) */ "iip\0" "glGetShaderiv\0" "\0" - /* _mesa_function_pool[30858]: ClientWaitSync (will be remapped) */ + /* _mesa_function_pool[31112]: ClientWaitSync (will be remapped) */ "iii\0" "glClientWaitSync\0" "\0" - /* _mesa_function_pool[30880]: TexCoord4s (offset 124) */ + /* _mesa_function_pool[31134]: TexCoord4s (offset 124) */ "iiii\0" "glTexCoord4s\0" "\0" - /* _mesa_function_pool[30899]: TexCoord3sv (offset 117) */ + /* _mesa_function_pool[31153]: TexCoord3sv (offset 117) */ "p\0" "glTexCoord3sv\0" "\0" - /* _mesa_function_pool[30916]: BindFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[31170]: BindFragmentShaderATI (will be remapped) */ "i\0" "glBindFragmentShaderATI\0" "\0" - /* _mesa_function_pool[30943]: PopAttrib (offset 218) */ + /* _mesa_function_pool[31197]: PopAttrib (offset 218) */ "\0" "glPopAttrib\0" "\0" - /* _mesa_function_pool[30957]: Fogfv (offset 154) */ + /* _mesa_function_pool[31211]: Fogfv (offset 154) */ "ip\0" "glFogfv\0" "\0" - /* _mesa_function_pool[30969]: UnmapBufferARB (will be remapped) */ + /* _mesa_function_pool[31223]: UnmapBufferARB (will be remapped) */ "i\0" "glUnmapBuffer\0" "glUnmapBufferARB\0" "\0" - /* _mesa_function_pool[31003]: InitNames (offset 197) */ + /* _mesa_function_pool[31257]: InitNames (offset 197) */ "\0" "glInitNames\0" "\0" - /* _mesa_function_pool[31017]: Normal3sv (offset 61) */ + /* _mesa_function_pool[31271]: Normal3sv (offset 61) */ "p\0" "glNormal3sv\0" "\0" - /* _mesa_function_pool[31032]: Minmax (offset 368) */ + /* _mesa_function_pool[31286]: Minmax (offset 368) */ "iii\0" "glMinmax\0" "glMinmaxEXT\0" "\0" - /* _mesa_function_pool[31058]: TexCoord4d (offset 118) */ + /* _mesa_function_pool[31312]: TexCoord4d (offset 118) */ "dddd\0" "glTexCoord4d\0" "\0" - /* _mesa_function_pool[31077]: DeformationMap3dSGIX (dynamic) */ + /* _mesa_function_pool[31331]: DeformationMap3dSGIX (dynamic) */ "iddiiddiiddiip\0" "glDeformationMap3dSGIX\0" "\0" - /* _mesa_function_pool[31116]: TexCoord4f (offset 120) */ + /* _mesa_function_pool[31370]: TexCoord4f (offset 120) */ "ffff\0" "glTexCoord4f\0" "\0" - /* _mesa_function_pool[31135]: FogCoorddvEXT (will be remapped) */ + /* _mesa_function_pool[31389]: FogCoorddvEXT (will be remapped) */ "p\0" "glFogCoorddv\0" "glFogCoorddvEXT\0" "\0" - /* _mesa_function_pool[31167]: FinishTextureSUNX (dynamic) */ + /* _mesa_function_pool[31421]: FinishTextureSUNX (dynamic) */ "\0" "glFinishTextureSUNX\0" "\0" - /* _mesa_function_pool[31189]: GetFragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[31443]: GetFragmentLightfvSGIX (dynamic) */ "iip\0" "glGetFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[31219]: Binormal3fvEXT (dynamic) */ + /* _mesa_function_pool[31473]: Binormal3fvEXT (dynamic) */ "p\0" "glBinormal3fvEXT\0" "\0" - /* _mesa_function_pool[31239]: GetBooleanv (offset 258) */ + /* _mesa_function_pool[31493]: GetBooleanv (offset 258) */ "ip\0" "glGetBooleanv\0" "\0" - /* _mesa_function_pool[31257]: ColorFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[31511]: ColorFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiiii\0" "glColorFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[31294]: Hint (offset 158) */ + /* _mesa_function_pool[31548]: Hint (offset 158) */ "ii\0" "glHint\0" "\0" - /* _mesa_function_pool[31305]: Color4dv (offset 28) */ + /* _mesa_function_pool[31559]: Color4dv (offset 28) */ "p\0" "glColor4dv\0" "\0" - /* _mesa_function_pool[31319]: VertexAttrib2svARB (will be remapped) */ + /* _mesa_function_pool[31573]: VertexAttrib2svARB (will be remapped) */ "ip\0" "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" "\0" - /* _mesa_function_pool[31362]: AreProgramsResidentNV (will be remapped) */ + /* _mesa_function_pool[31616]: AreProgramsResidentNV (will be remapped) */ "ipp\0" "glAreProgramsResidentNV\0" "\0" - /* _mesa_function_pool[31391]: WindowPos3svMESA (will be remapped) */ + /* _mesa_function_pool[31645]: WindowPos3svMESA (will be remapped) */ "p\0" "glWindowPos3sv\0" "glWindowPos3svARB\0" "glWindowPos3svMESA\0" "\0" - /* _mesa_function_pool[31446]: CopyColorSubTable (offset 347) */ + /* _mesa_function_pool[31700]: CopyColorSubTable (offset 347) */ "iiiii\0" "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" "\0" - /* _mesa_function_pool[31496]: WeightdvARB (dynamic) */ + /* _mesa_function_pool[31750]: WeightdvARB (dynamic) */ "ip\0" "glWeightdvARB\0" "\0" - /* _mesa_function_pool[31514]: DeleteRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[31768]: DeleteRenderbuffersEXT (will be remapped) */ "ip\0" "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[31565]: VertexAttrib4NubvARB (will be remapped) */ + /* _mesa_function_pool[31819]: VertexAttrib4NubvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" "\0" - /* _mesa_function_pool[31612]: VertexAttrib3dvNV (will be remapped) */ + /* _mesa_function_pool[31866]: VertexAttrib3dvNV (will be remapped) */ "ip\0" "glVertexAttrib3dvNV\0" "\0" - /* _mesa_function_pool[31636]: GetObjectParameterfvARB (will be remapped) */ + /* _mesa_function_pool[31890]: GetObjectParameterfvARB (will be remapped) */ "iip\0" "glGetObjectParameterfvARB\0" "\0" - /* _mesa_function_pool[31667]: Vertex4iv (offset 147) */ + /* _mesa_function_pool[31921]: Vertex4iv (offset 147) */ "p\0" "glVertex4iv\0" "\0" - /* _mesa_function_pool[31682]: GetProgramEnvParameterdvARB (will be remapped) */ + /* _mesa_function_pool[31936]: GetProgramEnvParameterdvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterdvARB\0" "\0" - /* _mesa_function_pool[31717]: TexCoord4dv (offset 119) */ + /* _mesa_function_pool[31971]: TexCoord4dv (offset 119) */ "p\0" "glTexCoord4dv\0" "\0" - /* _mesa_function_pool[31734]: LockArraysEXT (will be remapped) */ + /* _mesa_function_pool[31988]: LockArraysEXT (will be remapped) */ "ii\0" "glLockArraysEXT\0" "\0" - /* _mesa_function_pool[31754]: Begin (offset 7) */ + /* _mesa_function_pool[32008]: Begin (offset 7) */ "i\0" "glBegin\0" "\0" - /* _mesa_function_pool[31765]: LightModeli (offset 165) */ + /* _mesa_function_pool[32019]: LightModeli (offset 165) */ "ii\0" "glLightModeli\0" "\0" - /* _mesa_function_pool[31783]: VertexAttribI4ivEXT (will be remapped) */ + /* _mesa_function_pool[32037]: VertexAttribI4ivEXT (will be remapped) */ "ip\0" "glVertexAttribI4ivEXT\0" "glVertexAttribI4iv\0" "\0" - /* _mesa_function_pool[31828]: Rectfv (offset 89) */ + /* _mesa_function_pool[32082]: Rectfv (offset 89) */ "pp\0" "glRectfv\0" "\0" - /* _mesa_function_pool[31841]: LightModelf (offset 163) */ + /* _mesa_function_pool[32095]: LightModelf (offset 163) */ "if\0" "glLightModelf\0" "\0" - /* _mesa_function_pool[31859]: GetTexParameterfv (offset 282) */ + /* _mesa_function_pool[32113]: GetTexParameterfv (offset 282) */ "iip\0" "glGetTexParameterfv\0" "\0" - /* _mesa_function_pool[31884]: GetLightfv (offset 264) */ + /* _mesa_function_pool[32138]: GetLightfv (offset 264) */ "iip\0" "glGetLightfv\0" "\0" - /* _mesa_function_pool[31902]: PixelTransformParameterivEXT (dynamic) */ + /* _mesa_function_pool[32156]: PixelTransformParameterivEXT (dynamic) */ "iip\0" "glPixelTransformParameterivEXT\0" "\0" - /* _mesa_function_pool[31938]: BinormalPointerEXT (dynamic) */ + /* _mesa_function_pool[32192]: BinormalPointerEXT (dynamic) */ "iip\0" "glBinormalPointerEXT\0" "\0" - /* _mesa_function_pool[31964]: VertexAttrib1dNV (will be remapped) */ + /* _mesa_function_pool[32218]: VertexAttrib1dNV (will be remapped) */ "id\0" "glVertexAttrib1dNV\0" "\0" - /* _mesa_function_pool[31987]: GetCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[32241]: GetCombinerInputParameterivNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[32026]: Disable (offset 214) */ + /* _mesa_function_pool[32280]: Disable (offset 214) */ "i\0" "glDisable\0" "\0" - /* _mesa_function_pool[32039]: MultiTexCoord2fvARB (offset 387) */ + /* _mesa_function_pool[32293]: MultiTexCoord2fvARB (offset 387) */ "ip\0" "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" "\0" - /* _mesa_function_pool[32084]: GetRenderbufferParameterivEXT (will be remapped) */ + /* _mesa_function_pool[32338]: GetRenderbufferParameterivEXT (will be remapped) */ "iip\0" "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" "\0" - /* _mesa_function_pool[32150]: CombinerParameterivNV (will be remapped) */ + /* _mesa_function_pool[32404]: CombinerParameterivNV (will be remapped) */ "ip\0" "glCombinerParameterivNV\0" "\0" - /* _mesa_function_pool[32178]: GenFragmentShadersATI (will be remapped) */ + /* _mesa_function_pool[32432]: GenFragmentShadersATI (will be remapped) */ "i\0" "glGenFragmentShadersATI\0" "\0" - /* _mesa_function_pool[32205]: DrawArrays (offset 310) */ + /* _mesa_function_pool[32459]: DrawArrays (offset 310) */ "iii\0" "glDrawArrays\0" "glDrawArraysEXT\0" "\0" - /* _mesa_function_pool[32239]: WeightuivARB (dynamic) */ + /* _mesa_function_pool[32493]: WeightuivARB (dynamic) */ "ip\0" "glWeightuivARB\0" "\0" - /* _mesa_function_pool[32258]: VertexAttrib2sARB (will be remapped) */ + /* _mesa_function_pool[32512]: VertexAttrib2sARB (will be remapped) */ "iii\0" "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" "\0" - /* _mesa_function_pool[32300]: ColorMask (offset 210) */ + /* _mesa_function_pool[32554]: ColorMask (offset 210) */ "iiii\0" "glColorMask\0" "\0" - /* _mesa_function_pool[32318]: GenAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[32572]: GenAsyncMarkersSGIX (dynamic) */ "i\0" "glGenAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[32343]: Tangent3svEXT (dynamic) */ + /* _mesa_function_pool[32597]: Tangent3svEXT (dynamic) */ "p\0" "glTangent3svEXT\0" "\0" - /* _mesa_function_pool[32362]: GetListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[32616]: GetListParameterivSGIX (dynamic) */ "iip\0" "glGetListParameterivSGIX\0" "\0" - /* _mesa_function_pool[32392]: BindBufferARB (will be remapped) */ + /* _mesa_function_pool[32646]: BindBufferARB (will be remapped) */ "ii\0" "glBindBuffer\0" "glBindBufferARB\0" "\0" - /* _mesa_function_pool[32425]: GetInfoLogARB (will be remapped) */ + /* _mesa_function_pool[32679]: GetInfoLogARB (will be remapped) */ "iipp\0" "glGetInfoLogARB\0" "\0" - /* _mesa_function_pool[32447]: RasterPos4iv (offset 83) */ + /* _mesa_function_pool[32701]: RasterPos4iv (offset 83) */ "p\0" "glRasterPos4iv\0" "\0" - /* _mesa_function_pool[32465]: Enable (offset 215) */ + /* _mesa_function_pool[32719]: Enable (offset 215) */ "i\0" "glEnable\0" "\0" - /* _mesa_function_pool[32477]: LineStipple (offset 167) */ + /* _mesa_function_pool[32731]: LineStipple (offset 167) */ "ii\0" "glLineStipple\0" "\0" - /* _mesa_function_pool[32495]: VertexAttribs4svNV (will be remapped) */ + /* _mesa_function_pool[32749]: VertexAttribs4svNV (will be remapped) */ "iip\0" "glVertexAttribs4svNV\0" "\0" - /* _mesa_function_pool[32521]: EdgeFlagPointerListIBM (dynamic) */ + /* _mesa_function_pool[32775]: EdgeFlagPointerListIBM (dynamic) */ "ipi\0" "glEdgeFlagPointerListIBM\0" "\0" - /* _mesa_function_pool[32551]: UniformMatrix3x2fv (will be remapped) */ + /* _mesa_function_pool[32805]: UniformMatrix3x2fv (will be remapped) */ "iiip\0" "glUniformMatrix3x2fv\0" "\0" - /* _mesa_function_pool[32578]: GetMinmaxParameterfv (offset 365) */ + /* _mesa_function_pool[32832]: GetMinmaxParameterfv (offset 365) */ "iip\0" "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" "\0" - /* _mesa_function_pool[32632]: VertexAttrib1fvARB (will be remapped) */ + /* _mesa_function_pool[32886]: VertexAttrib1fvARB (will be remapped) */ "ip\0" "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" "\0" - /* _mesa_function_pool[32675]: GenBuffersARB (will be remapped) */ + /* _mesa_function_pool[32929]: GenBuffersARB (will be remapped) */ "ip\0" "glGenBuffers\0" "glGenBuffersARB\0" "\0" - /* _mesa_function_pool[32708]: VertexAttribs1svNV (will be remapped) */ + /* _mesa_function_pool[32962]: VertexAttribs1svNV (will be remapped) */ "iip\0" "glVertexAttribs1svNV\0" "\0" - /* _mesa_function_pool[32734]: Vertex3fv (offset 137) */ + /* _mesa_function_pool[32988]: Vertex3fv (offset 137) */ "p\0" "glVertex3fv\0" "\0" - /* _mesa_function_pool[32749]: GetTexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[33003]: GetTexBumpParameterivATI (will be remapped) */ "ip\0" "glGetTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[32780]: Binormal3bEXT (dynamic) */ + /* _mesa_function_pool[33034]: Binormal3bEXT (dynamic) */ "iii\0" "glBinormal3bEXT\0" "\0" - /* _mesa_function_pool[32801]: FragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[33055]: FragmentMaterialivSGIX (dynamic) */ "iip\0" "glFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[32831]: IsRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[33085]: IsRenderbufferEXT (will be remapped) */ "i\0" "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" "\0" - /* _mesa_function_pool[32871]: GenProgramsNV (will be remapped) */ + /* _mesa_function_pool[33125]: GenProgramsNV (will be remapped) */ "ip\0" "glGenProgramsARB\0" "glGenProgramsNV\0" "\0" - /* _mesa_function_pool[32908]: VertexAttrib4dvNV (will be remapped) */ + /* _mesa_function_pool[33162]: VertexAttrib4dvNV (will be remapped) */ "ip\0" "glVertexAttrib4dvNV\0" "\0" - /* _mesa_function_pool[32932]: EndFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[33186]: EndFragmentShaderATI (will be remapped) */ "\0" "glEndFragmentShaderATI\0" "\0" - /* _mesa_function_pool[32957]: Binormal3iEXT (dynamic) */ + /* _mesa_function_pool[33211]: Binormal3iEXT (dynamic) */ "iii\0" "glBinormal3iEXT\0" "\0" - /* _mesa_function_pool[32978]: WindowPos2fMESA (will be remapped) */ + /* _mesa_function_pool[33232]: WindowPos2fMESA (will be remapped) */ "ff\0" "glWindowPos2f\0" "glWindowPos2fARB\0" @@ -4740,478 +4780,488 @@ static const char _mesa_function_pool[] = /* these functions need to be remapped */ static const struct gl_function_pool_remap MESA_remap_table_functions[] = { { 1577, AttachShader_remap_index }, - { 9902, CreateProgram_remap_index }, - { 22864, CreateShader_remap_index }, - { 25322, DeleteProgram_remap_index }, - { 18525, DeleteShader_remap_index }, - { 23336, DetachShader_remap_index }, - { 17928, GetAttachedShaders_remap_index }, + { 9906, CreateProgram_remap_index }, + { 23021, CreateShader_remap_index }, + { 25508, DeleteProgram_remap_index }, + { 18665, DeleteShader_remap_index }, + { 23522, DetachShader_remap_index }, + { 18068, GetAttachedShaders_remap_index }, { 4869, GetProgramInfoLog_remap_index }, { 405, GetProgramiv_remap_index }, { 6542, GetShaderInfoLog_remap_index }, - { 30839, GetShaderiv_remap_index }, - { 13311, IsProgram_remap_index }, - { 12263, IsShader_remap_index }, - { 10006, StencilFuncSeparate_remap_index }, + { 31093, GetShaderiv_remap_index }, + { 13361, IsProgram_remap_index }, + { 12282, IsShader_remap_index }, + { 10036, StencilFuncSeparate_remap_index }, { 3921, StencilMaskSeparate_remap_index }, - { 7624, StencilOpSeparate_remap_index }, - { 22152, UniformMatrix2x3fv_remap_index }, + { 7607, StencilOpSeparate_remap_index }, + { 22309, UniformMatrix2x3fv_remap_index }, { 2847, UniformMatrix2x4fv_remap_index }, - { 32551, UniformMatrix3x2fv_remap_index }, - { 30161, UniformMatrix3x4fv_remap_index }, - { 16226, UniformMatrix4x2fv_remap_index }, + { 32805, UniformMatrix3x2fv_remap_index }, + { 30415, UniformMatrix3x4fv_remap_index }, + { 16309, UniformMatrix4x2fv_remap_index }, { 3263, UniformMatrix4x3fv_remap_index }, { 5030, ClampColor_remap_index }, - { 17982, ClearBufferfi_remap_index }, - { 17448, ClearBufferfv_remap_index }, - { 29184, ClearBufferiv_remap_index }, - { 13516, ClearBufferuiv_remap_index }, - { 19808, GetStringi_remap_index }, + { 18122, ClearBufferfi_remap_index }, + { 17564, ClearBufferfv_remap_index }, + { 29438, ClearBufferiv_remap_index }, + { 13566, ClearBufferuiv_remap_index }, + { 19948, GetStringi_remap_index }, { 2788, TexBuffer_remap_index }, { 938, FramebufferTexture_remap_index }, - { 26315, GetBufferParameteri64v_remap_index }, - { 10106, GetInteger64i_v_remap_index }, - { 23178, VertexAttribDivisor_remap_index }, - { 9920, LoadTransposeMatrixdARB_remap_index }, - { 30568, LoadTransposeMatrixfARB_remap_index }, + { 26534, GetBufferParameteri64v_remap_index }, + { 10136, GetInteger64i_v_remap_index }, + { 23335, VertexAttribDivisor_remap_index }, + { 9924, LoadTransposeMatrixdARB_remap_index }, + { 30822, LoadTransposeMatrixfARB_remap_index }, { 5608, MultTransposeMatrixdARB_remap_index }, - { 23523, MultTransposeMatrixfARB_remap_index }, + { 23709, MultTransposeMatrixfARB_remap_index }, { 216, SampleCoverageARB_remap_index }, { 5834, CompressedTexImage1DARB_remap_index }, - { 24051, CompressedTexImage2DARB_remap_index }, + { 24237, CompressedTexImage2DARB_remap_index }, { 3984, CompressedTexImage3DARB_remap_index }, - { 18242, CompressedTexSubImage1DARB_remap_index }, + { 18382, CompressedTexSubImage1DARB_remap_index }, { 2050, CompressedTexSubImage2DARB_remap_index }, - { 20230, CompressedTexSubImage3DARB_remap_index }, - { 28340, GetCompressedTexImageARB_remap_index }, + { 20370, CompressedTexSubImage3DARB_remap_index }, + { 28594, GetCompressedTexImageARB_remap_index }, { 3829, DisableVertexAttribArrayARB_remap_index }, - { 29726, EnableVertexAttribArrayARB_remap_index }, - { 31682, GetProgramEnvParameterdvARB_remap_index }, - { 23403, GetProgramEnvParameterfvARB_remap_index }, - { 27277, GetProgramLocalParameterdvARB_remap_index }, - { 8066, GetProgramLocalParameterfvARB_remap_index }, - { 18376, GetProgramStringARB_remap_index }, - { 27472, GetProgramivARB_remap_index }, - { 20425, GetVertexAttribdvARB_remap_index }, - { 16034, GetVertexAttribfvARB_remap_index }, - { 9765, GetVertexAttribivARB_remap_index }, - { 19289, ProgramEnvParameter4dARB_remap_index }, - { 25072, ProgramEnvParameter4dvARB_remap_index }, - { 16770, ProgramEnvParameter4fARB_remap_index }, - { 8965, ProgramEnvParameter4fvARB_remap_index }, + { 29980, EnableVertexAttribArrayARB_remap_index }, + { 31936, GetProgramEnvParameterdvARB_remap_index }, + { 23589, GetProgramEnvParameterfvARB_remap_index }, + { 27531, GetProgramLocalParameterdvARB_remap_index }, + { 8049, GetProgramLocalParameterfvARB_remap_index }, + { 18516, GetProgramStringARB_remap_index }, + { 27726, GetProgramivARB_remap_index }, + { 20565, GetVertexAttribdvARB_remap_index }, + { 16117, GetVertexAttribfvARB_remap_index }, + { 9748, GetVertexAttribivARB_remap_index }, + { 19429, ProgramEnvParameter4dARB_remap_index }, + { 25258, ProgramEnvParameter4dvARB_remap_index }, + { 16886, ProgramEnvParameter4fARB_remap_index }, + { 8948, ProgramEnvParameter4fvARB_remap_index }, { 3947, ProgramLocalParameter4dARB_remap_index }, - { 13021, ProgramLocalParameter4dvARB_remap_index }, - { 29205, ProgramLocalParameter4fARB_remap_index }, - { 25675, ProgramLocalParameter4fvARB_remap_index }, - { 28094, ProgramStringARB_remap_index }, - { 19539, VertexAttrib1dARB_remap_index }, - { 15688, VertexAttrib1dvARB_remap_index }, + { 13071, ProgramLocalParameter4dvARB_remap_index }, + { 29459, ProgramLocalParameter4fARB_remap_index }, + { 25894, ProgramLocalParameter4fvARB_remap_index }, + { 28348, ProgramStringARB_remap_index }, + { 19679, VertexAttrib1dARB_remap_index }, + { 15771, VertexAttrib1dvARB_remap_index }, { 4122, VertexAttrib1fARB_remap_index }, - { 32632, VertexAttrib1fvARB_remap_index }, - { 7150, VertexAttrib1sARB_remap_index }, + { 32886, VertexAttrib1fvARB_remap_index }, + { 7133, VertexAttrib1sARB_remap_index }, { 2224, VertexAttrib1svARB_remap_index }, - { 15119, VertexAttrib2dARB_remap_index }, - { 17469, VertexAttrib2dvARB_remap_index }, + { 15202, VertexAttrib2dARB_remap_index }, + { 17585, VertexAttrib2dvARB_remap_index }, { 1596, VertexAttrib2fARB_remap_index }, - { 17582, VertexAttrib2fvARB_remap_index }, - { 32258, VertexAttrib2sARB_remap_index }, - { 31319, VertexAttrib2svARB_remap_index }, - { 11268, VertexAttrib3dARB_remap_index }, - { 8632, VertexAttrib3dvARB_remap_index }, + { 17698, VertexAttrib2fvARB_remap_index }, + { 32512, VertexAttrib2sARB_remap_index }, + { 31573, VertexAttrib2svARB_remap_index }, + { 11287, VertexAttrib3dARB_remap_index }, + { 8615, VertexAttrib3dvARB_remap_index }, { 1683, VertexAttrib3fARB_remap_index }, - { 22415, VertexAttrib3fvARB_remap_index }, - { 27941, VertexAttrib3sARB_remap_index }, - { 20167, VertexAttrib3svARB_remap_index }, + { 22572, VertexAttrib3fvARB_remap_index }, + { 28195, VertexAttrib3sARB_remap_index }, + { 20307, VertexAttrib3svARB_remap_index }, { 4895, VertexAttrib4NbvARB_remap_index }, - { 17805, VertexAttrib4NivARB_remap_index }, - { 22370, VertexAttrib4NsvARB_remap_index }, - { 23355, VertexAttrib4NubARB_remap_index }, - { 31565, VertexAttrib4NubvARB_remap_index }, - { 18950, VertexAttrib4NuivARB_remap_index }, + { 17945, VertexAttrib4NivARB_remap_index }, + { 22527, VertexAttrib4NsvARB_remap_index }, + { 23541, VertexAttrib4NubARB_remap_index }, + { 31819, VertexAttrib4NubvARB_remap_index }, + { 19090, VertexAttrib4NuivARB_remap_index }, { 3136, VertexAttrib4NusvARB_remap_index }, - { 10846, VertexAttrib4bvARB_remap_index }, - { 26685, VertexAttrib4dARB_remap_index }, - { 21189, VertexAttrib4dvARB_remap_index }, - { 11422, VertexAttrib4fARB_remap_index }, - { 11826, VertexAttrib4fvARB_remap_index }, - { 10222, VertexAttrib4ivARB_remap_index }, - { 17262, VertexAttrib4sARB_remap_index }, - { 30754, VertexAttrib4svARB_remap_index }, - { 16575, VertexAttrib4ubvARB_remap_index }, - { 30050, VertexAttrib4uivARB_remap_index }, - { 19978, VertexAttrib4usvARB_remap_index }, - { 21967, VertexAttribPointerARB_remap_index }, - { 32392, BindBufferARB_remap_index }, - { 6857, BufferDataARB_remap_index }, + { 10876, VertexAttrib4bvARB_remap_index }, + { 26904, VertexAttrib4dARB_remap_index }, + { 21329, VertexAttrib4dvARB_remap_index }, + { 11441, VertexAttrib4fARB_remap_index }, + { 11845, VertexAttrib4fvARB_remap_index }, + { 10252, VertexAttrib4ivARB_remap_index }, + { 17378, VertexAttrib4sARB_remap_index }, + { 31008, VertexAttrib4svARB_remap_index }, + { 16691, VertexAttrib4ubvARB_remap_index }, + { 30304, VertexAttrib4uivARB_remap_index }, + { 20118, VertexAttrib4usvARB_remap_index }, + { 22124, VertexAttribPointerARB_remap_index }, + { 32646, BindBufferARB_remap_index }, + { 6840, BufferDataARB_remap_index }, { 1498, BufferSubDataARB_remap_index }, - { 30331, DeleteBuffersARB_remap_index }, - { 32675, GenBuffersARB_remap_index }, - { 17625, GetBufferParameterivARB_remap_index }, - { 16722, GetBufferPointervARB_remap_index }, + { 30585, DeleteBuffersARB_remap_index }, + { 32929, GenBuffersARB_remap_index }, + { 17741, GetBufferParameterivARB_remap_index }, + { 16838, GetBufferPointervARB_remap_index }, { 1451, GetBufferSubDataARB_remap_index }, - { 29998, IsBufferARB_remap_index }, - { 26159, MapBufferARB_remap_index }, - { 30969, UnmapBufferARB_remap_index }, + { 30252, IsBufferARB_remap_index }, + { 26378, MapBufferARB_remap_index }, + { 31223, UnmapBufferARB_remap_index }, { 312, BeginQueryARB_remap_index }, - { 19634, DeleteQueriesARB_remap_index }, - { 12153, EndQueryARB_remap_index }, - { 28819, GenQueriesARB_remap_index }, + { 19774, DeleteQueriesARB_remap_index }, + { 12172, EndQueryARB_remap_index }, + { 29073, GenQueriesARB_remap_index }, { 1942, GetQueryObjectivARB_remap_index }, - { 17306, GetQueryObjectuivARB_remap_index }, + { 17422, GetQueryObjectuivARB_remap_index }, { 1740, GetQueryivARB_remap_index }, - { 19885, IsQueryARB_remap_index }, - { 8242, AttachObjectARB_remap_index }, - { 18487, CompileShaderARB_remap_index }, + { 20025, IsQueryARB_remap_index }, + { 8225, AttachObjectARB_remap_index }, + { 18627, CompileShaderARB_remap_index }, { 3205, CreateProgramObjectARB_remap_index }, - { 6802, CreateShaderObjectARB_remap_index }, - { 14454, DeleteObjectARB_remap_index }, - { 23842, DetachObjectARB_remap_index }, - { 11898, GetActiveUniformARB_remap_index }, - { 9440, GetAttachedObjectsARB_remap_index }, - { 9747, GetHandleARB_remap_index }, - { 32425, GetInfoLogARB_remap_index }, - { 31636, GetObjectParameterfvARB_remap_index }, - { 27151, GetObjectParameterivARB_remap_index }, - { 28577, GetShaderSourceARB_remap_index }, - { 27801, GetUniformLocationARB_remap_index }, - { 23625, GetUniformfvARB_remap_index }, - { 12596, GetUniformivARB_remap_index }, - { 20023, LinkProgramARB_remap_index }, - { 20081, ShaderSourceARB_remap_index }, - { 7524, Uniform1fARB_remap_index }, - { 29414, Uniform1fvARB_remap_index }, - { 21936, Uniform1iARB_remap_index }, - { 20878, Uniform1ivARB_remap_index }, + { 6785, CreateShaderObjectARB_remap_index }, + { 14504, DeleteObjectARB_remap_index }, + { 24028, DetachObjectARB_remap_index }, + { 11917, GetActiveUniformARB_remap_index }, + { 9423, GetAttachedObjectsARB_remap_index }, + { 9730, GetHandleARB_remap_index }, + { 32679, GetInfoLogARB_remap_index }, + { 31890, GetObjectParameterfvARB_remap_index }, + { 27405, GetObjectParameterivARB_remap_index }, + { 28831, GetShaderSourceARB_remap_index }, + { 28055, GetUniformLocationARB_remap_index }, + { 23811, GetUniformfvARB_remap_index }, + { 12646, GetUniformivARB_remap_index }, + { 20163, LinkProgramARB_remap_index }, + { 20221, ShaderSourceARB_remap_index }, + { 7507, Uniform1fARB_remap_index }, + { 29668, Uniform1fvARB_remap_index }, + { 22093, Uniform1iARB_remap_index }, + { 21018, Uniform1ivARB_remap_index }, { 2173, Uniform2fARB_remap_index }, - { 14290, Uniform2fvARB_remap_index }, - { 26046, Uniform2iARB_remap_index }, + { 14340, Uniform2fvARB_remap_index }, + { 26265, Uniform2iARB_remap_index }, { 2293, Uniform2ivARB_remap_index }, - { 18597, Uniform3fARB_remap_index }, - { 9470, Uniform3fvARB_remap_index }, + { 18737, Uniform3fARB_remap_index }, + { 9453, Uniform3fvARB_remap_index }, { 6396, Uniform3iARB_remap_index }, - { 16828, Uniform3ivARB_remap_index }, - { 19095, Uniform4fARB_remap_index }, - { 23489, Uniform4fvARB_remap_index }, - { 24751, Uniform4iARB_remap_index }, - { 20391, Uniform4ivARB_remap_index }, - { 8294, UniformMatrix2fvARB_remap_index }, + { 16944, Uniform3ivARB_remap_index }, + { 19235, Uniform4fARB_remap_index }, + { 23675, Uniform4fvARB_remap_index }, + { 24937, Uniform4iARB_remap_index }, + { 20531, Uniform4ivARB_remap_index }, + { 8277, UniformMatrix2fvARB_remap_index }, { 17, UniformMatrix3fvARB_remap_index }, { 2690, UniformMatrix4fvARB_remap_index }, - { 25184, UseProgramObjectARB_remap_index }, - { 14807, ValidateProgramARB_remap_index }, - { 21232, BindAttribLocationARB_remap_index }, + { 25370, UseProgramObjectARB_remap_index }, + { 14890, ValidateProgramARB_remap_index }, + { 21372, BindAttribLocationARB_remap_index }, { 4940, GetActiveAttribARB_remap_index }, - { 16509, GetAttribLocationARB_remap_index }, - { 29132, DrawBuffersARB_remap_index }, - { 17850, DrawArraysInstancedARB_remap_index }, + { 16592, GetAttribLocationARB_remap_index }, + { 29386, DrawBuffersARB_remap_index }, + { 17990, DrawArraysInstancedARB_remap_index }, { 6457, DrawElementsInstancedARB_remap_index }, - { 13126, RenderbufferStorageMultisample_remap_index }, - { 13597, FramebufferTextureARB_remap_index }, - { 25577, FramebufferTextureFaceARB_remap_index }, - { 23991, ProgramParameteriARB_remap_index }, - { 19143, FlushMappedBufferRange_remap_index }, - { 27568, MapBufferRange_remap_index }, - { 16337, BindVertexArray_remap_index }, - { 14630, GenVertexArrays_remap_index }, - { 29928, CopyBufferSubData_remap_index }, - { 30858, ClientWaitSync_remap_index }, + { 13176, RenderbufferStorageMultisample_remap_index }, + { 13647, FramebufferTextureARB_remap_index }, + { 25796, FramebufferTextureFaceARB_remap_index }, + { 24177, ProgramParameteriARB_remap_index }, + { 23493, VertexAttribDivisorARB_remap_index }, + { 19283, FlushMappedBufferRange_remap_index }, + { 27822, MapBufferRange_remap_index }, + { 16420, BindVertexArray_remap_index }, + { 14713, GenVertexArrays_remap_index }, + { 30182, CopyBufferSubData_remap_index }, + { 31112, ClientWaitSync_remap_index }, { 2609, DeleteSync_remap_index }, - { 7191, FenceSync_remap_index }, - { 15178, GetInteger64v_remap_index }, - { 22477, GetSynciv_remap_index }, - { 29071, IsSync_remap_index }, - { 9388, WaitSync_remap_index }, + { 7174, FenceSync_remap_index }, + { 15261, GetInteger64v_remap_index }, + { 22634, GetSynciv_remap_index }, + { 29325, IsSync_remap_index }, + { 9371, WaitSync_remap_index }, { 3797, DrawElementsBaseVertex_remap_index }, - { 30263, DrawRangeElementsBaseVertex_remap_index }, - { 26190, MultiDrawElementsBaseVertex_remap_index }, + { 30517, DrawRangeElementsBaseVertex_remap_index }, + { 26409, MultiDrawElementsBaseVertex_remap_index }, + { 16658, BlendEquationSeparateiARB_remap_index }, + { 17834, BlendEquationiARB_remap_index }, + { 12615, BlendFuncSeparateiARB_remap_index }, + { 9796, BlendFunciARB_remap_index }, { 5091, BindTransformFeedback_remap_index }, { 3232, DeleteTransformFeedbacks_remap_index }, { 6429, DrawTransformFeedback_remap_index }, - { 9607, GenTransformFeedbacks_remap_index }, - { 27984, IsTransformFeedback_remap_index }, - { 25770, PauseTransformFeedback_remap_index }, + { 9590, GenTransformFeedbacks_remap_index }, + { 28238, IsTransformFeedback_remap_index }, + { 25989, PauseTransformFeedback_remap_index }, { 5528, ResumeTransformFeedback_remap_index }, + { 21692, ClearDepthf_remap_index }, + { 6733, DepthRangef_remap_index }, + { 14525, GetShaderPrecisionFormat_remap_index }, + { 9976, ReleaseShaderCompiler_remap_index }, + { 10919, ShaderBinary_remap_index }, { 5396, PolygonOffsetEXT_remap_index }, - { 23099, GetPixelTexGenParameterfvSGIS_remap_index }, + { 23256, GetPixelTexGenParameterfvSGIS_remap_index }, { 4417, GetPixelTexGenParameterivSGIS_remap_index }, - { 22832, PixelTexGenParameterfSGIS_remap_index }, + { 22989, PixelTexGenParameterfSGIS_remap_index }, { 624, PixelTexGenParameterfvSGIS_remap_index }, - { 12634, PixelTexGenParameteriSGIS_remap_index }, - { 13771, PixelTexGenParameterivSGIS_remap_index }, - { 16425, SampleMaskSGIS_remap_index }, - { 19825, SamplePatternSGIS_remap_index }, - { 26119, ColorPointerEXT_remap_index }, - { 17512, EdgeFlagPointerEXT_remap_index }, + { 12684, PixelTexGenParameteriSGIS_remap_index }, + { 13821, PixelTexGenParameterivSGIS_remap_index }, + { 16508, SampleMaskSGIS_remap_index }, + { 19965, SamplePatternSGIS_remap_index }, + { 26338, ColorPointerEXT_remap_index }, + { 17628, EdgeFlagPointerEXT_remap_index }, { 6050, IndexPointerEXT_remap_index }, { 6130, NormalPointerEXT_remap_index }, - { 15772, TexCoordPointerEXT_remap_index }, - { 6980, VertexPointerEXT_remap_index }, + { 15855, TexCoordPointerEXT_remap_index }, + { 6963, VertexPointerEXT_remap_index }, { 3599, PointParameterfEXT_remap_index }, - { 7831, PointParameterfvEXT_remap_index }, - { 31734, LockArraysEXT_remap_index }, - { 14871, UnlockArraysEXT_remap_index }, + { 7814, PointParameterfvEXT_remap_index }, + { 31988, LockArraysEXT_remap_index }, + { 14954, UnlockArraysEXT_remap_index }, { 1267, SecondaryColor3bEXT_remap_index }, - { 7990, SecondaryColor3bvEXT_remap_index }, - { 10399, SecondaryColor3dEXT_remap_index }, - { 25380, SecondaryColor3dvEXT_remap_index }, - { 27850, SecondaryColor3fEXT_remap_index }, - { 18178, SecondaryColor3fvEXT_remap_index }, + { 7973, SecondaryColor3bvEXT_remap_index }, + { 10429, SecondaryColor3dEXT_remap_index }, + { 25566, SecondaryColor3dvEXT_remap_index }, + { 28104, SecondaryColor3fEXT_remap_index }, + { 18318, SecondaryColor3fvEXT_remap_index }, { 470, SecondaryColor3iEXT_remap_index }, - { 16082, SecondaryColor3ivEXT_remap_index }, - { 10034, SecondaryColor3sEXT_remap_index }, - { 30522, SecondaryColor3svEXT_remap_index }, - { 26987, SecondaryColor3ubEXT_remap_index }, - { 21123, SecondaryColor3ubvEXT_remap_index }, - { 12876, SecondaryColor3uiEXT_remap_index }, - { 22719, SecondaryColor3uivEXT_remap_index }, - { 25627, SecondaryColor3usEXT_remap_index }, - { 12949, SecondaryColor3usvEXT_remap_index }, - { 11769, SecondaryColorPointerEXT_remap_index }, - { 25441, MultiDrawArraysEXT_remap_index }, - { 20813, MultiDrawElementsEXT_remap_index }, - { 21008, FogCoordPointerEXT_remap_index }, + { 16165, SecondaryColor3ivEXT_remap_index }, + { 10064, SecondaryColor3sEXT_remap_index }, + { 30776, SecondaryColor3svEXT_remap_index }, + { 27241, SecondaryColor3ubEXT_remap_index }, + { 21263, SecondaryColor3ubvEXT_remap_index }, + { 12926, SecondaryColor3uiEXT_remap_index }, + { 22876, SecondaryColor3uivEXT_remap_index }, + { 25846, SecondaryColor3usEXT_remap_index }, + { 12999, SecondaryColor3usvEXT_remap_index }, + { 11788, SecondaryColorPointerEXT_remap_index }, + { 25660, MultiDrawArraysEXT_remap_index }, + { 20953, MultiDrawElementsEXT_remap_index }, + { 21148, FogCoordPointerEXT_remap_index }, { 4566, FogCoorddEXT_remap_index }, - { 31135, FogCoorddvEXT_remap_index }, + { 31389, FogCoorddvEXT_remap_index }, { 4683, FogCoordfEXT_remap_index }, - { 26910, FogCoordfvEXT_remap_index }, - { 19047, PixelTexGenSGIX_remap_index }, - { 27495, BlendFuncSeparateEXT_remap_index }, - { 6892, FlushVertexArrayRangeNV_remap_index }, + { 27164, FogCoordfvEXT_remap_index }, + { 19187, PixelTexGenSGIX_remap_index }, + { 27749, BlendFuncSeparateEXT_remap_index }, + { 6875, FlushVertexArrayRangeNV_remap_index }, { 5345, VertexArrayRangeNV_remap_index }, - { 27915, CombinerInputNV_remap_index }, + { 28169, CombinerInputNV_remap_index }, { 2116, CombinerOutputNV_remap_index }, - { 30675, CombinerParameterfNV_remap_index }, + { 30929, CombinerParameterfNV_remap_index }, { 5219, CombinerParameterfvNV_remap_index }, - { 22201, CombinerParameteriNV_remap_index }, - { 32150, CombinerParameterivNV_remap_index }, - { 7268, FinalCombinerInputNV_remap_index }, - { 9813, GetCombinerInputParameterfvNV_remap_index }, - { 31987, GetCombinerInputParameterivNV_remap_index }, - { 13872, GetCombinerOutputParameterfvNV_remap_index }, - { 13700, GetCombinerOutputParameterivNV_remap_index }, + { 22358, CombinerParameteriNV_remap_index }, + { 32404, CombinerParameterivNV_remap_index }, + { 7251, FinalCombinerInputNV_remap_index }, + { 9817, GetCombinerInputParameterfvNV_remap_index }, + { 32241, GetCombinerInputParameterivNV_remap_index }, + { 13922, GetCombinerOutputParameterfvNV_remap_index }, + { 13750, GetCombinerOutputParameterivNV_remap_index }, { 6637, GetFinalCombinerInputParameterfvNV_remap_index }, - { 24623, GetFinalCombinerInputParameterivNV_remap_index }, - { 12574, ResizeBuffersMESA_remap_index }, - { 11095, WindowPos2dMESA_remap_index }, + { 24809, GetFinalCombinerInputParameterivNV_remap_index }, + { 12593, ResizeBuffersMESA_remap_index }, + { 11114, WindowPos2dMESA_remap_index }, { 1060, WindowPos2dvMESA_remap_index }, - { 32978, WindowPos2fMESA_remap_index }, - { 7935, WindowPos2fvMESA_remap_index }, - { 18125, WindowPos2iMESA_remap_index }, - { 20298, WindowPos2ivMESA_remap_index }, - { 20912, WindowPos2sMESA_remap_index }, + { 33232, WindowPos2fMESA_remap_index }, + { 7918, WindowPos2fvMESA_remap_index }, + { 18265, WindowPos2iMESA_remap_index }, + { 20438, WindowPos2ivMESA_remap_index }, + { 21052, WindowPos2sMESA_remap_index }, { 5748, WindowPos2svMESA_remap_index }, - { 7760, WindowPos3dMESA_remap_index }, - { 14018, WindowPos3dvMESA_remap_index }, + { 7743, WindowPos3dMESA_remap_index }, + { 14068, WindowPos3dvMESA_remap_index }, { 516, WindowPos3fMESA_remap_index }, - { 14932, WindowPos3fvMESA_remap_index }, - { 23884, WindowPos3iMESA_remap_index }, - { 29873, WindowPos3ivMESA_remap_index }, - { 18742, WindowPos3sMESA_remap_index }, - { 31391, WindowPos3svMESA_remap_index }, - { 11046, WindowPos4dMESA_remap_index }, - { 16966, WindowPos4dvMESA_remap_index }, - { 13977, WindowPos4fMESA_remap_index }, - { 30429, WindowPos4fvMESA_remap_index }, - { 30026, WindowPos4iMESA_remap_index }, - { 12377, WindowPos4ivMESA_remap_index }, - { 18926, WindowPos4sMESA_remap_index }, + { 15015, WindowPos3fvMESA_remap_index }, + { 24070, WindowPos3iMESA_remap_index }, + { 30127, WindowPos3ivMESA_remap_index }, + { 18882, WindowPos3sMESA_remap_index }, + { 31645, WindowPos3svMESA_remap_index }, + { 11065, WindowPos4dMESA_remap_index }, + { 17082, WindowPos4dvMESA_remap_index }, + { 14027, WindowPos4fMESA_remap_index }, + { 30683, WindowPos4fvMESA_remap_index }, + { 30280, WindowPos4iMESA_remap_index }, + { 12396, WindowPos4ivMESA_remap_index }, + { 19066, WindowPos4sMESA_remap_index }, { 3183, WindowPos4svMESA_remap_index }, - { 13739, MultiModeDrawArraysIBM_remap_index }, - { 28690, MultiModeDrawElementsIBM_remap_index }, - { 12181, DeleteFencesNV_remap_index }, - { 27762, FinishFenceNV_remap_index }, + { 13789, MultiModeDrawArraysIBM_remap_index }, + { 28944, MultiModeDrawElementsIBM_remap_index }, + { 12200, DeleteFencesNV_remap_index }, + { 28016, FinishFenceNV_remap_index }, { 3721, GenFencesNV_remap_index }, - { 16946, GetFenceivNV_remap_index }, - { 8227, IsFenceNV_remap_index }, - { 13627, SetFenceNV_remap_index }, + { 17062, GetFenceivNV_remap_index }, + { 8210, IsFenceNV_remap_index }, + { 13677, SetFenceNV_remap_index }, { 4178, TestFenceNV_remap_index }, - { 31362, AreProgramsResidentNV_remap_index }, - { 30717, BindProgramNV_remap_index }, - { 25710, DeleteProgramsNV_remap_index }, - { 21341, ExecuteProgramNV_remap_index }, - { 32871, GenProgramsNV_remap_index }, - { 23204, GetProgramParameterdvNV_remap_index }, - { 10461, GetProgramParameterfvNV_remap_index }, - { 26093, GetProgramStringNV_remap_index }, - { 24261, GetProgramivNV_remap_index }, - { 23438, GetTrackMatrixivNV_remap_index }, - { 25887, GetVertexAttribPointervNV_remap_index }, - { 24556, GetVertexAttribdvNV_remap_index }, - { 9283, GetVertexAttribfvNV_remap_index }, - { 18349, GetVertexAttribivNV_remap_index }, - { 19173, IsProgramNV_remap_index }, - { 9366, LoadProgramNV_remap_index }, - { 27591, ProgramParameters4dvNV_remap_index }, - { 24191, ProgramParameters4fvNV_remap_index }, - { 20602, RequestResidentProgramsNV_remap_index }, - { 22179, TrackMatrixNV_remap_index }, - { 31964, VertexAttrib1dNV_remap_index }, - { 13538, VertexAttrib1dvNV_remap_index }, - { 28196, VertexAttrib1fNV_remap_index }, + { 31616, AreProgramsResidentNV_remap_index }, + { 30971, BindProgramNV_remap_index }, + { 25929, DeleteProgramsNV_remap_index }, + { 21481, ExecuteProgramNV_remap_index }, + { 33125, GenProgramsNV_remap_index }, + { 23361, GetProgramParameterdvNV_remap_index }, + { 10491, GetProgramParameterfvNV_remap_index }, + { 26312, GetProgramStringNV_remap_index }, + { 24447, GetProgramivNV_remap_index }, + { 23624, GetTrackMatrixivNV_remap_index }, + { 26106, GetVertexAttribPointervNV_remap_index }, + { 24742, GetVertexAttribdvNV_remap_index }, + { 9266, GetVertexAttribfvNV_remap_index }, + { 18489, GetVertexAttribivNV_remap_index }, + { 19313, IsProgramNV_remap_index }, + { 9349, LoadProgramNV_remap_index }, + { 27845, ProgramParameters4dvNV_remap_index }, + { 24377, ProgramParameters4fvNV_remap_index }, + { 20742, RequestResidentProgramsNV_remap_index }, + { 22336, TrackMatrixNV_remap_index }, + { 32218, VertexAttrib1dNV_remap_index }, + { 13588, VertexAttrib1dvNV_remap_index }, + { 28450, VertexAttrib1fNV_remap_index }, { 2415, VertexAttrib1fvNV_remap_index }, - { 30486, VertexAttrib1sNV_remap_index }, - { 15005, VertexAttrib1svNV_remap_index }, + { 30740, VertexAttrib1sNV_remap_index }, + { 15088, VertexAttrib1svNV_remap_index }, { 4845, VertexAttrib2dNV_remap_index }, - { 13431, VertexAttrib2dvNV_remap_index }, - { 20057, VertexAttrib2fNV_remap_index }, - { 12997, VertexAttrib2fvNV_remap_index }, + { 13481, VertexAttrib2dvNV_remap_index }, + { 20197, VertexAttrib2fNV_remap_index }, + { 13047, VertexAttrib2fvNV_remap_index }, { 5960, VertexAttrib2sNV_remap_index }, - { 18796, VertexAttrib2svNV_remap_index }, - { 11243, VertexAttrib3dNV_remap_index }, - { 31612, VertexAttrib3dvNV_remap_index }, - { 10273, VertexAttrib3fNV_remap_index }, - { 24583, VertexAttrib3fvNV_remap_index }, - { 22022, VertexAttrib3sNV_remap_index }, - { 23465, VertexAttrib3svNV_remap_index }, - { 28664, VertexAttrib4dNV_remap_index }, - { 32908, VertexAttrib4dvNV_remap_index }, + { 18936, VertexAttrib2svNV_remap_index }, + { 11262, VertexAttrib3dNV_remap_index }, + { 31866, VertexAttrib3dvNV_remap_index }, + { 10303, VertexAttrib3fNV_remap_index }, + { 24769, VertexAttrib3fvNV_remap_index }, + { 22179, VertexAttrib3sNV_remap_index }, + { 23651, VertexAttrib3svNV_remap_index }, + { 28918, VertexAttrib4dNV_remap_index }, + { 33162, VertexAttrib4dvNV_remap_index }, { 4467, VertexAttrib4fNV_remap_index }, - { 9416, VertexAttrib4fvNV_remap_index }, - { 26569, VertexAttrib4sNV_remap_index }, + { 9399, VertexAttrib4fvNV_remap_index }, + { 26788, VertexAttrib4sNV_remap_index }, { 1409, VertexAttrib4svNV_remap_index }, { 5003, VertexAttrib4ubNV_remap_index }, { 778, VertexAttrib4ubvNV_remap_index }, - { 21521, VertexAttribPointerNV_remap_index }, + { 21661, VertexAttribPointerNV_remap_index }, { 2267, VertexAttribs1dvNV_remap_index }, - { 25975, VertexAttribs1fvNV_remap_index }, - { 32708, VertexAttribs1svNV_remap_index }, - { 10298, VertexAttribs2dvNV_remap_index }, - { 25145, VertexAttribs2fvNV_remap_index }, - { 17538, VertexAttribs2svNV_remap_index }, + { 26194, VertexAttribs1fvNV_remap_index }, + { 32962, VertexAttribs1svNV_remap_index }, + { 10328, VertexAttribs2dvNV_remap_index }, + { 25331, VertexAttribs2fvNV_remap_index }, + { 17654, VertexAttribs2svNV_remap_index }, { 5247, VertexAttribs3dvNV_remap_index }, { 2147, VertexAttribs3fvNV_remap_index }, - { 29621, VertexAttribs3svNV_remap_index }, - { 26659, VertexAttribs4dvNV_remap_index }, + { 29875, VertexAttribs3svNV_remap_index }, + { 26878, VertexAttribs4dvNV_remap_index }, { 5319, VertexAttribs4fvNV_remap_index }, - { 32495, VertexAttribs4svNV_remap_index }, - { 29369, VertexAttribs4ubvNV_remap_index }, - { 26729, GetTexBumpParameterfvATI_remap_index }, - { 32749, GetTexBumpParameterivATI_remap_index }, - { 18459, TexBumpParameterfvATI_remap_index }, - { 20473, TexBumpParameterivATI_remap_index }, - { 15551, AlphaFragmentOp1ATI_remap_index }, - { 10889, AlphaFragmentOp2ATI_remap_index }, - { 24499, AlphaFragmentOp3ATI_remap_index }, - { 29548, BeginFragmentShaderATI_remap_index }, - { 30916, BindFragmentShaderATI_remap_index }, - { 23594, ColorFragmentOp1ATI_remap_index }, + { 32749, VertexAttribs4svNV_remap_index }, + { 29623, VertexAttribs4ubvNV_remap_index }, + { 26948, GetTexBumpParameterfvATI_remap_index }, + { 33003, GetTexBumpParameterivATI_remap_index }, + { 18599, TexBumpParameterfvATI_remap_index }, + { 20613, TexBumpParameterivATI_remap_index }, + { 15634, AlphaFragmentOp1ATI_remap_index }, + { 25612, AlphaFragmentOp2ATI_remap_index }, + { 24685, AlphaFragmentOp3ATI_remap_index }, + { 29802, BeginFragmentShaderATI_remap_index }, + { 31170, BindFragmentShaderATI_remap_index }, + { 23780, ColorFragmentOp1ATI_remap_index }, { 4345, ColorFragmentOp2ATI_remap_index }, - { 31257, ColorFragmentOp3ATI_remap_index }, + { 31511, ColorFragmentOp3ATI_remap_index }, { 5485, DeleteFragmentShaderATI_remap_index }, - { 32932, EndFragmentShaderATI_remap_index }, - { 32178, GenFragmentShadersATI_remap_index }, - { 25299, PassTexCoordATI_remap_index }, - { 6960, SampleMapATI_remap_index }, - { 6733, SetFragmentShaderConstantATI_remap_index }, + { 33186, EndFragmentShaderATI_remap_index }, + { 32432, GenFragmentShadersATI_remap_index }, + { 25485, PassTexCoordATI_remap_index }, + { 6943, SampleMapATI_remap_index }, + { 27059, SetFragmentShaderConstantATI_remap_index }, { 363, PointParameteriNV_remap_index }, - { 14179, PointParameterivNV_remap_index }, - { 28503, ActiveStencilFaceEXT_remap_index }, - { 27251, BindVertexArrayAPPLE_remap_index }, + { 14229, PointParameterivNV_remap_index }, + { 28757, ActiveStencilFaceEXT_remap_index }, + { 27505, BindVertexArrayAPPLE_remap_index }, { 2737, DeleteVertexArraysAPPLE_remap_index }, - { 17955, GenVertexArraysAPPLE_remap_index }, - { 23269, IsVertexArrayAPPLE_remap_index }, + { 18095, GenVertexArraysAPPLE_remap_index }, + { 23426, IsVertexArrayAPPLE_remap_index }, { 819, GetProgramNamedParameterdvNV_remap_index }, { 3562, GetProgramNamedParameterfvNV_remap_index }, - { 26760, ProgramNamedParameter4dNV_remap_index }, - { 14505, ProgramNamedParameter4dvNV_remap_index }, - { 8899, ProgramNamedParameter4fNV_remap_index }, - { 11734, ProgramNamedParameter4fvNV_remap_index }, - { 16877, PrimitiveRestartIndexNV_remap_index }, - { 30406, PrimitiveRestartNV_remap_index }, - { 24170, DepthBoundsEXT_remap_index }, + { 26979, ProgramNamedParameter4dNV_remap_index }, + { 14588, ProgramNamedParameter4dvNV_remap_index }, + { 8882, ProgramNamedParameter4fNV_remap_index }, + { 11753, ProgramNamedParameter4fvNV_remap_index }, + { 16993, PrimitiveRestartIndexNV_remap_index }, + { 30660, PrimitiveRestartNV_remap_index }, + { 24356, DepthBoundsEXT_remap_index }, { 1159, BlendEquationSeparateEXT_remap_index }, - { 14706, BindFramebufferEXT_remap_index }, - { 25486, BindRenderbufferEXT_remap_index }, - { 9663, CheckFramebufferStatusEXT_remap_index }, - { 22520, DeleteFramebuffersEXT_remap_index }, - { 31514, DeleteRenderbuffersEXT_remap_index }, - { 13455, FramebufferRenderbufferEXT_remap_index }, - { 13644, FramebufferTexture1DEXT_remap_index }, - { 11528, FramebufferTexture2DEXT_remap_index }, - { 11148, FramebufferTexture3DEXT_remap_index }, - { 23135, GenFramebuffersEXT_remap_index }, - { 17403, GenRenderbuffersEXT_remap_index }, + { 14789, BindFramebufferEXT_remap_index }, + { 25705, BindRenderbufferEXT_remap_index }, + { 9646, CheckFramebufferStatusEXT_remap_index }, + { 22677, DeleteFramebuffersEXT_remap_index }, + { 31768, DeleteRenderbuffersEXT_remap_index }, + { 13505, FramebufferRenderbufferEXT_remap_index }, + { 13694, FramebufferTexture1DEXT_remap_index }, + { 11547, FramebufferTexture2DEXT_remap_index }, + { 11167, FramebufferTexture3DEXT_remap_index }, + { 23292, GenFramebuffersEXT_remap_index }, + { 17519, GenRenderbuffersEXT_remap_index }, { 6679, GenerateMipmapEXT_remap_index }, - { 21597, GetFramebufferAttachmentParameterivEXT_remap_index }, - { 32084, GetRenderbufferParameterivEXT_remap_index }, - { 20353, IsFramebufferEXT_remap_index }, - { 32831, IsRenderbufferEXT_remap_index }, - { 8174, RenderbufferStorageEXT_remap_index }, + { 21754, GetFramebufferAttachmentParameterivEXT_remap_index }, + { 32338, GetRenderbufferParameterivEXT_remap_index }, + { 20493, IsFramebufferEXT_remap_index }, + { 33085, IsRenderbufferEXT_remap_index }, + { 8157, RenderbufferStorageEXT_remap_index }, { 695, BlitFramebufferEXT_remap_index }, - { 14324, BufferParameteriAPPLE_remap_index }, - { 19205, FlushMappedBufferRangeAPPLE_remap_index }, + { 14374, BufferParameteriAPPLE_remap_index }, + { 19345, FlushMappedBufferRangeAPPLE_remap_index }, { 1815, BindFragDataLocationEXT_remap_index }, - { 24283, GetFragDataLocationEXT_remap_index }, - { 10576, GetUniformuivEXT_remap_index }, + { 24469, GetFragDataLocationEXT_remap_index }, + { 10606, GetUniformuivEXT_remap_index }, { 2933, GetVertexAttribIivEXT_remap_index }, { 4195, GetVertexAttribIuivEXT_remap_index }, - { 12014, Uniform1uiEXT_remap_index }, - { 27676, Uniform1uivEXT_remap_index }, - { 22118, Uniform2uiEXT_remap_index }, + { 12033, Uniform1uiEXT_remap_index }, + { 27930, Uniform1uivEXT_remap_index }, + { 22275, Uniform2uiEXT_remap_index }, { 4309, Uniform2uivEXT_remap_index }, - { 28943, Uniform3uiEXT_remap_index }, - { 14652, Uniform3uivEXT_remap_index }, + { 29197, Uniform3uiEXT_remap_index }, + { 14735, Uniform3uivEXT_remap_index }, { 3486, Uniform4uiEXT_remap_index }, - { 8675, Uniform4uivEXT_remap_index }, - { 18306, VertexAttribI1iEXT_remap_index }, + { 8658, Uniform4uivEXT_remap_index }, + { 18446, VertexAttribI1iEXT_remap_index }, { 965, VertexAttribI1ivEXT_remap_index }, { 2516, VertexAttribI1uiEXT_remap_index }, - { 12725, VertexAttribI1uivEXT_remap_index }, + { 12775, VertexAttribI1uivEXT_remap_index }, { 81, VertexAttribI2iEXT_remap_index }, - { 23706, VertexAttribI2ivEXT_remap_index }, + { 23892, VertexAttribI2ivEXT_remap_index }, { 5273, VertexAttribI2uiEXT_remap_index }, { 4728, VertexAttribI2uivEXT_remap_index }, - { 26361, VertexAttribI3iEXT_remap_index }, - { 30218, VertexAttribI3ivEXT_remap_index }, + { 26580, VertexAttribI3iEXT_remap_index }, + { 30472, VertexAttribI3ivEXT_remap_index }, { 3340, VertexAttribI3uiEXT_remap_index }, - { 30114, VertexAttribI3uivEXT_remap_index }, - { 21848, VertexAttribI4bvEXT_remap_index }, - { 14584, VertexAttribI4iEXT_remap_index }, - { 31783, VertexAttribI4ivEXT_remap_index }, - { 13358, VertexAttribI4svEXT_remap_index }, - { 16462, VertexAttribI4ubvEXT_remap_index }, - { 16145, VertexAttribI4uiEXT_remap_index }, + { 30368, VertexAttribI3uivEXT_remap_index }, + { 22005, VertexAttribI4bvEXT_remap_index }, + { 14667, VertexAttribI4iEXT_remap_index }, + { 32037, VertexAttribI4ivEXT_remap_index }, + { 13408, VertexAttribI4svEXT_remap_index }, + { 16545, VertexAttribI4ubvEXT_remap_index }, + { 16228, VertexAttribI4uiEXT_remap_index }, { 5419, VertexAttribI4uivEXT_remap_index }, - { 11311, VertexAttribI4usvEXT_remap_index }, - { 18403, VertexAttribIPointerEXT_remap_index }, + { 11330, VertexAttribI4usvEXT_remap_index }, + { 18543, VertexAttribIPointerEXT_remap_index }, { 3027, FramebufferTextureLayerEXT_remap_index }, { 5660, ColorMaskIndexedEXT_remap_index }, - { 18820, DisableIndexedEXT_remap_index }, - { 26406, EnableIndexedEXT_remap_index }, - { 21552, GetBooleanIndexedvEXT_remap_index }, - { 10922, GetIntegerIndexedvEXT_remap_index }, - { 22596, IsEnabledIndexedEXT_remap_index }, - { 22496, ClearColorIiEXT_remap_index }, + { 18960, DisableIndexedEXT_remap_index }, + { 26625, EnableIndexedEXT_remap_index }, + { 21709, GetBooleanIndexedvEXT_remap_index }, + { 10941, GetIntegerIndexedvEXT_remap_index }, + { 22753, IsEnabledIndexedEXT_remap_index }, + { 22653, ClearColorIiEXT_remap_index }, { 3436, ClearColorIuiEXT_remap_index }, - { 9852, GetTexParameterIivEXT_remap_index }, + { 9856, GetTexParameterIivEXT_remap_index }, { 5908, GetTexParameterIuivEXT_remap_index }, { 2983, TexParameterIivEXT_remap_index }, - { 26228, TexParameterIuivEXT_remap_index }, + { 26447, TexParameterIuivEXT_remap_index }, { 4596, BeginConditionalRenderNV_remap_index }, - { 25249, EndConditionalRenderNV_remap_index }, - { 9310, BeginTransformFeedbackEXT_remap_index }, - { 18855, BindBufferBaseEXT_remap_index }, - { 18714, BindBufferOffsetEXT_remap_index }, - { 12202, BindBufferRangeEXT_remap_index }, - { 14239, EndTransformFeedbackEXT_remap_index }, - { 10774, GetTransformFeedbackVaryingEXT_remap_index }, - { 20658, TransformFeedbackVaryingsEXT_remap_index }, - { 29270, ProvokingVertexEXT_remap_index }, - { 10722, GetTexParameterPointervAPPLE_remap_index }, + { 25435, EndConditionalRenderNV_remap_index }, + { 9293, BeginTransformFeedbackEXT_remap_index }, + { 18995, BindBufferBaseEXT_remap_index }, + { 18854, BindBufferOffsetEXT_remap_index }, + { 12221, BindBufferRangeEXT_remap_index }, + { 14289, EndTransformFeedbackEXT_remap_index }, + { 10804, GetTransformFeedbackVaryingEXT_remap_index }, + { 20798, TransformFeedbackVaryingsEXT_remap_index }, + { 29524, ProvokingVertexEXT_remap_index }, + { 10752, GetTexParameterPointervAPPLE_remap_index }, { 5047, TextureRangeAPPLE_remap_index }, - { 11600, GetObjectParameterivAPPLE_remap_index }, - { 19780, ObjectPurgeableAPPLE_remap_index }, + { 11619, GetObjectParameterivAPPLE_remap_index }, + { 19920, ObjectPurgeableAPPLE_remap_index }, { 5702, ObjectUnpurgeableAPPLE_remap_index }, - { 17225, ActiveProgramEXT_remap_index }, - { 17196, CreateShaderProgramEXT_remap_index }, - { 28288, UseShaderProgramEXT_remap_index }, - { 28529, StencilFuncSeparateATI_remap_index }, - { 18044, ProgramEnvParameters4fvEXT_remap_index }, - { 17090, ProgramLocalParameters4fvEXT_remap_index }, - { 14107, GetQueryObjecti64vEXT_remap_index }, - { 10324, GetQueryObjectui64vEXT_remap_index }, - { 23663, EGLImageTargetRenderbufferStorageOES_remap_index }, - { 12120, EGLImageTargetTexture2DOES_remap_index }, + { 17341, ActiveProgramEXT_remap_index }, + { 17312, CreateShaderProgramEXT_remap_index }, + { 28542, UseShaderProgramEXT_remap_index }, + { 28783, StencilFuncSeparateATI_remap_index }, + { 18184, ProgramEnvParameters4fvEXT_remap_index }, + { 17206, ProgramLocalParameters4fvEXT_remap_index }, + { 14157, GetQueryObjecti64vEXT_remap_index }, + { 10354, GetQueryObjectui64vEXT_remap_index }, + { 23849, EGLImageTargetRenderbufferStorageOES_remap_index }, + { 12139, EGLImageTargetTexture2DOES_remap_index }, { -1, -1 } }; @@ -5220,73 +5270,73 @@ static const struct gl_function_remap MESA_alt_functions[] = { /* from GL_EXT_blend_color */ { 2655, _gloffset_BlendColor }, /* from GL_EXT_blend_minmax */ - { 11205, _gloffset_BlendEquation }, + { 11224, _gloffset_BlendEquation }, /* from GL_EXT_color_subtable */ - { 16988, _gloffset_ColorSubTable }, - { 31446, _gloffset_CopyColorSubTable }, + { 17104, _gloffset_ColorSubTable }, + { 31700, _gloffset_CopyColorSubTable }, /* from GL_EXT_convolution */ { 257, _gloffset_ConvolutionFilter1D }, { 2454, _gloffset_CopyConvolutionFilter1D }, { 4058, _gloffset_GetConvolutionParameteriv }, - { 8523, _gloffset_ConvolutionFilter2D }, - { 8725, _gloffset_ConvolutionParameteriv }, - { 9185, _gloffset_ConvolutionParameterfv }, - { 20501, _gloffset_GetSeparableFilter }, - { 23938, _gloffset_SeparableFilter2D }, - { 24801, _gloffset_ConvolutionParameteri }, - { 24924, _gloffset_ConvolutionParameterf }, - { 26595, _gloffset_GetConvolutionParameterfv }, - { 27417, _gloffset_GetConvolutionFilter }, - { 29810, _gloffset_CopyConvolutionFilter2D }, + { 8506, _gloffset_ConvolutionFilter2D }, + { 8708, _gloffset_ConvolutionParameteriv }, + { 9168, _gloffset_ConvolutionParameterfv }, + { 20641, _gloffset_GetSeparableFilter }, + { 24124, _gloffset_SeparableFilter2D }, + { 24987, _gloffset_ConvolutionParameteri }, + { 25110, _gloffset_ConvolutionParameterf }, + { 26814, _gloffset_GetConvolutionParameterfv }, + { 27671, _gloffset_GetConvolutionFilter }, + { 30064, _gloffset_CopyConvolutionFilter2D }, /* from GL_EXT_copy_texture */ - { 15065, _gloffset_CopyTexSubImage3D }, - { 16675, _gloffset_CopyTexImage2D }, - { 24409, _gloffset_CopyTexImage1D }, - { 27098, _gloffset_CopyTexSubImage2D }, - { 29448, _gloffset_CopyTexSubImage1D }, + { 15148, _gloffset_CopyTexSubImage3D }, + { 16791, _gloffset_CopyTexImage2D }, + { 24595, _gloffset_CopyTexImage1D }, + { 27352, _gloffset_CopyTexSubImage2D }, + { 29702, _gloffset_CopyTexSubImage1D }, /* from GL_EXT_draw_range_elements */ - { 9522, _gloffset_DrawRangeElements }, + { 9505, _gloffset_DrawRangeElements }, /* from GL_EXT_histogram */ { 856, _gloffset_Histogram }, { 3522, _gloffset_ResetHistogram }, - { 9972, _gloffset_GetMinmax }, - { 15399, _gloffset_GetHistogramParameterfv }, - { 24334, _gloffset_GetMinmaxParameteriv }, - { 26485, _gloffset_ResetMinmax }, - { 27314, _gloffset_GetHistogramParameteriv }, - { 28463, _gloffset_GetHistogram }, - { 31032, _gloffset_Minmax }, - { 32578, _gloffset_GetMinmaxParameterfv }, + { 10002, _gloffset_GetMinmax }, + { 15482, _gloffset_GetHistogramParameterfv }, + { 24520, _gloffset_GetMinmaxParameteriv }, + { 26704, _gloffset_ResetMinmax }, + { 27568, _gloffset_GetHistogramParameteriv }, + { 28717, _gloffset_GetHistogram }, + { 31286, _gloffset_Minmax }, + { 32832, _gloffset_GetMinmaxParameterfv }, /* from GL_EXT_paletted_texture */ - { 8385, _gloffset_ColorTable }, - { 15245, _gloffset_GetColorTable }, - { 22882, _gloffset_GetColorTableParameterfv }, - { 24980, _gloffset_GetColorTableParameteriv }, + { 8368, _gloffset_ColorTable }, + { 15328, _gloffset_GetColorTable }, + { 23039, _gloffset_GetColorTableParameterfv }, + { 25166, _gloffset_GetColorTableParameteriv }, /* from GL_EXT_subtexture */ - { 7106, _gloffset_TexSubImage1D }, - { 10649, _gloffset_TexSubImage2D }, + { 7089, _gloffset_TexSubImage1D }, + { 10679, _gloffset_TexSubImage2D }, /* from GL_EXT_texture3D */ { 1774, _gloffset_TexImage3D }, - { 22651, _gloffset_TexSubImage3D }, + { 22808, _gloffset_TexSubImage3D }, /* from GL_EXT_texture_object */ { 3290, _gloffset_PrioritizeTextures }, - { 7555, _gloffset_AreTexturesResident }, - { 13562, _gloffset_GenTextures }, - { 15731, _gloffset_DeleteTextures }, - { 19486, _gloffset_IsTexture }, - { 29513, _gloffset_BindTexture }, + { 7538, _gloffset_AreTexturesResident }, + { 13612, _gloffset_GenTextures }, + { 15814, _gloffset_DeleteTextures }, + { 19626, _gloffset_IsTexture }, + { 29767, _gloffset_BindTexture }, /* from GL_EXT_vertex_array */ - { 24110, _gloffset_ArrayElement }, - { 30620, _gloffset_GetPointerv }, - { 32205, _gloffset_DrawArrays }, + { 24296, _gloffset_ArrayElement }, + { 30874, _gloffset_GetPointerv }, + { 32459, _gloffset_DrawArrays }, /* from GL_SGI_color_table */ - { 7673, _gloffset_ColorTableParameteriv }, - { 8385, _gloffset_ColorTable }, - { 15245, _gloffset_GetColorTable }, - { 15355, _gloffset_CopyColorTable }, - { 19347, _gloffset_ColorTableParameterfv }, - { 22882, _gloffset_GetColorTableParameterfv }, - { 24980, _gloffset_GetColorTableParameteriv }, + { 7656, _gloffset_ColorTableParameteriv }, + { 8368, _gloffset_ColorTable }, + { 15328, _gloffset_GetColorTable }, + { 15438, _gloffset_CopyColorTable }, + { 19487, _gloffset_ColorTableParameterfv }, + { 23039, _gloffset_GetColorTableParameterfv }, + { 25166, _gloffset_GetColorTableParameteriv }, /* from GL_VERSION_1_3 */ { 425, _gloffset_MultiTexCoord3sARB }, { 657, _gloffset_ActiveTextureARB }, @@ -5294,34 +5344,34 @@ static const struct gl_function_remap MESA_alt_functions[] = { { 6155, _gloffset_MultiTexCoord3dARB }, { 6200, _gloffset_MultiTexCoord2iARB }, { 6324, _gloffset_MultiTexCoord2svARB }, - { 8341, _gloffset_MultiTexCoord2fARB }, - { 10354, _gloffset_MultiTexCoord3fvARB }, - { 10967, _gloffset_MultiTexCoord4sARB }, - { 11648, _gloffset_MultiTexCoord2dvARB }, - { 12063, _gloffset_MultiTexCoord1svARB }, - { 12435, _gloffset_MultiTexCoord3svARB }, - { 12496, _gloffset_MultiTexCoord4iARB }, - { 13266, _gloffset_MultiTexCoord3iARB }, - { 14136, _gloffset_MultiTexCoord1dARB }, - { 14353, _gloffset_MultiTexCoord3dvARB }, - { 15599, _gloffset_MultiTexCoord3ivARB }, - { 15644, _gloffset_MultiTexCoord2sARB }, - { 17045, _gloffset_MultiTexCoord4ivARB }, - { 18997, _gloffset_ClientActiveTextureARB }, - { 21297, _gloffset_MultiTexCoord2dARB }, - { 21717, _gloffset_MultiTexCoord4dvARB }, - { 22073, _gloffset_MultiTexCoord4fvARB }, - { 23023, _gloffset_MultiTexCoord3fARB }, - { 25531, _gloffset_MultiTexCoord4dARB }, - { 25797, _gloffset_MultiTexCoord1sARB }, - { 26001, _gloffset_MultiTexCoord1dvARB }, - { 26942, _gloffset_MultiTexCoord1ivARB }, - { 27035, _gloffset_MultiTexCoord2ivARB }, - { 27374, _gloffset_MultiTexCoord1iARB }, - { 28738, _gloffset_MultiTexCoord4svARB }, - { 29312, _gloffset_MultiTexCoord1fARB }, - { 29575, _gloffset_MultiTexCoord4fARB }, - { 32039, _gloffset_MultiTexCoord2fvARB }, + { 8324, _gloffset_MultiTexCoord2fARB }, + { 10384, _gloffset_MultiTexCoord3fvARB }, + { 10986, _gloffset_MultiTexCoord4sARB }, + { 11667, _gloffset_MultiTexCoord2dvARB }, + { 12082, _gloffset_MultiTexCoord1svARB }, + { 12454, _gloffset_MultiTexCoord3svARB }, + { 12515, _gloffset_MultiTexCoord4iARB }, + { 13316, _gloffset_MultiTexCoord3iARB }, + { 14186, _gloffset_MultiTexCoord1dARB }, + { 14403, _gloffset_MultiTexCoord3dvARB }, + { 15682, _gloffset_MultiTexCoord3ivARB }, + { 15727, _gloffset_MultiTexCoord2sARB }, + { 17161, _gloffset_MultiTexCoord4ivARB }, + { 19137, _gloffset_ClientActiveTextureARB }, + { 21437, _gloffset_MultiTexCoord2dARB }, + { 21874, _gloffset_MultiTexCoord4dvARB }, + { 22230, _gloffset_MultiTexCoord4fvARB }, + { 23180, _gloffset_MultiTexCoord3fARB }, + { 25750, _gloffset_MultiTexCoord4dARB }, + { 26016, _gloffset_MultiTexCoord1sARB }, + { 26220, _gloffset_MultiTexCoord1dvARB }, + { 27196, _gloffset_MultiTexCoord1ivARB }, + { 27289, _gloffset_MultiTexCoord2ivARB }, + { 27628, _gloffset_MultiTexCoord1iARB }, + { 28992, _gloffset_MultiTexCoord4svARB }, + { 29566, _gloffset_MultiTexCoord1fARB }, + { 29829, _gloffset_MultiTexCoord4fARB }, + { 32293, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; @@ -5329,7 +5379,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[] = { - { 9243, -1 }, /* TbufferMask3DFX */ + { 9226, -1 }, /* TbufferMask3DFX */ { -1, -1 } }; #endif @@ -5362,6 +5412,13 @@ static const struct gl_function_remap GL_APPLE_vertex_array_object_functions[] = }; #endif +#if defined(need_GL_ARB_ES2_compatibility) +/* functions defined in MESA_remap_table_functions are excluded */ +static const struct gl_function_remap GL_ARB_ES2_compatibility_functions[] = { + { -1, -1 } +}; +#endif + #if defined(need_GL_ARB_copy_buffer) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_ARB_copy_buffer_functions[] = { @@ -5376,6 +5433,13 @@ static const struct gl_function_remap GL_ARB_draw_buffers_functions[] = { }; #endif +#if defined(need_GL_ARB_draw_buffers_blend) +/* functions defined in MESA_remap_table_functions are excluded */ +static const struct gl_function_remap GL_ARB_draw_buffers_blend_functions[] = { + { -1, -1 } +}; +#endif + #if defined(need_GL_ARB_draw_elements_base_vertex) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_ARB_draw_elements_base_vertex_functions[] = { @@ -5400,7 +5464,14 @@ 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[] = { - { 12399, -1 }, /* FramebufferTextureLayer */ + { 12418, -1 }, /* FramebufferTextureLayer */ + { -1, -1 } +}; +#endif + +#if defined(need_GL_ARB_instanced_arrays) +/* functions defined in MESA_remap_table_functions are excluded */ +static const struct gl_function_remap GL_ARB_instanced_arrays_functions[] = { { -1, -1 } }; #endif @@ -5415,10 +5486,10 @@ 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[] = { { 3773, -1 }, /* MatrixIndexusvARB */ - { 13087, -1 }, /* MatrixIndexuivARB */ - { 14475, -1 }, /* MatrixIndexPointerARB */ - { 19735, -1 }, /* CurrentPaletteMatrixARB */ - { 22767, -1 }, /* MatrixIndexubvARB */ + { 13137, -1 }, /* MatrixIndexuivARB */ + { 14558, -1 }, /* MatrixIndexPointerARB */ + { 19875, -1 }, /* CurrentPaletteMatrixARB */ + { 22924, -1 }, /* MatrixIndexubvARB */ { -1, -1 } }; #endif @@ -5497,14 +5568,14 @@ static const struct gl_function_remap GL_ARB_vertex_array_object_functions[] = { static const struct gl_function_remap GL_ARB_vertex_blend_functions[] = { { 2396, -1 }, /* WeightubvARB */ { 6567, -1 }, /* WeightivARB */ - { 11070, -1 }, /* WeightPointerARB */ - { 13854, -1 }, /* WeightfvARB */ - { 17564, -1 }, /* WeightbvARB */ - { 20965, -1 }, /* WeightusvARB */ - { 23864, -1 }, /* VertexBlendARB */ - { 29396, -1 }, /* WeightsvARB */ - { 31496, -1 }, /* WeightdvARB */ - { 32239, -1 }, /* WeightuivARB */ + { 11089, -1 }, /* WeightPointerARB */ + { 13904, -1 }, /* WeightfvARB */ + { 17680, -1 }, /* WeightbvARB */ + { 21105, -1 }, /* WeightusvARB */ + { 24050, -1 }, /* VertexBlendARB */ + { 29650, -1 }, /* WeightsvARB */ + { 31750, -1 }, /* WeightdvARB */ + { 32493, -1 }, /* WeightuivARB */ { -1, -1 } }; #endif @@ -5595,15 +5666,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[] = { - { 11205, _gloffset_BlendEquation }, + { 11224, _gloffset_BlendEquation }, { -1, -1 } }; #endif #if defined(need_GL_EXT_color_subtable) static const struct gl_function_remap GL_EXT_color_subtable_functions[] = { - { 16988, _gloffset_ColorSubTable }, - { 31446, _gloffset_CopyColorSubTable }, + { 17104, _gloffset_ColorSubTable }, + { 31700, _gloffset_CopyColorSubTable }, { -1, -1 } }; #endif @@ -5620,63 +5691,63 @@ static const struct gl_function_remap GL_EXT_convolution_functions[] = { { 257, _gloffset_ConvolutionFilter1D }, { 2454, _gloffset_CopyConvolutionFilter1D }, { 4058, _gloffset_GetConvolutionParameteriv }, - { 8523, _gloffset_ConvolutionFilter2D }, - { 8725, _gloffset_ConvolutionParameteriv }, - { 9185, _gloffset_ConvolutionParameterfv }, - { 20501, _gloffset_GetSeparableFilter }, - { 23938, _gloffset_SeparableFilter2D }, - { 24801, _gloffset_ConvolutionParameteri }, - { 24924, _gloffset_ConvolutionParameterf }, - { 26595, _gloffset_GetConvolutionParameterfv }, - { 27417, _gloffset_GetConvolutionFilter }, - { 29810, _gloffset_CopyConvolutionFilter2D }, + { 8506, _gloffset_ConvolutionFilter2D }, + { 8708, _gloffset_ConvolutionParameteriv }, + { 9168, _gloffset_ConvolutionParameterfv }, + { 20641, _gloffset_GetSeparableFilter }, + { 24124, _gloffset_SeparableFilter2D }, + { 24987, _gloffset_ConvolutionParameteri }, + { 25110, _gloffset_ConvolutionParameterf }, + { 26814, _gloffset_GetConvolutionParameterfv }, + { 27671, _gloffset_GetConvolutionFilter }, + { 30064, _gloffset_CopyConvolutionFilter2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_coordinate_frame) static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = { - { 10493, -1 }, /* TangentPointerEXT */ - { 12554, -1 }, /* Binormal3ivEXT */ - { 13219, -1 }, /* Tangent3sEXT */ - { 14540, -1 }, /* Tangent3fvEXT */ - { 18695, -1 }, /* Tangent3dvEXT */ - { 19433, -1 }, /* Binormal3bvEXT */ - { 20554, -1 }, /* Binormal3dEXT */ - { 22699, -1 }, /* Tangent3fEXT */ - { 24873, -1 }, /* Binormal3sEXT */ - { 25341, -1 }, /* Tangent3ivEXT */ - { 25360, -1 }, /* Tangent3dEXT */ - { 26274, -1 }, /* Binormal3svEXT */ - { 26840, -1 }, /* Binormal3fEXT */ - { 27728, -1 }, /* Binormal3dvEXT */ - { 28995, -1 }, /* Tangent3iEXT */ - { 30095, -1 }, /* Tangent3bvEXT */ - { 30655, -1 }, /* Tangent3bEXT */ - { 31219, -1 }, /* Binormal3fvEXT */ - { 31938, -1 }, /* BinormalPointerEXT */ - { 32343, -1 }, /* Tangent3svEXT */ - { 32780, -1 }, /* Binormal3bEXT */ - { 32957, -1 }, /* Binormal3iEXT */ + { 10523, -1 }, /* TangentPointerEXT */ + { 12573, -1 }, /* Binormal3ivEXT */ + { 13269, -1 }, /* Tangent3sEXT */ + { 14623, -1 }, /* Tangent3fvEXT */ + { 18835, -1 }, /* Tangent3dvEXT */ + { 19573, -1 }, /* Binormal3bvEXT */ + { 20694, -1 }, /* Binormal3dEXT */ + { 22856, -1 }, /* Tangent3fEXT */ + { 25059, -1 }, /* Binormal3sEXT */ + { 25527, -1 }, /* Tangent3ivEXT */ + { 25546, -1 }, /* Tangent3dEXT */ + { 26493, -1 }, /* Binormal3svEXT */ + { 27094, -1 }, /* Binormal3fEXT */ + { 27982, -1 }, /* Binormal3dvEXT */ + { 29249, -1 }, /* Tangent3iEXT */ + { 30349, -1 }, /* Tangent3bvEXT */ + { 30909, -1 }, /* Tangent3bEXT */ + { 31473, -1 }, /* Binormal3fvEXT */ + { 32192, -1 }, /* BinormalPointerEXT */ + { 32597, -1 }, /* Tangent3svEXT */ + { 33034, -1 }, /* Binormal3bEXT */ + { 33211, -1 }, /* Binormal3iEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_copy_texture) static const struct gl_function_remap GL_EXT_copy_texture_functions[] = { - { 15065, _gloffset_CopyTexSubImage3D }, - { 16675, _gloffset_CopyTexImage2D }, - { 24409, _gloffset_CopyTexImage1D }, - { 27098, _gloffset_CopyTexSubImage2D }, - { 29448, _gloffset_CopyTexSubImage1D }, + { 15148, _gloffset_CopyTexSubImage3D }, + { 16791, _gloffset_CopyTexImage2D }, + { 24595, _gloffset_CopyTexImage1D }, + { 27352, _gloffset_CopyTexSubImage2D }, + { 29702, _gloffset_CopyTexSubImage1D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_cull_vertex) static const struct gl_function_remap GL_EXT_cull_vertex_functions[] = { - { 8874, -1 }, /* CullParameterdvEXT */ - { 11693, -1 }, /* CullParameterfvEXT */ + { 8857, -1 }, /* CullParameterdvEXT */ + { 11712, -1 }, /* CullParameterfvEXT */ { -1, -1 } }; #endif @@ -5704,7 +5775,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[] = { - { 9522, _gloffset_DrawRangeElements }, + { 9505, _gloffset_DrawRangeElements }, { -1, -1 } }; #endif @@ -5755,37 +5826,37 @@ static const struct gl_function_remap GL_EXT_gpu_shader4_functions[] = { static const struct gl_function_remap GL_EXT_histogram_functions[] = { { 856, _gloffset_Histogram }, { 3522, _gloffset_ResetHistogram }, - { 9972, _gloffset_GetMinmax }, - { 15399, _gloffset_GetHistogramParameterfv }, - { 24334, _gloffset_GetMinmaxParameteriv }, - { 26485, _gloffset_ResetMinmax }, - { 27314, _gloffset_GetHistogramParameteriv }, - { 28463, _gloffset_GetHistogram }, - { 31032, _gloffset_Minmax }, - { 32578, _gloffset_GetMinmaxParameterfv }, + { 10002, _gloffset_GetMinmax }, + { 15482, _gloffset_GetHistogramParameterfv }, + { 24520, _gloffset_GetMinmaxParameteriv }, + { 26704, _gloffset_ResetMinmax }, + { 27568, _gloffset_GetHistogramParameteriv }, + { 28717, _gloffset_GetHistogram }, + { 31286, _gloffset_Minmax }, + { 32832, _gloffset_GetMinmaxParameterfv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_index_func) static const struct gl_function_remap GL_EXT_index_func_functions[] = { - { 11479, -1 }, /* IndexFuncEXT */ + { 11498, -1 }, /* IndexFuncEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_index_material) static const struct gl_function_remap GL_EXT_index_material_functions[] = { - { 21052, -1 }, /* IndexMaterialEXT */ + { 21192, -1 }, /* IndexMaterialEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_light_texture) static const struct gl_function_remap GL_EXT_light_texture_functions[] = { - { 26294, -1 }, /* ApplyTextureEXT */ - { 26439, -1 }, /* TextureMaterialEXT */ - { 26464, -1 }, /* TextureLightEXT */ + { 26513, -1 }, /* ApplyTextureEXT */ + { 26658, -1 }, /* TextureMaterialEXT */ + { 26683, -1 }, /* TextureLightEXT */ { -1, -1 } }; #endif @@ -5806,20 +5877,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[] = { - { 8385, _gloffset_ColorTable }, - { 15245, _gloffset_GetColorTable }, - { 22882, _gloffset_GetColorTableParameterfv }, - { 24980, _gloffset_GetColorTableParameteriv }, + { 8368, _gloffset_ColorTable }, + { 15328, _gloffset_GetColorTable }, + { 23039, _gloffset_GetColorTableParameterfv }, + { 25166, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_pixel_transform) static const struct gl_function_remap GL_EXT_pixel_transform_functions[] = { - { 21682, -1 }, /* PixelTransformParameterfEXT */ - { 21762, -1 }, /* PixelTransformParameteriEXT */ - { 30370, -1 }, /* PixelTransformParameterfvEXT */ - { 31902, -1 }, /* PixelTransformParameterivEXT */ + { 21839, -1 }, /* PixelTransformParameterfEXT */ + { 21919, -1 }, /* PixelTransformParameteriEXT */ + { 30624, -1 }, /* PixelTransformParameterfvEXT */ + { 32156, -1 }, /* PixelTransformParameterivEXT */ { -1, -1 } }; #endif @@ -5868,8 +5939,8 @@ 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[] = { - { 7106, _gloffset_TexSubImage1D }, - { 10649, _gloffset_TexSubImage2D }, + { 7089, _gloffset_TexSubImage1D }, + { 10679, _gloffset_TexSubImage2D }, { -1, -1 } }; #endif @@ -5877,7 +5948,7 @@ static const struct gl_function_remap GL_EXT_subtexture_functions[] = { #if defined(need_GL_EXT_texture3D) static const struct gl_function_remap GL_EXT_texture3D_functions[] = { { 1774, _gloffset_TexImage3D }, - { 22651, _gloffset_TexSubImage3D }, + { 22808, _gloffset_TexSubImage3D }, { -1, -1 } }; #endif @@ -5899,18 +5970,18 @@ 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[] = { { 3290, _gloffset_PrioritizeTextures }, - { 7555, _gloffset_AreTexturesResident }, - { 13562, _gloffset_GenTextures }, - { 15731, _gloffset_DeleteTextures }, - { 19486, _gloffset_IsTexture }, - { 29513, _gloffset_BindTexture }, + { 7538, _gloffset_AreTexturesResident }, + { 13612, _gloffset_GenTextures }, + { 15814, _gloffset_DeleteTextures }, + { 19626, _gloffset_IsTexture }, + { 29767, _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[] = { - { 13804, -1 }, /* TextureNormalEXT */ + { 13854, -1 }, /* TextureNormalEXT */ { -1, -1 } }; #endif @@ -5932,18 +6003,18 @@ 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[] = { - { 24110, _gloffset_ArrayElement }, - { 30620, _gloffset_GetPointerv }, - { 32205, _gloffset_DrawArrays }, + { 24296, _gloffset_ArrayElement }, + { 30874, _gloffset_GetPointerv }, + { 32459, _gloffset_DrawArrays }, { -1, -1 } }; #endif #if defined(need_GL_EXT_vertex_weighting) static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = { - { 19516, -1 }, /* VertexWeightfvEXT */ - { 26818, -1 }, /* VertexWeightfEXT */ - { 28432, -1 }, /* VertexWeightPointerEXT */ + { 19656, -1 }, /* VertexWeightfvEXT */ + { 27037, -1 }, /* VertexWeightfEXT */ + { 28686, -1 }, /* VertexWeightPointerEXT */ { -1, -1 } }; #endif @@ -5952,10 +6023,10 @@ static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = { static const struct gl_function_remap GL_HP_image_transform_functions[] = { { 2327, -1 }, /* GetImageTransformParameterfvHP */ { 3739, -1 }, /* ImageTransformParameterfHP */ - { 10187, -1 }, /* ImageTransformParameterfvHP */ - { 11948, -1 }, /* ImageTransformParameteriHP */ - { 12289, -1 }, /* GetImageTransformParameterivHP */ - { 19580, -1 }, /* ImageTransformParameterivHP */ + { 10217, -1 }, /* ImageTransformParameterfvHP */ + { 11967, -1 }, /* ImageTransformParameteriHP */ + { 12308, -1 }, /* GetImageTransformParameterivHP */ + { 19720, -1 }, /* ImageTransformParameterivHP */ { -1, -1 } }; #endif @@ -5971,12 +6042,12 @@ static const struct gl_function_remap GL_IBM_multimode_draw_arrays_functions[] = static const struct gl_function_remap GL_IBM_vertex_array_lists_functions[] = { { 4379, -1 }, /* SecondaryColorPointerListIBM */ { 6021, -1 }, /* NormalPointerListIBM */ - { 7729, -1 }, /* FogCoordPointerListIBM */ - { 8036, -1 }, /* VertexPointerListIBM */ - { 11869, -1 }, /* ColorPointerListIBM */ - { 13326, -1 }, /* TexCoordPointerListIBM */ - { 13826, -1 }, /* IndexPointerListIBM */ - { 32521, -1 }, /* EdgeFlagPointerListIBM */ + { 7712, -1 }, /* FogCoordPointerListIBM */ + { 8019, -1 }, /* VertexPointerListIBM */ + { 11888, -1 }, /* ColorPointerListIBM */ + { 13376, -1 }, /* TexCoordPointerListIBM */ + { 13876, -1 }, /* IndexPointerListIBM */ + { 32775, -1 }, /* EdgeFlagPointerListIBM */ { -1, -1 } }; #endif @@ -5990,10 +6061,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[] = { - { 12666, -1 }, /* VertexPointervINTEL */ - { 15492, -1 }, /* ColorPointervINTEL */ - { 29784, -1 }, /* NormalPointervINTEL */ - { 30302, -1 }, /* TexCoordPointervINTEL */ + { 12716, -1 }, /* VertexPointervINTEL */ + { 15575, -1 }, /* ColorPointervINTEL */ + { 30038, -1 }, /* NormalPointervINTEL */ + { 30556, -1 }, /* TexCoordPointervINTEL */ { -1, -1 } }; #endif @@ -6010,7 +6081,7 @@ static const struct gl_function_remap GL_MESA_shader_debug_functions[] = { { 1638, -1 }, /* GetDebugLogLengthMESA */ { 3461, -1 }, /* ClearDebugLogMESA */ { 4540, -1 }, /* GetDebugLogMESA */ - { 30813, -1 }, /* CreateDebugObjectMESA */ + { 31067, -1 }, /* CreateDebugObjectMESA */ { -1, -1 } }; #endif @@ -6031,15 +6102,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[] = { - { 6768, -1 }, /* GetMapAttribParameterivNV */ - { 8491, -1 }, /* MapControlPointsNV */ - { 8590, -1 }, /* MapParameterfvNV */ - { 10632, -1 }, /* EvalMapsNV */ - { 17162, -1 }, /* GetMapAttribParameterfvNV */ - { 17379, -1 }, /* MapParameterivNV */ - { 24724, -1 }, /* GetMapParameterivNV */ - { 25222, -1 }, /* GetMapParameterfvNV */ - { 29099, -1 }, /* GetMapControlPointsNV */ + { 6751, -1 }, /* GetMapAttribParameterivNV */ + { 8474, -1 }, /* MapControlPointsNV */ + { 8573, -1 }, /* MapParameterfvNV */ + { 10662, -1 }, /* EvalMapsNV */ + { 17278, -1 }, /* GetMapAttribParameterfvNV */ + { 17495, -1 }, /* MapParameterivNV */ + { 24910, -1 }, /* GetMapParameterivNV */ + { 25408, -1 }, /* GetMapParameterfvNV */ + { 29353, -1 }, /* GetMapControlPointsNV */ { -1, -1 } }; #endif @@ -6081,8 +6152,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[] = { - { 15884, -1 }, /* CombinerStageParameterfvNV */ - { 16280, -1 }, /* GetCombinerStageParameterfvNV */ + { 15967, -1 }, /* CombinerStageParameterfvNV */ + { 16363, -1 }, /* GetCombinerStageParameterfvNV */ { -1, -1 } }; #endif @@ -6110,23 +6181,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[] = { - { 8711, -1 }, /* HintPGI */ + { 8694, -1 }, /* HintPGI */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_detail_texture) static const struct gl_function_remap GL_SGIS_detail_texture_functions[] = { - { 16253, -1 }, /* GetDetailTexFuncSGIS */ - { 16620, -1 }, /* DetailTexFuncSGIS */ + { 16336, -1 }, /* GetDetailTexFuncSGIS */ + { 16736, -1 }, /* DetailTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_fog_function) static const struct gl_function_remap GL_SGIS_fog_function_functions[] = { - { 27080, -1 }, /* FogFuncSGIS */ - { 27781, -1 }, /* GetFogFuncSGIS */ + { 27334, -1 }, /* FogFuncSGIS */ + { 28035, -1 }, /* GetFogFuncSGIS */ { -1, -1 } }; #endif @@ -6154,8 +6225,8 @@ 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[] = { - { 6829, -1 }, /* GetSharpenTexFuncSGIS */ - { 22047, -1 }, /* SharpenTexFuncSGIS */ + { 6812, -1 }, /* GetSharpenTexFuncSGIS */ + { 22204, -1 }, /* SharpenTexFuncSGIS */ { -1, -1 } }; #endif @@ -6163,22 +6234,22 @@ static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = { #if defined(need_GL_SGIS_texture4D) static const struct gl_function_remap GL_SGIS_texture4D_functions[] = { { 1010, -1 }, /* TexImage4DSGIS */ - { 15800, -1 }, /* TexSubImage4DSGIS */ + { 15883, -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[] = { - { 15198, -1 }, /* TextureColorMaskSGIS */ + { 15281, -1 }, /* TextureColorMaskSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_filter4) static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = { - { 7006, -1 }, /* GetTexFilterFuncSGIS */ - { 16399, -1 }, /* TexFilterFuncSGIS */ + { 6989, -1 }, /* GetTexFilterFuncSGIS */ + { 16482, -1 }, /* TexFilterFuncSGIS */ { -1, -1 } }; #endif @@ -6188,16 +6259,16 @@ static const struct gl_function_remap GL_SGIX_async_functions[] = { { 3387, -1 }, /* AsyncMarkerSGIX */ { 4519, -1 }, /* FinishAsyncSGIX */ { 5466, -1 }, /* PollAsyncSGIX */ - { 22228, -1 }, /* DeleteAsyncMarkersSGIX */ - { 22283, -1 }, /* IsAsyncMarkerSGIX */ - { 32318, -1 }, /* GenAsyncMarkersSGIX */ + { 22385, -1 }, /* DeleteAsyncMarkersSGIX */ + { 22440, -1 }, /* IsAsyncMarkerSGIX */ + { 32572, -1 }, /* GenAsyncMarkersSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_flush_raster) static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = { - { 7383, -1 }, /* FlushRasterSGIX */ + { 7366, -1 }, /* FlushRasterSGIX */ { -1, -1 } }; #endif @@ -6206,36 +6277,36 @@ static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = { static const struct gl_function_remap GL_SGIX_fragment_lighting_functions[] = { { 2625, -1 }, /* FragmentMaterialfvSGIX */ { 5370, -1 }, /* FragmentLightiSGIX */ - { 8103, -1 }, /* FragmentMaterialfSGIX */ - { 8264, -1 }, /* GetFragmentLightivSGIX */ - { 9137, -1 }, /* FragmentLightModeliSGIX */ - { 10695, -1 }, /* FragmentLightivSGIX */ - { 11013, -1 }, /* GetFragmentMaterialivSGIX */ - { 16193, -1 }, /* GetFragmentMaterialfvSGIX */ - { 19403, -1 }, /* FragmentLightModelfSGIX */ - { 19703, -1 }, /* FragmentColorMaterialSGIX */ - { 20120, -1 }, /* FragmentMaterialiSGIX */ - { 21380, -1 }, /* LightEnviSGIX */ - { 22974, -1 }, /* FragmentLightModelfvSGIX */ - { 23309, -1 }, /* FragmentLightfvSGIX */ - { 28165, -1 }, /* FragmentLightModelivSGIX */ - { 28314, -1 }, /* FragmentLightfSGIX */ - { 31189, -1 }, /* GetFragmentLightfvSGIX */ - { 32801, -1 }, /* FragmentMaterialivSGIX */ + { 8086, -1 }, /* FragmentMaterialfSGIX */ + { 8247, -1 }, /* GetFragmentLightivSGIX */ + { 9120, -1 }, /* FragmentLightModeliSGIX */ + { 10725, -1 }, /* FragmentLightivSGIX */ + { 11032, -1 }, /* GetFragmentMaterialivSGIX */ + { 16276, -1 }, /* GetFragmentMaterialfvSGIX */ + { 19543, -1 }, /* FragmentLightModelfSGIX */ + { 19843, -1 }, /* FragmentColorMaterialSGIX */ + { 20260, -1 }, /* FragmentMaterialiSGIX */ + { 21520, -1 }, /* LightEnviSGIX */ + { 23131, -1 }, /* FragmentLightModelfvSGIX */ + { 23466, -1 }, /* FragmentLightfvSGIX */ + { 28419, -1 }, /* FragmentLightModelivSGIX */ + { 28568, -1 }, /* FragmentLightfSGIX */ + { 31443, -1 }, /* GetFragmentLightfvSGIX */ + { 33055, -1 }, /* FragmentMaterialivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_framezoom) static const struct gl_function_remap GL_SGIX_framezoom_functions[] = { - { 22306, -1 }, /* FrameZoomSGIX */ + { 22463, -1 }, /* FrameZoomSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_igloo_interface) static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = { - { 28622, -1 }, /* IglooInterfaceSGIX */ + { 28876, -1 }, /* IglooInterfaceSGIX */ { -1, -1 } }; #endif @@ -6244,10 +6315,10 @@ static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = { static const struct gl_function_remap GL_SGIX_instruments_functions[] = { { 2805, -1 }, /* ReadInstrumentsSGIX */ { 6585, -1 }, /* PollInstrumentsSGIX */ - { 10553, -1 }, /* GetInstrumentsSGIX */ - { 12924, -1 }, /* StartInstrumentsSGIX */ - { 15918, -1 }, /* StopInstrumentsSGIX */ - { 17777, -1 }, /* InstrumentsBufferSGIX */ + { 10583, -1 }, /* GetInstrumentsSGIX */ + { 12974, -1 }, /* StartInstrumentsSGIX */ + { 16001, -1 }, /* StopInstrumentsSGIX */ + { 17917, -1 }, /* InstrumentsBufferSGIX */ { -1, -1 } }; #endif @@ -6256,10 +6327,10 @@ static const struct gl_function_remap GL_SGIX_instruments_functions[] = { static const struct gl_function_remap GL_SGIX_list_priority_functions[] = { { 1241, -1 }, /* ListParameterfSGIX */ { 3089, -1 }, /* GetListParameterfvSGIX */ - { 17692, -1 }, /* ListParameteriSGIX */ - { 18645, -1 }, /* ListParameterfvSGIX */ - { 20786, -1 }, /* ListParameterivSGIX */ - { 32362, -1 }, /* GetListParameterivSGIX */ + { 17808, -1 }, /* ListParameteriSGIX */ + { 18785, -1 }, /* ListParameterfvSGIX */ + { 20926, -1 }, /* ListParameterivSGIX */ + { 32616, -1 }, /* GetListParameterivSGIX */ { -1, -1 } }; #endif @@ -6274,53 +6345,53 @@ 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[] = { { 3685, -1 }, /* LoadIdentityDeformationMapSGIX */ - { 16018, -1 }, /* DeformSGIX */ - { 24222, -1 }, /* DeformationMap3fSGIX */ - { 31077, -1 }, /* DeformationMap3dSGIX */ + { 16101, -1 }, /* DeformSGIX */ + { 24408, -1 }, /* DeformationMap3fSGIX */ + { 31331, -1 }, /* DeformationMap3dSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_reference_plane) static const struct gl_function_remap GL_SGIX_reference_plane_functions[] = { - { 14749, -1 }, /* ReferencePlaneSGIX */ + { 14832, -1 }, /* ReferencePlaneSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_sprite) static const struct gl_function_remap GL_SGIX_sprite_functions[] = { - { 9635, -1 }, /* SpriteParameterfvSGIX */ - { 20575, -1 }, /* SpriteParameteriSGIX */ - { 26519, -1 }, /* SpriteParameterfSGIX */ - { 29242, -1 }, /* SpriteParameterivSGIX */ + { 9618, -1 }, /* SpriteParameterfvSGIX */ + { 20715, -1 }, /* SpriteParameteriSGIX */ + { 26738, -1 }, /* SpriteParameterfSGIX */ + { 29496, -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[] = { - { 20634, -1 }, /* TagSampleBufferSGIX */ + { 20774, -1 }, /* TagSampleBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGI_color_table) static const struct gl_function_remap GL_SGI_color_table_functions[] = { - { 7673, _gloffset_ColorTableParameteriv }, - { 8385, _gloffset_ColorTable }, - { 15245, _gloffset_GetColorTable }, - { 15355, _gloffset_CopyColorTable }, - { 19347, _gloffset_ColorTableParameterfv }, - { 22882, _gloffset_GetColorTableParameterfv }, - { 24980, _gloffset_GetColorTableParameteriv }, + { 7656, _gloffset_ColorTableParameteriv }, + { 8368, _gloffset_ColorTable }, + { 15328, _gloffset_GetColorTable }, + { 15438, _gloffset_CopyColorTable }, + { 19487, _gloffset_ColorTableParameterfv }, + { 23039, _gloffset_GetColorTableParameterfv }, + { 25166, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_SUNX_constant_data) static const struct gl_function_remap GL_SUNX_constant_data_functions[] = { - { 31167, -1 }, /* FinishTextureSUNX */ + { 31421, -1 }, /* FinishTextureSUNX */ { -1, -1 } }; #endif @@ -6330,18 +6401,18 @@ static const struct gl_function_remap GL_SUN_global_alpha_functions[] = { { 3408, -1 }, /* GlobalAlphaFactorubSUN */ { 4818, -1 }, /* GlobalAlphaFactoriSUN */ { 6610, -1 }, /* GlobalAlphaFactordSUN */ - { 9719, -1 }, /* GlobalAlphaFactoruiSUN */ - { 10144, -1 }, /* GlobalAlphaFactorbSUN */ - { 13239, -1 }, /* GlobalAlphaFactorfSUN */ - { 13403, -1 }, /* GlobalAlphaFactorusSUN */ - { 22569, -1 }, /* GlobalAlphaFactorsSUN */ + { 9702, -1 }, /* GlobalAlphaFactoruiSUN */ + { 10174, -1 }, /* GlobalAlphaFactorbSUN */ + { 13289, -1 }, /* GlobalAlphaFactorfSUN */ + { 13453, -1 }, /* GlobalAlphaFactorusSUN */ + { 22726, -1 }, /* GlobalAlphaFactorsSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_mesh_array) static const struct gl_function_remap GL_SUN_mesh_array_functions[] = { - { 29033, -1 }, /* DrawMeshArraysSUN */ + { 29287, -1 }, /* DrawMeshArraysSUN */ { -1, -1 } }; #endif @@ -6350,11 +6421,11 @@ static const struct gl_function_remap GL_SUN_mesh_array_functions[] = { static const struct gl_function_remap GL_SUN_triangle_list_functions[] = { { 4493, -1 }, /* ReplacementCodeubSUN */ { 6369, -1 }, /* ReplacementCodeubvSUN */ - { 19068, -1 }, /* ReplacementCodeusvSUN */ - { 19256, -1 }, /* ReplacementCodePointerSUN */ - { 21444, -1 }, /* ReplacementCodeuiSUN */ - { 22257, -1 }, /* ReplacementCodeusSUN */ - { 29699, -1 }, /* ReplacementCodeuivSUN */ + { 19208, -1 }, /* ReplacementCodeusvSUN */ + { 19396, -1 }, /* ReplacementCodePointerSUN */ + { 21584, -1 }, /* ReplacementCodeuiSUN */ + { 22414, -1 }, /* ReplacementCodeusSUN */ + { 29953, -1 }, /* ReplacementCodeuivSUN */ { -1, -1 } }; #endif @@ -6373,34 +6444,34 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = { { 5119, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ { 5570, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ { 6264, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ - { 7061, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ - { 7420, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ - { 8132, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ - { 8936, -1 }, /* Color3fVertex3fSUN */ - { 10080, -1 }, /* Color3fVertex3fvSUN */ - { 10518, -1 }, /* Color4fNormal3fVertex3fvSUN */ - { 11358, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ - { 12787, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ - { 14398, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ - { 14891, -1 }, /* TexCoord2fColor3fVertex3fSUN */ - { 15943, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ - { 16358, -1 }, /* Color4ubVertex2fvSUN */ - { 16645, -1 }, /* Normal3fVertex3fSUN */ - { 17718, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ - { 18079, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ - { 18897, -1 }, /* TexCoord2fVertex3fvSUN */ - { 19673, -1 }, /* Color4ubVertex2fSUN */ - { 19911, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ - { 21893, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ - { 22325, -1 }, /* Normal3fVertex3fvSUN */ - { 22791, -1 }, /* Color4fNormal3fVertex3fSUN */ - { 23771, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ - { 25840, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ - { 27196, -1 }, /* TexCoord4fVertex4fSUN */ - { 27622, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ - { 28009, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ - { 28136, -1 }, /* TexCoord4fVertex4fvSUN */ - { 28870, -1 }, /* ReplacementCodeuiVertex3fSUN */ + { 7044, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ + { 7403, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ + { 8115, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ + { 8919, -1 }, /* Color3fVertex3fSUN */ + { 10110, -1 }, /* Color3fVertex3fvSUN */ + { 10548, -1 }, /* Color4fNormal3fVertex3fvSUN */ + { 11377, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ + { 12837, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ + { 14448, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ + { 14974, -1 }, /* TexCoord2fColor3fVertex3fSUN */ + { 16026, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ + { 16441, -1 }, /* Color4ubVertex2fvSUN */ + { 16761, -1 }, /* Normal3fVertex3fSUN */ + { 17858, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ + { 18219, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ + { 19037, -1 }, /* TexCoord2fVertex3fvSUN */ + { 19813, -1 }, /* Color4ubVertex2fSUN */ + { 20051, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ + { 22050, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ + { 22482, -1 }, /* Normal3fVertex3fvSUN */ + { 22948, -1 }, /* Color4fNormal3fVertex3fSUN */ + { 23957, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ + { 26059, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ + { 27450, -1 }, /* TexCoord4fVertex4fSUN */ + { 27876, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ + { 28263, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ + { 28390, -1 }, /* TexCoord4fVertex4fvSUN */ + { 29124, -1 }, /* ReplacementCodeuiVertex3fSUN */ { -1, -1 } }; #endif @@ -6414,34 +6485,34 @@ static const struct gl_function_remap GL_VERSION_1_3_functions[] = { { 6155, _gloffset_MultiTexCoord3dARB }, { 6200, _gloffset_MultiTexCoord2iARB }, { 6324, _gloffset_MultiTexCoord2svARB }, - { 8341, _gloffset_MultiTexCoord2fARB }, - { 10354, _gloffset_MultiTexCoord3fvARB }, - { 10967, _gloffset_MultiTexCoord4sARB }, - { 11648, _gloffset_MultiTexCoord2dvARB }, - { 12063, _gloffset_MultiTexCoord1svARB }, - { 12435, _gloffset_MultiTexCoord3svARB }, - { 12496, _gloffset_MultiTexCoord4iARB }, - { 13266, _gloffset_MultiTexCoord3iARB }, - { 14136, _gloffset_MultiTexCoord1dARB }, - { 14353, _gloffset_MultiTexCoord3dvARB }, - { 15599, _gloffset_MultiTexCoord3ivARB }, - { 15644, _gloffset_MultiTexCoord2sARB }, - { 17045, _gloffset_MultiTexCoord4ivARB }, - { 18997, _gloffset_ClientActiveTextureARB }, - { 21297, _gloffset_MultiTexCoord2dARB }, - { 21717, _gloffset_MultiTexCoord4dvARB }, - { 22073, _gloffset_MultiTexCoord4fvARB }, - { 23023, _gloffset_MultiTexCoord3fARB }, - { 25531, _gloffset_MultiTexCoord4dARB }, - { 25797, _gloffset_MultiTexCoord1sARB }, - { 26001, _gloffset_MultiTexCoord1dvARB }, - { 26942, _gloffset_MultiTexCoord1ivARB }, - { 27035, _gloffset_MultiTexCoord2ivARB }, - { 27374, _gloffset_MultiTexCoord1iARB }, - { 28738, _gloffset_MultiTexCoord4svARB }, - { 29312, _gloffset_MultiTexCoord1fARB }, - { 29575, _gloffset_MultiTexCoord4fARB }, - { 32039, _gloffset_MultiTexCoord2fvARB }, + { 8324, _gloffset_MultiTexCoord2fARB }, + { 10384, _gloffset_MultiTexCoord3fvARB }, + { 10986, _gloffset_MultiTexCoord4sARB }, + { 11667, _gloffset_MultiTexCoord2dvARB }, + { 12082, _gloffset_MultiTexCoord1svARB }, + { 12454, _gloffset_MultiTexCoord3svARB }, + { 12515, _gloffset_MultiTexCoord4iARB }, + { 13316, _gloffset_MultiTexCoord3iARB }, + { 14186, _gloffset_MultiTexCoord1dARB }, + { 14403, _gloffset_MultiTexCoord3dvARB }, + { 15682, _gloffset_MultiTexCoord3ivARB }, + { 15727, _gloffset_MultiTexCoord2sARB }, + { 17161, _gloffset_MultiTexCoord4ivARB }, + { 19137, _gloffset_ClientActiveTextureARB }, + { 21437, _gloffset_MultiTexCoord2dARB }, + { 21874, _gloffset_MultiTexCoord4dvARB }, + { 22230, _gloffset_MultiTexCoord4fvARB }, + { 23180, _gloffset_MultiTexCoord3fARB }, + { 25750, _gloffset_MultiTexCoord4dARB }, + { 26016, _gloffset_MultiTexCoord1sARB }, + { 26220, _gloffset_MultiTexCoord1dvARB }, + { 27196, _gloffset_MultiTexCoord1ivARB }, + { 27289, _gloffset_MultiTexCoord2ivARB }, + { 27628, _gloffset_MultiTexCoord1iARB }, + { 28992, _gloffset_MultiTexCoord4svARB }, + { 29566, _gloffset_MultiTexCoord1fARB }, + { 29829, _gloffset_MultiTexCoord4fARB }, + { 32293, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; #endif diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index a311148eaa6..2ffd8be0eb4 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -50,6 +50,7 @@ #include "program/prog_uniform.h" #include "talloc.h" #include <stdbool.h> +#include "../glsl/glsl_parser_extras.h" /** Define this to enable shader substitution (see below) */ #define SHADER_SUBST 0 @@ -1639,8 +1640,7 @@ _mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, void GLAPIENTRY _mesa_ReleaseShaderCompiler(void) { - GET_CURRENT_CONTEXT(ctx); - _mesa_error(ctx, GL_INVALID_OPERATION, __FUNCTION__); + _mesa_destroy_shader_compiler_caches(); } @@ -1883,6 +1883,9 @@ _mesa_init_shader_dispatch(struct _glapi_table *exec) SET_BindFragDataLocationEXT(exec, _mesa_BindFragDataLocation); SET_GetFragDataLocationEXT(exec, _mesa_GetFragDataLocation); + /* GL_ARB_ES2_compatibility */ + SET_ReleaseShaderCompiler(exec, _mesa_ReleaseShaderCompiler); + #endif /* FEATURE_GL */ } diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index a3fa3fe826c..c1380f2a645 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -1467,7 +1467,7 @@ create_new_program(struct gl_context *ctx, struct state_key *key, p.last_tex_stage = 0; release_temps(ctx, &p); - if (key->enabled_units) { + if (key->enabled_units && key->num_draw_buffers) { GLboolean needbumpstage = GL_FALSE; /* Zeroth pass - bump map textures first */ @@ -1560,7 +1560,7 @@ create_new_program(struct gl_context *ctx, struct state_key *key, _mesa_copy_instructions(p.program->Base.Instructions, instBuffer, p.program->Base.NumInstructions); - if (p.program->FogOption) { + if (key->num_draw_buffers && p.program->FogOption) { _mesa_append_fog_code(ctx, p.program); p.program->FogOption = GL_NONE; } diff --git a/src/mesa/main/texfetch.c b/src/mesa/main/texfetch.c index 113512090b2..8aa1e4970d5 100644 --- a/src/mesa/main/texfetch.c +++ b/src/mesa/main/texfetch.c @@ -39,6 +39,7 @@ #include "texcompress_fxt1.h" #include "texcompress_s3tc.h" #include "texfetch.h" +#include "teximage.h" /** @@ -857,13 +858,36 @@ fetch_texel_chan_to_float(const struct gl_texture_image *texImage, void _mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims) { + gl_format format = texImage->TexFormat; + ASSERT(dims == 1 || dims == 2 || dims == 3); - texImage->FetchTexelf = - _mesa_get_texel_fetch_func(texImage->TexFormat, dims); + if (texImage->TexObject->sRGBDecode == GL_SKIP_DECODE_EXT && + _mesa_get_format_color_encoding(format) == GL_SRGB) { + format = _mesa_get_srgb_format_linear(format); + } + + texImage->FetchTexelf = _mesa_get_texel_fetch_func(format, dims); texImage->FetchTexelc = fetch_texel_float_to_chan; ASSERT(texImage->FetchTexelc); ASSERT(texImage->FetchTexelf); } + +void +_mesa_update_fetch_functions(struct gl_texture_object *texObj) +{ + GLuint face, i; + GLuint dims; + + dims = _mesa_get_texture_dimensions(texObj->Target); + + for (face = 0; face < 6; face++) { + for (i = 0; i < MAX_TEXTURE_LEVELS; i++) { + if (texObj->Image[face][i]) { + _mesa_set_fetch_functions(texObj->Image[face][i], dims); + } + } + } +} diff --git a/src/mesa/main/texfetch.h b/src/mesa/main/texfetch.h index e78079ae5ab..002ff0c768c 100644 --- a/src/mesa/main/texfetch.h +++ b/src/mesa/main/texfetch.h @@ -40,4 +40,6 @@ _mesa_get_texel_fetch_func(gl_format format, GLuint dims); extern void _mesa_set_fetch_functions(struct gl_texture_image *texImage, GLuint dims); +void +_mesa_update_fetch_functions(struct gl_texture_object *texObj); #endif diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index f61e0237add..5be881ec45e 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -141,6 +141,7 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj, obj->Swizzle[2] = GL_BLUE; obj->Swizzle[3] = GL_ALPHA; obj->_Swizzle = SWIZZLE_NOOP; + obj->sRGBDecode = GL_DECODE_EXT; } diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index d2b8b5ca4ad..29e409d0b8c 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -41,6 +41,7 @@ #include "main/texparam.h" #include "main/teximage.h" #include "main/texstate.h" +#include "main/texfetch.h" #include "program/prog_instruction.h" @@ -419,7 +420,20 @@ set_tex_parameteri(struct gl_context *ctx, } _mesa_error(ctx, GL_INVALID_ENUM, "glTexParameter(pname=0x%x)", pname); return GL_FALSE; - + case GL_TEXTURE_SRGB_DECODE_EXT: + if (ctx->Extensions.EXT_texture_sRGB_decode) { + GLenum decode = params[0]; + if (decode == GL_DECODE_EXT || decode == GL_SKIP_DECODE_EXT) { + if (texObj->sRGBDecode != decode) { + flush(ctx, texObj); + texObj->sRGBDecode = decode; + _mesa_update_fetch_functions(texObj); + } + return GL_TRUE; + } + } + _mesa_error(ctx, GL_INVALID_ENUM, "glTexParameter(pname=0x%x)", pname); + return GL_FALSE; default: _mesa_error(ctx, GL_INVALID_ENUM, "glTexParameter(pname=0x%x)", pname); } @@ -543,6 +557,7 @@ _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param) case GL_TEXTURE_COMPARE_MODE_ARB: case GL_TEXTURE_COMPARE_FUNC_ARB: case GL_DEPTH_TEXTURE_MODE_ARB: + case GL_TEXTURE_SRGB_DECODE_EXT: { /* convert float param to int */ GLint p[4]; @@ -591,6 +606,7 @@ _mesa_TexParameterfv(GLenum target, GLenum pname, const GLfloat *params) case GL_TEXTURE_COMPARE_MODE_ARB: case GL_TEXTURE_COMPARE_FUNC_ARB: case GL_DEPTH_TEXTURE_MODE_ARB: + case GL_TEXTURE_SRGB_DECODE_EXT: { /* convert float param to int */ GLint p[4]; diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c index d4def2e0fbe..8cec24c3e24 100644 --- a/src/mesa/main/texrender.c +++ b/src/mesa/main/texrender.c @@ -595,6 +595,11 @@ update_wrapper(struct gl_context *ctx, const struct gl_renderbuffer_attachment * trb->Base.DataType = CHAN_TYPE; trb->Base._BaseFormat = GL_RGBA; break; + case MESA_FORMAT_SARGB8: + trb->Fetchf = _mesa_get_texel_fetch_func(MESA_FORMAT_ARGB8888, _mesa_get_texture_dimensions(att->Texture->Target)); + trb->Base.DataType = CHAN_TYPE; + trb->Base._BaseFormat = GL_RGBA; + break; default: trb->Base.DataType = CHAN_TYPE; trb->Base._BaseFormat = GL_RGBA; diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index bcde65adc70..29d8a8827e3 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -534,11 +534,19 @@ get_vertex_array_attrib(struct gl_context *ctx, GLuint index, GLenum pname, if (ctx->Extensions.EXT_gpu_shader4) { return array->Integer; } - /* fall-through */ + goto error; + case GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB: + if (ctx->Extensions.ARB_instanced_arrays) { + return array->InstanceDivisor; + } + goto error; default: - _mesa_error(ctx, GL_INVALID_ENUM, "%s(pname=0x%x)", caller, pname); - return 0; + ; /* fall-through */ } + +error: + _mesa_error(ctx, GL_INVALID_ENUM, "%s(pname=0x%x)", caller, pname); + return 0; } @@ -1066,6 +1074,33 @@ _mesa_PrimitiveRestartIndex(GLuint index) /** + * See GL_ARB_instanced_arrays. + * Note that the instance divisor only applies to generic arrays, not + * the legacy vertex arrays. + */ +void GLAPIENTRY +_mesa_VertexAttribDivisor(GLuint index, GLuint divisor) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); + + if (!ctx->Extensions.ARB_instanced_arrays) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glVertexAttribDivisor()"); + return; + } + + if (index >= ctx->Const.VertexProgram.MaxAttribs) { + _mesa_error(ctx, GL_INVALID_ENUM, "glVertexAttribDivisor(index = %u)", + index); + return; + } + + ctx->Array.ArrayObj->VertexAttrib[index].InstanceDivisor = divisor; +} + + + +/** * Copy one client vertex array to another. */ void @@ -1082,6 +1117,7 @@ _mesa_copy_client_array(struct gl_context *ctx, dst->Enabled = src->Enabled; dst->Normalized = src->Normalized; dst->Integer = src->Integer; + dst->InstanceDivisor = src->InstanceDivisor; 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 af9324134ec..53e68c89667 100644 --- a/src/mesa/main/varray.h +++ b/src/mesa/main/varray.h @@ -218,6 +218,10 @@ extern void GLAPIENTRY _mesa_PrimitiveRestartIndex(GLuint index); +extern void GLAPIENTRY +_mesa_VertexAttribDivisor(GLuint index, GLuint divisor); + + extern void _mesa_copy_client_array(struct gl_context *ctx, struct gl_client_array *dst, diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c index d19ae3b6c12..a58697ab370 100644 --- a/src/mesa/main/viewport.c +++ b/src/mesa/main/viewport.c @@ -146,7 +146,11 @@ _mesa_DepthRange(GLclampd nearval, GLclampd farval) } } - +void GLAPIENTRY +_mesa_DepthRangef(GLclampf nearval, GLclampf farval) +{ + _mesa_DepthRange(nearval, farval); +} /** * Initialize the context viewport attribute group. diff --git a/src/mesa/main/viewport.h b/src/mesa/main/viewport.h index 909ff92eee5..db4507beaaf 100644 --- a/src/mesa/main/viewport.h +++ b/src/mesa/main/viewport.h @@ -43,6 +43,9 @@ _mesa_set_viewport(struct gl_context *ctx, GLint x, GLint y, extern void GLAPIENTRY _mesa_DepthRange(GLclampd nearval, GLclampd farval); +extern void GLAPIENTRY +_mesa_DepthRangef(GLclampf nearval, GLclampf farval); + extern void _mesa_init_viewport(struct gl_context *ctx); diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index c601ef6eaaa..786fdfbd231 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -295,6 +295,8 @@ public: bool process_move_condition(ir_rvalue *ir); + void copy_propagate(void); + void *mem_ctx; }; @@ -1460,6 +1462,7 @@ ir_to_mesa_visitor::visit(ir_dereference_variable *ir) case ir_var_in: case ir_var_out: case ir_var_inout: + case ir_var_system_value: /* The linker assigns locations for varyings and attributes, * including deprecated builtins (like gl_Color), user-assign * generic attributes (glBindVertexLocation), and @@ -1482,6 +1485,10 @@ ir_to_mesa_visitor::visit(ir_dereference_variable *ir) ir->var->type->gl_type, ir->var->location - VERT_ATTRIB_GENERIC0); } + } else if (ir->var->mode == ir_var_system_value) { + entry = new(mem_ctx) variable_storage(ir->var, + PROGRAM_SYSTEM_VALUE, + ir->var->location); } else { entry = new(mem_ctx) variable_storage(ir->var, PROGRAM_OUTPUT, @@ -2616,6 +2623,133 @@ set_uniform_initializers(struct gl_context *ctx, talloc_free(mem_ctx); } +/* + * On a basic block basis, tracks available PROGRAM_TEMPORARY register + * channels for copy propagation and updates following instructions to + * use the original versions. + * + * The ir_to_mesa_visitor lazily produces code assuming that this pass + * will occur. As an example, a TXP production before this pass: + * + * 0: MOV TEMP[1], INPUT[4].xyyy; + * 1: MOV TEMP[1].w, INPUT[4].wwww; + * 2: TXP TEMP[2], TEMP[1], texture[0], 2D; + * + * and after: + * + * 0: MOV TEMP[1], INPUT[4].xyyy; + * 1: MOV TEMP[1].w, INPUT[4].wwww; + * 2: TXP TEMP[2], INPUT[4].xyyw, texture[0], 2D; + * + * which allows for dead code elimination on TEMP[1]'s writes. + */ +void +ir_to_mesa_visitor::copy_propagate(void) +{ + ir_to_mesa_instruction **acp = talloc_zero_array(mem_ctx, + ir_to_mesa_instruction *, + this->next_temp * 4); + + foreach_iter(exec_list_iterator, iter, this->instructions) { + ir_to_mesa_instruction *inst = (ir_to_mesa_instruction *)iter.get(); + + /* First, do any copy propagation possible into the src regs. */ + for (int r = 0; r < 3; r++) { + ir_to_mesa_instruction *first = NULL; + bool good = true; + int acp_base = inst->src_reg[r].index * 4; + + if (inst->src_reg[r].file != PROGRAM_TEMPORARY || + inst->src_reg[r].reladdr) + continue; + + /* See if we can find entries in the ACP consisting of MOVs + * from the same src register for all the swizzled channels + * of this src register reference. + */ + for (int i = 0; i < 4; i++) { + int src_chan = GET_SWZ(inst->src_reg[r].swizzle, i); + ir_to_mesa_instruction *copy_chan = acp[acp_base + src_chan]; + + if (!copy_chan) { + good = false; + break; + } + + if (!first) { + first = copy_chan; + } else { + if (first->src_reg[0].file != copy_chan->src_reg[0].file || + first->src_reg[0].index != copy_chan->src_reg[0].index) { + good = false; + break; + } + } + } + + if (good) { + /* We've now validated that we can copy-propagate to + * replace this src register reference. Do it. + */ + inst->src_reg[r].file = first->src_reg[0].file; + inst->src_reg[r].index = first->src_reg[0].index; + + int swizzle = 0; + for (int i = 0; i < 4; i++) { + int src_chan = GET_SWZ(inst->src_reg[r].swizzle, i); + ir_to_mesa_instruction *copy_inst = acp[acp_base + src_chan]; + swizzle |= (GET_SWZ(copy_inst->src_reg[0].swizzle, src_chan) << + (3 * i)); + } + inst->src_reg[r].swizzle = swizzle; + } + } + + switch (inst->op) { + case OPCODE_BGNLOOP: + case OPCODE_ENDLOOP: + case OPCODE_ELSE: + case OPCODE_ENDIF: + /* End of a basic block, clear the ACP entirely. */ + memset(acp, 0, sizeof(*acp) * this->next_temp * 4); + break; + + default: + /* Continuing the block, clear any written channels from + * the ACP. + */ + if (inst->dst_reg.file == PROGRAM_TEMPORARY) { + if (inst->dst_reg.reladdr) { + memset(acp, 0, sizeof(*acp) * this->next_temp * 4); + } else { + for (int i = 0; i < 4; i++) { + if (inst->dst_reg.writemask & (1 << i)) { + acp[4 * inst->dst_reg.index + i] = NULL; + } + } + } + } + break; + } + + /* If this is a copy, add it to the ACP. */ + if (inst->op == OPCODE_MOV && + inst->dst_reg.file == PROGRAM_TEMPORARY && + !inst->dst_reg.reladdr && + !inst->saturate && + !inst->src_reg[0].reladdr && + !inst->src_reg[0].negate) { + for (int i = 0; i < 4; i++) { + if (inst->dst_reg.writemask & (1 << i)) { + acp[4 * inst->dst_reg.index + i] = inst; + } + } + } + } + + talloc_free(acp); +} + /** * Convert a shader's GLSL IR into a Mesa gl_program. @@ -2715,6 +2849,8 @@ get_mesa_program(struct gl_context *ctx, mesa_instruction_annotation = talloc_array(v.mem_ctx, ir_instruction *, num_instructions); + v.copy_propagate(); + /* Convert ir_mesa_instructions into prog_instructions. */ mesa_inst = mesa_instructions; diff --git a/src/mesa/program/prog_execute.c b/src/mesa/program/prog_execute.c index dd15e9a1ccd..e7553c69dbe 100644 --- a/src/mesa/program/prog_execute.c +++ b/src/mesa/program/prog_execute.c @@ -159,6 +159,10 @@ get_src_register_pointer(const struct prog_src_register *source, return ZeroVec; return prog->Parameters->ParameterValues[reg]; + case PROGRAM_SYSTEM_VALUE: + assert(reg < Elements(machine->SystemValues)); + return machine->SystemValues[reg]; + default: _mesa_problem(NULL, "Invalid src register file %d in get_src_register_pointer()", diff --git a/src/mesa/program/prog_execute.h b/src/mesa/program/prog_execute.h index cefd468c36b..cdf37082a00 100644 --- a/src/mesa/program/prog_execute.h +++ b/src/mesa/program/prog_execute.h @@ -61,6 +61,7 @@ struct gl_program_machine GLfloat (*EnvParams)[4]; /**< Vertex or Fragment env parameters */ GLuint CondCodes[4]; /**< COND_* value for x/y/z/w */ GLint AddressReg[MAX_PROGRAM_ADDRESS_REGS][4]; + GLfloat SystemValues[SYSTEM_VALUE_MAX][4]; const GLubyte *Samplers; /** Array mapping sampler var to tex unit */ diff --git a/src/mesa/program/prog_print.c b/src/mesa/program/prog_print.c index abebf392c0a..484596af760 100644 --- a/src/mesa/program/prog_print.c +++ b/src/mesa/program/prog_print.c @@ -72,6 +72,8 @@ _mesa_register_file_name(gl_register_file f) return "ADDR"; case PROGRAM_SAMPLER: return "SAMPLER"; + case PROGRAM_SYSTEM_VALUE: + return "SYSVAL"; case PROGRAM_UNDEFINED: return "UNDEFINED"; default: @@ -310,6 +312,9 @@ reg_string(gl_register_file f, GLint index, gl_prog_print_mode mode, case PROGRAM_UNIFORM: /* extension */ sprintf(str, "uniform[%s%d]", addr, index); break; + case PROGRAM_SYSTEM_VALUE: + sprintf(str, "sysvalue[%s%d]", addr, index); + break; case PROGRAM_STATE_VAR: { struct gl_program_parameter *param diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c index a8ec4adce77..8a3609e569f 100644 --- a/src/mesa/state_tracker/st_atom_blend.c +++ b/src/mesa/state_tracker/st_atom_blend.c @@ -169,13 +169,18 @@ colormask_per_rt(struct gl_context *ctx) } /** - * Figure out if blend enables are different per rt. + * Figure out if blend enables/state are different per rt. */ static GLboolean blend_per_rt(struct gl_context *ctx) { if (ctx->Color.BlendEnabled && (ctx->Color.BlendEnabled != ((1 << ctx->Const.MaxDrawBuffers) - 1))) { + /* This can only happen if GL_EXT_draw_buffers2 is enabled */ + return GL_TRUE; + } + if (ctx->Color._BlendFuncPerBuffer || ctx->Color._BlendEquationPerBuffer) { + /* this can only happen if GL_ARB_draw_buffers_blend is enabled */ return GL_TRUE; } return GL_FALSE; @@ -202,7 +207,7 @@ update_blend( struct st_context *st ) don't happen. */ if (st->ctx->Color.ColorLogicOpEnabled || (st->ctx->Color.BlendEnabled && - st->ctx->Color.BlendEquationRGB == GL_LOGIC_OP)) { + st->ctx->Color.Blend[0].EquationRGB == GL_LOGIC_OP)) { /* logicop enabled */ blend->logicop_enable = 1; blend->logicop_func = translate_logicop(st->ctx->Color.LogicOp); @@ -213,28 +218,36 @@ update_blend( struct st_context *st ) blend->rt[i].blend_enable = (st->ctx->Color.BlendEnabled >> i) & 0x1; - blend->rt[i].rgb_func = translate_blend(st->ctx->Color.BlendEquationRGB); - if (st->ctx->Color.BlendEquationRGB == GL_MIN || - st->ctx->Color.BlendEquationRGB == GL_MAX) { + blend->rt[i].rgb_func = + translate_blend(st->ctx->Color.Blend[i].EquationRGB); + + if (st->ctx->Color.Blend[i].EquationRGB == GL_MIN || + st->ctx->Color.Blend[i].EquationRGB == GL_MAX) { /* Min/max are special */ blend->rt[i].rgb_src_factor = PIPE_BLENDFACTOR_ONE; blend->rt[i].rgb_dst_factor = PIPE_BLENDFACTOR_ONE; } else { - blend->rt[i].rgb_src_factor = translate_blend(st->ctx->Color.BlendSrcRGB); - blend->rt[i].rgb_dst_factor = translate_blend(st->ctx->Color.BlendDstRGB); + blend->rt[i].rgb_src_factor = + translate_blend(st->ctx->Color.Blend[i].SrcRGB); + blend->rt[i].rgb_dst_factor = + translate_blend(st->ctx->Color.Blend[i].DstRGB); } - blend->rt[i].alpha_func = translate_blend(st->ctx->Color.BlendEquationA); - if (st->ctx->Color.BlendEquationA == GL_MIN || - st->ctx->Color.BlendEquationA == GL_MAX) { + blend->rt[i].alpha_func = + translate_blend(st->ctx->Color.Blend[i].EquationA); + + if (st->ctx->Color.Blend[i].EquationA == GL_MIN || + st->ctx->Color.Blend[i].EquationA == GL_MAX) { /* Min/max are special */ blend->rt[i].alpha_src_factor = PIPE_BLENDFACTOR_ONE; blend->rt[i].alpha_dst_factor = PIPE_BLENDFACTOR_ONE; } else { - blend->rt[i].alpha_src_factor = translate_blend(st->ctx->Color.BlendSrcA); - blend->rt[i].alpha_dst_factor = translate_blend(st->ctx->Color.BlendDstA); + blend->rt[i].alpha_src_factor = + translate_blend(st->ctx->Color.Blend[i].SrcA); + blend->rt[i].alpha_dst_factor = + translate_blend(st->ctx->Color.Blend[i].DstA); } } } diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index 029b0403462..422ae43585b 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -221,6 +221,10 @@ update_textures(struct st_context *st) firstImage = st_texture_image(stObj->base.Image[0][stObj->base.BaseLevel]); firstImageFormat = st_mesa_format_to_pipe_format(firstImage->base.TexFormat); + if ((stObj->base.sRGBDecode == GL_SKIP_DECODE_EXT) && (_mesa_get_format_color_encoding(firstImage->base.TexFormat) == GL_SRGB)) { + firstImageFormat = st_mesa_format_to_pipe_format(_mesa_get_srgb_format_linear(firstImage->base.TexFormat)); + } + if (firstImageFormat != stObj->pt->format) st_view_format = firstImageFormat; diff --git a/src/mesa/state_tracker/st_cb_queryobj.c b/src/mesa/state_tracker/st_cb_queryobj.c index 35036e72f90..d0ac253bcec 100644 --- a/src/mesa/state_tracker/st_cb_queryobj.c +++ b/src/mesa/state_tracker/st_cb_queryobj.c @@ -85,6 +85,8 @@ st_BeginQuery(struct gl_context *ctx, struct gl_query_object *q) /* convert GL query type to Gallium query type */ switch (q->Target) { + case GL_ANY_SAMPLES_PASSED: + /* fall-through */ case GL_SAMPLES_PASSED_ARB: type = PIPE_QUERY_OCCLUSION_COUNTER; break; diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 14d33f7b490..09a10ba5819 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -1858,9 +1858,8 @@ st_finalize_texture(struct gl_context *ctx, * will match. */ if (firstImage->pt && - stObj->pt && firstImage->pt != stObj->pt && - firstImage->pt->last_level >= stObj->pt->last_level) { + (!stObj->pt || firstImage->pt->last_level >= stObj->pt->last_level)) { pipe_resource_reference(&stObj->pt, firstImage->pt); pipe_sampler_view_reference(&stObj->sampler_view, NULL); } diff --git a/src/mesa/state_tracker/st_draw.c b/src/mesa/state_tracker/st_draw.c index db70daacc48..8e1263fe84e 100644 --- a/src/mesa/state_tracker/st_draw.c +++ b/src/mesa/state_tracker/st_draw.c @@ -387,9 +387,16 @@ setup_interleaved_attribs(struct gl_context *ctx, vbuffer->max_index = max_index; } + /* + if (arrays[mesaAttr]->InstanceDivisor) + vbuffer[attr].max_index = arrays[mesaAttr]->_MaxElement; + else + vbuffer[attr].max_index = max_index; + */ + velements[attr].src_offset = (unsigned) (arrays[mesaAttr]->Ptr - offset0); - velements[attr].instance_divisor = 0; + velements[attr].instance_divisor = arrays[mesaAttr]->InstanceDivisor; velements[attr].vertex_buffer_index = 0; velements[attr].src_format = st_pipe_vertex_format(arrays[mesaAttr]->Type, @@ -440,7 +447,6 @@ setup_non_interleaved_attribs(struct gl_context *ctx, vbuffer[attr].buffer = NULL; pipe_resource_reference(&vbuffer[attr].buffer, stobj->buffer); vbuffer[attr].buffer_offset = pointer_to_offset(arrays[mesaAttr]->Ptr); - velements[attr].src_offset = 0; } else { /* attribute data is in user-space memory, not a VBO */ @@ -476,15 +482,19 @@ setup_non_interleaved_attribs(struct gl_context *ctx, } vbuffer[attr].buffer_offset = 0; - velements[attr].src_offset = 0; } assert(velements[attr].src_offset <= 2048); /* 11-bit field */ /* common-case setup */ vbuffer[attr].stride = stride; /* in bytes */ - vbuffer[attr].max_index = max_index; - velements[attr].instance_divisor = 0; + if (arrays[mesaAttr]->InstanceDivisor) + vbuffer[attr].max_index = arrays[mesaAttr]->_MaxElement; + else + vbuffer[attr].max_index = max_index; + + velements[attr].src_offset = 0; + velements[attr].instance_divisor = arrays[mesaAttr]->InstanceDivisor; velements[attr].vertex_buffer_index = attr; velements[attr].src_format = st_pipe_vertex_format(arrays[mesaAttr]->Type, diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index d240cab1a74..abaf8235416 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -387,6 +387,7 @@ void st_init_extensions(struct st_context *st) PIPE_TEXTURE_2D, 0, PIPE_BIND_SAMPLER_VIEW, 0)) { ctx->Extensions.EXT_texture_sRGB = GL_TRUE; + ctx->Extensions.EXT_texture_sRGB_decode = GL_TRUE; } if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8_UNORM, @@ -438,11 +439,9 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_half_float_vertex = GL_TRUE; } -#if 0 /* not yet */ if (screen->get_param(screen, PIPE_CAP_INDEP_BLEND_FUNC)) { ctx->Extensions.ARB_draw_buffers_blend = GL_TRUE; } -#endif if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { #if 0 /* XXX re-enable when GLSL compiler again supports geometry shaders */ @@ -461,4 +460,9 @@ void st_init_extensions(struct st_context *st) if (screen->get_param(screen, PIPE_CAP_SHADER_STENCIL_EXPORT)) { ctx->Extensions.ARB_shader_stencil_export = GL_TRUE; } + + if (screen->get_param(screen, PIPE_CAP_INSTANCED_DRAWING)) { + ctx->Extensions.ARB_draw_instanced = GL_TRUE; + ctx->Extensions.ARB_instanced_arrays = GL_TRUE; + } } diff --git a/src/mesa/state_tracker/st_mesa_to_tgsi.c b/src/mesa/state_tracker/st_mesa_to_tgsi.c index f848462310e..42f1c2017f8 100644 --- a/src/mesa/state_tracker/st_mesa_to_tgsi.c +++ b/src/mesa/state_tracker/st_mesa_to_tgsi.c @@ -72,6 +72,7 @@ struct st_translate { struct ureg_src inputs[PIPE_MAX_SHADER_INPUTS]; struct ureg_dst address[1]; struct ureg_src samplers[PIPE_MAX_SAMPLERS]; + struct ureg_src systemValues[SYSTEM_VALUE_MAX]; /* Extra info for handling point size clamping in vertex shader */ struct ureg_dst pointSizeResult; /**< Actual point size output register */ @@ -104,6 +105,13 @@ struct st_translate { }; +/** Map Mesa's SYSTEM_VALUE_x to TGSI_SEMANTIC_x */ +static unsigned mesa_sysval_to_semantic[SYSTEM_VALUE_MAX] = { + TGSI_SEMANTIC_FACE, + TGSI_SEMANTIC_INSTANCEID +}; + + /** * Make note of a branch to a label in the TGSI code. * After we've emitted all instructions, we'll go over the list @@ -245,6 +253,10 @@ src_register( struct st_translate *t, case PROGRAM_ADDRESS: return ureg_src(t->address[index]); + case PROGRAM_SYSTEM_VALUE: + assert(index < Elements(t->systemValues)); + return t->systemValues[index]; + default: debug_assert( 0 ); return ureg_src_undef(); @@ -1089,6 +1101,21 @@ st_translate_mesa_program( t->address[0] = ureg_DECL_address( ureg ); } + /* Declare misc input registers + */ + { + GLbitfield sysInputs = program->SystemValuesRead; + unsigned numSys = 0; + for (i = 0; sysInputs; i++) { + if (sysInputs & (1 << i)) { + unsigned semName = mesa_sysval_to_semantic[i]; + t->systemValues[i] = ureg_DECL_system_value(ureg, numSys, semName, 0); + numSys++; + sysInputs &= ~(1 << i); + } + } + } + if (program->IndirectRegisterFiles & (1 << PROGRAM_TEMPORARY)) { /* If temps are accessed with indirect addressing, declare temporaries * in sequential order. Else, we declare them on demand elsewhere. diff --git a/src/mesa/swrast/s_blend.c b/src/mesa/swrast/s_blend.c index d61baba0f33..793921250ad 100644 --- a/src/mesa/swrast/s_blend.c +++ b/src/mesa/swrast/s_blend.c @@ -75,10 +75,10 @@ blend_noop(struct gl_context *ctx, GLuint n, const GLubyte mask[], { GLint bytes; - ASSERT(ctx->Color.BlendEquationRGB == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendEquationA == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendSrcRGB == GL_ZERO); - ASSERT(ctx->Color.BlendDstRGB == GL_ONE); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].EquationA == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].SrcRGB == GL_ZERO); + ASSERT(ctx->Color.Blend[0].DstRGB == GL_ONE); (void) ctx; /* just memcpy */ @@ -101,10 +101,10 @@ static void _BLENDAPI blend_replace(struct gl_context *ctx, GLuint n, const GLubyte mask[], GLvoid *src, const GLvoid *dst, GLenum chanType) { - ASSERT(ctx->Color.BlendEquationRGB == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendEquationA == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendSrcRGB == GL_ONE); - ASSERT(ctx->Color.BlendDstRGB == GL_ZERO); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].EquationA == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].SrcRGB == GL_ONE); + ASSERT(ctx->Color.Blend[0].DstRGB == GL_ZERO); (void) ctx; (void) n; (void) mask; @@ -125,12 +125,12 @@ blend_transparency_ubyte(struct gl_context *ctx, GLuint n, const GLubyte mask[], const GLubyte (*dest)[4] = (const GLubyte (*)[4]) dst; GLuint i; - ASSERT(ctx->Color.BlendEquationRGB == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendEquationA == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendSrcRGB == GL_SRC_ALPHA); - ASSERT(ctx->Color.BlendSrcA == GL_SRC_ALPHA); - ASSERT(ctx->Color.BlendDstRGB == GL_ONE_MINUS_SRC_ALPHA); - ASSERT(ctx->Color.BlendDstA == GL_ONE_MINUS_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].EquationA == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].SrcRGB == GL_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].SrcA == GL_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].DstRGB == GL_ONE_MINUS_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].DstA == GL_ONE_MINUS_SRC_ALPHA); ASSERT(chanType == GL_UNSIGNED_BYTE); (void) ctx; @@ -170,12 +170,12 @@ blend_transparency_ushort(struct gl_context *ctx, GLuint n, const GLubyte mask[] const GLushort (*dest)[4] = (const GLushort (*)[4]) dst; GLuint i; - ASSERT(ctx->Color.BlendEquationRGB == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendEquationA == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendSrcRGB == GL_SRC_ALPHA); - ASSERT(ctx->Color.BlendSrcA == GL_SRC_ALPHA); - ASSERT(ctx->Color.BlendDstRGB == GL_ONE_MINUS_SRC_ALPHA); - ASSERT(ctx->Color.BlendDstA == GL_ONE_MINUS_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].EquationA == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].SrcRGB == GL_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].SrcA == GL_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].DstRGB == GL_ONE_MINUS_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].DstA == GL_ONE_MINUS_SRC_ALPHA); ASSERT(chanType == GL_UNSIGNED_SHORT); (void) ctx; @@ -208,12 +208,12 @@ blend_transparency_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], const GLfloat (*dest)[4] = (const GLfloat (*)[4]) dst; GLuint i; - ASSERT(ctx->Color.BlendEquationRGB == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendEquationA == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendSrcRGB == GL_SRC_ALPHA); - ASSERT(ctx->Color.BlendSrcA == GL_SRC_ALPHA); - ASSERT(ctx->Color.BlendDstRGB == GL_ONE_MINUS_SRC_ALPHA); - ASSERT(ctx->Color.BlendDstA == GL_ONE_MINUS_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].EquationA == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].SrcRGB == GL_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].SrcA == GL_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].DstRGB == GL_ONE_MINUS_SRC_ALPHA); + ASSERT(ctx->Color.Blend[0].DstA == GL_ONE_MINUS_SRC_ALPHA); ASSERT(chanType == GL_FLOAT); (void) ctx; @@ -248,10 +248,10 @@ blend_add(struct gl_context *ctx, GLuint n, const GLubyte mask[], { GLuint i; - ASSERT(ctx->Color.BlendEquationRGB == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendEquationA == GL_FUNC_ADD); - ASSERT(ctx->Color.BlendSrcRGB == GL_ONE); - ASSERT(ctx->Color.BlendDstRGB == GL_ONE); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].EquationA == GL_FUNC_ADD); + ASSERT(ctx->Color.Blend[0].SrcRGB == GL_ONE); + ASSERT(ctx->Color.Blend[0].DstRGB == GL_ONE); (void) ctx; if (chanType == GL_UNSIGNED_BYTE) { @@ -313,8 +313,8 @@ blend_min(struct gl_context *ctx, GLuint n, const GLubyte mask[], GLvoid *src, const GLvoid *dst, GLenum chanType) { GLuint i; - ASSERT(ctx->Color.BlendEquationRGB == GL_MIN); - ASSERT(ctx->Color.BlendEquationA == GL_MIN); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_MIN); + ASSERT(ctx->Color.Blend[0].EquationA == GL_MIN); (void) ctx; if (chanType == GL_UNSIGNED_BYTE) { @@ -366,8 +366,8 @@ blend_max(struct gl_context *ctx, GLuint n, const GLubyte mask[], GLvoid *src, const GLvoid *dst, GLenum chanType) { GLuint i; - ASSERT(ctx->Color.BlendEquationRGB == GL_MAX); - ASSERT(ctx->Color.BlendEquationA == GL_MAX); + ASSERT(ctx->Color.Blend[0].EquationRGB == GL_MAX); + ASSERT(ctx->Color.Blend[0].EquationA == GL_MAX); (void) ctx; if (chanType == GL_UNSIGNED_BYTE) { @@ -500,7 +500,7 @@ blend_general_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], */ /* Source RGB factor */ - switch (ctx->Color.BlendSrcRGB) { + switch (ctx->Color.Blend[0].SrcRGB) { case GL_ZERO: sR = sG = sB = 0.0F; break; @@ -570,7 +570,7 @@ blend_general_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], } /* Source Alpha factor */ - switch (ctx->Color.BlendSrcA) { + switch (ctx->Color.Blend[0].SrcA) { case GL_ZERO: sA = 0.0F; break; @@ -624,7 +624,7 @@ blend_general_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], } /* Dest RGB factor */ - switch (ctx->Color.BlendDstRGB) { + switch (ctx->Color.Blend[0].DstRGB) { case GL_ZERO: dR = dG = dB = 0.0F; break; @@ -687,7 +687,7 @@ blend_general_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], } /* Dest Alpha factor */ - switch (ctx->Color.BlendDstA) { + switch (ctx->Color.Blend[0].DstA) { case GL_ZERO: dA = 0.0F; break; @@ -738,7 +738,7 @@ blend_general_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], } /* compute the blended RGB */ - switch (ctx->Color.BlendEquationRGB) { + switch (ctx->Color.Blend[0].EquationRGB) { case GL_FUNC_ADD: r = Rs * sR + Rd * dR; g = Gs * sG + Gd * dG; @@ -775,7 +775,7 @@ blend_general_float(struct gl_context *ctx, GLuint n, const GLubyte mask[], } /* compute the blended alpha */ - switch (ctx->Color.BlendEquationA) { + switch (ctx->Color.Blend[0].EquationA) { case GL_FUNC_ADD: a = As * sA + Ad * dA; break; @@ -907,13 +907,13 @@ void _swrast_choose_blend_func(struct gl_context *ctx, GLenum chanType) { SWcontext *swrast = SWRAST_CONTEXT(ctx); - const GLenum eq = ctx->Color.BlendEquationRGB; - const GLenum srcRGB = ctx->Color.BlendSrcRGB; - const GLenum dstRGB = ctx->Color.BlendDstRGB; - const GLenum srcA = ctx->Color.BlendSrcA; - const GLenum dstA = ctx->Color.BlendDstA; + const GLenum eq = ctx->Color.Blend[0].EquationRGB; + const GLenum srcRGB = ctx->Color.Blend[0].SrcRGB; + const GLenum dstRGB = ctx->Color.Blend[0].DstRGB; + const GLenum srcA = ctx->Color.Blend[0].SrcA; + const GLenum dstA = ctx->Color.Blend[0].DstA; - if (ctx->Color.BlendEquationRGB != ctx->Color.BlendEquationA) { + if (ctx->Color.Blend[0].EquationRGB != ctx->Color.Blend[0].EquationA) { swrast->BlendFunc = blend_general; } else if (eq == GL_MIN) { diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h index bc01646247c..6a9444216c0 100644 --- a/src/mesa/tnl/t_context.h +++ b/src/mesa/tnl/t_context.h @@ -527,6 +527,8 @@ typedef struct GLubyte *block[VERT_ATTRIB_MAX]; GLuint nr_blocks; + GLuint CurInstance; + } TNLcontext; diff --git a/src/mesa/tnl/t_draw.c b/src/mesa/tnl/t_draw.c index 30f1bf323cb..bdb893eba22 100644 --- a/src/mesa/tnl/t_draw.c +++ b/src/mesa/tnl/t_draw.c @@ -453,6 +453,7 @@ void _tnl_draw_prims( struct gl_context *ctx, */ struct gl_buffer_object *bo[VERT_ATTRIB_MAX + 1]; GLuint nr_bo = 0; + GLuint inst; for (i = 0; i < nr_prims;) { GLuint this_nr_prims; @@ -470,15 +471,19 @@ void _tnl_draw_prims( struct gl_context *ctx, /* Binding inputs may imply mapping some vertex buffer objects. * They will need to be unmapped below. */ - bind_prims(ctx, &prim[i], this_nr_prims); - bind_inputs(ctx, arrays, max_index + prim[i].basevertex + 1, - bo, &nr_bo); - bind_indices(ctx, ib, bo, &nr_bo); + for (inst = 0; inst < prim[i].num_instances; inst++) { - TNL_CONTEXT(ctx)->Driver.RunPipeline(ctx); + bind_prims(ctx, &prim[i], this_nr_prims); + bind_inputs(ctx, arrays, max_index + prim[i].basevertex + 1, + bo, &nr_bo); + bind_indices(ctx, ib, bo, &nr_bo); - unmap_vbos(ctx, bo, nr_bo); - free_space(ctx); + tnl->CurInstance = inst; + TNL_CONTEXT(ctx)->Driver.RunPipeline(ctx); + + unmap_vbos(ctx, bo, nr_bo); + free_space(ctx); + } i += this_nr_prims; } diff --git a/src/mesa/tnl/t_vb_program.c b/src/mesa/tnl/t_vb_program.c index 94372bbafbc..f5d8f7477aa 100644 --- a/src/mesa/tnl/t_vb_program.c +++ b/src/mesa/tnl/t_vb_program.c @@ -220,7 +220,8 @@ _tnl_program_string(struct gl_context *ctx, GLenum target, struct gl_program *pr * Initialize virtual machine state prior to executing vertex program. */ static void -init_machine(struct gl_context *ctx, struct gl_program_machine *machine) +init_machine(struct gl_context *ctx, struct gl_program_machine *machine, + GLuint instID) { /* Input registers get initialized from the current vertex attribs */ memcpy(machine->VertAttribs, ctx->Current.Attrib, @@ -256,6 +257,8 @@ init_machine(struct gl_context *ctx, struct gl_program_machine *machine) machine->FetchTexelDeriv = NULL; /* not used by vertex programs */ machine->Samplers = ctx->VertexProgram._Current->Base.SamplerUnits; + + machine->SystemValues[SYSTEM_VALUE_INSTANCE_ID][0] = (GLfloat) instID; } @@ -341,7 +344,7 @@ run_vp( struct gl_context *ctx, struct tnl_pipeline_stage *stage ) for (i = 0; i < VB->Count; i++) { GLuint attr; - init_machine(ctx, machine); + init_machine(ctx, machine, tnl->CurInstance); #if 0 printf("Input %d: %f, %f, %f, %f\n", i, |