diff options
181 files changed, 19136 insertions, 19947 deletions
diff --git a/mesalib/configs/autoconf.in b/mesalib/configs/autoconf.in index 96fe5da87..3d4c749cf 100644 --- a/mesalib/configs/autoconf.in +++ b/mesalib/configs/autoconf.in @@ -25,7 +25,7 @@ CXXFLAGS = $(CXXFLAGS_NOVISIBILITY) @VISIBILITY_CXXFLAGS@ LDFLAGS = @LDFLAGS@ EXTRA_LIB_PATH = @EXTRA_LIB_PATH@ RADEON_CFLAGS = @RADEON_CFLAGS@ -RADEON_LDFLAGS = @RADEON_LDFLAGS@ +RADEON_LIBS = @RADEON_LIBS@ NOUVEAU_CFLAGS = @NOUVEAU_CFLAGS@ NOUVEAU_LIBS = @NOUVEAU_LIBS@ INTEL_LIBS = @INTEL_LIBS@ diff --git a/mesalib/configs/freebsd-dri b/mesalib/configs/freebsd-dri index 9e810c4b8..b18ac51e3 100644 --- a/mesalib/configs/freebsd-dri +++ b/mesalib/configs/freebsd-dri @@ -47,5 +47,5 @@ DRIVER_DIRS = dri DRM_SOURCE_PATH=$(TOP)/../drm -DRI_DIRS = i915 i965 r200 r300 radeon +DRI_DIRS = i915 i965 r200 radeon diff --git a/mesalib/configs/linux-dri b/mesalib/configs/linux-dri index aa2dddc1c..44c0c3d1d 100644 --- a/mesalib/configs/linux-dri +++ b/mesalib/configs/linux-dri @@ -62,7 +62,7 @@ GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel drm/i965 svga/drm GALLIUM_TARGET_DIRS = dri-vmwgfx GALLIUM_STATE_TRACKERS_DIRS = egl dri -DRI_DIRS = i915 i965 nouveau r200 r300 r600 radeon swrast +DRI_DIRS = i915 i965 nouveau r200 radeon swrast INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel) INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel) diff --git a/mesalib/configs/linux-dri-debug b/mesalib/configs/linux-dri-debug index c42654ce3..a1a4465d8 100644 --- a/mesalib/configs/linux-dri-debug +++ b/mesalib/configs/linux-dri-debug @@ -10,5 +10,5 @@ ARCH_FLAGS = -DDEBUG # Helpful to reduce the amount of stuff that gets built sometimes: #DRI_DIRS = i915tex i915 #DRI_DIRS = i965 -#DRI_DIRS = radeon r200 r300 +#DRI_DIRS = radeon r200 diff --git a/mesalib/configs/linux-dri-ppc b/mesalib/configs/linux-dri-ppc index cc1ab9c4f..5dd3615ff 100644 --- a/mesalib/configs/linux-dri-ppc +++ b/mesalib/configs/linux-dri-ppc @@ -13,5 +13,5 @@ MESA_ASM_SOURCES = $(PPC_SOURCES) # Build only the drivers for cards that exist on PowerPC. At some point MGA # will be added, but not yet. -DRI_DIRS = r200 r300 radeon +DRI_DIRS = r200 radeon diff --git a/mesalib/configs/linux-dri-x86-64 b/mesalib/configs/linux-dri-x86-64 index 84f547812..c1dff630f 100644 --- a/mesalib/configs/linux-dri-x86-64 +++ b/mesalib/configs/linux-dri-x86-64 @@ -16,5 +16,5 @@ LIB_DIR = lib64 # Library/program dependencies EXTRA_LIB_PATH=-L/usr/X11R6/lib64 -DRI_DIRS = i915 i965 r200 r300 radeon +DRI_DIRS = i915 i965 r200 radeon diff --git a/mesalib/configs/linux-dri-xcb b/mesalib/configs/linux-dri-xcb index 6968bebe4..85665207b 100644 --- a/mesalib/configs/linux-dri-xcb +++ b/mesalib/configs/linux-dri-xcb @@ -52,4 +52,4 @@ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \ SRC_DIRS = glx gallium mesa glu DRIVER_DIRS = dri -DRI_DIRS = i915 r200 r300 radeon +DRI_DIRS = i915 r200 radeon diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 369614528..30b3b96c3 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -24,7 +24,7 @@ USER_CXXFLAGS="$CXXFLAGS" dnl Versions for external dependencies LIBDRM_REQUIRED=2.4.24 LIBDRM_RADEON_REQUIRED=2.4.24 -LIBDRM_INTEL_REQUIRED=2.4.24 +LIBDRM_INTEL_REQUIRED=2.4.27 LIBDRM_NOUVEAU_REQUIRED=0.6 DRI2PROTO_REQUIRED=2.6 GLPROTO_REQUIRED=1.4.14 @@ -1185,19 +1185,19 @@ if test "x$enable_dri" = xyes; then case "$host_cpu" in x86_64) if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i915 i965 nouveau r200 r300 r600 radeon swrast" + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" fi ;; powerpc*) # Build only the drivers for cards that exist on PowerPC. if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="r200 r300 r600 radeon swrast" + DRI_DIRS="r200 radeon swrast" fi ;; sparc*) # Build only the drivers for cards that exist on sparc if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="r200 r300 r600 radeon swrast" + DRI_DIRS="r200 radeon swrast" fi ;; esac @@ -1207,7 +1207,7 @@ if test "x$enable_dri" = xyes; then DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS" if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i915 i965 nouveau r200 r300 r600 radeon swrast" + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" fi ;; gnu*) @@ -1227,7 +1227,7 @@ if test "x$enable_dri" = xyes; then # default drivers if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i915 i965 nouveau r200 r300 r600 radeon swrast" + DRI_DIRS="i915 i965 nouveau r200 radeon swrast" fi DRI_DIRS=`echo "$DRI_DIRS" | $SED 's/ */ /g'` @@ -1276,20 +1276,10 @@ case $DRI_DIRS in esac case $DRI_DIRS in -*radeon*|*r200*|*r300*|*r600*) - PKG_CHECK_MODULES([LIBDRM_RADEON], - [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED], - HAVE_LIBDRM_RADEON=yes, - HAVE_LIBDRM_RADEON=no) - - if test "x$HAVE_LIBDRM_RADEON" = xyes; then - RADEON_CFLAGS="-DHAVE_LIBDRM_RADEON=1 $LIBDRM_RADEON_CFLAGS" - RADEON_LDFLAGS=$LIBDRM_RADEON_LIBS - fi +*radeon*|*r200*) + PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) ;; esac -AC_SUBST([RADEON_CFLAGS]) -AC_SUBST([RADEON_LDFLAGS]) dnl @@ -1878,9 +1868,9 @@ if test "x$with_gallium_drivers" != x; then if test "x$HAVE_ST_VA" = xyes; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS va-softpipe" fi - if test "x$HAVE_ST_VDPAU" == xyes || - test "x$HAVE_ST_XVMC" == xyes || - test "x$HAVE_ST_VA" == xyes; then + if test "x$HAVE_ST_VDPAU" = xyes || + test "x$HAVE_ST_XVMC" = xyes || + test "x$HAVE_ST_VA" = xyes; then if test "x$HAVE_WINSYS_XLIB" != xyes; then GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib" fi diff --git a/mesalib/docs/relnotes-7.12.html b/mesalib/docs/relnotes-7.12.html index 514962112..a92278e0a 100644 --- a/mesalib/docs/relnotes-7.12.html +++ b/mesalib/docs/relnotes-7.12.html @@ -39,10 +39,13 @@ tbd <li>GL_ARB_ES2_compatibility (r300g, r600g) <li>GL_ARB_depth_buffer_float (r600g) <li>GL_ARB_vertex_type_2_10_10_10_rev (r600g) +<li>GL_ARB_texture_storage (gallium drivers and swrast) <li>GL_EXT_packed_float (i965) <li>GL_EXT_texture_array (r600g) <li>GL_EXT_texture_shared_exponent (i965) +<li>GL_NV_fog_distance (all gallium drivers, nouveau classic) <li>GL_NV_primitive_restart (r600g) +<li>GL_OES_EGL_image_external (gallium drivers) <li>Many updates to the VMware svga Gallium driver </ul> @@ -66,6 +69,8 @@ tbd to a color (e.g., RGBA) texture. However, the data cannot be stored internally as color-index.</li> <li>Removed support for GL_APPLE_client_storage extension. +<li>Removed the classic Mesa r300 and r600 drivers, which are superseded + by the gallium drivers for this hardware. </ul> diff --git a/mesalib/include/GLES/glext.h b/mesalib/include/GLES/glext.h index 162909a80..130e4b063 100644 --- a/mesalib/include/GLES/glext.h +++ b/mesalib/include/GLES/glext.h @@ -1,7 +1,7 @@ #ifndef __glext_h_ #define __glext_h_ -/* $Revision: 10965 $ on $Date:: 2010-04-09 02:11:29 -0700 #$ */ +/* $Revision: 13240 $ on $Date:: 2010-12-17 15:16:00 -0800 #$ */ #ifdef __cplusplus extern "C" { @@ -68,6 +68,14 @@ extern "C" { typedef void* GLeglImageOES; #endif +/* GL_OES_EGL_image_external */ +#ifndef GL_OES_EGL_image_external +/* GLeglImageOES defined in GL_OES_EGL_image already. */ +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 +#endif + /* GL_OES_element_index_uint */ #ifndef GL_OES_element_index_uint #define GL_UNSIGNED_INT 0x1405 @@ -235,6 +243,34 @@ typedef void* GLeglImageOES; /* GL_APPLE_texture_2D_limited_npot */ /* No new tokens introduced by this extension. */ +/* GL_APPLE_framebuffer_multisample */ +#ifndef GL_APPLE_framebuffer_multisample +#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 +#define GL_MAX_SAMPLES_APPLE 0x8D57 +#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA +#endif + +/* GL_APPLE_texture_format_BGRA8888 */ +#ifndef GL_APPLE_texture_format_BGRA8888 +#define GL_BGRA_EXT 0x80E1 +#endif + +/* GL_APPLE_texture_max_level */ +#ifndef GL_APPLE_texture_max_level +#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D +#endif + +/*------------------------------------------------------------------------* + * ARM extension tokens + *------------------------------------------------------------------------*/ + +/* GL_ARM_rgba8 */ +/* No new tokens introduced by this extension. */ + /*------------------------------------------------------------------------* * EXT extension tokens *------------------------------------------------------------------------*/ @@ -499,6 +535,12 @@ typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); #endif +/* GL_OES_EGL_image_external */ +#ifndef GL_OES_EGL_image_external +#define GL_OES_EGL_image_external 1 +/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ +#endif + /* GL_OES_element_index_uint */ #ifndef GL_OES_element_index_uint #define GL_OES_element_index_uint 1 @@ -800,6 +842,36 @@ typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); #define GL_APPLE_texture_2D_limited_npot 1 #endif +/* GL_APPLE_framebuffer_multisample */ +#ifndef GL_APPLE_framebuffer_multisample +#define GL_APPLE_framebuffer_multisample 1 +#ifdef GL_GLEXT_PROTOTYPES +GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); +GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); +#endif /* GL_GLEXT_PROTOTYPES */ +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); +#endif + +/* GL_APPLE_texture_format_BGRA8888 */ +#ifndef GL_APPLE_texture_format_BGRA8888 +#define GL_APPLE_texture_format_BGRA8888 1 +#endif + +/* GL_APPLE_texture_max_level */ +#ifndef GL_APPLE_texture_max_level +#define GL_APPLE_texture_max_level 1 +#endif + +/*------------------------------------------------------------------------* + * ARM extension functions + *------------------------------------------------------------------------*/ + +/* GL_ARM_rgba8 */ +#ifndef GL_ARM_rgba8 +#define GL_ARM_rgba8 1 +#endif + /*------------------------------------------------------------------------* * EXT extension functions *------------------------------------------------------------------------*/ @@ -887,7 +959,7 @@ GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GL GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); #endif typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); #endif /*------------------------------------------------------------------------* diff --git a/mesalib/scons/gallium.py b/mesalib/scons/gallium.py index c3350b3ca..18be73f76 100644 --- a/mesalib/scons/gallium.py +++ b/mesalib/scons/gallium.py @@ -540,7 +540,7 @@ def generate(env): if env['platform'] == 'windows': # Avoid depending on gcc runtime DLLs linkflags += ['-static-libgcc'] - if env['machine'] == 'x86_64': + if 'w64' in env['CC'].split('-'): linkflags += ['-static-libstdc++'] # Handle the @xx symbol munging of DLL exports shlinkflags += ['-Wl,--enable-stdcall-fixup'] diff --git a/mesalib/src/gallium/auxiliary/util/u_format_r11g11b10f.h b/mesalib/src/gallium/auxiliary/util/u_format_r11g11b10f.h index 8e0572aa7..6bb430296 100644 --- a/mesalib/src/gallium/auxiliary/util/u_format_r11g11b10f.h +++ b/mesalib/src/gallium/auxiliary/util/u_format_r11g11b10f.h @@ -27,6 +27,7 @@ * below. */ +#define UF11(e, m) ((e << 6) | (m)) #define UF11_EXPONENT_BIAS 15 #define UF11_EXPONENT_BITS 0x1F #define UF11_EXPONENT_SHIFT 6 @@ -34,10 +35,11 @@ #define UF11_MANTISSA_SHIFT (23 - UF11_EXPONENT_SHIFT) #define UF11_MAX_EXPONENT (UF11_EXPONENT_BITS << UF11_EXPONENT_SHIFT) +#define UF10(e, m) ((e << 5) | (m)) #define UF10_EXPONENT_BIAS 15 #define UF10_EXPONENT_BITS 0x1F #define UF10_EXPONENT_SHIFT 5 -#define UF10_MANTISSA_BITS 0x3F +#define UF10_MANTISSA_BITS 0x1F #define UF10_MANTISSA_SHIFT (23 - UF10_EXPONENT_SHIFT) #define UF10_MAX_EXPONENT (UF10_EXPONENT_BITS << UF10_EXPONENT_SHIFT) @@ -58,14 +60,30 @@ static INLINE unsigned f32_to_uf11(float val) int exponent = ((f32.ui >> 23) & 0xff) - 127; int mantissa = f32.ui & 0x007fffff; - if (sign) return 0; - if (exponent == 128) { /* Infinity or NaN */ + /* From the GL_EXT_packed_float spec: + * + * "Additionally: negative infinity is converted to zero; positive + * infinity is converted to positive infinity; and both positive and + * negative NaN are converted to positive NaN." + */ uf11 = UF11_MAX_EXPONENT; - if (mantissa) uf11 |= (mantissa & UF11_MANTISSA_BITS); - } - else if (exponent > 15) { /* Overflow - flush to Infinity */ - uf11 = UF11_MAX_EXPONENT; + if (mantissa) { + uf11 |= 1; /* NaN */ + } else { + if (sign) + uf11 = 0; /* 0.0 */ + } + } else if (sign) { + return 0; + } else if (val > 65024.0f) { + /* From the GL_EXT_packed_float spec: + * + * "Likewise, finite positive values greater than 65024 (the maximum + * finite representable unsigned 11-bit floating-point value) are + * converted to 65024." + */ + uf11 = UF11(30, 63); } else if (exponent > -15) { /* Representable value */ exponent += UF11_EXPONENT_BIAS; @@ -128,14 +146,30 @@ static INLINE unsigned f32_to_uf10(float val) int exponent = ((f32.ui >> 23) & 0xff) - 127; int mantissa = f32.ui & 0x007fffff; - if (sign) return 0; - - if (exponent == 128) { /* Infinity or NaN */ - uf10 = UF10_MAX_EXPONENT; - if (mantissa) uf10 |= (mantissa & UF10_MANTISSA_BITS); - } - else if (exponent > 15) { /* Overflow - flush to Infinity */ + if (exponent == 128) { + /* From the GL_EXT_packed_float spec: + * + * "Additionally: negative infinity is converted to zero; positive + * infinity is converted to positive infinity; and both positive and + * negative NaN are converted to positive NaN." + */ uf10 = UF10_MAX_EXPONENT; + if (mantissa) { + uf10 |= 1; /* NaN */ + } else { + if (sign) + uf10 = 0; /* 0.0 */ + } + } else if (sign) { + return 0; + } else if (val > 64512.0f) { /* Overflow - flush to Infinity */ + /* From the GL_EXT_packed_float spec: + * + * "Likewise, finite positive values greater than 64512 (the maximum + * finite representable unsigned 10-bit floating-point value) are + * converted to 64512." + */ + uf10 = UF10(30, 31); } else if (exponent > -15) { /* Representable value */ exponent += UF10_EXPONENT_BIAS; @@ -153,8 +187,8 @@ static INLINE float uf10_to_f32(uint16_t val) uint32_t ui; } f32; - int exponent = (val & 0x07c0) >> UF10_EXPONENT_SHIFT; - int mantissa = (val & 0x003f); + int exponent = (val & 0x03e0) >> UF10_EXPONENT_SHIFT; + int mantissa = (val & 0x001f); f32.f = 0.0; diff --git a/mesalib/src/gallium/auxiliary/util/u_format_table.py b/mesalib/src/gallium/auxiliary/util/u_format_table.py index 250a53598..703d99959 100644 --- a/mesalib/src/gallium/auxiliary/util/u_format_table.py +++ b/mesalib/src/gallium/auxiliary/util/u_format_table.py @@ -115,7 +115,7 @@ def write_format_table(formats): if channel.size: print " {%s, %s, %s, %u}%s\t/* %s = %s */" % (type_map[channel.type], bool_map(channel.norm), bool_map(channel.pure), channel.size, sep, "xyzw"[i], channel.name) else: - print " {0, 0, 0}%s" % (sep,) + print " {0, 0, 0, 0}%s" % (sep,) print " }," print " {" for i in range(4): diff --git a/mesalib/src/gallium/auxiliary/util/u_math.h b/mesalib/src/gallium/auxiliary/util/u_math.h index c74c1da76..b9295f4f8 100644 --- a/mesalib/src/gallium/auxiliary/util/u_math.h +++ b/mesalib/src/gallium/auxiliary/util/u_math.h @@ -574,6 +574,19 @@ util_bitcount(unsigned n) /** + * Convert from little endian to CPU byte order. + */ + +#ifdef PIPE_ARCH_BIG_ENDIAN +#define util_le32_to_cpu(x) util_bswap32(x) +#define util_le16_to_cpu(x) util_bswap16(x) +#else +#define util_le32_to_cpu(x) (x) +#define util_le16_to_cpu(x) (x) +#endif + + +/** * Reverse byte order of a 32 bit word. */ static INLINE uint32_t diff --git a/mesalib/src/glsl/Android.mk b/mesalib/src/glsl/Android.mk index 9bf4ff782..d7d17dd6d 100644 --- a/mesalib/src/glsl/Android.mk +++ b/mesalib/src/glsl/Android.mk @@ -25,81 +25,7 @@ LOCAL_PATH := $(call my-dir) -# from Makefile -LIBGLCPP_SOURCES = \ - glcpp/glcpp-lex.c \ - glcpp/glcpp-parse.c \ - glcpp/pp.c - -C_SOURCES = \ - strtod.c \ - ralloc.c \ - $(LIBGLCPP_SOURCES) - -CXX_SOURCES = \ - ast_expr.cpp \ - ast_function.cpp \ - ast_to_hir.cpp \ - ast_type.cpp \ - glsl_lexer.cpp \ - glsl_parser.cpp \ - glsl_parser_extras.cpp \ - glsl_types.cpp \ - glsl_symbol_table.cpp \ - hir_field_selection.cpp \ - ir_basic_block.cpp \ - ir_clone.cpp \ - ir_constant_expression.cpp \ - ir.cpp \ - ir_expression_flattening.cpp \ - ir_function_can_inline.cpp \ - ir_function_detect_recursion.cpp \ - ir_function.cpp \ - ir_hierarchical_visitor.cpp \ - ir_hv_accept.cpp \ - ir_import_prototypes.cpp \ - ir_print_visitor.cpp \ - ir_reader.cpp \ - ir_rvalue_visitor.cpp \ - ir_set_program_inouts.cpp \ - ir_validate.cpp \ - ir_variable.cpp \ - ir_variable_refcount.cpp \ - linker.cpp \ - link_functions.cpp \ - loop_analysis.cpp \ - loop_controls.cpp \ - loop_unroll.cpp \ - lower_clip_distance.cpp \ - lower_discard.cpp \ - lower_if_to_cond_assign.cpp \ - lower_instructions.cpp \ - lower_jumps.cpp \ - lower_mat_op_to_vec.cpp \ - lower_noise.cpp \ - lower_texture_projection.cpp \ - lower_variable_index_to_cond_assign.cpp \ - lower_vec_index_to_cond_assign.cpp \ - lower_vec_index_to_swizzle.cpp \ - lower_vector.cpp \ - opt_algebraic.cpp \ - opt_constant_folding.cpp \ - opt_constant_propagation.cpp \ - opt_constant_variable.cpp \ - opt_copy_propagation.cpp \ - opt_copy_propagation_elements.cpp \ - opt_dead_code.cpp \ - opt_dead_code_local.cpp \ - opt_dead_functions.cpp \ - opt_discard_simplification.cpp \ - opt_function_inlining.cpp \ - opt_if_simplification.cpp \ - opt_noop_swizzle.cpp \ - opt_redundant_jumps.cpp \ - opt_structure_splitting.cpp \ - opt_swizzle_swizzle.cpp \ - opt_tree_grafting.cpp \ - s_expression.cpp +include $(LOCAL_PATH)/Makefile.sources # --------------------------------------- # Build libmesa_glsl @@ -108,9 +34,9 @@ CXX_SOURCES = \ include $(CLEAR_VARS) LOCAL_SRC_FILES := \ - $(C_SOURCES) \ - $(CXX_SOURCES) \ - builtin_function.cpp + $(LIBGLCPP_SOURCES) \ + $(LIBGLSL_SOURCES) \ + $(LIBGLSL_CXX_SOURCES) LOCAL_C_INCLUDES := \ $(MESA_TOP)/src/mapi \ @@ -129,11 +55,11 @@ include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_SRC_FILES := \ - $(C_SOURCES) \ - $(CXX_SOURCES) \ - builtin_stubs.cpp \ - main.cpp \ - standalone_scaffolding.cpp + $(LIBGLCPP_SOURCES) \ + $(LIBGLSL_SOURCES) \ + $(LIBGLSL_CXX_SOURCES) \ + $(BUILTIN_COMPILER_CXX_SOURCES) \ + $(GLSL_COMPILER_CXX_SOURCES) LOCAL_C_INCLUDES := \ $(MESA_TOP)/src/mapi \ @@ -156,8 +82,7 @@ include $(BUILD_HOST_EXECUTABLE) include $(CLEAR_VARS) LOCAL_SRC_FILES := \ - main.cpp \ - standalone_scaffolding.cpp + $(GLSL_COMPILER_CXX_SOURCES) LOCAL_C_INCLUDES := \ $(MESA_TOP)/src/mapi \ diff --git a/mesalib/src/glsl/Makefile b/mesalib/src/glsl/Makefile index 504f1fb43..d9ecbc8e3 100644 --- a/mesalib/src/glsl/Makefile +++ b/mesalib/src/glsl/Makefile @@ -7,86 +7,23 @@ include $(TOP)/configs/current LIBNAME = glsl -LIBGLCPP_SOURCES = \ - glcpp/glcpp-lex.c \ - glcpp/glcpp-parse.c \ - glcpp/pp.c +include Makefile.sources GLCPP_SOURCES = \ + $(LIBGLCPP_GENERATED_SOURCES) \ $(LIBGLCPP_SOURCES) \ ralloc.c \ glcpp/glcpp.c C_SOURCES = \ - strtod.c \ - ralloc.c \ - $(LIBGLCPP_SOURCES) + $(LIBGLCPP_GENERATED_SOURCES) \ + $(LIBGLCPP_SOURCES) \ + $(LIBGLSL_SOURCES) +# common sources for builtin_compiler and libglsl CXX_SOURCES = \ - ast_expr.cpp \ - ast_function.cpp \ - ast_to_hir.cpp \ - ast_type.cpp \ - glsl_lexer.cpp \ - glsl_parser.cpp \ - glsl_parser_extras.cpp \ - glsl_types.cpp \ - glsl_symbol_table.cpp \ - hir_field_selection.cpp \ - ir_basic_block.cpp \ - ir_clone.cpp \ - ir_constant_expression.cpp \ - ir.cpp \ - ir_expression_flattening.cpp \ - ir_function_can_inline.cpp \ - ir_function_detect_recursion.cpp \ - ir_function.cpp \ - ir_hierarchical_visitor.cpp \ - ir_hv_accept.cpp \ - ir_import_prototypes.cpp \ - ir_print_visitor.cpp \ - ir_reader.cpp \ - ir_rvalue_visitor.cpp \ - ir_set_program_inouts.cpp \ - ir_validate.cpp \ - ir_variable.cpp \ - ir_variable_refcount.cpp \ - linker.cpp \ - link_functions.cpp \ - link_uniforms.cpp \ - loop_analysis.cpp \ - loop_controls.cpp \ - loop_unroll.cpp \ - lower_clip_distance.cpp \ - lower_discard.cpp \ - lower_if_to_cond_assign.cpp \ - lower_instructions.cpp \ - lower_jumps.cpp \ - lower_mat_op_to_vec.cpp \ - lower_noise.cpp \ - lower_texture_projection.cpp \ - lower_variable_index_to_cond_assign.cpp \ - lower_vec_index_to_cond_assign.cpp \ - lower_vec_index_to_swizzle.cpp \ - lower_vector.cpp \ - opt_algebraic.cpp \ - opt_constant_folding.cpp \ - opt_constant_propagation.cpp \ - opt_constant_variable.cpp \ - opt_copy_propagation.cpp \ - opt_copy_propagation_elements.cpp \ - opt_dead_code.cpp \ - opt_dead_code_local.cpp \ - opt_dead_functions.cpp \ - opt_discard_simplification.cpp \ - opt_function_inlining.cpp \ - opt_if_simplification.cpp \ - opt_noop_swizzle.cpp \ - opt_redundant_jumps.cpp \ - opt_structure_splitting.cpp \ - opt_swizzle_swizzle.cpp \ - opt_tree_grafting.cpp \ - s_expression.cpp + $(BUILTIN_COMPILER_GENERATED_CXX_SOURCES) \ + $(LIBGLSL_CXX_SOURCES) LIBS = \ $(TOP)/src/glsl/libglsl.a @@ -97,8 +34,7 @@ GLSL2_C_SOURCES = \ ../mesa/program/hash_table.c \ ../mesa/program/symbol_table.c GLSL2_CXX_SOURCES = \ - main.cpp \ - standalone_scaffolding.cpp + $(GLSL_COMPILER_CXX_SOURCES) GLSL2_OBJECTS = \ $(GLSL2_C_SOURCES:.c=.o) \ diff --git a/mesalib/src/glsl/Makefile.sources b/mesalib/src/glsl/Makefile.sources new file mode 100644 index 000000000..b4bfff09c --- /dev/null +++ b/mesalib/src/glsl/Makefile.sources @@ -0,0 +1,104 @@ +# shared source lists for Makefile, SConscript, and Android.mk + +# libglcpp + +LIBGLCPP_SOURCES := \ + glcpp/pp.c + +LIBGLCPP_GENERATED_SOURCES := \ + glcpp/glcpp-lex.c \ + glcpp/glcpp-parse.c + +# libglsl + +LIBGLSL_SOURCES := \ + strtod.c \ + ralloc.c + +LIBGLSL_CXX_SOURCES := \ + ast_expr.cpp \ + ast_function.cpp \ + ast_to_hir.cpp \ + ast_type.cpp \ + glsl_parser_extras.cpp \ + glsl_types.cpp \ + glsl_symbol_table.cpp \ + hir_field_selection.cpp \ + ir_basic_block.cpp \ + ir_clone.cpp \ + ir_constant_expression.cpp \ + ir.cpp \ + ir_expression_flattening.cpp \ + ir_function_can_inline.cpp \ + ir_function_detect_recursion.cpp \ + ir_function.cpp \ + ir_hierarchical_visitor.cpp \ + ir_hv_accept.cpp \ + ir_import_prototypes.cpp \ + ir_print_visitor.cpp \ + ir_reader.cpp \ + ir_rvalue_visitor.cpp \ + ir_set_program_inouts.cpp \ + ir_validate.cpp \ + ir_variable.cpp \ + ir_variable_refcount.cpp \ + linker.cpp \ + link_functions.cpp \ + link_uniforms.cpp \ + loop_analysis.cpp \ + loop_controls.cpp \ + loop_unroll.cpp \ + lower_clip_distance.cpp \ + lower_discard.cpp \ + lower_if_to_cond_assign.cpp \ + lower_instructions.cpp \ + lower_jumps.cpp \ + lower_mat_op_to_vec.cpp \ + lower_noise.cpp \ + lower_texture_projection.cpp \ + lower_variable_index_to_cond_assign.cpp \ + lower_vec_index_to_cond_assign.cpp \ + lower_vec_index_to_swizzle.cpp \ + lower_vector.cpp \ + opt_algebraic.cpp \ + opt_constant_folding.cpp \ + opt_constant_propagation.cpp \ + opt_constant_variable.cpp \ + opt_copy_propagation.cpp \ + opt_copy_propagation_elements.cpp \ + opt_dead_code.cpp \ + opt_dead_code_local.cpp \ + opt_dead_functions.cpp \ + opt_discard_simplification.cpp \ + opt_function_inlining.cpp \ + opt_if_simplification.cpp \ + opt_noop_swizzle.cpp \ + opt_redundant_jumps.cpp \ + opt_structure_splitting.cpp \ + opt_swizzle_swizzle.cpp \ + opt_tree_grafting.cpp \ + s_expression.cpp + +# glsl_compiler + +GLSL_COMPILER_CXX_SOURCES := \ + standalone_scaffolding.cpp \ + main.cpp + +# builtin_compiler +# +# This is built before libglsl to generate builtin_funciton.cpp for libglsl. +# For this to work, a dummy version of builtin_function.cpp, +# builtin_stubs.cpp, is used. + +BUILTIN_COMPILER_CXX_SOURCES := \ + builtin_stubs.cpp + +BUILTIN_COMPILER_GENERATED_CXX_SOURCES := \ + glsl_lexer.cpp \ + glsl_parser.cpp + +# libglsl generated sources +LIBGLSL_GENERATED_CXX_SOURCES := \ + $(BUILTIN_COMPILER_GENERATED_CXX_SOURCES) \ + builtin_function.cpp diff --git a/mesalib/src/glsl/SConscript b/mesalib/src/glsl/SConscript index 09c7edbc4..b8154d608 100644 --- a/mesalib/src/glsl/SConscript +++ b/mesalib/src/glsl/SConscript @@ -30,78 +30,21 @@ glcpp_parser = env.CFile('glcpp/glcpp-parse.c', 'glcpp/glcpp-parse.y') glsl_lexer = parser_env.CXXFile('glsl_lexer.cpp', 'glsl_lexer.ll') glsl_parser = parser_env.CXXFile('glsl_parser.cpp', 'glsl_parser.yy') +# common generated sources glsl_sources = [ glcpp_lexer, glcpp_parser[0], - 'glcpp/pp.c', - 'ast_expr.cpp', - 'ast_function.cpp', - 'ast_to_hir.cpp', - 'ast_type.cpp', glsl_lexer, glsl_parser[0], - 'glsl_parser_extras.cpp', - 'glsl_types.cpp', - 'glsl_symbol_table.cpp', - 'hir_field_selection.cpp', - 'ir_basic_block.cpp', - 'ir_clone.cpp', - 'ir_constant_expression.cpp', - 'ir.cpp', - 'ir_expression_flattening.cpp', - 'ir_function_can_inline.cpp', - 'ir_function_detect_recursion.cpp', - 'ir_function.cpp', - 'ir_hierarchical_visitor.cpp', - 'ir_hv_accept.cpp', - 'ir_import_prototypes.cpp', - 'ir_print_visitor.cpp', - 'ir_reader.cpp', - 'ir_rvalue_visitor.cpp', - 'ir_set_program_inouts.cpp', - 'ir_validate.cpp', - 'ir_variable.cpp', - 'ir_variable_refcount.cpp', - 'linker.cpp', - 'link_functions.cpp', - 'link_uniforms.cpp', - 'loop_analysis.cpp', - 'loop_controls.cpp', - 'loop_unroll.cpp', - 'lower_clip_distance.cpp', - 'lower_discard.cpp', - 'lower_if_to_cond_assign.cpp', - 'lower_instructions.cpp', - 'lower_jumps.cpp', - 'lower_mat_op_to_vec.cpp', - 'lower_noise.cpp', - 'lower_variable_index_to_cond_assign.cpp', - 'lower_vec_index_to_cond_assign.cpp', - 'lower_vec_index_to_swizzle.cpp', - 'lower_vector.cpp', - 'opt_algebraic.cpp', - 'opt_constant_folding.cpp', - 'opt_constant_propagation.cpp', - 'opt_constant_variable.cpp', - 'opt_copy_propagation.cpp', - 'opt_copy_propagation_elements.cpp', - 'opt_dead_code.cpp', - 'opt_dead_code_local.cpp', - 'opt_dead_functions.cpp', - 'opt_discard_simplification.cpp', - 'opt_function_inlining.cpp', - 'opt_if_simplification.cpp', - 'opt_noop_swizzle.cpp', - 'opt_redundant_jumps.cpp', - 'opt_structure_splitting.cpp', - 'opt_swizzle_swizzle.cpp', - 'opt_tree_grafting.cpp', - 'ralloc.c', - 's_expression.cpp', - 'standalone_scaffolding.cpp', - 'strtod.c', ] +# parse Makefile.sources +source_lists = env.ParseSourceList('Makefile.sources') + +# add non-generated sources +for l in ('LIBGLCPP_SOURCES', 'LIBGLSL_SOURCES', 'LIBGLSL_CXX_SOURCES'): + glsl_sources += source_lists[l] + if env['msvc']: env.Prepend(CPPPATH = ['#/src/getopt']) env.PrependUnique(LIBS = [getopt]) @@ -114,16 +57,19 @@ else: env.Command('hash_table.c', '#src/mesa/program/hash_table.c', Copy('$TARGET', '$SOURCE')) env.Command('symbol_table.c', '#src/mesa/program/symbol_table.c', Copy('$TARGET', '$SOURCE')) - main_obj = env.StaticObject('main.cpp') + compiler_objs = env.StaticObject(source_lists['GLSL_COMPILER_CXX_SOURCES']) mesa_objs = env.StaticObject([ 'hash_table.c', 'symbol_table.c', ]) + compiler_objs += mesa_objs + builtin_compiler = env.Program( target = 'builtin_compiler', - source = main_obj + glsl_sources + ['builtin_stubs.cpp'] + mesa_objs, + source = compiler_objs + glsl_sources + \ + source_lists['BUILTIN_COMPILER_CXX_SOURCES'], ) # SCons builtin dependency scanner doesn't detect that glsl_lexer.ll @@ -174,7 +120,7 @@ env.Prepend(LIBS = [glsl]) glsl2 = env.Program( target = 'glsl2', - source = main_obj + mesa_objs, + source = compiler_objs, ) env.Alias('glsl2', glsl2) diff --git a/mesalib/src/glsl/ast.h b/mesalib/src/glsl/ast.h index 0cd19dc30..eb40a75b0 100644 --- a/mesalib/src/glsl/ast.h +++ b/mesalib/src/glsl/ast.h @@ -441,6 +441,7 @@ enum ast_types { ast_sampler2drect, ast_sampler3d, ast_samplercube, + ast_samplerexternaloes, ast_sampler1dshadow, ast_sampler2dshadow, ast_sampler2drectshadow, diff --git a/mesalib/src/glsl/ast_to_hir.cpp b/mesalib/src/glsl/ast_to_hir.cpp index fa6206e5e..ed6abdc70 100644 --- a/mesalib/src/glsl/ast_to_hir.cpp +++ b/mesalib/src/glsl/ast_to_hir.cpp @@ -935,6 +935,28 @@ check_builtin_array_max_size(const char *name, unsigned size, return false; } +/** + * Create the constant 1, of a which is appropriate for incrementing and + * decrementing values of the given GLSL type. For example, if type is vec4, + * this creates a constant value of 1.0 having type float. + * + * If the given type is invalid for increment and decrement operators, return + * a floating point 1--the error will be detected later. + */ +static ir_rvalue * +constant_one_for_inc_dec(void *ctx, const glsl_type *type) +{ + switch (type->base_type) { + case GLSL_TYPE_UINT: + return new(ctx) ir_constant((unsigned) 1); + case GLSL_TYPE_INT: + return new(ctx) ir_constant(1); + default: + case GLSL_TYPE_FLOAT: + return new(ctx) ir_constant(1.0f); + } +} + ir_rvalue * ast_expression::hir(exec_list *instructions, struct _mesa_glsl_parse_state *state) @@ -1442,10 +1464,7 @@ ast_expression::hir(exec_list *instructions, case ast_pre_inc: case ast_pre_dec: { op[0] = this->subexpressions[0]->hir(instructions, state); - if (op[0]->type->base_type == GLSL_TYPE_FLOAT) - op[1] = new(ctx) ir_constant(1.0f); - else - op[1] = new(ctx) ir_constant(1); + op[1] = constant_one_for_inc_dec(ctx, op[0]->type); type = arithmetic_result_type(op[0], op[1], false, state, & loc); @@ -1463,10 +1482,7 @@ ast_expression::hir(exec_list *instructions, case ast_post_inc: case ast_post_dec: { op[0] = this->subexpressions[0]->hir(instructions, state); - if (op[0]->type->base_type == GLSL_TYPE_FLOAT) - op[1] = new(ctx) ir_constant(1.0f); - else - op[1] = new(ctx) ir_constant(1); + op[1] = constant_one_for_inc_dec(ctx, op[0]->type); error_emitted = op[0]->type->is_error() || op[1]->type->is_error(); @@ -1812,7 +1828,17 @@ process_array_type(YYLTYPE *loc, const glsl_type *base, ast_node *array_size, { unsigned length = 0; - /* FINISHME: Reject delcarations of multidimensional arrays. */ + /* From page 19 (page 25) of the GLSL 1.20 spec: + * + * "Only one-dimensional arrays may be declared." + */ + if (base->is_array()) { + _mesa_glsl_error(loc, state, + "invalid array of `%s' (only one-dimensional arrays " + "may be declared)", + base->name); + return glsl_type::error_type; + } if (array_size != NULL) { exec_list dummy_instructions; @@ -2341,6 +2367,9 @@ process_initializer(ir_variable *var, ast_declaration *decl, } else initializer_type = rhs->type; + var->constant_initializer = rhs->constant_expression_value(); + var->has_initializer = true; + /* If the declared variable is an unsized array, it must inherrit * its full type from the initializer. A declaration such as * @@ -2445,14 +2474,32 @@ ast_declarator_list::hir(exec_list *instructions, decl_type = this->type->specifier->glsl_type(& type_name, state); if (this->declarations.is_empty()) { - if (decl_type != NULL) { - /* Warn if this empty declaration is not for declaring a structure. - */ - if (this->type->specifier->structure == NULL) { + /* If there is no structure involved in the program text, there are two + * possible scenarios: + * + * - The program text contained something like 'vec4;'. This is an + * empty declaration. It is valid but weird. Emit a warning. + * + * - The program text contained something like 'S;' and 'S' is not the + * name of a known structure type. This is both invalid and weird. + * Emit an error. + * + * Note that if decl_type is NULL and there is a structure involved, + * there must have been some sort of error with the structure. In this + * case we assume that an error was already generated on this line of + * code for the structure. There is no need to generate an additional, + * confusing error. + */ + assert(this->type->specifier->structure == NULL || decl_type != NULL + || state->error); + if (this->type->specifier->structure == NULL) { + if (decl_type != NULL) { _mesa_glsl_warning(&loc, state, "empty declaration"); + } else { + _mesa_glsl_error(&loc, state, + "invalid type `%s' in empty declaration", + type_name); } - } else { - _mesa_glsl_error(& loc, state, "incomplete declaration"); } } @@ -2480,6 +2527,8 @@ ast_declarator_list::hir(exec_list *instructions, if (decl->is_array) { var_type = process_array_type(&loc, decl_type, decl->array_size, state); + if (var_type->is_error()) + continue; } else { var_type = decl_type; } @@ -2921,7 +2970,7 @@ ast_parameter_declarator::hir(exec_list *instructions, type = process_array_type(&loc, type, this->array_size, state); } - if (type->array_size() == 0) { + if (!type->is_error() && type->array_size() == 0) { _mesa_glsl_error(&loc, state, "arrays passed as parameters must have " "a declared size."); type = glsl_type::error_type; diff --git a/mesalib/src/glsl/ast_type.cpp b/mesalib/src/glsl/ast_type.cpp index c680ae5f6..79c43eefb 100644 --- a/mesalib/src/glsl/ast_type.cpp +++ b/mesalib/src/glsl/ast_type.cpp @@ -83,6 +83,7 @@ ast_type_specifier::ast_type_specifier(int specifier) "sampler2DRect", "sampler3D", "samplerCube", + "samplerExternalOES", "sampler1DShadow", "sampler2DShadow", "sampler2DRectShadow", diff --git a/mesalib/src/glsl/builtin_types.h b/mesalib/src/glsl/builtin_types.h index 58b9a8127..cc99b1bde 100644 --- a/mesalib/src/glsl/builtin_types.h +++ b/mesalib/src/glsl/builtin_types.h @@ -300,3 +300,13 @@ const glsl_type glsl_type::builtin_EXT_texture_buffer_object_types[] = { GLSL_SAMPLER_DIM_BUF, 0, 0, GLSL_TYPE_UINT, "usamplerBuffer"), }; /*@}*/ + +/** \name Sampler types added by GL_OES_EGL_image_external + */ +/*@{*/ + +const glsl_type glsl_type::builtin_OES_EGL_image_external_types[] = { + glsl_type(GL_SAMPLER_EXTERNAL_OES, + GLSL_SAMPLER_DIM_EXTERNAL, 0, 0, GLSL_TYPE_FLOAT, "samplerExternalOES"), +}; +/*@}*/ diff --git a/mesalib/src/glsl/glcpp/glcpp-parse.y b/mesalib/src/glsl/glcpp/glcpp-parse.y index 17941a9be..1b17ff43a 100644 --- a/mesalib/src/glsl/glcpp/glcpp-parse.y +++ b/mesalib/src/glsl/glcpp/glcpp-parse.y @@ -1136,6 +1136,9 @@ glcpp_parser_create (const struct gl_extensions *extensions, int api) add_builtin_define(parser, "GL_AMD_conservative_depth", 1); add_builtin_define(parser, "GL_ARB_conservative_depth", 1); } + + if (extensions->OES_EGL_image_external) + add_builtin_define(parser, "GL_OES_EGL_image_external", 1); } language_version = 110; diff --git a/mesalib/src/glsl/glsl_lexer.ll b/mesalib/src/glsl/glsl_lexer.ll index 267ca0f1c..49f3bc82e 100644 --- a/mesalib/src/glsl/glsl_lexer.ll +++ b/mesalib/src/glsl/glsl_lexer.ll @@ -1,457 +1,505 @@ -%{
-/*
- * Copyright © 2008, 2009 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-#include <ctype.h>
-#include "strtod.h"
-#include "ast.h"
-#include "glsl_parser_extras.h"
-#include "glsl_parser.h"
-
-static int classify_identifier(struct _mesa_glsl_parse_state *, const char *);
-
-#ifdef _MSC_VER
-#define YY_NO_UNISTD_H
-#endif
-
-#define YY_USER_ACTION \
- do { \
- yylloc->source = 0; \
- yylloc->first_column = yycolumn + 1; \
- yylloc->first_line = yylineno + 1; \
- yycolumn += yyleng; \
- } while(0);
-
-#define YY_USER_INIT yylineno = 0; yycolumn = 0;
-
-#define IS_UINT (yytext[yyleng - 1] == 'u' || yytext[yyleng - 1] == 'U')
-
-/* A macro for handling reserved words and keywords across language versions.
- *
- * Certain words start out as identifiers, become reserved words in
- * later language revisions, and finally become language keywords.
- *
- * For example, consider the following lexer rule:
- * samplerBuffer KEYWORD(130, 140, SAMPLERBUFFER)
- *
- * This means that "samplerBuffer" will be treated as:
- * - a keyword (SAMPLERBUFFER token) ...in GLSL >= 1.40
- * - a reserved word - error ...in GLSL >= 1.30
- * - an identifier ...in GLSL < 1.30
- */
-#define KEYWORD(reserved_version, allowed_version, token) \
- do { \
- if (yyextra->language_version >= allowed_version) { \
- return token; \
- } else if (yyextra->language_version >= reserved_version) { \
- _mesa_glsl_error(yylloc, yyextra, \
- "Illegal use of reserved word `%s'", yytext); \
- return ERROR_TOK; \
- } else { \
- yylval->identifier = strdup(yytext); \
- return classify_identifier(yyextra, yytext); \
- } \
- } while (0)
-
-/* The ES macro can be used in KEYWORD checks:
- *
- * word KEYWORD(110 || ES, 400, TOKEN)
- * ...means the word is reserved in GLSL ES 1.00, while
- *
- * word KEYWORD(110, 130 || ES, TOKEN)
- * ...means the word is a legal keyword in GLSL ES 1.00.
- */
-#define ES yyextra->es_shader
-%}
-
-%option bison-bridge bison-locations reentrant noyywrap
-%option nounput noyy_top_state
-%option never-interactive
-%option prefix="_mesa_glsl_"
-%option extra-type="struct _mesa_glsl_parse_state *"
-
-%x PP PRAGMA
-
-DEC_INT [1-9][0-9]*
-HEX_INT 0[xX][0-9a-fA-F]+
-OCT_INT 0[0-7]*
-INT ({DEC_INT}|{HEX_INT}|{OCT_INT})
-SPC [ \t]*
-SPCP [ \t]+
-HASH ^{SPC}#{SPC}
-%%
-
-[ \r\t]+ ;
-
- /* Preprocessor tokens. */
-^[ \t]*#[ \t]*$ ;
-^[ \t]*#[ \t]*version { BEGIN PP; return VERSION; }
-^[ \t]*#[ \t]*extension { BEGIN PP; return EXTENSION; }
-{HASH}line{SPCP}{INT}{SPCP}{INT}{SPC}$ {
- /* Eat characters until the first digit is
- * encountered
- */
- char *ptr = yytext;
- while (!isdigit(*ptr))
- ptr++;
-
- /* Subtract one from the line number because
- * yylineno is zero-based instead of
- * one-based.
- */
- yylineno = strtol(ptr, &ptr, 0) - 1;
- yylloc->source = strtol(ptr, NULL, 0);
- }
-{HASH}line{SPCP}{INT}{SPC}$ {
- /* Eat characters until the first digit is
- * encountered
- */
- char *ptr = yytext;
- while (!isdigit(*ptr))
- ptr++;
-
- /* Subtract one from the line number because
- * yylineno is zero-based instead of
- * one-based.
- */
- yylineno = strtol(ptr, &ptr, 0) - 1;
- }
-^{SPC}#{SPC}pragma{SPCP}debug{SPC}\({SPC}on{SPC}\) {
- BEGIN PP;
- return PRAGMA_DEBUG_ON;
- }
-^{SPC}#{SPC}pragma{SPCP}debug{SPC}\({SPC}off{SPC}\) {
- BEGIN PP;
- return PRAGMA_DEBUG_OFF;
- }
-^{SPC}#{SPC}pragma{SPCP}optimize{SPC}\({SPC}on{SPC}\) {
- BEGIN PP;
- return PRAGMA_OPTIMIZE_ON;
- }
-^{SPC}#{SPC}pragma{SPCP}optimize{SPC}\({SPC}off{SPC}\) {
- BEGIN PP;
- return PRAGMA_OPTIMIZE_OFF;
- }
-^{SPC}#{SPC}pragma{SPCP}STDGL{SPCP}invariant{SPC}\({SPC}all{SPC}\) {
- BEGIN PP;
- return PRAGMA_INVARIANT_ALL;
- }
-^{SPC}#{SPC}pragma{SPCP} { BEGIN PRAGMA; }
-
-<PRAGMA>\n { BEGIN 0; yylineno++; yycolumn = 0; }
-<PRAGMA>. { }
-
-<PP>\/\/[^\n]* { }
-<PP>[ \t\r]* { }
-<PP>: return COLON;
-<PP>[_a-zA-Z][_a-zA-Z0-9]* {
- yylval->identifier = strdup(yytext);
- return IDENTIFIER;
- }
-<PP>[1-9][0-9]* {
- yylval->n = strtol(yytext, NULL, 10);
- return INTCONSTANT;
- }
-<PP>\n { BEGIN 0; yylineno++; yycolumn = 0; return EOL; }
-
-\n { yylineno++; yycolumn = 0; }
-
-attribute return ATTRIBUTE;
-const return CONST_TOK;
-bool return BOOL_TOK;
-float return FLOAT_TOK;
-int return INT_TOK;
-uint KEYWORD(130, 130, UINT_TOK);
-
-break return BREAK;
-continue return CONTINUE;
-do return DO;
-while return WHILE;
-else return ELSE;
-for return FOR;
-if return IF;
-discard return DISCARD;
-return return RETURN;
-
-bvec2 return BVEC2;
-bvec3 return BVEC3;
-bvec4 return BVEC4;
-ivec2 return IVEC2;
-ivec3 return IVEC3;
-ivec4 return IVEC4;
-uvec2 KEYWORD(130, 130, UVEC2);
-uvec3 KEYWORD(130, 130, UVEC3);
-uvec4 KEYWORD(130, 130, UVEC4);
-vec2 return VEC2;
-vec3 return VEC3;
-vec4 return VEC4;
-mat2 return MAT2X2;
-mat3 return MAT3X3;
-mat4 return MAT4X4;
-mat2x2 KEYWORD(120, 120, MAT2X2);
-mat2x3 KEYWORD(120, 120, MAT2X3);
-mat2x4 KEYWORD(120, 120, MAT2X4);
-mat3x2 KEYWORD(120, 120, MAT3X2);
-mat3x3 KEYWORD(120, 120, MAT3X3);
-mat3x4 KEYWORD(120, 120, MAT3X4);
-mat4x2 KEYWORD(120, 120, MAT4X2);
-mat4x3 KEYWORD(120, 120, MAT4X3);
-mat4x4 KEYWORD(120, 120, MAT4X4);
-
-in return IN_TOK;
-out return OUT_TOK;
-inout return INOUT_TOK;
-uniform return UNIFORM;
-varying return VARYING;
-centroid KEYWORD(120, 120, CENTROID);
-invariant KEYWORD(120 || ES, 120 || ES, INVARIANT);
-flat KEYWORD(130 || ES, 130, FLAT);
-smooth KEYWORD(130, 130, SMOOTH);
-noperspective KEYWORD(130, 130, NOPERSPECTIVE);
-
-sampler1D return SAMPLER1D;
-sampler2D return SAMPLER2D;
-sampler3D return SAMPLER3D;
-samplerCube return SAMPLERCUBE;
-sampler1DArray KEYWORD(130, 130, SAMPLER1DARRAY);
-sampler2DArray KEYWORD(130, 130, SAMPLER2DARRAY);
-sampler1DShadow return SAMPLER1DSHADOW;
-sampler2DShadow return SAMPLER2DSHADOW;
-samplerCubeShadow KEYWORD(130, 130, SAMPLERCUBESHADOW);
-sampler1DArrayShadow KEYWORD(130, 130, SAMPLER1DARRAYSHADOW);
-sampler2DArrayShadow KEYWORD(130, 130, SAMPLER2DARRAYSHADOW);
-isampler1D KEYWORD(130, 130, ISAMPLER1D);
-isampler2D KEYWORD(130, 130, ISAMPLER2D);
-isampler3D KEYWORD(130, 130, ISAMPLER3D);
-isamplerCube KEYWORD(130, 130, ISAMPLERCUBE);
-isampler1DArray KEYWORD(130, 130, ISAMPLER1DARRAY);
-isampler2DArray KEYWORD(130, 130, ISAMPLER2DARRAY);
-usampler1D KEYWORD(130, 130, USAMPLER1D);
-usampler2D KEYWORD(130, 130, USAMPLER2D);
-usampler3D KEYWORD(130, 130, USAMPLER3D);
-usamplerCube KEYWORD(130, 130, USAMPLERCUBE);
-usampler1DArray KEYWORD(130, 130, USAMPLER1DARRAY);
-usampler2DArray KEYWORD(130, 130, USAMPLER2DARRAY);
-
-
-struct return STRUCT;
-void return VOID_TOK;
-
-layout {
- if ((yyextra->language_version >= 140)
- || yyextra->AMD_conservative_depth_enable
- || yyextra->ARB_explicit_attrib_location_enable
- || yyextra->ARB_fragment_coord_conventions_enable) {
- return LAYOUT_TOK;
- } else {
- yylval->identifier = strdup(yytext);
- return IDENTIFIER;
- }
- }
-
-\+\+ return INC_OP;
--- return DEC_OP;
-\<= return LE_OP;
->= return GE_OP;
-== return EQ_OP;
-!= return NE_OP;
-&& return AND_OP;
-\|\| return OR_OP;
-"^^" return XOR_OP;
-"<<" return LEFT_OP;
-">>" return RIGHT_OP;
-
-\*= return MUL_ASSIGN;
-\/= return DIV_ASSIGN;
-\+= return ADD_ASSIGN;
-\%= return MOD_ASSIGN;
-\<\<= return LEFT_ASSIGN;
->>= return RIGHT_ASSIGN;
-&= return AND_ASSIGN;
-"^=" return XOR_ASSIGN;
-\|= return OR_ASSIGN;
--= return SUB_ASSIGN;
-
-[1-9][0-9]*[uU]? {
- yylval->n = strtol(yytext, NULL, 10);
- return IS_UINT ? UINTCONSTANT : INTCONSTANT;
- }
-0[xX][0-9a-fA-F]+[uU]? {
- yylval->n = strtol(yytext + 2, NULL, 16);
- return IS_UINT ? UINTCONSTANT : INTCONSTANT;
- }
-0[0-7]*[uU]? {
- yylval->n = strtol(yytext, NULL, 8);
- return IS_UINT ? UINTCONSTANT : INTCONSTANT;
- }
-
-[0-9]+\.[0-9]+([eE][+-]?[0-9]+)?[fF]? {
- yylval->real = glsl_strtod(yytext, NULL);
- return FLOATCONSTANT;
- }
-\.[0-9]+([eE][+-]?[0-9]+)?[fF]? {
- yylval->real = glsl_strtod(yytext, NULL);
- return FLOATCONSTANT;
- }
-[0-9]+\.([eE][+-]?[0-9]+)?[fF]? {
- yylval->real = glsl_strtod(yytext, NULL);
- return FLOATCONSTANT;
- }
-[0-9]+[eE][+-]?[0-9]+[fF]? {
- yylval->real = glsl_strtod(yytext, NULL);
- return FLOATCONSTANT;
- }
-[0-9]+[fF] {
- yylval->real = glsl_strtod(yytext, NULL);
- return FLOATCONSTANT;
- }
-
-true {
- yylval->n = 1;
- return BOOLCONSTANT;
- }
-false {
- yylval->n = 0;
- return BOOLCONSTANT;
- }
-
-
- /* Reserved words in GLSL 1.10. */
-asm KEYWORD(110 || ES, 999, ASM);
-class KEYWORD(110 || ES, 999, CLASS);
-union KEYWORD(110 || ES, 999, UNION);
-enum KEYWORD(110 || ES, 999, ENUM);
-typedef KEYWORD(110 || ES, 999, TYPEDEF);
-template KEYWORD(110 || ES, 999, TEMPLATE);
-this KEYWORD(110 || ES, 999, THIS);
-packed KEYWORD(110 || ES, 999, PACKED_TOK);
-goto KEYWORD(110 || ES, 999, GOTO);
-switch KEYWORD(110 || ES, 130, SWITCH);
-default KEYWORD(110 || ES, 130, DEFAULT);
-inline KEYWORD(110 || ES, 999, INLINE_TOK);
-noinline KEYWORD(110 || ES, 999, NOINLINE);
-volatile KEYWORD(110 || ES, 999, VOLATILE);
-public KEYWORD(110 || ES, 999, PUBLIC_TOK);
-static KEYWORD(110 || ES, 999, STATIC);
-extern KEYWORD(110 || ES, 999, EXTERN);
-external KEYWORD(110 || ES, 999, EXTERNAL);
-interface KEYWORD(110 || ES, 999, INTERFACE);
-long KEYWORD(110 || ES, 999, LONG_TOK);
-short KEYWORD(110 || ES, 999, SHORT_TOK);
-double KEYWORD(110 || ES, 400, DOUBLE_TOK);
-half KEYWORD(110 || ES, 999, HALF);
-fixed KEYWORD(110 || ES, 999, FIXED_TOK);
-unsigned KEYWORD(110 || ES, 999, UNSIGNED);
-input KEYWORD(110 || ES, 999, INPUT_TOK);
-output KEYWORD(110 || ES, 999, OUTPUT);
-hvec2 KEYWORD(110 || ES, 999, HVEC2);
-hvec3 KEYWORD(110 || ES, 999, HVEC3);
-hvec4 KEYWORD(110 || ES, 999, HVEC4);
-dvec2 KEYWORD(110 || ES, 400, DVEC2);
-dvec3 KEYWORD(110 || ES, 400, DVEC3);
-dvec4 KEYWORD(110 || ES, 400, DVEC4);
-fvec2 KEYWORD(110 || ES, 999, FVEC2);
-fvec3 KEYWORD(110 || ES, 999, FVEC3);
-fvec4 KEYWORD(110 || ES, 999, FVEC4);
-sampler2DRect return SAMPLER2DRECT;
-sampler3DRect KEYWORD(110 || ES, 999, SAMPLER3DRECT);
-sampler2DRectShadow return SAMPLER2DRECTSHADOW;
-sizeof KEYWORD(110 || ES, 999, SIZEOF);
-cast KEYWORD(110 || ES, 999, CAST);
-namespace KEYWORD(110 || ES, 999, NAMESPACE);
-using KEYWORD(110 || ES, 999, USING);
-
- /* Additional reserved words in GLSL 1.20. */
-lowp KEYWORD(120, 130 || ES, LOWP);
-mediump KEYWORD(120, 130 || ES, MEDIUMP);
-highp KEYWORD(120, 130 || ES, HIGHP);
-precision KEYWORD(120, 130 || ES, PRECISION);
-
- /* Additional reserved words in GLSL 1.30. */
-case KEYWORD(130, 130, CASE);
-common KEYWORD(130, 999, COMMON);
-partition KEYWORD(130, 999, PARTITION);
-active KEYWORD(130, 999, ACTIVE);
-superp KEYWORD(130 || ES, 999, SUPERP);
-samplerBuffer KEYWORD(130, 140, SAMPLERBUFFER);
-filter KEYWORD(130, 999, FILTER);
-image1D KEYWORD(130, 999, IMAGE1D);
-image2D KEYWORD(130, 999, IMAGE2D);
-image3D KEYWORD(130, 999, IMAGE3D);
-imageCube KEYWORD(130, 999, IMAGECUBE);
-iimage1D KEYWORD(130, 999, IIMAGE1D);
-iimage2D KEYWORD(130, 999, IIMAGE2D);
-iimage3D KEYWORD(130, 999, IIMAGE3D);
-iimageCube KEYWORD(130, 999, IIMAGECUBE);
-uimage1D KEYWORD(130, 999, UIMAGE1D);
-uimage2D KEYWORD(130, 999, UIMAGE2D);
-uimage3D KEYWORD(130, 999, UIMAGE3D);
-uimageCube KEYWORD(130, 999, UIMAGECUBE);
-image1DArray KEYWORD(130, 999, IMAGE1DARRAY);
-image2DArray KEYWORD(130, 999, IMAGE2DARRAY);
-iimage1DArray KEYWORD(130, 999, IIMAGE1DARRAY);
-iimage2DArray KEYWORD(130, 999, IIMAGE2DARRAY);
-uimage1DArray KEYWORD(130, 999, UIMAGE1DARRAY);
-uimage2DArray KEYWORD(130, 999, UIMAGE2DARRAY);
-image1DShadow KEYWORD(130, 999, IMAGE1DSHADOW);
-image2DShadow KEYWORD(130, 999, IMAGE2DSHADOW);
-image1DArrayShadow KEYWORD(130, 999, IMAGE1DARRAYSHADOW);
-image2DArrayShadow KEYWORD(130, 999, IMAGE2DARRAYSHADOW);
-imageBuffer KEYWORD(130, 999, IMAGEBUFFER);
-iimageBuffer KEYWORD(130, 999, IIMAGEBUFFER);
-uimageBuffer KEYWORD(130, 999, UIMAGEBUFFER);
-row_major KEYWORD(130, 999, ROW_MAJOR);
-
-[_a-zA-Z][_a-zA-Z0-9]* {
- struct _mesa_glsl_parse_state *state = yyextra;
- void *ctx = state;
- yylval->identifier = ralloc_strdup(ctx, yytext);
- return classify_identifier(state, yytext);
- }
-
-. { return yytext[0]; }
-
-%%
-
-int
-classify_identifier(struct _mesa_glsl_parse_state *state, const char *name)
-{
- if (state->symbols->get_variable(name) || state->symbols->get_function(name))
- return IDENTIFIER;
- else if (state->symbols->get_type(name))
- return TYPE_IDENTIFIER;
- else
- return NEW_IDENTIFIER;
-}
-
-void
-_mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state, const char *string)
-{
- yylex_init_extra(state, & state->scanner);
- yy_scan_string(string, state->scanner);
-}
-
-void
-_mesa_glsl_lexer_dtor(struct _mesa_glsl_parse_state *state)
-{
- yylex_destroy(state->scanner);
-}
+%{ +/* + * Copyright © 2008, 2009 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +#include <ctype.h> +#include <limits.h> +#include "strtod.h" +#include "ast.h" +#include "glsl_parser_extras.h" +#include "glsl_parser.h" + +static int classify_identifier(struct _mesa_glsl_parse_state *, const char *); + +#ifdef _MSC_VER +#define YY_NO_UNISTD_H +#endif + +#define YY_USER_ACTION \ + do { \ + yylloc->source = 0; \ + yylloc->first_column = yycolumn + 1; \ + yylloc->first_line = yylineno + 1; \ + yycolumn += yyleng; \ + } while(0); + +#define YY_USER_INIT yylineno = 0; yycolumn = 0; + +/* A macro for handling reserved words and keywords across language versions. + * + * Certain words start out as identifiers, become reserved words in + * later language revisions, and finally become language keywords. + * + * For example, consider the following lexer rule: + * samplerBuffer KEYWORD(130, 140, SAMPLERBUFFER) + * + * This means that "samplerBuffer" will be treated as: + * - a keyword (SAMPLERBUFFER token) ...in GLSL >= 1.40 + * - a reserved word - error ...in GLSL >= 1.30 + * - an identifier ...in GLSL < 1.30 + */ +#define KEYWORD(reserved_version, allowed_version, token) \ + do { \ + if (yyextra->language_version >= allowed_version) { \ + return token; \ + } else if (yyextra->language_version >= reserved_version) { \ + _mesa_glsl_error(yylloc, yyextra, \ + "Illegal use of reserved word `%s'", yytext); \ + return ERROR_TOK; \ + } else { \ + yylval->identifier = strdup(yytext); \ + return classify_identifier(yyextra, yytext); \ + } \ + } while (0) + +/* The ES macro can be used in KEYWORD checks: + * + * word KEYWORD(110 || ES, 400, TOKEN) + * ...means the word is reserved in GLSL ES 1.00, while + * + * word KEYWORD(110, 130 || ES, TOKEN) + * ...means the word is a legal keyword in GLSL ES 1.00. + */ +#define ES yyextra->es_shader + +static int +literal_integer(char *text, int len, struct _mesa_glsl_parse_state *state, + YYSTYPE *lval, YYLTYPE *lloc, int base) +{ + bool is_uint = (text[len - 1] == 'u' || + text[len - 1] == 'U'); + const char *digits = text; + + /* Skip "0x" */ + if (base == 16) + digits += 2; + +#ifdef _MSC_VER + unsigned __int64 value = _strtoui64(digits, NULL, base); +#else + unsigned long long value = strtoull(digits, NULL, base); +#endif + + lval->n = (int)value; + + if (value > UINT_MAX) { + /* Note that signed 0xffffffff is valid, not out of range! */ + if (state->language_version >= 130) { + _mesa_glsl_error(lloc, state, + "Literal value `%s' out of range", text); + } else { + _mesa_glsl_warning(lloc, state, + "Literal value `%s' out of range", text); + } + } else if (base == 10 && !is_uint && (unsigned)value > (unsigned)INT_MAX + 1) { + /* Tries to catch unintentionally providing a negative value. + * Note that -2147483648 is parsed as -(2147483648), so we don't + * want to warn for INT_MAX. + */ + _mesa_glsl_warning(lloc, state, + "Signed literal value `%s' is interpreted as %d", + text, lval->n); + } + return is_uint ? UINTCONSTANT : INTCONSTANT; +} + +#define LITERAL_INTEGER(base) \ + literal_integer(yytext, yyleng, yyextra, yylval, yylloc, base) + +%} + +%option bison-bridge bison-locations reentrant noyywrap +%option nounput noyy_top_state +%option never-interactive +%option prefix="_mesa_glsl_" +%option extra-type="struct _mesa_glsl_parse_state *" + +%x PP PRAGMA + +DEC_INT [1-9][0-9]* +HEX_INT 0[xX][0-9a-fA-F]+ +OCT_INT 0[0-7]* +INT ({DEC_INT}|{HEX_INT}|{OCT_INT}) +SPC [ \t]* +SPCP [ \t]+ +HASH ^{SPC}#{SPC} +%% + +[ \r\t]+ ; + + /* Preprocessor tokens. */ +^[ \t]*#[ \t]*$ ; +^[ \t]*#[ \t]*version { BEGIN PP; return VERSION; } +^[ \t]*#[ \t]*extension { BEGIN PP; return EXTENSION; } +{HASH}line{SPCP}{INT}{SPCP}{INT}{SPC}$ { + /* Eat characters until the first digit is + * encountered + */ + char *ptr = yytext; + while (!isdigit(*ptr)) + ptr++; + + /* Subtract one from the line number because + * yylineno is zero-based instead of + * one-based. + */ + yylineno = strtol(ptr, &ptr, 0) - 1; + yylloc->source = strtol(ptr, NULL, 0); + } +{HASH}line{SPCP}{INT}{SPC}$ { + /* Eat characters until the first digit is + * encountered + */ + char *ptr = yytext; + while (!isdigit(*ptr)) + ptr++; + + /* Subtract one from the line number because + * yylineno is zero-based instead of + * one-based. + */ + yylineno = strtol(ptr, &ptr, 0) - 1; + } +^{SPC}#{SPC}pragma{SPCP}debug{SPC}\({SPC}on{SPC}\) { + BEGIN PP; + return PRAGMA_DEBUG_ON; + } +^{SPC}#{SPC}pragma{SPCP}debug{SPC}\({SPC}off{SPC}\) { + BEGIN PP; + return PRAGMA_DEBUG_OFF; + } +^{SPC}#{SPC}pragma{SPCP}optimize{SPC}\({SPC}on{SPC}\) { + BEGIN PP; + return PRAGMA_OPTIMIZE_ON; + } +^{SPC}#{SPC}pragma{SPCP}optimize{SPC}\({SPC}off{SPC}\) { + BEGIN PP; + return PRAGMA_OPTIMIZE_OFF; + } +^{SPC}#{SPC}pragma{SPCP}STDGL{SPCP}invariant{SPC}\({SPC}all{SPC}\) { + BEGIN PP; + return PRAGMA_INVARIANT_ALL; + } +^{SPC}#{SPC}pragma{SPCP} { BEGIN PRAGMA; } + +<PRAGMA>\n { BEGIN 0; yylineno++; yycolumn = 0; } +<PRAGMA>. { } + +<PP>\/\/[^\n]* { } +<PP>[ \t\r]* { } +<PP>: return COLON; +<PP>[_a-zA-Z][_a-zA-Z0-9]* { + yylval->identifier = strdup(yytext); + return IDENTIFIER; + } +<PP>[1-9][0-9]* { + yylval->n = strtol(yytext, NULL, 10); + return INTCONSTANT; + } +<PP>\n { BEGIN 0; yylineno++; yycolumn = 0; return EOL; } + +\n { yylineno++; yycolumn = 0; } + +attribute return ATTRIBUTE; +const return CONST_TOK; +bool return BOOL_TOK; +float return FLOAT_TOK; +int return INT_TOK; +uint KEYWORD(130, 130, UINT_TOK); + +break return BREAK; +continue return CONTINUE; +do return DO; +while return WHILE; +else return ELSE; +for return FOR; +if return IF; +discard return DISCARD; +return return RETURN; + +bvec2 return BVEC2; +bvec3 return BVEC3; +bvec4 return BVEC4; +ivec2 return IVEC2; +ivec3 return IVEC3; +ivec4 return IVEC4; +uvec2 KEYWORD(130, 130, UVEC2); +uvec3 KEYWORD(130, 130, UVEC3); +uvec4 KEYWORD(130, 130, UVEC4); +vec2 return VEC2; +vec3 return VEC3; +vec4 return VEC4; +mat2 return MAT2X2; +mat3 return MAT3X3; +mat4 return MAT4X4; +mat2x2 KEYWORD(120, 120, MAT2X2); +mat2x3 KEYWORD(120, 120, MAT2X3); +mat2x4 KEYWORD(120, 120, MAT2X4); +mat3x2 KEYWORD(120, 120, MAT3X2); +mat3x3 KEYWORD(120, 120, MAT3X3); +mat3x4 KEYWORD(120, 120, MAT3X4); +mat4x2 KEYWORD(120, 120, MAT4X2); +mat4x3 KEYWORD(120, 120, MAT4X3); +mat4x4 KEYWORD(120, 120, MAT4X4); + +in return IN_TOK; +out return OUT_TOK; +inout return INOUT_TOK; +uniform return UNIFORM; +varying return VARYING; +centroid KEYWORD(120, 120, CENTROID); +invariant KEYWORD(120 || ES, 120 || ES, INVARIANT); +flat KEYWORD(130 || ES, 130, FLAT); +smooth KEYWORD(130, 130, SMOOTH); +noperspective KEYWORD(130, 130, NOPERSPECTIVE); + +sampler1D return SAMPLER1D; +sampler2D return SAMPLER2D; +sampler3D return SAMPLER3D; +samplerCube return SAMPLERCUBE; +sampler1DArray KEYWORD(130, 130, SAMPLER1DARRAY); +sampler2DArray KEYWORD(130, 130, SAMPLER2DARRAY); +sampler1DShadow return SAMPLER1DSHADOW; +sampler2DShadow return SAMPLER2DSHADOW; +samplerCubeShadow KEYWORD(130, 130, SAMPLERCUBESHADOW); +sampler1DArrayShadow KEYWORD(130, 130, SAMPLER1DARRAYSHADOW); +sampler2DArrayShadow KEYWORD(130, 130, SAMPLER2DARRAYSHADOW); +isampler1D KEYWORD(130, 130, ISAMPLER1D); +isampler2D KEYWORD(130, 130, ISAMPLER2D); +isampler3D KEYWORD(130, 130, ISAMPLER3D); +isamplerCube KEYWORD(130, 130, ISAMPLERCUBE); +isampler1DArray KEYWORD(130, 130, ISAMPLER1DARRAY); +isampler2DArray KEYWORD(130, 130, ISAMPLER2DARRAY); +usampler1D KEYWORD(130, 130, USAMPLER1D); +usampler2D KEYWORD(130, 130, USAMPLER2D); +usampler3D KEYWORD(130, 130, USAMPLER3D); +usamplerCube KEYWORD(130, 130, USAMPLERCUBE); +usampler1DArray KEYWORD(130, 130, USAMPLER1DARRAY); +usampler2DArray KEYWORD(130, 130, USAMPLER2DARRAY); + +samplerExternalOES { + if (yyextra->OES_EGL_image_external_enable) + return SAMPLEREXTERNALOES; + else + return IDENTIFIER; + } + + +struct return STRUCT; +void return VOID_TOK; + +layout { + if ((yyextra->language_version >= 140) + || yyextra->AMD_conservative_depth_enable + || yyextra->ARB_explicit_attrib_location_enable + || yyextra->ARB_fragment_coord_conventions_enable) { + return LAYOUT_TOK; + } else { + yylval->identifier = strdup(yytext); + return IDENTIFIER; + } + } + +\+\+ return INC_OP; +-- return DEC_OP; +\<= return LE_OP; +>= return GE_OP; +== return EQ_OP; +!= return NE_OP; +&& return AND_OP; +\|\| return OR_OP; +"^^" return XOR_OP; +"<<" return LEFT_OP; +">>" return RIGHT_OP; + +\*= return MUL_ASSIGN; +\/= return DIV_ASSIGN; +\+= return ADD_ASSIGN; +\%= return MOD_ASSIGN; +\<\<= return LEFT_ASSIGN; +>>= return RIGHT_ASSIGN; +&= return AND_ASSIGN; +"^=" return XOR_ASSIGN; +\|= return OR_ASSIGN; +-= return SUB_ASSIGN; + +[1-9][0-9]*[uU]? { + return LITERAL_INTEGER(10); + } +0[xX][0-9a-fA-F]+[uU]? { + return LITERAL_INTEGER(16); + } +0[0-7]*[uU]? { + return LITERAL_INTEGER(8); + } + +[0-9]+\.[0-9]+([eE][+-]?[0-9]+)?[fF]? { + yylval->real = glsl_strtod(yytext, NULL); + return FLOATCONSTANT; + } +\.[0-9]+([eE][+-]?[0-9]+)?[fF]? { + yylval->real = glsl_strtod(yytext, NULL); + return FLOATCONSTANT; + } +[0-9]+\.([eE][+-]?[0-9]+)?[fF]? { + yylval->real = glsl_strtod(yytext, NULL); + return FLOATCONSTANT; + } +[0-9]+[eE][+-]?[0-9]+[fF]? { + yylval->real = glsl_strtod(yytext, NULL); + return FLOATCONSTANT; + } +[0-9]+[fF] { + yylval->real = glsl_strtod(yytext, NULL); + return FLOATCONSTANT; + } + +true { + yylval->n = 1; + return BOOLCONSTANT; + } +false { + yylval->n = 0; + return BOOLCONSTANT; + } + + + /* Reserved words in GLSL 1.10. */ +asm KEYWORD(110 || ES, 999, ASM); +class KEYWORD(110 || ES, 999, CLASS); +union KEYWORD(110 || ES, 999, UNION); +enum KEYWORD(110 || ES, 999, ENUM); +typedef KEYWORD(110 || ES, 999, TYPEDEF); +template KEYWORD(110 || ES, 999, TEMPLATE); +this KEYWORD(110 || ES, 999, THIS); +packed KEYWORD(110 || ES, 999, PACKED_TOK); +goto KEYWORD(110 || ES, 999, GOTO); +switch KEYWORD(110 || ES, 130, SWITCH); +default KEYWORD(110 || ES, 130, DEFAULT); +inline KEYWORD(110 || ES, 999, INLINE_TOK); +noinline KEYWORD(110 || ES, 999, NOINLINE); +volatile KEYWORD(110 || ES, 999, VOLATILE); +public KEYWORD(110 || ES, 999, PUBLIC_TOK); +static KEYWORD(110 || ES, 999, STATIC); +extern KEYWORD(110 || ES, 999, EXTERN); +external KEYWORD(110 || ES, 999, EXTERNAL); +interface KEYWORD(110 || ES, 999, INTERFACE); +long KEYWORD(110 || ES, 999, LONG_TOK); +short KEYWORD(110 || ES, 999, SHORT_TOK); +double KEYWORD(110 || ES, 400, DOUBLE_TOK); +half KEYWORD(110 || ES, 999, HALF); +fixed KEYWORD(110 || ES, 999, FIXED_TOK); +unsigned KEYWORD(110 || ES, 999, UNSIGNED); +input KEYWORD(110 || ES, 999, INPUT_TOK); +output KEYWORD(110 || ES, 999, OUTPUT); +hvec2 KEYWORD(110 || ES, 999, HVEC2); +hvec3 KEYWORD(110 || ES, 999, HVEC3); +hvec4 KEYWORD(110 || ES, 999, HVEC4); +dvec2 KEYWORD(110 || ES, 400, DVEC2); +dvec3 KEYWORD(110 || ES, 400, DVEC3); +dvec4 KEYWORD(110 || ES, 400, DVEC4); +fvec2 KEYWORD(110 || ES, 999, FVEC2); +fvec3 KEYWORD(110 || ES, 999, FVEC3); +fvec4 KEYWORD(110 || ES, 999, FVEC4); +sampler2DRect return SAMPLER2DRECT; +sampler3DRect KEYWORD(110 || ES, 999, SAMPLER3DRECT); +sampler2DRectShadow return SAMPLER2DRECTSHADOW; +sizeof KEYWORD(110 || ES, 999, SIZEOF); +cast KEYWORD(110 || ES, 999, CAST); +namespace KEYWORD(110 || ES, 999, NAMESPACE); +using KEYWORD(110 || ES, 999, USING); + + /* Additional reserved words in GLSL 1.20. */ +lowp KEYWORD(120, 130 || ES, LOWP); +mediump KEYWORD(120, 130 || ES, MEDIUMP); +highp KEYWORD(120, 130 || ES, HIGHP); +precision KEYWORD(120, 130 || ES, PRECISION); + + /* Additional reserved words in GLSL 1.30. */ +case KEYWORD(130, 130, CASE); +common KEYWORD(130, 999, COMMON); +partition KEYWORD(130, 999, PARTITION); +active KEYWORD(130, 999, ACTIVE); +superp KEYWORD(130 || ES, 999, SUPERP); +samplerBuffer KEYWORD(130, 140, SAMPLERBUFFER); +filter KEYWORD(130, 999, FILTER); +image1D KEYWORD(130, 999, IMAGE1D); +image2D KEYWORD(130, 999, IMAGE2D); +image3D KEYWORD(130, 999, IMAGE3D); +imageCube KEYWORD(130, 999, IMAGECUBE); +iimage1D KEYWORD(130, 999, IIMAGE1D); +iimage2D KEYWORD(130, 999, IIMAGE2D); +iimage3D KEYWORD(130, 999, IIMAGE3D); +iimageCube KEYWORD(130, 999, IIMAGECUBE); +uimage1D KEYWORD(130, 999, UIMAGE1D); +uimage2D KEYWORD(130, 999, UIMAGE2D); +uimage3D KEYWORD(130, 999, UIMAGE3D); +uimageCube KEYWORD(130, 999, UIMAGECUBE); +image1DArray KEYWORD(130, 999, IMAGE1DARRAY); +image2DArray KEYWORD(130, 999, IMAGE2DARRAY); +iimage1DArray KEYWORD(130, 999, IIMAGE1DARRAY); +iimage2DArray KEYWORD(130, 999, IIMAGE2DARRAY); +uimage1DArray KEYWORD(130, 999, UIMAGE1DARRAY); +uimage2DArray KEYWORD(130, 999, UIMAGE2DARRAY); +image1DShadow KEYWORD(130, 999, IMAGE1DSHADOW); +image2DShadow KEYWORD(130, 999, IMAGE2DSHADOW); +image1DArrayShadow KEYWORD(130, 999, IMAGE1DARRAYSHADOW); +image2DArrayShadow KEYWORD(130, 999, IMAGE2DARRAYSHADOW); +imageBuffer KEYWORD(130, 999, IMAGEBUFFER); +iimageBuffer KEYWORD(130, 999, IIMAGEBUFFER); +uimageBuffer KEYWORD(130, 999, UIMAGEBUFFER); +row_major KEYWORD(130, 999, ROW_MAJOR); + +[_a-zA-Z][_a-zA-Z0-9]* { + struct _mesa_glsl_parse_state *state = yyextra; + void *ctx = state; + yylval->identifier = ralloc_strdup(ctx, yytext); + return classify_identifier(state, yytext); + } + +. { return yytext[0]; } + +%% + +int +classify_identifier(struct _mesa_glsl_parse_state *state, const char *name) +{ + if (state->symbols->get_variable(name) || state->symbols->get_function(name)) + return IDENTIFIER; + else if (state->symbols->get_type(name)) + return TYPE_IDENTIFIER; + else + return NEW_IDENTIFIER; +} + +void +_mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state, const char *string) +{ + yylex_init_extra(state, & state->scanner); + yy_scan_string(string, state->scanner); +} + +void +_mesa_glsl_lexer_dtor(struct _mesa_glsl_parse_state *state) +{ + yylex_destroy(state->scanner); +} diff --git a/mesalib/src/glsl/glsl_parser.yy b/mesalib/src/glsl/glsl_parser.yy index 25d02fb1e..d32d6e4e1 100644 --- a/mesalib/src/glsl/glsl_parser.yy +++ b/mesalib/src/glsl/glsl_parser.yy @@ -92,6 +92,7 @@ %token SAMPLER2DARRAYSHADOW ISAMPLER1D ISAMPLER2D ISAMPLER3D ISAMPLERCUBE %token ISAMPLER1DARRAY ISAMPLER2DARRAY USAMPLER1D USAMPLER2D USAMPLER3D %token USAMPLERCUBE USAMPLER1DARRAY USAMPLER2DARRAY +%token SAMPLEREXTERNALOES %token STRUCT VOID_TOK WHILE %token <identifier> IDENTIFIER TYPE_IDENTIFIER NEW_IDENTIFIER %type <identifier> any_identifier @@ -1368,6 +1369,7 @@ basic_type_specifier_nonarray: | SAMPLER2DRECT { $$ = ast_sampler2drect; } | SAMPLER3D { $$ = ast_sampler3d; } | SAMPLERCUBE { $$ = ast_samplercube; } + | SAMPLEREXTERNALOES { $$ = ast_samplerexternaloes; } | SAMPLER1DSHADOW { $$ = ast_sampler1dshadow; } | SAMPLER2DSHADOW { $$ = ast_sampler2dshadow; } | SAMPLER2DRECTSHADOW { $$ = ast_sampler2drectshadow; } diff --git a/mesalib/src/glsl/glsl_parser_extras.cpp b/mesalib/src/glsl/glsl_parser_extras.cpp index e2112fe6d..e627dabf7 100644 --- a/mesalib/src/glsl/glsl_parser_extras.cpp +++ b/mesalib/src/glsl/glsl_parser_extras.cpp @@ -267,6 +267,7 @@ static const _mesa_glsl_extension _mesa_glsl_supported_extensions[] = { EXT(AMD_conservative_depth, true, false, true, true, false, AMD_conservative_depth), EXT(AMD_shader_stencil_export, false, false, true, true, false, ARB_shader_stencil_export), EXT(OES_texture_3D, true, false, true, false, true, EXT_texture3D), + EXT(OES_EGL_image_external, true, false, true, false, true, OES_EGL_image_external), }; #undef EXT diff --git a/mesalib/src/glsl/glsl_parser_extras.h b/mesalib/src/glsl/glsl_parser_extras.h index 903e9744d..7c7ed7f75 100644 --- a/mesalib/src/glsl/glsl_parser_extras.h +++ b/mesalib/src/glsl/glsl_parser_extras.h @@ -190,6 +190,8 @@ struct _mesa_glsl_parse_state { bool AMD_shader_stencil_export_warn; bool OES_texture_3D_enable; bool OES_texture_3D_warn; + bool OES_EGL_image_external_enable; + bool OES_EGL_image_external_warn; /*@}*/ /** Extensions supported by the OpenGL implementation. */ diff --git a/mesalib/src/glsl/glsl_types.cpp b/mesalib/src/glsl/glsl_types.cpp index c94aec0d2..8587da0a3 100644 --- a/mesalib/src/glsl/glsl_types.cpp +++ b/mesalib/src/glsl/glsl_types.cpp @@ -203,6 +203,15 @@ glsl_type::generate_OES_texture_3D_types(glsl_symbol_table *symtab, bool warn) void +glsl_type::generate_OES_EGL_image_external_types(glsl_symbol_table *symtab, + bool warn) +{ + add_types_to_symbol_table(symtab, builtin_OES_EGL_image_external_types, + Elements(builtin_OES_EGL_image_external_types), + warn); +} + +void _mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state) { switch (state->language_version) { @@ -238,6 +247,15 @@ _mesa_glsl_initialize_types(struct _mesa_glsl_parse_state *state) glsl_type::generate_EXT_texture_array_types(state->symbols, state->EXT_texture_array_warn); } + + /* We cannot check for language_version == 100 here because we need the + * types to support fixed-function program generation. But this is fine + * since the extension is never enabled for OpenGL contexts. + */ + if (state->OES_EGL_image_external_enable) { + glsl_type::generate_OES_EGL_image_external_types(state->symbols, + state->OES_EGL_image_external_warn); + } } @@ -258,6 +276,29 @@ const glsl_type *glsl_type::get_base_type() const } +const glsl_type *glsl_type::get_scalar_type() const +{ + const glsl_type *type = this; + + /* Handle arrays */ + while (type->base_type == GLSL_TYPE_ARRAY) + type = type->fields.array; + + /* Handle vectors and matrices */ + switch (type->base_type) { + case GLSL_TYPE_UINT: + return uint_type; + case GLSL_TYPE_INT: + return int_type; + case GLSL_TYPE_FLOAT: + return float_type; + default: + /* Handle everything else */ + return type; + } +} + + void _mesa_glsl_release_types(void) { diff --git a/mesalib/src/glsl/glsl_types.h b/mesalib/src/glsl/glsl_types.h index 048696693..56b8efe7b 100644 --- a/mesalib/src/glsl/glsl_types.h +++ b/mesalib/src/glsl/glsl_types.h @@ -62,7 +62,8 @@ enum glsl_sampler_dim { GLSL_SAMPLER_DIM_3D, GLSL_SAMPLER_DIM_CUBE, GLSL_SAMPLER_DIM_RECT, - GLSL_SAMPLER_DIM_BUF + GLSL_SAMPLER_DIM_BUF, + GLSL_SAMPLER_DIM_EXTERNAL }; @@ -178,6 +179,17 @@ struct glsl_type { const glsl_type *get_base_type() const; /** + * Get the basic scalar type which this type aggregates. + * + * If the type is a numeric or boolean scalar, vector, or matrix, or an + * array of any of those, this function gets the scalar type of the + * individual components. For structs and arrays of structs, this function + * returns the struct type. For samplers and arrays of samplers, this + * function returns the sampler type. + */ + const glsl_type *get_scalar_type() const; + + /** * Query the type of elements in an array * * \return @@ -478,6 +490,7 @@ private: static const glsl_type builtin_ARB_texture_rectangle_types[]; static const glsl_type builtin_EXT_texture_array_types[]; static const glsl_type builtin_EXT_texture_buffer_object_types[]; + static const glsl_type builtin_OES_EGL_image_external_types[]; /*@}*/ /** @@ -496,6 +509,7 @@ private: static void generate_ARB_texture_rectangle_types(glsl_symbol_table *, bool); static void generate_EXT_texture_array_types(glsl_symbol_table *, bool); static void generate_OES_texture_3D_types(glsl_symbol_table *, bool); + static void generate_OES_EGL_image_external_types(glsl_symbol_table *, bool); /*@}*/ /** diff --git a/mesalib/src/glsl/ir.cpp b/mesalib/src/glsl/ir.cpp index ef7300e65..a5eca5a51 100644 --- a/mesalib/src/glsl/ir.cpp +++ b/mesalib/src/glsl/ir.cpp @@ -1326,9 +1326,11 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name, this->type = type; this->name = ralloc_strdup(this, name); this->explicit_location = false; + this->has_initializer = false; this->location = -1; this->warn_extension = NULL; this->constant_value = NULL; + this->constant_initializer = NULL; this->origin_upper_left = false; this->pixel_center_integer = false; this->depth_layout = ir_depth_layout_none; @@ -1489,6 +1491,9 @@ steal_memory(ir_instruction *ir, void *new_ctx) if (var != NULL && var->constant_value != NULL) steal_memory(var->constant_value, ir); + if (var != NULL && var->constant_initializer != NULL) + steal_memory(var->constant_initializer, ir); + /* The components of aggregate constants are not visited by the normal * visitor, so steal their values by hand. */ diff --git a/mesalib/src/glsl/ir.h b/mesalib/src/glsl/ir.h index 404d4cffa..5878c051b 100644 --- a/mesalib/src/glsl/ir.h +++ b/mesalib/src/glsl/ir.h @@ -356,14 +356,6 @@ public: /*@}*/ /** - * \brief Layout qualifier for gl_FragDepth. - * - * This is not equal to \c ir_depth_layout_none if and only if this - * variable is \c gl_FragDepth and a layout qualifier is specified. - */ - ir_depth_layout depth_layout; - - /** * Was the location explicitly set in the shader? * * If the location is explicitly set in the shader, it \b cannot be changed @@ -373,6 +365,22 @@ public: unsigned explicit_location:1; /** + * Does this variable have an initializer? + * + * This is used by the linker to cross-validiate initializers of global + * variables. + */ + unsigned has_initializer:1; + + /** + * \brief Layout qualifier for gl_FragDepth. + * + * This is not equal to \c ir_depth_layout_none if and only if this + * variable is \c gl_FragDepth and a layout qualifier is specified. + */ + ir_depth_layout depth_layout; + + /** * Storage location of the base of this variable * * The precise meaning of this field depends on the nature of the variable. @@ -414,6 +422,16 @@ public: * Value assigned in the initializer of a variable declared "const" */ ir_constant *constant_value; + + /** + * Constant expression assigned in the initializer of the variable + * + * \warning + * This field and \c ::constant_value are distinct. Even if the two fields + * refer to constants with the same value, they must point to separate + * objects. + */ + ir_constant *constant_initializer; }; diff --git a/mesalib/src/glsl/ir_clone.cpp b/mesalib/src/glsl/ir_clone.cpp index 9adf47050..e8ac9fbe4 100644 --- a/mesalib/src/glsl/ir_clone.cpp +++ b/mesalib/src/glsl/ir_clone.cpp @@ -50,6 +50,7 @@ ir_variable::clone(void *mem_ctx, struct hash_table *ht) const var->origin_upper_left = this->origin_upper_left; var->pixel_center_integer = this->pixel_center_integer; var->explicit_location = this->explicit_location; + var->has_initializer = this->has_initializer; var->num_state_slots = this->num_state_slots; if (this->state_slots) { @@ -68,6 +69,10 @@ ir_variable::clone(void *mem_ctx, struct hash_table *ht) const if (this->constant_value) var->constant_value = this->constant_value->clone(mem_ctx, ht); + if (this->constant_initializer) + var->constant_initializer = + this->constant_initializer->clone(mem_ctx, ht); + if (ht) { hash_table_insert(ht, var, (void *)const_cast<ir_variable *>(this)); } diff --git a/mesalib/src/glsl/ir_constant_expression.cpp b/mesalib/src/glsl/ir_constant_expression.cpp index 83f084d88..492be325f 100644 --- a/mesalib/src/glsl/ir_constant_expression.cpp +++ b/mesalib/src/glsl/ir_constant_expression.cpp @@ -719,7 +719,7 @@ ir_expression::constant_expression_value() } break; case ir_binop_nequal: - assert(op[0]->type != op[1]->type); + assert(op[0]->type == op[1]->type); for (unsigned c = 0; c < components; c++) { switch (op[0]->type->base_type) { case GLSL_TYPE_UINT: diff --git a/mesalib/src/glsl/ir_print_visitor.cpp b/mesalib/src/glsl/ir_print_visitor.cpp index b713bd03b..1471355f3 100644 --- a/mesalib/src/glsl/ir_print_visitor.cpp +++ b/mesalib/src/glsl/ir_print_visitor.cpp @@ -368,8 +368,6 @@ void ir_print_visitor::visit(ir_assignment *ir) void ir_print_visitor::visit(ir_constant *ir) { - const glsl_type *const base_type = ir->type->get_base_type(); - printf("(constant "); print_type(ir->type); printf(" ("); @@ -390,7 +388,7 @@ void ir_print_visitor::visit(ir_constant *ir) for (unsigned i = 0; i < ir->type->components(); i++) { if (i != 0) printf(" "); - switch (base_type->base_type) { + switch (ir->type->base_type) { case GLSL_TYPE_UINT: printf("%u", ir->value.u[i]); break; case GLSL_TYPE_INT: printf("%d", ir->value.i[i]); break; case GLSL_TYPE_FLOAT: printf("%f", ir->value.f[i]); break; diff --git a/mesalib/src/glsl/ir_reader.cpp b/mesalib/src/glsl/ir_reader.cpp index e3a3ed97d..6f50cc439 100644 --- a/mesalib/src/glsl/ir_reader.cpp +++ b/mesalib/src/glsl/ir_reader.cpp @@ -773,8 +773,6 @@ ir_reader::read_constant(s_expression *expr) return new(mem_ctx) ir_constant(type, &elements); } - const glsl_type *const base_type = type->get_base_type(); - ir_constant_data data = { { 0 } }; // Read in list of values (at most 16). @@ -787,7 +785,7 @@ ir_reader::read_constant(s_expression *expr) s_expression *expr = (s_expression*) it.get(); - if (base_type->base_type == GLSL_TYPE_FLOAT) { + if (type->base_type == GLSL_TYPE_FLOAT) { s_number *value = SX_AS_NUMBER(expr); if (value == NULL) { ir_read_error(values, "expected numbers"); @@ -801,7 +799,7 @@ ir_reader::read_constant(s_expression *expr) return NULL; } - switch (base_type->base_type) { + switch (type->base_type) { case GLSL_TYPE_UINT: { data.u[k] = value->value(); break; diff --git a/mesalib/src/glsl/ir_validate.cpp b/mesalib/src/glsl/ir_validate.cpp index c387ecbca..a3520120f 100644 --- a/mesalib/src/glsl/ir_validate.cpp +++ b/mesalib/src/glsl/ir_validate.cpp @@ -496,6 +496,13 @@ ir_validate::visit(ir_variable *ir) } } + if (ir->constant_initializer != NULL && !ir->has_initializer) { + printf("ir_variable didn't have an initializer, but has a constant " + "initializer value.\n"); + ir->print(); + abort(); + } + return visit_continue; } diff --git a/mesalib/src/glsl/ir_variable.cpp b/mesalib/src/glsl/ir_variable.cpp index 1ee84d219..3092507bc 100644 --- a/mesalib/src/glsl/ir_variable.cpp +++ b/mesalib/src/glsl/ir_variable.cpp @@ -400,7 +400,7 @@ add_builtin_variable(exec_list *instructions, glsl_symbol_table *symtab, } } -static void +static ir_variable * add_builtin_constant(exec_list *instructions, glsl_symbol_table *symtab, const char *name, int value) { @@ -408,6 +408,9 @@ add_builtin_constant(exec_list *instructions, glsl_symbol_table *symtab, name, glsl_type::int_type, ir_var_auto, -1); var->constant_value = new(var) ir_constant(value); + var->constant_initializer = new(var) ir_constant(value); + var->has_initializer = true; + return var; } /* Several constants in GLSL ES have different names than normal desktop GLSL. @@ -749,16 +752,12 @@ generate_ARB_draw_buffers_variables(exec_list *instructions, /* gl_MaxDrawBuffers is available in all shader stages. */ ir_variable *const mdb = - add_variable(instructions, state->symbols, - "gl_MaxDrawBuffers", glsl_type::int_type, ir_var_auto, -1); + add_builtin_constant(instructions, state->symbols, "gl_MaxDrawBuffers", + state->Const.MaxDrawBuffers); if (warn) mdb->warn_extension = "GL_ARB_draw_buffers"; - mdb->constant_value = new(mdb) - ir_constant(int(state->Const.MaxDrawBuffers)); - - /* gl_FragData is only available in the fragment shader. */ if (target == fragment_shader) { diff --git a/mesalib/src/glsl/linker.cpp b/mesalib/src/glsl/linker.cpp index beadec6f6..915d5bbcf 100644 --- a/mesalib/src/glsl/linker.cpp +++ b/mesalib/src/glsl/linker.cpp @@ -415,43 +415,63 @@ cross_validate_globals(struct gl_shader_program *prog, existing->explicit_location = true; } - /* Validate layout qualifiers for gl_FragDepth. - * - * From the AMD/ARB_conservative_depth specs: - * "If gl_FragDepth is redeclared in any fragment shader in - * a program, it must be redeclared in all fragment shaders in that - * program that have static assignments to gl_FragDepth. All - * redeclarations of gl_FragDepth in all fragment shaders in - * a single program must have the same set of qualifiers." - */ - if (strcmp(var->name, "gl_FragDepth") == 0) { - bool layout_declared = var->depth_layout != ir_depth_layout_none; - bool layout_differs = var->depth_layout != existing->depth_layout; - if (layout_declared && layout_differs) { - linker_error(prog, - "All redeclarations of gl_FragDepth in all fragment shaders " - "in a single program must have the same set of qualifiers."); - } - if (var->used && layout_differs) { - linker_error(prog, - "If gl_FragDepth is redeclared with a layout qualifier in" - "any fragment shader, it must be redeclared with the same" - "layout qualifier in all fragment shaders that have" - "assignments to gl_FragDepth"); - } - } - - /* FINISHME: Handle non-constant initializers. + /* Validate layout qualifiers for gl_FragDepth. + * + * From the AMD/ARB_conservative_depth specs: + * + * "If gl_FragDepth is redeclared in any fragment shader in a + * program, it must be redeclared in all fragment shaders in + * that program that have static assignments to + * gl_FragDepth. All redeclarations of gl_FragDepth in all + * fragment shaders in a single program must have the same set + * of qualifiers." + */ + if (strcmp(var->name, "gl_FragDepth") == 0) { + bool layout_declared = var->depth_layout != ir_depth_layout_none; + bool layout_differs = + var->depth_layout != existing->depth_layout; + + if (layout_declared && layout_differs) { + linker_error(prog, + "All redeclarations of gl_FragDepth in all " + "fragment shaders in a single program must have " + "the same set of qualifiers."); + } + + if (var->used && layout_differs) { + linker_error(prog, + "If gl_FragDepth is redeclared with a layout " + "qualifier in any fragment shader, it must be " + "redeclared with the same layout qualifier in " + "all fragment shaders that have assignments to " + "gl_FragDepth"); + } + } + + /* Page 35 (page 41 of the PDF) of the GLSL 4.20 spec says: + * + * "If a shared global has multiple initializers, the + * initializers must all be constant expressions, and they + * must all have the same value. Otherwise, a link error will + * result. (A shared global having only one initializer does + * not require that initializer to be a constant expression.)" + * + * Previous to 4.20 the GLSL spec simply said that initializers + * must have the same value. In this case of non-constant + * initializers, this was impossible to determine. As a result, + * no vendor actually implemented that behavior. The 4.20 + * behavior matches the implemented behavior of at least one other + * vendor, so we'll implement that for all GLSL versions. */ - if (var->constant_value != NULL) { - if (existing->constant_value != NULL) { - if (!var->constant_value->has_value(existing->constant_value)) { + if (var->constant_initializer != NULL) { + if (existing->constant_initializer != NULL) { + if (!var->constant_initializer->has_value(existing->constant_initializer)) { linker_error(prog, "initializers for %s " "`%s' have differing values\n", mode_string(var), var->name); return false; } - } else + } else { /* If the first-seen instance of a particular uniform did not * have an initializer but a later instance does, copy the * initializer to the version stored in the symbol table. @@ -464,8 +484,29 @@ cross_validate_globals(struct gl_shader_program *prog, * FINISHME: modify the shader, and linking with the second * FINISHME: will fail. */ - existing->constant_value = - var->constant_value->clone(ralloc_parent(existing), NULL); + existing->constant_initializer = + var->constant_initializer->clone(ralloc_parent(existing), + NULL); + } + } + + if (var->has_initializer) { + if (existing->has_initializer + && (var->constant_initializer == NULL + || existing->constant_initializer == NULL)) { + linker_error(prog, + "shared global variable `%s' has multiple " + "non-constant initializers.\n", + var->name); + return false; + } + + /* Some instance had an initializer, so keep track of that. In + * this location, all sorts of initializers (constant or + * otherwise) will propagate the existence to the variable + * stored in the symbol table. + */ + existing->has_initializer = true; } if (existing->invariant != var->invariant) { diff --git a/mesalib/src/glsl/ralloc.c b/mesalib/src/glsl/ralloc.c index f5f3934ac..91e4bab2e 100644 --- a/mesalib/src/glsl/ralloc.c +++ b/mesalib/src/glsl/ralloc.c @@ -33,6 +33,12 @@ #include <limits.h> #endif +/* Some versions of MinGW are missing _vscprintf's declaration, although they + * still provide the symbol in the import library. */ +#ifdef __MINGW32__ +_CRTIMP int _vscprintf(const char *format, va_list argptr); +#endif + #include "ralloc.h" #ifdef __GNUC__ @@ -397,7 +403,7 @@ printf_length(const char *fmt, va_list untouched_args) va_list args; va_copy(args, untouched_args); -#ifdef _MSC_VER +#ifdef _WIN32 /* We need to use _vcsprintf to calculate the size as vsnprintf returns -1 * if the number of characters to write is greater than count. */ diff --git a/mesalib/src/glsl/standalone_scaffolding.cpp b/mesalib/src/glsl/standalone_scaffolding.cpp index 5cc6c9879..24cc64ad9 100644 --- a/mesalib/src/glsl/standalone_scaffolding.cpp +++ b/mesalib/src/glsl/standalone_scaffolding.cpp @@ -72,6 +72,7 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api) ctx->Extensions.EXT_texture_array = true; ctx->Extensions.NV_texture_rectangle = true; ctx->Extensions.EXT_texture3D = true; + ctx->Extensions.OES_EGL_image_external = true; ctx->Const.GLSLVersion = 120; diff --git a/mesalib/src/mapi/glapi/gen/ARB_texture_storage.xml b/mesalib/src/mapi/glapi/gen/ARB_texture_storage.xml new file mode 100644 index 000000000..945467939 --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/ARB_texture_storage.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<!DOCTYPE OpenGLAPI SYSTEM "gl_API.dtd"> + +<!-- Note: no GLX protocol info yet. --> + + +<OpenGLAPI> + +<category name="GL_ARB_texture_storage" number="117"> + + <enum name="GL_TEXTURE_IMMUTABLE_FORMAT" value="0x912F"/> + + <function name="TexStorage1D" offset="assign"> + <param name="target" type="GLenum"/> + <param name="levels" type="GLsizei"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + </function> + + <function name="TexStorage2D" offset="assign"> + <param name="target" type="GLenum"/> + <param name="levels" type="GLsizei"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </function> + + <function name="TexStorage3D" offset="assign"> + <param name="target" type="GLenum"/> + <param name="levels" type="GLsizei"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + </function> + + <function name="TextureStorage1DEXT" offset="assign"> + <param name="texture" type="GLuint"/> + <param name="target" type="GLenum"/> + <param name="levels" type="GLsizei"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + </function> + + <function name="TextureStorage2DEXT" offset="assign"> + <param name="texture" type="GLuint"/> + <param name="target" type="GLenum"/> + <param name="levels" type="GLsizei"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + </function> + + <function name="TextureStorage3DEXT" offset="assign"> + <param name="texture" type="GLuint"/> + <param name="target" type="GLenum"/> + <param name="levels" type="GLsizei"/> + <param name="internalFormat" type="GLenum"/> + <param name="width" type="GLsizei"/> + <param name="height" type="GLsizei"/> + <param name="depth" type="GLsizei"/> + </function> + +</category> + + +</OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/gen/Makefile b/mesalib/src/mapi/glapi/gen/Makefile index ec82d48ce..4110cda7b 100644 --- a/mesalib/src/mapi/glapi/gen/Makefile +++ b/mesalib/src/mapi/glapi/gen/Makefile @@ -87,6 +87,7 @@ API_XML = \ ARB_seamless_cube_map.xml \ ARB_sync.xml \ ARB_texture_buffer_object.xml \ + ARB_texture_storage.xml \ ARB_vertex_array_object.xml \ AMD_draw_buffers_blend.xml \ ARB_vertex_type_2_10_10_10_rev.xml \ diff --git a/mesalib/src/mapi/glapi/gen/es_EXT.xml b/mesalib/src/mapi/glapi/gen/es_EXT.xml index 1327bb602..bc98aee3d 100644 --- a/mesalib/src/mapi/glapi/gen/es_EXT.xml +++ b/mesalib/src/mapi/glapi/gen/es_EXT.xml @@ -615,4 +615,12 @@ <!-- 69. GL_EXT_multi_draw_arrays --> +<!-- 87. GL_OES_EGL_image_external --> +<category name="GL_OES_EGL_image_external" number="87"> + <enum name="TEXTURE_EXTERNAL_OES" value="0x8D65"/> + <enum name="SAMPLER_EXTERNAL_OES" value="0x8D66"/> + <enum name="TEXTURE_BINDING_EXTERNAL_OES" value="0x8D67"/> + <enum name="REQUIRED_TEXTURE_IMAGE_UNITS_OES" value="0x8D68"/> +</category> + </OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/gen/gl_API.xml b/mesalib/src/mapi/glapi/gen/gl_API.xml index be66a4001..9baf66bd0 100644 --- a/mesalib/src/mapi/glapi/gen/gl_API.xml +++ b/mesalib/src/mapi/glapi/gen/gl_API.xml @@ -12420,6 +12420,8 @@ <xi:include href="ARB_texture_buffer_object.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> +<xi:include href="ARB_texture_storage.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> + <xi:include href="ARB_vertex_type_2_10_10_10_rev.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> </OpenGLAPI> diff --git a/mesalib/src/mapi/glapi/glapi_gentable.c b/mesalib/src/mapi/glapi/glapi_gentable.c index 27d1f861b..e6e841d5d 100644 --- a/mesalib/src/mapi/glapi/glapi_gentable.c +++ b/mesalib/src/mapi/glapi/glapi_gentable.c @@ -6373,6 +6373,48 @@ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) { } + if(!disp->TexStorage1D) { + void ** procp = (void **) &disp->TexStorage1D; + snprintf(symboln, sizeof(symboln), "%sTexStorage1D", symbol_prefix); + *procp = dlsym(handle, symboln); + } + + + if(!disp->TexStorage2D) { + void ** procp = (void **) &disp->TexStorage2D; + snprintf(symboln, sizeof(symboln), "%sTexStorage2D", symbol_prefix); + *procp = dlsym(handle, symboln); + } + + + if(!disp->TexStorage3D) { + void ** procp = (void **) &disp->TexStorage3D; + snprintf(symboln, sizeof(symboln), "%sTexStorage3D", symbol_prefix); + *procp = dlsym(handle, symboln); + } + + + if(!disp->TextureStorage1DEXT) { + void ** procp = (void **) &disp->TextureStorage1DEXT; + snprintf(symboln, sizeof(symboln), "%sTextureStorage1DEXT", symbol_prefix); + *procp = dlsym(handle, symboln); + } + + + if(!disp->TextureStorage2DEXT) { + void ** procp = (void **) &disp->TextureStorage2DEXT; + snprintf(symboln, sizeof(symboln), "%sTextureStorage2DEXT", symbol_prefix); + *procp = dlsym(handle, symboln); + } + + + if(!disp->TextureStorage3DEXT) { + void ** procp = (void **) &disp->TextureStorage3DEXT; + snprintf(symboln, sizeof(symboln), "%sTextureStorage3DEXT", symbol_prefix); + *procp = dlsym(handle, symboln); + } + + if(!disp->PolygonOffsetEXT) { void ** procp = (void **) &disp->PolygonOffsetEXT; snprintf(symboln, sizeof(symboln), "%sPolygonOffsetEXT", symbol_prefix); diff --git a/mesalib/src/mapi/glapi/glapi_mapi_tmp.h b/mesalib/src/mapi/glapi/glapi_mapi_tmp.h index 7f49ff020..11a824a84 100644 --- a/mesalib/src/mapi/glapi/glapi_mapi_tmp.h +++ b/mesalib/src/mapi/glapi/glapi_mapi_tmp.h @@ -900,25 +900,31 @@ GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformfvARB)(GLhandleARB program, GLint lo GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLint *params); GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformuivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint *params); GLAPI void APIENTRY GLAPI_PREFIX(ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data); +GLAPI void APIENTRY GLAPI_PREFIX(TexStorage1D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); +GLAPI void APIENTRY GLAPI_PREFIX(TexStorage2D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(TexStorage3D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); +GLAPI void APIENTRY GLAPI_PREFIX(TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); +GLAPI void APIENTRY GLAPI_PREFIX(TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); +GLAPI void APIENTRY GLAPI_PREFIX(TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); GLAPI void APIENTRY GLAPI_PREFIX(PolygonOffsetEXT)(GLfloat factor, GLfloat bias); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_689)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_690)(const GLfloat *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_691)(GLint x, GLint y, GLint z, GLint width, GLint height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_692)(const GLint *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_693)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_694)(const GLshort *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_695)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_696)(const GLfixed *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_697)(GLenum type, GLsizei stride, const GLvoid *pointer); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_698)(GLenum pname, GLfloat *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_699)(GLenum pname, GLint *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_700)(GLenum pname, GLfloat param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_701)(GLenum pname, const GLfloat *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_702)(GLenum pname, GLint param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_703)(GLenum pname, const GLint *params); -GLbitfield APIENTRY GLAPI_PREFIX(_dispatch_stub_704)(GLfixed *mantissa, GLint *exponent); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_705)(GLclampf value, GLboolean invert); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_706)(GLenum pattern); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_695)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_696)(const GLfloat *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_697)(GLint x, GLint y, GLint z, GLint width, GLint height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_698)(const GLint *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_699)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_700)(const GLshort *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_701)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_702)(const GLfixed *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_703)(GLenum type, GLsizei stride, const GLvoid *pointer); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_704)(GLenum pname, GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_705)(GLenum pname, GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_706)(GLenum pname, GLfloat param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_707)(GLenum pname, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_708)(GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_709)(GLenum pname, const GLint *params); +GLbitfield APIENTRY GLAPI_PREFIX(_dispatch_stub_710)(GLfixed *mantissa, GLint *exponent); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_711)(GLclampf value, GLboolean invert); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_712)(GLenum pattern); GLAPI void APIENTRY GLAPI_PREFIX(ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean *pointer); GLAPI void APIENTRY GLAPI_PREFIX(IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer); @@ -981,7 +987,7 @@ GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfEXT)(GLfloat coord); GLAPI void APIENTRY GLAPI_PREFIX(FogCoordf)(GLfloat coord); GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfvEXT)(const GLfloat *coord); GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfv)(const GLfloat *coord); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_741)(GLenum mode); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_747)(GLenum mode); GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); GLAPI void APIENTRY GLAPI_PREFIX(FlushVertexArrayRangeNV)(void); @@ -1056,15 +1062,15 @@ GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4iMESA)(GLint x, GLint y, GLint z, GLi GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4ivMESA)(const GLint *v); GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4svMESA)(const GLshort *v); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_783)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_784)(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_785)(GLsizei n, const GLuint *fences); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_786)(GLuint fence); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_787)(GLsizei n, GLuint *fences); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_788)(GLuint fence, GLenum pname, GLint *params); -GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_789)(GLuint fence); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_790)(GLuint fence, GLenum condition); -GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_791)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_789)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_790)(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_791)(GLsizei n, const GLuint *fences); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_792)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_793)(GLsizei n, GLuint *fences); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_794)(GLuint fence, GLenum pname, GLint *params); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_795)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_796)(GLuint fence, GLenum condition); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_797)(GLuint fence); GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreProgramsResidentNV)(GLsizei n, const GLuint *ids, GLboolean *residences); GLAPI void APIENTRY GLAPI_PREFIX(BindProgramNV)(GLenum target, GLuint program); GLAPI void APIENTRY GLAPI_PREFIX(BindProgramARB)(GLenum target, GLuint program); @@ -1153,12 +1159,12 @@ GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriNV)(GLenum pname, GLint param); GLAPI void APIENTRY GLAPI_PREFIX(PointParameteri)(GLenum pname, GLint param); GLAPI void APIENTRY GLAPI_PREFIX(PointParameterivNV)(GLenum pname, const GLint *params); GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriv)(GLenum pname, const GLint *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_872)(GLenum face); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_873)(GLuint array); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_874)(GLsizei n, const GLuint *arrays); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_878)(GLenum face); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_879)(GLuint array); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_880)(GLsizei n, const GLuint *arrays); GLAPI void APIENTRY GLAPI_PREFIX(DeleteVertexArrays)(GLsizei n, const GLuint *arrays); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_875)(GLsizei n, GLuint *arrays); -GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_876)(GLuint array); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_881)(GLsizei n, GLuint *arrays); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_882)(GLuint array); GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsVertexArray)(GLuint array); GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params); GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params); @@ -1169,54 +1175,54 @@ GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4fvNV)(GLuint id, GLsizei GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndexNV)(GLuint index); GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndex)(GLuint index); GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartNV)(void); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_885)(GLenum func, GLclampx ref); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_886)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_887)(GLclampx depth); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_888)(GLenum plane, const GLfixed *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_889)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_890)(GLclampx zNear, GLclampx zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_891)(GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_892)(GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_893)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_894)(GLenum plane, GLfixed *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_895)(GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_896)(GLenum light, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_897)(GLenum face, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_898)(GLenum target, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_899)(GLenum coord, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_900)(GLenum target, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_901)(GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_902)(GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_903)(GLenum light, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_904)(GLenum light, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_905)(GLfixed width); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_906)(const GLfixed *m); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_907)(GLenum face, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_908)(GLenum face, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_909)(const GLfixed *m); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_910)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_911)(GLfixed nx, GLfixed ny, GLfixed nz); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_912)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_913)(GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_914)(GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_915)(GLfixed size); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_916)(GLfixed factor, GLfixed units); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_917)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_918)(GLclampx value, GLboolean invert); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_919)(GLfixed x, GLfixed y, GLfixed z); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_920)(GLenum target, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_921)(GLenum target, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_922)(GLenum coord, GLenum pname, GLint param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_923)(GLenum coord, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_924)(GLenum target, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_925)(GLenum target, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_926)(GLfixed x, GLfixed y, GLfixed z); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_927)(GLenum plane, const GLfloat *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_928)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_929)(GLenum plane, GLfloat *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_930)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_931)(GLclampd zmin, GLclampd zmax); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_932)(GLenum modeRGB, GLenum modeA); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_891)(GLenum func, GLclampx ref); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_892)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_893)(GLclampx depth); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_894)(GLenum plane, const GLfixed *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_895)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_896)(GLclampx zNear, GLclampx zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_897)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_898)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_899)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_900)(GLenum plane, GLfixed *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_901)(GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_902)(GLenum light, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_903)(GLenum face, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_904)(GLenum target, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_905)(GLenum coord, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_906)(GLenum target, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_907)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_908)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_909)(GLenum light, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_910)(GLenum light, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_911)(GLfixed width); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_912)(const GLfixed *m); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_913)(GLenum face, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_914)(GLenum face, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_915)(const GLfixed *m); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_916)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_917)(GLfixed nx, GLfixed ny, GLfixed nz); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_918)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_919)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_920)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_921)(GLfixed size); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_922)(GLfixed factor, GLfixed units); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_923)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_924)(GLclampx value, GLboolean invert); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_925)(GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_926)(GLenum target, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_927)(GLenum target, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_928)(GLenum coord, GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_929)(GLenum coord, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_930)(GLenum target, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_931)(GLenum target, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_932)(GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_933)(GLenum plane, const GLfloat *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_934)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_935)(GLenum plane, GLfloat *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_936)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_937)(GLclampd zmin, GLclampd zmax); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_938)(GLenum modeRGB, GLenum modeA); GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA); GLAPI void APIENTRY GLAPI_PREFIX(BindFramebufferEXT)(GLenum target, GLuint framebuffer); GLAPI void APIENTRY GLAPI_PREFIX(BindFramebuffer)(GLenum target, GLuint framebuffer); @@ -1252,10 +1258,10 @@ GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbufferEXT)(GLuint renderbuffer); GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbuffer)(GLuint renderbuffer); GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_950)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_956)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); GLAPI void APIENTRY GLAPI_PREFIX(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_951)(GLenum target, GLenum pname, GLint param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_952)(GLenum target, GLintptr offset, GLsizeiptr size); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_957)(GLenum target, GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_958)(GLenum target, GLintptr offset, GLsizeiptr size); GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar *name); GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocation)(GLuint program, GLuint colorNumber, const GLchar *name); GLAPI GLint APIENTRY GLAPI_PREFIX(GetFragDataLocationEXT)(GLuint program, const GLchar *name); @@ -1368,8 +1374,8 @@ GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryingsEXT)(GLuint program, G GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode); GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertexEXT)(GLenum mode); GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertex)(GLenum mode); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_1010)(GLenum target, GLenum pname, GLvoid **params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_1011)(GLenum target, GLsizei length, GLvoid *pointer); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_1016)(GLenum target, GLenum pname, GLvoid **params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_1017)(GLenum target, GLsizei length, GLvoid *pointer); GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint *value); GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); @@ -1377,11 +1383,11 @@ GLAPI void APIENTRY GLAPI_PREFIX(ActiveProgramEXT)(GLuint program); GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateShaderProgramEXT)(GLenum type, const GLchar *string); GLAPI void APIENTRY GLAPI_PREFIX(UseShaderProgramEXT)(GLenum type, GLuint program); GLAPI void APIENTRY GLAPI_PREFIX(TextureBarrierNV)(void); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_1019)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_1020)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_1021)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_1022)(GLuint id, GLenum pname, GLint64EXT *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_1023)(GLuint id, GLenum pname, GLuint64EXT *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_1025)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_1026)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_1027)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_1028)(GLuint id, GLenum pname, GLint64EXT *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_1029)(GLuint id, GLenum pname, GLuint64EXT *params); GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid *writeOffset); GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetTexture2DOES)(GLenum target, GLvoid *writeOffset); #undef MAPI_TMP_DEFINES @@ -7457,2754 +7463,2796 @@ GLAPI void APIENTRY GLAPI_PREFIX(ReadnPixelsARB)(GLint x, GLint y, GLsizei width ((void (APIENTRY *)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data)) _func)(x, y, width, height, format, type, bufSize, data); } -GLAPI void APIENTRY GLAPI_PREFIX(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) +GLAPI void APIENTRY GLAPI_PREFIX(TexStorage1D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width) { const struct mapi_table *_tbl = entry_current_get(); mapi_func _func = ((const mapi_func *) _tbl)[688]; + ((void (APIENTRY *)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width)) _func)(target, levels, internalFormat, width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexStorage2D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[689]; + ((void (APIENTRY *)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height)) _func)(target, levels, internalFormat, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TexStorage3D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[690]; + ((void (APIENTRY *)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth)) _func)(target, levels, internalFormat, width, height, depth); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[691]; + ((void (APIENTRY *)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width)) _func)(texture, target, levels, internalFormat, width); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[692]; + ((void (APIENTRY *)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height)) _func)(texture, target, levels, internalFormat, width, height); +} + +GLAPI void APIENTRY GLAPI_PREFIX(TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[693]; + ((void (APIENTRY *)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth)) _func)(texture, target, levels, internalFormat, width, height, depth); +} + +GLAPI void APIENTRY GLAPI_PREFIX(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[694]; ((void (APIENTRY *)(GLfloat factor, GLfloat bias)) _func)(factor, bias); } GLAPI void APIENTRY GLAPI_PREFIX(ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[707]; + mapi_func _func = ((const mapi_func *) _tbl)[713]; ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(size, type, stride, count, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[708]; + mapi_func _func = ((const mapi_func *) _tbl)[714]; ((void (APIENTRY *)(GLsizei stride, GLsizei count, const GLboolean *pointer)) _func)(stride, count, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[709]; + mapi_func _func = ((const mapi_func *) _tbl)[715]; ((void (APIENTRY *)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(type, stride, count, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[710]; + mapi_func _func = ((const mapi_func *) _tbl)[716]; ((void (APIENTRY *)(GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(type, stride, count, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[711]; + mapi_func _func = ((const mapi_func *) _tbl)[717]; ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(size, type, stride, count, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[712]; + mapi_func _func = ((const mapi_func *) _tbl)[718]; ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer)) _func)(size, type, stride, count, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfEXT)(GLenum pname, GLfloat param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[713]; + mapi_func _func = ((const mapi_func *) _tbl)[719]; ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameterf)(GLenum pname, GLfloat param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[713]; + mapi_func _func = ((const mapi_func *) _tbl)[719]; ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfARB)(GLenum pname, GLfloat param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[713]; + mapi_func _func = ((const mapi_func *) _tbl)[719]; ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfvEXT)(GLenum pname, const GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[714]; + mapi_func _func = ((const mapi_func *) _tbl)[720]; ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfv)(GLenum pname, const GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[714]; + mapi_func _func = ((const mapi_func *) _tbl)[720]; ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameterfvARB)(GLenum pname, const GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[714]; + mapi_func _func = ((const mapi_func *) _tbl)[720]; ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(LockArraysEXT)(GLint first, GLsizei count) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[715]; + mapi_func _func = ((const mapi_func *) _tbl)[721]; ((void (APIENTRY *)(GLint first, GLsizei count)) _func)(first, count); } GLAPI void APIENTRY GLAPI_PREFIX(UnlockArraysEXT)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[716]; + mapi_func _func = ((const mapi_func *) _tbl)[722]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[717]; + mapi_func _func = ((const mapi_func *) _tbl)[723]; ((void (APIENTRY *)(GLbyte red, GLbyte green, GLbyte blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[717]; + mapi_func _func = ((const mapi_func *) _tbl)[723]; ((void (APIENTRY *)(GLbyte red, GLbyte green, GLbyte blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bvEXT)(const GLbyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[718]; + mapi_func _func = ((const mapi_func *) _tbl)[724]; ((void (APIENTRY *)(const GLbyte *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3bv)(const GLbyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[718]; + mapi_func _func = ((const mapi_func *) _tbl)[724]; ((void (APIENTRY *)(const GLbyte *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[719]; + mapi_func _func = ((const mapi_func *) _tbl)[725]; ((void (APIENTRY *)(GLdouble red, GLdouble green, GLdouble blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[719]; + mapi_func _func = ((const mapi_func *) _tbl)[725]; ((void (APIENTRY *)(GLdouble red, GLdouble green, GLdouble blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dvEXT)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[720]; + mapi_func _func = ((const mapi_func *) _tbl)[726]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3dv)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[720]; + mapi_func _func = ((const mapi_func *) _tbl)[726]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[721]; + mapi_func _func = ((const mapi_func *) _tbl)[727]; ((void (APIENTRY *)(GLfloat red, GLfloat green, GLfloat blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[721]; + mapi_func _func = ((const mapi_func *) _tbl)[727]; ((void (APIENTRY *)(GLfloat red, GLfloat green, GLfloat blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fvEXT)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[722]; + mapi_func _func = ((const mapi_func *) _tbl)[728]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3fv)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[722]; + mapi_func _func = ((const mapi_func *) _tbl)[728]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3iEXT)(GLint red, GLint green, GLint blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[723]; + mapi_func _func = ((const mapi_func *) _tbl)[729]; ((void (APIENTRY *)(GLint red, GLint green, GLint blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3i)(GLint red, GLint green, GLint blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[723]; + mapi_func _func = ((const mapi_func *) _tbl)[729]; ((void (APIENTRY *)(GLint red, GLint green, GLint blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ivEXT)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[724]; + mapi_func _func = ((const mapi_func *) _tbl)[730]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3iv)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[724]; + mapi_func _func = ((const mapi_func *) _tbl)[730]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[725]; + mapi_func _func = ((const mapi_func *) _tbl)[731]; ((void (APIENTRY *)(GLshort red, GLshort green, GLshort blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3s)(GLshort red, GLshort green, GLshort blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[725]; + mapi_func _func = ((const mapi_func *) _tbl)[731]; ((void (APIENTRY *)(GLshort red, GLshort green, GLshort blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3svEXT)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[726]; + mapi_func _func = ((const mapi_func *) _tbl)[732]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3sv)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[726]; + mapi_func _func = ((const mapi_func *) _tbl)[732]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[727]; + mapi_func _func = ((const mapi_func *) _tbl)[733]; ((void (APIENTRY *)(GLubyte red, GLubyte green, GLubyte blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[727]; + mapi_func _func = ((const mapi_func *) _tbl)[733]; ((void (APIENTRY *)(GLubyte red, GLubyte green, GLubyte blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubvEXT)(const GLubyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[728]; + mapi_func _func = ((const mapi_func *) _tbl)[734]; ((void (APIENTRY *)(const GLubyte *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ubv)(const GLubyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[728]; + mapi_func _func = ((const mapi_func *) _tbl)[734]; ((void (APIENTRY *)(const GLubyte *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[729]; + mapi_func _func = ((const mapi_func *) _tbl)[735]; ((void (APIENTRY *)(GLuint red, GLuint green, GLuint blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3ui)(GLuint red, GLuint green, GLuint blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[729]; + mapi_func _func = ((const mapi_func *) _tbl)[735]; ((void (APIENTRY *)(GLuint red, GLuint green, GLuint blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uivEXT)(const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[730]; + mapi_func _func = ((const mapi_func *) _tbl)[736]; ((void (APIENTRY *)(const GLuint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3uiv)(const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[730]; + mapi_func _func = ((const mapi_func *) _tbl)[736]; ((void (APIENTRY *)(const GLuint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[731]; + mapi_func _func = ((const mapi_func *) _tbl)[737]; ((void (APIENTRY *)(GLushort red, GLushort green, GLushort blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3us)(GLushort red, GLushort green, GLushort blue) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[731]; + mapi_func _func = ((const mapi_func *) _tbl)[737]; ((void (APIENTRY *)(GLushort red, GLushort green, GLushort blue)) _func)(red, green, blue); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usvEXT)(const GLushort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[732]; + mapi_func _func = ((const mapi_func *) _tbl)[738]; ((void (APIENTRY *)(const GLushort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColor3usv)(const GLushort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[732]; + mapi_func _func = ((const mapi_func *) _tbl)[738]; ((void (APIENTRY *)(const GLushort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[733]; + mapi_func _func = ((const mapi_func *) _tbl)[739]; ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(size, type, stride, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(SecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[733]; + mapi_func _func = ((const mapi_func *) _tbl)[739]; ((void (APIENTRY *)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(size, type, stride, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawArraysEXT)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[734]; + mapi_func _func = ((const mapi_func *) _tbl)[740]; ((void (APIENTRY *)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)) _func)(mode, first, count, primcount); } GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawArrays)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[734]; + mapi_func _func = ((const mapi_func *) _tbl)[740]; ((void (APIENTRY *)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)) _func)(mode, first, count, primcount); } GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElementsEXT)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[735]; + mapi_func _func = ((const mapi_func *) _tbl)[741]; ((void (APIENTRY *)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)) _func)(mode, count, type, indices, primcount); } GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElements)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[735]; + mapi_func _func = ((const mapi_func *) _tbl)[741]; ((void (APIENTRY *)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)) _func)(mode, count, type, indices, primcount); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[736]; + mapi_func _func = ((const mapi_func *) _tbl)[742]; ((void (APIENTRY *)(GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(type, stride, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoordPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[736]; + mapi_func _func = ((const mapi_func *) _tbl)[742]; ((void (APIENTRY *)(GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(type, stride, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddEXT)(GLdouble coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[737]; + mapi_func _func = ((const mapi_func *) _tbl)[743]; ((void (APIENTRY *)(GLdouble coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoordd)(GLdouble coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[737]; + mapi_func _func = ((const mapi_func *) _tbl)[743]; ((void (APIENTRY *)(GLdouble coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddvEXT)(const GLdouble *coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[738]; + mapi_func _func = ((const mapi_func *) _tbl)[744]; ((void (APIENTRY *)(const GLdouble *coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoorddv)(const GLdouble *coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[738]; + mapi_func _func = ((const mapi_func *) _tbl)[744]; ((void (APIENTRY *)(const GLdouble *coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfEXT)(GLfloat coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[739]; + mapi_func _func = ((const mapi_func *) _tbl)[745]; ((void (APIENTRY *)(GLfloat coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoordf)(GLfloat coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[739]; + mapi_func _func = ((const mapi_func *) _tbl)[745]; ((void (APIENTRY *)(GLfloat coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfvEXT)(const GLfloat *coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[740]; + mapi_func _func = ((const mapi_func *) _tbl)[746]; ((void (APIENTRY *)(const GLfloat *coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(FogCoordfv)(const GLfloat *coord) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[740]; + mapi_func _func = ((const mapi_func *) _tbl)[746]; ((void (APIENTRY *)(const GLfloat *coord)) _func)(coord); } GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[742]; + mapi_func _func = ((const mapi_func *) _tbl)[748]; ((void (APIENTRY *)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) _func)(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[742]; + mapi_func _func = ((const mapi_func *) _tbl)[748]; ((void (APIENTRY *)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) _func)(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } GLAPI void APIENTRY GLAPI_PREFIX(FlushVertexArrayRangeNV)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[743]; + mapi_func _func = ((const mapi_func *) _tbl)[749]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(VertexArrayRangeNV)(GLsizei length, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[744]; + mapi_func _func = ((const mapi_func *) _tbl)[750]; ((void (APIENTRY *)(GLsizei length, const GLvoid *pointer)) _func)(length, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[745]; + mapi_func _func = ((const mapi_func *) _tbl)[751]; ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)) _func)(stage, portion, variable, input, mapping, componentUsage); } GLAPI void APIENTRY GLAPI_PREFIX(CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[746]; + mapi_func _func = ((const mapi_func *) _tbl)[752]; ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum)) _func)(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum); } GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterfNV)(GLenum pname, GLfloat param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[747]; + mapi_func _func = ((const mapi_func *) _tbl)[753]; ((void (APIENTRY *)(GLenum pname, GLfloat param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterfvNV)(GLenum pname, const GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[748]; + mapi_func _func = ((const mapi_func *) _tbl)[754]; ((void (APIENTRY *)(GLenum pname, const GLfloat *params)) _func)(pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameteriNV)(GLenum pname, GLint param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[749]; + mapi_func _func = ((const mapi_func *) _tbl)[755]; ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(CombinerParameterivNV)(GLenum pname, const GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[750]; + mapi_func _func = ((const mapi_func *) _tbl)[756]; ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[751]; + mapi_func _func = ((const mapi_func *) _tbl)[757]; ((void (APIENTRY *)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)) _func)(variable, input, mapping, componentUsage); } GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[752]; + mapi_func _func = ((const mapi_func *) _tbl)[758]; ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params)) _func)(stage, portion, variable, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[753]; + mapi_func _func = ((const mapi_func *) _tbl)[759]; ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params)) _func)(stage, portion, variable, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[754]; + mapi_func _func = ((const mapi_func *) _tbl)[760]; ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params)) _func)(stage, portion, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[755]; + mapi_func _func = ((const mapi_func *) _tbl)[761]; ((void (APIENTRY *)(GLenum stage, GLenum portion, GLenum pname, GLint *params)) _func)(stage, portion, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[756]; + mapi_func _func = ((const mapi_func *) _tbl)[762]; ((void (APIENTRY *)(GLenum variable, GLenum pname, GLfloat *params)) _func)(variable, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[757]; + mapi_func _func = ((const mapi_func *) _tbl)[763]; ((void (APIENTRY *)(GLenum variable, GLenum pname, GLint *params)) _func)(variable, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(ResizeBuffersMESA)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[758]; + mapi_func _func = ((const mapi_func *) _tbl)[764]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dMESA)(GLdouble x, GLdouble y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[759]; + mapi_func _func = ((const mapi_func *) _tbl)[765]; ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2d)(GLdouble x, GLdouble y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[759]; + mapi_func _func = ((const mapi_func *) _tbl)[765]; ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dARB)(GLdouble x, GLdouble y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[759]; + mapi_func _func = ((const mapi_func *) _tbl)[765]; ((void (APIENTRY *)(GLdouble x, GLdouble y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dvMESA)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[760]; + mapi_func _func = ((const mapi_func *) _tbl)[766]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dv)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[760]; + mapi_func _func = ((const mapi_func *) _tbl)[766]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2dvARB)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[760]; + mapi_func _func = ((const mapi_func *) _tbl)[766]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fMESA)(GLfloat x, GLfloat y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[761]; + mapi_func _func = ((const mapi_func *) _tbl)[767]; ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2f)(GLfloat x, GLfloat y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[761]; + mapi_func _func = ((const mapi_func *) _tbl)[767]; ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fARB)(GLfloat x, GLfloat y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[761]; + mapi_func _func = ((const mapi_func *) _tbl)[767]; ((void (APIENTRY *)(GLfloat x, GLfloat y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fvMESA)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[762]; + mapi_func _func = ((const mapi_func *) _tbl)[768]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fv)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[762]; + mapi_func _func = ((const mapi_func *) _tbl)[768]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2fvARB)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[762]; + mapi_func _func = ((const mapi_func *) _tbl)[768]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iMESA)(GLint x, GLint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[763]; + mapi_func _func = ((const mapi_func *) _tbl)[769]; ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2i)(GLint x, GLint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[763]; + mapi_func _func = ((const mapi_func *) _tbl)[769]; ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iARB)(GLint x, GLint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[763]; + mapi_func _func = ((const mapi_func *) _tbl)[769]; ((void (APIENTRY *)(GLint x, GLint y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2ivMESA)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[764]; + mapi_func _func = ((const mapi_func *) _tbl)[770]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2iv)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[764]; + mapi_func _func = ((const mapi_func *) _tbl)[770]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2ivARB)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[764]; + mapi_func _func = ((const mapi_func *) _tbl)[770]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sMESA)(GLshort x, GLshort y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[765]; + mapi_func _func = ((const mapi_func *) _tbl)[771]; ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2s)(GLshort x, GLshort y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[765]; + mapi_func _func = ((const mapi_func *) _tbl)[771]; ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sARB)(GLshort x, GLshort y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[765]; + mapi_func _func = ((const mapi_func *) _tbl)[771]; ((void (APIENTRY *)(GLshort x, GLshort y)) _func)(x, y); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2svMESA)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[766]; + mapi_func _func = ((const mapi_func *) _tbl)[772]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2sv)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[766]; + mapi_func _func = ((const mapi_func *) _tbl)[772]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos2svARB)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[766]; + mapi_func _func = ((const mapi_func *) _tbl)[772]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[767]; + mapi_func _func = ((const mapi_func *) _tbl)[773]; ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3d)(GLdouble x, GLdouble y, GLdouble z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[767]; + mapi_func _func = ((const mapi_func *) _tbl)[773]; ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[767]; + mapi_func _func = ((const mapi_func *) _tbl)[773]; ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dvMESA)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[768]; + mapi_func _func = ((const mapi_func *) _tbl)[774]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dv)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[768]; + mapi_func _func = ((const mapi_func *) _tbl)[774]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3dvARB)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[768]; + mapi_func _func = ((const mapi_func *) _tbl)[774]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[769]; + mapi_func _func = ((const mapi_func *) _tbl)[775]; ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3f)(GLfloat x, GLfloat y, GLfloat z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[769]; + mapi_func _func = ((const mapi_func *) _tbl)[775]; ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[769]; + mapi_func _func = ((const mapi_func *) _tbl)[775]; ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fvMESA)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[770]; + mapi_func _func = ((const mapi_func *) _tbl)[776]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fv)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[770]; + mapi_func _func = ((const mapi_func *) _tbl)[776]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3fvARB)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[770]; + mapi_func _func = ((const mapi_func *) _tbl)[776]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iMESA)(GLint x, GLint y, GLint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[771]; + mapi_func _func = ((const mapi_func *) _tbl)[777]; ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3i)(GLint x, GLint y, GLint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[771]; + mapi_func _func = ((const mapi_func *) _tbl)[777]; ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iARB)(GLint x, GLint y, GLint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[771]; + mapi_func _func = ((const mapi_func *) _tbl)[777]; ((void (APIENTRY *)(GLint x, GLint y, GLint z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3ivMESA)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[772]; + mapi_func _func = ((const mapi_func *) _tbl)[778]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3iv)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[772]; + mapi_func _func = ((const mapi_func *) _tbl)[778]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3ivARB)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[772]; + mapi_func _func = ((const mapi_func *) _tbl)[778]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sMESA)(GLshort x, GLshort y, GLshort z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[773]; + mapi_func _func = ((const mapi_func *) _tbl)[779]; ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3s)(GLshort x, GLshort y, GLshort z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[773]; + mapi_func _func = ((const mapi_func *) _tbl)[779]; ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sARB)(GLshort x, GLshort y, GLshort z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[773]; + mapi_func _func = ((const mapi_func *) _tbl)[779]; ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z)) _func)(x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3svMESA)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[774]; + mapi_func _func = ((const mapi_func *) _tbl)[780]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3sv)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[774]; + mapi_func _func = ((const mapi_func *) _tbl)[780]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos3svARB)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[774]; + mapi_func _func = ((const mapi_func *) _tbl)[780]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[775]; + mapi_func _func = ((const mapi_func *) _tbl)[781]; ((void (APIENTRY *)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4dvMESA)(const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[776]; + mapi_func _func = ((const mapi_func *) _tbl)[782]; ((void (APIENTRY *)(const GLdouble *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[777]; + mapi_func _func = ((const mapi_func *) _tbl)[783]; ((void (APIENTRY *)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4fvMESA)(const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[778]; + mapi_func _func = ((const mapi_func *) _tbl)[784]; ((void (APIENTRY *)(const GLfloat *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[779]; + mapi_func _func = ((const mapi_func *) _tbl)[785]; ((void (APIENTRY *)(GLint x, GLint y, GLint z, GLint w)) _func)(x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4ivMESA)(const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[780]; + mapi_func _func = ((const mapi_func *) _tbl)[786]; ((void (APIENTRY *)(const GLint *v)) _func)(v); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[781]; + mapi_func _func = ((const mapi_func *) _tbl)[787]; ((void (APIENTRY *)(GLshort x, GLshort y, GLshort z, GLshort w)) _func)(x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(WindowPos4svMESA)(const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[782]; + mapi_func _func = ((const mapi_func *) _tbl)[788]; ((void (APIENTRY *)(const GLshort *v)) _func)(v); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(AreProgramsResidentNV)(GLsizei n, const GLuint *ids, GLboolean *residences) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[792]; + mapi_func _func = ((const mapi_func *) _tbl)[798]; return ((GLboolean (APIENTRY *)(GLsizei n, const GLuint *ids, GLboolean *residences)) _func)(n, ids, residences); } GLAPI void APIENTRY GLAPI_PREFIX(BindProgramNV)(GLenum target, GLuint program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[793]; + mapi_func _func = ((const mapi_func *) _tbl)[799]; ((void (APIENTRY *)(GLenum target, GLuint program)) _func)(target, program); } GLAPI void APIENTRY GLAPI_PREFIX(BindProgramARB)(GLenum target, GLuint program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[793]; + mapi_func _func = ((const mapi_func *) _tbl)[799]; ((void (APIENTRY *)(GLenum target, GLuint program)) _func)(target, program); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgramsNV)(GLsizei n, const GLuint *programs) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[794]; + mapi_func _func = ((const mapi_func *) _tbl)[800]; ((void (APIENTRY *)(GLsizei n, const GLuint *programs)) _func)(n, programs); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteProgramsARB)(GLsizei n, const GLuint *programs) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[794]; + mapi_func _func = ((const mapi_func *) _tbl)[800]; ((void (APIENTRY *)(GLsizei n, const GLuint *programs)) _func)(n, programs); } GLAPI void APIENTRY GLAPI_PREFIX(ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[795]; + mapi_func _func = ((const mapi_func *) _tbl)[801]; ((void (APIENTRY *)(GLenum target, GLuint id, const GLfloat *params)) _func)(target, id, params); } GLAPI void APIENTRY GLAPI_PREFIX(GenProgramsNV)(GLsizei n, GLuint *programs) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[796]; + mapi_func _func = ((const mapi_func *) _tbl)[802]; ((void (APIENTRY *)(GLsizei n, GLuint *programs)) _func)(n, programs); } GLAPI void APIENTRY GLAPI_PREFIX(GenProgramsARB)(GLsizei n, GLuint *programs) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[796]; + mapi_func _func = ((const mapi_func *) _tbl)[802]; ((void (APIENTRY *)(GLsizei n, GLuint *programs)) _func)(n, programs); } GLAPI void APIENTRY GLAPI_PREFIX(GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[797]; + mapi_func _func = ((const mapi_func *) _tbl)[803]; ((void (APIENTRY *)(GLenum target, GLuint index, GLenum pname, GLdouble *params)) _func)(target, index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[798]; + mapi_func _func = ((const mapi_func *) _tbl)[804]; ((void (APIENTRY *)(GLenum target, GLuint index, GLenum pname, GLfloat *params)) _func)(target, index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetProgramStringNV)(GLuint id, GLenum pname, GLubyte *program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[799]; + mapi_func _func = ((const mapi_func *) _tbl)[805]; ((void (APIENTRY *)(GLuint id, GLenum pname, GLubyte *program)) _func)(id, pname, program); } GLAPI void APIENTRY GLAPI_PREFIX(GetProgramivNV)(GLuint id, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[800]; + mapi_func _func = ((const mapi_func *) _tbl)[806]; ((void (APIENTRY *)(GLuint id, GLenum pname, GLint *params)) _func)(id, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[801]; + mapi_func _func = ((const mapi_func *) _tbl)[807]; ((void (APIENTRY *)(GLenum target, GLuint address, GLenum pname, GLint *params)) _func)(target, address, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid **pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[802]; + mapi_func _func = ((const mapi_func *) _tbl)[808]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLvoid **pointer)) _func)(index, pname, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid **pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[802]; + mapi_func _func = ((const mapi_func *) _tbl)[808]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLvoid **pointer)) _func)(index, pname, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribPointervARB)(GLuint index, GLenum pname, GLvoid **pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[802]; + mapi_func _func = ((const mapi_func *) _tbl)[808]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLvoid **pointer)) _func)(index, pname, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[803]; + mapi_func _func = ((const mapi_func *) _tbl)[809]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLdouble *params)) _func)(index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[804]; + mapi_func _func = ((const mapi_func *) _tbl)[810]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLfloat *params)) _func)(index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribivNV)(GLuint index, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[805]; + mapi_func _func = ((const mapi_func *) _tbl)[811]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgramNV)(GLuint program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[806]; + mapi_func _func = ((const mapi_func *) _tbl)[812]; return ((GLboolean (APIENTRY *)(GLuint program)) _func)(program); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsProgramARB)(GLuint program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[806]; + mapi_func _func = ((const mapi_func *) _tbl)[812]; return ((GLboolean (APIENTRY *)(GLuint program)) _func)(program); } GLAPI void APIENTRY GLAPI_PREFIX(LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte *program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[807]; + mapi_func _func = ((const mapi_func *) _tbl)[813]; ((void (APIENTRY *)(GLenum target, GLuint id, GLsizei len, const GLubyte *program)) _func)(target, id, len, program); } GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[808]; + mapi_func _func = ((const mapi_func *) _tbl)[814]; ((void (APIENTRY *)(GLenum target, GLuint index, GLsizei num, const GLdouble *params)) _func)(target, index, num, params); } GLAPI void APIENTRY GLAPI_PREFIX(ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[809]; + mapi_func _func = ((const mapi_func *) _tbl)[815]; ((void (APIENTRY *)(GLenum target, GLuint index, GLsizei num, const GLfloat *params)) _func)(target, index, num, params); } GLAPI void APIENTRY GLAPI_PREFIX(RequestResidentProgramsNV)(GLsizei n, const GLuint *ids) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[810]; + mapi_func _func = ((const mapi_func *) _tbl)[816]; ((void (APIENTRY *)(GLsizei n, const GLuint *ids)) _func)(n, ids); } GLAPI void APIENTRY GLAPI_PREFIX(TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[811]; + mapi_func _func = ((const mapi_func *) _tbl)[817]; ((void (APIENTRY *)(GLenum target, GLuint address, GLenum matrix, GLenum transform)) _func)(target, address, matrix, transform); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dNV)(GLuint index, GLdouble x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[812]; + mapi_func _func = ((const mapi_func *) _tbl)[818]; ((void (APIENTRY *)(GLuint index, GLdouble x)) _func)(index, x); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1dvNV)(GLuint index, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[813]; + mapi_func _func = ((const mapi_func *) _tbl)[819]; ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fNV)(GLuint index, GLfloat x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[814]; + mapi_func _func = ((const mapi_func *) _tbl)[820]; ((void (APIENTRY *)(GLuint index, GLfloat x)) _func)(index, x); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1fvNV)(GLuint index, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[815]; + mapi_func _func = ((const mapi_func *) _tbl)[821]; ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1sNV)(GLuint index, GLshort x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[816]; + mapi_func _func = ((const mapi_func *) _tbl)[822]; ((void (APIENTRY *)(GLuint index, GLshort x)) _func)(index, x); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib1svNV)(GLuint index, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[817]; + mapi_func _func = ((const mapi_func *) _tbl)[823]; ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[818]; + mapi_func _func = ((const mapi_func *) _tbl)[824]; ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y)) _func)(index, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2dvNV)(GLuint index, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[819]; + mapi_func _func = ((const mapi_func *) _tbl)[825]; ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[820]; + mapi_func _func = ((const mapi_func *) _tbl)[826]; ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y)) _func)(index, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2fvNV)(GLuint index, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[821]; + mapi_func _func = ((const mapi_func *) _tbl)[827]; ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[822]; + mapi_func _func = ((const mapi_func *) _tbl)[828]; ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y)) _func)(index, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib2svNV)(GLuint index, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[823]; + mapi_func _func = ((const mapi_func *) _tbl)[829]; ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[824]; + mapi_func _func = ((const mapi_func *) _tbl)[830]; ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) _func)(index, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3dvNV)(GLuint index, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[825]; + mapi_func _func = ((const mapi_func *) _tbl)[831]; ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[826]; + mapi_func _func = ((const mapi_func *) _tbl)[832]; ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z)) _func)(index, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3fvNV)(GLuint index, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[827]; + mapi_func _func = ((const mapi_func *) _tbl)[833]; ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[828]; + mapi_func _func = ((const mapi_func *) _tbl)[834]; ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z)) _func)(index, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib3svNV)(GLuint index, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[829]; + mapi_func _func = ((const mapi_func *) _tbl)[835]; ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[830]; + mapi_func _func = ((const mapi_func *) _tbl)[836]; ((void (APIENTRY *)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4dvNV)(GLuint index, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[831]; + mapi_func _func = ((const mapi_func *) _tbl)[837]; ((void (APIENTRY *)(GLuint index, const GLdouble *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[832]; + mapi_func _func = ((const mapi_func *) _tbl)[838]; ((void (APIENTRY *)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4fvNV)(GLuint index, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[833]; + mapi_func _func = ((const mapi_func *) _tbl)[839]; ((void (APIENTRY *)(GLuint index, const GLfloat *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[834]; + mapi_func _func = ((const mapi_func *) _tbl)[840]; ((void (APIENTRY *)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4svNV)(GLuint index, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[835]; + mapi_func _func = ((const mapi_func *) _tbl)[841]; ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[836]; + mapi_func _func = ((const mapi_func *) _tbl)[842]; ((void (APIENTRY *)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttrib4ubvNV)(GLuint index, const GLubyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[837]; + mapi_func _func = ((const mapi_func *) _tbl)[843]; ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[838]; + mapi_func _func = ((const mapi_func *) _tbl)[844]; ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, stride, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[839]; + mapi_func _func = ((const mapi_func *) _tbl)[845]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[840]; + mapi_func _func = ((const mapi_func *) _tbl)[846]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[841]; + mapi_func _func = ((const mapi_func *) _tbl)[847]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[842]; + mapi_func _func = ((const mapi_func *) _tbl)[848]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[843]; + mapi_func _func = ((const mapi_func *) _tbl)[849]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[844]; + mapi_func _func = ((const mapi_func *) _tbl)[850]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[845]; + mapi_func _func = ((const mapi_func *) _tbl)[851]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[846]; + mapi_func _func = ((const mapi_func *) _tbl)[852]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[847]; + mapi_func _func = ((const mapi_func *) _tbl)[853]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[848]; + mapi_func _func = ((const mapi_func *) _tbl)[854]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLdouble *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[849]; + mapi_func _func = ((const mapi_func *) _tbl)[855]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLfloat *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[850]; + mapi_func _func = ((const mapi_func *) _tbl)[856]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLshort *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[851]; + mapi_func _func = ((const mapi_func *) _tbl)[857]; ((void (APIENTRY *)(GLuint index, GLsizei n, const GLubyte *v)) _func)(index, n, v); } GLAPI void APIENTRY GLAPI_PREFIX(GetTexBumpParameterfvATI)(GLenum pname, GLfloat *param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[852]; + mapi_func _func = ((const mapi_func *) _tbl)[858]; ((void (APIENTRY *)(GLenum pname, GLfloat *param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(GetTexBumpParameterivATI)(GLenum pname, GLint *param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[853]; + mapi_func _func = ((const mapi_func *) _tbl)[859]; ((void (APIENTRY *)(GLenum pname, GLint *param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(TexBumpParameterfvATI)(GLenum pname, const GLfloat *param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[854]; + mapi_func _func = ((const mapi_func *) _tbl)[860]; ((void (APIENTRY *)(GLenum pname, const GLfloat *param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(TexBumpParameterivATI)(GLenum pname, const GLint *param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[855]; + mapi_func _func = ((const mapi_func *) _tbl)[861]; ((void (APIENTRY *)(GLenum pname, const GLint *param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[856]; + mapi_func _func = ((const mapi_func *) _tbl)[862]; ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)) _func)(op, dst, dstMod, arg1, arg1Rep, arg1Mod); } GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[857]; + mapi_func _func = ((const mapi_func *) _tbl)[863]; ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)) _func)(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); } GLAPI void APIENTRY GLAPI_PREFIX(AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[858]; + mapi_func _func = ((const mapi_func *) _tbl)[864]; ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)) _func)(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); } GLAPI void APIENTRY GLAPI_PREFIX(BeginFragmentShaderATI)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[859]; + mapi_func _func = ((const mapi_func *) _tbl)[865]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(BindFragmentShaderATI)(GLuint id) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[860]; + mapi_func _func = ((const mapi_func *) _tbl)[866]; ((void (APIENTRY *)(GLuint id)) _func)(id); } GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[861]; + mapi_func _func = ((const mapi_func *) _tbl)[867]; ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)) _func)(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod); } GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[862]; + mapi_func _func = ((const mapi_func *) _tbl)[868]; ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)) _func)(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod); } GLAPI void APIENTRY GLAPI_PREFIX(ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[863]; + mapi_func _func = ((const mapi_func *) _tbl)[869]; ((void (APIENTRY *)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)) _func)(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteFragmentShaderATI)(GLuint id) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[864]; + mapi_func _func = ((const mapi_func *) _tbl)[870]; ((void (APIENTRY *)(GLuint id)) _func)(id); } GLAPI void APIENTRY GLAPI_PREFIX(EndFragmentShaderATI)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[865]; + mapi_func _func = ((const mapi_func *) _tbl)[871]; ((void (APIENTRY *)(void)) _func)(); } GLAPI GLuint APIENTRY GLAPI_PREFIX(GenFragmentShadersATI)(GLuint range) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[866]; + mapi_func _func = ((const mapi_func *) _tbl)[872]; return ((GLuint (APIENTRY *)(GLuint range)) _func)(range); } GLAPI void APIENTRY GLAPI_PREFIX(PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[867]; + mapi_func _func = ((const mapi_func *) _tbl)[873]; ((void (APIENTRY *)(GLuint dst, GLuint coord, GLenum swizzle)) _func)(dst, coord, swizzle); } GLAPI void APIENTRY GLAPI_PREFIX(SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[868]; + mapi_func _func = ((const mapi_func *) _tbl)[874]; ((void (APIENTRY *)(GLuint dst, GLuint interp, GLenum swizzle)) _func)(dst, interp, swizzle); } GLAPI void APIENTRY GLAPI_PREFIX(SetFragmentShaderConstantATI)(GLuint dst, const GLfloat *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[869]; + mapi_func _func = ((const mapi_func *) _tbl)[875]; ((void (APIENTRY *)(GLuint dst, const GLfloat *value)) _func)(dst, value); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriNV)(GLenum pname, GLint param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[870]; + mapi_func _func = ((const mapi_func *) _tbl)[876]; ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameteri)(GLenum pname, GLint param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[870]; + mapi_func _func = ((const mapi_func *) _tbl)[876]; ((void (APIENTRY *)(GLenum pname, GLint param)) _func)(pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameterivNV)(GLenum pname, const GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[871]; + mapi_func _func = ((const mapi_func *) _tbl)[877]; ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(PointParameteriv)(GLenum pname, const GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[871]; + mapi_func _func = ((const mapi_func *) _tbl)[877]; ((void (APIENTRY *)(GLenum pname, const GLint *params)) _func)(pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteVertexArrays)(GLsizei n, const GLuint *arrays) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[874]; + mapi_func _func = ((const mapi_func *) _tbl)[880]; ((void (APIENTRY *)(GLsizei n, const GLuint *arrays)) _func)(n, arrays); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsVertexArray)(GLuint array) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[876]; + mapi_func _func = ((const mapi_func *) _tbl)[882]; return ((GLboolean (APIENTRY *)(GLuint array)) _func)(array); } GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[877]; + mapi_func _func = ((const mapi_func *) _tbl)[883]; ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params)) _func)(id, len, name, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[878]; + mapi_func _func = ((const mapi_func *) _tbl)[884]; ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params)) _func)(id, len, name, params); } GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[879]; + mapi_func _func = ((const mapi_func *) _tbl)[885]; ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) _func)(id, len, name, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[880]; + mapi_func _func = ((const mapi_func *) _tbl)[886]; ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v)) _func)(id, len, name, v); } GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[881]; + mapi_func _func = ((const mapi_func *) _tbl)[887]; ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) _func)(id, len, name, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[882]; + mapi_func _func = ((const mapi_func *) _tbl)[888]; ((void (APIENTRY *)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v)) _func)(id, len, name, v); } GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndexNV)(GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[883]; + mapi_func _func = ((const mapi_func *) _tbl)[889]; ((void (APIENTRY *)(GLuint index)) _func)(index); } GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartIndex)(GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[883]; + mapi_func _func = ((const mapi_func *) _tbl)[889]; ((void (APIENTRY *)(GLuint index)) _func)(index); } GLAPI void APIENTRY GLAPI_PREFIX(PrimitiveRestartNV)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[884]; + mapi_func _func = ((const mapi_func *) _tbl)[890]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparate)(GLenum modeRGB, GLenum modeA) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[932]; + mapi_func _func = ((const mapi_func *) _tbl)[938]; ((void (APIENTRY *)(GLenum modeRGB, GLenum modeA)) _func)(modeRGB, modeA); } GLAPI void APIENTRY GLAPI_PREFIX(BindFramebufferEXT)(GLenum target, GLuint framebuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[933]; + mapi_func _func = ((const mapi_func *) _tbl)[939]; ((void (APIENTRY *)(GLenum target, GLuint framebuffer)) _func)(target, framebuffer); } GLAPI void APIENTRY GLAPI_PREFIX(BindFramebuffer)(GLenum target, GLuint framebuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[933]; + mapi_func _func = ((const mapi_func *) _tbl)[939]; ((void (APIENTRY *)(GLenum target, GLuint framebuffer)) _func)(target, framebuffer); } GLAPI void APIENTRY GLAPI_PREFIX(BindRenderbufferEXT)(GLenum target, GLuint renderbuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[934]; + mapi_func _func = ((const mapi_func *) _tbl)[940]; ((void (APIENTRY *)(GLenum target, GLuint renderbuffer)) _func)(target, renderbuffer); } GLAPI void APIENTRY GLAPI_PREFIX(BindRenderbuffer)(GLenum target, GLuint renderbuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[934]; + mapi_func _func = ((const mapi_func *) _tbl)[940]; ((void (APIENTRY *)(GLenum target, GLuint renderbuffer)) _func)(target, renderbuffer); } GLAPI GLenum APIENTRY GLAPI_PREFIX(CheckFramebufferStatusEXT)(GLenum target) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[935]; + mapi_func _func = ((const mapi_func *) _tbl)[941]; return ((GLenum (APIENTRY *)(GLenum target)) _func)(target); } GLAPI GLenum APIENTRY GLAPI_PREFIX(CheckFramebufferStatus)(GLenum target) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[935]; + mapi_func _func = ((const mapi_func *) _tbl)[941]; return ((GLenum (APIENTRY *)(GLenum target)) _func)(target); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteFramebuffersEXT)(GLsizei n, const GLuint *framebuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[936]; + mapi_func _func = ((const mapi_func *) _tbl)[942]; ((void (APIENTRY *)(GLsizei n, const GLuint *framebuffers)) _func)(n, framebuffers); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteFramebuffers)(GLsizei n, const GLuint *framebuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[936]; + mapi_func _func = ((const mapi_func *) _tbl)[942]; ((void (APIENTRY *)(GLsizei n, const GLuint *framebuffers)) _func)(n, framebuffers); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteRenderbuffersEXT)(GLsizei n, const GLuint *renderbuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[937]; + mapi_func _func = ((const mapi_func *) _tbl)[943]; ((void (APIENTRY *)(GLsizei n, const GLuint *renderbuffers)) _func)(n, renderbuffers); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[937]; + mapi_func _func = ((const mapi_func *) _tbl)[943]; ((void (APIENTRY *)(GLsizei n, const GLuint *renderbuffers)) _func)(n, renderbuffers); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[938]; + mapi_func _func = ((const mapi_func *) _tbl)[944]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) _func)(target, attachment, renderbuffertarget, renderbuffer); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[938]; + mapi_func _func = ((const mapi_func *) _tbl)[944]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) _func)(target, attachment, renderbuffertarget, renderbuffer); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[939]; + mapi_func _func = ((const mapi_func *) _tbl)[945]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[939]; + mapi_func _func = ((const mapi_func *) _tbl)[945]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[940]; + mapi_func _func = ((const mapi_func *) _tbl)[946]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[940]; + mapi_func _func = ((const mapi_func *) _tbl)[946]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) _func)(target, attachment, textarget, texture, level); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[941]; + mapi_func _func = ((const mapi_func *) _tbl)[947]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) _func)(target, attachment, textarget, texture, level, zoffset); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[941]; + mapi_func _func = ((const mapi_func *) _tbl)[947]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) _func)(target, attachment, textarget, texture, level, zoffset); } GLAPI void APIENTRY GLAPI_PREFIX(GenFramebuffersEXT)(GLsizei n, GLuint *framebuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[942]; + mapi_func _func = ((const mapi_func *) _tbl)[948]; ((void (APIENTRY *)(GLsizei n, GLuint *framebuffers)) _func)(n, framebuffers); } GLAPI void APIENTRY GLAPI_PREFIX(GenFramebuffers)(GLsizei n, GLuint *framebuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[942]; + mapi_func _func = ((const mapi_func *) _tbl)[948]; ((void (APIENTRY *)(GLsizei n, GLuint *framebuffers)) _func)(n, framebuffers); } GLAPI void APIENTRY GLAPI_PREFIX(GenRenderbuffersEXT)(GLsizei n, GLuint *renderbuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[943]; + mapi_func _func = ((const mapi_func *) _tbl)[949]; ((void (APIENTRY *)(GLsizei n, GLuint *renderbuffers)) _func)(n, renderbuffers); } GLAPI void APIENTRY GLAPI_PREFIX(GenRenderbuffers)(GLsizei n, GLuint *renderbuffers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[943]; + mapi_func _func = ((const mapi_func *) _tbl)[949]; ((void (APIENTRY *)(GLsizei n, GLuint *renderbuffers)) _func)(n, renderbuffers); } GLAPI void APIENTRY GLAPI_PREFIX(GenerateMipmapEXT)(GLenum target) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[944]; + mapi_func _func = ((const mapi_func *) _tbl)[950]; ((void (APIENTRY *)(GLenum target)) _func)(target); } GLAPI void APIENTRY GLAPI_PREFIX(GenerateMipmap)(GLenum target) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[944]; + mapi_func _func = ((const mapi_func *) _tbl)[950]; ((void (APIENTRY *)(GLenum target)) _func)(target); } GLAPI void APIENTRY GLAPI_PREFIX(GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[945]; + mapi_func _func = ((const mapi_func *) _tbl)[951]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum pname, GLint *params)) _func)(target, attachment, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[945]; + mapi_func _func = ((const mapi_func *) _tbl)[951]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLenum pname, GLint *params)) _func)(target, attachment, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[946]; + mapi_func _func = ((const mapi_func *) _tbl)[952]; ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[946]; + mapi_func _func = ((const mapi_func *) _tbl)[952]; ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsFramebufferEXT)(GLuint framebuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[947]; + mapi_func _func = ((const mapi_func *) _tbl)[953]; return ((GLboolean (APIENTRY *)(GLuint framebuffer)) _func)(framebuffer); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsFramebuffer)(GLuint framebuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[947]; + mapi_func _func = ((const mapi_func *) _tbl)[953]; return ((GLboolean (APIENTRY *)(GLuint framebuffer)) _func)(framebuffer); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbufferEXT)(GLuint renderbuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[948]; + mapi_func _func = ((const mapi_func *) _tbl)[954]; return ((GLboolean (APIENTRY *)(GLuint renderbuffer)) _func)(renderbuffer); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsRenderbuffer)(GLuint renderbuffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[948]; + mapi_func _func = ((const mapi_func *) _tbl)[954]; return ((GLboolean (APIENTRY *)(GLuint renderbuffer)) _func)(renderbuffer); } GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[949]; + mapi_func _func = ((const mapi_func *) _tbl)[955]; ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) _func)(target, internalformat, width, height); } GLAPI void APIENTRY GLAPI_PREFIX(RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[949]; + mapi_func _func = ((const mapi_func *) _tbl)[955]; ((void (APIENTRY *)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) _func)(target, internalformat, width, height); } GLAPI void APIENTRY GLAPI_PREFIX(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[950]; + mapi_func _func = ((const mapi_func *) _tbl)[956]; ((void (APIENTRY *)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) _func)(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar *name) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[953]; + mapi_func _func = ((const mapi_func *) _tbl)[959]; ((void (APIENTRY *)(GLuint program, GLuint colorNumber, const GLchar *name)) _func)(program, colorNumber, name); } GLAPI void APIENTRY GLAPI_PREFIX(BindFragDataLocation)(GLuint program, GLuint colorNumber, const GLchar *name) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[953]; + mapi_func _func = ((const mapi_func *) _tbl)[959]; ((void (APIENTRY *)(GLuint program, GLuint colorNumber, const GLchar *name)) _func)(program, colorNumber, name); } GLAPI GLint APIENTRY GLAPI_PREFIX(GetFragDataLocationEXT)(GLuint program, const GLchar *name) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[954]; + mapi_func _func = ((const mapi_func *) _tbl)[960]; return ((GLint (APIENTRY *)(GLuint program, const GLchar *name)) _func)(program, name); } GLAPI GLint APIENTRY GLAPI_PREFIX(GetFragDataLocation)(GLuint program, const GLchar *name) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[954]; + mapi_func _func = ((const mapi_func *) _tbl)[960]; return ((GLint (APIENTRY *)(GLuint program, const GLchar *name)) _func)(program, name); } GLAPI void APIENTRY GLAPI_PREFIX(GetUniformuivEXT)(GLuint program, GLint location, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[955]; + mapi_func _func = ((const mapi_func *) _tbl)[961]; ((void (APIENTRY *)(GLuint program, GLint location, GLuint *params)) _func)(program, location, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetUniformuiv)(GLuint program, GLint location, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[955]; + mapi_func _func = ((const mapi_func *) _tbl)[961]; ((void (APIENTRY *)(GLuint program, GLint location, GLuint *params)) _func)(program, location, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[956]; + mapi_func _func = ((const mapi_func *) _tbl)[962]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[956]; + mapi_func _func = ((const mapi_func *) _tbl)[962]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLint *params)) _func)(index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[957]; + mapi_func _func = ((const mapi_func *) _tbl)[963]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLuint *params)) _func)(index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[957]; + mapi_func _func = ((const mapi_func *) _tbl)[963]; ((void (APIENTRY *)(GLuint index, GLenum pname, GLuint *params)) _func)(index, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uiEXT)(GLint location, GLuint x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[958]; + mapi_func _func = ((const mapi_func *) _tbl)[964]; ((void (APIENTRY *)(GLint location, GLuint x)) _func)(location, x); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform1ui)(GLint location, GLuint x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[958]; + mapi_func _func = ((const mapi_func *) _tbl)[964]; ((void (APIENTRY *)(GLint location, GLuint x)) _func)(location, x); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uivEXT)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[959]; + mapi_func _func = ((const mapi_func *) _tbl)[965]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform1uiv)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[959]; + mapi_func _func = ((const mapi_func *) _tbl)[965]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uiEXT)(GLint location, GLuint x, GLuint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[960]; + mapi_func _func = ((const mapi_func *) _tbl)[966]; ((void (APIENTRY *)(GLint location, GLuint x, GLuint y)) _func)(location, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform2ui)(GLint location, GLuint x, GLuint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[960]; + mapi_func _func = ((const mapi_func *) _tbl)[966]; ((void (APIENTRY *)(GLint location, GLuint x, GLuint y)) _func)(location, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uivEXT)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[961]; + mapi_func _func = ((const mapi_func *) _tbl)[967]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform2uiv)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[961]; + mapi_func _func = ((const mapi_func *) _tbl)[967]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[962]; + mapi_func _func = ((const mapi_func *) _tbl)[968]; ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z)) _func)(location, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform3ui)(GLint location, GLuint x, GLuint y, GLuint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[962]; + mapi_func _func = ((const mapi_func *) _tbl)[968]; ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z)) _func)(location, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uivEXT)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[963]; + mapi_func _func = ((const mapi_func *) _tbl)[969]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform3uiv)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[963]; + mapi_func _func = ((const mapi_func *) _tbl)[969]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[964]; + mapi_func _func = ((const mapi_func *) _tbl)[970]; ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(location, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform4ui)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[964]; + mapi_func _func = ((const mapi_func *) _tbl)[970]; ((void (APIENTRY *)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(location, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uivEXT)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[965]; + mapi_func _func = ((const mapi_func *) _tbl)[971]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(Uniform4uiv)(GLint location, GLsizei count, const GLuint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[965]; + mapi_func _func = ((const mapi_func *) _tbl)[971]; ((void (APIENTRY *)(GLint location, GLsizei count, const GLuint *value)) _func)(location, count, value); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1iEXT)(GLuint index, GLint x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[966]; + mapi_func _func = ((const mapi_func *) _tbl)[972]; ((void (APIENTRY *)(GLuint index, GLint x)) _func)(index, x); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1i)(GLuint index, GLint x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[966]; + mapi_func _func = ((const mapi_func *) _tbl)[972]; ((void (APIENTRY *)(GLuint index, GLint x)) _func)(index, x); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1ivEXT)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[967]; + mapi_func _func = ((const mapi_func *) _tbl)[973]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1iv)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[967]; + mapi_func _func = ((const mapi_func *) _tbl)[973]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uiEXT)(GLuint index, GLuint x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[968]; + mapi_func _func = ((const mapi_func *) _tbl)[974]; ((void (APIENTRY *)(GLuint index, GLuint x)) _func)(index, x); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1ui)(GLuint index, GLuint x) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[968]; + mapi_func _func = ((const mapi_func *) _tbl)[974]; ((void (APIENTRY *)(GLuint index, GLuint x)) _func)(index, x); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uivEXT)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[969]; + mapi_func _func = ((const mapi_func *) _tbl)[975]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI1uiv)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[969]; + mapi_func _func = ((const mapi_func *) _tbl)[975]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2iEXT)(GLuint index, GLint x, GLint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[970]; + mapi_func _func = ((const mapi_func *) _tbl)[976]; ((void (APIENTRY *)(GLuint index, GLint x, GLint y)) _func)(index, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2i)(GLuint index, GLint x, GLint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[970]; + mapi_func _func = ((const mapi_func *) _tbl)[976]; ((void (APIENTRY *)(GLuint index, GLint x, GLint y)) _func)(index, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2ivEXT)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[971]; + mapi_func _func = ((const mapi_func *) _tbl)[977]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2iv)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[971]; + mapi_func _func = ((const mapi_func *) _tbl)[977]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[972]; + mapi_func _func = ((const mapi_func *) _tbl)[978]; ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y)) _func)(index, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2ui)(GLuint index, GLuint x, GLuint y) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[972]; + mapi_func _func = ((const mapi_func *) _tbl)[978]; ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y)) _func)(index, x, y); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uivEXT)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[973]; + mapi_func _func = ((const mapi_func *) _tbl)[979]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI2uiv)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[973]; + mapi_func _func = ((const mapi_func *) _tbl)[979]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[974]; + mapi_func _func = ((const mapi_func *) _tbl)[980]; ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z)) _func)(index, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[974]; + mapi_func _func = ((const mapi_func *) _tbl)[980]; ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z)) _func)(index, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3ivEXT)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[975]; + mapi_func _func = ((const mapi_func *) _tbl)[981]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3iv)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[975]; + mapi_func _func = ((const mapi_func *) _tbl)[981]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[976]; + mapi_func _func = ((const mapi_func *) _tbl)[982]; ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z)) _func)(index, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[976]; + mapi_func _func = ((const mapi_func *) _tbl)[982]; ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z)) _func)(index, x, y, z); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uivEXT)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[977]; + mapi_func _func = ((const mapi_func *) _tbl)[983]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI3uiv)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[977]; + mapi_func _func = ((const mapi_func *) _tbl)[983]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4bvEXT)(GLuint index, const GLbyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[978]; + mapi_func _func = ((const mapi_func *) _tbl)[984]; ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4bv)(GLuint index, const GLbyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[978]; + mapi_func _func = ((const mapi_func *) _tbl)[984]; ((void (APIENTRY *)(GLuint index, const GLbyte *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[979]; + mapi_func _func = ((const mapi_func *) _tbl)[985]; ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z, GLint w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[979]; + mapi_func _func = ((const mapi_func *) _tbl)[985]; ((void (APIENTRY *)(GLuint index, GLint x, GLint y, GLint z, GLint w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ivEXT)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[980]; + mapi_func _func = ((const mapi_func *) _tbl)[986]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4iv)(GLuint index, const GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[980]; + mapi_func _func = ((const mapi_func *) _tbl)[986]; ((void (APIENTRY *)(GLuint index, const GLint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4svEXT)(GLuint index, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[981]; + mapi_func _func = ((const mapi_func *) _tbl)[987]; ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4sv)(GLuint index, const GLshort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[981]; + mapi_func _func = ((const mapi_func *) _tbl)[987]; ((void (APIENTRY *)(GLuint index, const GLshort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ubvEXT)(GLuint index, const GLubyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[982]; + mapi_func _func = ((const mapi_func *) _tbl)[988]; ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ubv)(GLuint index, const GLubyte *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[982]; + mapi_func _func = ((const mapi_func *) _tbl)[988]; ((void (APIENTRY *)(GLuint index, const GLubyte *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[983]; + mapi_func _func = ((const mapi_func *) _tbl)[989]; ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[983]; + mapi_func _func = ((const mapi_func *) _tbl)[989]; ((void (APIENTRY *)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) _func)(index, x, y, z, w); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uivEXT)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[984]; + mapi_func _func = ((const mapi_func *) _tbl)[990]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4uiv)(GLuint index, const GLuint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[984]; + mapi_func _func = ((const mapi_func *) _tbl)[990]; ((void (APIENTRY *)(GLuint index, const GLuint *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4usvEXT)(GLuint index, const GLushort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[985]; + mapi_func _func = ((const mapi_func *) _tbl)[991]; ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribI4usv)(GLuint index, const GLushort *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[985]; + mapi_func _func = ((const mapi_func *) _tbl)[991]; ((void (APIENTRY *)(GLuint index, const GLushort *v)) _func)(index, v); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[986]; + mapi_func _func = ((const mapi_func *) _tbl)[992]; ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, stride, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[986]; + mapi_func _func = ((const mapi_func *) _tbl)[992]; ((void (APIENTRY *)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) _func)(index, size, type, stride, pointer); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[987]; + mapi_func _func = ((const mapi_func *) _tbl)[993]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) _func)(target, attachment, texture, level, layer); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[987]; + mapi_func _func = ((const mapi_func *) _tbl)[993]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) _func)(target, attachment, texture, level, layer); } GLAPI void APIENTRY GLAPI_PREFIX(FramebufferTextureLayerARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[987]; + mapi_func _func = ((const mapi_func *) _tbl)[993]; ((void (APIENTRY *)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) _func)(target, attachment, texture, level, layer); } GLAPI void APIENTRY GLAPI_PREFIX(ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[988]; + mapi_func _func = ((const mapi_func *) _tbl)[994]; ((void (APIENTRY *)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a)) _func)(buf, r, g, b, a); } GLAPI void APIENTRY GLAPI_PREFIX(ColorMaski)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[988]; + mapi_func _func = ((const mapi_func *) _tbl)[994]; ((void (APIENTRY *)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a)) _func)(buf, r, g, b, a); } GLAPI void APIENTRY GLAPI_PREFIX(DisableIndexedEXT)(GLenum target, GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[989]; + mapi_func _func = ((const mapi_func *) _tbl)[995]; ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); } GLAPI void APIENTRY GLAPI_PREFIX(Disablei)(GLenum target, GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[989]; + mapi_func _func = ((const mapi_func *) _tbl)[995]; ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); } GLAPI void APIENTRY GLAPI_PREFIX(EnableIndexedEXT)(GLenum target, GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[990]; + mapi_func _func = ((const mapi_func *) _tbl)[996]; ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); } GLAPI void APIENTRY GLAPI_PREFIX(Enablei)(GLenum target, GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[990]; + mapi_func _func = ((const mapi_func *) _tbl)[996]; ((void (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); } GLAPI void APIENTRY GLAPI_PREFIX(GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean *data) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[991]; + mapi_func _func = ((const mapi_func *) _tbl)[997]; ((void (APIENTRY *)(GLenum value, GLuint index, GLboolean *data)) _func)(value, index, data); } GLAPI void APIENTRY GLAPI_PREFIX(GetBooleani_v)(GLenum value, GLuint index, GLboolean *data) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[991]; + mapi_func _func = ((const mapi_func *) _tbl)[997]; ((void (APIENTRY *)(GLenum value, GLuint index, GLboolean *data)) _func)(value, index, data); } GLAPI void APIENTRY GLAPI_PREFIX(GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint *data) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[992]; + mapi_func _func = ((const mapi_func *) _tbl)[998]; ((void (APIENTRY *)(GLenum value, GLuint index, GLint *data)) _func)(value, index, data); } GLAPI void APIENTRY GLAPI_PREFIX(GetIntegeri_v)(GLenum value, GLuint index, GLint *data) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[992]; + mapi_func _func = ((const mapi_func *) _tbl)[998]; ((void (APIENTRY *)(GLenum value, GLuint index, GLint *data)) _func)(value, index, data); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabledIndexedEXT)(GLenum target, GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[993]; + mapi_func _func = ((const mapi_func *) _tbl)[999]; return ((GLboolean (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsEnabledi)(GLenum target, GLuint index) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[993]; + mapi_func _func = ((const mapi_func *) _tbl)[999]; return ((GLboolean (APIENTRY *)(GLenum target, GLuint index)) _func)(target, index); } GLAPI void APIENTRY GLAPI_PREFIX(ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[994]; + mapi_func _func = ((const mapi_func *) _tbl)[1000]; ((void (APIENTRY *)(GLint r, GLint g, GLint b, GLint a)) _func)(r, g, b, a); } GLAPI void APIENTRY GLAPI_PREFIX(ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[995]; + mapi_func _func = ((const mapi_func *) _tbl)[1001]; ((void (APIENTRY *)(GLuint r, GLuint g, GLuint b, GLuint a)) _func)(r, g, b, a); } GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[996]; + mapi_func _func = ((const mapi_func *) _tbl)[1002]; ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIiv)(GLenum target, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[996]; + mapi_func _func = ((const mapi_func *) _tbl)[1002]; ((void (APIENTRY *)(GLenum target, GLenum pname, GLint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[997]; + mapi_func _func = ((const mapi_func *) _tbl)[1003]; ((void (APIENTRY *)(GLenum target, GLenum pname, GLuint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetTexParameterIuiv)(GLenum target, GLenum pname, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[997]; + mapi_func _func = ((const mapi_func *) _tbl)[1003]; ((void (APIENTRY *)(GLenum target, GLenum pname, GLuint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIivEXT)(GLenum target, GLenum pname, const GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[998]; + mapi_func _func = ((const mapi_func *) _tbl)[1004]; ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIiv)(GLenum target, GLenum pname, const GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[998]; + mapi_func _func = ((const mapi_func *) _tbl)[1004]; ((void (APIENTRY *)(GLenum target, GLenum pname, const GLint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[999]; + mapi_func _func = ((const mapi_func *) _tbl)[1005]; ((void (APIENTRY *)(GLenum target, GLenum pname, const GLuint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(TexParameterIuiv)(GLenum target, GLenum pname, const GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[999]; + mapi_func _func = ((const mapi_func *) _tbl)[1005]; ((void (APIENTRY *)(GLenum target, GLenum pname, const GLuint *params)) _func)(target, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(BeginConditionalRenderNV)(GLuint query, GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1000]; + mapi_func _func = ((const mapi_func *) _tbl)[1006]; ((void (APIENTRY *)(GLuint query, GLenum mode)) _func)(query, mode); } GLAPI void APIENTRY GLAPI_PREFIX(BeginConditionalRender)(GLuint query, GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1000]; + mapi_func _func = ((const mapi_func *) _tbl)[1006]; ((void (APIENTRY *)(GLuint query, GLenum mode)) _func)(query, mode); } GLAPI void APIENTRY GLAPI_PREFIX(EndConditionalRenderNV)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1001]; + mapi_func _func = ((const mapi_func *) _tbl)[1007]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(EndConditionalRender)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1001]; + mapi_func _func = ((const mapi_func *) _tbl)[1007]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(BeginTransformFeedbackEXT)(GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1002]; + mapi_func _func = ((const mapi_func *) _tbl)[1008]; ((void (APIENTRY *)(GLenum mode)) _func)(mode); } GLAPI void APIENTRY GLAPI_PREFIX(BeginTransformFeedback)(GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1002]; + mapi_func _func = ((const mapi_func *) _tbl)[1008]; ((void (APIENTRY *)(GLenum mode)) _func)(mode); } GLAPI void APIENTRY GLAPI_PREFIX(BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1003]; + mapi_func _func = ((const mapi_func *) _tbl)[1009]; ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer)) _func)(target, index, buffer); } GLAPI void APIENTRY GLAPI_PREFIX(BindBufferBase)(GLenum target, GLuint index, GLuint buffer) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1003]; + mapi_func _func = ((const mapi_func *) _tbl)[1009]; ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer)) _func)(target, index, buffer); } GLAPI void APIENTRY GLAPI_PREFIX(BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1004]; + mapi_func _func = ((const mapi_func *) _tbl)[1010]; ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer, GLintptr offset)) _func)(target, index, buffer, offset); } GLAPI void APIENTRY GLAPI_PREFIX(BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1005]; + mapi_func _func = ((const mapi_func *) _tbl)[1011]; ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) _func)(target, index, buffer, offset, size); } GLAPI void APIENTRY GLAPI_PREFIX(BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1005]; + mapi_func _func = ((const mapi_func *) _tbl)[1011]; ((void (APIENTRY *)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) _func)(target, index, buffer, offset, size); } GLAPI void APIENTRY GLAPI_PREFIX(EndTransformFeedbackEXT)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1006]; + mapi_func _func = ((const mapi_func *) _tbl)[1012]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(EndTransformFeedback)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1006]; + mapi_func _func = ((const mapi_func *) _tbl)[1012]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1007]; + mapi_func _func = ((const mapi_func *) _tbl)[1013]; ((void (APIENTRY *)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) _func)(program, index, bufSize, length, size, type, name); } GLAPI void APIENTRY GLAPI_PREFIX(GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1007]; + mapi_func _func = ((const mapi_func *) _tbl)[1013]; ((void (APIENTRY *)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) _func)(program, index, bufSize, length, size, type, name); } GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char **varyings, GLenum bufferMode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1008]; + mapi_func _func = ((const mapi_func *) _tbl)[1014]; ((void (APIENTRY *)(GLuint program, GLsizei count, const char **varyings, GLenum bufferMode)) _func)(program, count, varyings, bufferMode); } GLAPI void APIENTRY GLAPI_PREFIX(TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1008]; + mapi_func _func = ((const mapi_func *) _tbl)[1014]; ((void (APIENTRY *)(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode)) _func)(program, count, varyings, bufferMode); } GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertexEXT)(GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1009]; + mapi_func _func = ((const mapi_func *) _tbl)[1015]; ((void (APIENTRY *)(GLenum mode)) _func)(mode); } GLAPI void APIENTRY GLAPI_PREFIX(ProvokingVertex)(GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1009]; + mapi_func _func = ((const mapi_func *) _tbl)[1015]; ((void (APIENTRY *)(GLenum mode)) _func)(mode); } GLAPI void APIENTRY GLAPI_PREFIX(GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint *value) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1012]; + mapi_func _func = ((const mapi_func *) _tbl)[1018]; ((void (APIENTRY *)(GLenum objectType, GLuint name, GLenum pname, GLint *value)) _func)(objectType, name, pname, value); } GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1013]; + mapi_func _func = ((const mapi_func *) _tbl)[1019]; return ((GLenum (APIENTRY *)(GLenum objectType, GLuint name, GLenum option)) _func)(objectType, name, option); } GLAPI GLenum APIENTRY GLAPI_PREFIX(ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1014]; + mapi_func _func = ((const mapi_func *) _tbl)[1020]; return ((GLenum (APIENTRY *)(GLenum objectType, GLuint name, GLenum option)) _func)(objectType, name, option); } GLAPI void APIENTRY GLAPI_PREFIX(ActiveProgramEXT)(GLuint program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1015]; + mapi_func _func = ((const mapi_func *) _tbl)[1021]; ((void (APIENTRY *)(GLuint program)) _func)(program); } GLAPI GLuint APIENTRY GLAPI_PREFIX(CreateShaderProgramEXT)(GLenum type, const GLchar *string) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1016]; + mapi_func _func = ((const mapi_func *) _tbl)[1022]; return ((GLuint (APIENTRY *)(GLenum type, const GLchar *string)) _func)(type, string); } GLAPI void APIENTRY GLAPI_PREFIX(UseShaderProgramEXT)(GLenum type, GLuint program) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1017]; + mapi_func _func = ((const mapi_func *) _tbl)[1023]; ((void (APIENTRY *)(GLenum type, GLuint program)) _func)(type, program); } GLAPI void APIENTRY GLAPI_PREFIX(TextureBarrierNV)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1018]; + mapi_func _func = ((const mapi_func *) _tbl)[1024]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid *writeOffset) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1024]; + mapi_func _func = ((const mapi_func *) _tbl)[1030]; ((void (APIENTRY *)(GLenum target, GLvoid *writeOffset)) _func)(target, writeOffset); } GLAPI void APIENTRY GLAPI_PREFIX(EGLImageTargetTexture2DOES)(GLenum target, GLvoid *writeOffset) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[1025]; + mapi_func _func = ((const mapi_func *) _tbl)[1031]; ((void (APIENTRY *)(GLenum target, GLvoid *writeOffset)) _func)(target, writeOffset); } @@ -12823,29 +12871,47 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnUniformuivARB))"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ReadnPixelsARB))"\n" "\t"STUB_ASM_CODE("687")"\n" -STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PolygonOffsetEXT))"\n" +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexStorage1D))"\n" "\t"STUB_ASM_CODE("688")"\n" +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexStorage2D))"\n" +"\t"STUB_ASM_CODE("689")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexStorage3D))"\n" +"\t"STUB_ASM_CODE("690")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TextureStorage1DEXT))"\n" +"\t"STUB_ASM_CODE("691")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TextureStorage2DEXT))"\n" +"\t"STUB_ASM_CODE("692")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TextureStorage3DEXT))"\n" +"\t"STUB_ASM_CODE("693")"\n" + +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PolygonOffsetEXT))"\n" +"\t"STUB_ASM_CODE("694")"\n" + STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorPointerEXT))"\n" -"\t"STUB_ASM_CODE("707")"\n" +"\t"STUB_ASM_CODE("713")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EdgeFlagPointerEXT))"\n" -"\t"STUB_ASM_CODE("708")"\n" +"\t"STUB_ASM_CODE("714")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IndexPointerEXT))"\n" -"\t"STUB_ASM_CODE("709")"\n" +"\t"STUB_ASM_CODE("715")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(NormalPointerEXT))"\n" -"\t"STUB_ASM_CODE("710")"\n" +"\t"STUB_ASM_CODE("716")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoordPointerEXT))"\n" -"\t"STUB_ASM_CODE("711")"\n" +"\t"STUB_ASM_CODE("717")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexPointerEXT))"\n" -"\t"STUB_ASM_CODE("712")"\n" +"\t"STUB_ASM_CODE("718")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterfEXT))"\n" -"\t"STUB_ASM_CODE("713")"\n" +"\t"STUB_ASM_CODE("719")"\n" ".globl "GLAPI_PREFIX_STR(PointParameterf)"\n" ".set "GLAPI_PREFIX_STR(PointParameterf)", "GLAPI_PREFIX_STR(PointParameterfEXT)"\n" @@ -12854,7 +12920,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterfEXT))"\n" ".set "GLAPI_PREFIX_STR(PointParameterfARB)", "GLAPI_PREFIX_STR(PointParameterfEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterfvEXT))"\n" -"\t"STUB_ASM_CODE("714")"\n" +"\t"STUB_ASM_CODE("720")"\n" ".globl "GLAPI_PREFIX_STR(PointParameterfv)"\n" ".set "GLAPI_PREFIX_STR(PointParameterfv)", "GLAPI_PREFIX_STR(PointParameterfvEXT)"\n" @@ -12863,211 +12929,211 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterfvEXT))"\n" ".set "GLAPI_PREFIX_STR(PointParameterfvARB)", "GLAPI_PREFIX_STR(PointParameterfvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LockArraysEXT))"\n" -"\t"STUB_ASM_CODE("715")"\n" +"\t"STUB_ASM_CODE("721")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UnlockArraysEXT))"\n" -"\t"STUB_ASM_CODE("716")"\n" +"\t"STUB_ASM_CODE("722")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3bEXT))"\n" -"\t"STUB_ASM_CODE("717")"\n" +"\t"STUB_ASM_CODE("723")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3b)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3b)", "GLAPI_PREFIX_STR(SecondaryColor3bEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3bvEXT))"\n" -"\t"STUB_ASM_CODE("718")"\n" +"\t"STUB_ASM_CODE("724")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3bv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3bv)", "GLAPI_PREFIX_STR(SecondaryColor3bvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3dEXT))"\n" -"\t"STUB_ASM_CODE("719")"\n" +"\t"STUB_ASM_CODE("725")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3d)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3d)", "GLAPI_PREFIX_STR(SecondaryColor3dEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3dvEXT))"\n" -"\t"STUB_ASM_CODE("720")"\n" +"\t"STUB_ASM_CODE("726")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3dv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3dv)", "GLAPI_PREFIX_STR(SecondaryColor3dvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3fEXT))"\n" -"\t"STUB_ASM_CODE("721")"\n" +"\t"STUB_ASM_CODE("727")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3f)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3f)", "GLAPI_PREFIX_STR(SecondaryColor3fEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3fvEXT))"\n" -"\t"STUB_ASM_CODE("722")"\n" +"\t"STUB_ASM_CODE("728")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3fv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3fv)", "GLAPI_PREFIX_STR(SecondaryColor3fvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3iEXT))"\n" -"\t"STUB_ASM_CODE("723")"\n" +"\t"STUB_ASM_CODE("729")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3i)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3i)", "GLAPI_PREFIX_STR(SecondaryColor3iEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3ivEXT))"\n" -"\t"STUB_ASM_CODE("724")"\n" +"\t"STUB_ASM_CODE("730")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3iv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3iv)", "GLAPI_PREFIX_STR(SecondaryColor3ivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3sEXT))"\n" -"\t"STUB_ASM_CODE("725")"\n" +"\t"STUB_ASM_CODE("731")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3s)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3s)", "GLAPI_PREFIX_STR(SecondaryColor3sEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3svEXT))"\n" -"\t"STUB_ASM_CODE("726")"\n" +"\t"STUB_ASM_CODE("732")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3sv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3sv)", "GLAPI_PREFIX_STR(SecondaryColor3svEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3ubEXT))"\n" -"\t"STUB_ASM_CODE("727")"\n" +"\t"STUB_ASM_CODE("733")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3ub)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3ub)", "GLAPI_PREFIX_STR(SecondaryColor3ubEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3ubvEXT))"\n" -"\t"STUB_ASM_CODE("728")"\n" +"\t"STUB_ASM_CODE("734")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3ubv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3ubv)", "GLAPI_PREFIX_STR(SecondaryColor3ubvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3uiEXT))"\n" -"\t"STUB_ASM_CODE("729")"\n" +"\t"STUB_ASM_CODE("735")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3ui)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3ui)", "GLAPI_PREFIX_STR(SecondaryColor3uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3uivEXT))"\n" -"\t"STUB_ASM_CODE("730")"\n" +"\t"STUB_ASM_CODE("736")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3uiv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3uiv)", "GLAPI_PREFIX_STR(SecondaryColor3uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3usEXT))"\n" -"\t"STUB_ASM_CODE("731")"\n" +"\t"STUB_ASM_CODE("737")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3us)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3us)", "GLAPI_PREFIX_STR(SecondaryColor3usEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3usvEXT))"\n" -"\t"STUB_ASM_CODE("732")"\n" +"\t"STUB_ASM_CODE("738")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColor3usv)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColor3usv)", "GLAPI_PREFIX_STR(SecondaryColor3usvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColorPointerEXT))"\n" -"\t"STUB_ASM_CODE("733")"\n" +"\t"STUB_ASM_CODE("739")"\n" ".globl "GLAPI_PREFIX_STR(SecondaryColorPointer)"\n" ".set "GLAPI_PREFIX_STR(SecondaryColorPointer)", "GLAPI_PREFIX_STR(SecondaryColorPointerEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiDrawArraysEXT))"\n" -"\t"STUB_ASM_CODE("734")"\n" +"\t"STUB_ASM_CODE("740")"\n" ".globl "GLAPI_PREFIX_STR(MultiDrawArrays)"\n" ".set "GLAPI_PREFIX_STR(MultiDrawArrays)", "GLAPI_PREFIX_STR(MultiDrawArraysEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiDrawElementsEXT))"\n" -"\t"STUB_ASM_CODE("735")"\n" +"\t"STUB_ASM_CODE("741")"\n" ".globl "GLAPI_PREFIX_STR(MultiDrawElements)"\n" ".set "GLAPI_PREFIX_STR(MultiDrawElements)", "GLAPI_PREFIX_STR(MultiDrawElementsEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoordPointerEXT))"\n" -"\t"STUB_ASM_CODE("736")"\n" +"\t"STUB_ASM_CODE("742")"\n" ".globl "GLAPI_PREFIX_STR(FogCoordPointer)"\n" ".set "GLAPI_PREFIX_STR(FogCoordPointer)", "GLAPI_PREFIX_STR(FogCoordPointerEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoorddEXT))"\n" -"\t"STUB_ASM_CODE("737")"\n" +"\t"STUB_ASM_CODE("743")"\n" ".globl "GLAPI_PREFIX_STR(FogCoordd)"\n" ".set "GLAPI_PREFIX_STR(FogCoordd)", "GLAPI_PREFIX_STR(FogCoorddEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoorddvEXT))"\n" -"\t"STUB_ASM_CODE("738")"\n" +"\t"STUB_ASM_CODE("744")"\n" ".globl "GLAPI_PREFIX_STR(FogCoorddv)"\n" ".set "GLAPI_PREFIX_STR(FogCoorddv)", "GLAPI_PREFIX_STR(FogCoorddvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoordfEXT))"\n" -"\t"STUB_ASM_CODE("739")"\n" +"\t"STUB_ASM_CODE("745")"\n" ".globl "GLAPI_PREFIX_STR(FogCoordf)"\n" ".set "GLAPI_PREFIX_STR(FogCoordf)", "GLAPI_PREFIX_STR(FogCoordfEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FogCoordfvEXT))"\n" -"\t"STUB_ASM_CODE("740")"\n" +"\t"STUB_ASM_CODE("746")"\n" ".globl "GLAPI_PREFIX_STR(FogCoordfv)"\n" ".set "GLAPI_PREFIX_STR(FogCoordfv)", "GLAPI_PREFIX_STR(FogCoordfvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendFuncSeparateEXT))"\n" -"\t"STUB_ASM_CODE("742")"\n" +"\t"STUB_ASM_CODE("748")"\n" ".globl "GLAPI_PREFIX_STR(BlendFuncSeparate)"\n" ".set "GLAPI_PREFIX_STR(BlendFuncSeparate)", "GLAPI_PREFIX_STR(BlendFuncSeparateEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FlushVertexArrayRangeNV))"\n" -"\t"STUB_ASM_CODE("743")"\n" +"\t"STUB_ASM_CODE("749")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexArrayRangeNV))"\n" -"\t"STUB_ASM_CODE("744")"\n" +"\t"STUB_ASM_CODE("750")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerInputNV))"\n" -"\t"STUB_ASM_CODE("745")"\n" +"\t"STUB_ASM_CODE("751")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerOutputNV))"\n" -"\t"STUB_ASM_CODE("746")"\n" +"\t"STUB_ASM_CODE("752")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterfNV))"\n" -"\t"STUB_ASM_CODE("747")"\n" +"\t"STUB_ASM_CODE("753")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterfvNV))"\n" -"\t"STUB_ASM_CODE("748")"\n" +"\t"STUB_ASM_CODE("754")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameteriNV))"\n" -"\t"STUB_ASM_CODE("749")"\n" +"\t"STUB_ASM_CODE("755")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterivNV))"\n" -"\t"STUB_ASM_CODE("750")"\n" +"\t"STUB_ASM_CODE("756")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FinalCombinerInputNV))"\n" -"\t"STUB_ASM_CODE("751")"\n" +"\t"STUB_ASM_CODE("757")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerInputParameterfvNV))"\n" -"\t"STUB_ASM_CODE("752")"\n" +"\t"STUB_ASM_CODE("758")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerInputParameterivNV))"\n" -"\t"STUB_ASM_CODE("753")"\n" +"\t"STUB_ASM_CODE("759")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerOutputParameterfvNV))"\n" -"\t"STUB_ASM_CODE("754")"\n" +"\t"STUB_ASM_CODE("760")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerOutputParameterivNV))"\n" -"\t"STUB_ASM_CODE("755")"\n" +"\t"STUB_ASM_CODE("761")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFinalCombinerInputParameterfvNV))"\n" -"\t"STUB_ASM_CODE("756")"\n" +"\t"STUB_ASM_CODE("762")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFinalCombinerInputParameterivNV))"\n" -"\t"STUB_ASM_CODE("757")"\n" +"\t"STUB_ASM_CODE("763")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ResizeBuffersMESA))"\n" -"\t"STUB_ASM_CODE("758")"\n" +"\t"STUB_ASM_CODE("764")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2dMESA))"\n" -"\t"STUB_ASM_CODE("759")"\n" +"\t"STUB_ASM_CODE("765")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2d)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2d)", "GLAPI_PREFIX_STR(WindowPos2dMESA)"\n" @@ -13076,7 +13142,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2dMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2dARB)", "GLAPI_PREFIX_STR(WindowPos2dMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2dvMESA))"\n" -"\t"STUB_ASM_CODE("760")"\n" +"\t"STUB_ASM_CODE("766")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2dv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2dv)", "GLAPI_PREFIX_STR(WindowPos2dvMESA)"\n" @@ -13085,7 +13151,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2dvMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2dvARB)", "GLAPI_PREFIX_STR(WindowPos2dvMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2fMESA))"\n" -"\t"STUB_ASM_CODE("761")"\n" +"\t"STUB_ASM_CODE("767")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2f)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2f)", "GLAPI_PREFIX_STR(WindowPos2fMESA)"\n" @@ -13094,7 +13160,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2fMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2fARB)", "GLAPI_PREFIX_STR(WindowPos2fMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2fvMESA))"\n" -"\t"STUB_ASM_CODE("762")"\n" +"\t"STUB_ASM_CODE("768")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2fv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2fv)", "GLAPI_PREFIX_STR(WindowPos2fvMESA)"\n" @@ -13103,7 +13169,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2fvMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2fvARB)", "GLAPI_PREFIX_STR(WindowPos2fvMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2iMESA))"\n" -"\t"STUB_ASM_CODE("763")"\n" +"\t"STUB_ASM_CODE("769")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2i)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2i)", "GLAPI_PREFIX_STR(WindowPos2iMESA)"\n" @@ -13112,7 +13178,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2iMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2iARB)", "GLAPI_PREFIX_STR(WindowPos2iMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2ivMESA))"\n" -"\t"STUB_ASM_CODE("764")"\n" +"\t"STUB_ASM_CODE("770")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2iv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2iv)", "GLAPI_PREFIX_STR(WindowPos2ivMESA)"\n" @@ -13121,7 +13187,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2ivMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2ivARB)", "GLAPI_PREFIX_STR(WindowPos2ivMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2sMESA))"\n" -"\t"STUB_ASM_CODE("765")"\n" +"\t"STUB_ASM_CODE("771")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2s)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2s)", "GLAPI_PREFIX_STR(WindowPos2sMESA)"\n" @@ -13130,7 +13196,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2sMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2sARB)", "GLAPI_PREFIX_STR(WindowPos2sMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2svMESA))"\n" -"\t"STUB_ASM_CODE("766")"\n" +"\t"STUB_ASM_CODE("772")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2sv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2sv)", "GLAPI_PREFIX_STR(WindowPos2svMESA)"\n" @@ -13139,7 +13205,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2svMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos2svARB)", "GLAPI_PREFIX_STR(WindowPos2svMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3dMESA))"\n" -"\t"STUB_ASM_CODE("767")"\n" +"\t"STUB_ASM_CODE("773")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3d)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3d)", "GLAPI_PREFIX_STR(WindowPos3dMESA)"\n" @@ -13148,7 +13214,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3dMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3dARB)", "GLAPI_PREFIX_STR(WindowPos3dMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3dvMESA))"\n" -"\t"STUB_ASM_CODE("768")"\n" +"\t"STUB_ASM_CODE("774")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3dv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3dv)", "GLAPI_PREFIX_STR(WindowPos3dvMESA)"\n" @@ -13157,7 +13223,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3dvMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3dvARB)", "GLAPI_PREFIX_STR(WindowPos3dvMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3fMESA))"\n" -"\t"STUB_ASM_CODE("769")"\n" +"\t"STUB_ASM_CODE("775")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3f)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3f)", "GLAPI_PREFIX_STR(WindowPos3fMESA)"\n" @@ -13166,7 +13232,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3fMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3fARB)", "GLAPI_PREFIX_STR(WindowPos3fMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3fvMESA))"\n" -"\t"STUB_ASM_CODE("770")"\n" +"\t"STUB_ASM_CODE("776")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3fv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3fv)", "GLAPI_PREFIX_STR(WindowPos3fvMESA)"\n" @@ -13175,7 +13241,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3fvMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3fvARB)", "GLAPI_PREFIX_STR(WindowPos3fvMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3iMESA))"\n" -"\t"STUB_ASM_CODE("771")"\n" +"\t"STUB_ASM_CODE("777")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3i)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3i)", "GLAPI_PREFIX_STR(WindowPos3iMESA)"\n" @@ -13184,7 +13250,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3iMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3iARB)", "GLAPI_PREFIX_STR(WindowPos3iMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3ivMESA))"\n" -"\t"STUB_ASM_CODE("772")"\n" +"\t"STUB_ASM_CODE("778")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3iv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3iv)", "GLAPI_PREFIX_STR(WindowPos3ivMESA)"\n" @@ -13193,7 +13259,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3ivMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3ivARB)", "GLAPI_PREFIX_STR(WindowPos3ivMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3sMESA))"\n" -"\t"STUB_ASM_CODE("773")"\n" +"\t"STUB_ASM_CODE("779")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3s)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3s)", "GLAPI_PREFIX_STR(WindowPos3sMESA)"\n" @@ -13202,7 +13268,7 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3sMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3sARB)", "GLAPI_PREFIX_STR(WindowPos3sMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3svMESA))"\n" -"\t"STUB_ASM_CODE("774")"\n" +"\t"STUB_ASM_CODE("780")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3sv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3sv)", "GLAPI_PREFIX_STR(WindowPos3svMESA)"\n" @@ -13211,70 +13277,70 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos3svMESA))"\n" ".set "GLAPI_PREFIX_STR(WindowPos3svARB)", "GLAPI_PREFIX_STR(WindowPos3svMESA)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4dMESA))"\n" -"\t"STUB_ASM_CODE("775")"\n" +"\t"STUB_ASM_CODE("781")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4dvMESA))"\n" -"\t"STUB_ASM_CODE("776")"\n" +"\t"STUB_ASM_CODE("782")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4fMESA))"\n" -"\t"STUB_ASM_CODE("777")"\n" +"\t"STUB_ASM_CODE("783")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4fvMESA))"\n" -"\t"STUB_ASM_CODE("778")"\n" +"\t"STUB_ASM_CODE("784")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4iMESA))"\n" -"\t"STUB_ASM_CODE("779")"\n" +"\t"STUB_ASM_CODE("785")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4ivMESA))"\n" -"\t"STUB_ASM_CODE("780")"\n" +"\t"STUB_ASM_CODE("786")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4sMESA))"\n" -"\t"STUB_ASM_CODE("781")"\n" +"\t"STUB_ASM_CODE("787")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4svMESA))"\n" -"\t"STUB_ASM_CODE("782")"\n" +"\t"STUB_ASM_CODE("788")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AreProgramsResidentNV))"\n" -"\t"STUB_ASM_CODE("792")"\n" +"\t"STUB_ASM_CODE("798")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindProgramNV))"\n" -"\t"STUB_ASM_CODE("793")"\n" +"\t"STUB_ASM_CODE("799")"\n" ".globl "GLAPI_PREFIX_STR(BindProgramARB)"\n" ".set "GLAPI_PREFIX_STR(BindProgramARB)", "GLAPI_PREFIX_STR(BindProgramNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteProgramsNV))"\n" -"\t"STUB_ASM_CODE("794")"\n" +"\t"STUB_ASM_CODE("800")"\n" ".globl "GLAPI_PREFIX_STR(DeleteProgramsARB)"\n" ".set "GLAPI_PREFIX_STR(DeleteProgramsARB)", "GLAPI_PREFIX_STR(DeleteProgramsNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ExecuteProgramNV))"\n" -"\t"STUB_ASM_CODE("795")"\n" +"\t"STUB_ASM_CODE("801")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenProgramsNV))"\n" -"\t"STUB_ASM_CODE("796")"\n" +"\t"STUB_ASM_CODE("802")"\n" ".globl "GLAPI_PREFIX_STR(GenProgramsARB)"\n" ".set "GLAPI_PREFIX_STR(GenProgramsARB)", "GLAPI_PREFIX_STR(GenProgramsNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramParameterdvNV))"\n" -"\t"STUB_ASM_CODE("797")"\n" +"\t"STUB_ASM_CODE("803")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramParameterfvNV))"\n" -"\t"STUB_ASM_CODE("798")"\n" +"\t"STUB_ASM_CODE("804")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramStringNV))"\n" -"\t"STUB_ASM_CODE("799")"\n" +"\t"STUB_ASM_CODE("805")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramivNV))"\n" -"\t"STUB_ASM_CODE("800")"\n" +"\t"STUB_ASM_CODE("806")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTrackMatrixivNV))"\n" -"\t"STUB_ASM_CODE("801")"\n" +"\t"STUB_ASM_CODE("807")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribPointervNV))"\n" -"\t"STUB_ASM_CODE("802")"\n" +"\t"STUB_ASM_CODE("808")"\n" ".globl "GLAPI_PREFIX_STR(GetVertexAttribPointerv)"\n" ".set "GLAPI_PREFIX_STR(GetVertexAttribPointerv)", "GLAPI_PREFIX_STR(GetVertexAttribPointervNV)"\n" @@ -13283,568 +13349,568 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribPointervNV))"\n" ".set "GLAPI_PREFIX_STR(GetVertexAttribPointervARB)", "GLAPI_PREFIX_STR(GetVertexAttribPointervNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribdvNV))"\n" -"\t"STUB_ASM_CODE("803")"\n" +"\t"STUB_ASM_CODE("809")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribfvNV))"\n" -"\t"STUB_ASM_CODE("804")"\n" +"\t"STUB_ASM_CODE("810")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribivNV))"\n" -"\t"STUB_ASM_CODE("805")"\n" +"\t"STUB_ASM_CODE("811")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsProgramNV))"\n" -"\t"STUB_ASM_CODE("806")"\n" +"\t"STUB_ASM_CODE("812")"\n" ".globl "GLAPI_PREFIX_STR(IsProgramARB)"\n" ".set "GLAPI_PREFIX_STR(IsProgramARB)", "GLAPI_PREFIX_STR(IsProgramNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(LoadProgramNV))"\n" -"\t"STUB_ASM_CODE("807")"\n" +"\t"STUB_ASM_CODE("813")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramParameters4dvNV))"\n" -"\t"STUB_ASM_CODE("808")"\n" +"\t"STUB_ASM_CODE("814")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramParameters4fvNV))"\n" -"\t"STUB_ASM_CODE("809")"\n" +"\t"STUB_ASM_CODE("815")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RequestResidentProgramsNV))"\n" -"\t"STUB_ASM_CODE("810")"\n" +"\t"STUB_ASM_CODE("816")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TrackMatrixNV))"\n" -"\t"STUB_ASM_CODE("811")"\n" +"\t"STUB_ASM_CODE("817")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dNV))"\n" -"\t"STUB_ASM_CODE("812")"\n" +"\t"STUB_ASM_CODE("818")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dvNV))"\n" -"\t"STUB_ASM_CODE("813")"\n" +"\t"STUB_ASM_CODE("819")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fNV))"\n" -"\t"STUB_ASM_CODE("814")"\n" +"\t"STUB_ASM_CODE("820")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fvNV))"\n" -"\t"STUB_ASM_CODE("815")"\n" +"\t"STUB_ASM_CODE("821")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1sNV))"\n" -"\t"STUB_ASM_CODE("816")"\n" +"\t"STUB_ASM_CODE("822")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1svNV))"\n" -"\t"STUB_ASM_CODE("817")"\n" +"\t"STUB_ASM_CODE("823")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dNV))"\n" -"\t"STUB_ASM_CODE("818")"\n" +"\t"STUB_ASM_CODE("824")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dvNV))"\n" -"\t"STUB_ASM_CODE("819")"\n" +"\t"STUB_ASM_CODE("825")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fNV))"\n" -"\t"STUB_ASM_CODE("820")"\n" +"\t"STUB_ASM_CODE("826")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fvNV))"\n" -"\t"STUB_ASM_CODE("821")"\n" +"\t"STUB_ASM_CODE("827")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2sNV))"\n" -"\t"STUB_ASM_CODE("822")"\n" +"\t"STUB_ASM_CODE("828")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2svNV))"\n" -"\t"STUB_ASM_CODE("823")"\n" +"\t"STUB_ASM_CODE("829")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dNV))"\n" -"\t"STUB_ASM_CODE("824")"\n" +"\t"STUB_ASM_CODE("830")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dvNV))"\n" -"\t"STUB_ASM_CODE("825")"\n" +"\t"STUB_ASM_CODE("831")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fNV))"\n" -"\t"STUB_ASM_CODE("826")"\n" +"\t"STUB_ASM_CODE("832")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fvNV))"\n" -"\t"STUB_ASM_CODE("827")"\n" +"\t"STUB_ASM_CODE("833")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3sNV))"\n" -"\t"STUB_ASM_CODE("828")"\n" +"\t"STUB_ASM_CODE("834")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3svNV))"\n" -"\t"STUB_ASM_CODE("829")"\n" +"\t"STUB_ASM_CODE("835")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dNV))"\n" -"\t"STUB_ASM_CODE("830")"\n" +"\t"STUB_ASM_CODE("836")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dvNV))"\n" -"\t"STUB_ASM_CODE("831")"\n" +"\t"STUB_ASM_CODE("837")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fNV))"\n" -"\t"STUB_ASM_CODE("832")"\n" +"\t"STUB_ASM_CODE("838")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fvNV))"\n" -"\t"STUB_ASM_CODE("833")"\n" +"\t"STUB_ASM_CODE("839")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4sNV))"\n" -"\t"STUB_ASM_CODE("834")"\n" +"\t"STUB_ASM_CODE("840")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4svNV))"\n" -"\t"STUB_ASM_CODE("835")"\n" +"\t"STUB_ASM_CODE("841")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ubNV))"\n" -"\t"STUB_ASM_CODE("836")"\n" +"\t"STUB_ASM_CODE("842")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ubvNV))"\n" -"\t"STUB_ASM_CODE("837")"\n" +"\t"STUB_ASM_CODE("843")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribPointerNV))"\n" -"\t"STUB_ASM_CODE("838")"\n" +"\t"STUB_ASM_CODE("844")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1dvNV))"\n" -"\t"STUB_ASM_CODE("839")"\n" +"\t"STUB_ASM_CODE("845")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1fvNV))"\n" -"\t"STUB_ASM_CODE("840")"\n" +"\t"STUB_ASM_CODE("846")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1svNV))"\n" -"\t"STUB_ASM_CODE("841")"\n" +"\t"STUB_ASM_CODE("847")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2dvNV))"\n" -"\t"STUB_ASM_CODE("842")"\n" +"\t"STUB_ASM_CODE("848")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2fvNV))"\n" -"\t"STUB_ASM_CODE("843")"\n" +"\t"STUB_ASM_CODE("849")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2svNV))"\n" -"\t"STUB_ASM_CODE("844")"\n" +"\t"STUB_ASM_CODE("850")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3dvNV))"\n" -"\t"STUB_ASM_CODE("845")"\n" +"\t"STUB_ASM_CODE("851")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3fvNV))"\n" -"\t"STUB_ASM_CODE("846")"\n" +"\t"STUB_ASM_CODE("852")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3svNV))"\n" -"\t"STUB_ASM_CODE("847")"\n" +"\t"STUB_ASM_CODE("853")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4dvNV))"\n" -"\t"STUB_ASM_CODE("848")"\n" +"\t"STUB_ASM_CODE("854")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4fvNV))"\n" -"\t"STUB_ASM_CODE("849")"\n" +"\t"STUB_ASM_CODE("855")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4svNV))"\n" -"\t"STUB_ASM_CODE("850")"\n" +"\t"STUB_ASM_CODE("856")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4ubvNV))"\n" -"\t"STUB_ASM_CODE("851")"\n" +"\t"STUB_ASM_CODE("857")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexBumpParameterfvATI))"\n" -"\t"STUB_ASM_CODE("852")"\n" +"\t"STUB_ASM_CODE("858")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexBumpParameterivATI))"\n" -"\t"STUB_ASM_CODE("853")"\n" +"\t"STUB_ASM_CODE("859")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexBumpParameterfvATI))"\n" -"\t"STUB_ASM_CODE("854")"\n" +"\t"STUB_ASM_CODE("860")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexBumpParameterivATI))"\n" -"\t"STUB_ASM_CODE("855")"\n" +"\t"STUB_ASM_CODE("861")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp1ATI))"\n" -"\t"STUB_ASM_CODE("856")"\n" +"\t"STUB_ASM_CODE("862")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp2ATI))"\n" -"\t"STUB_ASM_CODE("857")"\n" +"\t"STUB_ASM_CODE("863")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp3ATI))"\n" -"\t"STUB_ASM_CODE("858")"\n" +"\t"STUB_ASM_CODE("864")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("859")"\n" +"\t"STUB_ASM_CODE("865")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("860")"\n" +"\t"STUB_ASM_CODE("866")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp1ATI))"\n" -"\t"STUB_ASM_CODE("861")"\n" +"\t"STUB_ASM_CODE("867")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp2ATI))"\n" -"\t"STUB_ASM_CODE("862")"\n" +"\t"STUB_ASM_CODE("868")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp3ATI))"\n" -"\t"STUB_ASM_CODE("863")"\n" +"\t"STUB_ASM_CODE("869")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("864")"\n" +"\t"STUB_ASM_CODE("870")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("865")"\n" +"\t"STUB_ASM_CODE("871")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenFragmentShadersATI))"\n" -"\t"STUB_ASM_CODE("866")"\n" +"\t"STUB_ASM_CODE("872")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PassTexCoordATI))"\n" -"\t"STUB_ASM_CODE("867")"\n" +"\t"STUB_ASM_CODE("873")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SampleMapATI))"\n" -"\t"STUB_ASM_CODE("868")"\n" +"\t"STUB_ASM_CODE("874")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SetFragmentShaderConstantATI))"\n" -"\t"STUB_ASM_CODE("869")"\n" +"\t"STUB_ASM_CODE("875")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameteriNV))"\n" -"\t"STUB_ASM_CODE("870")"\n" +"\t"STUB_ASM_CODE("876")"\n" ".globl "GLAPI_PREFIX_STR(PointParameteri)"\n" ".set "GLAPI_PREFIX_STR(PointParameteri)", "GLAPI_PREFIX_STR(PointParameteriNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterivNV))"\n" -"\t"STUB_ASM_CODE("871")"\n" +"\t"STUB_ASM_CODE("877")"\n" ".globl "GLAPI_PREFIX_STR(PointParameteriv)"\n" ".set "GLAPI_PREFIX_STR(PointParameteriv)", "GLAPI_PREFIX_STR(PointParameterivNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteVertexArrays))"\n" -"\t"STUB_ASM_CODE("874")"\n" +"\t"STUB_ASM_CODE("880")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsVertexArray))"\n" -"\t"STUB_ASM_CODE("876")"\n" +"\t"STUB_ASM_CODE("882")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramNamedParameterdvNV))"\n" -"\t"STUB_ASM_CODE("877")"\n" +"\t"STUB_ASM_CODE("883")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramNamedParameterfvNV))"\n" -"\t"STUB_ASM_CODE("878")"\n" +"\t"STUB_ASM_CODE("884")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4dNV))"\n" -"\t"STUB_ASM_CODE("879")"\n" +"\t"STUB_ASM_CODE("885")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4dvNV))"\n" -"\t"STUB_ASM_CODE("880")"\n" +"\t"STUB_ASM_CODE("886")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4fNV))"\n" -"\t"STUB_ASM_CODE("881")"\n" +"\t"STUB_ASM_CODE("887")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4fvNV))"\n" -"\t"STUB_ASM_CODE("882")"\n" +"\t"STUB_ASM_CODE("888")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PrimitiveRestartIndexNV))"\n" -"\t"STUB_ASM_CODE("883")"\n" +"\t"STUB_ASM_CODE("889")"\n" ".globl "GLAPI_PREFIX_STR(PrimitiveRestartIndex)"\n" ".set "GLAPI_PREFIX_STR(PrimitiveRestartIndex)", "GLAPI_PREFIX_STR(PrimitiveRestartIndexNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PrimitiveRestartNV))"\n" -"\t"STUB_ASM_CODE("884")"\n" +"\t"STUB_ASM_CODE("890")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationSeparate))"\n" -"\t"STUB_ASM_CODE("932")"\n" +"\t"STUB_ASM_CODE("938")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFramebufferEXT))"\n" -"\t"STUB_ASM_CODE("933")"\n" +"\t"STUB_ASM_CODE("939")"\n" ".globl "GLAPI_PREFIX_STR(BindFramebuffer)"\n" ".set "GLAPI_PREFIX_STR(BindFramebuffer)", "GLAPI_PREFIX_STR(BindFramebufferEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindRenderbufferEXT))"\n" -"\t"STUB_ASM_CODE("934")"\n" +"\t"STUB_ASM_CODE("940")"\n" ".globl "GLAPI_PREFIX_STR(BindRenderbuffer)"\n" ".set "GLAPI_PREFIX_STR(BindRenderbuffer)", "GLAPI_PREFIX_STR(BindRenderbufferEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CheckFramebufferStatusEXT))"\n" -"\t"STUB_ASM_CODE("935")"\n" +"\t"STUB_ASM_CODE("941")"\n" ".globl "GLAPI_PREFIX_STR(CheckFramebufferStatus)"\n" ".set "GLAPI_PREFIX_STR(CheckFramebufferStatus)", "GLAPI_PREFIX_STR(CheckFramebufferStatusEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteFramebuffersEXT))"\n" -"\t"STUB_ASM_CODE("936")"\n" +"\t"STUB_ASM_CODE("942")"\n" ".globl "GLAPI_PREFIX_STR(DeleteFramebuffers)"\n" ".set "GLAPI_PREFIX_STR(DeleteFramebuffers)", "GLAPI_PREFIX_STR(DeleteFramebuffersEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteRenderbuffersEXT))"\n" -"\t"STUB_ASM_CODE("937")"\n" +"\t"STUB_ASM_CODE("943")"\n" ".globl "GLAPI_PREFIX_STR(DeleteRenderbuffers)"\n" ".set "GLAPI_PREFIX_STR(DeleteRenderbuffers)", "GLAPI_PREFIX_STR(DeleteRenderbuffersEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferRenderbufferEXT))"\n" -"\t"STUB_ASM_CODE("938")"\n" +"\t"STUB_ASM_CODE("944")"\n" ".globl "GLAPI_PREFIX_STR(FramebufferRenderbuffer)"\n" ".set "GLAPI_PREFIX_STR(FramebufferRenderbuffer)", "GLAPI_PREFIX_STR(FramebufferRenderbufferEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTexture1DEXT))"\n" -"\t"STUB_ASM_CODE("939")"\n" +"\t"STUB_ASM_CODE("945")"\n" ".globl "GLAPI_PREFIX_STR(FramebufferTexture1D)"\n" ".set "GLAPI_PREFIX_STR(FramebufferTexture1D)", "GLAPI_PREFIX_STR(FramebufferTexture1DEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTexture2DEXT))"\n" -"\t"STUB_ASM_CODE("940")"\n" +"\t"STUB_ASM_CODE("946")"\n" ".globl "GLAPI_PREFIX_STR(FramebufferTexture2D)"\n" ".set "GLAPI_PREFIX_STR(FramebufferTexture2D)", "GLAPI_PREFIX_STR(FramebufferTexture2DEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTexture3DEXT))"\n" -"\t"STUB_ASM_CODE("941")"\n" +"\t"STUB_ASM_CODE("947")"\n" ".globl "GLAPI_PREFIX_STR(FramebufferTexture3D)"\n" ".set "GLAPI_PREFIX_STR(FramebufferTexture3D)", "GLAPI_PREFIX_STR(FramebufferTexture3DEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenFramebuffersEXT))"\n" -"\t"STUB_ASM_CODE("942")"\n" +"\t"STUB_ASM_CODE("948")"\n" ".globl "GLAPI_PREFIX_STR(GenFramebuffers)"\n" ".set "GLAPI_PREFIX_STR(GenFramebuffers)", "GLAPI_PREFIX_STR(GenFramebuffersEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenRenderbuffersEXT))"\n" -"\t"STUB_ASM_CODE("943")"\n" +"\t"STUB_ASM_CODE("949")"\n" ".globl "GLAPI_PREFIX_STR(GenRenderbuffers)"\n" ".set "GLAPI_PREFIX_STR(GenRenderbuffers)", "GLAPI_PREFIX_STR(GenRenderbuffersEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenerateMipmapEXT))"\n" -"\t"STUB_ASM_CODE("944")"\n" +"\t"STUB_ASM_CODE("950")"\n" ".globl "GLAPI_PREFIX_STR(GenerateMipmap)"\n" ".set "GLAPI_PREFIX_STR(GenerateMipmap)", "GLAPI_PREFIX_STR(GenerateMipmapEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFramebufferAttachmentParameterivEXT))"\n" -"\t"STUB_ASM_CODE("945")"\n" +"\t"STUB_ASM_CODE("951")"\n" ".globl "GLAPI_PREFIX_STR(GetFramebufferAttachmentParameteriv)"\n" ".set "GLAPI_PREFIX_STR(GetFramebufferAttachmentParameteriv)", "GLAPI_PREFIX_STR(GetFramebufferAttachmentParameterivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetRenderbufferParameterivEXT))"\n" -"\t"STUB_ASM_CODE("946")"\n" +"\t"STUB_ASM_CODE("952")"\n" ".globl "GLAPI_PREFIX_STR(GetRenderbufferParameteriv)"\n" ".set "GLAPI_PREFIX_STR(GetRenderbufferParameteriv)", "GLAPI_PREFIX_STR(GetRenderbufferParameterivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsFramebufferEXT))"\n" -"\t"STUB_ASM_CODE("947")"\n" +"\t"STUB_ASM_CODE("953")"\n" ".globl "GLAPI_PREFIX_STR(IsFramebuffer)"\n" ".set "GLAPI_PREFIX_STR(IsFramebuffer)", "GLAPI_PREFIX_STR(IsFramebufferEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsRenderbufferEXT))"\n" -"\t"STUB_ASM_CODE("948")"\n" +"\t"STUB_ASM_CODE("954")"\n" ".globl "GLAPI_PREFIX_STR(IsRenderbuffer)"\n" ".set "GLAPI_PREFIX_STR(IsRenderbuffer)", "GLAPI_PREFIX_STR(IsRenderbufferEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RenderbufferStorageEXT))"\n" -"\t"STUB_ASM_CODE("949")"\n" +"\t"STUB_ASM_CODE("955")"\n" ".globl "GLAPI_PREFIX_STR(RenderbufferStorage)"\n" ".set "GLAPI_PREFIX_STR(RenderbufferStorage)", "GLAPI_PREFIX_STR(RenderbufferStorageEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlitFramebuffer))"\n" -"\t"STUB_ASM_CODE("950")"\n" +"\t"STUB_ASM_CODE("956")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFragDataLocationEXT))"\n" -"\t"STUB_ASM_CODE("953")"\n" +"\t"STUB_ASM_CODE("959")"\n" ".globl "GLAPI_PREFIX_STR(BindFragDataLocation)"\n" ".set "GLAPI_PREFIX_STR(BindFragDataLocation)", "GLAPI_PREFIX_STR(BindFragDataLocationEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFragDataLocationEXT))"\n" -"\t"STUB_ASM_CODE("954")"\n" +"\t"STUB_ASM_CODE("960")"\n" ".globl "GLAPI_PREFIX_STR(GetFragDataLocation)"\n" ".set "GLAPI_PREFIX_STR(GetFragDataLocation)", "GLAPI_PREFIX_STR(GetFragDataLocationEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetUniformuivEXT))"\n" -"\t"STUB_ASM_CODE("955")"\n" +"\t"STUB_ASM_CODE("961")"\n" ".globl "GLAPI_PREFIX_STR(GetUniformuiv)"\n" ".set "GLAPI_PREFIX_STR(GetUniformuiv)", "GLAPI_PREFIX_STR(GetUniformuivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribIivEXT))"\n" -"\t"STUB_ASM_CODE("956")"\n" +"\t"STUB_ASM_CODE("962")"\n" ".globl "GLAPI_PREFIX_STR(GetVertexAttribIiv)"\n" ".set "GLAPI_PREFIX_STR(GetVertexAttribIiv)", "GLAPI_PREFIX_STR(GetVertexAttribIivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribIuivEXT))"\n" -"\t"STUB_ASM_CODE("957")"\n" +"\t"STUB_ASM_CODE("963")"\n" ".globl "GLAPI_PREFIX_STR(GetVertexAttribIuiv)"\n" ".set "GLAPI_PREFIX_STR(GetVertexAttribIuiv)", "GLAPI_PREFIX_STR(GetVertexAttribIuivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1uiEXT))"\n" -"\t"STUB_ASM_CODE("958")"\n" +"\t"STUB_ASM_CODE("964")"\n" ".globl "GLAPI_PREFIX_STR(Uniform1ui)"\n" ".set "GLAPI_PREFIX_STR(Uniform1ui)", "GLAPI_PREFIX_STR(Uniform1uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform1uivEXT))"\n" -"\t"STUB_ASM_CODE("959")"\n" +"\t"STUB_ASM_CODE("965")"\n" ".globl "GLAPI_PREFIX_STR(Uniform1uiv)"\n" ".set "GLAPI_PREFIX_STR(Uniform1uiv)", "GLAPI_PREFIX_STR(Uniform1uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2uiEXT))"\n" -"\t"STUB_ASM_CODE("960")"\n" +"\t"STUB_ASM_CODE("966")"\n" ".globl "GLAPI_PREFIX_STR(Uniform2ui)"\n" ".set "GLAPI_PREFIX_STR(Uniform2ui)", "GLAPI_PREFIX_STR(Uniform2uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform2uivEXT))"\n" -"\t"STUB_ASM_CODE("961")"\n" +"\t"STUB_ASM_CODE("967")"\n" ".globl "GLAPI_PREFIX_STR(Uniform2uiv)"\n" ".set "GLAPI_PREFIX_STR(Uniform2uiv)", "GLAPI_PREFIX_STR(Uniform2uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3uiEXT))"\n" -"\t"STUB_ASM_CODE("962")"\n" +"\t"STUB_ASM_CODE("968")"\n" ".globl "GLAPI_PREFIX_STR(Uniform3ui)"\n" ".set "GLAPI_PREFIX_STR(Uniform3ui)", "GLAPI_PREFIX_STR(Uniform3uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform3uivEXT))"\n" -"\t"STUB_ASM_CODE("963")"\n" +"\t"STUB_ASM_CODE("969")"\n" ".globl "GLAPI_PREFIX_STR(Uniform3uiv)"\n" ".set "GLAPI_PREFIX_STR(Uniform3uiv)", "GLAPI_PREFIX_STR(Uniform3uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4uiEXT))"\n" -"\t"STUB_ASM_CODE("964")"\n" +"\t"STUB_ASM_CODE("970")"\n" ".globl "GLAPI_PREFIX_STR(Uniform4ui)"\n" ".set "GLAPI_PREFIX_STR(Uniform4ui)", "GLAPI_PREFIX_STR(Uniform4uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(Uniform4uivEXT))"\n" -"\t"STUB_ASM_CODE("965")"\n" +"\t"STUB_ASM_CODE("971")"\n" ".globl "GLAPI_PREFIX_STR(Uniform4uiv)"\n" ".set "GLAPI_PREFIX_STR(Uniform4uiv)", "GLAPI_PREFIX_STR(Uniform4uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1iEXT))"\n" -"\t"STUB_ASM_CODE("966")"\n" +"\t"STUB_ASM_CODE("972")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI1i)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI1i)", "GLAPI_PREFIX_STR(VertexAttribI1iEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1ivEXT))"\n" -"\t"STUB_ASM_CODE("967")"\n" +"\t"STUB_ASM_CODE("973")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI1iv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI1iv)", "GLAPI_PREFIX_STR(VertexAttribI1ivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1uiEXT))"\n" -"\t"STUB_ASM_CODE("968")"\n" +"\t"STUB_ASM_CODE("974")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI1ui)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI1ui)", "GLAPI_PREFIX_STR(VertexAttribI1uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI1uivEXT))"\n" -"\t"STUB_ASM_CODE("969")"\n" +"\t"STUB_ASM_CODE("975")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI1uiv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI1uiv)", "GLAPI_PREFIX_STR(VertexAttribI1uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2iEXT))"\n" -"\t"STUB_ASM_CODE("970")"\n" +"\t"STUB_ASM_CODE("976")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI2i)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI2i)", "GLAPI_PREFIX_STR(VertexAttribI2iEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2ivEXT))"\n" -"\t"STUB_ASM_CODE("971")"\n" +"\t"STUB_ASM_CODE("977")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI2iv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI2iv)", "GLAPI_PREFIX_STR(VertexAttribI2ivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2uiEXT))"\n" -"\t"STUB_ASM_CODE("972")"\n" +"\t"STUB_ASM_CODE("978")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI2ui)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI2ui)", "GLAPI_PREFIX_STR(VertexAttribI2uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI2uivEXT))"\n" -"\t"STUB_ASM_CODE("973")"\n" +"\t"STUB_ASM_CODE("979")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI2uiv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI2uiv)", "GLAPI_PREFIX_STR(VertexAttribI2uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3iEXT))"\n" -"\t"STUB_ASM_CODE("974")"\n" +"\t"STUB_ASM_CODE("980")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI3i)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI3i)", "GLAPI_PREFIX_STR(VertexAttribI3iEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3ivEXT))"\n" -"\t"STUB_ASM_CODE("975")"\n" +"\t"STUB_ASM_CODE("981")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI3iv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI3iv)", "GLAPI_PREFIX_STR(VertexAttribI3ivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3uiEXT))"\n" -"\t"STUB_ASM_CODE("976")"\n" +"\t"STUB_ASM_CODE("982")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI3ui)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI3ui)", "GLAPI_PREFIX_STR(VertexAttribI3uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI3uivEXT))"\n" -"\t"STUB_ASM_CODE("977")"\n" +"\t"STUB_ASM_CODE("983")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI3uiv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI3uiv)", "GLAPI_PREFIX_STR(VertexAttribI3uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4bvEXT))"\n" -"\t"STUB_ASM_CODE("978")"\n" +"\t"STUB_ASM_CODE("984")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4bv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4bv)", "GLAPI_PREFIX_STR(VertexAttribI4bvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4iEXT))"\n" -"\t"STUB_ASM_CODE("979")"\n" +"\t"STUB_ASM_CODE("985")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4i)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4i)", "GLAPI_PREFIX_STR(VertexAttribI4iEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4ivEXT))"\n" -"\t"STUB_ASM_CODE("980")"\n" +"\t"STUB_ASM_CODE("986")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4iv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4iv)", "GLAPI_PREFIX_STR(VertexAttribI4ivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4svEXT))"\n" -"\t"STUB_ASM_CODE("981")"\n" +"\t"STUB_ASM_CODE("987")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4sv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4sv)", "GLAPI_PREFIX_STR(VertexAttribI4svEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4ubvEXT))"\n" -"\t"STUB_ASM_CODE("982")"\n" +"\t"STUB_ASM_CODE("988")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4ubv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4ubv)", "GLAPI_PREFIX_STR(VertexAttribI4ubvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4uiEXT))"\n" -"\t"STUB_ASM_CODE("983")"\n" +"\t"STUB_ASM_CODE("989")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4ui)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4ui)", "GLAPI_PREFIX_STR(VertexAttribI4uiEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4uivEXT))"\n" -"\t"STUB_ASM_CODE("984")"\n" +"\t"STUB_ASM_CODE("990")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4uiv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4uiv)", "GLAPI_PREFIX_STR(VertexAttribI4uivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribI4usvEXT))"\n" -"\t"STUB_ASM_CODE("985")"\n" +"\t"STUB_ASM_CODE("991")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribI4usv)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribI4usv)", "GLAPI_PREFIX_STR(VertexAttribI4usvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribIPointerEXT))"\n" -"\t"STUB_ASM_CODE("986")"\n" +"\t"STUB_ASM_CODE("992")"\n" ".globl "GLAPI_PREFIX_STR(VertexAttribIPointer)"\n" ".set "GLAPI_PREFIX_STR(VertexAttribIPointer)", "GLAPI_PREFIX_STR(VertexAttribIPointerEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTextureLayerEXT))"\n" -"\t"STUB_ASM_CODE("987")"\n" +"\t"STUB_ASM_CODE("993")"\n" ".globl "GLAPI_PREFIX_STR(FramebufferTextureLayer)"\n" ".set "GLAPI_PREFIX_STR(FramebufferTextureLayer)", "GLAPI_PREFIX_STR(FramebufferTextureLayerEXT)"\n" @@ -13853,154 +13919,154 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FramebufferTextureLayerEXT))"\n" ".set "GLAPI_PREFIX_STR(FramebufferTextureLayerARB)", "GLAPI_PREFIX_STR(FramebufferTextureLayerEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorMaskIndexedEXT))"\n" -"\t"STUB_ASM_CODE("988")"\n" +"\t"STUB_ASM_CODE("994")"\n" ".globl "GLAPI_PREFIX_STR(ColorMaski)"\n" ".set "GLAPI_PREFIX_STR(ColorMaski)", "GLAPI_PREFIX_STR(ColorMaskIndexedEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DisableIndexedEXT))"\n" -"\t"STUB_ASM_CODE("989")"\n" +"\t"STUB_ASM_CODE("995")"\n" ".globl "GLAPI_PREFIX_STR(Disablei)"\n" ".set "GLAPI_PREFIX_STR(Disablei)", "GLAPI_PREFIX_STR(DisableIndexedEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EnableIndexedEXT))"\n" -"\t"STUB_ASM_CODE("990")"\n" +"\t"STUB_ASM_CODE("996")"\n" ".globl "GLAPI_PREFIX_STR(Enablei)"\n" ".set "GLAPI_PREFIX_STR(Enablei)", "GLAPI_PREFIX_STR(EnableIndexedEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetBooleanIndexedvEXT))"\n" -"\t"STUB_ASM_CODE("991")"\n" +"\t"STUB_ASM_CODE("997")"\n" ".globl "GLAPI_PREFIX_STR(GetBooleani_v)"\n" ".set "GLAPI_PREFIX_STR(GetBooleani_v)", "GLAPI_PREFIX_STR(GetBooleanIndexedvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetIntegerIndexedvEXT))"\n" -"\t"STUB_ASM_CODE("992")"\n" +"\t"STUB_ASM_CODE("998")"\n" ".globl "GLAPI_PREFIX_STR(GetIntegeri_v)"\n" ".set "GLAPI_PREFIX_STR(GetIntegeri_v)", "GLAPI_PREFIX_STR(GetIntegerIndexedvEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsEnabledIndexedEXT))"\n" -"\t"STUB_ASM_CODE("993")"\n" +"\t"STUB_ASM_CODE("999")"\n" ".globl "GLAPI_PREFIX_STR(IsEnabledi)"\n" ".set "GLAPI_PREFIX_STR(IsEnabledi)", "GLAPI_PREFIX_STR(IsEnabledIndexedEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearColorIiEXT))"\n" -"\t"STUB_ASM_CODE("994")"\n" +"\t"STUB_ASM_CODE("1000")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearColorIuiEXT))"\n" -"\t"STUB_ASM_CODE("995")"\n" +"\t"STUB_ASM_CODE("1001")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexParameterIivEXT))"\n" -"\t"STUB_ASM_CODE("996")"\n" +"\t"STUB_ASM_CODE("1002")"\n" ".globl "GLAPI_PREFIX_STR(GetTexParameterIiv)"\n" ".set "GLAPI_PREFIX_STR(GetTexParameterIiv)", "GLAPI_PREFIX_STR(GetTexParameterIivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexParameterIuivEXT))"\n" -"\t"STUB_ASM_CODE("997")"\n" +"\t"STUB_ASM_CODE("1003")"\n" ".globl "GLAPI_PREFIX_STR(GetTexParameterIuiv)"\n" ".set "GLAPI_PREFIX_STR(GetTexParameterIuiv)", "GLAPI_PREFIX_STR(GetTexParameterIuivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameterIivEXT))"\n" -"\t"STUB_ASM_CODE("998")"\n" +"\t"STUB_ASM_CODE("1004")"\n" ".globl "GLAPI_PREFIX_STR(TexParameterIiv)"\n" ".set "GLAPI_PREFIX_STR(TexParameterIiv)", "GLAPI_PREFIX_STR(TexParameterIivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexParameterIuivEXT))"\n" -"\t"STUB_ASM_CODE("999")"\n" +"\t"STUB_ASM_CODE("1005")"\n" ".globl "GLAPI_PREFIX_STR(TexParameterIuiv)"\n" ".set "GLAPI_PREFIX_STR(TexParameterIuiv)", "GLAPI_PREFIX_STR(TexParameterIuivEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginConditionalRenderNV))"\n" -"\t"STUB_ASM_CODE("1000")"\n" +"\t"STUB_ASM_CODE("1006")"\n" ".globl "GLAPI_PREFIX_STR(BeginConditionalRender)"\n" ".set "GLAPI_PREFIX_STR(BeginConditionalRender)", "GLAPI_PREFIX_STR(BeginConditionalRenderNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndConditionalRenderNV))"\n" -"\t"STUB_ASM_CODE("1001")"\n" +"\t"STUB_ASM_CODE("1007")"\n" ".globl "GLAPI_PREFIX_STR(EndConditionalRender)"\n" ".set "GLAPI_PREFIX_STR(EndConditionalRender)", "GLAPI_PREFIX_STR(EndConditionalRenderNV)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginTransformFeedbackEXT))"\n" -"\t"STUB_ASM_CODE("1002")"\n" +"\t"STUB_ASM_CODE("1008")"\n" ".globl "GLAPI_PREFIX_STR(BeginTransformFeedback)"\n" ".set "GLAPI_PREFIX_STR(BeginTransformFeedback)", "GLAPI_PREFIX_STR(BeginTransformFeedbackEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferBaseEXT))"\n" -"\t"STUB_ASM_CODE("1003")"\n" +"\t"STUB_ASM_CODE("1009")"\n" ".globl "GLAPI_PREFIX_STR(BindBufferBase)"\n" ".set "GLAPI_PREFIX_STR(BindBufferBase)", "GLAPI_PREFIX_STR(BindBufferBaseEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferOffsetEXT))"\n" -"\t"STUB_ASM_CODE("1004")"\n" +"\t"STUB_ASM_CODE("1010")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferRangeEXT))"\n" -"\t"STUB_ASM_CODE("1005")"\n" +"\t"STUB_ASM_CODE("1011")"\n" ".globl "GLAPI_PREFIX_STR(BindBufferRange)"\n" ".set "GLAPI_PREFIX_STR(BindBufferRange)", "GLAPI_PREFIX_STR(BindBufferRangeEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndTransformFeedbackEXT))"\n" -"\t"STUB_ASM_CODE("1006")"\n" +"\t"STUB_ASM_CODE("1012")"\n" ".globl "GLAPI_PREFIX_STR(EndTransformFeedback)"\n" ".set "GLAPI_PREFIX_STR(EndTransformFeedback)", "GLAPI_PREFIX_STR(EndTransformFeedbackEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTransformFeedbackVaryingEXT))"\n" -"\t"STUB_ASM_CODE("1007")"\n" +"\t"STUB_ASM_CODE("1013")"\n" ".globl "GLAPI_PREFIX_STR(GetTransformFeedbackVarying)"\n" ".set "GLAPI_PREFIX_STR(GetTransformFeedbackVarying)", "GLAPI_PREFIX_STR(GetTransformFeedbackVaryingEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TransformFeedbackVaryingsEXT))"\n" -"\t"STUB_ASM_CODE("1008")"\n" +"\t"STUB_ASM_CODE("1014")"\n" ".globl "GLAPI_PREFIX_STR(TransformFeedbackVaryings)"\n" ".set "GLAPI_PREFIX_STR(TransformFeedbackVaryings)", "GLAPI_PREFIX_STR(TransformFeedbackVaryingsEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProvokingVertexEXT))"\n" -"\t"STUB_ASM_CODE("1009")"\n" +"\t"STUB_ASM_CODE("1015")"\n" ".globl "GLAPI_PREFIX_STR(ProvokingVertex)"\n" ".set "GLAPI_PREFIX_STR(ProvokingVertex)", "GLAPI_PREFIX_STR(ProvokingVertexEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetObjectParameterivAPPLE))"\n" -"\t"STUB_ASM_CODE("1012")"\n" +"\t"STUB_ASM_CODE("1018")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ObjectPurgeableAPPLE))"\n" -"\t"STUB_ASM_CODE("1013")"\n" +"\t"STUB_ASM_CODE("1019")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ObjectUnpurgeableAPPLE))"\n" -"\t"STUB_ASM_CODE("1014")"\n" +"\t"STUB_ASM_CODE("1020")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ActiveProgramEXT))"\n" -"\t"STUB_ASM_CODE("1015")"\n" +"\t"STUB_ASM_CODE("1021")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CreateShaderProgramEXT))"\n" -"\t"STUB_ASM_CODE("1016")"\n" +"\t"STUB_ASM_CODE("1022")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UseShaderProgramEXT))"\n" -"\t"STUB_ASM_CODE("1017")"\n" +"\t"STUB_ASM_CODE("1023")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TextureBarrierNV))"\n" -"\t"STUB_ASM_CODE("1018")"\n" +"\t"STUB_ASM_CODE("1024")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EGLImageTargetRenderbufferStorageOES))"\n" -"\t"STUB_ASM_CODE("1024")"\n" +"\t"STUB_ASM_CODE("1030")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EGLImageTargetTexture2DOES))"\n" -"\t"STUB_ASM_CODE("1025")"\n" +"\t"STUB_ASM_CODE("1031")"\n" ); #undef MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN diff --git a/mesalib/src/mapi/glapi/glapi_sparc.S b/mesalib/src/mapi/glapi/glapi_sparc.S index 15b9e8737..004ea9f22 100644 --- a/mesalib/src/mapi/glapi/glapi_sparc.S +++ b/mesalib/src/mapi/glapi/glapi_sparc.S @@ -880,323 +880,329 @@ gl_dispatch_functions_start: GL_STUB(glGetnUniformivARB, 682) GL_STUB(glGetnUniformuivARB, 683) GL_STUB(glReadnPixelsARB, 684) - GL_STUB(glPolygonOffsetEXT, 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(glTexStorage1D, 685) + GL_STUB(glTexStorage2D, 686) + GL_STUB(glTexStorage3D, 687) + GL_STUB(glTextureStorage1DEXT, 688) + GL_STUB(glTextureStorage2DEXT, 689) + GL_STUB(glTextureStorage3DEXT, 690) + GL_STUB(glPolygonOffsetEXT, 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(glColorPointerEXT, 694) - GL_STUB(glEdgeFlagPointerEXT, 695) - GL_STUB(glIndexPointerEXT, 696) - GL_STUB(glNormalPointerEXT, 697) - GL_STUB(glTexCoordPointerEXT, 698) - GL_STUB(glVertexPointerEXT, 699) - GL_STUB(glPointParameterfEXT, 700) - GL_STUB(glPointParameterfvEXT, 701) - GL_STUB(glLockArraysEXT, 702) - GL_STUB(glUnlockArraysEXT, 703) - GL_STUB(glSecondaryColor3bEXT, 704) - GL_STUB(glSecondaryColor3bvEXT, 705) - GL_STUB(glSecondaryColor3dEXT, 706) - GL_STUB(glSecondaryColor3dvEXT, 707) - GL_STUB(glSecondaryColor3fEXT, 708) - GL_STUB(glSecondaryColor3fvEXT, 709) - GL_STUB(glSecondaryColor3iEXT, 710) - GL_STUB(glSecondaryColor3ivEXT, 711) - GL_STUB(glSecondaryColor3sEXT, 712) - GL_STUB(glSecondaryColor3svEXT, 713) - GL_STUB(glSecondaryColor3ubEXT, 714) - GL_STUB(glSecondaryColor3ubvEXT, 715) - GL_STUB(glSecondaryColor3uiEXT, 716) - GL_STUB(glSecondaryColor3uivEXT, 717) - GL_STUB(glSecondaryColor3usEXT, 718) - GL_STUB(glSecondaryColor3usvEXT, 719) - GL_STUB(glSecondaryColorPointerEXT, 720) - GL_STUB(glMultiDrawArraysEXT, 721) - GL_STUB(glMultiDrawElementsEXT, 722) - GL_STUB(glFogCoordPointerEXT, 723) - GL_STUB(glFogCoorddEXT, 724) - GL_STUB(glFogCoorddvEXT, 725) - GL_STUB(glFogCoordfEXT, 726) - GL_STUB(glFogCoordfvEXT, 727) - GL_STUB(gl_dispatch_stub_728, 728) - HIDDEN(gl_dispatch_stub_728) - GL_STUB(glBlendFuncSeparateEXT, 729) - GL_STUB(glFlushVertexArrayRangeNV, 730) - GL_STUB(glVertexArrayRangeNV, 731) - GL_STUB(glCombinerInputNV, 732) - GL_STUB(glCombinerOutputNV, 733) - GL_STUB(glCombinerParameterfNV, 734) - GL_STUB(glCombinerParameterfvNV, 735) - GL_STUB(glCombinerParameteriNV, 736) - GL_STUB(glCombinerParameterivNV, 737) - GL_STUB(glFinalCombinerInputNV, 738) - GL_STUB(glGetCombinerInputParameterfvNV, 739) - GL_STUB(glGetCombinerInputParameterivNV, 740) - GL_STUB(glGetCombinerOutputParameterfvNV, 741) - GL_STUB(glGetCombinerOutputParameterivNV, 742) - GL_STUB(glGetFinalCombinerInputParameterfvNV, 743) - GL_STUB(glGetFinalCombinerInputParameterivNV, 744) - GL_STUB(glResizeBuffersMESA, 745) - GL_STUB(glWindowPos2dMESA, 746) - GL_STUB(glWindowPos2dvMESA, 747) - GL_STUB(glWindowPos2fMESA, 748) - GL_STUB(glWindowPos2fvMESA, 749) - GL_STUB(glWindowPos2iMESA, 750) - GL_STUB(glWindowPos2ivMESA, 751) - GL_STUB(glWindowPos2sMESA, 752) - GL_STUB(glWindowPos2svMESA, 753) - GL_STUB(glWindowPos3dMESA, 754) - GL_STUB(glWindowPos3dvMESA, 755) - GL_STUB(glWindowPos3fMESA, 756) - GL_STUB(glWindowPos3fvMESA, 757) - GL_STUB(glWindowPos3iMESA, 758) - GL_STUB(glWindowPos3ivMESA, 759) - GL_STUB(glWindowPos3sMESA, 760) - GL_STUB(glWindowPos3svMESA, 761) - GL_STUB(glWindowPos4dMESA, 762) - GL_STUB(glWindowPos4dvMESA, 763) - GL_STUB(glWindowPos4fMESA, 764) - GL_STUB(glWindowPos4fvMESA, 765) - GL_STUB(glWindowPos4iMESA, 766) - GL_STUB(glWindowPos4ivMESA, 767) - GL_STUB(glWindowPos4sMESA, 768) - GL_STUB(glWindowPos4svMESA, 769) - GL_STUB(gl_dispatch_stub_770, 770) - HIDDEN(gl_dispatch_stub_770) - GL_STUB(gl_dispatch_stub_771, 771) - HIDDEN(gl_dispatch_stub_771) - GL_STUB(gl_dispatch_stub_772, 772) - HIDDEN(gl_dispatch_stub_772) - GL_STUB(gl_dispatch_stub_773, 773) - HIDDEN(gl_dispatch_stub_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_694, 694) + HIDDEN(gl_dispatch_stub_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(glColorPointerEXT, 700) + GL_STUB(glEdgeFlagPointerEXT, 701) + GL_STUB(glIndexPointerEXT, 702) + GL_STUB(glNormalPointerEXT, 703) + GL_STUB(glTexCoordPointerEXT, 704) + GL_STUB(glVertexPointerEXT, 705) + GL_STUB(glPointParameterfEXT, 706) + GL_STUB(glPointParameterfvEXT, 707) + GL_STUB(glLockArraysEXT, 708) + GL_STUB(glUnlockArraysEXT, 709) + GL_STUB(glSecondaryColor3bEXT, 710) + GL_STUB(glSecondaryColor3bvEXT, 711) + GL_STUB(glSecondaryColor3dEXT, 712) + GL_STUB(glSecondaryColor3dvEXT, 713) + GL_STUB(glSecondaryColor3fEXT, 714) + GL_STUB(glSecondaryColor3fvEXT, 715) + GL_STUB(glSecondaryColor3iEXT, 716) + GL_STUB(glSecondaryColor3ivEXT, 717) + GL_STUB(glSecondaryColor3sEXT, 718) + GL_STUB(glSecondaryColor3svEXT, 719) + GL_STUB(glSecondaryColor3ubEXT, 720) + GL_STUB(glSecondaryColor3ubvEXT, 721) + GL_STUB(glSecondaryColor3uiEXT, 722) + GL_STUB(glSecondaryColor3uivEXT, 723) + GL_STUB(glSecondaryColor3usEXT, 724) + GL_STUB(glSecondaryColor3usvEXT, 725) + GL_STUB(glSecondaryColorPointerEXT, 726) + GL_STUB(glMultiDrawArraysEXT, 727) + GL_STUB(glMultiDrawElementsEXT, 728) + GL_STUB(glFogCoordPointerEXT, 729) + GL_STUB(glFogCoorddEXT, 730) + GL_STUB(glFogCoorddvEXT, 731) + GL_STUB(glFogCoordfEXT, 732) + GL_STUB(glFogCoordfvEXT, 733) + GL_STUB(gl_dispatch_stub_734, 734) + HIDDEN(gl_dispatch_stub_734) + GL_STUB(glBlendFuncSeparateEXT, 735) + GL_STUB(glFlushVertexArrayRangeNV, 736) + GL_STUB(glVertexArrayRangeNV, 737) + GL_STUB(glCombinerInputNV, 738) + GL_STUB(glCombinerOutputNV, 739) + GL_STUB(glCombinerParameterfNV, 740) + GL_STUB(glCombinerParameterfvNV, 741) + GL_STUB(glCombinerParameteriNV, 742) + GL_STUB(glCombinerParameterivNV, 743) + GL_STUB(glFinalCombinerInputNV, 744) + GL_STUB(glGetCombinerInputParameterfvNV, 745) + GL_STUB(glGetCombinerInputParameterivNV, 746) + GL_STUB(glGetCombinerOutputParameterfvNV, 747) + GL_STUB(glGetCombinerOutputParameterivNV, 748) + GL_STUB(glGetFinalCombinerInputParameterfvNV, 749) + GL_STUB(glGetFinalCombinerInputParameterivNV, 750) + GL_STUB(glResizeBuffersMESA, 751) + GL_STUB(glWindowPos2dMESA, 752) + GL_STUB(glWindowPos2dvMESA, 753) + GL_STUB(glWindowPos2fMESA, 754) + GL_STUB(glWindowPos2fvMESA, 755) + GL_STUB(glWindowPos2iMESA, 756) + GL_STUB(glWindowPos2ivMESA, 757) + GL_STUB(glWindowPos2sMESA, 758) + GL_STUB(glWindowPos2svMESA, 759) + GL_STUB(glWindowPos3dMESA, 760) + GL_STUB(glWindowPos3dvMESA, 761) + GL_STUB(glWindowPos3fMESA, 762) + GL_STUB(glWindowPos3fvMESA, 763) + GL_STUB(glWindowPos3iMESA, 764) + GL_STUB(glWindowPos3ivMESA, 765) + GL_STUB(glWindowPos3sMESA, 766) + GL_STUB(glWindowPos3svMESA, 767) + GL_STUB(glWindowPos4dMESA, 768) + GL_STUB(glWindowPos4dvMESA, 769) + GL_STUB(glWindowPos4fMESA, 770) + GL_STUB(glWindowPos4fvMESA, 771) + GL_STUB(glWindowPos4iMESA, 772) + GL_STUB(glWindowPos4ivMESA, 773) + GL_STUB(glWindowPos4sMESA, 774) + GL_STUB(glWindowPos4svMESA, 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(glAreProgramsResidentNV, 779) - GL_STUB(glBindProgramNV, 780) - GL_STUB(glDeleteProgramsNV, 781) - GL_STUB(glExecuteProgramNV, 782) - GL_STUB(glGenProgramsNV, 783) - GL_STUB(glGetProgramParameterdvNV, 784) - GL_STUB(glGetProgramParameterfvNV, 785) - GL_STUB(glGetProgramStringNV, 786) - GL_STUB(glGetProgramivNV, 787) - GL_STUB(glGetTrackMatrixivNV, 788) - GL_STUB(glGetVertexAttribPointervNV, 789) - GL_STUB(glGetVertexAttribdvNV, 790) - GL_STUB(glGetVertexAttribfvNV, 791) - GL_STUB(glGetVertexAttribivNV, 792) - GL_STUB(glIsProgramNV, 793) - GL_STUB(glLoadProgramNV, 794) - GL_STUB(glProgramParameters4dvNV, 795) - GL_STUB(glProgramParameters4fvNV, 796) - GL_STUB(glRequestResidentProgramsNV, 797) - GL_STUB(glTrackMatrixNV, 798) - GL_STUB(glVertexAttrib1dNV, 799) - GL_STUB(glVertexAttrib1dvNV, 800) - GL_STUB(glVertexAttrib1fNV, 801) - GL_STUB(glVertexAttrib1fvNV, 802) - GL_STUB(glVertexAttrib1sNV, 803) - GL_STUB(glVertexAttrib1svNV, 804) - GL_STUB(glVertexAttrib2dNV, 805) - GL_STUB(glVertexAttrib2dvNV, 806) - GL_STUB(glVertexAttrib2fNV, 807) - GL_STUB(glVertexAttrib2fvNV, 808) - GL_STUB(glVertexAttrib2sNV, 809) - GL_STUB(glVertexAttrib2svNV, 810) - GL_STUB(glVertexAttrib3dNV, 811) - GL_STUB(glVertexAttrib3dvNV, 812) - GL_STUB(glVertexAttrib3fNV, 813) - GL_STUB(glVertexAttrib3fvNV, 814) - GL_STUB(glVertexAttrib3sNV, 815) - GL_STUB(glVertexAttrib3svNV, 816) - GL_STUB(glVertexAttrib4dNV, 817) - GL_STUB(glVertexAttrib4dvNV, 818) - GL_STUB(glVertexAttrib4fNV, 819) - GL_STUB(glVertexAttrib4fvNV, 820) - GL_STUB(glVertexAttrib4sNV, 821) - GL_STUB(glVertexAttrib4svNV, 822) - GL_STUB(glVertexAttrib4ubNV, 823) - GL_STUB(glVertexAttrib4ubvNV, 824) - GL_STUB(glVertexAttribPointerNV, 825) - GL_STUB(glVertexAttribs1dvNV, 826) - GL_STUB(glVertexAttribs1fvNV, 827) - GL_STUB(glVertexAttribs1svNV, 828) - GL_STUB(glVertexAttribs2dvNV, 829) - GL_STUB(glVertexAttribs2fvNV, 830) - GL_STUB(glVertexAttribs2svNV, 831) - GL_STUB(glVertexAttribs3dvNV, 832) - GL_STUB(glVertexAttribs3fvNV, 833) - GL_STUB(glVertexAttribs3svNV, 834) - GL_STUB(glVertexAttribs4dvNV, 835) - GL_STUB(glVertexAttribs4fvNV, 836) - GL_STUB(glVertexAttribs4svNV, 837) - GL_STUB(glVertexAttribs4ubvNV, 838) - GL_STUB(glGetTexBumpParameterfvATI, 839) - GL_STUB(glGetTexBumpParameterivATI, 840) - GL_STUB(glTexBumpParameterfvATI, 841) - GL_STUB(glTexBumpParameterivATI, 842) - GL_STUB(glAlphaFragmentOp1ATI, 843) - GL_STUB(glAlphaFragmentOp2ATI, 844) - GL_STUB(glAlphaFragmentOp3ATI, 845) - GL_STUB(glBeginFragmentShaderATI, 846) - GL_STUB(glBindFragmentShaderATI, 847) - GL_STUB(glColorFragmentOp1ATI, 848) - GL_STUB(glColorFragmentOp2ATI, 849) - GL_STUB(glColorFragmentOp3ATI, 850) - GL_STUB(glDeleteFragmentShaderATI, 851) - GL_STUB(glEndFragmentShaderATI, 852) - GL_STUB(glGenFragmentShadersATI, 853) - GL_STUB(glPassTexCoordATI, 854) - GL_STUB(glSampleMapATI, 855) - GL_STUB(glSetFragmentShaderConstantATI, 856) - GL_STUB(glPointParameteriNV, 857) - GL_STUB(glPointParameterivNV, 858) - GL_STUB(gl_dispatch_stub_859, 859) - HIDDEN(gl_dispatch_stub_859) - GL_STUB(gl_dispatch_stub_860, 860) - HIDDEN(gl_dispatch_stub_860) - GL_STUB(gl_dispatch_stub_861, 861) - HIDDEN(gl_dispatch_stub_861) - GL_STUB(gl_dispatch_stub_862, 862) - HIDDEN(gl_dispatch_stub_862) - GL_STUB(gl_dispatch_stub_863, 863) - HIDDEN(gl_dispatch_stub_863) - GL_STUB(glGetProgramNamedParameterdvNV, 864) - GL_STUB(glGetProgramNamedParameterfvNV, 865) - GL_STUB(glProgramNamedParameter4dNV, 866) - GL_STUB(glProgramNamedParameter4dvNV, 867) - GL_STUB(glProgramNamedParameter4fNV, 868) - GL_STUB(glProgramNamedParameter4fvNV, 869) - GL_STUB(glPrimitiveRestartIndexNV, 870) - GL_STUB(glPrimitiveRestartNV, 871) - GL_STUB(gl_dispatch_stub_872, 872) - HIDDEN(gl_dispatch_stub_872) - GL_STUB(gl_dispatch_stub_873, 873) - HIDDEN(gl_dispatch_stub_873) - GL_STUB(glBindFramebufferEXT, 874) - GL_STUB(glBindRenderbufferEXT, 875) - GL_STUB(glCheckFramebufferStatusEXT, 876) - GL_STUB(glDeleteFramebuffersEXT, 877) - GL_STUB(glDeleteRenderbuffersEXT, 878) - GL_STUB(glFramebufferRenderbufferEXT, 879) - GL_STUB(glFramebufferTexture1DEXT, 880) - GL_STUB(glFramebufferTexture2DEXT, 881) - GL_STUB(glFramebufferTexture3DEXT, 882) - GL_STUB(glGenFramebuffersEXT, 883) - GL_STUB(glGenRenderbuffersEXT, 884) - GL_STUB(glGenerateMipmapEXT, 885) - GL_STUB(glGetFramebufferAttachmentParameterivEXT, 886) - GL_STUB(glGetRenderbufferParameterivEXT, 887) - GL_STUB(glIsFramebufferEXT, 888) - GL_STUB(glIsRenderbufferEXT, 889) - GL_STUB(glRenderbufferStorageEXT, 890) - GL_STUB(gl_dispatch_stub_891, 891) - HIDDEN(gl_dispatch_stub_891) - GL_STUB(gl_dispatch_stub_892, 892) - HIDDEN(gl_dispatch_stub_892) - GL_STUB(gl_dispatch_stub_893, 893) - HIDDEN(gl_dispatch_stub_893) - GL_STUB(glBindFragDataLocationEXT, 894) - GL_STUB(glGetFragDataLocationEXT, 895) - GL_STUB(glGetUniformuivEXT, 896) - GL_STUB(glGetVertexAttribIivEXT, 897) - GL_STUB(glGetVertexAttribIuivEXT, 898) - GL_STUB(glUniform1uiEXT, 899) - GL_STUB(glUniform1uivEXT, 900) - GL_STUB(glUniform2uiEXT, 901) - GL_STUB(glUniform2uivEXT, 902) - GL_STUB(glUniform3uiEXT, 903) - GL_STUB(glUniform3uivEXT, 904) - GL_STUB(glUniform4uiEXT, 905) - GL_STUB(glUniform4uivEXT, 906) - GL_STUB(glVertexAttribI1iEXT, 907) - GL_STUB(glVertexAttribI1ivEXT, 908) - GL_STUB(glVertexAttribI1uiEXT, 909) - GL_STUB(glVertexAttribI1uivEXT, 910) - GL_STUB(glVertexAttribI2iEXT, 911) - GL_STUB(glVertexAttribI2ivEXT, 912) - GL_STUB(glVertexAttribI2uiEXT, 913) - GL_STUB(glVertexAttribI2uivEXT, 914) - GL_STUB(glVertexAttribI3iEXT, 915) - GL_STUB(glVertexAttribI3ivEXT, 916) - GL_STUB(glVertexAttribI3uiEXT, 917) - GL_STUB(glVertexAttribI3uivEXT, 918) - GL_STUB(glVertexAttribI4bvEXT, 919) - GL_STUB(glVertexAttribI4iEXT, 920) - GL_STUB(glVertexAttribI4ivEXT, 921) - GL_STUB(glVertexAttribI4svEXT, 922) - GL_STUB(glVertexAttribI4ubvEXT, 923) - GL_STUB(glVertexAttribI4uiEXT, 924) - GL_STUB(glVertexAttribI4uivEXT, 925) - GL_STUB(glVertexAttribI4usvEXT, 926) - GL_STUB(glVertexAttribIPointerEXT, 927) - GL_STUB(glFramebufferTextureLayerEXT, 928) - GL_STUB(glColorMaskIndexedEXT, 929) - GL_STUB(glDisableIndexedEXT, 930) - GL_STUB(glEnableIndexedEXT, 931) - GL_STUB(glGetBooleanIndexedvEXT, 932) - GL_STUB(glGetIntegerIndexedvEXT, 933) - GL_STUB(glIsEnabledIndexedEXT, 934) - GL_STUB(glClearColorIiEXT, 935) - GL_STUB(glClearColorIuiEXT, 936) - GL_STUB(glGetTexParameterIivEXT, 937) - GL_STUB(glGetTexParameterIuivEXT, 938) - GL_STUB(glTexParameterIivEXT, 939) - GL_STUB(glTexParameterIuivEXT, 940) - GL_STUB(glBeginConditionalRenderNV, 941) - GL_STUB(glEndConditionalRenderNV, 942) - GL_STUB(glBeginTransformFeedbackEXT, 943) - GL_STUB(glBindBufferBaseEXT, 944) - GL_STUB(glBindBufferOffsetEXT, 945) - GL_STUB(glBindBufferRangeEXT, 946) - GL_STUB(glEndTransformFeedbackEXT, 947) - GL_STUB(glGetTransformFeedbackVaryingEXT, 948) - GL_STUB(glTransformFeedbackVaryingsEXT, 949) - GL_STUB(glProvokingVertexEXT, 950) - GL_STUB(gl_dispatch_stub_951, 951) - HIDDEN(gl_dispatch_stub_951) - GL_STUB(gl_dispatch_stub_952, 952) - HIDDEN(gl_dispatch_stub_952) - GL_STUB(glGetObjectParameterivAPPLE, 953) - GL_STUB(glObjectPurgeableAPPLE, 954) - GL_STUB(glObjectUnpurgeableAPPLE, 955) - GL_STUB(glActiveProgramEXT, 956) - GL_STUB(glCreateShaderProgramEXT, 957) - GL_STUB(glUseShaderProgramEXT, 958) - GL_STUB(glTextureBarrierNV, 959) - GL_STUB(gl_dispatch_stub_960, 960) - HIDDEN(gl_dispatch_stub_960) - GL_STUB(gl_dispatch_stub_961, 961) - HIDDEN(gl_dispatch_stub_961) - GL_STUB(gl_dispatch_stub_962, 962) - HIDDEN(gl_dispatch_stub_962) - GL_STUB(gl_dispatch_stub_963, 963) - HIDDEN(gl_dispatch_stub_963) - GL_STUB(gl_dispatch_stub_964, 964) - HIDDEN(gl_dispatch_stub_964) - GL_STUB(glEGLImageTargetRenderbufferStorageOES, 965) - GL_STUB(glEGLImageTargetTexture2DOES, 966) + GL_STUB(gl_dispatch_stub_779, 779) + HIDDEN(gl_dispatch_stub_779) + GL_STUB(gl_dispatch_stub_780, 780) + HIDDEN(gl_dispatch_stub_780) + GL_STUB(gl_dispatch_stub_781, 781) + HIDDEN(gl_dispatch_stub_781) + GL_STUB(gl_dispatch_stub_782, 782) + HIDDEN(gl_dispatch_stub_782) + GL_STUB(gl_dispatch_stub_783, 783) + HIDDEN(gl_dispatch_stub_783) + GL_STUB(gl_dispatch_stub_784, 784) + HIDDEN(gl_dispatch_stub_784) + GL_STUB(glAreProgramsResidentNV, 785) + GL_STUB(glBindProgramNV, 786) + GL_STUB(glDeleteProgramsNV, 787) + GL_STUB(glExecuteProgramNV, 788) + GL_STUB(glGenProgramsNV, 789) + GL_STUB(glGetProgramParameterdvNV, 790) + GL_STUB(glGetProgramParameterfvNV, 791) + GL_STUB(glGetProgramStringNV, 792) + GL_STUB(glGetProgramivNV, 793) + GL_STUB(glGetTrackMatrixivNV, 794) + GL_STUB(glGetVertexAttribPointervNV, 795) + GL_STUB(glGetVertexAttribdvNV, 796) + GL_STUB(glGetVertexAttribfvNV, 797) + GL_STUB(glGetVertexAttribivNV, 798) + GL_STUB(glIsProgramNV, 799) + GL_STUB(glLoadProgramNV, 800) + GL_STUB(glProgramParameters4dvNV, 801) + GL_STUB(glProgramParameters4fvNV, 802) + GL_STUB(glRequestResidentProgramsNV, 803) + GL_STUB(glTrackMatrixNV, 804) + GL_STUB(glVertexAttrib1dNV, 805) + GL_STUB(glVertexAttrib1dvNV, 806) + GL_STUB(glVertexAttrib1fNV, 807) + GL_STUB(glVertexAttrib1fvNV, 808) + GL_STUB(glVertexAttrib1sNV, 809) + GL_STUB(glVertexAttrib1svNV, 810) + GL_STUB(glVertexAttrib2dNV, 811) + GL_STUB(glVertexAttrib2dvNV, 812) + GL_STUB(glVertexAttrib2fNV, 813) + GL_STUB(glVertexAttrib2fvNV, 814) + GL_STUB(glVertexAttrib2sNV, 815) + GL_STUB(glVertexAttrib2svNV, 816) + GL_STUB(glVertexAttrib3dNV, 817) + GL_STUB(glVertexAttrib3dvNV, 818) + GL_STUB(glVertexAttrib3fNV, 819) + GL_STUB(glVertexAttrib3fvNV, 820) + GL_STUB(glVertexAttrib3sNV, 821) + GL_STUB(glVertexAttrib3svNV, 822) + GL_STUB(glVertexAttrib4dNV, 823) + GL_STUB(glVertexAttrib4dvNV, 824) + GL_STUB(glVertexAttrib4fNV, 825) + GL_STUB(glVertexAttrib4fvNV, 826) + GL_STUB(glVertexAttrib4sNV, 827) + GL_STUB(glVertexAttrib4svNV, 828) + GL_STUB(glVertexAttrib4ubNV, 829) + GL_STUB(glVertexAttrib4ubvNV, 830) + GL_STUB(glVertexAttribPointerNV, 831) + GL_STUB(glVertexAttribs1dvNV, 832) + GL_STUB(glVertexAttribs1fvNV, 833) + GL_STUB(glVertexAttribs1svNV, 834) + GL_STUB(glVertexAttribs2dvNV, 835) + GL_STUB(glVertexAttribs2fvNV, 836) + GL_STUB(glVertexAttribs2svNV, 837) + GL_STUB(glVertexAttribs3dvNV, 838) + GL_STUB(glVertexAttribs3fvNV, 839) + GL_STUB(glVertexAttribs3svNV, 840) + GL_STUB(glVertexAttribs4dvNV, 841) + GL_STUB(glVertexAttribs4fvNV, 842) + GL_STUB(glVertexAttribs4svNV, 843) + GL_STUB(glVertexAttribs4ubvNV, 844) + GL_STUB(glGetTexBumpParameterfvATI, 845) + GL_STUB(glGetTexBumpParameterivATI, 846) + GL_STUB(glTexBumpParameterfvATI, 847) + GL_STUB(glTexBumpParameterivATI, 848) + GL_STUB(glAlphaFragmentOp1ATI, 849) + GL_STUB(glAlphaFragmentOp2ATI, 850) + GL_STUB(glAlphaFragmentOp3ATI, 851) + GL_STUB(glBeginFragmentShaderATI, 852) + GL_STUB(glBindFragmentShaderATI, 853) + GL_STUB(glColorFragmentOp1ATI, 854) + GL_STUB(glColorFragmentOp2ATI, 855) + GL_STUB(glColorFragmentOp3ATI, 856) + GL_STUB(glDeleteFragmentShaderATI, 857) + GL_STUB(glEndFragmentShaderATI, 858) + GL_STUB(glGenFragmentShadersATI, 859) + GL_STUB(glPassTexCoordATI, 860) + GL_STUB(glSampleMapATI, 861) + GL_STUB(glSetFragmentShaderConstantATI, 862) + GL_STUB(glPointParameteriNV, 863) + GL_STUB(glPointParameterivNV, 864) + GL_STUB(gl_dispatch_stub_865, 865) + HIDDEN(gl_dispatch_stub_865) + GL_STUB(gl_dispatch_stub_866, 866) + HIDDEN(gl_dispatch_stub_866) + GL_STUB(gl_dispatch_stub_867, 867) + HIDDEN(gl_dispatch_stub_867) + GL_STUB(gl_dispatch_stub_868, 868) + HIDDEN(gl_dispatch_stub_868) + GL_STUB(gl_dispatch_stub_869, 869) + HIDDEN(gl_dispatch_stub_869) + GL_STUB(glGetProgramNamedParameterdvNV, 870) + GL_STUB(glGetProgramNamedParameterfvNV, 871) + GL_STUB(glProgramNamedParameter4dNV, 872) + GL_STUB(glProgramNamedParameter4dvNV, 873) + GL_STUB(glProgramNamedParameter4fNV, 874) + GL_STUB(glProgramNamedParameter4fvNV, 875) + GL_STUB(glPrimitiveRestartIndexNV, 876) + GL_STUB(glPrimitiveRestartNV, 877) + GL_STUB(gl_dispatch_stub_878, 878) + HIDDEN(gl_dispatch_stub_878) + GL_STUB(gl_dispatch_stub_879, 879) + HIDDEN(gl_dispatch_stub_879) + GL_STUB(glBindFramebufferEXT, 880) + GL_STUB(glBindRenderbufferEXT, 881) + GL_STUB(glCheckFramebufferStatusEXT, 882) + GL_STUB(glDeleteFramebuffersEXT, 883) + GL_STUB(glDeleteRenderbuffersEXT, 884) + GL_STUB(glFramebufferRenderbufferEXT, 885) + GL_STUB(glFramebufferTexture1DEXT, 886) + GL_STUB(glFramebufferTexture2DEXT, 887) + GL_STUB(glFramebufferTexture3DEXT, 888) + GL_STUB(glGenFramebuffersEXT, 889) + GL_STUB(glGenRenderbuffersEXT, 890) + GL_STUB(glGenerateMipmapEXT, 891) + GL_STUB(glGetFramebufferAttachmentParameterivEXT, 892) + GL_STUB(glGetRenderbufferParameterivEXT, 893) + GL_STUB(glIsFramebufferEXT, 894) + GL_STUB(glIsRenderbufferEXT, 895) + GL_STUB(glRenderbufferStorageEXT, 896) + GL_STUB(gl_dispatch_stub_897, 897) + HIDDEN(gl_dispatch_stub_897) + GL_STUB(gl_dispatch_stub_898, 898) + HIDDEN(gl_dispatch_stub_898) + GL_STUB(gl_dispatch_stub_899, 899) + HIDDEN(gl_dispatch_stub_899) + GL_STUB(glBindFragDataLocationEXT, 900) + GL_STUB(glGetFragDataLocationEXT, 901) + GL_STUB(glGetUniformuivEXT, 902) + GL_STUB(glGetVertexAttribIivEXT, 903) + GL_STUB(glGetVertexAttribIuivEXT, 904) + GL_STUB(glUniform1uiEXT, 905) + GL_STUB(glUniform1uivEXT, 906) + GL_STUB(glUniform2uiEXT, 907) + GL_STUB(glUniform2uivEXT, 908) + GL_STUB(glUniform3uiEXT, 909) + GL_STUB(glUniform3uivEXT, 910) + GL_STUB(glUniform4uiEXT, 911) + GL_STUB(glUniform4uivEXT, 912) + GL_STUB(glVertexAttribI1iEXT, 913) + GL_STUB(glVertexAttribI1ivEXT, 914) + GL_STUB(glVertexAttribI1uiEXT, 915) + GL_STUB(glVertexAttribI1uivEXT, 916) + GL_STUB(glVertexAttribI2iEXT, 917) + GL_STUB(glVertexAttribI2ivEXT, 918) + GL_STUB(glVertexAttribI2uiEXT, 919) + GL_STUB(glVertexAttribI2uivEXT, 920) + GL_STUB(glVertexAttribI3iEXT, 921) + GL_STUB(glVertexAttribI3ivEXT, 922) + GL_STUB(glVertexAttribI3uiEXT, 923) + GL_STUB(glVertexAttribI3uivEXT, 924) + GL_STUB(glVertexAttribI4bvEXT, 925) + GL_STUB(glVertexAttribI4iEXT, 926) + GL_STUB(glVertexAttribI4ivEXT, 927) + GL_STUB(glVertexAttribI4svEXT, 928) + GL_STUB(glVertexAttribI4ubvEXT, 929) + GL_STUB(glVertexAttribI4uiEXT, 930) + GL_STUB(glVertexAttribI4uivEXT, 931) + GL_STUB(glVertexAttribI4usvEXT, 932) + GL_STUB(glVertexAttribIPointerEXT, 933) + GL_STUB(glFramebufferTextureLayerEXT, 934) + GL_STUB(glColorMaskIndexedEXT, 935) + GL_STUB(glDisableIndexedEXT, 936) + GL_STUB(glEnableIndexedEXT, 937) + GL_STUB(glGetBooleanIndexedvEXT, 938) + GL_STUB(glGetIntegerIndexedvEXT, 939) + GL_STUB(glIsEnabledIndexedEXT, 940) + GL_STUB(glClearColorIiEXT, 941) + GL_STUB(glClearColorIuiEXT, 942) + GL_STUB(glGetTexParameterIivEXT, 943) + GL_STUB(glGetTexParameterIuivEXT, 944) + GL_STUB(glTexParameterIivEXT, 945) + GL_STUB(glTexParameterIuivEXT, 946) + GL_STUB(glBeginConditionalRenderNV, 947) + GL_STUB(glEndConditionalRenderNV, 948) + GL_STUB(glBeginTransformFeedbackEXT, 949) + GL_STUB(glBindBufferBaseEXT, 950) + GL_STUB(glBindBufferOffsetEXT, 951) + GL_STUB(glBindBufferRangeEXT, 952) + GL_STUB(glEndTransformFeedbackEXT, 953) + GL_STUB(glGetTransformFeedbackVaryingEXT, 954) + GL_STUB(glTransformFeedbackVaryingsEXT, 955) + GL_STUB(glProvokingVertexEXT, 956) + GL_STUB(gl_dispatch_stub_957, 957) + HIDDEN(gl_dispatch_stub_957) + GL_STUB(gl_dispatch_stub_958, 958) + HIDDEN(gl_dispatch_stub_958) + GL_STUB(glGetObjectParameterivAPPLE, 959) + GL_STUB(glObjectPurgeableAPPLE, 960) + GL_STUB(glObjectUnpurgeableAPPLE, 961) + GL_STUB(glActiveProgramEXT, 962) + GL_STUB(glCreateShaderProgramEXT, 963) + GL_STUB(glUseShaderProgramEXT, 964) + GL_STUB(glTextureBarrierNV, 965) + GL_STUB(gl_dispatch_stub_966, 966) + HIDDEN(gl_dispatch_stub_966) + GL_STUB(gl_dispatch_stub_967, 967) + HIDDEN(gl_dispatch_stub_967) + GL_STUB(gl_dispatch_stub_968, 968) + HIDDEN(gl_dispatch_stub_968) + GL_STUB(gl_dispatch_stub_969, 969) + HIDDEN(gl_dispatch_stub_969) + GL_STUB(gl_dispatch_stub_970, 970) + HIDDEN(gl_dispatch_stub_970) + GL_STUB(glEGLImageTargetRenderbufferStorageOES, 971) + GL_STUB(glEGLImageTargetTexture2DOES, 972) GL_STUB_ALIAS(glArrayElementEXT, glArrayElement) GL_STUB_ALIAS(glBindTextureEXT, glBindTexture) GL_STUB_ALIAS(glDrawArraysEXT, glDrawArrays) diff --git a/mesalib/src/mapi/glapi/glapi_x86-64.S b/mesalib/src/mapi/glapi/glapi_x86-64.S index a1fbe74ab..5c3d15af6 100644 --- a/mesalib/src/mapi/glapi/glapi_x86-64.S +++ b/mesalib/src/mapi/glapi/glapi_x86-64.S @@ -26009,21 +26009,25 @@ GL_PREFIX(ReadnPixelsARB): .size GL_PREFIX(ReadnPixelsARB), .-GL_PREFIX(ReadnPixelsARB) .p2align 4,,15 - .globl GL_PREFIX(PolygonOffsetEXT) - .type GL_PREFIX(PolygonOffsetEXT), @function -GL_PREFIX(PolygonOffsetEXT): + .globl GL_PREFIX(TexStorage1D) + .type GL_PREFIX(TexStorage1D), @function +GL_PREFIX(TexStorage1D): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) - subq $24, %rsp - movq %xmm0, (%rsp) - movq %xmm1, 8(%rsp) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp call _x86_64_get_dispatch@PLT - movq 8(%rsp), %xmm1 - movq (%rsp), %xmm0 - addq $24, %rsp + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi movq 5480(%rax), %r11 jmp *%r11 #else @@ -26033,23 +26037,26 @@ GL_PREFIX(PolygonOffsetEXT): movq 5480(%rax), %r11 jmp *%r11 1: - subq $24, %rsp - movq %xmm0, (%rsp) - movq %xmm1, 8(%rsp) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %rbp call _glapi_get_dispatch - movq 8(%rsp), %xmm1 - movq (%rsp), %xmm0 - addq $24, %rsp + popq %rbp + popq %rcx + popq %rdx + popq %rsi + popq %rdi movq 5480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) + .size GL_PREFIX(TexStorage1D), .-GL_PREFIX(TexStorage1D) .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(TexStorage2D) + .type GL_PREFIX(TexStorage2D), @function +GL_PREFIX(TexStorage2D): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5488(%rax), %r11 @@ -26057,9 +26064,13 @@ GL_PREFIX(_dispatch_stub_686): #elif defined(PTHREADS) pushq %rdi pushq %rsi - pushq %rbp + pushq %rdx + pushq %rcx + pushq %r8 call _x86_64_get_dispatch@PLT - popq %rbp + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5488(%rax), %r11 @@ -26073,21 +26084,24 @@ GL_PREFIX(_dispatch_stub_686): 1: pushq %rdi pushq %rsi - pushq %rbp + pushq %rdx + pushq %rcx + pushq %r8 call _glapi_get_dispatch - popq %rbp + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_686), .-GL_PREFIX(_dispatch_stub_686) + .size GL_PREFIX(TexStorage2D), .-GL_PREFIX(TexStorage2D) .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(TexStorage3D) + .type GL_PREFIX(TexStorage3D), @function +GL_PREFIX(TexStorage3D): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5496(%rax), %r11 @@ -26095,9 +26109,17 @@ GL_PREFIX(_dispatch_stub_687): #elif defined(PTHREADS) pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5496(%rax), %r11 @@ -26111,33 +26133,44 @@ GL_PREFIX(_dispatch_stub_687): 1: pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _glapi_get_dispatch popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_687), .-GL_PREFIX(_dispatch_stub_687) + .size GL_PREFIX(TexStorage3D), .-GL_PREFIX(TexStorage3D) .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(TextureStorage1DEXT) + .type GL_PREFIX(TextureStorage1DEXT), @function +GL_PREFIX(TextureStorage1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) - subq $24, %rsp - movq %rdi, (%rsp) - movq %xmm0, 8(%rsp) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 call _x86_64_get_dispatch@PLT - movq 8(%rsp), %xmm0 - movq (%rsp), %rdi - addq $24, %rsp + popq %r8 + popq %rcx + popq %rdx + popq %rsi + popq %rdi movq 5504(%rax), %r11 jmp *%r11 #else @@ -26147,23 +26180,26 @@ GL_PREFIX(_dispatch_stub_688): movq 5504(%rax), %r11 jmp *%r11 1: - subq $24, %rsp - movq %rdi, (%rsp) - movq %xmm0, 8(%rsp) + pushq %rdi + pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 call _glapi_get_dispatch - movq 8(%rsp), %xmm0 - movq (%rsp), %rdi - addq $24, %rsp + popq %r8 + popq %rcx + popq %rdx + popq %rsi + popq %rdi movq 5504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_688), .-GL_PREFIX(_dispatch_stub_688) + .size GL_PREFIX(TextureStorage1DEXT), .-GL_PREFIX(TextureStorage1DEXT) .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(TextureStorage2DEXT) + .type GL_PREFIX(TextureStorage2DEXT), @function +GL_PREFIX(TextureStorage2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5512(%rax), %r11 @@ -26171,9 +26207,17 @@ GL_PREFIX(_dispatch_stub_689): #elif defined(PTHREADS) pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5512(%rax), %r11 @@ -26187,21 +26231,28 @@ GL_PREFIX(_dispatch_stub_689): 1: pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _glapi_get_dispatch popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_689), .-GL_PREFIX(_dispatch_stub_689) + .size GL_PREFIX(TextureStorage2DEXT), .-GL_PREFIX(TextureStorage2DEXT) .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(TextureStorage3DEXT) + .type GL_PREFIX(TextureStorage3DEXT), @function +GL_PREFIX(TextureStorage3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5520(%rax), %r11 @@ -26209,9 +26260,17 @@ GL_PREFIX(_dispatch_stub_690): #elif defined(PTHREADS) pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5520(%rax), %r11 @@ -26225,33 +26284,40 @@ GL_PREFIX(_dispatch_stub_690): 1: pushq %rdi pushq %rsi + pushq %rdx + pushq %rcx + pushq %r8 + pushq %r9 pushq %rbp call _glapi_get_dispatch popq %rbp + popq %r9 + popq %r8 + popq %rcx + popq %rdx popq %rsi popq %rdi movq 5520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_690), .-GL_PREFIX(_dispatch_stub_690) + .size GL_PREFIX(TextureStorage3DEXT), .-GL_PREFIX(TextureStorage3DEXT) .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(PolygonOffsetEXT) + .type GL_PREFIX(PolygonOffsetEXT), @function +GL_PREFIX(PolygonOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rbp + subq $24, %rsp + movq %xmm0, (%rsp) + movq %xmm1, 8(%rsp) call _x86_64_get_dispatch@PLT - popq %rbp - popq %rsi - popq %rdi + movq 8(%rsp), %xmm1 + movq (%rsp), %xmm0 + addq $24, %rsp movq 5528(%rax), %r11 jmp *%r11 #else @@ -26261,17 +26327,17 @@ GL_PREFIX(_dispatch_stub_691): movq 5528(%rax), %r11 jmp *%r11 1: - pushq %rdi - pushq %rsi - pushq %rbp + subq $24, %rsp + movq %xmm0, (%rsp) + movq %xmm1, 8(%rsp) call _glapi_get_dispatch - popq %rbp - popq %rsi - popq %rdi + movq 8(%rsp), %xmm1 + movq (%rsp), %xmm0 + addq $24, %rsp movq 5528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_691), .-GL_PREFIX(_dispatch_stub_691) + .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) .p2align 4,,15 .globl GL_PREFIX(_dispatch_stub_692) @@ -26322,7 +26388,11 @@ GL_PREFIX(_dispatch_stub_693): jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi popq %rdi movq 5544(%rax), %r11 jmp *%r11 @@ -26334,7 +26404,11 @@ GL_PREFIX(_dispatch_stub_693): jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rsi popq %rdi movq 5544(%rax), %r11 jmp *%r11 @@ -26342,12 +26416,232 @@ GL_PREFIX(_dispatch_stub_693): .size GL_PREFIX(_dispatch_stub_693), .-GL_PREFIX(_dispatch_stub_693) .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_694) + .type GL_PREFIX(_dispatch_stub_694), @function + HIDDEN(GL_PREFIX(_dispatch_stub_694)) +GL_PREFIX(_dispatch_stub_694): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 5552(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + subq $24, %rsp + movq %rdi, (%rsp) + movq %xmm0, 8(%rsp) + call _x86_64_get_dispatch@PLT + movq 8(%rsp), %xmm0 + movq (%rsp), %rdi + addq $24, %rsp + movq 5552(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5552(%rax), %r11 + jmp *%r11 +1: + subq $24, %rsp + movq %rdi, (%rsp) + movq %xmm0, 8(%rsp) + call _glapi_get_dispatch + movq 8(%rsp), %xmm0 + movq (%rsp), %rdi + addq $24, %rsp + movq 5552(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_694), .-GL_PREFIX(_dispatch_stub_694) + + .p2align 4,,15 + .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 5560(%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 5560(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5560(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 5560(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_695), .-GL_PREFIX(_dispatch_stub_695) + + .p2align 4,,15 + .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 5568(%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 5568(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5568(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 5568(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_696), .-GL_PREFIX(_dispatch_stub_696) + + .p2align 4,,15 + .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 5576(%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 5576(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5576(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 5576(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_697), .-GL_PREFIX(_dispatch_stub_697) + + .p2align 4,,15 + .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 5584(%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 5584(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5584(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rbp + call _glapi_get_dispatch + popq %rbp + popq %rsi + popq %rdi + movq 5584(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_698), .-GL_PREFIX(_dispatch_stub_698) + + .p2align 4,,15 + .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 5592(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 5592(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5592(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 5592(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_699), .-GL_PREFIX(_dispatch_stub_699) + + .p2align 4,,15 .globl GL_PREFIX(ColorPointerEXT) .type GL_PREFIX(ColorPointerEXT), @function GL_PREFIX(ColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5552(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26361,13 +26655,13 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5552(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26381,7 +26675,7 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorPointerEXT), .-GL_PREFIX(ColorPointerEXT) @@ -26392,7 +26686,7 @@ GL_PREFIX(ColorPointerEXT): GL_PREFIX(EdgeFlagPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5560(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26402,13 +26696,13 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5560(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26418,7 +26712,7 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5560(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EdgeFlagPointerEXT), .-GL_PREFIX(EdgeFlagPointerEXT) @@ -26429,7 +26723,7 @@ GL_PREFIX(EdgeFlagPointerEXT): GL_PREFIX(IndexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5568(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26443,13 +26737,13 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5568(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26463,7 +26757,7 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IndexPointerEXT), .-GL_PREFIX(IndexPointerEXT) @@ -26474,7 +26768,7 @@ GL_PREFIX(IndexPointerEXT): GL_PREFIX(NormalPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5576(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26488,13 +26782,13 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5576(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26508,7 +26802,7 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(NormalPointerEXT), .-GL_PREFIX(NormalPointerEXT) @@ -26519,7 +26813,7 @@ GL_PREFIX(NormalPointerEXT): GL_PREFIX(TexCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5584(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26533,13 +26827,13 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5584(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26553,7 +26847,7 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexCoordPointerEXT), .-GL_PREFIX(TexCoordPointerEXT) @@ -26564,7 +26858,7 @@ GL_PREFIX(TexCoordPointerEXT): GL_PREFIX(VertexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5592(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26578,13 +26872,13 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5592(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26598,7 +26892,7 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexPointerEXT), .-GL_PREFIX(VertexPointerEXT) @@ -26609,7 +26903,7 @@ GL_PREFIX(VertexPointerEXT): GL_PREFIX(PointParameterfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5600(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26619,13 +26913,13 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5600(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5600(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26635,7 +26929,7 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5600(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfEXT), .-GL_PREFIX(PointParameterfEXT) @@ -26646,7 +26940,7 @@ GL_PREFIX(PointParameterfEXT): GL_PREFIX(PointParameterfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5608(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26656,13 +26950,13 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5608(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26672,7 +26966,7 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfvEXT), .-GL_PREFIX(PointParameterfvEXT) @@ -26683,7 +26977,7 @@ GL_PREFIX(PointParameterfvEXT): GL_PREFIX(LockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5616(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26693,13 +26987,13 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5616(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26709,7 +27003,7 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LockArraysEXT), .-GL_PREFIX(LockArraysEXT) @@ -26720,25 +27014,25 @@ GL_PREFIX(LockArraysEXT): GL_PREFIX(UnlockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5624(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5624(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5624(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5624(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT) @@ -26749,7 +27043,7 @@ GL_PREFIX(UnlockArraysEXT): GL_PREFIX(SecondaryColor3bEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5632(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26759,13 +27053,13 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5632(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26775,7 +27069,7 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bEXT), .-GL_PREFIX(SecondaryColor3bEXT) @@ -26786,25 +27080,25 @@ GL_PREFIX(SecondaryColor3bEXT): GL_PREFIX(SecondaryColor3bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5640(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5640(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5640(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5640(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bvEXT), .-GL_PREFIX(SecondaryColor3bvEXT) @@ -26815,7 +27109,7 @@ GL_PREFIX(SecondaryColor3bvEXT): GL_PREFIX(SecondaryColor3dEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5648(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26827,13 +27121,13 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5648(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5648(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26845,7 +27139,7 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5648(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dEXT), .-GL_PREFIX(SecondaryColor3dEXT) @@ -26856,25 +27150,25 @@ GL_PREFIX(SecondaryColor3dEXT): GL_PREFIX(SecondaryColor3dvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5656(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5656(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5656(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5656(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dvEXT), .-GL_PREFIX(SecondaryColor3dvEXT) @@ -26885,7 +27179,7 @@ GL_PREFIX(SecondaryColor3dvEXT): GL_PREFIX(SecondaryColor3fEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5664(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26897,13 +27191,13 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5664(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5664(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26915,7 +27209,7 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5664(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fEXT), .-GL_PREFIX(SecondaryColor3fEXT) @@ -26926,25 +27220,25 @@ GL_PREFIX(SecondaryColor3fEXT): GL_PREFIX(SecondaryColor3fvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5672(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5672(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5672(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5672(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fvEXT), .-GL_PREFIX(SecondaryColor3fvEXT) @@ -26955,7 +27249,7 @@ GL_PREFIX(SecondaryColor3fvEXT): GL_PREFIX(SecondaryColor3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5680(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26965,13 +27259,13 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5680(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26981,7 +27275,7 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 5680(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3iEXT), .-GL_PREFIX(SecondaryColor3iEXT) @@ -26992,25 +27286,25 @@ GL_PREFIX(SecondaryColor3iEXT): GL_PREFIX(SecondaryColor3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5688(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5688(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5688(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5688(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ivEXT), .-GL_PREFIX(SecondaryColor3ivEXT) @@ -27021,7 +27315,7 @@ GL_PREFIX(SecondaryColor3ivEXT): GL_PREFIX(SecondaryColor3sEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5696(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27031,13 +27325,13 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5696(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27047,7 +27341,7 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 5696(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3sEXT), .-GL_PREFIX(SecondaryColor3sEXT) @@ -27058,25 +27352,25 @@ GL_PREFIX(SecondaryColor3sEXT): GL_PREFIX(SecondaryColor3svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5704(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5704(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5704(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5704(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3svEXT), .-GL_PREFIX(SecondaryColor3svEXT) @@ -27087,7 +27381,7 @@ GL_PREFIX(SecondaryColor3svEXT): GL_PREFIX(SecondaryColor3ubEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5712(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27097,13 +27391,13 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5712(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27113,7 +27407,7 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 5712(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubEXT), .-GL_PREFIX(SecondaryColor3ubEXT) @@ -27124,25 +27418,25 @@ GL_PREFIX(SecondaryColor3ubEXT): GL_PREFIX(SecondaryColor3ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5720(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5720(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5720(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5720(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubvEXT), .-GL_PREFIX(SecondaryColor3ubvEXT) @@ -27153,7 +27447,7 @@ GL_PREFIX(SecondaryColor3ubvEXT): GL_PREFIX(SecondaryColor3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5728(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27163,13 +27457,13 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5728(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27179,7 +27473,7 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 5728(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uiEXT), .-GL_PREFIX(SecondaryColor3uiEXT) @@ -27190,25 +27484,25 @@ GL_PREFIX(SecondaryColor3uiEXT): GL_PREFIX(SecondaryColor3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5736(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5736(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5736(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5736(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uivEXT), .-GL_PREFIX(SecondaryColor3uivEXT) @@ -27219,7 +27513,7 @@ GL_PREFIX(SecondaryColor3uivEXT): GL_PREFIX(SecondaryColor3usEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5744(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27229,13 +27523,13 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5744(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27245,7 +27539,7 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 5744(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usEXT), .-GL_PREFIX(SecondaryColor3usEXT) @@ -27256,25 +27550,25 @@ GL_PREFIX(SecondaryColor3usEXT): GL_PREFIX(SecondaryColor3usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5752(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5752(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5752(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5752(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usvEXT), .-GL_PREFIX(SecondaryColor3usvEXT) @@ -27285,7 +27579,7 @@ GL_PREFIX(SecondaryColor3usvEXT): GL_PREFIX(SecondaryColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5760(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27299,13 +27593,13 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5760(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27319,7 +27613,7 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5760(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColorPointerEXT), .-GL_PREFIX(SecondaryColorPointerEXT) @@ -27330,7 +27624,7 @@ GL_PREFIX(SecondaryColorPointerEXT): GL_PREFIX(MultiDrawArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5768(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27344,13 +27638,13 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5768(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27364,7 +27658,7 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawArraysEXT), .-GL_PREFIX(MultiDrawArraysEXT) @@ -27375,7 +27669,7 @@ GL_PREFIX(MultiDrawArraysEXT): GL_PREFIX(MultiDrawElementsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5776(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27389,13 +27683,13 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5776(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27409,7 +27703,7 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 5776(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsEXT), .-GL_PREFIX(MultiDrawElementsEXT) @@ -27420,7 +27714,7 @@ GL_PREFIX(MultiDrawElementsEXT): GL_PREFIX(FogCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5784(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27430,13 +27724,13 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5784(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27446,7 +27740,7 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5784(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordPointerEXT), .-GL_PREFIX(FogCoordPointerEXT) @@ -27457,7 +27751,7 @@ GL_PREFIX(FogCoordPointerEXT): GL_PREFIX(FogCoorddEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5792(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -27465,13 +27759,13 @@ GL_PREFIX(FogCoorddEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 5792(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5792(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -27479,7 +27773,7 @@ GL_PREFIX(FogCoorddEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 5792(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddEXT), .-GL_PREFIX(FogCoorddEXT) @@ -27490,25 +27784,25 @@ GL_PREFIX(FogCoorddEXT): GL_PREFIX(FogCoorddvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5800(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5800(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5800(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5800(%rax), %r11 + movq 5848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddvEXT), .-GL_PREFIX(FogCoorddvEXT) @@ -27519,7 +27813,7 @@ GL_PREFIX(FogCoorddvEXT): GL_PREFIX(FogCoordfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5808(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -27527,13 +27821,13 @@ GL_PREFIX(FogCoordfEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 5808(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5808(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -27541,7 +27835,7 @@ GL_PREFIX(FogCoordfEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 5808(%rax), %r11 + movq 5856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfEXT), .-GL_PREFIX(FogCoordfEXT) @@ -27552,58 +27846,58 @@ GL_PREFIX(FogCoordfEXT): GL_PREFIX(FogCoordfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5816(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5816(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5816(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5816(%rax), %r11 + movq 5864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_728) - .type GL_PREFIX(_dispatch_stub_728), @function - HIDDEN(GL_PREFIX(_dispatch_stub_728)) -GL_PREFIX(_dispatch_stub_728): + .globl GL_PREFIX(_dispatch_stub_734) + .type GL_PREFIX(_dispatch_stub_734), @function + HIDDEN(GL_PREFIX(_dispatch_stub_734)) +GL_PREFIX(_dispatch_stub_734): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5824(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5824(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5824(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5824(%rax), %r11 + movq 5872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_728), .-GL_PREFIX(_dispatch_stub_728) + .size GL_PREFIX(_dispatch_stub_734), .-GL_PREFIX(_dispatch_stub_734) .p2align 4,,15 .globl GL_PREFIX(BlendFuncSeparateEXT) @@ -27611,7 +27905,7 @@ GL_PREFIX(_dispatch_stub_728): GL_PREFIX(BlendFuncSeparateEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5832(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27625,13 +27919,13 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5832(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27645,7 +27939,7 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateEXT), .-GL_PREFIX(BlendFuncSeparateEXT) @@ -27656,25 +27950,25 @@ GL_PREFIX(BlendFuncSeparateEXT): GL_PREFIX(FlushVertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5840(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5840(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5840(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5840(%rax), %r11 + movq 5888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushVertexArrayRangeNV), .-GL_PREFIX(FlushVertexArrayRangeNV) @@ -27685,7 +27979,7 @@ GL_PREFIX(FlushVertexArrayRangeNV): GL_PREFIX(VertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5848(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27695,13 +27989,13 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5848(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27711,7 +28005,7 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5848(%rax), %r11 + movq 5896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexArrayRangeNV), .-GL_PREFIX(VertexArrayRangeNV) @@ -27722,7 +28016,7 @@ GL_PREFIX(VertexArrayRangeNV): GL_PREFIX(CombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5856(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27740,13 +28034,13 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5856(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27764,7 +28058,7 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5856(%rax), %r11 + movq 5904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerInputNV), .-GL_PREFIX(CombinerInputNV) @@ -27775,7 +28069,7 @@ GL_PREFIX(CombinerInputNV): GL_PREFIX(CombinerOutputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5864(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27793,13 +28087,13 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5864(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27817,7 +28111,7 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5864(%rax), %r11 + movq 5912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerOutputNV), .-GL_PREFIX(CombinerOutputNV) @@ -27828,7 +28122,7 @@ GL_PREFIX(CombinerOutputNV): GL_PREFIX(CombinerParameterfNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5872(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -27838,13 +28132,13 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5872(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5872(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -27854,7 +28148,7 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5872(%rax), %r11 + movq 5920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfNV), .-GL_PREFIX(CombinerParameterfNV) @@ -27865,7 +28159,7 @@ GL_PREFIX(CombinerParameterfNV): GL_PREFIX(CombinerParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5880(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27875,13 +28169,13 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5880(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27891,7 +28185,7 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5880(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfvNV), .-GL_PREFIX(CombinerParameterfvNV) @@ -27902,7 +28196,7 @@ GL_PREFIX(CombinerParameterfvNV): GL_PREFIX(CombinerParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5888(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27912,13 +28206,13 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5888(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27928,7 +28222,7 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5888(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameteriNV), .-GL_PREFIX(CombinerParameteriNV) @@ -27939,7 +28233,7 @@ GL_PREFIX(CombinerParameteriNV): GL_PREFIX(CombinerParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5896(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27949,13 +28243,13 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5896(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27965,7 +28259,7 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5896(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterivNV), .-GL_PREFIX(CombinerParameterivNV) @@ -27976,7 +28270,7 @@ GL_PREFIX(CombinerParameterivNV): GL_PREFIX(FinalCombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5904(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27990,13 +28284,13 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5904(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28010,7 +28304,7 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5904(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FinalCombinerInputNV), .-GL_PREFIX(FinalCombinerInputNV) @@ -28021,7 +28315,7 @@ GL_PREFIX(FinalCombinerInputNV): GL_PREFIX(GetCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5912(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28035,13 +28329,13 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5912(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28055,7 +28349,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5912(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterfvNV), .-GL_PREFIX(GetCombinerInputParameterfvNV) @@ -28066,7 +28360,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): GL_PREFIX(GetCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5920(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28080,13 +28374,13 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5920(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28100,7 +28394,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterivNV), .-GL_PREFIX(GetCombinerInputParameterivNV) @@ -28111,7 +28405,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): GL_PREFIX(GetCombinerOutputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5928(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28125,13 +28419,13 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5928(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28145,7 +28439,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterfvNV), .-GL_PREFIX(GetCombinerOutputParameterfvNV) @@ -28156,7 +28450,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): GL_PREFIX(GetCombinerOutputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5936(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28170,13 +28464,13 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5936(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28190,7 +28484,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterivNV), .-GL_PREFIX(GetCombinerOutputParameterivNV) @@ -28201,7 +28495,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): GL_PREFIX(GetFinalCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5944(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28211,13 +28505,13 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5944(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5944(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28227,7 +28521,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5944(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterfvNV), .-GL_PREFIX(GetFinalCombinerInputParameterfvNV) @@ -28238,7 +28532,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): GL_PREFIX(GetFinalCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5952(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28248,13 +28542,13 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5952(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28264,7 +28558,7 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterivNV), .-GL_PREFIX(GetFinalCombinerInputParameterivNV) @@ -28275,25 +28569,25 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): GL_PREFIX(ResizeBuffersMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5960(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5960(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5960(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5960(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResizeBuffersMESA), .-GL_PREFIX(ResizeBuffersMESA) @@ -28304,7 +28598,7 @@ GL_PREFIX(ResizeBuffersMESA): GL_PREFIX(WindowPos2dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5968(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -28314,13 +28608,13 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5968(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5968(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -28330,7 +28624,7 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5968(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dMESA), .-GL_PREFIX(WindowPos2dMESA) @@ -28341,25 +28635,25 @@ GL_PREFIX(WindowPos2dMESA): GL_PREFIX(WindowPos2dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5976(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5976(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5976(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5976(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dvMESA), .-GL_PREFIX(WindowPos2dvMESA) @@ -28370,7 +28664,7 @@ GL_PREFIX(WindowPos2dvMESA): GL_PREFIX(WindowPos2fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5984(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -28380,13 +28674,13 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5984(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5984(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -28396,7 +28690,7 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5984(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fMESA), .-GL_PREFIX(WindowPos2fMESA) @@ -28407,25 +28701,25 @@ GL_PREFIX(WindowPos2fMESA): GL_PREFIX(WindowPos2fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5992(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5992(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5992(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5992(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fvMESA), .-GL_PREFIX(WindowPos2fvMESA) @@ -28436,7 +28730,7 @@ GL_PREFIX(WindowPos2fvMESA): GL_PREFIX(WindowPos2iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6000(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28446,13 +28740,13 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6000(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28462,7 +28756,7 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2iMESA), .-GL_PREFIX(WindowPos2iMESA) @@ -28473,25 +28767,25 @@ GL_PREFIX(WindowPos2iMESA): GL_PREFIX(WindowPos2ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6008(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6008(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6008(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6008(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2ivMESA), .-GL_PREFIX(WindowPos2ivMESA) @@ -28502,7 +28796,7 @@ GL_PREFIX(WindowPos2ivMESA): GL_PREFIX(WindowPos2sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6016(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28512,13 +28806,13 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6016(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28528,7 +28822,7 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2sMESA), .-GL_PREFIX(WindowPos2sMESA) @@ -28539,25 +28833,25 @@ GL_PREFIX(WindowPos2sMESA): GL_PREFIX(WindowPos2svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6024(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6024(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6024(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6024(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2svMESA), .-GL_PREFIX(WindowPos2svMESA) @@ -28568,7 +28862,7 @@ GL_PREFIX(WindowPos2svMESA): GL_PREFIX(WindowPos3dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6032(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -28580,13 +28874,13 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 6032(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6032(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -28598,7 +28892,7 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 6032(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dMESA), .-GL_PREFIX(WindowPos3dMESA) @@ -28609,25 +28903,25 @@ GL_PREFIX(WindowPos3dMESA): GL_PREFIX(WindowPos3dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6040(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6040(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6040(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6040(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dvMESA), .-GL_PREFIX(WindowPos3dvMESA) @@ -28638,7 +28932,7 @@ GL_PREFIX(WindowPos3dvMESA): GL_PREFIX(WindowPos3fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6048(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -28650,13 +28944,13 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 6048(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6048(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -28668,7 +28962,7 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 6048(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fMESA), .-GL_PREFIX(WindowPos3fMESA) @@ -28679,25 +28973,25 @@ GL_PREFIX(WindowPos3fMESA): GL_PREFIX(WindowPos3fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6056(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6056(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6056(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6056(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fvMESA), .-GL_PREFIX(WindowPos3fvMESA) @@ -28708,7 +29002,7 @@ GL_PREFIX(WindowPos3fvMESA): GL_PREFIX(WindowPos3iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6064(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28718,13 +29012,13 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6064(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28734,7 +29028,7 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3iMESA), .-GL_PREFIX(WindowPos3iMESA) @@ -28745,25 +29039,25 @@ GL_PREFIX(WindowPos3iMESA): GL_PREFIX(WindowPos3ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6072(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6072(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6072(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6072(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3ivMESA), .-GL_PREFIX(WindowPos3ivMESA) @@ -28774,7 +29068,7 @@ GL_PREFIX(WindowPos3ivMESA): GL_PREFIX(WindowPos3sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6080(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28784,13 +29078,13 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6080(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28800,7 +29094,7 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 6080(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3sMESA), .-GL_PREFIX(WindowPos3sMESA) @@ -28811,25 +29105,25 @@ GL_PREFIX(WindowPos3sMESA): GL_PREFIX(WindowPos3svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6088(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6088(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6088(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6088(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3svMESA), .-GL_PREFIX(WindowPos3svMESA) @@ -28840,7 +29134,7 @@ GL_PREFIX(WindowPos3svMESA): GL_PREFIX(WindowPos4dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6096(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -28854,13 +29148,13 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 6096(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6096(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -28874,7 +29168,7 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 6096(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dMESA), .-GL_PREFIX(WindowPos4dMESA) @@ -28885,25 +29179,25 @@ GL_PREFIX(WindowPos4dMESA): GL_PREFIX(WindowPos4dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6104(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6104(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6104(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6104(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dvMESA), .-GL_PREFIX(WindowPos4dvMESA) @@ -28914,7 +29208,7 @@ GL_PREFIX(WindowPos4dvMESA): GL_PREFIX(WindowPos4fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6112(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -28928,13 +29222,13 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 6112(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6112(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -28948,7 +29242,7 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 6112(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fMESA), .-GL_PREFIX(WindowPos4fMESA) @@ -28959,25 +29253,25 @@ GL_PREFIX(WindowPos4fMESA): GL_PREFIX(WindowPos4fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6120(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6120(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6120(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6120(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fvMESA), .-GL_PREFIX(WindowPos4fvMESA) @@ -28988,7 +29282,7 @@ GL_PREFIX(WindowPos4fvMESA): GL_PREFIX(WindowPos4iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6128(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29002,13 +29296,13 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6128(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29022,7 +29316,7 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 6128(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4iMESA), .-GL_PREFIX(WindowPos4iMESA) @@ -29033,25 +29327,25 @@ GL_PREFIX(WindowPos4iMESA): GL_PREFIX(WindowPos4ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6136(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6136(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6136(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6136(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4ivMESA), .-GL_PREFIX(WindowPos4ivMESA) @@ -29062,7 +29356,7 @@ GL_PREFIX(WindowPos4ivMESA): GL_PREFIX(WindowPos4sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6144(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29076,13 +29370,13 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6144(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29096,7 +29390,7 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 6144(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4sMESA), .-GL_PREFIX(WindowPos4sMESA) @@ -29107,37 +29401,37 @@ GL_PREFIX(WindowPos4sMESA): GL_PREFIX(WindowPos4svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6152(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6152(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6152(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6152(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_770) - .type GL_PREFIX(_dispatch_stub_770), @function - HIDDEN(GL_PREFIX(_dispatch_stub_770)) -GL_PREFIX(_dispatch_stub_770): + .globl GL_PREFIX(_dispatch_stub_776) + .type GL_PREFIX(_dispatch_stub_776), @function + HIDDEN(GL_PREFIX(_dispatch_stub_776)) +GL_PREFIX(_dispatch_stub_776): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6160(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29151,13 +29445,13 @@ GL_PREFIX(_dispatch_stub_770): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6160(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29171,19 +29465,19 @@ GL_PREFIX(_dispatch_stub_770): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_770), .-GL_PREFIX(_dispatch_stub_770) + .size GL_PREFIX(_dispatch_stub_776), .-GL_PREFIX(_dispatch_stub_776) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_771) - .type GL_PREFIX(_dispatch_stub_771), @function - HIDDEN(GL_PREFIX(_dispatch_stub_771)) -GL_PREFIX(_dispatch_stub_771): + .globl GL_PREFIX(_dispatch_stub_777) + .type GL_PREFIX(_dispatch_stub_777), @function + HIDDEN(GL_PREFIX(_dispatch_stub_777)) +GL_PREFIX(_dispatch_stub_777): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6168(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29201,13 +29495,13 @@ GL_PREFIX(_dispatch_stub_771): popq %rdx popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6168(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29225,19 +29519,19 @@ GL_PREFIX(_dispatch_stub_771): popq %rdx popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_771), .-GL_PREFIX(_dispatch_stub_771) + .size GL_PREFIX(_dispatch_stub_777), .-GL_PREFIX(_dispatch_stub_777) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_772) - .type GL_PREFIX(_dispatch_stub_772), @function - HIDDEN(GL_PREFIX(_dispatch_stub_772)) -GL_PREFIX(_dispatch_stub_772): + .globl GL_PREFIX(_dispatch_stub_778) + .type GL_PREFIX(_dispatch_stub_778), @function + HIDDEN(GL_PREFIX(_dispatch_stub_778)) +GL_PREFIX(_dispatch_stub_778): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6176(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29247,13 +29541,13 @@ GL_PREFIX(_dispatch_stub_772): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6176(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29263,49 +29557,49 @@ GL_PREFIX(_dispatch_stub_772): popq %rbp popq %rsi popq %rdi - movq 6176(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_772), .-GL_PREFIX(_dispatch_stub_772) + .size GL_PREFIX(_dispatch_stub_778), .-GL_PREFIX(_dispatch_stub_778) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_773) - .type GL_PREFIX(_dispatch_stub_773), @function - HIDDEN(GL_PREFIX(_dispatch_stub_773)) -GL_PREFIX(_dispatch_stub_773): + .globl GL_PREFIX(_dispatch_stub_779) + .type GL_PREFIX(_dispatch_stub_779), @function + HIDDEN(GL_PREFIX(_dispatch_stub_779)) +GL_PREFIX(_dispatch_stub_779): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6184(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6184(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6184(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6184(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_773), .-GL_PREFIX(_dispatch_stub_773) + .size GL_PREFIX(_dispatch_stub_779), .-GL_PREFIX(_dispatch_stub_779) .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_780) + .type GL_PREFIX(_dispatch_stub_780), @function + HIDDEN(GL_PREFIX(_dispatch_stub_780)) +GL_PREFIX(_dispatch_stub_780): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6192(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29315,13 +29609,13 @@ GL_PREFIX(_dispatch_stub_774): popq %rbp popq %rsi popq %rdi - movq 6192(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6192(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29331,19 +29625,19 @@ GL_PREFIX(_dispatch_stub_774): popq %rbp popq %rsi popq %rdi - movq 6192(%rax), %r11 + movq 6240(%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_780), .-GL_PREFIX(_dispatch_stub_780) .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_781) + .type GL_PREFIX(_dispatch_stub_781), @function + HIDDEN(GL_PREFIX(_dispatch_stub_781)) +GL_PREFIX(_dispatch_stub_781): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6200(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29353,13 +29647,13 @@ GL_PREFIX(_dispatch_stub_775): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6200(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29369,49 +29663,49 @@ GL_PREFIX(_dispatch_stub_775): popq %rdx popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6248(%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_781), .-GL_PREFIX(_dispatch_stub_781) .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_782) + .type GL_PREFIX(_dispatch_stub_782), @function + HIDDEN(GL_PREFIX(_dispatch_stub_782)) +GL_PREFIX(_dispatch_stub_782): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6208(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6208(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6208(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6208(%rax), %r11 + movq 6256(%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_782), .-GL_PREFIX(_dispatch_stub_782) .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_783) + .type GL_PREFIX(_dispatch_stub_783), @function + HIDDEN(GL_PREFIX(_dispatch_stub_783)) +GL_PREFIX(_dispatch_stub_783): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6216(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29421,13 +29715,13 @@ GL_PREFIX(_dispatch_stub_777): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6216(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29437,40 +29731,40 @@ GL_PREFIX(_dispatch_stub_777): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6264(%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_783), .-GL_PREFIX(_dispatch_stub_783) .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_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 6224(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6224(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6224(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6224(%rax), %r11 + movq 6272(%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_784), .-GL_PREFIX(_dispatch_stub_784) .p2align 4,,15 .globl GL_PREFIX(AreProgramsResidentNV) @@ -29478,7 +29772,7 @@ GL_PREFIX(_dispatch_stub_778): GL_PREFIX(AreProgramsResidentNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6232(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29488,13 +29782,13 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6232(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29504,7 +29798,7 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AreProgramsResidentNV), .-GL_PREFIX(AreProgramsResidentNV) @@ -29515,7 +29809,7 @@ GL_PREFIX(AreProgramsResidentNV): GL_PREFIX(BindProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6240(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29525,13 +29819,13 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6240(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29541,7 +29835,7 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 6240(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindProgramNV), .-GL_PREFIX(BindProgramNV) @@ -29552,7 +29846,7 @@ GL_PREFIX(BindProgramNV): GL_PREFIX(DeleteProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6248(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29562,13 +29856,13 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6248(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29578,7 +29872,7 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteProgramsNV), .-GL_PREFIX(DeleteProgramsNV) @@ -29589,7 +29883,7 @@ GL_PREFIX(DeleteProgramsNV): GL_PREFIX(ExecuteProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6256(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29599,13 +29893,13 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6256(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29615,7 +29909,7 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ExecuteProgramNV), .-GL_PREFIX(ExecuteProgramNV) @@ -29626,7 +29920,7 @@ GL_PREFIX(ExecuteProgramNV): GL_PREFIX(GenProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6264(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29636,13 +29930,13 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6264(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29652,7 +29946,7 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenProgramsNV), .-GL_PREFIX(GenProgramsNV) @@ -29663,7 +29957,7 @@ GL_PREFIX(GenProgramsNV): GL_PREFIX(GetProgramParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6272(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29677,13 +29971,13 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6272(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29697,7 +29991,7 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterdvNV), .-GL_PREFIX(GetProgramParameterdvNV) @@ -29708,7 +30002,7 @@ GL_PREFIX(GetProgramParameterdvNV): GL_PREFIX(GetProgramParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6280(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29722,13 +30016,13 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6280(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29742,7 +30036,7 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterfvNV), .-GL_PREFIX(GetProgramParameterfvNV) @@ -29753,7 +30047,7 @@ GL_PREFIX(GetProgramParameterfvNV): GL_PREFIX(GetProgramStringNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6288(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29763,13 +30057,13 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6288(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29779,7 +30073,7 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringNV), .-GL_PREFIX(GetProgramStringNV) @@ -29790,7 +30084,7 @@ GL_PREFIX(GetProgramStringNV): GL_PREFIX(GetProgramivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6296(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29800,13 +30094,13 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6296(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29816,7 +30110,7 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivNV), .-GL_PREFIX(GetProgramivNV) @@ -29827,7 +30121,7 @@ GL_PREFIX(GetProgramivNV): GL_PREFIX(GetTrackMatrixivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6304(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29841,13 +30135,13 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6304(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29861,7 +30155,7 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTrackMatrixivNV), .-GL_PREFIX(GetTrackMatrixivNV) @@ -29872,7 +30166,7 @@ GL_PREFIX(GetTrackMatrixivNV): GL_PREFIX(GetVertexAttribPointervNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6312(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29882,13 +30176,13 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6312(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29898,7 +30192,7 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribPointervNV), .-GL_PREFIX(GetVertexAttribPointervNV) @@ -29909,7 +30203,7 @@ GL_PREFIX(GetVertexAttribPointervNV): GL_PREFIX(GetVertexAttribdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6320(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29919,13 +30213,13 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6320(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29935,7 +30229,7 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvNV), .-GL_PREFIX(GetVertexAttribdvNV) @@ -29946,7 +30240,7 @@ GL_PREFIX(GetVertexAttribdvNV): GL_PREFIX(GetVertexAttribfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6328(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29956,13 +30250,13 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6328(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29972,7 +30266,7 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvNV), .-GL_PREFIX(GetVertexAttribfvNV) @@ -29983,7 +30277,7 @@ GL_PREFIX(GetVertexAttribfvNV): GL_PREFIX(GetVertexAttribivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6336(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29993,13 +30287,13 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6336(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30009,7 +30303,7 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivNV), .-GL_PREFIX(GetVertexAttribivNV) @@ -30020,25 +30314,25 @@ GL_PREFIX(GetVertexAttribivNV): GL_PREFIX(IsProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6344(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6344(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6344(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6344(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsProgramNV), .-GL_PREFIX(IsProgramNV) @@ -30049,7 +30343,7 @@ GL_PREFIX(IsProgramNV): GL_PREFIX(LoadProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6352(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30063,13 +30357,13 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6352(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30083,7 +30377,7 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadProgramNV), .-GL_PREFIX(LoadProgramNV) @@ -30094,7 +30388,7 @@ GL_PREFIX(LoadProgramNV): GL_PREFIX(ProgramParameters4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6360(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30108,13 +30402,13 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6360(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30128,7 +30422,7 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4dvNV), .-GL_PREFIX(ProgramParameters4dvNV) @@ -30139,7 +30433,7 @@ GL_PREFIX(ProgramParameters4dvNV): GL_PREFIX(ProgramParameters4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6368(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30153,13 +30447,13 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 6368(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6368(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30173,7 +30467,7 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 6368(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4fvNV), .-GL_PREFIX(ProgramParameters4fvNV) @@ -30184,7 +30478,7 @@ GL_PREFIX(ProgramParameters4fvNV): GL_PREFIX(RequestResidentProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6376(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30194,13 +30488,13 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6376(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6376(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30210,7 +30504,7 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6376(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RequestResidentProgramsNV), .-GL_PREFIX(RequestResidentProgramsNV) @@ -30221,7 +30515,7 @@ GL_PREFIX(RequestResidentProgramsNV): GL_PREFIX(TrackMatrixNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6384(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30235,13 +30529,13 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6384(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30255,7 +30549,7 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TrackMatrixNV), .-GL_PREFIX(TrackMatrixNV) @@ -30266,7 +30560,7 @@ GL_PREFIX(TrackMatrixNV): GL_PREFIX(VertexAttrib1dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6392(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -30276,13 +30570,13 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6392(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6392(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -30292,7 +30586,7 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6392(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dNV), .-GL_PREFIX(VertexAttrib1dNV) @@ -30303,7 +30597,7 @@ GL_PREFIX(VertexAttrib1dNV): GL_PREFIX(VertexAttrib1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6400(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30313,13 +30607,13 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6400(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30329,7 +30623,7 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvNV), .-GL_PREFIX(VertexAttrib1dvNV) @@ -30340,7 +30634,7 @@ GL_PREFIX(VertexAttrib1dvNV): GL_PREFIX(VertexAttrib1fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6408(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -30350,13 +30644,13 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6408(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6408(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -30366,7 +30660,7 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6408(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fNV), .-GL_PREFIX(VertexAttrib1fNV) @@ -30377,7 +30671,7 @@ GL_PREFIX(VertexAttrib1fNV): GL_PREFIX(VertexAttrib1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6416(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30387,13 +30681,13 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6416(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30403,7 +30697,7 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvNV), .-GL_PREFIX(VertexAttrib1fvNV) @@ -30414,7 +30708,7 @@ GL_PREFIX(VertexAttrib1fvNV): GL_PREFIX(VertexAttrib1sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6424(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30424,13 +30718,13 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6424(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30440,7 +30734,7 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sNV), .-GL_PREFIX(VertexAttrib1sNV) @@ -30451,7 +30745,7 @@ GL_PREFIX(VertexAttrib1sNV): GL_PREFIX(VertexAttrib1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6432(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30461,13 +30755,13 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 6432(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6432(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30477,7 +30771,7 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 6432(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svNV), .-GL_PREFIX(VertexAttrib1svNV) @@ -30488,7 +30782,7 @@ GL_PREFIX(VertexAttrib1svNV): GL_PREFIX(VertexAttrib2dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6440(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -30500,13 +30794,13 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6440(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6440(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -30518,7 +30812,7 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6440(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dNV), .-GL_PREFIX(VertexAttrib2dNV) @@ -30529,7 +30823,7 @@ GL_PREFIX(VertexAttrib2dNV): GL_PREFIX(VertexAttrib2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6448(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30539,13 +30833,13 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6448(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30555,7 +30849,7 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvNV), .-GL_PREFIX(VertexAttrib2dvNV) @@ -30566,7 +30860,7 @@ GL_PREFIX(VertexAttrib2dvNV): GL_PREFIX(VertexAttrib2fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6456(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -30578,13 +30872,13 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6456(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6456(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -30596,7 +30890,7 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6456(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fNV), .-GL_PREFIX(VertexAttrib2fNV) @@ -30607,7 +30901,7 @@ GL_PREFIX(VertexAttrib2fNV): GL_PREFIX(VertexAttrib2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6464(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30617,13 +30911,13 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6464(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30633,7 +30927,7 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 6464(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvNV), .-GL_PREFIX(VertexAttrib2fvNV) @@ -30644,7 +30938,7 @@ GL_PREFIX(VertexAttrib2fvNV): GL_PREFIX(VertexAttrib2sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6472(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30654,13 +30948,13 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6472(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30670,7 +30964,7 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sNV), .-GL_PREFIX(VertexAttrib2sNV) @@ -30681,7 +30975,7 @@ GL_PREFIX(VertexAttrib2sNV): GL_PREFIX(VertexAttrib2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6480(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30691,13 +30985,13 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6480(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30707,7 +31001,7 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svNV), .-GL_PREFIX(VertexAttrib2svNV) @@ -30718,7 +31012,7 @@ GL_PREFIX(VertexAttrib2svNV): GL_PREFIX(VertexAttrib3dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6488(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -30732,13 +31026,13 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6488(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6488(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -30752,7 +31046,7 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6488(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dNV), .-GL_PREFIX(VertexAttrib3dNV) @@ -30763,7 +31057,7 @@ GL_PREFIX(VertexAttrib3dNV): GL_PREFIX(VertexAttrib3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6496(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30773,13 +31067,13 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 6496(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6496(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30789,7 +31083,7 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 6496(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvNV), .-GL_PREFIX(VertexAttrib3dvNV) @@ -30800,7 +31094,7 @@ GL_PREFIX(VertexAttrib3dvNV): GL_PREFIX(VertexAttrib3fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6504(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -30814,13 +31108,13 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6504(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6504(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -30834,7 +31128,7 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6504(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fNV), .-GL_PREFIX(VertexAttrib3fNV) @@ -30845,7 +31139,7 @@ GL_PREFIX(VertexAttrib3fNV): GL_PREFIX(VertexAttrib3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6512(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30855,13 +31149,13 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6512(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30871,7 +31165,7 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 6512(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvNV), .-GL_PREFIX(VertexAttrib3fvNV) @@ -30882,7 +31176,7 @@ GL_PREFIX(VertexAttrib3fvNV): GL_PREFIX(VertexAttrib3sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6520(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30896,13 +31190,13 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6520(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30916,7 +31210,7 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sNV), .-GL_PREFIX(VertexAttrib3sNV) @@ -30927,7 +31221,7 @@ GL_PREFIX(VertexAttrib3sNV): GL_PREFIX(VertexAttrib3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6528(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30937,13 +31231,13 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6528(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30953,7 +31247,7 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svNV), .-GL_PREFIX(VertexAttrib3svNV) @@ -30964,7 +31258,7 @@ GL_PREFIX(VertexAttrib3svNV): GL_PREFIX(VertexAttrib4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6536(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -30980,13 +31274,13 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6536(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6536(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -31002,7 +31296,7 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6536(%rax), %r11 + movq 6584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dNV), .-GL_PREFIX(VertexAttrib4dNV) @@ -31013,7 +31307,7 @@ GL_PREFIX(VertexAttrib4dNV): GL_PREFIX(VertexAttrib4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6544(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31023,13 +31317,13 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6544(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31039,7 +31333,7 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvNV), .-GL_PREFIX(VertexAttrib4dvNV) @@ -31050,7 +31344,7 @@ GL_PREFIX(VertexAttrib4dvNV): GL_PREFIX(VertexAttrib4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6552(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -31066,13 +31360,13 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6552(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6552(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -31088,7 +31382,7 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6552(%rax), %r11 + movq 6600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fNV), .-GL_PREFIX(VertexAttrib4fNV) @@ -31099,7 +31393,7 @@ GL_PREFIX(VertexAttrib4fNV): GL_PREFIX(VertexAttrib4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6560(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31109,13 +31403,13 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 6560(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6560(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31125,7 +31419,7 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 6560(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvNV), .-GL_PREFIX(VertexAttrib4fvNV) @@ -31136,7 +31430,7 @@ GL_PREFIX(VertexAttrib4fvNV): GL_PREFIX(VertexAttrib4sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6568(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31150,13 +31444,13 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 6568(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6568(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31170,7 +31464,7 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 6568(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sNV), .-GL_PREFIX(VertexAttrib4sNV) @@ -31181,7 +31475,7 @@ GL_PREFIX(VertexAttrib4sNV): GL_PREFIX(VertexAttrib4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6576(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31191,13 +31485,13 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 6576(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6576(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31207,7 +31501,7 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 6576(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svNV), .-GL_PREFIX(VertexAttrib4svNV) @@ -31218,7 +31512,7 @@ GL_PREFIX(VertexAttrib4svNV): GL_PREFIX(VertexAttrib4ubNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6584(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31232,13 +31526,13 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 6584(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6584(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31252,7 +31546,7 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 6584(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubNV), .-GL_PREFIX(VertexAttrib4ubNV) @@ -31263,7 +31557,7 @@ GL_PREFIX(VertexAttrib4ubNV): GL_PREFIX(VertexAttrib4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6592(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31273,13 +31567,13 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 6592(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6592(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31289,7 +31583,7 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 6592(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvNV), .-GL_PREFIX(VertexAttrib4ubvNV) @@ -31300,7 +31594,7 @@ GL_PREFIX(VertexAttrib4ubvNV): GL_PREFIX(VertexAttribPointerNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6600(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31314,13 +31608,13 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6600(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31334,7 +31628,7 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerNV), .-GL_PREFIX(VertexAttribPointerNV) @@ -31345,7 +31639,7 @@ GL_PREFIX(VertexAttribPointerNV): GL_PREFIX(VertexAttribs1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6608(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31355,13 +31649,13 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 6608(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6608(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31371,7 +31665,7 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 6608(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1dvNV), .-GL_PREFIX(VertexAttribs1dvNV) @@ -31382,7 +31676,7 @@ GL_PREFIX(VertexAttribs1dvNV): GL_PREFIX(VertexAttribs1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6616(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31392,13 +31686,13 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 6616(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6616(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31408,7 +31702,7 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 6616(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1fvNV), .-GL_PREFIX(VertexAttribs1fvNV) @@ -31419,7 +31713,7 @@ GL_PREFIX(VertexAttribs1fvNV): GL_PREFIX(VertexAttribs1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6624(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31429,13 +31723,13 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6624(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31445,7 +31739,7 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1svNV), .-GL_PREFIX(VertexAttribs1svNV) @@ -31456,7 +31750,7 @@ GL_PREFIX(VertexAttribs1svNV): GL_PREFIX(VertexAttribs2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6632(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31466,13 +31760,13 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 6632(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6632(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31482,7 +31776,7 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 6632(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2dvNV), .-GL_PREFIX(VertexAttribs2dvNV) @@ -31493,7 +31787,7 @@ GL_PREFIX(VertexAttribs2dvNV): GL_PREFIX(VertexAttribs2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6640(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31503,13 +31797,13 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6640(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31519,7 +31813,7 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2fvNV), .-GL_PREFIX(VertexAttribs2fvNV) @@ -31530,7 +31824,7 @@ GL_PREFIX(VertexAttribs2fvNV): GL_PREFIX(VertexAttribs2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6648(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31540,13 +31834,13 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 6648(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6648(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31556,7 +31850,7 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 6648(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2svNV), .-GL_PREFIX(VertexAttribs2svNV) @@ -31567,7 +31861,7 @@ GL_PREFIX(VertexAttribs2svNV): GL_PREFIX(VertexAttribs3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6656(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31577,13 +31871,13 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 6656(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6656(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31593,7 +31887,7 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 6656(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3dvNV), .-GL_PREFIX(VertexAttribs3dvNV) @@ -31604,7 +31898,7 @@ GL_PREFIX(VertexAttribs3dvNV): GL_PREFIX(VertexAttribs3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6664(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31614,13 +31908,13 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6664(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31630,7 +31924,7 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3fvNV), .-GL_PREFIX(VertexAttribs3fvNV) @@ -31641,7 +31935,7 @@ GL_PREFIX(VertexAttribs3fvNV): GL_PREFIX(VertexAttribs3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6672(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31651,13 +31945,13 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6672(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31667,7 +31961,7 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3svNV), .-GL_PREFIX(VertexAttribs3svNV) @@ -31678,7 +31972,7 @@ GL_PREFIX(VertexAttribs3svNV): GL_PREFIX(VertexAttribs4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6680(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31688,13 +31982,13 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6680(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31704,7 +31998,7 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4dvNV), .-GL_PREFIX(VertexAttribs4dvNV) @@ -31715,7 +32009,7 @@ GL_PREFIX(VertexAttribs4dvNV): GL_PREFIX(VertexAttribs4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6688(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31725,13 +32019,13 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 6688(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6688(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31741,7 +32035,7 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 6688(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4fvNV), .-GL_PREFIX(VertexAttribs4fvNV) @@ -31752,7 +32046,7 @@ GL_PREFIX(VertexAttribs4fvNV): GL_PREFIX(VertexAttribs4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6696(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31762,13 +32056,13 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 6696(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6696(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31778,7 +32072,7 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 6696(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4svNV), .-GL_PREFIX(VertexAttribs4svNV) @@ -31789,7 +32083,7 @@ GL_PREFIX(VertexAttribs4svNV): GL_PREFIX(VertexAttribs4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6704(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31799,13 +32093,13 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 6704(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6704(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31815,7 +32109,7 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 6704(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4ubvNV), .-GL_PREFIX(VertexAttribs4ubvNV) @@ -31826,7 +32120,7 @@ GL_PREFIX(VertexAttribs4ubvNV): GL_PREFIX(GetTexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6712(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31836,13 +32130,13 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6712(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6712(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31852,7 +32146,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6712(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterfvATI), .-GL_PREFIX(GetTexBumpParameterfvATI) @@ -31863,7 +32157,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): GL_PREFIX(GetTexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6720(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31873,13 +32167,13 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6720(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6720(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31889,7 +32183,7 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6720(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterivATI), .-GL_PREFIX(GetTexBumpParameterivATI) @@ -31900,7 +32194,7 @@ GL_PREFIX(GetTexBumpParameterivATI): GL_PREFIX(TexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6728(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31910,13 +32204,13 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6728(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6728(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31926,7 +32220,7 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6728(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterfvATI), .-GL_PREFIX(TexBumpParameterfvATI) @@ -31937,7 +32231,7 @@ GL_PREFIX(TexBumpParameterfvATI): GL_PREFIX(TexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6736(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31947,13 +32241,13 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6736(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6736(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31963,7 +32257,7 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6736(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterivATI), .-GL_PREFIX(TexBumpParameterivATI) @@ -31974,7 +32268,7 @@ GL_PREFIX(TexBumpParameterivATI): GL_PREFIX(AlphaFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6744(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31992,13 +32286,13 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6744(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6744(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32016,7 +32310,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6744(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp1ATI), .-GL_PREFIX(AlphaFragmentOp1ATI) @@ -32027,7 +32321,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): GL_PREFIX(AlphaFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6752(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32045,13 +32339,13 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6752(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6752(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32069,7 +32363,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6752(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp2ATI), .-GL_PREFIX(AlphaFragmentOp2ATI) @@ -32080,7 +32374,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): GL_PREFIX(AlphaFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6760(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32098,13 +32392,13 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6760(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6760(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32122,7 +32416,7 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6760(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp3ATI), .-GL_PREFIX(AlphaFragmentOp3ATI) @@ -32133,25 +32427,25 @@ GL_PREFIX(AlphaFragmentOp3ATI): GL_PREFIX(BeginFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6768(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6768(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6768(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6768(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginFragmentShaderATI), .-GL_PREFIX(BeginFragmentShaderATI) @@ -32162,25 +32456,25 @@ GL_PREFIX(BeginFragmentShaderATI): GL_PREFIX(BindFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6776(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6776(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6776(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6776(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragmentShaderATI), .-GL_PREFIX(BindFragmentShaderATI) @@ -32191,7 +32485,7 @@ GL_PREFIX(BindFragmentShaderATI): GL_PREFIX(ColorFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6784(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32209,13 +32503,13 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6784(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6784(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32233,7 +32527,7 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6784(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp1ATI), .-GL_PREFIX(ColorFragmentOp1ATI) @@ -32244,7 +32538,7 @@ GL_PREFIX(ColorFragmentOp1ATI): GL_PREFIX(ColorFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6792(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32262,13 +32556,13 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6792(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6792(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32286,7 +32580,7 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6792(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp2ATI), .-GL_PREFIX(ColorFragmentOp2ATI) @@ -32297,7 +32591,7 @@ GL_PREFIX(ColorFragmentOp2ATI): GL_PREFIX(ColorFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6800(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32315,13 +32609,13 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6800(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6800(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32339,7 +32633,7 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6800(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp3ATI), .-GL_PREFIX(ColorFragmentOp3ATI) @@ -32350,25 +32644,25 @@ GL_PREFIX(ColorFragmentOp3ATI): GL_PREFIX(DeleteFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6808(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6808(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6808(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6808(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFragmentShaderATI), .-GL_PREFIX(DeleteFragmentShaderATI) @@ -32379,25 +32673,25 @@ GL_PREFIX(DeleteFragmentShaderATI): GL_PREFIX(EndFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6816(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6816(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6816(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6816(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndFragmentShaderATI), .-GL_PREFIX(EndFragmentShaderATI) @@ -32408,25 +32702,25 @@ GL_PREFIX(EndFragmentShaderATI): GL_PREFIX(GenFragmentShadersATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6824(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6824(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6824(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6824(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFragmentShadersATI), .-GL_PREFIX(GenFragmentShadersATI) @@ -32437,7 +32731,7 @@ GL_PREFIX(GenFragmentShadersATI): GL_PREFIX(PassTexCoordATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6832(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32447,13 +32741,13 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6832(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6832(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32463,7 +32757,7 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6832(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PassTexCoordATI), .-GL_PREFIX(PassTexCoordATI) @@ -32474,7 +32768,7 @@ GL_PREFIX(PassTexCoordATI): GL_PREFIX(SampleMapATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6840(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32484,13 +32778,13 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6840(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6840(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32500,7 +32794,7 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6840(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleMapATI), .-GL_PREFIX(SampleMapATI) @@ -32511,7 +32805,7 @@ GL_PREFIX(SampleMapATI): GL_PREFIX(SetFragmentShaderConstantATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6848(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32521,13 +32815,13 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6848(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6848(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32537,7 +32831,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6848(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SetFragmentShaderConstantATI), .-GL_PREFIX(SetFragmentShaderConstantATI) @@ -32548,7 +32842,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): GL_PREFIX(PointParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6856(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32558,13 +32852,13 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6856(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6856(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32574,7 +32868,7 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6856(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameteriNV), .-GL_PREFIX(PointParameteriNV) @@ -32585,7 +32879,7 @@ GL_PREFIX(PointParameteriNV): GL_PREFIX(PointParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6864(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32595,13 +32889,13 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6864(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6864(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32611,79 +32905,79 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6864(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_859) - .type GL_PREFIX(_dispatch_stub_859), @function - HIDDEN(GL_PREFIX(_dispatch_stub_859)) -GL_PREFIX(_dispatch_stub_859): + .globl GL_PREFIX(_dispatch_stub_865) + .type GL_PREFIX(_dispatch_stub_865), @function + HIDDEN(GL_PREFIX(_dispatch_stub_865)) +GL_PREFIX(_dispatch_stub_865): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6872(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6872(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6872(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6872(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_859), .-GL_PREFIX(_dispatch_stub_859) + .size GL_PREFIX(_dispatch_stub_865), .-GL_PREFIX(_dispatch_stub_865) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_860) - .type GL_PREFIX(_dispatch_stub_860), @function - HIDDEN(GL_PREFIX(_dispatch_stub_860)) -GL_PREFIX(_dispatch_stub_860): + .globl GL_PREFIX(_dispatch_stub_866) + .type GL_PREFIX(_dispatch_stub_866), @function + HIDDEN(GL_PREFIX(_dispatch_stub_866)) +GL_PREFIX(_dispatch_stub_866): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6880(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6880(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6880(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6880(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_860), .-GL_PREFIX(_dispatch_stub_860) + .size GL_PREFIX(_dispatch_stub_866), .-GL_PREFIX(_dispatch_stub_866) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_861) - .type GL_PREFIX(_dispatch_stub_861), @function - HIDDEN(GL_PREFIX(_dispatch_stub_861)) -GL_PREFIX(_dispatch_stub_861): + .globl GL_PREFIX(_dispatch_stub_867) + .type GL_PREFIX(_dispatch_stub_867), @function + HIDDEN(GL_PREFIX(_dispatch_stub_867)) +GL_PREFIX(_dispatch_stub_867): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6888(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32693,13 +32987,13 @@ GL_PREFIX(_dispatch_stub_861): popq %rbp popq %rsi popq %rdi - movq 6888(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6888(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32709,19 +33003,19 @@ GL_PREFIX(_dispatch_stub_861): popq %rbp popq %rsi popq %rdi - movq 6888(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_861), .-GL_PREFIX(_dispatch_stub_861) + .size GL_PREFIX(_dispatch_stub_867), .-GL_PREFIX(_dispatch_stub_867) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_862) - .type GL_PREFIX(_dispatch_stub_862), @function - HIDDEN(GL_PREFIX(_dispatch_stub_862)) -GL_PREFIX(_dispatch_stub_862): + .globl GL_PREFIX(_dispatch_stub_868) + .type GL_PREFIX(_dispatch_stub_868), @function + HIDDEN(GL_PREFIX(_dispatch_stub_868)) +GL_PREFIX(_dispatch_stub_868): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6896(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32731,13 +33025,13 @@ GL_PREFIX(_dispatch_stub_862): popq %rbp popq %rsi popq %rdi - movq 6896(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6896(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32747,40 +33041,40 @@ GL_PREFIX(_dispatch_stub_862): popq %rbp popq %rsi popq %rdi - movq 6896(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_862), .-GL_PREFIX(_dispatch_stub_862) + .size GL_PREFIX(_dispatch_stub_868), .-GL_PREFIX(_dispatch_stub_868) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_863) - .type GL_PREFIX(_dispatch_stub_863), @function - HIDDEN(GL_PREFIX(_dispatch_stub_863)) -GL_PREFIX(_dispatch_stub_863): + .globl GL_PREFIX(_dispatch_stub_869) + .type GL_PREFIX(_dispatch_stub_869), @function + HIDDEN(GL_PREFIX(_dispatch_stub_869)) +GL_PREFIX(_dispatch_stub_869): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6904(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6904(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6904(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6904(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_863), .-GL_PREFIX(_dispatch_stub_863) + .size GL_PREFIX(_dispatch_stub_869), .-GL_PREFIX(_dispatch_stub_869) .p2align 4,,15 .globl GL_PREFIX(GetProgramNamedParameterdvNV) @@ -32788,7 +33082,7 @@ GL_PREFIX(_dispatch_stub_863): GL_PREFIX(GetProgramNamedParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6912(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32802,13 +33096,13 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6912(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6912(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32822,7 +33116,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6912(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterdvNV), .-GL_PREFIX(GetProgramNamedParameterdvNV) @@ -32833,7 +33127,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): GL_PREFIX(GetProgramNamedParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6920(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32847,13 +33141,13 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6920(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6920(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32867,7 +33161,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6920(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterfvNV), .-GL_PREFIX(GetProgramNamedParameterfvNV) @@ -32878,7 +33172,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): GL_PREFIX(ProgramNamedParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6928(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -32898,13 +33192,13 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6928(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6928(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -32924,7 +33218,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6928(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dNV), .-GL_PREFIX(ProgramNamedParameter4dNV) @@ -32935,7 +33229,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): GL_PREFIX(ProgramNamedParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6936(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32949,13 +33243,13 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6936(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6936(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32969,7 +33263,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6936(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dvNV), .-GL_PREFIX(ProgramNamedParameter4dvNV) @@ -32980,7 +33274,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): GL_PREFIX(ProgramNamedParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6944(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -33000,13 +33294,13 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6944(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6944(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -33026,7 +33320,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6944(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fNV), .-GL_PREFIX(ProgramNamedParameter4fNV) @@ -33037,7 +33331,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): GL_PREFIX(ProgramNamedParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6952(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33051,13 +33345,13 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6952(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6952(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33071,7 +33365,7 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6952(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV) @@ -33082,25 +33376,25 @@ GL_PREFIX(ProgramNamedParameter4fvNV): GL_PREFIX(PrimitiveRestartIndexNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6960(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6960(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6960(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6960(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PrimitiveRestartIndexNV), .-GL_PREFIX(PrimitiveRestartIndexNV) @@ -33111,37 +33405,37 @@ GL_PREFIX(PrimitiveRestartIndexNV): GL_PREFIX(PrimitiveRestartNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6968(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6968(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6968(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6968(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PrimitiveRestartNV), .-GL_PREFIX(PrimitiveRestartNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_872) - .type GL_PREFIX(_dispatch_stub_872), @function - HIDDEN(GL_PREFIX(_dispatch_stub_872)) -GL_PREFIX(_dispatch_stub_872): + .globl GL_PREFIX(_dispatch_stub_878) + .type GL_PREFIX(_dispatch_stub_878), @function + HIDDEN(GL_PREFIX(_dispatch_stub_878)) +GL_PREFIX(_dispatch_stub_878): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6976(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33151,13 +33445,13 @@ GL_PREFIX(_dispatch_stub_872): popq %rbp popq %rsi popq %rdi - movq 6976(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6976(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33167,19 +33461,19 @@ GL_PREFIX(_dispatch_stub_872): popq %rbp popq %rsi popq %rdi - movq 6976(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_872), .-GL_PREFIX(_dispatch_stub_872) + .size GL_PREFIX(_dispatch_stub_878), .-GL_PREFIX(_dispatch_stub_878) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_873) - .type GL_PREFIX(_dispatch_stub_873), @function - HIDDEN(GL_PREFIX(_dispatch_stub_873)) -GL_PREFIX(_dispatch_stub_873): + .globl GL_PREFIX(_dispatch_stub_879) + .type GL_PREFIX(_dispatch_stub_879), @function + HIDDEN(GL_PREFIX(_dispatch_stub_879)) +GL_PREFIX(_dispatch_stub_879): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6984(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33189,13 +33483,13 @@ GL_PREFIX(_dispatch_stub_873): popq %rbp popq %rsi popq %rdi - movq 6984(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6984(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33205,10 +33499,10 @@ GL_PREFIX(_dispatch_stub_873): popq %rbp popq %rsi popq %rdi - movq 6984(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_873), .-GL_PREFIX(_dispatch_stub_873) + .size GL_PREFIX(_dispatch_stub_879), .-GL_PREFIX(_dispatch_stub_879) .p2align 4,,15 .globl GL_PREFIX(BindFramebufferEXT) @@ -33216,7 +33510,7 @@ GL_PREFIX(_dispatch_stub_873): GL_PREFIX(BindFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6992(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33226,13 +33520,13 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6992(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6992(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33242,7 +33536,7 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6992(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFramebufferEXT), .-GL_PREFIX(BindFramebufferEXT) @@ -33253,7 +33547,7 @@ GL_PREFIX(BindFramebufferEXT): GL_PREFIX(BindRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7000(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33263,13 +33557,13 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 7000(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7000(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33279,7 +33573,7 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 7000(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindRenderbufferEXT), .-GL_PREFIX(BindRenderbufferEXT) @@ -33290,25 +33584,25 @@ GL_PREFIX(BindRenderbufferEXT): GL_PREFIX(CheckFramebufferStatusEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7008(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7008(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7008(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7008(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CheckFramebufferStatusEXT), .-GL_PREFIX(CheckFramebufferStatusEXT) @@ -33319,7 +33613,7 @@ GL_PREFIX(CheckFramebufferStatusEXT): GL_PREFIX(DeleteFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7016(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33329,13 +33623,13 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7016(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7016(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33345,7 +33639,7 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7016(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFramebuffersEXT), .-GL_PREFIX(DeleteFramebuffersEXT) @@ -33356,7 +33650,7 @@ GL_PREFIX(DeleteFramebuffersEXT): GL_PREFIX(DeleteRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7024(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33366,13 +33660,13 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7024(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7024(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33382,7 +33676,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7024(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteRenderbuffersEXT), .-GL_PREFIX(DeleteRenderbuffersEXT) @@ -33393,7 +33687,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): GL_PREFIX(FramebufferRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7032(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33407,13 +33701,13 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 7032(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7032(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33427,7 +33721,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 7032(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferRenderbufferEXT), .-GL_PREFIX(FramebufferRenderbufferEXT) @@ -33438,7 +33732,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): GL_PREFIX(FramebufferTexture1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7040(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33452,13 +33746,13 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 7040(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7040(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33472,7 +33766,7 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 7040(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture1DEXT), .-GL_PREFIX(FramebufferTexture1DEXT) @@ -33483,7 +33777,7 @@ GL_PREFIX(FramebufferTexture1DEXT): GL_PREFIX(FramebufferTexture2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7048(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33497,13 +33791,13 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 7048(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7048(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33517,7 +33811,7 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 7048(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture2DEXT), .-GL_PREFIX(FramebufferTexture2DEXT) @@ -33528,7 +33822,7 @@ GL_PREFIX(FramebufferTexture2DEXT): GL_PREFIX(FramebufferTexture3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7056(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33546,13 +33840,13 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 7056(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7056(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33570,7 +33864,7 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 7056(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture3DEXT), .-GL_PREFIX(FramebufferTexture3DEXT) @@ -33581,7 +33875,7 @@ GL_PREFIX(FramebufferTexture3DEXT): GL_PREFIX(GenFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7064(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33591,13 +33885,13 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7064(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7064(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33607,7 +33901,7 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7064(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFramebuffersEXT), .-GL_PREFIX(GenFramebuffersEXT) @@ -33618,7 +33912,7 @@ GL_PREFIX(GenFramebuffersEXT): GL_PREFIX(GenRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7072(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33628,13 +33922,13 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7072(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7072(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33644,7 +33938,7 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 7072(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenRenderbuffersEXT), .-GL_PREFIX(GenRenderbuffersEXT) @@ -33655,25 +33949,25 @@ GL_PREFIX(GenRenderbuffersEXT): GL_PREFIX(GenerateMipmapEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7080(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7080(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7080(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7080(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenerateMipmapEXT), .-GL_PREFIX(GenerateMipmapEXT) @@ -33684,7 +33978,7 @@ GL_PREFIX(GenerateMipmapEXT): GL_PREFIX(GetFramebufferAttachmentParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7088(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33698,13 +33992,13 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 7088(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7088(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33718,7 +34012,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 7088(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT) @@ -33729,7 +34023,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): GL_PREFIX(GetRenderbufferParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7096(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33739,13 +34033,13 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 7096(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7096(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33755,7 +34049,7 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 7096(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) @@ -33766,25 +34060,25 @@ GL_PREFIX(GetRenderbufferParameterivEXT): GL_PREFIX(IsFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7104(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7104(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7104(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7104(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) @@ -33795,25 +34089,25 @@ GL_PREFIX(IsFramebufferEXT): GL_PREFIX(IsRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7112(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7112(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7112(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7112(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) @@ -33824,7 +34118,7 @@ GL_PREFIX(IsRenderbufferEXT): GL_PREFIX(RenderbufferStorageEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7120(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33838,13 +34132,13 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 7120(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7120(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33858,19 +34152,19 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 7120(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_891) - .type GL_PREFIX(_dispatch_stub_891), @function - HIDDEN(GL_PREFIX(_dispatch_stub_891)) -GL_PREFIX(_dispatch_stub_891): + .globl GL_PREFIX(_dispatch_stub_897) + .type GL_PREFIX(_dispatch_stub_897), @function + HIDDEN(GL_PREFIX(_dispatch_stub_897)) +GL_PREFIX(_dispatch_stub_897): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7128(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33888,13 +34182,13 @@ GL_PREFIX(_dispatch_stub_891): popq %rdx popq %rsi popq %rdi - movq 7128(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7128(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33912,19 +34206,19 @@ GL_PREFIX(_dispatch_stub_891): popq %rdx popq %rsi popq %rdi - movq 7128(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_891), .-GL_PREFIX(_dispatch_stub_891) + .size GL_PREFIX(_dispatch_stub_897), .-GL_PREFIX(_dispatch_stub_897) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_892) - .type GL_PREFIX(_dispatch_stub_892), @function - HIDDEN(GL_PREFIX(_dispatch_stub_892)) -GL_PREFIX(_dispatch_stub_892): + .globl GL_PREFIX(_dispatch_stub_898) + .type GL_PREFIX(_dispatch_stub_898), @function + HIDDEN(GL_PREFIX(_dispatch_stub_898)) +GL_PREFIX(_dispatch_stub_898): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7136(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33934,13 +34228,13 @@ GL_PREFIX(_dispatch_stub_892): popq %rdx popq %rsi popq %rdi - movq 7136(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7136(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33950,19 +34244,19 @@ GL_PREFIX(_dispatch_stub_892): popq %rdx popq %rsi popq %rdi - movq 7136(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_892), .-GL_PREFIX(_dispatch_stub_892) + .size GL_PREFIX(_dispatch_stub_898), .-GL_PREFIX(_dispatch_stub_898) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_893) - .type GL_PREFIX(_dispatch_stub_893), @function - HIDDEN(GL_PREFIX(_dispatch_stub_893)) -GL_PREFIX(_dispatch_stub_893): + .globl GL_PREFIX(_dispatch_stub_899) + .type GL_PREFIX(_dispatch_stub_899), @function + HIDDEN(GL_PREFIX(_dispatch_stub_899)) +GL_PREFIX(_dispatch_stub_899): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7144(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33972,13 +34266,13 @@ GL_PREFIX(_dispatch_stub_893): popq %rdx popq %rsi popq %rdi - movq 7144(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7144(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33988,10 +34282,10 @@ GL_PREFIX(_dispatch_stub_893): popq %rdx popq %rsi popq %rdi - movq 7144(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_893), .-GL_PREFIX(_dispatch_stub_893) + .size GL_PREFIX(_dispatch_stub_899), .-GL_PREFIX(_dispatch_stub_899) .p2align 4,,15 .globl GL_PREFIX(BindFragDataLocationEXT) @@ -33999,7 +34293,7 @@ GL_PREFIX(_dispatch_stub_893): GL_PREFIX(BindFragDataLocationEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7152(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34009,13 +34303,13 @@ GL_PREFIX(BindFragDataLocationEXT): popq %rdx popq %rsi popq %rdi - movq 7152(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7152(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34025,7 +34319,7 @@ GL_PREFIX(BindFragDataLocationEXT): popq %rdx popq %rsi popq %rdi - movq 7152(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragDataLocationEXT), .-GL_PREFIX(BindFragDataLocationEXT) @@ -34036,7 +34330,7 @@ GL_PREFIX(BindFragDataLocationEXT): GL_PREFIX(GetFragDataLocationEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7160(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34046,13 +34340,13 @@ GL_PREFIX(GetFragDataLocationEXT): popq %rbp popq %rsi popq %rdi - movq 7160(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7160(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34062,7 +34356,7 @@ GL_PREFIX(GetFragDataLocationEXT): popq %rbp popq %rsi popq %rdi - movq 7160(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFragDataLocationEXT), .-GL_PREFIX(GetFragDataLocationEXT) @@ -34073,7 +34367,7 @@ GL_PREFIX(GetFragDataLocationEXT): GL_PREFIX(GetUniformuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7168(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34083,13 +34377,13 @@ GL_PREFIX(GetUniformuivEXT): popq %rdx popq %rsi popq %rdi - movq 7168(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7168(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34099,7 +34393,7 @@ GL_PREFIX(GetUniformuivEXT): popq %rdx popq %rsi popq %rdi - movq 7168(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetUniformuivEXT), .-GL_PREFIX(GetUniformuivEXT) @@ -34110,7 +34404,7 @@ GL_PREFIX(GetUniformuivEXT): GL_PREFIX(GetVertexAttribIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7176(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34120,13 +34414,13 @@ GL_PREFIX(GetVertexAttribIivEXT): popq %rdx popq %rsi popq %rdi - movq 7176(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7176(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34136,7 +34430,7 @@ GL_PREFIX(GetVertexAttribIivEXT): popq %rdx popq %rsi popq %rdi - movq 7176(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribIivEXT), .-GL_PREFIX(GetVertexAttribIivEXT) @@ -34147,7 +34441,7 @@ GL_PREFIX(GetVertexAttribIivEXT): GL_PREFIX(GetVertexAttribIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7184(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34157,13 +34451,13 @@ GL_PREFIX(GetVertexAttribIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7184(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7184(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34173,7 +34467,7 @@ GL_PREFIX(GetVertexAttribIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7184(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribIuivEXT), .-GL_PREFIX(GetVertexAttribIuivEXT) @@ -34184,7 +34478,7 @@ GL_PREFIX(GetVertexAttribIuivEXT): GL_PREFIX(Uniform1uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7192(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34194,13 +34488,13 @@ GL_PREFIX(Uniform1uiEXT): popq %rbp popq %rsi popq %rdi - movq 7192(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7192(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34210,7 +34504,7 @@ GL_PREFIX(Uniform1uiEXT): popq %rbp popq %rsi popq %rdi - movq 7192(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1uiEXT), .-GL_PREFIX(Uniform1uiEXT) @@ -34221,7 +34515,7 @@ GL_PREFIX(Uniform1uiEXT): GL_PREFIX(Uniform1uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7200(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34231,13 +34525,13 @@ GL_PREFIX(Uniform1uivEXT): popq %rdx popq %rsi popq %rdi - movq 7200(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7200(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34247,7 +34541,7 @@ GL_PREFIX(Uniform1uivEXT): popq %rdx popq %rsi popq %rdi - movq 7200(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1uivEXT), .-GL_PREFIX(Uniform1uivEXT) @@ -34258,7 +34552,7 @@ GL_PREFIX(Uniform1uivEXT): GL_PREFIX(Uniform2uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7208(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34268,13 +34562,13 @@ GL_PREFIX(Uniform2uiEXT): popq %rdx popq %rsi popq %rdi - movq 7208(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7208(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34284,7 +34578,7 @@ GL_PREFIX(Uniform2uiEXT): popq %rdx popq %rsi popq %rdi - movq 7208(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2uiEXT), .-GL_PREFIX(Uniform2uiEXT) @@ -34295,7 +34589,7 @@ GL_PREFIX(Uniform2uiEXT): GL_PREFIX(Uniform2uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7216(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34305,13 +34599,13 @@ GL_PREFIX(Uniform2uivEXT): popq %rdx popq %rsi popq %rdi - movq 7216(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7216(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34321,7 +34615,7 @@ GL_PREFIX(Uniform2uivEXT): popq %rdx popq %rsi popq %rdi - movq 7216(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2uivEXT), .-GL_PREFIX(Uniform2uivEXT) @@ -34332,7 +34626,7 @@ GL_PREFIX(Uniform2uivEXT): GL_PREFIX(Uniform3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7224(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34346,13 +34640,13 @@ GL_PREFIX(Uniform3uiEXT): popq %rdx popq %rsi popq %rdi - movq 7224(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7224(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34366,7 +34660,7 @@ GL_PREFIX(Uniform3uiEXT): popq %rdx popq %rsi popq %rdi - movq 7224(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3uiEXT), .-GL_PREFIX(Uniform3uiEXT) @@ -34377,7 +34671,7 @@ GL_PREFIX(Uniform3uiEXT): GL_PREFIX(Uniform3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7232(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34387,13 +34681,13 @@ GL_PREFIX(Uniform3uivEXT): popq %rdx popq %rsi popq %rdi - movq 7232(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7232(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34403,7 +34697,7 @@ GL_PREFIX(Uniform3uivEXT): popq %rdx popq %rsi popq %rdi - movq 7232(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3uivEXT), .-GL_PREFIX(Uniform3uivEXT) @@ -34414,7 +34708,7 @@ GL_PREFIX(Uniform3uivEXT): GL_PREFIX(Uniform4uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7240(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34428,13 +34722,13 @@ GL_PREFIX(Uniform4uiEXT): popq %rdx popq %rsi popq %rdi - movq 7240(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7240(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34448,7 +34742,7 @@ GL_PREFIX(Uniform4uiEXT): popq %rdx popq %rsi popq %rdi - movq 7240(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4uiEXT), .-GL_PREFIX(Uniform4uiEXT) @@ -34459,7 +34753,7 @@ GL_PREFIX(Uniform4uiEXT): GL_PREFIX(Uniform4uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7248(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34469,13 +34763,13 @@ GL_PREFIX(Uniform4uivEXT): popq %rdx popq %rsi popq %rdi - movq 7248(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7248(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34485,7 +34779,7 @@ GL_PREFIX(Uniform4uivEXT): popq %rdx popq %rsi popq %rdi - movq 7248(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4uivEXT), .-GL_PREFIX(Uniform4uivEXT) @@ -34496,7 +34790,7 @@ GL_PREFIX(Uniform4uivEXT): GL_PREFIX(VertexAttribI1iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7256(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34506,13 +34800,13 @@ GL_PREFIX(VertexAttribI1iEXT): popq %rbp popq %rsi popq %rdi - movq 7256(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7256(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34522,7 +34816,7 @@ GL_PREFIX(VertexAttribI1iEXT): popq %rbp popq %rsi popq %rdi - movq 7256(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1iEXT), .-GL_PREFIX(VertexAttribI1iEXT) @@ -34533,7 +34827,7 @@ GL_PREFIX(VertexAttribI1iEXT): GL_PREFIX(VertexAttribI1ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7264(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34543,13 +34837,13 @@ GL_PREFIX(VertexAttribI1ivEXT): popq %rbp popq %rsi popq %rdi - movq 7264(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7264(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34559,7 +34853,7 @@ GL_PREFIX(VertexAttribI1ivEXT): popq %rbp popq %rsi popq %rdi - movq 7264(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1ivEXT), .-GL_PREFIX(VertexAttribI1ivEXT) @@ -34570,7 +34864,7 @@ GL_PREFIX(VertexAttribI1ivEXT): GL_PREFIX(VertexAttribI1uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7272(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34580,13 +34874,13 @@ GL_PREFIX(VertexAttribI1uiEXT): popq %rbp popq %rsi popq %rdi - movq 7272(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7272(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34596,7 +34890,7 @@ GL_PREFIX(VertexAttribI1uiEXT): popq %rbp popq %rsi popq %rdi - movq 7272(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1uiEXT), .-GL_PREFIX(VertexAttribI1uiEXT) @@ -34607,7 +34901,7 @@ GL_PREFIX(VertexAttribI1uiEXT): GL_PREFIX(VertexAttribI1uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7280(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34617,13 +34911,13 @@ GL_PREFIX(VertexAttribI1uivEXT): popq %rbp popq %rsi popq %rdi - movq 7280(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7280(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34633,7 +34927,7 @@ GL_PREFIX(VertexAttribI1uivEXT): popq %rbp popq %rsi popq %rdi - movq 7280(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1uivEXT), .-GL_PREFIX(VertexAttribI1uivEXT) @@ -34644,7 +34938,7 @@ GL_PREFIX(VertexAttribI1uivEXT): GL_PREFIX(VertexAttribI2iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7288(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34654,13 +34948,13 @@ GL_PREFIX(VertexAttribI2iEXT): popq %rdx popq %rsi popq %rdi - movq 7288(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7288(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34670,7 +34964,7 @@ GL_PREFIX(VertexAttribI2iEXT): popq %rdx popq %rsi popq %rdi - movq 7288(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2iEXT), .-GL_PREFIX(VertexAttribI2iEXT) @@ -34681,7 +34975,7 @@ GL_PREFIX(VertexAttribI2iEXT): GL_PREFIX(VertexAttribI2ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7296(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34691,13 +34985,13 @@ GL_PREFIX(VertexAttribI2ivEXT): popq %rbp popq %rsi popq %rdi - movq 7296(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7296(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34707,7 +35001,7 @@ GL_PREFIX(VertexAttribI2ivEXT): popq %rbp popq %rsi popq %rdi - movq 7296(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2ivEXT), .-GL_PREFIX(VertexAttribI2ivEXT) @@ -34718,7 +35012,7 @@ GL_PREFIX(VertexAttribI2ivEXT): GL_PREFIX(VertexAttribI2uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7304(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34728,13 +35022,13 @@ GL_PREFIX(VertexAttribI2uiEXT): popq %rdx popq %rsi popq %rdi - movq 7304(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7304(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34744,7 +35038,7 @@ GL_PREFIX(VertexAttribI2uiEXT): popq %rdx popq %rsi popq %rdi - movq 7304(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2uiEXT), .-GL_PREFIX(VertexAttribI2uiEXT) @@ -34755,7 +35049,7 @@ GL_PREFIX(VertexAttribI2uiEXT): GL_PREFIX(VertexAttribI2uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7312(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34765,13 +35059,13 @@ GL_PREFIX(VertexAttribI2uivEXT): popq %rbp popq %rsi popq %rdi - movq 7312(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7312(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34781,7 +35075,7 @@ GL_PREFIX(VertexAttribI2uivEXT): popq %rbp popq %rsi popq %rdi - movq 7312(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2uivEXT), .-GL_PREFIX(VertexAttribI2uivEXT) @@ -34792,7 +35086,7 @@ GL_PREFIX(VertexAttribI2uivEXT): GL_PREFIX(VertexAttribI3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7320(%rax), %r11 + movq 7368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34806,13 +35100,13 @@ GL_PREFIX(VertexAttribI3iEXT): popq %rdx popq %rsi popq %rdi - movq 7320(%rax), %r11 + movq 7368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7320(%rax), %r11 + movq 7368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34826,7 +35120,7 @@ GL_PREFIX(VertexAttribI3iEXT): popq %rdx popq %rsi popq %rdi - movq 7320(%rax), %r11 + movq 7368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3iEXT), .-GL_PREFIX(VertexAttribI3iEXT) @@ -34837,7 +35131,7 @@ GL_PREFIX(VertexAttribI3iEXT): GL_PREFIX(VertexAttribI3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7328(%rax), %r11 + movq 7376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34847,13 +35141,13 @@ GL_PREFIX(VertexAttribI3ivEXT): popq %rbp popq %rsi popq %rdi - movq 7328(%rax), %r11 + movq 7376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7328(%rax), %r11 + movq 7376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34863,7 +35157,7 @@ GL_PREFIX(VertexAttribI3ivEXT): popq %rbp popq %rsi popq %rdi - movq 7328(%rax), %r11 + movq 7376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3ivEXT), .-GL_PREFIX(VertexAttribI3ivEXT) @@ -34874,7 +35168,7 @@ GL_PREFIX(VertexAttribI3ivEXT): GL_PREFIX(VertexAttribI3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7336(%rax), %r11 + movq 7384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34888,13 +35182,13 @@ GL_PREFIX(VertexAttribI3uiEXT): popq %rdx popq %rsi popq %rdi - movq 7336(%rax), %r11 + movq 7384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7336(%rax), %r11 + movq 7384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34908,7 +35202,7 @@ GL_PREFIX(VertexAttribI3uiEXT): popq %rdx popq %rsi popq %rdi - movq 7336(%rax), %r11 + movq 7384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3uiEXT), .-GL_PREFIX(VertexAttribI3uiEXT) @@ -34919,7 +35213,7 @@ GL_PREFIX(VertexAttribI3uiEXT): GL_PREFIX(VertexAttribI3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7344(%rax), %r11 + movq 7392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34929,13 +35223,13 @@ GL_PREFIX(VertexAttribI3uivEXT): popq %rbp popq %rsi popq %rdi - movq 7344(%rax), %r11 + movq 7392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7344(%rax), %r11 + movq 7392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34945,7 +35239,7 @@ GL_PREFIX(VertexAttribI3uivEXT): popq %rbp popq %rsi popq %rdi - movq 7344(%rax), %r11 + movq 7392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3uivEXT), .-GL_PREFIX(VertexAttribI3uivEXT) @@ -34956,7 +35250,7 @@ GL_PREFIX(VertexAttribI3uivEXT): GL_PREFIX(VertexAttribI4bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7352(%rax), %r11 + movq 7400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34966,13 +35260,13 @@ GL_PREFIX(VertexAttribI4bvEXT): popq %rbp popq %rsi popq %rdi - movq 7352(%rax), %r11 + movq 7400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7352(%rax), %r11 + movq 7400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34982,7 +35276,7 @@ GL_PREFIX(VertexAttribI4bvEXT): popq %rbp popq %rsi popq %rdi - movq 7352(%rax), %r11 + movq 7400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4bvEXT), .-GL_PREFIX(VertexAttribI4bvEXT) @@ -34993,7 +35287,7 @@ GL_PREFIX(VertexAttribI4bvEXT): GL_PREFIX(VertexAttribI4iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7360(%rax), %r11 + movq 7408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35007,13 +35301,13 @@ GL_PREFIX(VertexAttribI4iEXT): popq %rdx popq %rsi popq %rdi - movq 7360(%rax), %r11 + movq 7408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7360(%rax), %r11 + movq 7408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35027,7 +35321,7 @@ GL_PREFIX(VertexAttribI4iEXT): popq %rdx popq %rsi popq %rdi - movq 7360(%rax), %r11 + movq 7408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4iEXT), .-GL_PREFIX(VertexAttribI4iEXT) @@ -35038,7 +35332,7 @@ GL_PREFIX(VertexAttribI4iEXT): GL_PREFIX(VertexAttribI4ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7368(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35048,13 +35342,13 @@ GL_PREFIX(VertexAttribI4ivEXT): popq %rbp popq %rsi popq %rdi - movq 7368(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7368(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35064,7 +35358,7 @@ GL_PREFIX(VertexAttribI4ivEXT): popq %rbp popq %rsi popq %rdi - movq 7368(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4ivEXT), .-GL_PREFIX(VertexAttribI4ivEXT) @@ -35075,7 +35369,7 @@ GL_PREFIX(VertexAttribI4ivEXT): GL_PREFIX(VertexAttribI4svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7376(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35085,13 +35379,13 @@ GL_PREFIX(VertexAttribI4svEXT): popq %rbp popq %rsi popq %rdi - movq 7376(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7376(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35101,7 +35395,7 @@ GL_PREFIX(VertexAttribI4svEXT): popq %rbp popq %rsi popq %rdi - movq 7376(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4svEXT), .-GL_PREFIX(VertexAttribI4svEXT) @@ -35112,7 +35406,7 @@ GL_PREFIX(VertexAttribI4svEXT): GL_PREFIX(VertexAttribI4ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7384(%rax), %r11 + movq 7432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35122,13 +35416,13 @@ GL_PREFIX(VertexAttribI4ubvEXT): popq %rbp popq %rsi popq %rdi - movq 7384(%rax), %r11 + movq 7432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7384(%rax), %r11 + movq 7432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35138,7 +35432,7 @@ GL_PREFIX(VertexAttribI4ubvEXT): popq %rbp popq %rsi popq %rdi - movq 7384(%rax), %r11 + movq 7432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4ubvEXT), .-GL_PREFIX(VertexAttribI4ubvEXT) @@ -35149,7 +35443,7 @@ GL_PREFIX(VertexAttribI4ubvEXT): GL_PREFIX(VertexAttribI4uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7392(%rax), %r11 + movq 7440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35163,13 +35457,13 @@ GL_PREFIX(VertexAttribI4uiEXT): popq %rdx popq %rsi popq %rdi - movq 7392(%rax), %r11 + movq 7440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7392(%rax), %r11 + movq 7440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35183,7 +35477,7 @@ GL_PREFIX(VertexAttribI4uiEXT): popq %rdx popq %rsi popq %rdi - movq 7392(%rax), %r11 + movq 7440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4uiEXT), .-GL_PREFIX(VertexAttribI4uiEXT) @@ -35194,7 +35488,7 @@ GL_PREFIX(VertexAttribI4uiEXT): GL_PREFIX(VertexAttribI4uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7400(%rax), %r11 + movq 7448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35204,13 +35498,13 @@ GL_PREFIX(VertexAttribI4uivEXT): popq %rbp popq %rsi popq %rdi - movq 7400(%rax), %r11 + movq 7448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7400(%rax), %r11 + movq 7448(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35220,7 +35514,7 @@ GL_PREFIX(VertexAttribI4uivEXT): popq %rbp popq %rsi popq %rdi - movq 7400(%rax), %r11 + movq 7448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4uivEXT), .-GL_PREFIX(VertexAttribI4uivEXT) @@ -35231,7 +35525,7 @@ GL_PREFIX(VertexAttribI4uivEXT): GL_PREFIX(VertexAttribI4usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7408(%rax), %r11 + movq 7456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35241,13 +35535,13 @@ GL_PREFIX(VertexAttribI4usvEXT): popq %rbp popq %rsi popq %rdi - movq 7408(%rax), %r11 + movq 7456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7408(%rax), %r11 + movq 7456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35257,7 +35551,7 @@ GL_PREFIX(VertexAttribI4usvEXT): popq %rbp popq %rsi popq %rdi - movq 7408(%rax), %r11 + movq 7456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4usvEXT), .-GL_PREFIX(VertexAttribI4usvEXT) @@ -35268,7 +35562,7 @@ GL_PREFIX(VertexAttribI4usvEXT): GL_PREFIX(VertexAttribIPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7416(%rax), %r11 + movq 7464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35282,13 +35576,13 @@ GL_PREFIX(VertexAttribIPointerEXT): popq %rdx popq %rsi popq %rdi - movq 7416(%rax), %r11 + movq 7464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7416(%rax), %r11 + movq 7464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35302,7 +35596,7 @@ GL_PREFIX(VertexAttribIPointerEXT): popq %rdx popq %rsi popq %rdi - movq 7416(%rax), %r11 + movq 7464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribIPointerEXT), .-GL_PREFIX(VertexAttribIPointerEXT) @@ -35313,7 +35607,7 @@ GL_PREFIX(VertexAttribIPointerEXT): GL_PREFIX(FramebufferTextureLayerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7424(%rax), %r11 + movq 7472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35327,13 +35621,13 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 7424(%rax), %r11 + movq 7472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7424(%rax), %r11 + movq 7472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35347,7 +35641,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 7424(%rax), %r11 + movq 7472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT) @@ -35358,7 +35652,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): GL_PREFIX(ColorMaskIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7432(%rax), %r11 + movq 7480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35372,13 +35666,13 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 7432(%rax), %r11 + movq 7480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7432(%rax), %r11 + movq 7480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35392,7 +35686,7 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 7432(%rax), %r11 + movq 7480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorMaskIndexedEXT), .-GL_PREFIX(ColorMaskIndexedEXT) @@ -35403,7 +35697,7 @@ GL_PREFIX(ColorMaskIndexedEXT): GL_PREFIX(DisableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7440(%rax), %r11 + movq 7488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35413,13 +35707,13 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7440(%rax), %r11 + movq 7488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7440(%rax), %r11 + movq 7488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35429,7 +35723,7 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7440(%rax), %r11 + movq 7488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DisableIndexedEXT), .-GL_PREFIX(DisableIndexedEXT) @@ -35440,7 +35734,7 @@ GL_PREFIX(DisableIndexedEXT): GL_PREFIX(EnableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7448(%rax), %r11 + movq 7496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35450,13 +35744,13 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7448(%rax), %r11 + movq 7496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7448(%rax), %r11 + movq 7496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35466,7 +35760,7 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7448(%rax), %r11 + movq 7496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EnableIndexedEXT), .-GL_PREFIX(EnableIndexedEXT) @@ -35477,7 +35771,7 @@ GL_PREFIX(EnableIndexedEXT): GL_PREFIX(GetBooleanIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7456(%rax), %r11 + movq 7504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35487,13 +35781,13 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7456(%rax), %r11 + movq 7504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7456(%rax), %r11 + movq 7504(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35503,7 +35797,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7456(%rax), %r11 + movq 7504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBooleanIndexedvEXT), .-GL_PREFIX(GetBooleanIndexedvEXT) @@ -35514,7 +35808,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): GL_PREFIX(GetIntegerIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7464(%rax), %r11 + movq 7512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35524,13 +35818,13 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7464(%rax), %r11 + movq 7512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7464(%rax), %r11 + movq 7512(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35540,7 +35834,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7464(%rax), %r11 + movq 7512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetIntegerIndexedvEXT), .-GL_PREFIX(GetIntegerIndexedvEXT) @@ -35551,7 +35845,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): GL_PREFIX(IsEnabledIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7472(%rax), %r11 + movq 7520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35561,13 +35855,13 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7472(%rax), %r11 + movq 7520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7472(%rax), %r11 + movq 7520(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35577,7 +35871,7 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7472(%rax), %r11 + movq 7520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsEnabledIndexedEXT), .-GL_PREFIX(IsEnabledIndexedEXT) @@ -35588,7 +35882,7 @@ GL_PREFIX(IsEnabledIndexedEXT): GL_PREFIX(ClearColorIiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7480(%rax), %r11 + movq 7528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35602,13 +35896,13 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 7480(%rax), %r11 + movq 7528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7480(%rax), %r11 + movq 7528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35622,7 +35916,7 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 7480(%rax), %r11 + movq 7528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIiEXT), .-GL_PREFIX(ClearColorIiEXT) @@ -35633,7 +35927,7 @@ GL_PREFIX(ClearColorIiEXT): GL_PREFIX(ClearColorIuiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7488(%rax), %r11 + movq 7536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35647,13 +35941,13 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 7488(%rax), %r11 + movq 7536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7488(%rax), %r11 + movq 7536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35667,7 +35961,7 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 7488(%rax), %r11 + movq 7536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIuiEXT), .-GL_PREFIX(ClearColorIuiEXT) @@ -35678,7 +35972,7 @@ GL_PREFIX(ClearColorIuiEXT): GL_PREFIX(GetTexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7496(%rax), %r11 + movq 7544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35688,13 +35982,13 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7496(%rax), %r11 + movq 7544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7496(%rax), %r11 + movq 7544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35704,7 +35998,7 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7496(%rax), %r11 + movq 7544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIivEXT), .-GL_PREFIX(GetTexParameterIivEXT) @@ -35715,7 +36009,7 @@ GL_PREFIX(GetTexParameterIivEXT): GL_PREFIX(GetTexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7504(%rax), %r11 + movq 7552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35725,13 +36019,13 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7504(%rax), %r11 + movq 7552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7504(%rax), %r11 + movq 7552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35741,7 +36035,7 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7504(%rax), %r11 + movq 7552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIuivEXT), .-GL_PREFIX(GetTexParameterIuivEXT) @@ -35752,7 +36046,7 @@ GL_PREFIX(GetTexParameterIuivEXT): GL_PREFIX(TexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7512(%rax), %r11 + movq 7560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35762,13 +36056,13 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7512(%rax), %r11 + movq 7560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7512(%rax), %r11 + movq 7560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35778,7 +36072,7 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7512(%rax), %r11 + movq 7560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIivEXT), .-GL_PREFIX(TexParameterIivEXT) @@ -35789,7 +36083,7 @@ GL_PREFIX(TexParameterIivEXT): GL_PREFIX(TexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7520(%rax), %r11 + movq 7568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35799,13 +36093,13 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7520(%rax), %r11 + movq 7568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7520(%rax), %r11 + movq 7568(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35815,7 +36109,7 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7520(%rax), %r11 + movq 7568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIuivEXT), .-GL_PREFIX(TexParameterIuivEXT) @@ -35826,7 +36120,7 @@ GL_PREFIX(TexParameterIuivEXT): GL_PREFIX(BeginConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7528(%rax), %r11 + movq 7576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35836,13 +36130,13 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 7528(%rax), %r11 + movq 7576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7528(%rax), %r11 + movq 7576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35852,7 +36146,7 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 7528(%rax), %r11 + movq 7576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginConditionalRenderNV), .-GL_PREFIX(BeginConditionalRenderNV) @@ -35863,25 +36157,25 @@ GL_PREFIX(BeginConditionalRenderNV): GL_PREFIX(EndConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7536(%rax), %r11 + movq 7584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 7536(%rax), %r11 + movq 7584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7536(%rax), %r11 + movq 7584(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 7536(%rax), %r11 + movq 7584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndConditionalRenderNV), .-GL_PREFIX(EndConditionalRenderNV) @@ -35892,25 +36186,25 @@ GL_PREFIX(EndConditionalRenderNV): GL_PREFIX(BeginTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7544(%rax), %r11 + movq 7592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7544(%rax), %r11 + movq 7592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7544(%rax), %r11 + movq 7592(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7544(%rax), %r11 + movq 7592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginTransformFeedbackEXT), .-GL_PREFIX(BeginTransformFeedbackEXT) @@ -35921,7 +36215,7 @@ GL_PREFIX(BeginTransformFeedbackEXT): GL_PREFIX(BindBufferBaseEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7552(%rax), %r11 + movq 7600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35931,13 +36225,13 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 7552(%rax), %r11 + movq 7600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7552(%rax), %r11 + movq 7600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35947,7 +36241,7 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 7552(%rax), %r11 + movq 7600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferBaseEXT), .-GL_PREFIX(BindBufferBaseEXT) @@ -35958,7 +36252,7 @@ GL_PREFIX(BindBufferBaseEXT): GL_PREFIX(BindBufferOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7560(%rax), %r11 + movq 7608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35972,13 +36266,13 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 7560(%rax), %r11 + movq 7608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7560(%rax), %r11 + movq 7608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35992,7 +36286,7 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 7560(%rax), %r11 + movq 7608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferOffsetEXT), .-GL_PREFIX(BindBufferOffsetEXT) @@ -36003,7 +36297,7 @@ GL_PREFIX(BindBufferOffsetEXT): GL_PREFIX(BindBufferRangeEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7568(%rax), %r11 + movq 7616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36017,13 +36311,13 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 7568(%rax), %r11 + movq 7616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7568(%rax), %r11 + movq 7616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36037,7 +36331,7 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 7568(%rax), %r11 + movq 7616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferRangeEXT), .-GL_PREFIX(BindBufferRangeEXT) @@ -36048,25 +36342,25 @@ GL_PREFIX(BindBufferRangeEXT): GL_PREFIX(EndTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7576(%rax), %r11 + movq 7624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 7576(%rax), %r11 + movq 7624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7576(%rax), %r11 + movq 7624(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 7576(%rax), %r11 + movq 7624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndTransformFeedbackEXT), .-GL_PREFIX(EndTransformFeedbackEXT) @@ -36077,7 +36371,7 @@ GL_PREFIX(EndTransformFeedbackEXT): GL_PREFIX(GetTransformFeedbackVaryingEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7584(%rax), %r11 + movq 7632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36095,13 +36389,13 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 7584(%rax), %r11 + movq 7632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7584(%rax), %r11 + movq 7632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36119,7 +36413,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 7584(%rax), %r11 + movq 7632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTransformFeedbackVaryingEXT), .-GL_PREFIX(GetTransformFeedbackVaryingEXT) @@ -36130,7 +36424,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): GL_PREFIX(TransformFeedbackVaryingsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7592(%rax), %r11 + movq 7640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36144,13 +36438,13 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 7592(%rax), %r11 + movq 7640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7592(%rax), %r11 + movq 7640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36164,7 +36458,7 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 7592(%rax), %r11 + movq 7640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TransformFeedbackVaryingsEXT), .-GL_PREFIX(TransformFeedbackVaryingsEXT) @@ -36175,37 +36469,37 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): GL_PREFIX(ProvokingVertexEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7600(%rax), %r11 + movq 7648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7600(%rax), %r11 + movq 7648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7600(%rax), %r11 + movq 7648(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7600(%rax), %r11 + movq 7648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_951) - .type GL_PREFIX(_dispatch_stub_951), @function - HIDDEN(GL_PREFIX(_dispatch_stub_951)) -GL_PREFIX(_dispatch_stub_951): + .globl GL_PREFIX(_dispatch_stub_957) + .type GL_PREFIX(_dispatch_stub_957), @function + HIDDEN(GL_PREFIX(_dispatch_stub_957)) +GL_PREFIX(_dispatch_stub_957): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7608(%rax), %r11 + movq 7656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36215,13 +36509,13 @@ GL_PREFIX(_dispatch_stub_951): popq %rdx popq %rsi popq %rdi - movq 7608(%rax), %r11 + movq 7656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7608(%rax), %r11 + movq 7656(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36231,19 +36525,19 @@ GL_PREFIX(_dispatch_stub_951): popq %rdx popq %rsi popq %rdi - movq 7608(%rax), %r11 + movq 7656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_951), .-GL_PREFIX(_dispatch_stub_951) + .size GL_PREFIX(_dispatch_stub_957), .-GL_PREFIX(_dispatch_stub_957) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_952) - .type GL_PREFIX(_dispatch_stub_952), @function - HIDDEN(GL_PREFIX(_dispatch_stub_952)) -GL_PREFIX(_dispatch_stub_952): + .globl GL_PREFIX(_dispatch_stub_958) + .type GL_PREFIX(_dispatch_stub_958), @function + HIDDEN(GL_PREFIX(_dispatch_stub_958)) +GL_PREFIX(_dispatch_stub_958): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7616(%rax), %r11 + movq 7664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36253,13 +36547,13 @@ GL_PREFIX(_dispatch_stub_952): popq %rdx popq %rsi popq %rdi - movq 7616(%rax), %r11 + movq 7664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7616(%rax), %r11 + movq 7664(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36269,10 +36563,10 @@ GL_PREFIX(_dispatch_stub_952): popq %rdx popq %rsi popq %rdi - movq 7616(%rax), %r11 + movq 7664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_952), .-GL_PREFIX(_dispatch_stub_952) + .size GL_PREFIX(_dispatch_stub_958), .-GL_PREFIX(_dispatch_stub_958) .p2align 4,,15 .globl GL_PREFIX(GetObjectParameterivAPPLE) @@ -36280,7 +36574,7 @@ GL_PREFIX(_dispatch_stub_952): GL_PREFIX(GetObjectParameterivAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7624(%rax), %r11 + movq 7672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36294,13 +36588,13 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 7624(%rax), %r11 + movq 7672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7624(%rax), %r11 + movq 7672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36314,7 +36608,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 7624(%rax), %r11 + movq 7672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetObjectParameterivAPPLE), .-GL_PREFIX(GetObjectParameterivAPPLE) @@ -36325,7 +36619,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): GL_PREFIX(ObjectPurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7632(%rax), %r11 + movq 7680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36335,13 +36629,13 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7632(%rax), %r11 + movq 7680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7632(%rax), %r11 + movq 7680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36351,7 +36645,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7632(%rax), %r11 + movq 7680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectPurgeableAPPLE), .-GL_PREFIX(ObjectPurgeableAPPLE) @@ -36362,7 +36656,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): GL_PREFIX(ObjectUnpurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7640(%rax), %r11 + movq 7688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36372,13 +36666,13 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7640(%rax), %r11 + movq 7688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7640(%rax), %r11 + movq 7688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36388,7 +36682,7 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7640(%rax), %r11 + movq 7688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectUnpurgeableAPPLE), .-GL_PREFIX(ObjectUnpurgeableAPPLE) @@ -36399,25 +36693,25 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): GL_PREFIX(ActiveProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7648(%rax), %r11 + movq 7696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7648(%rax), %r11 + movq 7696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7648(%rax), %r11 + movq 7696(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7648(%rax), %r11 + movq 7696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ActiveProgramEXT), .-GL_PREFIX(ActiveProgramEXT) @@ -36428,7 +36722,7 @@ GL_PREFIX(ActiveProgramEXT): GL_PREFIX(CreateShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7656(%rax), %r11 + movq 7704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36438,13 +36732,13 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7656(%rax), %r11 + movq 7704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7656(%rax), %r11 + movq 7704(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36454,7 +36748,7 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7656(%rax), %r11 + movq 7704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CreateShaderProgramEXT), .-GL_PREFIX(CreateShaderProgramEXT) @@ -36465,7 +36759,7 @@ GL_PREFIX(CreateShaderProgramEXT): GL_PREFIX(UseShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7664(%rax), %r11 + movq 7712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36475,13 +36769,13 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7664(%rax), %r11 + movq 7712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7664(%rax), %r11 + movq 7712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36491,7 +36785,7 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7664(%rax), %r11 + movq 7712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UseShaderProgramEXT), .-GL_PREFIX(UseShaderProgramEXT) @@ -36502,37 +36796,37 @@ GL_PREFIX(UseShaderProgramEXT): GL_PREFIX(TextureBarrierNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7672(%rax), %r11 + movq 7720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 7672(%rax), %r11 + movq 7720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7672(%rax), %r11 + movq 7720(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 7672(%rax), %r11 + movq 7720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TextureBarrierNV), .-GL_PREFIX(TextureBarrierNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_960) - .type GL_PREFIX(_dispatch_stub_960), @function - HIDDEN(GL_PREFIX(_dispatch_stub_960)) -GL_PREFIX(_dispatch_stub_960): + .globl GL_PREFIX(_dispatch_stub_966) + .type GL_PREFIX(_dispatch_stub_966), @function + HIDDEN(GL_PREFIX(_dispatch_stub_966)) +GL_PREFIX(_dispatch_stub_966): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7680(%rax), %r11 + movq 7728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36546,13 +36840,13 @@ GL_PREFIX(_dispatch_stub_960): popq %rdx popq %rsi popq %rdi - movq 7680(%rax), %r11 + movq 7728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7680(%rax), %r11 + movq 7728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36566,19 +36860,19 @@ GL_PREFIX(_dispatch_stub_960): popq %rdx popq %rsi popq %rdi - movq 7680(%rax), %r11 + movq 7728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_960), .-GL_PREFIX(_dispatch_stub_960) + .size GL_PREFIX(_dispatch_stub_966), .-GL_PREFIX(_dispatch_stub_966) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_961) - .type GL_PREFIX(_dispatch_stub_961), @function - HIDDEN(GL_PREFIX(_dispatch_stub_961)) -GL_PREFIX(_dispatch_stub_961): + .globl GL_PREFIX(_dispatch_stub_967) + .type GL_PREFIX(_dispatch_stub_967), @function + HIDDEN(GL_PREFIX(_dispatch_stub_967)) +GL_PREFIX(_dispatch_stub_967): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7688(%rax), %r11 + movq 7736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36592,13 +36886,13 @@ GL_PREFIX(_dispatch_stub_961): popq %rdx popq %rsi popq %rdi - movq 7688(%rax), %r11 + movq 7736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7688(%rax), %r11 + movq 7736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36612,19 +36906,19 @@ GL_PREFIX(_dispatch_stub_961): popq %rdx popq %rsi popq %rdi - movq 7688(%rax), %r11 + movq 7736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_961), .-GL_PREFIX(_dispatch_stub_961) + .size GL_PREFIX(_dispatch_stub_967), .-GL_PREFIX(_dispatch_stub_967) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_962) - .type GL_PREFIX(_dispatch_stub_962), @function - HIDDEN(GL_PREFIX(_dispatch_stub_962)) -GL_PREFIX(_dispatch_stub_962): + .globl GL_PREFIX(_dispatch_stub_968) + .type GL_PREFIX(_dispatch_stub_968), @function + HIDDEN(GL_PREFIX(_dispatch_stub_968)) +GL_PREFIX(_dispatch_stub_968): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7696(%rax), %r11 + movq 7744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36638,13 +36932,13 @@ GL_PREFIX(_dispatch_stub_962): popq %rdx popq %rsi popq %rdi - movq 7696(%rax), %r11 + movq 7744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7696(%rax), %r11 + movq 7744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36658,19 +36952,19 @@ GL_PREFIX(_dispatch_stub_962): popq %rdx popq %rsi popq %rdi - movq 7696(%rax), %r11 + movq 7744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_962), .-GL_PREFIX(_dispatch_stub_962) + .size GL_PREFIX(_dispatch_stub_968), .-GL_PREFIX(_dispatch_stub_968) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_963) - .type GL_PREFIX(_dispatch_stub_963), @function - HIDDEN(GL_PREFIX(_dispatch_stub_963)) -GL_PREFIX(_dispatch_stub_963): + .globl GL_PREFIX(_dispatch_stub_969) + .type GL_PREFIX(_dispatch_stub_969), @function + HIDDEN(GL_PREFIX(_dispatch_stub_969)) +GL_PREFIX(_dispatch_stub_969): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7704(%rax), %r11 + movq 7752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36680,13 +36974,13 @@ GL_PREFIX(_dispatch_stub_963): popq %rdx popq %rsi popq %rdi - movq 7704(%rax), %r11 + movq 7752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7704(%rax), %r11 + movq 7752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36696,19 +36990,19 @@ GL_PREFIX(_dispatch_stub_963): popq %rdx popq %rsi popq %rdi - movq 7704(%rax), %r11 + movq 7752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_963), .-GL_PREFIX(_dispatch_stub_963) + .size GL_PREFIX(_dispatch_stub_969), .-GL_PREFIX(_dispatch_stub_969) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_964) - .type GL_PREFIX(_dispatch_stub_964), @function - HIDDEN(GL_PREFIX(_dispatch_stub_964)) -GL_PREFIX(_dispatch_stub_964): + .globl GL_PREFIX(_dispatch_stub_970) + .type GL_PREFIX(_dispatch_stub_970), @function + HIDDEN(GL_PREFIX(_dispatch_stub_970)) +GL_PREFIX(_dispatch_stub_970): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7712(%rax), %r11 + movq 7760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36718,13 +37012,13 @@ GL_PREFIX(_dispatch_stub_964): popq %rdx popq %rsi popq %rdi - movq 7712(%rax), %r11 + movq 7760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7712(%rax), %r11 + movq 7760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36734,10 +37028,10 @@ GL_PREFIX(_dispatch_stub_964): popq %rdx popq %rsi popq %rdi - movq 7712(%rax), %r11 + movq 7760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_964), .-GL_PREFIX(_dispatch_stub_964) + .size GL_PREFIX(_dispatch_stub_970), .-GL_PREFIX(_dispatch_stub_970) .p2align 4,,15 .globl GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -36745,7 +37039,7 @@ GL_PREFIX(_dispatch_stub_964): GL_PREFIX(EGLImageTargetRenderbufferStorageOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7720(%rax), %r11 + movq 7768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36755,13 +37049,13 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 7720(%rax), %r11 + movq 7768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7720(%rax), %r11 + movq 7768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36771,7 +37065,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 7720(%rax), %r11 + movq 7768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetRenderbufferStorageOES), .-GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -36782,7 +37076,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): GL_PREFIX(EGLImageTargetTexture2DOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7728(%rax), %r11 + movq 7776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -36792,13 +37086,13 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 7728(%rax), %r11 + movq 7776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7728(%rax), %r11 + movq 7776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -36808,7 +37102,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 7728(%rax), %r11 + movq 7776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetTexture2DOES), .-GL_PREFIX(EGLImageTargetTexture2DOES) @@ -37076,10 +37370,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_861) - .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_863) + .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_867) + .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_869) .globl GL_PREFIX(PrimitiveRestartIndex) ; .set GL_PREFIX(PrimitiveRestartIndex), GL_PREFIX(PrimitiveRestartIndexNV) - .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_873) + .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_879) .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) @@ -37097,7 +37391,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_891) + .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_897) .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/mesalib/src/mapi/glapi/glapi_x86.S b/mesalib/src/mapi/glapi/glapi_x86.S index a72193f87..11bb0ad35 100644 --- a/mesalib/src/mapi/glapi/glapi_x86.S +++ b/mesalib/src/mapi/glapi/glapi_x86.S @@ -835,323 +835,329 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(GetnUniformivARB, 682, GetnUniformivARB@16) GL_STUB(GetnUniformuivARB, 683, GetnUniformuivARB@16) GL_STUB(ReadnPixelsARB, 684, ReadnPixelsARB@32) - GL_STUB(PolygonOffsetEXT, 685, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_686, 686, _dispatch_stub_686@8) - HIDDEN(GL_PREFIX(_dispatch_stub_686, _dispatch_stub_686@8)) - 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@8) - HIDDEN(GL_PREFIX(_dispatch_stub_688, _dispatch_stub_688@8)) - 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@8) - HIDDEN(GL_PREFIX(_dispatch_stub_690, _dispatch_stub_690@8)) - GL_STUB(_dispatch_stub_691, 691, _dispatch_stub_691@8) - HIDDEN(GL_PREFIX(_dispatch_stub_691, _dispatch_stub_691@8)) + GL_STUB(TexStorage1D, 685, TexStorage1D@16) + GL_STUB(TexStorage2D, 686, TexStorage2D@20) + GL_STUB(TexStorage3D, 687, TexStorage3D@24) + GL_STUB(TextureStorage1DEXT, 688, TextureStorage1DEXT@20) + GL_STUB(TextureStorage2DEXT, 689, TextureStorage2DEXT@24) + GL_STUB(TextureStorage3DEXT, 690, TextureStorage3DEXT@28) + GL_STUB(PolygonOffsetEXT, 691, PolygonOffsetEXT@8) 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(ColorPointerEXT, 694, ColorPointerEXT@20) - GL_STUB(EdgeFlagPointerEXT, 695, EdgeFlagPointerEXT@12) - GL_STUB(IndexPointerEXT, 696, IndexPointerEXT@16) - GL_STUB(NormalPointerEXT, 697, NormalPointerEXT@16) - GL_STUB(TexCoordPointerEXT, 698, TexCoordPointerEXT@20) - GL_STUB(VertexPointerEXT, 699, VertexPointerEXT@20) - GL_STUB(PointParameterfEXT, 700, PointParameterfEXT@8) - GL_STUB(PointParameterfvEXT, 701, PointParameterfvEXT@8) - GL_STUB(LockArraysEXT, 702, LockArraysEXT@8) - GL_STUB(UnlockArraysEXT, 703, UnlockArraysEXT@0) - GL_STUB(SecondaryColor3bEXT, 704, SecondaryColor3bEXT@12) - GL_STUB(SecondaryColor3bvEXT, 705, SecondaryColor3bvEXT@4) - GL_STUB(SecondaryColor3dEXT, 706, SecondaryColor3dEXT@24) - GL_STUB(SecondaryColor3dvEXT, 707, SecondaryColor3dvEXT@4) - GL_STUB(SecondaryColor3fEXT, 708, SecondaryColor3fEXT@12) - GL_STUB(SecondaryColor3fvEXT, 709, SecondaryColor3fvEXT@4) - GL_STUB(SecondaryColor3iEXT, 710, SecondaryColor3iEXT@12) - GL_STUB(SecondaryColor3ivEXT, 711, SecondaryColor3ivEXT@4) - GL_STUB(SecondaryColor3sEXT, 712, SecondaryColor3sEXT@12) - GL_STUB(SecondaryColor3svEXT, 713, SecondaryColor3svEXT@4) - GL_STUB(SecondaryColor3ubEXT, 714, SecondaryColor3ubEXT@12) - GL_STUB(SecondaryColor3ubvEXT, 715, SecondaryColor3ubvEXT@4) - GL_STUB(SecondaryColor3uiEXT, 716, SecondaryColor3uiEXT@12) - GL_STUB(SecondaryColor3uivEXT, 717, SecondaryColor3uivEXT@4) - GL_STUB(SecondaryColor3usEXT, 718, SecondaryColor3usEXT@12) - GL_STUB(SecondaryColor3usvEXT, 719, SecondaryColor3usvEXT@4) - GL_STUB(SecondaryColorPointerEXT, 720, SecondaryColorPointerEXT@16) - GL_STUB(MultiDrawArraysEXT, 721, MultiDrawArraysEXT@16) - GL_STUB(MultiDrawElementsEXT, 722, MultiDrawElementsEXT@20) - GL_STUB(FogCoordPointerEXT, 723, FogCoordPointerEXT@12) - GL_STUB(FogCoorddEXT, 724, FogCoorddEXT@8) - GL_STUB(FogCoorddvEXT, 725, FogCoorddvEXT@4) - GL_STUB(FogCoordfEXT, 726, FogCoordfEXT@4) - GL_STUB(FogCoordfvEXT, 727, FogCoordfvEXT@4) - GL_STUB(_dispatch_stub_728, 728, _dispatch_stub_728@4) - HIDDEN(GL_PREFIX(_dispatch_stub_728, _dispatch_stub_728@4)) - GL_STUB(BlendFuncSeparateEXT, 729, BlendFuncSeparateEXT@16) - GL_STUB(FlushVertexArrayRangeNV, 730, FlushVertexArrayRangeNV@0) - GL_STUB(VertexArrayRangeNV, 731, VertexArrayRangeNV@8) - GL_STUB(CombinerInputNV, 732, CombinerInputNV@24) - GL_STUB(CombinerOutputNV, 733, CombinerOutputNV@40) - GL_STUB(CombinerParameterfNV, 734, CombinerParameterfNV@8) - GL_STUB(CombinerParameterfvNV, 735, CombinerParameterfvNV@8) - GL_STUB(CombinerParameteriNV, 736, CombinerParameteriNV@8) - GL_STUB(CombinerParameterivNV, 737, CombinerParameterivNV@8) - GL_STUB(FinalCombinerInputNV, 738, FinalCombinerInputNV@16) - GL_STUB(GetCombinerInputParameterfvNV, 739, GetCombinerInputParameterfvNV@20) - GL_STUB(GetCombinerInputParameterivNV, 740, GetCombinerInputParameterivNV@20) - GL_STUB(GetCombinerOutputParameterfvNV, 741, GetCombinerOutputParameterfvNV@16) - GL_STUB(GetCombinerOutputParameterivNV, 742, GetCombinerOutputParameterivNV@16) - GL_STUB(GetFinalCombinerInputParameterfvNV, 743, GetFinalCombinerInputParameterfvNV@12) - GL_STUB(GetFinalCombinerInputParameterivNV, 744, GetFinalCombinerInputParameterivNV@12) - GL_STUB(ResizeBuffersMESA, 745, ResizeBuffersMESA@0) - GL_STUB(WindowPos2dMESA, 746, WindowPos2dMESA@16) - GL_STUB(WindowPos2dvMESA, 747, WindowPos2dvMESA@4) - GL_STUB(WindowPos2fMESA, 748, WindowPos2fMESA@8) - GL_STUB(WindowPos2fvMESA, 749, WindowPos2fvMESA@4) - GL_STUB(WindowPos2iMESA, 750, WindowPos2iMESA@8) - GL_STUB(WindowPos2ivMESA, 751, WindowPos2ivMESA@4) - GL_STUB(WindowPos2sMESA, 752, WindowPos2sMESA@8) - GL_STUB(WindowPos2svMESA, 753, WindowPos2svMESA@4) - GL_STUB(WindowPos3dMESA, 754, WindowPos3dMESA@24) - GL_STUB(WindowPos3dvMESA, 755, WindowPos3dvMESA@4) - GL_STUB(WindowPos3fMESA, 756, WindowPos3fMESA@12) - GL_STUB(WindowPos3fvMESA, 757, WindowPos3fvMESA@4) - GL_STUB(WindowPos3iMESA, 758, WindowPos3iMESA@12) - GL_STUB(WindowPos3ivMESA, 759, WindowPos3ivMESA@4) - GL_STUB(WindowPos3sMESA, 760, WindowPos3sMESA@12) - GL_STUB(WindowPos3svMESA, 761, WindowPos3svMESA@4) - GL_STUB(WindowPos4dMESA, 762, WindowPos4dMESA@32) - GL_STUB(WindowPos4dvMESA, 763, WindowPos4dvMESA@4) - GL_STUB(WindowPos4fMESA, 764, WindowPos4fMESA@16) - GL_STUB(WindowPos4fvMESA, 765, WindowPos4fvMESA@4) - GL_STUB(WindowPos4iMESA, 766, WindowPos4iMESA@16) - GL_STUB(WindowPos4ivMESA, 767, WindowPos4ivMESA@4) - GL_STUB(WindowPos4sMESA, 768, WindowPos4sMESA@16) - GL_STUB(WindowPos4svMESA, 769, WindowPos4svMESA@4) - GL_STUB(_dispatch_stub_770, 770, _dispatch_stub_770@20) - HIDDEN(GL_PREFIX(_dispatch_stub_770, _dispatch_stub_770@20)) - GL_STUB(_dispatch_stub_771, 771, _dispatch_stub_771@24) - HIDDEN(GL_PREFIX(_dispatch_stub_771, _dispatch_stub_771@24)) - GL_STUB(_dispatch_stub_772, 772, _dispatch_stub_772@8) - HIDDEN(GL_PREFIX(_dispatch_stub_772, _dispatch_stub_772@8)) - GL_STUB(_dispatch_stub_773, 773, _dispatch_stub_773@4) - HIDDEN(GL_PREFIX(_dispatch_stub_773, _dispatch_stub_773@4)) - GL_STUB(_dispatch_stub_774, 774, _dispatch_stub_774@8) - HIDDEN(GL_PREFIX(_dispatch_stub_774, _dispatch_stub_774@8)) - GL_STUB(_dispatch_stub_775, 775, _dispatch_stub_775@12) - HIDDEN(GL_PREFIX(_dispatch_stub_775, _dispatch_stub_775@12)) - GL_STUB(_dispatch_stub_776, 776, _dispatch_stub_776@4) - HIDDEN(GL_PREFIX(_dispatch_stub_776, _dispatch_stub_776@4)) - 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(AreProgramsResidentNV, 779, AreProgramsResidentNV@12) - GL_STUB(BindProgramNV, 780, BindProgramNV@8) - GL_STUB(DeleteProgramsNV, 781, DeleteProgramsNV@8) - GL_STUB(ExecuteProgramNV, 782, ExecuteProgramNV@12) - GL_STUB(GenProgramsNV, 783, GenProgramsNV@8) - GL_STUB(GetProgramParameterdvNV, 784, GetProgramParameterdvNV@16) - GL_STUB(GetProgramParameterfvNV, 785, GetProgramParameterfvNV@16) - GL_STUB(GetProgramStringNV, 786, GetProgramStringNV@12) - GL_STUB(GetProgramivNV, 787, GetProgramivNV@12) - GL_STUB(GetTrackMatrixivNV, 788, GetTrackMatrixivNV@16) - GL_STUB(GetVertexAttribPointervNV, 789, GetVertexAttribPointervNV@12) - GL_STUB(GetVertexAttribdvNV, 790, GetVertexAttribdvNV@12) - GL_STUB(GetVertexAttribfvNV, 791, GetVertexAttribfvNV@12) - GL_STUB(GetVertexAttribivNV, 792, GetVertexAttribivNV@12) - GL_STUB(IsProgramNV, 793, IsProgramNV@4) - GL_STUB(LoadProgramNV, 794, LoadProgramNV@16) - GL_STUB(ProgramParameters4dvNV, 795, ProgramParameters4dvNV@16) - GL_STUB(ProgramParameters4fvNV, 796, ProgramParameters4fvNV@16) - GL_STUB(RequestResidentProgramsNV, 797, RequestResidentProgramsNV@8) - GL_STUB(TrackMatrixNV, 798, TrackMatrixNV@16) - GL_STUB(VertexAttrib1dNV, 799, VertexAttrib1dNV@12) - GL_STUB(VertexAttrib1dvNV, 800, VertexAttrib1dvNV@8) - GL_STUB(VertexAttrib1fNV, 801, VertexAttrib1fNV@8) - GL_STUB(VertexAttrib1fvNV, 802, VertexAttrib1fvNV@8) - GL_STUB(VertexAttrib1sNV, 803, VertexAttrib1sNV@8) - GL_STUB(VertexAttrib1svNV, 804, VertexAttrib1svNV@8) - GL_STUB(VertexAttrib2dNV, 805, VertexAttrib2dNV@20) - GL_STUB(VertexAttrib2dvNV, 806, VertexAttrib2dvNV@8) - GL_STUB(VertexAttrib2fNV, 807, VertexAttrib2fNV@12) - GL_STUB(VertexAttrib2fvNV, 808, VertexAttrib2fvNV@8) - GL_STUB(VertexAttrib2sNV, 809, VertexAttrib2sNV@12) - GL_STUB(VertexAttrib2svNV, 810, VertexAttrib2svNV@8) - GL_STUB(VertexAttrib3dNV, 811, VertexAttrib3dNV@28) - GL_STUB(VertexAttrib3dvNV, 812, VertexAttrib3dvNV@8) - GL_STUB(VertexAttrib3fNV, 813, VertexAttrib3fNV@16) - GL_STUB(VertexAttrib3fvNV, 814, VertexAttrib3fvNV@8) - GL_STUB(VertexAttrib3sNV, 815, VertexAttrib3sNV@16) - GL_STUB(VertexAttrib3svNV, 816, VertexAttrib3svNV@8) - GL_STUB(VertexAttrib4dNV, 817, VertexAttrib4dNV@36) - GL_STUB(VertexAttrib4dvNV, 818, VertexAttrib4dvNV@8) - GL_STUB(VertexAttrib4fNV, 819, VertexAttrib4fNV@20) - GL_STUB(VertexAttrib4fvNV, 820, VertexAttrib4fvNV@8) - GL_STUB(VertexAttrib4sNV, 821, VertexAttrib4sNV@20) - GL_STUB(VertexAttrib4svNV, 822, VertexAttrib4svNV@8) - GL_STUB(VertexAttrib4ubNV, 823, VertexAttrib4ubNV@20) - GL_STUB(VertexAttrib4ubvNV, 824, VertexAttrib4ubvNV@8) - GL_STUB(VertexAttribPointerNV, 825, VertexAttribPointerNV@20) - GL_STUB(VertexAttribs1dvNV, 826, VertexAttribs1dvNV@12) - GL_STUB(VertexAttribs1fvNV, 827, VertexAttribs1fvNV@12) - GL_STUB(VertexAttribs1svNV, 828, VertexAttribs1svNV@12) - GL_STUB(VertexAttribs2dvNV, 829, VertexAttribs2dvNV@12) - GL_STUB(VertexAttribs2fvNV, 830, VertexAttribs2fvNV@12) - GL_STUB(VertexAttribs2svNV, 831, VertexAttribs2svNV@12) - GL_STUB(VertexAttribs3dvNV, 832, VertexAttribs3dvNV@12) - GL_STUB(VertexAttribs3fvNV, 833, VertexAttribs3fvNV@12) - GL_STUB(VertexAttribs3svNV, 834, VertexAttribs3svNV@12) - GL_STUB(VertexAttribs4dvNV, 835, VertexAttribs4dvNV@12) - GL_STUB(VertexAttribs4fvNV, 836, VertexAttribs4fvNV@12) - GL_STUB(VertexAttribs4svNV, 837, VertexAttribs4svNV@12) - GL_STUB(VertexAttribs4ubvNV, 838, VertexAttribs4ubvNV@12) - GL_STUB(GetTexBumpParameterfvATI, 839, GetTexBumpParameterfvATI@8) - GL_STUB(GetTexBumpParameterivATI, 840, GetTexBumpParameterivATI@8) - GL_STUB(TexBumpParameterfvATI, 841, TexBumpParameterfvATI@8) - GL_STUB(TexBumpParameterivATI, 842, TexBumpParameterivATI@8) - GL_STUB(AlphaFragmentOp1ATI, 843, AlphaFragmentOp1ATI@24) - GL_STUB(AlphaFragmentOp2ATI, 844, AlphaFragmentOp2ATI@36) - GL_STUB(AlphaFragmentOp3ATI, 845, AlphaFragmentOp3ATI@48) - GL_STUB(BeginFragmentShaderATI, 846, BeginFragmentShaderATI@0) - GL_STUB(BindFragmentShaderATI, 847, BindFragmentShaderATI@4) - GL_STUB(ColorFragmentOp1ATI, 848, ColorFragmentOp1ATI@28) - GL_STUB(ColorFragmentOp2ATI, 849, ColorFragmentOp2ATI@40) - GL_STUB(ColorFragmentOp3ATI, 850, ColorFragmentOp3ATI@52) - GL_STUB(DeleteFragmentShaderATI, 851, DeleteFragmentShaderATI@4) - GL_STUB(EndFragmentShaderATI, 852, EndFragmentShaderATI@0) - GL_STUB(GenFragmentShadersATI, 853, GenFragmentShadersATI@4) - GL_STUB(PassTexCoordATI, 854, PassTexCoordATI@12) - GL_STUB(SampleMapATI, 855, SampleMapATI@12) - GL_STUB(SetFragmentShaderConstantATI, 856, SetFragmentShaderConstantATI@8) - GL_STUB(PointParameteriNV, 857, PointParameteriNV@8) - GL_STUB(PointParameterivNV, 858, PointParameterivNV@8) - GL_STUB(_dispatch_stub_859, 859, _dispatch_stub_859@4) - HIDDEN(GL_PREFIX(_dispatch_stub_859, _dispatch_stub_859@4)) - GL_STUB(_dispatch_stub_860, 860, _dispatch_stub_860@4) - HIDDEN(GL_PREFIX(_dispatch_stub_860, _dispatch_stub_860@4)) - GL_STUB(_dispatch_stub_861, 861, _dispatch_stub_861@8) - HIDDEN(GL_PREFIX(_dispatch_stub_861, _dispatch_stub_861@8)) - GL_STUB(_dispatch_stub_862, 862, _dispatch_stub_862@8) - HIDDEN(GL_PREFIX(_dispatch_stub_862, _dispatch_stub_862@8)) - GL_STUB(_dispatch_stub_863, 863, _dispatch_stub_863@4) - HIDDEN(GL_PREFIX(_dispatch_stub_863, _dispatch_stub_863@4)) - GL_STUB(GetProgramNamedParameterdvNV, 864, GetProgramNamedParameterdvNV@16) - GL_STUB(GetProgramNamedParameterfvNV, 865, GetProgramNamedParameterfvNV@16) - GL_STUB(ProgramNamedParameter4dNV, 866, ProgramNamedParameter4dNV@44) - GL_STUB(ProgramNamedParameter4dvNV, 867, ProgramNamedParameter4dvNV@16) - GL_STUB(ProgramNamedParameter4fNV, 868, ProgramNamedParameter4fNV@28) - GL_STUB(ProgramNamedParameter4fvNV, 869, ProgramNamedParameter4fvNV@16) - GL_STUB(PrimitiveRestartIndexNV, 870, PrimitiveRestartIndexNV@4) - GL_STUB(PrimitiveRestartNV, 871, PrimitiveRestartNV@0) - GL_STUB(_dispatch_stub_872, 872, _dispatch_stub_872@16) - HIDDEN(GL_PREFIX(_dispatch_stub_872, _dispatch_stub_872@16)) - GL_STUB(_dispatch_stub_873, 873, _dispatch_stub_873@8) - HIDDEN(GL_PREFIX(_dispatch_stub_873, _dispatch_stub_873@8)) - GL_STUB(BindFramebufferEXT, 874, BindFramebufferEXT@8) - GL_STUB(BindRenderbufferEXT, 875, BindRenderbufferEXT@8) - GL_STUB(CheckFramebufferStatusEXT, 876, CheckFramebufferStatusEXT@4) - GL_STUB(DeleteFramebuffersEXT, 877, DeleteFramebuffersEXT@8) - GL_STUB(DeleteRenderbuffersEXT, 878, DeleteRenderbuffersEXT@8) - GL_STUB(FramebufferRenderbufferEXT, 879, FramebufferRenderbufferEXT@16) - GL_STUB(FramebufferTexture1DEXT, 880, FramebufferTexture1DEXT@20) - GL_STUB(FramebufferTexture2DEXT, 881, FramebufferTexture2DEXT@20) - GL_STUB(FramebufferTexture3DEXT, 882, FramebufferTexture3DEXT@24) - GL_STUB(GenFramebuffersEXT, 883, GenFramebuffersEXT@8) - GL_STUB(GenRenderbuffersEXT, 884, GenRenderbuffersEXT@8) - GL_STUB(GenerateMipmapEXT, 885, GenerateMipmapEXT@4) - GL_STUB(GetFramebufferAttachmentParameterivEXT, 886, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB(GetRenderbufferParameterivEXT, 887, GetRenderbufferParameterivEXT@12) - GL_STUB(IsFramebufferEXT, 888, IsFramebufferEXT@4) - GL_STUB(IsRenderbufferEXT, 889, IsRenderbufferEXT@4) - GL_STUB(RenderbufferStorageEXT, 890, RenderbufferStorageEXT@16) - GL_STUB(_dispatch_stub_891, 891, _dispatch_stub_891@40) - HIDDEN(GL_PREFIX(_dispatch_stub_891, _dispatch_stub_891@40)) - GL_STUB(_dispatch_stub_892, 892, _dispatch_stub_892@12) - HIDDEN(GL_PREFIX(_dispatch_stub_892, _dispatch_stub_892@12)) - GL_STUB(_dispatch_stub_893, 893, _dispatch_stub_893@12) - HIDDEN(GL_PREFIX(_dispatch_stub_893, _dispatch_stub_893@12)) - GL_STUB(BindFragDataLocationEXT, 894, BindFragDataLocationEXT@12) - GL_STUB(GetFragDataLocationEXT, 895, GetFragDataLocationEXT@8) - GL_STUB(GetUniformuivEXT, 896, GetUniformuivEXT@12) - GL_STUB(GetVertexAttribIivEXT, 897, GetVertexAttribIivEXT@12) - GL_STUB(GetVertexAttribIuivEXT, 898, GetVertexAttribIuivEXT@12) - GL_STUB(Uniform1uiEXT, 899, Uniform1uiEXT@8) - GL_STUB(Uniform1uivEXT, 900, Uniform1uivEXT@12) - GL_STUB(Uniform2uiEXT, 901, Uniform2uiEXT@12) - GL_STUB(Uniform2uivEXT, 902, Uniform2uivEXT@12) - GL_STUB(Uniform3uiEXT, 903, Uniform3uiEXT@16) - GL_STUB(Uniform3uivEXT, 904, Uniform3uivEXT@12) - GL_STUB(Uniform4uiEXT, 905, Uniform4uiEXT@20) - GL_STUB(Uniform4uivEXT, 906, Uniform4uivEXT@12) - GL_STUB(VertexAttribI1iEXT, 907, VertexAttribI1iEXT@8) - GL_STUB(VertexAttribI1ivEXT, 908, VertexAttribI1ivEXT@8) - GL_STUB(VertexAttribI1uiEXT, 909, VertexAttribI1uiEXT@8) - GL_STUB(VertexAttribI1uivEXT, 910, VertexAttribI1uivEXT@8) - GL_STUB(VertexAttribI2iEXT, 911, VertexAttribI2iEXT@12) - GL_STUB(VertexAttribI2ivEXT, 912, VertexAttribI2ivEXT@8) - GL_STUB(VertexAttribI2uiEXT, 913, VertexAttribI2uiEXT@12) - GL_STUB(VertexAttribI2uivEXT, 914, VertexAttribI2uivEXT@8) - GL_STUB(VertexAttribI3iEXT, 915, VertexAttribI3iEXT@16) - GL_STUB(VertexAttribI3ivEXT, 916, VertexAttribI3ivEXT@8) - GL_STUB(VertexAttribI3uiEXT, 917, VertexAttribI3uiEXT@16) - GL_STUB(VertexAttribI3uivEXT, 918, VertexAttribI3uivEXT@8) - GL_STUB(VertexAttribI4bvEXT, 919, VertexAttribI4bvEXT@8) - GL_STUB(VertexAttribI4iEXT, 920, VertexAttribI4iEXT@20) - GL_STUB(VertexAttribI4ivEXT, 921, VertexAttribI4ivEXT@8) - GL_STUB(VertexAttribI4svEXT, 922, VertexAttribI4svEXT@8) - GL_STUB(VertexAttribI4ubvEXT, 923, VertexAttribI4ubvEXT@8) - GL_STUB(VertexAttribI4uiEXT, 924, VertexAttribI4uiEXT@20) - GL_STUB(VertexAttribI4uivEXT, 925, VertexAttribI4uivEXT@8) - GL_STUB(VertexAttribI4usvEXT, 926, VertexAttribI4usvEXT@8) - GL_STUB(VertexAttribIPointerEXT, 927, VertexAttribIPointerEXT@20) - GL_STUB(FramebufferTextureLayerEXT, 928, FramebufferTextureLayerEXT@20) - GL_STUB(ColorMaskIndexedEXT, 929, ColorMaskIndexedEXT@20) - GL_STUB(DisableIndexedEXT, 930, DisableIndexedEXT@8) - GL_STUB(EnableIndexedEXT, 931, EnableIndexedEXT@8) - GL_STUB(GetBooleanIndexedvEXT, 932, GetBooleanIndexedvEXT@12) - GL_STUB(GetIntegerIndexedvEXT, 933, GetIntegerIndexedvEXT@12) - GL_STUB(IsEnabledIndexedEXT, 934, IsEnabledIndexedEXT@8) - GL_STUB(ClearColorIiEXT, 935, ClearColorIiEXT@16) - GL_STUB(ClearColorIuiEXT, 936, ClearColorIuiEXT@16) - GL_STUB(GetTexParameterIivEXT, 937, GetTexParameterIivEXT@12) - GL_STUB(GetTexParameterIuivEXT, 938, GetTexParameterIuivEXT@12) - GL_STUB(TexParameterIivEXT, 939, TexParameterIivEXT@12) - GL_STUB(TexParameterIuivEXT, 940, TexParameterIuivEXT@12) - GL_STUB(BeginConditionalRenderNV, 941, BeginConditionalRenderNV@8) - GL_STUB(EndConditionalRenderNV, 942, EndConditionalRenderNV@0) - GL_STUB(BeginTransformFeedbackEXT, 943, BeginTransformFeedbackEXT@4) - GL_STUB(BindBufferBaseEXT, 944, BindBufferBaseEXT@12) - GL_STUB(BindBufferOffsetEXT, 945, BindBufferOffsetEXT@16) - GL_STUB(BindBufferRangeEXT, 946, BindBufferRangeEXT@20) - GL_STUB(EndTransformFeedbackEXT, 947, EndTransformFeedbackEXT@0) - GL_STUB(GetTransformFeedbackVaryingEXT, 948, GetTransformFeedbackVaryingEXT@28) - GL_STUB(TransformFeedbackVaryingsEXT, 949, TransformFeedbackVaryingsEXT@16) - GL_STUB(ProvokingVertexEXT, 950, ProvokingVertexEXT@4) - GL_STUB(_dispatch_stub_951, 951, _dispatch_stub_951@12) - HIDDEN(GL_PREFIX(_dispatch_stub_951, _dispatch_stub_951@12)) - GL_STUB(_dispatch_stub_952, 952, _dispatch_stub_952@12) - HIDDEN(GL_PREFIX(_dispatch_stub_952, _dispatch_stub_952@12)) - GL_STUB(GetObjectParameterivAPPLE, 953, GetObjectParameterivAPPLE@16) - GL_STUB(ObjectPurgeableAPPLE, 954, ObjectPurgeableAPPLE@12) - GL_STUB(ObjectUnpurgeableAPPLE, 955, ObjectUnpurgeableAPPLE@12) - GL_STUB(ActiveProgramEXT, 956, ActiveProgramEXT@4) - GL_STUB(CreateShaderProgramEXT, 957, CreateShaderProgramEXT@8) - GL_STUB(UseShaderProgramEXT, 958, UseShaderProgramEXT@8) - GL_STUB(TextureBarrierNV, 959, TextureBarrierNV@0) - GL_STUB(_dispatch_stub_960, 960, _dispatch_stub_960@16) - HIDDEN(GL_PREFIX(_dispatch_stub_960, _dispatch_stub_960@16)) - GL_STUB(_dispatch_stub_961, 961, _dispatch_stub_961@16) - HIDDEN(GL_PREFIX(_dispatch_stub_961, _dispatch_stub_961@16)) - GL_STUB(_dispatch_stub_962, 962, _dispatch_stub_962@16) - HIDDEN(GL_PREFIX(_dispatch_stub_962, _dispatch_stub_962@16)) - GL_STUB(_dispatch_stub_963, 963, _dispatch_stub_963@12) - HIDDEN(GL_PREFIX(_dispatch_stub_963, _dispatch_stub_963@12)) - GL_STUB(_dispatch_stub_964, 964, _dispatch_stub_964@12) - HIDDEN(GL_PREFIX(_dispatch_stub_964, _dispatch_stub_964@12)) - GL_STUB(EGLImageTargetRenderbufferStorageOES, 965, EGLImageTargetRenderbufferStorageOES@8) - GL_STUB(EGLImageTargetTexture2DOES, 966, EGLImageTargetTexture2DOES@8) + GL_STUB(_dispatch_stub_693, 693, _dispatch_stub_693@8) + HIDDEN(GL_PREFIX(_dispatch_stub_693, _dispatch_stub_693@8)) + GL_STUB(_dispatch_stub_694, 694, _dispatch_stub_694@8) + HIDDEN(GL_PREFIX(_dispatch_stub_694, _dispatch_stub_694@8)) + GL_STUB(_dispatch_stub_695, 695, _dispatch_stub_695@8) + HIDDEN(GL_PREFIX(_dispatch_stub_695, _dispatch_stub_695@8)) + GL_STUB(_dispatch_stub_696, 696, _dispatch_stub_696@8) + HIDDEN(GL_PREFIX(_dispatch_stub_696, _dispatch_stub_696@8)) + 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@8) + HIDDEN(GL_PREFIX(_dispatch_stub_698, _dispatch_stub_698@8)) + GL_STUB(_dispatch_stub_699, 699, _dispatch_stub_699@4) + HIDDEN(GL_PREFIX(_dispatch_stub_699, _dispatch_stub_699@4)) + GL_STUB(ColorPointerEXT, 700, ColorPointerEXT@20) + GL_STUB(EdgeFlagPointerEXT, 701, EdgeFlagPointerEXT@12) + GL_STUB(IndexPointerEXT, 702, IndexPointerEXT@16) + GL_STUB(NormalPointerEXT, 703, NormalPointerEXT@16) + GL_STUB(TexCoordPointerEXT, 704, TexCoordPointerEXT@20) + GL_STUB(VertexPointerEXT, 705, VertexPointerEXT@20) + GL_STUB(PointParameterfEXT, 706, PointParameterfEXT@8) + GL_STUB(PointParameterfvEXT, 707, PointParameterfvEXT@8) + GL_STUB(LockArraysEXT, 708, LockArraysEXT@8) + GL_STUB(UnlockArraysEXT, 709, UnlockArraysEXT@0) + GL_STUB(SecondaryColor3bEXT, 710, SecondaryColor3bEXT@12) + GL_STUB(SecondaryColor3bvEXT, 711, SecondaryColor3bvEXT@4) + GL_STUB(SecondaryColor3dEXT, 712, SecondaryColor3dEXT@24) + GL_STUB(SecondaryColor3dvEXT, 713, SecondaryColor3dvEXT@4) + GL_STUB(SecondaryColor3fEXT, 714, SecondaryColor3fEXT@12) + GL_STUB(SecondaryColor3fvEXT, 715, SecondaryColor3fvEXT@4) + GL_STUB(SecondaryColor3iEXT, 716, SecondaryColor3iEXT@12) + GL_STUB(SecondaryColor3ivEXT, 717, SecondaryColor3ivEXT@4) + GL_STUB(SecondaryColor3sEXT, 718, SecondaryColor3sEXT@12) + GL_STUB(SecondaryColor3svEXT, 719, SecondaryColor3svEXT@4) + GL_STUB(SecondaryColor3ubEXT, 720, SecondaryColor3ubEXT@12) + GL_STUB(SecondaryColor3ubvEXT, 721, SecondaryColor3ubvEXT@4) + GL_STUB(SecondaryColor3uiEXT, 722, SecondaryColor3uiEXT@12) + GL_STUB(SecondaryColor3uivEXT, 723, SecondaryColor3uivEXT@4) + GL_STUB(SecondaryColor3usEXT, 724, SecondaryColor3usEXT@12) + GL_STUB(SecondaryColor3usvEXT, 725, SecondaryColor3usvEXT@4) + GL_STUB(SecondaryColorPointerEXT, 726, SecondaryColorPointerEXT@16) + GL_STUB(MultiDrawArraysEXT, 727, MultiDrawArraysEXT@16) + GL_STUB(MultiDrawElementsEXT, 728, MultiDrawElementsEXT@20) + GL_STUB(FogCoordPointerEXT, 729, FogCoordPointerEXT@12) + GL_STUB(FogCoorddEXT, 730, FogCoorddEXT@8) + GL_STUB(FogCoorddvEXT, 731, FogCoorddvEXT@4) + GL_STUB(FogCoordfEXT, 732, FogCoordfEXT@4) + GL_STUB(FogCoordfvEXT, 733, FogCoordfvEXT@4) + GL_STUB(_dispatch_stub_734, 734, _dispatch_stub_734@4) + HIDDEN(GL_PREFIX(_dispatch_stub_734, _dispatch_stub_734@4)) + GL_STUB(BlendFuncSeparateEXT, 735, BlendFuncSeparateEXT@16) + GL_STUB(FlushVertexArrayRangeNV, 736, FlushVertexArrayRangeNV@0) + GL_STUB(VertexArrayRangeNV, 737, VertexArrayRangeNV@8) + GL_STUB(CombinerInputNV, 738, CombinerInputNV@24) + GL_STUB(CombinerOutputNV, 739, CombinerOutputNV@40) + GL_STUB(CombinerParameterfNV, 740, CombinerParameterfNV@8) + GL_STUB(CombinerParameterfvNV, 741, CombinerParameterfvNV@8) + GL_STUB(CombinerParameteriNV, 742, CombinerParameteriNV@8) + GL_STUB(CombinerParameterivNV, 743, CombinerParameterivNV@8) + GL_STUB(FinalCombinerInputNV, 744, FinalCombinerInputNV@16) + GL_STUB(GetCombinerInputParameterfvNV, 745, GetCombinerInputParameterfvNV@20) + GL_STUB(GetCombinerInputParameterivNV, 746, GetCombinerInputParameterivNV@20) + GL_STUB(GetCombinerOutputParameterfvNV, 747, GetCombinerOutputParameterfvNV@16) + GL_STUB(GetCombinerOutputParameterivNV, 748, GetCombinerOutputParameterivNV@16) + GL_STUB(GetFinalCombinerInputParameterfvNV, 749, GetFinalCombinerInputParameterfvNV@12) + GL_STUB(GetFinalCombinerInputParameterivNV, 750, GetFinalCombinerInputParameterivNV@12) + GL_STUB(ResizeBuffersMESA, 751, ResizeBuffersMESA@0) + GL_STUB(WindowPos2dMESA, 752, WindowPos2dMESA@16) + GL_STUB(WindowPos2dvMESA, 753, WindowPos2dvMESA@4) + GL_STUB(WindowPos2fMESA, 754, WindowPos2fMESA@8) + GL_STUB(WindowPos2fvMESA, 755, WindowPos2fvMESA@4) + GL_STUB(WindowPos2iMESA, 756, WindowPos2iMESA@8) + GL_STUB(WindowPos2ivMESA, 757, WindowPos2ivMESA@4) + GL_STUB(WindowPos2sMESA, 758, WindowPos2sMESA@8) + GL_STUB(WindowPos2svMESA, 759, WindowPos2svMESA@4) + GL_STUB(WindowPos3dMESA, 760, WindowPos3dMESA@24) + GL_STUB(WindowPos3dvMESA, 761, WindowPos3dvMESA@4) + GL_STUB(WindowPos3fMESA, 762, WindowPos3fMESA@12) + GL_STUB(WindowPos3fvMESA, 763, WindowPos3fvMESA@4) + GL_STUB(WindowPos3iMESA, 764, WindowPos3iMESA@12) + GL_STUB(WindowPos3ivMESA, 765, WindowPos3ivMESA@4) + GL_STUB(WindowPos3sMESA, 766, WindowPos3sMESA@12) + GL_STUB(WindowPos3svMESA, 767, WindowPos3svMESA@4) + GL_STUB(WindowPos4dMESA, 768, WindowPos4dMESA@32) + GL_STUB(WindowPos4dvMESA, 769, WindowPos4dvMESA@4) + GL_STUB(WindowPos4fMESA, 770, WindowPos4fMESA@16) + GL_STUB(WindowPos4fvMESA, 771, WindowPos4fvMESA@4) + GL_STUB(WindowPos4iMESA, 772, WindowPos4iMESA@16) + GL_STUB(WindowPos4ivMESA, 773, WindowPos4ivMESA@4) + GL_STUB(WindowPos4sMESA, 774, WindowPos4sMESA@16) + GL_STUB(WindowPos4svMESA, 775, WindowPos4svMESA@4) + GL_STUB(_dispatch_stub_776, 776, _dispatch_stub_776@20) + HIDDEN(GL_PREFIX(_dispatch_stub_776, _dispatch_stub_776@20)) + GL_STUB(_dispatch_stub_777, 777, _dispatch_stub_777@24) + HIDDEN(GL_PREFIX(_dispatch_stub_777, _dispatch_stub_777@24)) + GL_STUB(_dispatch_stub_778, 778, _dispatch_stub_778@8) + HIDDEN(GL_PREFIX(_dispatch_stub_778, _dispatch_stub_778@8)) + GL_STUB(_dispatch_stub_779, 779, _dispatch_stub_779@4) + HIDDEN(GL_PREFIX(_dispatch_stub_779, _dispatch_stub_779@4)) + GL_STUB(_dispatch_stub_780, 780, _dispatch_stub_780@8) + HIDDEN(GL_PREFIX(_dispatch_stub_780, _dispatch_stub_780@8)) + GL_STUB(_dispatch_stub_781, 781, _dispatch_stub_781@12) + HIDDEN(GL_PREFIX(_dispatch_stub_781, _dispatch_stub_781@12)) + GL_STUB(_dispatch_stub_782, 782, _dispatch_stub_782@4) + HIDDEN(GL_PREFIX(_dispatch_stub_782, _dispatch_stub_782@4)) + GL_STUB(_dispatch_stub_783, 783, _dispatch_stub_783@8) + HIDDEN(GL_PREFIX(_dispatch_stub_783, _dispatch_stub_783@8)) + GL_STUB(_dispatch_stub_784, 784, _dispatch_stub_784@4) + HIDDEN(GL_PREFIX(_dispatch_stub_784, _dispatch_stub_784@4)) + GL_STUB(AreProgramsResidentNV, 785, AreProgramsResidentNV@12) + GL_STUB(BindProgramNV, 786, BindProgramNV@8) + GL_STUB(DeleteProgramsNV, 787, DeleteProgramsNV@8) + GL_STUB(ExecuteProgramNV, 788, ExecuteProgramNV@12) + GL_STUB(GenProgramsNV, 789, GenProgramsNV@8) + GL_STUB(GetProgramParameterdvNV, 790, GetProgramParameterdvNV@16) + GL_STUB(GetProgramParameterfvNV, 791, GetProgramParameterfvNV@16) + GL_STUB(GetProgramStringNV, 792, GetProgramStringNV@12) + GL_STUB(GetProgramivNV, 793, GetProgramivNV@12) + GL_STUB(GetTrackMatrixivNV, 794, GetTrackMatrixivNV@16) + GL_STUB(GetVertexAttribPointervNV, 795, GetVertexAttribPointervNV@12) + GL_STUB(GetVertexAttribdvNV, 796, GetVertexAttribdvNV@12) + GL_STUB(GetVertexAttribfvNV, 797, GetVertexAttribfvNV@12) + GL_STUB(GetVertexAttribivNV, 798, GetVertexAttribivNV@12) + GL_STUB(IsProgramNV, 799, IsProgramNV@4) + GL_STUB(LoadProgramNV, 800, LoadProgramNV@16) + GL_STUB(ProgramParameters4dvNV, 801, ProgramParameters4dvNV@16) + GL_STUB(ProgramParameters4fvNV, 802, ProgramParameters4fvNV@16) + GL_STUB(RequestResidentProgramsNV, 803, RequestResidentProgramsNV@8) + GL_STUB(TrackMatrixNV, 804, TrackMatrixNV@16) + GL_STUB(VertexAttrib1dNV, 805, VertexAttrib1dNV@12) + GL_STUB(VertexAttrib1dvNV, 806, VertexAttrib1dvNV@8) + GL_STUB(VertexAttrib1fNV, 807, VertexAttrib1fNV@8) + GL_STUB(VertexAttrib1fvNV, 808, VertexAttrib1fvNV@8) + GL_STUB(VertexAttrib1sNV, 809, VertexAttrib1sNV@8) + GL_STUB(VertexAttrib1svNV, 810, VertexAttrib1svNV@8) + GL_STUB(VertexAttrib2dNV, 811, VertexAttrib2dNV@20) + GL_STUB(VertexAttrib2dvNV, 812, VertexAttrib2dvNV@8) + GL_STUB(VertexAttrib2fNV, 813, VertexAttrib2fNV@12) + GL_STUB(VertexAttrib2fvNV, 814, VertexAttrib2fvNV@8) + GL_STUB(VertexAttrib2sNV, 815, VertexAttrib2sNV@12) + GL_STUB(VertexAttrib2svNV, 816, VertexAttrib2svNV@8) + GL_STUB(VertexAttrib3dNV, 817, VertexAttrib3dNV@28) + GL_STUB(VertexAttrib3dvNV, 818, VertexAttrib3dvNV@8) + GL_STUB(VertexAttrib3fNV, 819, VertexAttrib3fNV@16) + GL_STUB(VertexAttrib3fvNV, 820, VertexAttrib3fvNV@8) + GL_STUB(VertexAttrib3sNV, 821, VertexAttrib3sNV@16) + GL_STUB(VertexAttrib3svNV, 822, VertexAttrib3svNV@8) + GL_STUB(VertexAttrib4dNV, 823, VertexAttrib4dNV@36) + GL_STUB(VertexAttrib4dvNV, 824, VertexAttrib4dvNV@8) + GL_STUB(VertexAttrib4fNV, 825, VertexAttrib4fNV@20) + GL_STUB(VertexAttrib4fvNV, 826, VertexAttrib4fvNV@8) + GL_STUB(VertexAttrib4sNV, 827, VertexAttrib4sNV@20) + GL_STUB(VertexAttrib4svNV, 828, VertexAttrib4svNV@8) + GL_STUB(VertexAttrib4ubNV, 829, VertexAttrib4ubNV@20) + GL_STUB(VertexAttrib4ubvNV, 830, VertexAttrib4ubvNV@8) + GL_STUB(VertexAttribPointerNV, 831, VertexAttribPointerNV@20) + GL_STUB(VertexAttribs1dvNV, 832, VertexAttribs1dvNV@12) + GL_STUB(VertexAttribs1fvNV, 833, VertexAttribs1fvNV@12) + GL_STUB(VertexAttribs1svNV, 834, VertexAttribs1svNV@12) + GL_STUB(VertexAttribs2dvNV, 835, VertexAttribs2dvNV@12) + GL_STUB(VertexAttribs2fvNV, 836, VertexAttribs2fvNV@12) + GL_STUB(VertexAttribs2svNV, 837, VertexAttribs2svNV@12) + GL_STUB(VertexAttribs3dvNV, 838, VertexAttribs3dvNV@12) + GL_STUB(VertexAttribs3fvNV, 839, VertexAttribs3fvNV@12) + GL_STUB(VertexAttribs3svNV, 840, VertexAttribs3svNV@12) + GL_STUB(VertexAttribs4dvNV, 841, VertexAttribs4dvNV@12) + GL_STUB(VertexAttribs4fvNV, 842, VertexAttribs4fvNV@12) + GL_STUB(VertexAttribs4svNV, 843, VertexAttribs4svNV@12) + GL_STUB(VertexAttribs4ubvNV, 844, VertexAttribs4ubvNV@12) + GL_STUB(GetTexBumpParameterfvATI, 845, GetTexBumpParameterfvATI@8) + GL_STUB(GetTexBumpParameterivATI, 846, GetTexBumpParameterivATI@8) + GL_STUB(TexBumpParameterfvATI, 847, TexBumpParameterfvATI@8) + GL_STUB(TexBumpParameterivATI, 848, TexBumpParameterivATI@8) + GL_STUB(AlphaFragmentOp1ATI, 849, AlphaFragmentOp1ATI@24) + GL_STUB(AlphaFragmentOp2ATI, 850, AlphaFragmentOp2ATI@36) + GL_STUB(AlphaFragmentOp3ATI, 851, AlphaFragmentOp3ATI@48) + GL_STUB(BeginFragmentShaderATI, 852, BeginFragmentShaderATI@0) + GL_STUB(BindFragmentShaderATI, 853, BindFragmentShaderATI@4) + GL_STUB(ColorFragmentOp1ATI, 854, ColorFragmentOp1ATI@28) + GL_STUB(ColorFragmentOp2ATI, 855, ColorFragmentOp2ATI@40) + GL_STUB(ColorFragmentOp3ATI, 856, ColorFragmentOp3ATI@52) + GL_STUB(DeleteFragmentShaderATI, 857, DeleteFragmentShaderATI@4) + GL_STUB(EndFragmentShaderATI, 858, EndFragmentShaderATI@0) + GL_STUB(GenFragmentShadersATI, 859, GenFragmentShadersATI@4) + GL_STUB(PassTexCoordATI, 860, PassTexCoordATI@12) + GL_STUB(SampleMapATI, 861, SampleMapATI@12) + GL_STUB(SetFragmentShaderConstantATI, 862, SetFragmentShaderConstantATI@8) + GL_STUB(PointParameteriNV, 863, PointParameteriNV@8) + GL_STUB(PointParameterivNV, 864, PointParameterivNV@8) + GL_STUB(_dispatch_stub_865, 865, _dispatch_stub_865@4) + HIDDEN(GL_PREFIX(_dispatch_stub_865, _dispatch_stub_865@4)) + GL_STUB(_dispatch_stub_866, 866, _dispatch_stub_866@4) + HIDDEN(GL_PREFIX(_dispatch_stub_866, _dispatch_stub_866@4)) + GL_STUB(_dispatch_stub_867, 867, _dispatch_stub_867@8) + HIDDEN(GL_PREFIX(_dispatch_stub_867, _dispatch_stub_867@8)) + GL_STUB(_dispatch_stub_868, 868, _dispatch_stub_868@8) + HIDDEN(GL_PREFIX(_dispatch_stub_868, _dispatch_stub_868@8)) + GL_STUB(_dispatch_stub_869, 869, _dispatch_stub_869@4) + HIDDEN(GL_PREFIX(_dispatch_stub_869, _dispatch_stub_869@4)) + GL_STUB(GetProgramNamedParameterdvNV, 870, GetProgramNamedParameterdvNV@16) + GL_STUB(GetProgramNamedParameterfvNV, 871, GetProgramNamedParameterfvNV@16) + GL_STUB(ProgramNamedParameter4dNV, 872, ProgramNamedParameter4dNV@44) + GL_STUB(ProgramNamedParameter4dvNV, 873, ProgramNamedParameter4dvNV@16) + GL_STUB(ProgramNamedParameter4fNV, 874, ProgramNamedParameter4fNV@28) + GL_STUB(ProgramNamedParameter4fvNV, 875, ProgramNamedParameter4fvNV@16) + GL_STUB(PrimitiveRestartIndexNV, 876, PrimitiveRestartIndexNV@4) + GL_STUB(PrimitiveRestartNV, 877, PrimitiveRestartNV@0) + GL_STUB(_dispatch_stub_878, 878, _dispatch_stub_878@16) + HIDDEN(GL_PREFIX(_dispatch_stub_878, _dispatch_stub_878@16)) + GL_STUB(_dispatch_stub_879, 879, _dispatch_stub_879@8) + HIDDEN(GL_PREFIX(_dispatch_stub_879, _dispatch_stub_879@8)) + GL_STUB(BindFramebufferEXT, 880, BindFramebufferEXT@8) + GL_STUB(BindRenderbufferEXT, 881, BindRenderbufferEXT@8) + GL_STUB(CheckFramebufferStatusEXT, 882, CheckFramebufferStatusEXT@4) + GL_STUB(DeleteFramebuffersEXT, 883, DeleteFramebuffersEXT@8) + GL_STUB(DeleteRenderbuffersEXT, 884, DeleteRenderbuffersEXT@8) + GL_STUB(FramebufferRenderbufferEXT, 885, FramebufferRenderbufferEXT@16) + GL_STUB(FramebufferTexture1DEXT, 886, FramebufferTexture1DEXT@20) + GL_STUB(FramebufferTexture2DEXT, 887, FramebufferTexture2DEXT@20) + GL_STUB(FramebufferTexture3DEXT, 888, FramebufferTexture3DEXT@24) + GL_STUB(GenFramebuffersEXT, 889, GenFramebuffersEXT@8) + GL_STUB(GenRenderbuffersEXT, 890, GenRenderbuffersEXT@8) + GL_STUB(GenerateMipmapEXT, 891, GenerateMipmapEXT@4) + GL_STUB(GetFramebufferAttachmentParameterivEXT, 892, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB(GetRenderbufferParameterivEXT, 893, GetRenderbufferParameterivEXT@12) + GL_STUB(IsFramebufferEXT, 894, IsFramebufferEXT@4) + GL_STUB(IsRenderbufferEXT, 895, IsRenderbufferEXT@4) + GL_STUB(RenderbufferStorageEXT, 896, RenderbufferStorageEXT@16) + GL_STUB(_dispatch_stub_897, 897, _dispatch_stub_897@40) + HIDDEN(GL_PREFIX(_dispatch_stub_897, _dispatch_stub_897@40)) + GL_STUB(_dispatch_stub_898, 898, _dispatch_stub_898@12) + HIDDEN(GL_PREFIX(_dispatch_stub_898, _dispatch_stub_898@12)) + GL_STUB(_dispatch_stub_899, 899, _dispatch_stub_899@12) + HIDDEN(GL_PREFIX(_dispatch_stub_899, _dispatch_stub_899@12)) + GL_STUB(BindFragDataLocationEXT, 900, BindFragDataLocationEXT@12) + GL_STUB(GetFragDataLocationEXT, 901, GetFragDataLocationEXT@8) + GL_STUB(GetUniformuivEXT, 902, GetUniformuivEXT@12) + GL_STUB(GetVertexAttribIivEXT, 903, GetVertexAttribIivEXT@12) + GL_STUB(GetVertexAttribIuivEXT, 904, GetVertexAttribIuivEXT@12) + GL_STUB(Uniform1uiEXT, 905, Uniform1uiEXT@8) + GL_STUB(Uniform1uivEXT, 906, Uniform1uivEXT@12) + GL_STUB(Uniform2uiEXT, 907, Uniform2uiEXT@12) + GL_STUB(Uniform2uivEXT, 908, Uniform2uivEXT@12) + GL_STUB(Uniform3uiEXT, 909, Uniform3uiEXT@16) + GL_STUB(Uniform3uivEXT, 910, Uniform3uivEXT@12) + GL_STUB(Uniform4uiEXT, 911, Uniform4uiEXT@20) + GL_STUB(Uniform4uivEXT, 912, Uniform4uivEXT@12) + GL_STUB(VertexAttribI1iEXT, 913, VertexAttribI1iEXT@8) + GL_STUB(VertexAttribI1ivEXT, 914, VertexAttribI1ivEXT@8) + GL_STUB(VertexAttribI1uiEXT, 915, VertexAttribI1uiEXT@8) + GL_STUB(VertexAttribI1uivEXT, 916, VertexAttribI1uivEXT@8) + GL_STUB(VertexAttribI2iEXT, 917, VertexAttribI2iEXT@12) + GL_STUB(VertexAttribI2ivEXT, 918, VertexAttribI2ivEXT@8) + GL_STUB(VertexAttribI2uiEXT, 919, VertexAttribI2uiEXT@12) + GL_STUB(VertexAttribI2uivEXT, 920, VertexAttribI2uivEXT@8) + GL_STUB(VertexAttribI3iEXT, 921, VertexAttribI3iEXT@16) + GL_STUB(VertexAttribI3ivEXT, 922, VertexAttribI3ivEXT@8) + GL_STUB(VertexAttribI3uiEXT, 923, VertexAttribI3uiEXT@16) + GL_STUB(VertexAttribI3uivEXT, 924, VertexAttribI3uivEXT@8) + GL_STUB(VertexAttribI4bvEXT, 925, VertexAttribI4bvEXT@8) + GL_STUB(VertexAttribI4iEXT, 926, VertexAttribI4iEXT@20) + GL_STUB(VertexAttribI4ivEXT, 927, VertexAttribI4ivEXT@8) + GL_STUB(VertexAttribI4svEXT, 928, VertexAttribI4svEXT@8) + GL_STUB(VertexAttribI4ubvEXT, 929, VertexAttribI4ubvEXT@8) + GL_STUB(VertexAttribI4uiEXT, 930, VertexAttribI4uiEXT@20) + GL_STUB(VertexAttribI4uivEXT, 931, VertexAttribI4uivEXT@8) + GL_STUB(VertexAttribI4usvEXT, 932, VertexAttribI4usvEXT@8) + GL_STUB(VertexAttribIPointerEXT, 933, VertexAttribIPointerEXT@20) + GL_STUB(FramebufferTextureLayerEXT, 934, FramebufferTextureLayerEXT@20) + GL_STUB(ColorMaskIndexedEXT, 935, ColorMaskIndexedEXT@20) + GL_STUB(DisableIndexedEXT, 936, DisableIndexedEXT@8) + GL_STUB(EnableIndexedEXT, 937, EnableIndexedEXT@8) + GL_STUB(GetBooleanIndexedvEXT, 938, GetBooleanIndexedvEXT@12) + GL_STUB(GetIntegerIndexedvEXT, 939, GetIntegerIndexedvEXT@12) + GL_STUB(IsEnabledIndexedEXT, 940, IsEnabledIndexedEXT@8) + GL_STUB(ClearColorIiEXT, 941, ClearColorIiEXT@16) + GL_STUB(ClearColorIuiEXT, 942, ClearColorIuiEXT@16) + GL_STUB(GetTexParameterIivEXT, 943, GetTexParameterIivEXT@12) + GL_STUB(GetTexParameterIuivEXT, 944, GetTexParameterIuivEXT@12) + GL_STUB(TexParameterIivEXT, 945, TexParameterIivEXT@12) + GL_STUB(TexParameterIuivEXT, 946, TexParameterIuivEXT@12) + GL_STUB(BeginConditionalRenderNV, 947, BeginConditionalRenderNV@8) + GL_STUB(EndConditionalRenderNV, 948, EndConditionalRenderNV@0) + GL_STUB(BeginTransformFeedbackEXT, 949, BeginTransformFeedbackEXT@4) + GL_STUB(BindBufferBaseEXT, 950, BindBufferBaseEXT@12) + GL_STUB(BindBufferOffsetEXT, 951, BindBufferOffsetEXT@16) + GL_STUB(BindBufferRangeEXT, 952, BindBufferRangeEXT@20) + GL_STUB(EndTransformFeedbackEXT, 953, EndTransformFeedbackEXT@0) + GL_STUB(GetTransformFeedbackVaryingEXT, 954, GetTransformFeedbackVaryingEXT@28) + GL_STUB(TransformFeedbackVaryingsEXT, 955, TransformFeedbackVaryingsEXT@16) + GL_STUB(ProvokingVertexEXT, 956, ProvokingVertexEXT@4) + GL_STUB(_dispatch_stub_957, 957, _dispatch_stub_957@12) + HIDDEN(GL_PREFIX(_dispatch_stub_957, _dispatch_stub_957@12)) + GL_STUB(_dispatch_stub_958, 958, _dispatch_stub_958@12) + HIDDEN(GL_PREFIX(_dispatch_stub_958, _dispatch_stub_958@12)) + GL_STUB(GetObjectParameterivAPPLE, 959, GetObjectParameterivAPPLE@16) + GL_STUB(ObjectPurgeableAPPLE, 960, ObjectPurgeableAPPLE@12) + GL_STUB(ObjectUnpurgeableAPPLE, 961, ObjectUnpurgeableAPPLE@12) + GL_STUB(ActiveProgramEXT, 962, ActiveProgramEXT@4) + GL_STUB(CreateShaderProgramEXT, 963, CreateShaderProgramEXT@8) + GL_STUB(UseShaderProgramEXT, 964, UseShaderProgramEXT@8) + GL_STUB(TextureBarrierNV, 965, TextureBarrierNV@0) + GL_STUB(_dispatch_stub_966, 966, _dispatch_stub_966@16) + HIDDEN(GL_PREFIX(_dispatch_stub_966, _dispatch_stub_966@16)) + GL_STUB(_dispatch_stub_967, 967, _dispatch_stub_967@16) + HIDDEN(GL_PREFIX(_dispatch_stub_967, _dispatch_stub_967@16)) + GL_STUB(_dispatch_stub_968, 968, _dispatch_stub_968@16) + HIDDEN(GL_PREFIX(_dispatch_stub_968, _dispatch_stub_968@16)) + GL_STUB(_dispatch_stub_969, 969, _dispatch_stub_969@12) + HIDDEN(GL_PREFIX(_dispatch_stub_969, _dispatch_stub_969@12)) + GL_STUB(_dispatch_stub_970, 970, _dispatch_stub_970@12) + HIDDEN(GL_PREFIX(_dispatch_stub_970, _dispatch_stub_970@12)) + GL_STUB(EGLImageTargetRenderbufferStorageOES, 971, EGLImageTargetRenderbufferStorageOES@8) + GL_STUB(EGLImageTargetTexture2DOES, 972, 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) @@ -1346,152 +1352,152 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(BlendEquationIndexedAMD, 598, BlendEquationIndexedAMD@8, BlendEquationiARB, BlendEquationiARB@8) GL_STUB_ALIAS(BlendFuncSeparateIndexedAMD, 599, BlendFuncSeparateIndexedAMD@20, BlendFuncSeparateiARB, BlendFuncSeparateiARB@20) GL_STUB_ALIAS(BlendFuncIndexedAMD, 600, BlendFuncIndexedAMD@12, BlendFunciARB, BlendFunciARB@12) - GL_STUB_ALIAS(PointParameterf, 700, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfARB, 700, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfv, 701, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(PointParameterfvARB, 701, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(SecondaryColor3b, 704, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) - GL_STUB_ALIAS(SecondaryColor3bv, 705, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) - GL_STUB_ALIAS(SecondaryColor3d, 706, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) - GL_STUB_ALIAS(SecondaryColor3dv, 707, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) - GL_STUB_ALIAS(SecondaryColor3f, 708, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) - GL_STUB_ALIAS(SecondaryColor3fv, 709, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) - GL_STUB_ALIAS(SecondaryColor3i, 710, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) - GL_STUB_ALIAS(SecondaryColor3iv, 711, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) - GL_STUB_ALIAS(SecondaryColor3s, 712, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) - GL_STUB_ALIAS(SecondaryColor3sv, 713, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) - GL_STUB_ALIAS(SecondaryColor3ub, 714, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) - GL_STUB_ALIAS(SecondaryColor3ubv, 715, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) - GL_STUB_ALIAS(SecondaryColor3ui, 716, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) - GL_STUB_ALIAS(SecondaryColor3uiv, 717, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) - GL_STUB_ALIAS(SecondaryColor3us, 718, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) - GL_STUB_ALIAS(SecondaryColor3usv, 719, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) - GL_STUB_ALIAS(SecondaryColorPointer, 720, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) - GL_STUB_ALIAS(MultiDrawArrays, 721, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) - GL_STUB_ALIAS(MultiDrawElements, 722, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) - GL_STUB_ALIAS(FogCoordPointer, 723, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) - GL_STUB_ALIAS(FogCoordd, 724, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) - GL_STUB_ALIAS(FogCoorddv, 725, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) - GL_STUB_ALIAS(FogCoordf, 726, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) - GL_STUB_ALIAS(FogCoordfv, 727, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB_ALIAS(BlendFuncSeparate, 729, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) - GL_STUB_ALIAS(WindowPos2d, 746, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dARB, 746, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dv, 747, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2dvARB, 747, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2f, 748, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fARB, 748, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fv, 749, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2fvARB, 749, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2i, 750, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iARB, 750, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iv, 751, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2ivARB, 751, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2s, 752, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sARB, 752, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sv, 753, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos2svARB, 753, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos3d, 754, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dARB, 754, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dv, 755, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3dvARB, 755, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3f, 756, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fARB, 756, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fv, 757, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3fvARB, 757, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3i, 758, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iARB, 758, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iv, 759, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3ivARB, 759, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3s, 760, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sARB, 760, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sv, 761, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB_ALIAS(WindowPos3svARB, 761, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB_ALIAS(BindProgramARB, 780, BindProgramARB@8, BindProgramNV, BindProgramNV@8) - GL_STUB_ALIAS(DeleteProgramsARB, 781, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) - GL_STUB_ALIAS(GenProgramsARB, 783, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) - GL_STUB_ALIAS(GetVertexAttribPointerv, 789, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) - GL_STUB_ALIAS(GetVertexAttribPointervARB, 789, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) - GL_STUB_ALIAS(IsProgramARB, 793, IsProgramARB@4, IsProgramNV, IsProgramNV@4) - GL_STUB_ALIAS(PointParameteri, 857, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) - GL_STUB_ALIAS(PointParameteriv, 858, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) - GL_STUB_ALIAS(DeleteVertexArrays, 861, DeleteVertexArrays@8, _dispatch_stub_861, _dispatch_stub_861@8) - GL_STUB_ALIAS(IsVertexArray, 863, IsVertexArray@4, _dispatch_stub_863, _dispatch_stub_863@4) - GL_STUB_ALIAS(PrimitiveRestartIndex, 870, PrimitiveRestartIndex@4, PrimitiveRestartIndexNV, PrimitiveRestartIndexNV@4) - GL_STUB_ALIAS(BlendEquationSeparate, 873, BlendEquationSeparate@8, _dispatch_stub_873, _dispatch_stub_873@8) - GL_STUB_ALIAS(BindFramebuffer, 874, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) - GL_STUB_ALIAS(BindRenderbuffer, 875, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) - GL_STUB_ALIAS(CheckFramebufferStatus, 876, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) - GL_STUB_ALIAS(DeleteFramebuffers, 877, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) - GL_STUB_ALIAS(DeleteRenderbuffers, 878, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) - GL_STUB_ALIAS(FramebufferRenderbuffer, 879, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) - GL_STUB_ALIAS(FramebufferTexture1D, 880, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) - GL_STUB_ALIAS(FramebufferTexture2D, 881, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) - GL_STUB_ALIAS(FramebufferTexture3D, 882, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) - GL_STUB_ALIAS(GenFramebuffers, 883, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) - GL_STUB_ALIAS(GenRenderbuffers, 884, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) - GL_STUB_ALIAS(GenerateMipmap, 885, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) - GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, 886, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB_ALIAS(GetRenderbufferParameteriv, 887, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) - GL_STUB_ALIAS(IsFramebuffer, 888, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) - GL_STUB_ALIAS(IsRenderbuffer, 889, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) - GL_STUB_ALIAS(RenderbufferStorage, 890, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB_ALIAS(BlitFramebuffer, 891, BlitFramebuffer@40, _dispatch_stub_891, _dispatch_stub_891@40) - GL_STUB_ALIAS(BindFragDataLocation, 894, BindFragDataLocation@12, BindFragDataLocationEXT, BindFragDataLocationEXT@12) - GL_STUB_ALIAS(GetFragDataLocation, 895, GetFragDataLocation@8, GetFragDataLocationEXT, GetFragDataLocationEXT@8) - GL_STUB_ALIAS(GetUniformuiv, 896, GetUniformuiv@12, GetUniformuivEXT, GetUniformuivEXT@12) - GL_STUB_ALIAS(GetVertexAttribIiv, 897, GetVertexAttribIiv@12, GetVertexAttribIivEXT, GetVertexAttribIivEXT@12) - GL_STUB_ALIAS(GetVertexAttribIuiv, 898, GetVertexAttribIuiv@12, GetVertexAttribIuivEXT, GetVertexAttribIuivEXT@12) - GL_STUB_ALIAS(Uniform1ui, 899, Uniform1ui@8, Uniform1uiEXT, Uniform1uiEXT@8) - GL_STUB_ALIAS(Uniform1uiv, 900, Uniform1uiv@12, Uniform1uivEXT, Uniform1uivEXT@12) - GL_STUB_ALIAS(Uniform2ui, 901, Uniform2ui@12, Uniform2uiEXT, Uniform2uiEXT@12) - GL_STUB_ALIAS(Uniform2uiv, 902, Uniform2uiv@12, Uniform2uivEXT, Uniform2uivEXT@12) - GL_STUB_ALIAS(Uniform3ui, 903, Uniform3ui@16, Uniform3uiEXT, Uniform3uiEXT@16) - GL_STUB_ALIAS(Uniform3uiv, 904, Uniform3uiv@12, Uniform3uivEXT, Uniform3uivEXT@12) - GL_STUB_ALIAS(Uniform4ui, 905, Uniform4ui@20, Uniform4uiEXT, Uniform4uiEXT@20) - GL_STUB_ALIAS(Uniform4uiv, 906, Uniform4uiv@12, Uniform4uivEXT, Uniform4uivEXT@12) - GL_STUB_ALIAS(VertexAttribI1i, 907, VertexAttribI1i@8, VertexAttribI1iEXT, VertexAttribI1iEXT@8) - GL_STUB_ALIAS(VertexAttribI1iv, 908, VertexAttribI1iv@8, VertexAttribI1ivEXT, VertexAttribI1ivEXT@8) - GL_STUB_ALIAS(VertexAttribI1ui, 909, VertexAttribI1ui@8, VertexAttribI1uiEXT, VertexAttribI1uiEXT@8) - GL_STUB_ALIAS(VertexAttribI1uiv, 910, VertexAttribI1uiv@8, VertexAttribI1uivEXT, VertexAttribI1uivEXT@8) - GL_STUB_ALIAS(VertexAttribI2i, 911, VertexAttribI2i@12, VertexAttribI2iEXT, VertexAttribI2iEXT@12) - GL_STUB_ALIAS(VertexAttribI2iv, 912, VertexAttribI2iv@8, VertexAttribI2ivEXT, VertexAttribI2ivEXT@8) - GL_STUB_ALIAS(VertexAttribI2ui, 913, VertexAttribI2ui@12, VertexAttribI2uiEXT, VertexAttribI2uiEXT@12) - GL_STUB_ALIAS(VertexAttribI2uiv, 914, VertexAttribI2uiv@8, VertexAttribI2uivEXT, VertexAttribI2uivEXT@8) - GL_STUB_ALIAS(VertexAttribI3i, 915, VertexAttribI3i@16, VertexAttribI3iEXT, VertexAttribI3iEXT@16) - GL_STUB_ALIAS(VertexAttribI3iv, 916, VertexAttribI3iv@8, VertexAttribI3ivEXT, VertexAttribI3ivEXT@8) - GL_STUB_ALIAS(VertexAttribI3ui, 917, VertexAttribI3ui@16, VertexAttribI3uiEXT, VertexAttribI3uiEXT@16) - GL_STUB_ALIAS(VertexAttribI3uiv, 918, VertexAttribI3uiv@8, VertexAttribI3uivEXT, VertexAttribI3uivEXT@8) - GL_STUB_ALIAS(VertexAttribI4bv, 919, VertexAttribI4bv@8, VertexAttribI4bvEXT, VertexAttribI4bvEXT@8) - GL_STUB_ALIAS(VertexAttribI4i, 920, VertexAttribI4i@20, VertexAttribI4iEXT, VertexAttribI4iEXT@20) - GL_STUB_ALIAS(VertexAttribI4iv, 921, VertexAttribI4iv@8, VertexAttribI4ivEXT, VertexAttribI4ivEXT@8) - GL_STUB_ALIAS(VertexAttribI4sv, 922, VertexAttribI4sv@8, VertexAttribI4svEXT, VertexAttribI4svEXT@8) - GL_STUB_ALIAS(VertexAttribI4ubv, 923, VertexAttribI4ubv@8, VertexAttribI4ubvEXT, VertexAttribI4ubvEXT@8) - GL_STUB_ALIAS(VertexAttribI4ui, 924, VertexAttribI4ui@20, VertexAttribI4uiEXT, VertexAttribI4uiEXT@20) - GL_STUB_ALIAS(VertexAttribI4uiv, 925, VertexAttribI4uiv@8, VertexAttribI4uivEXT, VertexAttribI4uivEXT@8) - GL_STUB_ALIAS(VertexAttribI4usv, 926, VertexAttribI4usv@8, VertexAttribI4usvEXT, VertexAttribI4usvEXT@8) - GL_STUB_ALIAS(VertexAttribIPointer, 927, VertexAttribIPointer@20, VertexAttribIPointerEXT, VertexAttribIPointerEXT@20) - GL_STUB_ALIAS(FramebufferTextureLayer, 928, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) - GL_STUB_ALIAS(FramebufferTextureLayerARB, 928, FramebufferTextureLayerARB@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) - GL_STUB_ALIAS(ColorMaski, 929, ColorMaski@20, ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) - GL_STUB_ALIAS(Disablei, 930, Disablei@8, DisableIndexedEXT, DisableIndexedEXT@8) - GL_STUB_ALIAS(Enablei, 931, Enablei@8, EnableIndexedEXT, EnableIndexedEXT@8) - GL_STUB_ALIAS(GetBooleani_v, 932, GetBooleani_v@12, GetBooleanIndexedvEXT, GetBooleanIndexedvEXT@12) - GL_STUB_ALIAS(GetIntegeri_v, 933, GetIntegeri_v@12, GetIntegerIndexedvEXT, GetIntegerIndexedvEXT@12) - GL_STUB_ALIAS(IsEnabledi, 934, IsEnabledi@8, IsEnabledIndexedEXT, IsEnabledIndexedEXT@8) - GL_STUB_ALIAS(GetTexParameterIiv, 937, GetTexParameterIiv@12, GetTexParameterIivEXT, GetTexParameterIivEXT@12) - GL_STUB_ALIAS(GetTexParameterIuiv, 938, GetTexParameterIuiv@12, GetTexParameterIuivEXT, GetTexParameterIuivEXT@12) - GL_STUB_ALIAS(TexParameterIiv, 939, TexParameterIiv@12, TexParameterIivEXT, TexParameterIivEXT@12) - GL_STUB_ALIAS(TexParameterIuiv, 940, TexParameterIuiv@12, TexParameterIuivEXT, TexParameterIuivEXT@12) - GL_STUB_ALIAS(BeginConditionalRender, 941, BeginConditionalRender@8, BeginConditionalRenderNV, BeginConditionalRenderNV@8) - GL_STUB_ALIAS(EndConditionalRender, 942, EndConditionalRender@0, EndConditionalRenderNV, EndConditionalRenderNV@0) - GL_STUB_ALIAS(BeginTransformFeedback, 943, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) - GL_STUB_ALIAS(BindBufferBase, 944, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) - GL_STUB_ALIAS(BindBufferRange, 946, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) - GL_STUB_ALIAS(EndTransformFeedback, 947, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) - GL_STUB_ALIAS(GetTransformFeedbackVarying, 948, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) - GL_STUB_ALIAS(TransformFeedbackVaryings, 949, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) - GL_STUB_ALIAS(ProvokingVertex, 950, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) + GL_STUB_ALIAS(PointParameterf, 706, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfARB, 706, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfv, 707, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(PointParameterfvARB, 707, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(SecondaryColor3b, 710, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) + GL_STUB_ALIAS(SecondaryColor3bv, 711, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) + GL_STUB_ALIAS(SecondaryColor3d, 712, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) + GL_STUB_ALIAS(SecondaryColor3dv, 713, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) + GL_STUB_ALIAS(SecondaryColor3f, 714, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) + GL_STUB_ALIAS(SecondaryColor3fv, 715, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) + GL_STUB_ALIAS(SecondaryColor3i, 716, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) + GL_STUB_ALIAS(SecondaryColor3iv, 717, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) + GL_STUB_ALIAS(SecondaryColor3s, 718, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) + GL_STUB_ALIAS(SecondaryColor3sv, 719, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) + GL_STUB_ALIAS(SecondaryColor3ub, 720, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) + GL_STUB_ALIAS(SecondaryColor3ubv, 721, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) + GL_STUB_ALIAS(SecondaryColor3ui, 722, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) + GL_STUB_ALIAS(SecondaryColor3uiv, 723, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) + GL_STUB_ALIAS(SecondaryColor3us, 724, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) + GL_STUB_ALIAS(SecondaryColor3usv, 725, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) + GL_STUB_ALIAS(SecondaryColorPointer, 726, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) + GL_STUB_ALIAS(MultiDrawArrays, 727, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) + GL_STUB_ALIAS(MultiDrawElements, 728, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) + GL_STUB_ALIAS(FogCoordPointer, 729, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) + GL_STUB_ALIAS(FogCoordd, 730, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) + GL_STUB_ALIAS(FogCoorddv, 731, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) + GL_STUB_ALIAS(FogCoordf, 732, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) + GL_STUB_ALIAS(FogCoordfv, 733, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) + GL_STUB_ALIAS(BlendFuncSeparate, 735, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) + GL_STUB_ALIAS(WindowPos2d, 752, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dARB, 752, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dv, 753, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2dvARB, 753, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2f, 754, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fARB, 754, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fv, 755, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2fvARB, 755, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2i, 756, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iARB, 756, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iv, 757, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2ivARB, 757, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2s, 758, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sARB, 758, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sv, 759, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos2svARB, 759, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos3d, 760, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dARB, 760, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dv, 761, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3dvARB, 761, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3f, 762, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fARB, 762, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fv, 763, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3fvARB, 763, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3i, 764, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iARB, 764, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iv, 765, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3ivARB, 765, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3s, 766, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sARB, 766, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sv, 767, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(WindowPos3svARB, 767, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(BindProgramARB, 786, BindProgramARB@8, BindProgramNV, BindProgramNV@8) + GL_STUB_ALIAS(DeleteProgramsARB, 787, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) + GL_STUB_ALIAS(GenProgramsARB, 789, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) + GL_STUB_ALIAS(GetVertexAttribPointerv, 795, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(GetVertexAttribPointervARB, 795, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(IsProgramARB, 799, IsProgramARB@4, IsProgramNV, IsProgramNV@4) + GL_STUB_ALIAS(PointParameteri, 863, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) + GL_STUB_ALIAS(PointParameteriv, 864, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) + GL_STUB_ALIAS(DeleteVertexArrays, 867, DeleteVertexArrays@8, _dispatch_stub_867, _dispatch_stub_867@8) + GL_STUB_ALIAS(IsVertexArray, 869, IsVertexArray@4, _dispatch_stub_869, _dispatch_stub_869@4) + GL_STUB_ALIAS(PrimitiveRestartIndex, 876, PrimitiveRestartIndex@4, PrimitiveRestartIndexNV, PrimitiveRestartIndexNV@4) + GL_STUB_ALIAS(BlendEquationSeparate, 879, BlendEquationSeparate@8, _dispatch_stub_879, _dispatch_stub_879@8) + GL_STUB_ALIAS(BindFramebuffer, 880, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) + GL_STUB_ALIAS(BindRenderbuffer, 881, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) + GL_STUB_ALIAS(CheckFramebufferStatus, 882, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) + GL_STUB_ALIAS(DeleteFramebuffers, 883, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) + GL_STUB_ALIAS(DeleteRenderbuffers, 884, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) + GL_STUB_ALIAS(FramebufferRenderbuffer, 885, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) + GL_STUB_ALIAS(FramebufferTexture1D, 886, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) + GL_STUB_ALIAS(FramebufferTexture2D, 887, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) + GL_STUB_ALIAS(FramebufferTexture3D, 888, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) + GL_STUB_ALIAS(GenFramebuffers, 889, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) + GL_STUB_ALIAS(GenRenderbuffers, 890, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) + GL_STUB_ALIAS(GenerateMipmap, 891, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) + GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, 892, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB_ALIAS(GetRenderbufferParameteriv, 893, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) + GL_STUB_ALIAS(IsFramebuffer, 894, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) + GL_STUB_ALIAS(IsRenderbuffer, 895, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) + GL_STUB_ALIAS(RenderbufferStorage, 896, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) + GL_STUB_ALIAS(BlitFramebuffer, 897, BlitFramebuffer@40, _dispatch_stub_897, _dispatch_stub_897@40) + GL_STUB_ALIAS(BindFragDataLocation, 900, BindFragDataLocation@12, BindFragDataLocationEXT, BindFragDataLocationEXT@12) + GL_STUB_ALIAS(GetFragDataLocation, 901, GetFragDataLocation@8, GetFragDataLocationEXT, GetFragDataLocationEXT@8) + GL_STUB_ALIAS(GetUniformuiv, 902, GetUniformuiv@12, GetUniformuivEXT, GetUniformuivEXT@12) + GL_STUB_ALIAS(GetVertexAttribIiv, 903, GetVertexAttribIiv@12, GetVertexAttribIivEXT, GetVertexAttribIivEXT@12) + GL_STUB_ALIAS(GetVertexAttribIuiv, 904, GetVertexAttribIuiv@12, GetVertexAttribIuivEXT, GetVertexAttribIuivEXT@12) + GL_STUB_ALIAS(Uniform1ui, 905, Uniform1ui@8, Uniform1uiEXT, Uniform1uiEXT@8) + GL_STUB_ALIAS(Uniform1uiv, 906, Uniform1uiv@12, Uniform1uivEXT, Uniform1uivEXT@12) + GL_STUB_ALIAS(Uniform2ui, 907, Uniform2ui@12, Uniform2uiEXT, Uniform2uiEXT@12) + GL_STUB_ALIAS(Uniform2uiv, 908, Uniform2uiv@12, Uniform2uivEXT, Uniform2uivEXT@12) + GL_STUB_ALIAS(Uniform3ui, 909, Uniform3ui@16, Uniform3uiEXT, Uniform3uiEXT@16) + GL_STUB_ALIAS(Uniform3uiv, 910, Uniform3uiv@12, Uniform3uivEXT, Uniform3uivEXT@12) + GL_STUB_ALIAS(Uniform4ui, 911, Uniform4ui@20, Uniform4uiEXT, Uniform4uiEXT@20) + GL_STUB_ALIAS(Uniform4uiv, 912, Uniform4uiv@12, Uniform4uivEXT, Uniform4uivEXT@12) + GL_STUB_ALIAS(VertexAttribI1i, 913, VertexAttribI1i@8, VertexAttribI1iEXT, VertexAttribI1iEXT@8) + GL_STUB_ALIAS(VertexAttribI1iv, 914, VertexAttribI1iv@8, VertexAttribI1ivEXT, VertexAttribI1ivEXT@8) + GL_STUB_ALIAS(VertexAttribI1ui, 915, VertexAttribI1ui@8, VertexAttribI1uiEXT, VertexAttribI1uiEXT@8) + GL_STUB_ALIAS(VertexAttribI1uiv, 916, VertexAttribI1uiv@8, VertexAttribI1uivEXT, VertexAttribI1uivEXT@8) + GL_STUB_ALIAS(VertexAttribI2i, 917, VertexAttribI2i@12, VertexAttribI2iEXT, VertexAttribI2iEXT@12) + GL_STUB_ALIAS(VertexAttribI2iv, 918, VertexAttribI2iv@8, VertexAttribI2ivEXT, VertexAttribI2ivEXT@8) + GL_STUB_ALIAS(VertexAttribI2ui, 919, VertexAttribI2ui@12, VertexAttribI2uiEXT, VertexAttribI2uiEXT@12) + GL_STUB_ALIAS(VertexAttribI2uiv, 920, VertexAttribI2uiv@8, VertexAttribI2uivEXT, VertexAttribI2uivEXT@8) + GL_STUB_ALIAS(VertexAttribI3i, 921, VertexAttribI3i@16, VertexAttribI3iEXT, VertexAttribI3iEXT@16) + GL_STUB_ALIAS(VertexAttribI3iv, 922, VertexAttribI3iv@8, VertexAttribI3ivEXT, VertexAttribI3ivEXT@8) + GL_STUB_ALIAS(VertexAttribI3ui, 923, VertexAttribI3ui@16, VertexAttribI3uiEXT, VertexAttribI3uiEXT@16) + GL_STUB_ALIAS(VertexAttribI3uiv, 924, VertexAttribI3uiv@8, VertexAttribI3uivEXT, VertexAttribI3uivEXT@8) + GL_STUB_ALIAS(VertexAttribI4bv, 925, VertexAttribI4bv@8, VertexAttribI4bvEXT, VertexAttribI4bvEXT@8) + GL_STUB_ALIAS(VertexAttribI4i, 926, VertexAttribI4i@20, VertexAttribI4iEXT, VertexAttribI4iEXT@20) + GL_STUB_ALIAS(VertexAttribI4iv, 927, VertexAttribI4iv@8, VertexAttribI4ivEXT, VertexAttribI4ivEXT@8) + GL_STUB_ALIAS(VertexAttribI4sv, 928, VertexAttribI4sv@8, VertexAttribI4svEXT, VertexAttribI4svEXT@8) + GL_STUB_ALIAS(VertexAttribI4ubv, 929, VertexAttribI4ubv@8, VertexAttribI4ubvEXT, VertexAttribI4ubvEXT@8) + GL_STUB_ALIAS(VertexAttribI4ui, 930, VertexAttribI4ui@20, VertexAttribI4uiEXT, VertexAttribI4uiEXT@20) + GL_STUB_ALIAS(VertexAttribI4uiv, 931, VertexAttribI4uiv@8, VertexAttribI4uivEXT, VertexAttribI4uivEXT@8) + GL_STUB_ALIAS(VertexAttribI4usv, 932, VertexAttribI4usv@8, VertexAttribI4usvEXT, VertexAttribI4usvEXT@8) + GL_STUB_ALIAS(VertexAttribIPointer, 933, VertexAttribIPointer@20, VertexAttribIPointerEXT, VertexAttribIPointerEXT@20) + GL_STUB_ALIAS(FramebufferTextureLayer, 934, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) + GL_STUB_ALIAS(FramebufferTextureLayerARB, 934, FramebufferTextureLayerARB@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) + GL_STUB_ALIAS(ColorMaski, 935, ColorMaski@20, ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) + GL_STUB_ALIAS(Disablei, 936, Disablei@8, DisableIndexedEXT, DisableIndexedEXT@8) + GL_STUB_ALIAS(Enablei, 937, Enablei@8, EnableIndexedEXT, EnableIndexedEXT@8) + GL_STUB_ALIAS(GetBooleani_v, 938, GetBooleani_v@12, GetBooleanIndexedvEXT, GetBooleanIndexedvEXT@12) + GL_STUB_ALIAS(GetIntegeri_v, 939, GetIntegeri_v@12, GetIntegerIndexedvEXT, GetIntegerIndexedvEXT@12) + GL_STUB_ALIAS(IsEnabledi, 940, IsEnabledi@8, IsEnabledIndexedEXT, IsEnabledIndexedEXT@8) + GL_STUB_ALIAS(GetTexParameterIiv, 943, GetTexParameterIiv@12, GetTexParameterIivEXT, GetTexParameterIivEXT@12) + GL_STUB_ALIAS(GetTexParameterIuiv, 944, GetTexParameterIuiv@12, GetTexParameterIuivEXT, GetTexParameterIuivEXT@12) + GL_STUB_ALIAS(TexParameterIiv, 945, TexParameterIiv@12, TexParameterIivEXT, TexParameterIivEXT@12) + GL_STUB_ALIAS(TexParameterIuiv, 946, TexParameterIuiv@12, TexParameterIuivEXT, TexParameterIuivEXT@12) + GL_STUB_ALIAS(BeginConditionalRender, 947, BeginConditionalRender@8, BeginConditionalRenderNV, BeginConditionalRenderNV@8) + GL_STUB_ALIAS(EndConditionalRender, 948, EndConditionalRender@0, EndConditionalRenderNV, EndConditionalRenderNV@0) + GL_STUB_ALIAS(BeginTransformFeedback, 949, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) + GL_STUB_ALIAS(BindBufferBase, 950, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) + GL_STUB_ALIAS(BindBufferRange, 952, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) + GL_STUB_ALIAS(EndTransformFeedback, 953, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) + GL_STUB_ALIAS(GetTransformFeedbackVarying, 954, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) + GL_STUB_ALIAS(TransformFeedbackVaryings, 955, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) + GL_STUB_ALIAS(ProvokingVertex, 956, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) GLOBL GLNAME(gl_dispatch_functions_end) HIDDEN(GLNAME(gl_dispatch_functions_end)) diff --git a/mesalib/src/mapi/glapi/glapitable.h b/mesalib/src/mapi/glapi/glapitable.h index 2bce0b098..e5c5449a9 100644 --- a/mesalib/src/mapi/glapi/glapitable.h +++ b/mesalib/src/mapi/glapi/glapitable.h @@ -725,288 +725,294 @@ struct _glapi_table void (GLAPIENTRYP GetnUniformivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLint * params); /* 682 */ void (GLAPIENTRYP GetnUniformuivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint * params); /* 683 */ void (GLAPIENTRYP ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); /* 684 */ - void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 685 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 686 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 687 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 688 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 689 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 690 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 691 */ - void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 692 */ - void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 693 */ - void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 694 */ - void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 695 */ - void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 696 */ - void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 697 */ - void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 698 */ - void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 699 */ - void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 700 */ - void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 701 */ - void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 702 */ - void (GLAPIENTRYP UnlockArraysEXT)(void); /* 703 */ - void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 704 */ - void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 705 */ - void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 706 */ - void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 707 */ - void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 708 */ - void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 709 */ - void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 710 */ - void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 711 */ - void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 712 */ - void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 713 */ - void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 714 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 715 */ - void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 716 */ - void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 717 */ - void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 718 */ - void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 719 */ - void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 720 */ - void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 721 */ - void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 722 */ - void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 723 */ - void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 724 */ - void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 725 */ - void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 726 */ - void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 727 */ - void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 728 */ - void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 729 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 730 */ - void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 731 */ - void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 732 */ - void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 733 */ - void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 734 */ - void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 735 */ - void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 736 */ - void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 737 */ - void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 738 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 739 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 740 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 741 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 742 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 743 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 744 */ - void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 745 */ - void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 746 */ - void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 747 */ - void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 748 */ - void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 749 */ - void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 750 */ - void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 751 */ - void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 752 */ - void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 753 */ - void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 754 */ - void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 755 */ - void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 756 */ - void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 757 */ - void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 758 */ - void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 759 */ - void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 760 */ - void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 761 */ - void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 762 */ - void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 763 */ - void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 764 */ - void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 765 */ - void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 766 */ - void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 767 */ - void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 768 */ - void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 769 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 770 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 771 */ - void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 772 */ - void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 773 */ - void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 774 */ - void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 775 */ - GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 776 */ - void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 777 */ - GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 778 */ - GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 779 */ - void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 780 */ - void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 781 */ - void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 782 */ - void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 783 */ - void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 784 */ - void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 785 */ - void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 786 */ - void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 787 */ - void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 788 */ - void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 789 */ - void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 790 */ - void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 791 */ - void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 792 */ - GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 793 */ - void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 794 */ - void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 795 */ - void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 796 */ - void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 797 */ - void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 798 */ - void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 799 */ - void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 800 */ - void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 801 */ - void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 802 */ - void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 803 */ - void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 804 */ - void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 805 */ - void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 806 */ - void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 807 */ - void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 808 */ - void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 809 */ - void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 810 */ - void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 811 */ - void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 812 */ - void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 813 */ - void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 814 */ - void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 815 */ - void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 816 */ - void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 817 */ - void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 818 */ - void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 819 */ - void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 820 */ - void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 821 */ - void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 822 */ - void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 823 */ - void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 824 */ - void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 825 */ - void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 826 */ - void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 827 */ - void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 828 */ - void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 829 */ - void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 830 */ - void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 831 */ - void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 832 */ - void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 833 */ - void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 834 */ - void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 835 */ - void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 836 */ - void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 837 */ - void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 838 */ - void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 839 */ - void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 840 */ - void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 841 */ - void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 842 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 843 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 844 */ - 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); /* 845 */ - void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 846 */ - void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 847 */ - void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 848 */ - void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 849 */ - 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); /* 850 */ - void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 851 */ - void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 852 */ - GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 853 */ - void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 854 */ - void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 855 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 856 */ - void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 857 */ - void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 858 */ - void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 859 */ - void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 860 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 861 */ - void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 862 */ - GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 863 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 864 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 865 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 866 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 867 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 868 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 869 */ - void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 870 */ - void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 871 */ - void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 872 */ - void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 873 */ - void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 874 */ - void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 875 */ - GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 876 */ - void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 877 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 878 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 879 */ - void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 880 */ - void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 881 */ - void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 882 */ - void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 883 */ - void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 884 */ - void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 885 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 886 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 887 */ - GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 888 */ - GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 889 */ - void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 890 */ - void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 891 */ - void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 892 */ - void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 893 */ - void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 894 */ - GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 895 */ - void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 896 */ - void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 897 */ - void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 898 */ - void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 899 */ - void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 900 */ - void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 901 */ - void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 902 */ - void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 903 */ - void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 904 */ - void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 905 */ - void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 906 */ - void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 907 */ - void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 908 */ - void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 909 */ - void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 910 */ - void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 911 */ - void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 912 */ - void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 913 */ - void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 914 */ - void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 915 */ - void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 916 */ - void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 917 */ - void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 918 */ - void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 919 */ - void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 920 */ - void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 921 */ - void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 922 */ - void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 923 */ - void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 924 */ - void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 925 */ - void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 926 */ - void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 927 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 928 */ - void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 929 */ - void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 930 */ - void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 931 */ - void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 932 */ - void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 933 */ - GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 934 */ - void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 935 */ - void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 936 */ - void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 937 */ - void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 938 */ - void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 939 */ - void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 940 */ - void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 941 */ - void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 942 */ - void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 943 */ - void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 944 */ - void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 945 */ - void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 946 */ - void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 947 */ - void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 948 */ - void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 949 */ - void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 950 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 951 */ - void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 952 */ - void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 953 */ - GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 954 */ - GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 955 */ - void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 956 */ - GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 957 */ - void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 958 */ - void (GLAPIENTRYP TextureBarrierNV)(void); /* 959 */ - void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 960 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 961 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 962 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 963 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 964 */ - void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 965 */ - void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 966 */ + void (GLAPIENTRYP TexStorage1D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 685 */ + void (GLAPIENTRYP TexStorage2D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 686 */ + void (GLAPIENTRYP TexStorage3D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 687 */ + void (GLAPIENTRYP TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width); /* 688 */ + void (GLAPIENTRYP TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height); /* 689 */ + void (GLAPIENTRYP TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth); /* 690 */ + void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 691 */ + void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 692 */ + void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 693 */ + void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 694 */ + void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 695 */ + void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 696 */ + void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 697 */ + void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 698 */ + void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 699 */ + void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 700 */ + void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 701 */ + void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 702 */ + void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 703 */ + void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 704 */ + void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 705 */ + void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 706 */ + void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 707 */ + void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 708 */ + void (GLAPIENTRYP UnlockArraysEXT)(void); /* 709 */ + void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 710 */ + void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 711 */ + void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 712 */ + void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 713 */ + void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 714 */ + void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 715 */ + void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 716 */ + void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 717 */ + void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 718 */ + void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 719 */ + void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 720 */ + void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 721 */ + void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 722 */ + void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 723 */ + void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 724 */ + void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 725 */ + void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 726 */ + void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 727 */ + void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 728 */ + void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 729 */ + void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 730 */ + void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 731 */ + void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 732 */ + void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 733 */ + void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 734 */ + void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 735 */ + void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 736 */ + void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 737 */ + void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 738 */ + void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 739 */ + void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 740 */ + void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 741 */ + void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 742 */ + void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 743 */ + void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 744 */ + void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 745 */ + void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 746 */ + void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 747 */ + void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 748 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 749 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 750 */ + void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 751 */ + void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 752 */ + void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 753 */ + void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 754 */ + void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 755 */ + void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 756 */ + void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 757 */ + void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 758 */ + void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 759 */ + void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 760 */ + void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 761 */ + void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 762 */ + void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 763 */ + void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 764 */ + void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 765 */ + void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 766 */ + void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 767 */ + void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 768 */ + void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 769 */ + void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 770 */ + void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 771 */ + void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 772 */ + void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 773 */ + void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 774 */ + void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 775 */ + void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 776 */ + void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 777 */ + void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 778 */ + void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 779 */ + void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 780 */ + void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 781 */ + GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 782 */ + void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 783 */ + GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 784 */ + GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 785 */ + void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 786 */ + void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 787 */ + void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 788 */ + void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 789 */ + void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 790 */ + void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 791 */ + void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 792 */ + void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 793 */ + void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 794 */ + void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 795 */ + void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 796 */ + void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 797 */ + void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 798 */ + GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 799 */ + void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 800 */ + void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 801 */ + void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 802 */ + void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 803 */ + void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 804 */ + void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 805 */ + void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 806 */ + void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 807 */ + void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 808 */ + void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 809 */ + void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 810 */ + void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 811 */ + void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 812 */ + void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 813 */ + void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 814 */ + void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 815 */ + void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 816 */ + void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 817 */ + void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 818 */ + void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 819 */ + void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 820 */ + void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 821 */ + void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 822 */ + void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 823 */ + void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 824 */ + void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 825 */ + void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 826 */ + void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 827 */ + void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 828 */ + void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 829 */ + void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 830 */ + void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 831 */ + void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 832 */ + void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 833 */ + void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 834 */ + void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 835 */ + void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 836 */ + void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 837 */ + void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 838 */ + void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 839 */ + void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 840 */ + void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 841 */ + void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 842 */ + void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 843 */ + void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 844 */ + void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 845 */ + void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 846 */ + void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 847 */ + void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 848 */ + void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 849 */ + void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 850 */ + 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); /* 851 */ + void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 852 */ + void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 853 */ + void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 854 */ + void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 855 */ + 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); /* 856 */ + void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 857 */ + void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 858 */ + GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 859 */ + void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 860 */ + void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 861 */ + void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 862 */ + void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 863 */ + void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 864 */ + void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 865 */ + void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 866 */ + void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 867 */ + void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 868 */ + GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 869 */ + void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 870 */ + void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 871 */ + void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 872 */ + void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 873 */ + void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 874 */ + void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 875 */ + void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 876 */ + void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 877 */ + void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 878 */ + void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 879 */ + void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 880 */ + void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 881 */ + GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 882 */ + void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 883 */ + void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 884 */ + void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 885 */ + void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 886 */ + void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 887 */ + void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 888 */ + void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 889 */ + void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 890 */ + void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 891 */ + void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 892 */ + void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 893 */ + GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 894 */ + GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 895 */ + void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 896 */ + void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 897 */ + void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 898 */ + void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 899 */ + void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 900 */ + GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 901 */ + void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 902 */ + void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 903 */ + void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 904 */ + void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 905 */ + void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 906 */ + void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 907 */ + void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 908 */ + void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 909 */ + void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 910 */ + void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 911 */ + void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 912 */ + void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 913 */ + void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 914 */ + void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 915 */ + void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 916 */ + void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 917 */ + void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 918 */ + void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 919 */ + void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 920 */ + void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 921 */ + void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 922 */ + void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 923 */ + void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 924 */ + void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 925 */ + void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 926 */ + void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 927 */ + void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 928 */ + void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 929 */ + void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 930 */ + void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 931 */ + void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 932 */ + void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 933 */ + void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 934 */ + void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 935 */ + void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 936 */ + void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 937 */ + void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 938 */ + void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 939 */ + GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 940 */ + void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 941 */ + void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 942 */ + void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 943 */ + void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 944 */ + void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 945 */ + void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 946 */ + void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 947 */ + void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 948 */ + void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 949 */ + void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 950 */ + void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 951 */ + void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 952 */ + void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 953 */ + void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 954 */ + void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 955 */ + void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 956 */ + void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 957 */ + void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 958 */ + void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 959 */ + GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 960 */ + GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 961 */ + void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 962 */ + GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 963 */ + void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 964 */ + void (GLAPIENTRYP TextureBarrierNV)(void); /* 965 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 966 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 967 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 968 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 969 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 970 */ + void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 971 */ + void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 972 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/mesalib/src/mapi/glapi/glapitemp.h b/mesalib/src/mapi/glapi/glapitemp.h index a0282ddc0..a421d72c9 100644 --- a/mesalib/src/mapi/glapi/glapitemp.h +++ b/mesalib/src/mapi/glapi/glapitemp.h @@ -5372,71 +5372,107 @@ KEYWORD1 void KEYWORD2 NAME(ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLs DISPATCH(ReadnPixelsARB, (x, y, width, height, format, type, bufSize, data), (F, "glReadnPixelsARB(%d, %d, %d, %d, 0x%x, 0x%x, %d, %p);\n", x, y, width, height, format, type, bufSize, (const void *) data)); } +KEYWORD1 void KEYWORD2 NAME(TexStorage1D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width) +{ + (void) target; (void) levels; (void) internalFormat; (void) width; + DISPATCH(TexStorage1D, (target, levels, internalFormat, width), (F, "glTexStorage1D(0x%x, %d, 0x%x, %d);\n", target, levels, internalFormat, width)); +} + +KEYWORD1 void KEYWORD2 NAME(TexStorage2D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height) +{ + (void) target; (void) levels; (void) internalFormat; (void) width; (void) height; + DISPATCH(TexStorage2D, (target, levels, internalFormat, width, height), (F, "glTexStorage2D(0x%x, %d, 0x%x, %d, %d);\n", target, levels, internalFormat, width, height)); +} + +KEYWORD1 void KEYWORD2 NAME(TexStorage3D)(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth) +{ + (void) target; (void) levels; (void) internalFormat; (void) width; (void) height; (void) depth; + DISPATCH(TexStorage3D, (target, levels, internalFormat, width, height, depth), (F, "glTexStorage3D(0x%x, %d, 0x%x, %d, %d, %d);\n", target, levels, internalFormat, width, height, depth)); +} + +KEYWORD1 void KEYWORD2 NAME(TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width) +{ + (void) texture; (void) target; (void) levels; (void) internalFormat; (void) width; + DISPATCH(TextureStorage1DEXT, (texture, target, levels, internalFormat, width), (F, "glTextureStorage1DEXT(%d, 0x%x, %d, 0x%x, %d);\n", texture, target, levels, internalFormat, width)); +} + +KEYWORD1 void KEYWORD2 NAME(TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height) +{ + (void) texture; (void) target; (void) levels; (void) internalFormat; (void) width; (void) height; + DISPATCH(TextureStorage2DEXT, (texture, target, levels, internalFormat, width, height), (F, "glTextureStorage2DEXT(%d, 0x%x, %d, 0x%x, %d, %d);\n", texture, target, levels, internalFormat, width, height)); +} + +KEYWORD1 void KEYWORD2 NAME(TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth) +{ + (void) texture; (void) target; (void) levels; (void) internalFormat; (void) width; (void) height; (void) depth; + DISPATCH(TextureStorage3DEXT, (texture, target, levels, internalFormat, width, height, depth), (F, "glTextureStorage3DEXT(%d, 0x%x, %d, 0x%x, %d, %d, %d);\n", texture, target, levels, internalFormat, width, height, depth)); +} + KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) { (void) factor; (void) bias; DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_686)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_692)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_686)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_692)(GLenum pname, GLfloat * params) { (void) pname; (void) params; DISPATCH(GetPixelTexGenParameterfvSGIS, (pname, params), (F, "glGetPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_687)(GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_693)(GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_687)(GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_693)(GLenum pname, GLint * params) { (void) pname; (void) params; DISPATCH(GetPixelTexGenParameterivSGIS, (pname, params), (F, "glGetPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_688)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_694)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_688)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_694)(GLenum pname, GLfloat param) { (void) pname; (void) param; DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_689)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_695)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_689)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_695)(GLenum pname, const GLfloat * params) { (void) pname; (void) params; DISPATCH(PixelTexGenParameterfvSGIS, (pname, params), (F, "glPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_690)(GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_696)(GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_690)(GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_696)(GLenum pname, GLint param) { (void) pname; (void) param; DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_691)(GLenum pname, const GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_697)(GLenum pname, const GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_691)(GLenum pname, const GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_697)(GLenum pname, const GLint * params) { (void) pname; (void) params; DISPATCH(PixelTexGenParameterivSGIS, (pname, params), (F, "glPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_692)(GLclampf value, GLboolean invert); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_698)(GLclampf value, GLboolean invert); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_692)(GLclampf value, GLboolean invert) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_698)(GLclampf value, GLboolean invert) { (void) value; (void) invert; DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_693)(GLenum pattern); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_699)(GLenum pattern); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_693)(GLenum pattern) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_699)(GLenum pattern) { (void) pattern; DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern)); @@ -5496,9 +5532,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_700)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_706)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_700)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_706)(GLenum pname, GLfloat param) { (void) pname; (void) param; DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param)); @@ -5522,9 +5558,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_701)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_707)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_701)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_707)(GLenum pname, const GLfloat * params) { (void) pname; (void) params; DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); @@ -5829,9 +5865,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_728)(GLenum mode); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLenum mode); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_728)(GLenum mode) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLenum mode) { (void) mode; DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode)); @@ -5849,9 +5885,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_729)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_729)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { (void) sfactorRGB; (void) dfactorRGB; (void) sfactorAlpha; (void) dfactorAlpha; DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateINGR(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); @@ -6287,73 +6323,73 @@ 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_770)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_770)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_776)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) { (void) mode; (void) first; (void) count; (void) primcount; (void) 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_771)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_771)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) { (void) mode; (void) count; (void) type; (void) indices; (void) primcount; (void) 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_772)(GLsizei n, const GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_778)(GLsizei n, const GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_772)(GLsizei n, const GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_778)(GLsizei n, const GLuint * fences) { (void) n; (void) fences; DISPATCH(DeleteFencesNV, (n, fences), (F, "glDeleteFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_773)(GLuint fence); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_779)(GLuint fence); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_773)(GLuint fence) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_779)(GLuint fence) { (void) fence; DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLsizei n, GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLsizei n, GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_774)(GLsizei n, GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_780)(GLsizei n, GLuint * fences) { (void) n; (void) fences; DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLuint fence, GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLuint fence, GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_775)(GLuint fence, GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_781)(GLuint fence, GLenum pname, GLint * params) { (void) fence; (void) pname; (void) 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_776)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_782)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_776)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_782)(GLuint fence) { (void) fence; RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLuint fence, GLenum condition); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_783)(GLuint fence, GLenum condition); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_777)(GLuint fence, GLenum condition) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_783)(GLuint fence, GLenum condition) { (void) fence; (void) condition; DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_778)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_784)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_778)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_784)(GLuint fence) { (void) fence; RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence)); @@ -6885,17 +6921,17 @@ 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_859)(GLenum face); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_865)(GLenum face); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_859)(GLenum face) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_865)(GLenum face) { (void) face; DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_860)(GLuint array); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_866)(GLuint array); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_860)(GLuint array) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_866)(GLuint array) { (void) array; DISPATCH(BindVertexArrayAPPLE, (array), (F, "glBindVertexArrayAPPLE(%d);\n", array)); @@ -6907,17 +6943,17 @@ 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_861)(GLsizei n, const GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_867)(GLsizei n, const GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_861)(GLsizei n, const GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_867)(GLsizei n, const GLuint * arrays) { (void) n; (void) arrays; DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_862)(GLsizei n, GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_868)(GLsizei n, GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_862)(GLsizei n, GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_868)(GLsizei n, GLuint * arrays) { (void) n; (void) arrays; DISPATCH(GenVertexArraysAPPLE, (n, arrays), (F, "glGenVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); @@ -6929,9 +6965,9 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsVertexArray)(GLuint array) RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArray(%d);\n", array)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_863)(GLuint array); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_869)(GLuint array); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_863)(GLuint array) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_869)(GLuint array) { (void) array; RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArrayAPPLE(%d);\n", array)); @@ -6990,9 +7026,9 @@ KEYWORD1 void KEYWORD2 NAME(PrimitiveRestartNV)(void) DISPATCH(PrimitiveRestartNV, (), (F, "glPrimitiveRestartNV();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_872)(GLclampd zmin, GLclampd zmax); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_878)(GLclampd zmin, GLclampd zmax); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_872)(GLclampd zmin, GLclampd zmax) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_878)(GLclampd zmin, GLclampd zmax) { (void) zmin; (void) zmax; DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax)); @@ -7004,9 +7040,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_873)(GLenum modeRGB, GLenum modeA); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_879)(GLenum modeRGB, GLenum modeA); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_873)(GLenum modeRGB, GLenum modeA) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_879)(GLenum modeRGB, GLenum modeA) { (void) modeRGB; (void) modeA; DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA)); @@ -7222,25 +7258,25 @@ 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_891)(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_897)(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_891)(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_897)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { (void) srcX0; (void) srcY0; (void) srcX1; (void) srcY1; (void) dstX0; (void) dstY0; (void) dstX1; (void) dstY1; (void) mask; (void) 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_892)(GLenum target, GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_898)(GLenum target, GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_892)(GLenum target, GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_898)(GLenum target, GLenum pname, GLint param) { (void) target; (void) pname; (void) param; DISPATCH(BufferParameteriAPPLE, (target, pname, param), (F, "glBufferParameteriAPPLE(0x%x, 0x%x, %d);\n", target, pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_893)(GLenum target, GLintptr offset, GLsizeiptr size); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_899)(GLenum target, GLintptr offset, GLsizeiptr size); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_893)(GLenum target, GLintptr offset, GLsizeiptr size) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_899)(GLenum target, GLintptr offset, GLsizeiptr size) { (void) target; (void) offset; (void) size; DISPATCH(FlushMappedBufferRangeAPPLE, (target, offset, size), (F, "glFlushMappedBufferRangeAPPLE(0x%x, %d, %d);\n", target, offset, size)); @@ -7914,17 +7950,17 @@ KEYWORD1 void KEYWORD2 NAME(ProvokingVertex)(GLenum mode) DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertex(0x%x);\n", mode)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_951)(GLenum target, GLenum pname, GLvoid ** params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_957)(GLenum target, GLenum pname, GLvoid ** params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_951)(GLenum target, GLenum pname, GLvoid ** params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_957)(GLenum target, GLenum pname, GLvoid ** params) { (void) target; (void) pname; (void) 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_952)(GLenum target, GLsizei length, GLvoid * pointer); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_958)(GLenum target, GLsizei length, GLvoid * pointer); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_952)(GLenum target, GLsizei length, GLvoid * pointer) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_958)(GLenum target, GLsizei length, GLvoid * pointer) { (void) target; (void) length; (void) pointer; DISPATCH(TextureRangeAPPLE, (target, length, pointer), (F, "glTextureRangeAPPLE(0x%x, %d, %p);\n", target, length, (const void *) pointer)); @@ -7971,41 +8007,41 @@ KEYWORD1 void KEYWORD2 NAME(TextureBarrierNV)(void) DISPATCH(TextureBarrierNV, (), (F, "glTextureBarrierNV();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_960)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_966)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_960)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_966)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) { (void) frontfunc; (void) backfunc; (void) ref; (void) 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_961)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_967)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_961)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_967)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { (void) target; (void) index; (void) count; (void) 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_962)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_968)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_962)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_968)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { (void) target; (void) index; (void) count; (void) 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_963)(GLuint id, GLenum pname, GLint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_969)(GLuint id, GLenum pname, GLint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_963)(GLuint id, GLenum pname, GLint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_969)(GLuint id, GLenum pname, GLint64EXT * params) { (void) id; (void) pname; (void) 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_964)(GLuint id, GLenum pname, GLuint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_970)(GLuint id, GLenum pname, GLuint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_964)(GLuint id, GLenum pname, GLuint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_970)(GLuint id, GLenum pname, GLuint64EXT * params) { (void) id; (void) pname; (void) params; DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); @@ -8881,15 +8917,21 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetnUniformivARB), TABLE_ENTRY(GetnUniformuivARB), TABLE_ENTRY(ReadnPixelsARB), + TABLE_ENTRY(TexStorage1D), + TABLE_ENTRY(TexStorage2D), + TABLE_ENTRY(TexStorage3D), + TABLE_ENTRY(TextureStorage1DEXT), + TABLE_ENTRY(TextureStorage2DEXT), + TABLE_ENTRY(TextureStorage3DEXT), TABLE_ENTRY(PolygonOffsetEXT), - 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_694), + 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(ColorPointerEXT), TABLE_ENTRY(EdgeFlagPointerEXT), TABLE_ENTRY(IndexPointerEXT), @@ -8924,7 +8966,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FogCoorddvEXT), TABLE_ENTRY(FogCoordfEXT), TABLE_ENTRY(FogCoordfvEXT), - TABLE_ENTRY(_dispatch_stub_728), + TABLE_ENTRY(_dispatch_stub_734), TABLE_ENTRY(BlendFuncSeparateEXT), TABLE_ENTRY(FlushVertexArrayRangeNV), TABLE_ENTRY(VertexArrayRangeNV), @@ -8966,15 +9008,15 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(WindowPos4ivMESA), TABLE_ENTRY(WindowPos4sMESA), TABLE_ENTRY(WindowPos4svMESA), - TABLE_ENTRY(_dispatch_stub_770), - TABLE_ENTRY(_dispatch_stub_771), - TABLE_ENTRY(_dispatch_stub_772), - TABLE_ENTRY(_dispatch_stub_773), - 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_779), + TABLE_ENTRY(_dispatch_stub_780), + TABLE_ENTRY(_dispatch_stub_781), + TABLE_ENTRY(_dispatch_stub_782), + TABLE_ENTRY(_dispatch_stub_783), + TABLE_ENTRY(_dispatch_stub_784), TABLE_ENTRY(AreProgramsResidentNV), TABLE_ENTRY(BindProgramNV), TABLE_ENTRY(DeleteProgramsNV), @@ -9055,11 +9097,11 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(SetFragmentShaderConstantATI), TABLE_ENTRY(PointParameteriNV), TABLE_ENTRY(PointParameterivNV), - TABLE_ENTRY(_dispatch_stub_859), - TABLE_ENTRY(_dispatch_stub_860), - TABLE_ENTRY(_dispatch_stub_861), - TABLE_ENTRY(_dispatch_stub_862), - TABLE_ENTRY(_dispatch_stub_863), + TABLE_ENTRY(_dispatch_stub_865), + TABLE_ENTRY(_dispatch_stub_866), + TABLE_ENTRY(_dispatch_stub_867), + TABLE_ENTRY(_dispatch_stub_868), + TABLE_ENTRY(_dispatch_stub_869), TABLE_ENTRY(GetProgramNamedParameterdvNV), TABLE_ENTRY(GetProgramNamedParameterfvNV), TABLE_ENTRY(ProgramNamedParameter4dNV), @@ -9068,8 +9110,8 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(ProgramNamedParameter4fvNV), TABLE_ENTRY(PrimitiveRestartIndexNV), TABLE_ENTRY(PrimitiveRestartNV), - TABLE_ENTRY(_dispatch_stub_872), - TABLE_ENTRY(_dispatch_stub_873), + TABLE_ENTRY(_dispatch_stub_878), + TABLE_ENTRY(_dispatch_stub_879), TABLE_ENTRY(BindFramebufferEXT), TABLE_ENTRY(BindRenderbufferEXT), TABLE_ENTRY(CheckFramebufferStatusEXT), @@ -9087,9 +9129,9 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsFramebufferEXT), TABLE_ENTRY(IsRenderbufferEXT), TABLE_ENTRY(RenderbufferStorageEXT), - TABLE_ENTRY(_dispatch_stub_891), - TABLE_ENTRY(_dispatch_stub_892), - TABLE_ENTRY(_dispatch_stub_893), + TABLE_ENTRY(_dispatch_stub_897), + TABLE_ENTRY(_dispatch_stub_898), + TABLE_ENTRY(_dispatch_stub_899), TABLE_ENTRY(BindFragDataLocationEXT), TABLE_ENTRY(GetFragDataLocationEXT), TABLE_ENTRY(GetUniformuivEXT), @@ -9147,8 +9189,8 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetTransformFeedbackVaryingEXT), TABLE_ENTRY(TransformFeedbackVaryingsEXT), TABLE_ENTRY(ProvokingVertexEXT), - TABLE_ENTRY(_dispatch_stub_951), - TABLE_ENTRY(_dispatch_stub_952), + TABLE_ENTRY(_dispatch_stub_957), + TABLE_ENTRY(_dispatch_stub_958), TABLE_ENTRY(GetObjectParameterivAPPLE), TABLE_ENTRY(ObjectPurgeableAPPLE), TABLE_ENTRY(ObjectUnpurgeableAPPLE), @@ -9156,11 +9198,11 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(CreateShaderProgramEXT), TABLE_ENTRY(UseShaderProgramEXT), TABLE_ENTRY(TextureBarrierNV), - TABLE_ENTRY(_dispatch_stub_960), - TABLE_ENTRY(_dispatch_stub_961), - TABLE_ENTRY(_dispatch_stub_962), - TABLE_ENTRY(_dispatch_stub_963), - TABLE_ENTRY(_dispatch_stub_964), + TABLE_ENTRY(_dispatch_stub_966), + TABLE_ENTRY(_dispatch_stub_967), + TABLE_ENTRY(_dispatch_stub_968), + TABLE_ENTRY(_dispatch_stub_969), + TABLE_ENTRY(_dispatch_stub_970), TABLE_ENTRY(EGLImageTargetRenderbufferStorageOES), TABLE_ENTRY(EGLImageTargetTexture2DOES), /* A whole bunch of no-op functions. These might be called @@ -9472,10 +9514,10 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(BlendFuncIndexedAMD), TABLE_ENTRY(PointParameterf), TABLE_ENTRY(PointParameterfARB), - TABLE_ENTRY(_dispatch_stub_700), + TABLE_ENTRY(_dispatch_stub_706), TABLE_ENTRY(PointParameterfv), TABLE_ENTRY(PointParameterfvARB), - TABLE_ENTRY(_dispatch_stub_701), + TABLE_ENTRY(_dispatch_stub_707), TABLE_ENTRY(SecondaryColor3b), TABLE_ENTRY(SecondaryColor3bv), TABLE_ENTRY(SecondaryColor3d), @@ -9501,7 +9543,7 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(FogCoordf), TABLE_ENTRY(FogCoordfv), TABLE_ENTRY(BlendFuncSeparate), - TABLE_ENTRY(_dispatch_stub_729), + TABLE_ENTRY(_dispatch_stub_735), TABLE_ENTRY(WindowPos2d), TABLE_ENTRY(WindowPos2dARB), TABLE_ENTRY(WindowPos2dv), diff --git a/mesalib/src/mapi/glapi/glprocs.h b/mesalib/src/mapi/glapi/glprocs.h index 215dbcfcd..5227a0be8 100644 --- a/mesalib/src/mapi/glapi/glprocs.h +++ b/mesalib/src/mapi/glapi/glprocs.h @@ -737,6 +737,12 @@ static const char gl_string_table[] = "glGetnUniformivARB\0" "glGetnUniformuivARB\0" "glReadnPixelsARB\0" + "glTexStorage1D\0" + "glTexStorage2D\0" + "glTexStorage3D\0" + "glTextureStorage1DEXT\0" + "glTextureStorage2DEXT\0" + "glTextureStorage3DEXT\0" "glPolygonOffsetEXT\0" "glGetPixelTexGenParameterfvSGIS\0" "glGetPixelTexGenParameterivSGIS\0" @@ -1401,41 +1407,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_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_728 mgl_dispatch_stub_728 -#define gl_dispatch_stub_770 mgl_dispatch_stub_770 -#define gl_dispatch_stub_771 mgl_dispatch_stub_771 -#define gl_dispatch_stub_772 mgl_dispatch_stub_772 -#define gl_dispatch_stub_773 mgl_dispatch_stub_773 -#define gl_dispatch_stub_774 mgl_dispatch_stub_774 -#define gl_dispatch_stub_775 mgl_dispatch_stub_775 +#define gl_dispatch_stub_694 mgl_dispatch_stub_694 +#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_734 mgl_dispatch_stub_734 #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_859 mgl_dispatch_stub_859 -#define gl_dispatch_stub_860 mgl_dispatch_stub_860 -#define gl_dispatch_stub_861 mgl_dispatch_stub_861 -#define gl_dispatch_stub_862 mgl_dispatch_stub_862 -#define gl_dispatch_stub_863 mgl_dispatch_stub_863 -#define gl_dispatch_stub_872 mgl_dispatch_stub_872 -#define gl_dispatch_stub_873 mgl_dispatch_stub_873 -#define gl_dispatch_stub_891 mgl_dispatch_stub_891 -#define gl_dispatch_stub_892 mgl_dispatch_stub_892 -#define gl_dispatch_stub_893 mgl_dispatch_stub_893 -#define gl_dispatch_stub_951 mgl_dispatch_stub_951 -#define gl_dispatch_stub_952 mgl_dispatch_stub_952 -#define gl_dispatch_stub_960 mgl_dispatch_stub_960 -#define gl_dispatch_stub_961 mgl_dispatch_stub_961 -#define gl_dispatch_stub_962 mgl_dispatch_stub_962 -#define gl_dispatch_stub_963 mgl_dispatch_stub_963 -#define gl_dispatch_stub_964 mgl_dispatch_stub_964 +#define gl_dispatch_stub_779 mgl_dispatch_stub_779 +#define gl_dispatch_stub_780 mgl_dispatch_stub_780 +#define gl_dispatch_stub_781 mgl_dispatch_stub_781 +#define gl_dispatch_stub_782 mgl_dispatch_stub_782 +#define gl_dispatch_stub_783 mgl_dispatch_stub_783 +#define gl_dispatch_stub_784 mgl_dispatch_stub_784 +#define gl_dispatch_stub_865 mgl_dispatch_stub_865 +#define gl_dispatch_stub_866 mgl_dispatch_stub_866 +#define gl_dispatch_stub_867 mgl_dispatch_stub_867 +#define gl_dispatch_stub_868 mgl_dispatch_stub_868 +#define gl_dispatch_stub_869 mgl_dispatch_stub_869 +#define gl_dispatch_stub_878 mgl_dispatch_stub_878 +#define gl_dispatch_stub_879 mgl_dispatch_stub_879 +#define gl_dispatch_stub_897 mgl_dispatch_stub_897 +#define gl_dispatch_stub_898 mgl_dispatch_stub_898 +#define gl_dispatch_stub_899 mgl_dispatch_stub_899 +#define gl_dispatch_stub_957 mgl_dispatch_stub_957 +#define gl_dispatch_stub_958 mgl_dispatch_stub_958 +#define gl_dispatch_stub_966 mgl_dispatch_stub_966 +#define gl_dispatch_stub_967 mgl_dispatch_stub_967 +#define gl_dispatch_stub_968 mgl_dispatch_stub_968 +#define gl_dispatch_stub_969 mgl_dispatch_stub_969 +#define gl_dispatch_stub_970 mgl_dispatch_stub_970 #endif /* USE_MGL_NAMESPACE */ @@ -1453,41 +1459,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_686(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_687(GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_688(GLenum pname, GLfloat param); -void GLAPIENTRY gl_dispatch_stub_689(GLenum pname, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_690(GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_691(GLenum pname, const GLint * params); -void GLAPIENTRY gl_dispatch_stub_692(GLclampf value, GLboolean invert); -void GLAPIENTRY gl_dispatch_stub_693(GLenum pattern); -void GLAPIENTRY gl_dispatch_stub_728(GLenum mode); -void GLAPIENTRY gl_dispatch_stub_770(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_771(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_772(GLsizei n, const GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_773(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_774(GLsizei n, GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_775(GLuint fence, GLenum pname, GLint * params); -GLboolean GLAPIENTRY gl_dispatch_stub_776(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_777(GLuint fence, GLenum condition); -GLboolean GLAPIENTRY gl_dispatch_stub_778(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_859(GLenum face); -void GLAPIENTRY gl_dispatch_stub_860(GLuint array); -void GLAPIENTRY gl_dispatch_stub_861(GLsizei n, const GLuint * arrays); -void GLAPIENTRY gl_dispatch_stub_862(GLsizei n, GLuint * arrays); -GLboolean GLAPIENTRY gl_dispatch_stub_863(GLuint array); -void GLAPIENTRY gl_dispatch_stub_872(GLclampd zmin, GLclampd zmax); -void GLAPIENTRY gl_dispatch_stub_873(GLenum modeRGB, GLenum modeA); -void GLAPIENTRY gl_dispatch_stub_891(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_892(GLenum target, GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_893(GLenum target, GLintptr offset, GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_951(GLenum target, GLenum pname, GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_952(GLenum target, GLsizei length, GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_960(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_961(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_962(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_963(GLuint id, GLenum pname, GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_964(GLuint id, GLenum pname, GLuint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_692(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_693(GLenum pname, GLint * params); +void GLAPIENTRY gl_dispatch_stub_694(GLenum pname, GLfloat param); +void GLAPIENTRY gl_dispatch_stub_695(GLenum pname, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_696(GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_697(GLenum pname, const GLint * params); +void GLAPIENTRY gl_dispatch_stub_698(GLclampf value, GLboolean invert); +void GLAPIENTRY gl_dispatch_stub_699(GLenum pattern); +void GLAPIENTRY gl_dispatch_stub_734(GLenum mode); +void GLAPIENTRY gl_dispatch_stub_776(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_777(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_778(GLsizei n, const GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_779(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_780(GLsizei n, GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_781(GLuint fence, GLenum pname, GLint * params); +GLboolean GLAPIENTRY gl_dispatch_stub_782(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_783(GLuint fence, GLenum condition); +GLboolean GLAPIENTRY gl_dispatch_stub_784(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_865(GLenum face); +void GLAPIENTRY gl_dispatch_stub_866(GLuint array); +void GLAPIENTRY gl_dispatch_stub_867(GLsizei n, const GLuint * arrays); +void GLAPIENTRY gl_dispatch_stub_868(GLsizei n, GLuint * arrays); +GLboolean GLAPIENTRY gl_dispatch_stub_869(GLuint array); +void GLAPIENTRY gl_dispatch_stub_878(GLclampd zmin, GLclampd zmax); +void GLAPIENTRY gl_dispatch_stub_879(GLenum modeRGB, GLenum modeA); +void GLAPIENTRY gl_dispatch_stub_897(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_898(GLenum target, GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_899(GLenum target, GLintptr offset, GLsizeiptr size); +void GLAPIENTRY gl_dispatch_stub_957(GLenum target, GLenum pname, GLvoid ** params); +void GLAPIENTRY gl_dispatch_stub_958(GLenum target, GLsizei length, GLvoid * pointer); +void GLAPIENTRY gl_dispatch_stub_966(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +void GLAPIENTRY gl_dispatch_stub_967(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_968(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_969(GLuint id, GLenum pname, GLint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_970(GLuint id, GLenum pname, GLuint64EXT * params); #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { @@ -2176,653 +2182,659 @@ static const glprocs_table_t static_functions[] = { NAME_FUNC_OFFSET(11295, glGetnUniformivARB, glGetnUniformivARB, NULL, 682), NAME_FUNC_OFFSET(11314, glGetnUniformuivARB, glGetnUniformuivARB, NULL, 683), NAME_FUNC_OFFSET(11334, glReadnPixelsARB, glReadnPixelsARB, NULL, 684), - NAME_FUNC_OFFSET(11351, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 685), - NAME_FUNC_OFFSET(11370, gl_dispatch_stub_686, gl_dispatch_stub_686, NULL, 686), - NAME_FUNC_OFFSET(11402, gl_dispatch_stub_687, gl_dispatch_stub_687, NULL, 687), - NAME_FUNC_OFFSET(11434, gl_dispatch_stub_688, gl_dispatch_stub_688, NULL, 688), - NAME_FUNC_OFFSET(11462, gl_dispatch_stub_689, gl_dispatch_stub_689, NULL, 689), - NAME_FUNC_OFFSET(11491, gl_dispatch_stub_690, gl_dispatch_stub_690, NULL, 690), - NAME_FUNC_OFFSET(11519, gl_dispatch_stub_691, gl_dispatch_stub_691, NULL, 691), - NAME_FUNC_OFFSET(11548, gl_dispatch_stub_692, gl_dispatch_stub_692, NULL, 692), - NAME_FUNC_OFFSET(11565, gl_dispatch_stub_693, gl_dispatch_stub_693, NULL, 693), - NAME_FUNC_OFFSET(11585, glColorPointerEXT, glColorPointerEXT, NULL, 694), - NAME_FUNC_OFFSET(11603, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 695), - NAME_FUNC_OFFSET(11624, glIndexPointerEXT, glIndexPointerEXT, NULL, 696), - NAME_FUNC_OFFSET(11642, glNormalPointerEXT, glNormalPointerEXT, NULL, 697), - NAME_FUNC_OFFSET(11661, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 698), - NAME_FUNC_OFFSET(11682, glVertexPointerEXT, glVertexPointerEXT, NULL, 699), - NAME_FUNC_OFFSET(11701, glPointParameterfEXT, glPointParameterfEXT, NULL, 700), - NAME_FUNC_OFFSET(11722, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 701), - NAME_FUNC_OFFSET(11744, glLockArraysEXT, glLockArraysEXT, NULL, 702), - NAME_FUNC_OFFSET(11760, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 703), - NAME_FUNC_OFFSET(11778, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 704), - NAME_FUNC_OFFSET(11800, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 705), - NAME_FUNC_OFFSET(11823, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 706), - NAME_FUNC_OFFSET(11845, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 707), - NAME_FUNC_OFFSET(11868, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 708), - NAME_FUNC_OFFSET(11890, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 709), - NAME_FUNC_OFFSET(11913, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 710), - NAME_FUNC_OFFSET(11935, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 711), - NAME_FUNC_OFFSET(11958, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 712), - NAME_FUNC_OFFSET(11980, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 713), - NAME_FUNC_OFFSET(12003, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 714), - NAME_FUNC_OFFSET(12026, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 715), - NAME_FUNC_OFFSET(12050, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 716), - NAME_FUNC_OFFSET(12073, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 717), - NAME_FUNC_OFFSET(12097, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 718), - NAME_FUNC_OFFSET(12120, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 719), - NAME_FUNC_OFFSET(12144, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 720), - NAME_FUNC_OFFSET(12171, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 721), - NAME_FUNC_OFFSET(12192, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 722), - NAME_FUNC_OFFSET(12215, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 723), - NAME_FUNC_OFFSET(12236, glFogCoorddEXT, glFogCoorddEXT, NULL, 724), - NAME_FUNC_OFFSET(12251, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 725), - NAME_FUNC_OFFSET(12267, glFogCoordfEXT, glFogCoordfEXT, NULL, 726), - NAME_FUNC_OFFSET(12282, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 727), - NAME_FUNC_OFFSET(12298, gl_dispatch_stub_728, gl_dispatch_stub_728, NULL, 728), - NAME_FUNC_OFFSET(12316, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 729), - NAME_FUNC_OFFSET(12339, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, 730), - NAME_FUNC_OFFSET(12365, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, 731), - NAME_FUNC_OFFSET(12386, glCombinerInputNV, glCombinerInputNV, NULL, 732), - NAME_FUNC_OFFSET(12404, glCombinerOutputNV, glCombinerOutputNV, NULL, 733), - NAME_FUNC_OFFSET(12423, glCombinerParameterfNV, glCombinerParameterfNV, NULL, 734), - NAME_FUNC_OFFSET(12446, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, 735), - NAME_FUNC_OFFSET(12470, glCombinerParameteriNV, glCombinerParameteriNV, NULL, 736), - NAME_FUNC_OFFSET(12493, glCombinerParameterivNV, glCombinerParameterivNV, NULL, 737), - NAME_FUNC_OFFSET(12517, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, 738), - NAME_FUNC_OFFSET(12540, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, 739), - NAME_FUNC_OFFSET(12572, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, 740), - NAME_FUNC_OFFSET(12604, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, 741), - NAME_FUNC_OFFSET(12637, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, 742), - NAME_FUNC_OFFSET(12670, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, 743), - NAME_FUNC_OFFSET(12707, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, 744), - NAME_FUNC_OFFSET(12744, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 745), - NAME_FUNC_OFFSET(12764, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 746), - NAME_FUNC_OFFSET(12782, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 747), - NAME_FUNC_OFFSET(12801, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 748), - NAME_FUNC_OFFSET(12819, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 749), - NAME_FUNC_OFFSET(12838, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 750), - NAME_FUNC_OFFSET(12856, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 751), - NAME_FUNC_OFFSET(12875, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 752), - NAME_FUNC_OFFSET(12893, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 753), - NAME_FUNC_OFFSET(12912, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 754), - NAME_FUNC_OFFSET(12930, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 755), - NAME_FUNC_OFFSET(12949, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 756), - NAME_FUNC_OFFSET(12967, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 757), - NAME_FUNC_OFFSET(12986, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 758), - NAME_FUNC_OFFSET(13004, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 759), - NAME_FUNC_OFFSET(13023, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 760), - NAME_FUNC_OFFSET(13041, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 761), - NAME_FUNC_OFFSET(13060, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 762), - NAME_FUNC_OFFSET(13078, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 763), - NAME_FUNC_OFFSET(13097, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 764), - NAME_FUNC_OFFSET(13115, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 765), - NAME_FUNC_OFFSET(13134, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 766), - NAME_FUNC_OFFSET(13152, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 767), - NAME_FUNC_OFFSET(13171, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 768), - NAME_FUNC_OFFSET(13189, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 769), - NAME_FUNC_OFFSET(13208, gl_dispatch_stub_770, gl_dispatch_stub_770, NULL, 770), - NAME_FUNC_OFFSET(13233, gl_dispatch_stub_771, gl_dispatch_stub_771, NULL, 771), - NAME_FUNC_OFFSET(13260, gl_dispatch_stub_772, gl_dispatch_stub_772, NULL, 772), - NAME_FUNC_OFFSET(13277, gl_dispatch_stub_773, gl_dispatch_stub_773, NULL, 773), - NAME_FUNC_OFFSET(13293, gl_dispatch_stub_774, gl_dispatch_stub_774, NULL, 774), - NAME_FUNC_OFFSET(13307, gl_dispatch_stub_775, gl_dispatch_stub_775, NULL, 775), - NAME_FUNC_OFFSET(13322, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, 776), - NAME_FUNC_OFFSET(13334, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, 777), - NAME_FUNC_OFFSET(13347, gl_dispatch_stub_778, gl_dispatch_stub_778, NULL, 778), - NAME_FUNC_OFFSET(13361, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 779), - NAME_FUNC_OFFSET(13385, glBindProgramNV, glBindProgramNV, NULL, 780), - NAME_FUNC_OFFSET(13401, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 781), - NAME_FUNC_OFFSET(13420, glExecuteProgramNV, glExecuteProgramNV, NULL, 782), - NAME_FUNC_OFFSET(13439, glGenProgramsNV, glGenProgramsNV, NULL, 783), - NAME_FUNC_OFFSET(13455, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 784), - NAME_FUNC_OFFSET(13481, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 785), - NAME_FUNC_OFFSET(13507, glGetProgramStringNV, glGetProgramStringNV, NULL, 786), - NAME_FUNC_OFFSET(13528, glGetProgramivNV, glGetProgramivNV, NULL, 787), - NAME_FUNC_OFFSET(13545, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 788), - NAME_FUNC_OFFSET(13566, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 789), - NAME_FUNC_OFFSET(13594, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 790), - NAME_FUNC_OFFSET(13616, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 791), - NAME_FUNC_OFFSET(13638, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 792), - NAME_FUNC_OFFSET(13660, glIsProgramNV, glIsProgramNV, NULL, 793), - NAME_FUNC_OFFSET(13674, glLoadProgramNV, glLoadProgramNV, NULL, 794), - NAME_FUNC_OFFSET(13690, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 795), - NAME_FUNC_OFFSET(13715, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 796), - NAME_FUNC_OFFSET(13740, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 797), - NAME_FUNC_OFFSET(13768, glTrackMatrixNV, glTrackMatrixNV, NULL, 798), - NAME_FUNC_OFFSET(13784, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 799), - NAME_FUNC_OFFSET(13803, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 800), - NAME_FUNC_OFFSET(13823, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 801), - NAME_FUNC_OFFSET(13842, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 802), - NAME_FUNC_OFFSET(13862, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 803), - NAME_FUNC_OFFSET(13881, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 804), - NAME_FUNC_OFFSET(13901, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 805), - NAME_FUNC_OFFSET(13920, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 806), - NAME_FUNC_OFFSET(13940, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 807), - NAME_FUNC_OFFSET(13959, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 808), - NAME_FUNC_OFFSET(13979, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 809), - NAME_FUNC_OFFSET(13998, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 810), - NAME_FUNC_OFFSET(14018, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 811), - NAME_FUNC_OFFSET(14037, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 812), - NAME_FUNC_OFFSET(14057, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 813), - NAME_FUNC_OFFSET(14076, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 814), - NAME_FUNC_OFFSET(14096, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 815), - NAME_FUNC_OFFSET(14115, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 816), - NAME_FUNC_OFFSET(14135, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 817), - NAME_FUNC_OFFSET(14154, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 818), - NAME_FUNC_OFFSET(14174, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 819), - NAME_FUNC_OFFSET(14193, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 820), - NAME_FUNC_OFFSET(14213, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 821), - NAME_FUNC_OFFSET(14232, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 822), - NAME_FUNC_OFFSET(14252, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 823), - NAME_FUNC_OFFSET(14272, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 824), - NAME_FUNC_OFFSET(14293, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 825), - NAME_FUNC_OFFSET(14317, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 826), - NAME_FUNC_OFFSET(14338, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 827), - NAME_FUNC_OFFSET(14359, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 828), - NAME_FUNC_OFFSET(14380, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 829), - NAME_FUNC_OFFSET(14401, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 830), - NAME_FUNC_OFFSET(14422, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 831), - NAME_FUNC_OFFSET(14443, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 832), - NAME_FUNC_OFFSET(14464, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 833), - NAME_FUNC_OFFSET(14485, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 834), - NAME_FUNC_OFFSET(14506, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 835), - NAME_FUNC_OFFSET(14527, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 836), - NAME_FUNC_OFFSET(14548, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 837), - NAME_FUNC_OFFSET(14569, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 838), - NAME_FUNC_OFFSET(14591, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 839), - NAME_FUNC_OFFSET(14618, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 840), - NAME_FUNC_OFFSET(14645, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 841), - NAME_FUNC_OFFSET(14669, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 842), - NAME_FUNC_OFFSET(14693, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 843), - NAME_FUNC_OFFSET(14715, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 844), - NAME_FUNC_OFFSET(14737, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 845), - NAME_FUNC_OFFSET(14759, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 846), - NAME_FUNC_OFFSET(14784, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 847), - NAME_FUNC_OFFSET(14808, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 848), - NAME_FUNC_OFFSET(14830, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 849), - NAME_FUNC_OFFSET(14852, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 850), - NAME_FUNC_OFFSET(14874, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 851), - NAME_FUNC_OFFSET(14900, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 852), - NAME_FUNC_OFFSET(14923, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 853), - NAME_FUNC_OFFSET(14947, glPassTexCoordATI, glPassTexCoordATI, NULL, 854), - NAME_FUNC_OFFSET(14965, glSampleMapATI, glSampleMapATI, NULL, 855), - NAME_FUNC_OFFSET(14980, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 856), - NAME_FUNC_OFFSET(15011, glPointParameteriNV, glPointParameteriNV, NULL, 857), - NAME_FUNC_OFFSET(15031, glPointParameterivNV, glPointParameterivNV, NULL, 858), - NAME_FUNC_OFFSET(15052, gl_dispatch_stub_859, gl_dispatch_stub_859, NULL, 859), - NAME_FUNC_OFFSET(15075, gl_dispatch_stub_860, gl_dispatch_stub_860, NULL, 860), - NAME_FUNC_OFFSET(15098, gl_dispatch_stub_861, gl_dispatch_stub_861, NULL, 861), - NAME_FUNC_OFFSET(15124, gl_dispatch_stub_862, gl_dispatch_stub_862, NULL, 862), - NAME_FUNC_OFFSET(15147, gl_dispatch_stub_863, gl_dispatch_stub_863, NULL, 863), - NAME_FUNC_OFFSET(15168, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 864), - NAME_FUNC_OFFSET(15199, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 865), - NAME_FUNC_OFFSET(15230, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 866), - NAME_FUNC_OFFSET(15258, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 867), - NAME_FUNC_OFFSET(15287, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 868), - NAME_FUNC_OFFSET(15315, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 869), - NAME_FUNC_OFFSET(15344, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 870), - NAME_FUNC_OFFSET(15370, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 871), - NAME_FUNC_OFFSET(15391, gl_dispatch_stub_872, gl_dispatch_stub_872, NULL, 872), - NAME_FUNC_OFFSET(15408, gl_dispatch_stub_873, gl_dispatch_stub_873, NULL, 873), - NAME_FUNC_OFFSET(15435, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 874), - NAME_FUNC_OFFSET(15456, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 875), - NAME_FUNC_OFFSET(15478, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 876), - NAME_FUNC_OFFSET(15506, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 877), - NAME_FUNC_OFFSET(15530, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 878), - NAME_FUNC_OFFSET(15555, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 879), - NAME_FUNC_OFFSET(15584, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 880), - NAME_FUNC_OFFSET(15610, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 881), - NAME_FUNC_OFFSET(15636, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 882), - NAME_FUNC_OFFSET(15662, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 883), - NAME_FUNC_OFFSET(15683, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 884), - NAME_FUNC_OFFSET(15705, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 885), - NAME_FUNC_OFFSET(15725, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 886), - NAME_FUNC_OFFSET(15766, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 887), - NAME_FUNC_OFFSET(15798, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 888), - NAME_FUNC_OFFSET(15817, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 889), - NAME_FUNC_OFFSET(15837, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 890), - NAME_FUNC_OFFSET(15862, gl_dispatch_stub_891, gl_dispatch_stub_891, NULL, 891), - NAME_FUNC_OFFSET(15883, gl_dispatch_stub_892, gl_dispatch_stub_892, NULL, 892), - NAME_FUNC_OFFSET(15907, gl_dispatch_stub_893, gl_dispatch_stub_893, NULL, 893), - NAME_FUNC_OFFSET(15937, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 894), - NAME_FUNC_OFFSET(15963, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 895), - NAME_FUNC_OFFSET(15988, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 896), - NAME_FUNC_OFFSET(16007, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 897), - NAME_FUNC_OFFSET(16031, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 898), - NAME_FUNC_OFFSET(16056, glUniform1uiEXT, glUniform1uiEXT, NULL, 899), - NAME_FUNC_OFFSET(16072, glUniform1uivEXT, glUniform1uivEXT, NULL, 900), - NAME_FUNC_OFFSET(16089, glUniform2uiEXT, glUniform2uiEXT, NULL, 901), - NAME_FUNC_OFFSET(16105, glUniform2uivEXT, glUniform2uivEXT, NULL, 902), - NAME_FUNC_OFFSET(16122, glUniform3uiEXT, glUniform3uiEXT, NULL, 903), - NAME_FUNC_OFFSET(16138, glUniform3uivEXT, glUniform3uivEXT, NULL, 904), - NAME_FUNC_OFFSET(16155, glUniform4uiEXT, glUniform4uiEXT, NULL, 905), - NAME_FUNC_OFFSET(16171, glUniform4uivEXT, glUniform4uivEXT, NULL, 906), - NAME_FUNC_OFFSET(16188, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 907), - NAME_FUNC_OFFSET(16209, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 908), - NAME_FUNC_OFFSET(16231, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 909), - NAME_FUNC_OFFSET(16253, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 910), - NAME_FUNC_OFFSET(16276, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 911), - NAME_FUNC_OFFSET(16297, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 912), - NAME_FUNC_OFFSET(16319, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 913), - NAME_FUNC_OFFSET(16341, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 914), - NAME_FUNC_OFFSET(16364, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 915), - NAME_FUNC_OFFSET(16385, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 916), - NAME_FUNC_OFFSET(16407, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 917), - NAME_FUNC_OFFSET(16429, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 918), - NAME_FUNC_OFFSET(16452, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 919), - NAME_FUNC_OFFSET(16474, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 920), - NAME_FUNC_OFFSET(16495, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 921), - NAME_FUNC_OFFSET(16517, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 922), - NAME_FUNC_OFFSET(16539, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 923), - NAME_FUNC_OFFSET(16562, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 924), - NAME_FUNC_OFFSET(16584, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 925), - NAME_FUNC_OFFSET(16607, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 926), - NAME_FUNC_OFFSET(16630, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 927), - NAME_FUNC_OFFSET(16656, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 928), - NAME_FUNC_OFFSET(16685, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 929), - NAME_FUNC_OFFSET(16707, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 930), - NAME_FUNC_OFFSET(16727, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 931), - NAME_FUNC_OFFSET(16746, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 932), - NAME_FUNC_OFFSET(16770, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 933), - NAME_FUNC_OFFSET(16794, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 934), - NAME_FUNC_OFFSET(16816, glClearColorIiEXT, glClearColorIiEXT, NULL, 935), - NAME_FUNC_OFFSET(16834, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 936), - NAME_FUNC_OFFSET(16853, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 937), - NAME_FUNC_OFFSET(16877, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 938), - NAME_FUNC_OFFSET(16902, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 939), - NAME_FUNC_OFFSET(16923, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 940), - NAME_FUNC_OFFSET(16945, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 941), - NAME_FUNC_OFFSET(16972, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 942), - NAME_FUNC_OFFSET(16997, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 943), - NAME_FUNC_OFFSET(17025, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 944), - NAME_FUNC_OFFSET(17045, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 945), - NAME_FUNC_OFFSET(17067, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 946), - NAME_FUNC_OFFSET(17088, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 947), - NAME_FUNC_OFFSET(17114, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 948), - NAME_FUNC_OFFSET(17147, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 949), - NAME_FUNC_OFFSET(17178, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 950), - NAME_FUNC_OFFSET(17199, gl_dispatch_stub_951, gl_dispatch_stub_951, NULL, 951), - NAME_FUNC_OFFSET(17230, gl_dispatch_stub_952, gl_dispatch_stub_952, NULL, 952), - NAME_FUNC_OFFSET(17250, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 953), - NAME_FUNC_OFFSET(17278, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 954), - NAME_FUNC_OFFSET(17301, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 955), - NAME_FUNC_OFFSET(17326, glActiveProgramEXT, glActiveProgramEXT, NULL, 956), - NAME_FUNC_OFFSET(17345, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 957), - NAME_FUNC_OFFSET(17370, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 958), - NAME_FUNC_OFFSET(17392, glTextureBarrierNV, glTextureBarrierNV, NULL, 959), - NAME_FUNC_OFFSET(17411, gl_dispatch_stub_960, gl_dispatch_stub_960, NULL, 960), - NAME_FUNC_OFFSET(17436, gl_dispatch_stub_961, gl_dispatch_stub_961, NULL, 961), - NAME_FUNC_OFFSET(17465, gl_dispatch_stub_962, gl_dispatch_stub_962, NULL, 962), - NAME_FUNC_OFFSET(17496, gl_dispatch_stub_963, gl_dispatch_stub_963, NULL, 963), - NAME_FUNC_OFFSET(17520, gl_dispatch_stub_964, gl_dispatch_stub_964, NULL, 964), - NAME_FUNC_OFFSET(17545, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 965), - NAME_FUNC_OFFSET(17584, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 966), - NAME_FUNC_OFFSET(17613, glArrayElement, glArrayElement, NULL, 306), - NAME_FUNC_OFFSET(17631, glBindTexture, glBindTexture, NULL, 307), - NAME_FUNC_OFFSET(17648, glDrawArrays, glDrawArrays, NULL, 310), - NAME_FUNC_OFFSET(17664, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322), - NAME_FUNC_OFFSET(17689, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), - NAME_FUNC_OFFSET(17709, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), - NAME_FUNC_OFFSET(17729, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), - NAME_FUNC_OFFSET(17752, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), - NAME_FUNC_OFFSET(17775, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327), - NAME_FUNC_OFFSET(17795, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328), - NAME_FUNC_OFFSET(17812, glGetPointerv, glGetPointerv, NULL, 329), - NAME_FUNC_OFFSET(17829, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), - NAME_FUNC_OFFSET(17844, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), - NAME_FUNC_OFFSET(17868, glTexSubImage1D, glTexSubImage1D, NULL, 332), - NAME_FUNC_OFFSET(17887, glTexSubImage2D, glTexSubImage2D, NULL, 333), - NAME_FUNC_OFFSET(17906, glBlendColor, glBlendColor, NULL, 336), - NAME_FUNC_OFFSET(17922, glBlendEquation, glBlendEquation, NULL, 337), - NAME_FUNC_OFFSET(17941, glDrawRangeElements, glDrawRangeElements, NULL, 338), - NAME_FUNC_OFFSET(17964, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(17980, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(17996, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), - NAME_FUNC_OFFSET(18023, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), - NAME_FUNC_OFFSET(18050, glCopyColorTable, glCopyColorTable, NULL, 342), - NAME_FUNC_OFFSET(18070, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(18089, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(18108, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(18138, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(18168, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(18198, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(18228, glColorSubTable, glColorSubTable, NULL, 346), - NAME_FUNC_OFFSET(18247, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), - NAME_FUNC_OFFSET(18270, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), - NAME_FUNC_OFFSET(18295, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), - NAME_FUNC_OFFSET(18320, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), - NAME_FUNC_OFFSET(18347, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), - NAME_FUNC_OFFSET(18375, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), - NAME_FUNC_OFFSET(18402, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), - NAME_FUNC_OFFSET(18430, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), - NAME_FUNC_OFFSET(18459, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), - NAME_FUNC_OFFSET(18488, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356), - NAME_FUNC_OFFSET(18514, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357), - NAME_FUNC_OFFSET(18545, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358), - NAME_FUNC_OFFSET(18576, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359), - NAME_FUNC_OFFSET(18600, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), - NAME_FUNC_OFFSET(18623, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361), - NAME_FUNC_OFFSET(18641, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362), - NAME_FUNC_OFFSET(18670, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363), - NAME_FUNC_OFFSET(18699, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364), - NAME_FUNC_OFFSET(18714, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365), - NAME_FUNC_OFFSET(18740, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366), - NAME_FUNC_OFFSET(18766, glHistogram, glHistogram, NULL, 367), - NAME_FUNC_OFFSET(18781, glMinmax, glMinmax, NULL, 368), - NAME_FUNC_OFFSET(18793, glResetHistogram, glResetHistogram, NULL, 369), - NAME_FUNC_OFFSET(18813, glResetMinmax, glResetMinmax, NULL, 370), - NAME_FUNC_OFFSET(18830, glTexImage3D, glTexImage3D, NULL, 371), - NAME_FUNC_OFFSET(18846, glTexSubImage3D, glTexSubImage3D, NULL, 372), - NAME_FUNC_OFFSET(18865, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), - NAME_FUNC_OFFSET(18888, glActiveTextureARB, glActiveTextureARB, NULL, 374), - NAME_FUNC_OFFSET(18904, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), - NAME_FUNC_OFFSET(18926, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), - NAME_FUNC_OFFSET(18944, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), - NAME_FUNC_OFFSET(18963, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), - NAME_FUNC_OFFSET(18981, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), - NAME_FUNC_OFFSET(19000, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), - NAME_FUNC_OFFSET(19018, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), - NAME_FUNC_OFFSET(19037, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), - NAME_FUNC_OFFSET(19055, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), - NAME_FUNC_OFFSET(19074, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), - NAME_FUNC_OFFSET(19092, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), - NAME_FUNC_OFFSET(19111, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), - NAME_FUNC_OFFSET(19129, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), - NAME_FUNC_OFFSET(19148, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), - NAME_FUNC_OFFSET(19166, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), - NAME_FUNC_OFFSET(19185, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), - NAME_FUNC_OFFSET(19203, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), - NAME_FUNC_OFFSET(19222, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), - NAME_FUNC_OFFSET(19240, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), - NAME_FUNC_OFFSET(19259, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), - NAME_FUNC_OFFSET(19277, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), - NAME_FUNC_OFFSET(19296, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), - NAME_FUNC_OFFSET(19314, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), - NAME_FUNC_OFFSET(19333, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), - NAME_FUNC_OFFSET(19351, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), - NAME_FUNC_OFFSET(19370, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), - NAME_FUNC_OFFSET(19388, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), - NAME_FUNC_OFFSET(19407, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), - NAME_FUNC_OFFSET(19425, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), - NAME_FUNC_OFFSET(19444, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), - NAME_FUNC_OFFSET(19462, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), - NAME_FUNC_OFFSET(19481, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), - NAME_FUNC_OFFSET(19499, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), - NAME_FUNC_OFFSET(19518, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), - NAME_FUNC_OFFSET(19541, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 441), - NAME_FUNC_OFFSET(19564, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 442), - NAME_FUNC_OFFSET(19587, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 443), - NAME_FUNC_OFFSET(19610, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 444), - NAME_FUNC_OFFSET(19633, glSampleCoverageARB, glSampleCoverageARB, NULL, 445), - NAME_FUNC_OFFSET(19650, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 446), - NAME_FUNC_OFFSET(19673, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 447), - NAME_FUNC_OFFSET(19696, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 448), - NAME_FUNC_OFFSET(19719, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 449), - NAME_FUNC_OFFSET(19745, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 450), - NAME_FUNC_OFFSET(19771, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 451), - NAME_FUNC_OFFSET(19797, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 452), - NAME_FUNC_OFFSET(19821, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 453), - NAME_FUNC_OFFSET(19848, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 454), - NAME_FUNC_OFFSET(19874, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 461), - NAME_FUNC_OFFSET(19894, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 462), - NAME_FUNC_OFFSET(19914, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 463), - NAME_FUNC_OFFSET(19934, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 464), - NAME_FUNC_OFFSET(19957, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 465), - NAME_FUNC_OFFSET(19981, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 466), - NAME_FUNC_OFFSET(20004, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 467), - NAME_FUNC_OFFSET(20028, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 473), - NAME_FUNC_OFFSET(20045, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 474), - NAME_FUNC_OFFSET(20063, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 475), - NAME_FUNC_OFFSET(20080, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 476), - NAME_FUNC_OFFSET(20098, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 477), - NAME_FUNC_OFFSET(20115, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 478), - NAME_FUNC_OFFSET(20133, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 479), - NAME_FUNC_OFFSET(20150, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 480), - NAME_FUNC_OFFSET(20168, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 481), - NAME_FUNC_OFFSET(20185, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 482), - NAME_FUNC_OFFSET(20203, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 483), - NAME_FUNC_OFFSET(20220, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 484), - NAME_FUNC_OFFSET(20238, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 485), - NAME_FUNC_OFFSET(20255, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 486), - NAME_FUNC_OFFSET(20273, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 487), - NAME_FUNC_OFFSET(20290, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 488), - NAME_FUNC_OFFSET(20308, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 489), - NAME_FUNC_OFFSET(20325, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 490), - NAME_FUNC_OFFSET(20343, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 491), - NAME_FUNC_OFFSET(20362, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 492), - NAME_FUNC_OFFSET(20381, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 493), - NAME_FUNC_OFFSET(20400, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 494), - NAME_FUNC_OFFSET(20419, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 495), - NAME_FUNC_OFFSET(20439, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 496), - NAME_FUNC_OFFSET(20459, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 497), - NAME_FUNC_OFFSET(20479, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 498), - NAME_FUNC_OFFSET(20497, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 499), - NAME_FUNC_OFFSET(20514, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 500), - NAME_FUNC_OFFSET(20532, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 501), - NAME_FUNC_OFFSET(20549, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 502), - NAME_FUNC_OFFSET(20567, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 503), - NAME_FUNC_OFFSET(20585, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 504), - NAME_FUNC_OFFSET(20602, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 505), - NAME_FUNC_OFFSET(20620, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 506), - NAME_FUNC_OFFSET(20639, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 507), - NAME_FUNC_OFFSET(20658, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 508), - NAME_FUNC_OFFSET(20677, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 509), - NAME_FUNC_OFFSET(20699, glBindBufferARB, glBindBufferARB, NULL, 510), - NAME_FUNC_OFFSET(20712, glBufferDataARB, glBufferDataARB, NULL, 511), - NAME_FUNC_OFFSET(20725, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), - NAME_FUNC_OFFSET(20741, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), - NAME_FUNC_OFFSET(20757, glGenBuffersARB, glGenBuffersARB, NULL, 514), - NAME_FUNC_OFFSET(20770, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 515), - NAME_FUNC_OFFSET(20793, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 516), - NAME_FUNC_OFFSET(20813, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 517), - NAME_FUNC_OFFSET(20832, glIsBufferARB, glIsBufferARB, NULL, 518), - NAME_FUNC_OFFSET(20843, glMapBufferARB, glMapBufferARB, NULL, 519), - NAME_FUNC_OFFSET(20855, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), - NAME_FUNC_OFFSET(20869, glBeginQueryARB, glBeginQueryARB, NULL, 521), - NAME_FUNC_OFFSET(20882, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), - NAME_FUNC_OFFSET(20898, glEndQueryARB, glEndQueryARB, NULL, 523), - NAME_FUNC_OFFSET(20909, glGenQueriesARB, glGenQueriesARB, NULL, 524), - NAME_FUNC_OFFSET(20922, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 525), - NAME_FUNC_OFFSET(20941, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 526), - NAME_FUNC_OFFSET(20961, glGetQueryivARB, glGetQueryivARB, NULL, 527), - NAME_FUNC_OFFSET(20974, glIsQueryARB, glIsQueryARB, NULL, 528), - NAME_FUNC_OFFSET(20984, glCompileShaderARB, glCompileShaderARB, NULL, 530), - NAME_FUNC_OFFSET(21000, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 535), - NAME_FUNC_OFFSET(21019, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 541), - NAME_FUNC_OFFSET(21037, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 542), - NAME_FUNC_OFFSET(21058, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), - NAME_FUNC_OFFSET(21073, glGetUniformivARB, glGetUniformivARB, NULL, 544), - NAME_FUNC_OFFSET(21088, glLinkProgramARB, glLinkProgramARB, NULL, 545), - NAME_FUNC_OFFSET(21102, glShaderSourceARB, glShaderSourceARB, NULL, 546), - NAME_FUNC_OFFSET(21117, glUniform1fARB, glUniform1fARB, NULL, 547), - NAME_FUNC_OFFSET(21129, glUniform1fvARB, glUniform1fvARB, NULL, 548), - NAME_FUNC_OFFSET(21142, glUniform1iARB, glUniform1iARB, NULL, 549), - NAME_FUNC_OFFSET(21154, glUniform1ivARB, glUniform1ivARB, NULL, 550), - NAME_FUNC_OFFSET(21167, glUniform2fARB, glUniform2fARB, NULL, 551), - NAME_FUNC_OFFSET(21179, glUniform2fvARB, glUniform2fvARB, NULL, 552), - NAME_FUNC_OFFSET(21192, glUniform2iARB, glUniform2iARB, NULL, 553), - NAME_FUNC_OFFSET(21204, glUniform2ivARB, glUniform2ivARB, NULL, 554), - NAME_FUNC_OFFSET(21217, glUniform3fARB, glUniform3fARB, NULL, 555), - NAME_FUNC_OFFSET(21229, glUniform3fvARB, glUniform3fvARB, NULL, 556), - NAME_FUNC_OFFSET(21242, glUniform3iARB, glUniform3iARB, NULL, 557), - NAME_FUNC_OFFSET(21254, glUniform3ivARB, glUniform3ivARB, NULL, 558), - NAME_FUNC_OFFSET(21267, glUniform4fARB, glUniform4fARB, NULL, 559), - NAME_FUNC_OFFSET(21279, glUniform4fvARB, glUniform4fvARB, NULL, 560), - NAME_FUNC_OFFSET(21292, glUniform4iARB, glUniform4iARB, NULL, 561), - NAME_FUNC_OFFSET(21304, glUniform4ivARB, glUniform4ivARB, NULL, 562), - NAME_FUNC_OFFSET(21317, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 563), - NAME_FUNC_OFFSET(21336, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 564), - NAME_FUNC_OFFSET(21355, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 565), - NAME_FUNC_OFFSET(21374, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 566), - NAME_FUNC_OFFSET(21387, glValidateProgramARB, glValidateProgramARB, NULL, 567), - NAME_FUNC_OFFSET(21405, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 568), - NAME_FUNC_OFFSET(21426, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 569), - NAME_FUNC_OFFSET(21444, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 570), - NAME_FUNC_OFFSET(21464, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(21478, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(21495, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(21511, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), - NAME_FUNC_OFFSET(21536, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), - NAME_FUNC_OFFSET(21558, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), - NAME_FUNC_OFFSET(21585, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), - NAME_FUNC_OFFSET(21609, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 575), - NAME_FUNC_OFFSET(21645, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 597), - NAME_FUNC_OFFSET(21679, glBlendEquationiARB, glBlendEquationiARB, NULL, 598), - NAME_FUNC_OFFSET(21705, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 599), - NAME_FUNC_OFFSET(21735, glBlendFunciARB, glBlendFunciARB, NULL, 600), - NAME_FUNC_OFFSET(21757, gl_dispatch_stub_692, gl_dispatch_stub_692, NULL, 692), - NAME_FUNC_OFFSET(21773, gl_dispatch_stub_693, gl_dispatch_stub_693, NULL, 693), - NAME_FUNC_OFFSET(21792, glPointParameterfEXT, glPointParameterfEXT, NULL, 700), - NAME_FUNC_OFFSET(21810, glPointParameterfEXT, glPointParameterfEXT, NULL, 700), - NAME_FUNC_OFFSET(21831, glPointParameterfEXT, glPointParameterfEXT, NULL, 700), - NAME_FUNC_OFFSET(21853, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 701), - NAME_FUNC_OFFSET(21872, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 701), - NAME_FUNC_OFFSET(21894, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 701), - NAME_FUNC_OFFSET(21917, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 704), - NAME_FUNC_OFFSET(21936, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 705), - NAME_FUNC_OFFSET(21956, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 706), - NAME_FUNC_OFFSET(21975, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 707), - NAME_FUNC_OFFSET(21995, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 708), - NAME_FUNC_OFFSET(22014, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 709), - NAME_FUNC_OFFSET(22034, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 710), - NAME_FUNC_OFFSET(22053, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 711), - NAME_FUNC_OFFSET(22073, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 712), - NAME_FUNC_OFFSET(22092, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 713), - NAME_FUNC_OFFSET(22112, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 714), - NAME_FUNC_OFFSET(22132, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 715), - NAME_FUNC_OFFSET(22153, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 716), - NAME_FUNC_OFFSET(22173, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 717), - NAME_FUNC_OFFSET(22194, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 718), - NAME_FUNC_OFFSET(22214, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 719), - NAME_FUNC_OFFSET(22235, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 720), - NAME_FUNC_OFFSET(22259, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 721), - NAME_FUNC_OFFSET(22277, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 722), - NAME_FUNC_OFFSET(22297, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 723), - NAME_FUNC_OFFSET(22315, glFogCoorddEXT, glFogCoorddEXT, NULL, 724), - NAME_FUNC_OFFSET(22327, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 725), - NAME_FUNC_OFFSET(22340, glFogCoordfEXT, glFogCoordfEXT, NULL, 726), - NAME_FUNC_OFFSET(22352, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 727), - NAME_FUNC_OFFSET(22365, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 729), - NAME_FUNC_OFFSET(22385, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 729), - NAME_FUNC_OFFSET(22409, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 746), - NAME_FUNC_OFFSET(22423, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 746), - NAME_FUNC_OFFSET(22440, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 747), - NAME_FUNC_OFFSET(22455, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 747), - NAME_FUNC_OFFSET(22473, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 748), - NAME_FUNC_OFFSET(22487, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 748), - NAME_FUNC_OFFSET(22504, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 749), - NAME_FUNC_OFFSET(22519, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 749), - NAME_FUNC_OFFSET(22537, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 750), - NAME_FUNC_OFFSET(22551, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 750), - NAME_FUNC_OFFSET(22568, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 751), - NAME_FUNC_OFFSET(22583, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 751), - NAME_FUNC_OFFSET(22601, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 752), - NAME_FUNC_OFFSET(22615, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 752), - NAME_FUNC_OFFSET(22632, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 753), - NAME_FUNC_OFFSET(22647, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 753), - NAME_FUNC_OFFSET(22665, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 754), - NAME_FUNC_OFFSET(22679, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 754), - NAME_FUNC_OFFSET(22696, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 755), - NAME_FUNC_OFFSET(22711, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 755), - NAME_FUNC_OFFSET(22729, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 756), - NAME_FUNC_OFFSET(22743, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 756), - NAME_FUNC_OFFSET(22760, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 757), - NAME_FUNC_OFFSET(22775, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 757), - NAME_FUNC_OFFSET(22793, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 758), - NAME_FUNC_OFFSET(22807, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 758), - NAME_FUNC_OFFSET(22824, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 759), - NAME_FUNC_OFFSET(22839, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 759), - NAME_FUNC_OFFSET(22857, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 760), - NAME_FUNC_OFFSET(22871, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 760), - NAME_FUNC_OFFSET(22888, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 761), - NAME_FUNC_OFFSET(22903, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 761), - NAME_FUNC_OFFSET(22921, glBindProgramNV, glBindProgramNV, NULL, 780), - NAME_FUNC_OFFSET(22938, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 781), - NAME_FUNC_OFFSET(22958, glGenProgramsNV, glGenProgramsNV, NULL, 783), - NAME_FUNC_OFFSET(22975, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 789), - NAME_FUNC_OFFSET(23001, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 789), - NAME_FUNC_OFFSET(23030, glIsProgramNV, glIsProgramNV, NULL, 793), - NAME_FUNC_OFFSET(23045, glPointParameteriNV, glPointParameteriNV, NULL, 857), - NAME_FUNC_OFFSET(23063, glPointParameterivNV, glPointParameterivNV, NULL, 858), - NAME_FUNC_OFFSET(23082, gl_dispatch_stub_861, gl_dispatch_stub_861, NULL, 861), - NAME_FUNC_OFFSET(23103, gl_dispatch_stub_863, gl_dispatch_stub_863, NULL, 863), - NAME_FUNC_OFFSET(23119, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 870), - NAME_FUNC_OFFSET(23143, gl_dispatch_stub_873, gl_dispatch_stub_873, NULL, 873), - NAME_FUNC_OFFSET(23167, gl_dispatch_stub_873, gl_dispatch_stub_873, NULL, 873), - NAME_FUNC_OFFSET(23194, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 874), - NAME_FUNC_OFFSET(23212, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 875), - NAME_FUNC_OFFSET(23231, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 876), - NAME_FUNC_OFFSET(23256, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 877), - NAME_FUNC_OFFSET(23277, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 878), - NAME_FUNC_OFFSET(23299, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 879), - NAME_FUNC_OFFSET(23325, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 880), - NAME_FUNC_OFFSET(23348, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 881), - NAME_FUNC_OFFSET(23371, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 882), - NAME_FUNC_OFFSET(23394, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 883), - NAME_FUNC_OFFSET(23412, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 884), - NAME_FUNC_OFFSET(23431, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 885), - NAME_FUNC_OFFSET(23448, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 886), - NAME_FUNC_OFFSET(23486, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 887), - NAME_FUNC_OFFSET(23515, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 888), - NAME_FUNC_OFFSET(23531, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 889), - NAME_FUNC_OFFSET(23548, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 890), - NAME_FUNC_OFFSET(23570, gl_dispatch_stub_891, gl_dispatch_stub_891, NULL, 891), - NAME_FUNC_OFFSET(23588, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 894), - NAME_FUNC_OFFSET(23611, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 895), - NAME_FUNC_OFFSET(23633, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 896), - NAME_FUNC_OFFSET(23649, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 897), - NAME_FUNC_OFFSET(23670, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 898), - NAME_FUNC_OFFSET(23692, glUniform1uiEXT, glUniform1uiEXT, NULL, 899), - NAME_FUNC_OFFSET(23705, glUniform1uivEXT, glUniform1uivEXT, NULL, 900), - NAME_FUNC_OFFSET(23719, glUniform2uiEXT, glUniform2uiEXT, NULL, 901), - NAME_FUNC_OFFSET(23732, glUniform2uivEXT, glUniform2uivEXT, NULL, 902), - NAME_FUNC_OFFSET(23746, glUniform3uiEXT, glUniform3uiEXT, NULL, 903), - NAME_FUNC_OFFSET(23759, glUniform3uivEXT, glUniform3uivEXT, NULL, 904), - NAME_FUNC_OFFSET(23773, glUniform4uiEXT, glUniform4uiEXT, NULL, 905), - NAME_FUNC_OFFSET(23786, glUniform4uivEXT, glUniform4uivEXT, NULL, 906), - NAME_FUNC_OFFSET(23800, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 907), - NAME_FUNC_OFFSET(23818, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 908), - NAME_FUNC_OFFSET(23837, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 909), - NAME_FUNC_OFFSET(23856, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 910), - NAME_FUNC_OFFSET(23876, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 911), - NAME_FUNC_OFFSET(23894, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 912), - NAME_FUNC_OFFSET(23913, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 913), - NAME_FUNC_OFFSET(23932, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 914), - NAME_FUNC_OFFSET(23952, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 915), - NAME_FUNC_OFFSET(23970, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 916), - NAME_FUNC_OFFSET(23989, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 917), - NAME_FUNC_OFFSET(24008, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 918), - NAME_FUNC_OFFSET(24028, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 919), - NAME_FUNC_OFFSET(24047, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 920), - NAME_FUNC_OFFSET(24065, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 921), - NAME_FUNC_OFFSET(24084, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 922), - NAME_FUNC_OFFSET(24103, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 923), - NAME_FUNC_OFFSET(24123, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 924), - NAME_FUNC_OFFSET(24142, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 925), - NAME_FUNC_OFFSET(24162, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 926), - NAME_FUNC_OFFSET(24182, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 927), - NAME_FUNC_OFFSET(24205, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 928), - NAME_FUNC_OFFSET(24231, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 928), - NAME_FUNC_OFFSET(24260, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 929), - NAME_FUNC_OFFSET(24273, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 930), - NAME_FUNC_OFFSET(24284, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 931), - NAME_FUNC_OFFSET(24294, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 932), - NAME_FUNC_OFFSET(24310, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 933), - NAME_FUNC_OFFSET(24326, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 934), - NAME_FUNC_OFFSET(24339, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 937), - NAME_FUNC_OFFSET(24360, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 938), - NAME_FUNC_OFFSET(24382, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 939), - NAME_FUNC_OFFSET(24400, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 940), - NAME_FUNC_OFFSET(24419, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 941), - NAME_FUNC_OFFSET(24444, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 942), - NAME_FUNC_OFFSET(24467, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 943), - NAME_FUNC_OFFSET(24492, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 944), - NAME_FUNC_OFFSET(24509, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 946), - NAME_FUNC_OFFSET(24527, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 947), - NAME_FUNC_OFFSET(24550, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 948), - NAME_FUNC_OFFSET(24580, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 949), - NAME_FUNC_OFFSET(24608, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 950), + NAME_FUNC_OFFSET(11351, glTexStorage1D, glTexStorage1D, NULL, 685), + NAME_FUNC_OFFSET(11366, glTexStorage2D, glTexStorage2D, NULL, 686), + NAME_FUNC_OFFSET(11381, glTexStorage3D, glTexStorage3D, NULL, 687), + NAME_FUNC_OFFSET(11396, glTextureStorage1DEXT, glTextureStorage1DEXT, NULL, 688), + NAME_FUNC_OFFSET(11418, glTextureStorage2DEXT, glTextureStorage2DEXT, NULL, 689), + NAME_FUNC_OFFSET(11440, glTextureStorage3DEXT, glTextureStorage3DEXT, NULL, 690), + NAME_FUNC_OFFSET(11462, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 691), + NAME_FUNC_OFFSET(11481, gl_dispatch_stub_692, gl_dispatch_stub_692, NULL, 692), + NAME_FUNC_OFFSET(11513, gl_dispatch_stub_693, gl_dispatch_stub_693, NULL, 693), + NAME_FUNC_OFFSET(11545, gl_dispatch_stub_694, gl_dispatch_stub_694, NULL, 694), + NAME_FUNC_OFFSET(11573, gl_dispatch_stub_695, gl_dispatch_stub_695, NULL, 695), + NAME_FUNC_OFFSET(11602, gl_dispatch_stub_696, gl_dispatch_stub_696, NULL, 696), + NAME_FUNC_OFFSET(11630, gl_dispatch_stub_697, gl_dispatch_stub_697, NULL, 697), + NAME_FUNC_OFFSET(11659, gl_dispatch_stub_698, gl_dispatch_stub_698, NULL, 698), + NAME_FUNC_OFFSET(11676, gl_dispatch_stub_699, gl_dispatch_stub_699, NULL, 699), + NAME_FUNC_OFFSET(11696, glColorPointerEXT, glColorPointerEXT, NULL, 700), + NAME_FUNC_OFFSET(11714, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 701), + NAME_FUNC_OFFSET(11735, glIndexPointerEXT, glIndexPointerEXT, NULL, 702), + NAME_FUNC_OFFSET(11753, glNormalPointerEXT, glNormalPointerEXT, NULL, 703), + NAME_FUNC_OFFSET(11772, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 704), + NAME_FUNC_OFFSET(11793, glVertexPointerEXT, glVertexPointerEXT, NULL, 705), + NAME_FUNC_OFFSET(11812, glPointParameterfEXT, glPointParameterfEXT, NULL, 706), + NAME_FUNC_OFFSET(11833, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 707), + NAME_FUNC_OFFSET(11855, glLockArraysEXT, glLockArraysEXT, NULL, 708), + NAME_FUNC_OFFSET(11871, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 709), + NAME_FUNC_OFFSET(11889, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 710), + NAME_FUNC_OFFSET(11911, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 711), + NAME_FUNC_OFFSET(11934, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 712), + NAME_FUNC_OFFSET(11956, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 713), + NAME_FUNC_OFFSET(11979, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 714), + NAME_FUNC_OFFSET(12001, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 715), + NAME_FUNC_OFFSET(12024, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 716), + NAME_FUNC_OFFSET(12046, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 717), + NAME_FUNC_OFFSET(12069, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 718), + NAME_FUNC_OFFSET(12091, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 719), + NAME_FUNC_OFFSET(12114, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 720), + NAME_FUNC_OFFSET(12137, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 721), + NAME_FUNC_OFFSET(12161, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 722), + NAME_FUNC_OFFSET(12184, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 723), + NAME_FUNC_OFFSET(12208, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 724), + NAME_FUNC_OFFSET(12231, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 725), + NAME_FUNC_OFFSET(12255, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 726), + NAME_FUNC_OFFSET(12282, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 727), + NAME_FUNC_OFFSET(12303, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 728), + NAME_FUNC_OFFSET(12326, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 729), + NAME_FUNC_OFFSET(12347, glFogCoorddEXT, glFogCoorddEXT, NULL, 730), + NAME_FUNC_OFFSET(12362, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 731), + NAME_FUNC_OFFSET(12378, glFogCoordfEXT, glFogCoordfEXT, NULL, 732), + NAME_FUNC_OFFSET(12393, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 733), + NAME_FUNC_OFFSET(12409, gl_dispatch_stub_734, gl_dispatch_stub_734, NULL, 734), + NAME_FUNC_OFFSET(12427, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 735), + NAME_FUNC_OFFSET(12450, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, 736), + NAME_FUNC_OFFSET(12476, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, 737), + NAME_FUNC_OFFSET(12497, glCombinerInputNV, glCombinerInputNV, NULL, 738), + NAME_FUNC_OFFSET(12515, glCombinerOutputNV, glCombinerOutputNV, NULL, 739), + NAME_FUNC_OFFSET(12534, glCombinerParameterfNV, glCombinerParameterfNV, NULL, 740), + NAME_FUNC_OFFSET(12557, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, 741), + NAME_FUNC_OFFSET(12581, glCombinerParameteriNV, glCombinerParameteriNV, NULL, 742), + NAME_FUNC_OFFSET(12604, glCombinerParameterivNV, glCombinerParameterivNV, NULL, 743), + NAME_FUNC_OFFSET(12628, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, 744), + NAME_FUNC_OFFSET(12651, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, 745), + NAME_FUNC_OFFSET(12683, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, 746), + NAME_FUNC_OFFSET(12715, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, 747), + NAME_FUNC_OFFSET(12748, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, 748), + NAME_FUNC_OFFSET(12781, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, 749), + NAME_FUNC_OFFSET(12818, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, 750), + NAME_FUNC_OFFSET(12855, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 751), + NAME_FUNC_OFFSET(12875, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752), + NAME_FUNC_OFFSET(12893, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753), + NAME_FUNC_OFFSET(12912, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754), + NAME_FUNC_OFFSET(12930, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755), + NAME_FUNC_OFFSET(12949, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756), + NAME_FUNC_OFFSET(12967, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757), + NAME_FUNC_OFFSET(12986, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758), + NAME_FUNC_OFFSET(13004, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759), + NAME_FUNC_OFFSET(13023, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760), + NAME_FUNC_OFFSET(13041, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761), + NAME_FUNC_OFFSET(13060, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762), + NAME_FUNC_OFFSET(13078, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763), + NAME_FUNC_OFFSET(13097, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764), + NAME_FUNC_OFFSET(13115, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765), + NAME_FUNC_OFFSET(13134, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766), + NAME_FUNC_OFFSET(13152, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767), + NAME_FUNC_OFFSET(13171, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 768), + NAME_FUNC_OFFSET(13189, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 769), + NAME_FUNC_OFFSET(13208, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 770), + NAME_FUNC_OFFSET(13226, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 771), + NAME_FUNC_OFFSET(13245, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 772), + NAME_FUNC_OFFSET(13263, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 773), + NAME_FUNC_OFFSET(13282, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 774), + NAME_FUNC_OFFSET(13300, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 775), + NAME_FUNC_OFFSET(13319, gl_dispatch_stub_776, gl_dispatch_stub_776, NULL, 776), + NAME_FUNC_OFFSET(13344, gl_dispatch_stub_777, gl_dispatch_stub_777, NULL, 777), + NAME_FUNC_OFFSET(13371, gl_dispatch_stub_778, gl_dispatch_stub_778, NULL, 778), + NAME_FUNC_OFFSET(13388, gl_dispatch_stub_779, gl_dispatch_stub_779, NULL, 779), + NAME_FUNC_OFFSET(13404, gl_dispatch_stub_780, gl_dispatch_stub_780, NULL, 780), + NAME_FUNC_OFFSET(13418, gl_dispatch_stub_781, gl_dispatch_stub_781, NULL, 781), + NAME_FUNC_OFFSET(13433, gl_dispatch_stub_782, gl_dispatch_stub_782, NULL, 782), + NAME_FUNC_OFFSET(13445, gl_dispatch_stub_783, gl_dispatch_stub_783, NULL, 783), + NAME_FUNC_OFFSET(13458, gl_dispatch_stub_784, gl_dispatch_stub_784, NULL, 784), + NAME_FUNC_OFFSET(13472, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 785), + NAME_FUNC_OFFSET(13496, glBindProgramNV, glBindProgramNV, NULL, 786), + NAME_FUNC_OFFSET(13512, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 787), + NAME_FUNC_OFFSET(13531, glExecuteProgramNV, glExecuteProgramNV, NULL, 788), + NAME_FUNC_OFFSET(13550, glGenProgramsNV, glGenProgramsNV, NULL, 789), + NAME_FUNC_OFFSET(13566, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 790), + NAME_FUNC_OFFSET(13592, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 791), + NAME_FUNC_OFFSET(13618, glGetProgramStringNV, glGetProgramStringNV, NULL, 792), + NAME_FUNC_OFFSET(13639, glGetProgramivNV, glGetProgramivNV, NULL, 793), + NAME_FUNC_OFFSET(13656, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 794), + NAME_FUNC_OFFSET(13677, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 795), + NAME_FUNC_OFFSET(13705, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 796), + NAME_FUNC_OFFSET(13727, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 797), + NAME_FUNC_OFFSET(13749, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 798), + NAME_FUNC_OFFSET(13771, glIsProgramNV, glIsProgramNV, NULL, 799), + NAME_FUNC_OFFSET(13785, glLoadProgramNV, glLoadProgramNV, NULL, 800), + NAME_FUNC_OFFSET(13801, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 801), + NAME_FUNC_OFFSET(13826, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 802), + NAME_FUNC_OFFSET(13851, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 803), + NAME_FUNC_OFFSET(13879, glTrackMatrixNV, glTrackMatrixNV, NULL, 804), + NAME_FUNC_OFFSET(13895, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 805), + NAME_FUNC_OFFSET(13914, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 806), + NAME_FUNC_OFFSET(13934, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 807), + NAME_FUNC_OFFSET(13953, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 808), + NAME_FUNC_OFFSET(13973, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 809), + NAME_FUNC_OFFSET(13992, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 810), + NAME_FUNC_OFFSET(14012, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 811), + NAME_FUNC_OFFSET(14031, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 812), + NAME_FUNC_OFFSET(14051, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 813), + NAME_FUNC_OFFSET(14070, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 814), + NAME_FUNC_OFFSET(14090, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 815), + NAME_FUNC_OFFSET(14109, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 816), + NAME_FUNC_OFFSET(14129, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 817), + NAME_FUNC_OFFSET(14148, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 818), + NAME_FUNC_OFFSET(14168, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 819), + NAME_FUNC_OFFSET(14187, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 820), + NAME_FUNC_OFFSET(14207, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 821), + NAME_FUNC_OFFSET(14226, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 822), + NAME_FUNC_OFFSET(14246, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 823), + NAME_FUNC_OFFSET(14265, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 824), + NAME_FUNC_OFFSET(14285, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 825), + NAME_FUNC_OFFSET(14304, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 826), + NAME_FUNC_OFFSET(14324, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 827), + NAME_FUNC_OFFSET(14343, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 828), + NAME_FUNC_OFFSET(14363, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 829), + NAME_FUNC_OFFSET(14383, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 830), + NAME_FUNC_OFFSET(14404, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 831), + NAME_FUNC_OFFSET(14428, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 832), + NAME_FUNC_OFFSET(14449, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 833), + NAME_FUNC_OFFSET(14470, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 834), + NAME_FUNC_OFFSET(14491, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 835), + NAME_FUNC_OFFSET(14512, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 836), + NAME_FUNC_OFFSET(14533, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 837), + NAME_FUNC_OFFSET(14554, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 838), + NAME_FUNC_OFFSET(14575, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 839), + NAME_FUNC_OFFSET(14596, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 840), + NAME_FUNC_OFFSET(14617, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 841), + NAME_FUNC_OFFSET(14638, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 842), + NAME_FUNC_OFFSET(14659, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 843), + NAME_FUNC_OFFSET(14680, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 844), + NAME_FUNC_OFFSET(14702, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 845), + NAME_FUNC_OFFSET(14729, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 846), + NAME_FUNC_OFFSET(14756, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 847), + NAME_FUNC_OFFSET(14780, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 848), + NAME_FUNC_OFFSET(14804, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 849), + NAME_FUNC_OFFSET(14826, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 850), + NAME_FUNC_OFFSET(14848, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 851), + NAME_FUNC_OFFSET(14870, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 852), + NAME_FUNC_OFFSET(14895, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 853), + NAME_FUNC_OFFSET(14919, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 854), + NAME_FUNC_OFFSET(14941, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 855), + NAME_FUNC_OFFSET(14963, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 856), + NAME_FUNC_OFFSET(14985, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 857), + NAME_FUNC_OFFSET(15011, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 858), + NAME_FUNC_OFFSET(15034, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 859), + NAME_FUNC_OFFSET(15058, glPassTexCoordATI, glPassTexCoordATI, NULL, 860), + NAME_FUNC_OFFSET(15076, glSampleMapATI, glSampleMapATI, NULL, 861), + NAME_FUNC_OFFSET(15091, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 862), + NAME_FUNC_OFFSET(15122, glPointParameteriNV, glPointParameteriNV, NULL, 863), + NAME_FUNC_OFFSET(15142, glPointParameterivNV, glPointParameterivNV, NULL, 864), + NAME_FUNC_OFFSET(15163, gl_dispatch_stub_865, gl_dispatch_stub_865, NULL, 865), + NAME_FUNC_OFFSET(15186, gl_dispatch_stub_866, gl_dispatch_stub_866, NULL, 866), + NAME_FUNC_OFFSET(15209, gl_dispatch_stub_867, gl_dispatch_stub_867, NULL, 867), + NAME_FUNC_OFFSET(15235, gl_dispatch_stub_868, gl_dispatch_stub_868, NULL, 868), + NAME_FUNC_OFFSET(15258, gl_dispatch_stub_869, gl_dispatch_stub_869, NULL, 869), + NAME_FUNC_OFFSET(15279, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 870), + NAME_FUNC_OFFSET(15310, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 871), + NAME_FUNC_OFFSET(15341, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 872), + NAME_FUNC_OFFSET(15369, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 873), + NAME_FUNC_OFFSET(15398, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 874), + NAME_FUNC_OFFSET(15426, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 875), + NAME_FUNC_OFFSET(15455, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 876), + NAME_FUNC_OFFSET(15481, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 877), + NAME_FUNC_OFFSET(15502, gl_dispatch_stub_878, gl_dispatch_stub_878, NULL, 878), + NAME_FUNC_OFFSET(15519, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, 879), + NAME_FUNC_OFFSET(15546, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 880), + NAME_FUNC_OFFSET(15567, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 881), + NAME_FUNC_OFFSET(15589, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 882), + NAME_FUNC_OFFSET(15617, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 883), + NAME_FUNC_OFFSET(15641, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 884), + NAME_FUNC_OFFSET(15666, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 885), + NAME_FUNC_OFFSET(15695, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 886), + NAME_FUNC_OFFSET(15721, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 887), + NAME_FUNC_OFFSET(15747, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 888), + NAME_FUNC_OFFSET(15773, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 889), + NAME_FUNC_OFFSET(15794, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 890), + NAME_FUNC_OFFSET(15816, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 891), + NAME_FUNC_OFFSET(15836, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 892), + NAME_FUNC_OFFSET(15877, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 893), + NAME_FUNC_OFFSET(15909, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 894), + NAME_FUNC_OFFSET(15928, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 895), + NAME_FUNC_OFFSET(15948, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 896), + NAME_FUNC_OFFSET(15973, gl_dispatch_stub_897, gl_dispatch_stub_897, NULL, 897), + NAME_FUNC_OFFSET(15994, gl_dispatch_stub_898, gl_dispatch_stub_898, NULL, 898), + NAME_FUNC_OFFSET(16018, gl_dispatch_stub_899, gl_dispatch_stub_899, NULL, 899), + NAME_FUNC_OFFSET(16048, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 900), + NAME_FUNC_OFFSET(16074, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 901), + NAME_FUNC_OFFSET(16099, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 902), + NAME_FUNC_OFFSET(16118, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 903), + NAME_FUNC_OFFSET(16142, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 904), + NAME_FUNC_OFFSET(16167, glUniform1uiEXT, glUniform1uiEXT, NULL, 905), + NAME_FUNC_OFFSET(16183, glUniform1uivEXT, glUniform1uivEXT, NULL, 906), + NAME_FUNC_OFFSET(16200, glUniform2uiEXT, glUniform2uiEXT, NULL, 907), + NAME_FUNC_OFFSET(16216, glUniform2uivEXT, glUniform2uivEXT, NULL, 908), + NAME_FUNC_OFFSET(16233, glUniform3uiEXT, glUniform3uiEXT, NULL, 909), + NAME_FUNC_OFFSET(16249, glUniform3uivEXT, glUniform3uivEXT, NULL, 910), + NAME_FUNC_OFFSET(16266, glUniform4uiEXT, glUniform4uiEXT, NULL, 911), + NAME_FUNC_OFFSET(16282, glUniform4uivEXT, glUniform4uivEXT, NULL, 912), + NAME_FUNC_OFFSET(16299, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 913), + NAME_FUNC_OFFSET(16320, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 914), + NAME_FUNC_OFFSET(16342, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 915), + NAME_FUNC_OFFSET(16364, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 916), + NAME_FUNC_OFFSET(16387, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 917), + NAME_FUNC_OFFSET(16408, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 918), + NAME_FUNC_OFFSET(16430, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 919), + NAME_FUNC_OFFSET(16452, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 920), + NAME_FUNC_OFFSET(16475, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 921), + NAME_FUNC_OFFSET(16496, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 922), + NAME_FUNC_OFFSET(16518, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 923), + NAME_FUNC_OFFSET(16540, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 924), + NAME_FUNC_OFFSET(16563, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 925), + NAME_FUNC_OFFSET(16585, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 926), + NAME_FUNC_OFFSET(16606, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 927), + NAME_FUNC_OFFSET(16628, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 928), + NAME_FUNC_OFFSET(16650, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 929), + NAME_FUNC_OFFSET(16673, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 930), + NAME_FUNC_OFFSET(16695, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 931), + NAME_FUNC_OFFSET(16718, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 932), + NAME_FUNC_OFFSET(16741, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 933), + NAME_FUNC_OFFSET(16767, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 934), + NAME_FUNC_OFFSET(16796, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 935), + NAME_FUNC_OFFSET(16818, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 936), + NAME_FUNC_OFFSET(16838, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 937), + NAME_FUNC_OFFSET(16857, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 938), + NAME_FUNC_OFFSET(16881, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 939), + NAME_FUNC_OFFSET(16905, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 940), + NAME_FUNC_OFFSET(16927, glClearColorIiEXT, glClearColorIiEXT, NULL, 941), + NAME_FUNC_OFFSET(16945, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 942), + NAME_FUNC_OFFSET(16964, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 943), + NAME_FUNC_OFFSET(16988, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 944), + NAME_FUNC_OFFSET(17013, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 945), + NAME_FUNC_OFFSET(17034, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 946), + NAME_FUNC_OFFSET(17056, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 947), + NAME_FUNC_OFFSET(17083, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 948), + NAME_FUNC_OFFSET(17108, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 949), + NAME_FUNC_OFFSET(17136, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 950), + NAME_FUNC_OFFSET(17156, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 951), + NAME_FUNC_OFFSET(17178, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 952), + NAME_FUNC_OFFSET(17199, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 953), + NAME_FUNC_OFFSET(17225, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 954), + NAME_FUNC_OFFSET(17258, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 955), + NAME_FUNC_OFFSET(17289, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 956), + NAME_FUNC_OFFSET(17310, gl_dispatch_stub_957, gl_dispatch_stub_957, NULL, 957), + NAME_FUNC_OFFSET(17341, gl_dispatch_stub_958, gl_dispatch_stub_958, NULL, 958), + NAME_FUNC_OFFSET(17361, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 959), + NAME_FUNC_OFFSET(17389, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 960), + NAME_FUNC_OFFSET(17412, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 961), + NAME_FUNC_OFFSET(17437, glActiveProgramEXT, glActiveProgramEXT, NULL, 962), + NAME_FUNC_OFFSET(17456, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 963), + NAME_FUNC_OFFSET(17481, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 964), + NAME_FUNC_OFFSET(17503, glTextureBarrierNV, glTextureBarrierNV, NULL, 965), + NAME_FUNC_OFFSET(17522, gl_dispatch_stub_966, gl_dispatch_stub_966, NULL, 966), + NAME_FUNC_OFFSET(17547, gl_dispatch_stub_967, gl_dispatch_stub_967, NULL, 967), + NAME_FUNC_OFFSET(17576, gl_dispatch_stub_968, gl_dispatch_stub_968, NULL, 968), + NAME_FUNC_OFFSET(17607, gl_dispatch_stub_969, gl_dispatch_stub_969, NULL, 969), + NAME_FUNC_OFFSET(17631, gl_dispatch_stub_970, gl_dispatch_stub_970, NULL, 970), + NAME_FUNC_OFFSET(17656, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 971), + NAME_FUNC_OFFSET(17695, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 972), + NAME_FUNC_OFFSET(17724, glArrayElement, glArrayElement, NULL, 306), + NAME_FUNC_OFFSET(17742, glBindTexture, glBindTexture, NULL, 307), + NAME_FUNC_OFFSET(17759, glDrawArrays, glDrawArrays, NULL, 310), + NAME_FUNC_OFFSET(17775, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322), + NAME_FUNC_OFFSET(17800, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), + NAME_FUNC_OFFSET(17820, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), + NAME_FUNC_OFFSET(17840, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), + NAME_FUNC_OFFSET(17863, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), + NAME_FUNC_OFFSET(17886, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327), + NAME_FUNC_OFFSET(17906, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328), + NAME_FUNC_OFFSET(17923, glGetPointerv, glGetPointerv, NULL, 329), + NAME_FUNC_OFFSET(17940, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), + NAME_FUNC_OFFSET(17955, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), + NAME_FUNC_OFFSET(17979, glTexSubImage1D, glTexSubImage1D, NULL, 332), + NAME_FUNC_OFFSET(17998, glTexSubImage2D, glTexSubImage2D, NULL, 333), + NAME_FUNC_OFFSET(18017, glBlendColor, glBlendColor, NULL, 336), + NAME_FUNC_OFFSET(18033, glBlendEquation, glBlendEquation, NULL, 337), + NAME_FUNC_OFFSET(18052, glDrawRangeElements, glDrawRangeElements, NULL, 338), + NAME_FUNC_OFFSET(18075, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(18091, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(18107, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), + NAME_FUNC_OFFSET(18134, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), + NAME_FUNC_OFFSET(18161, glCopyColorTable, glCopyColorTable, NULL, 342), + NAME_FUNC_OFFSET(18181, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(18200, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(18219, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(18249, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(18279, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(18309, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(18339, glColorSubTable, glColorSubTable, NULL, 346), + NAME_FUNC_OFFSET(18358, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), + NAME_FUNC_OFFSET(18381, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), + NAME_FUNC_OFFSET(18406, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), + NAME_FUNC_OFFSET(18431, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), + NAME_FUNC_OFFSET(18458, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), + NAME_FUNC_OFFSET(18486, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), + NAME_FUNC_OFFSET(18513, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), + NAME_FUNC_OFFSET(18541, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), + NAME_FUNC_OFFSET(18570, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), + NAME_FUNC_OFFSET(18599, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356), + NAME_FUNC_OFFSET(18625, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357), + NAME_FUNC_OFFSET(18656, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358), + NAME_FUNC_OFFSET(18687, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359), + NAME_FUNC_OFFSET(18711, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), + NAME_FUNC_OFFSET(18734, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361), + NAME_FUNC_OFFSET(18752, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362), + NAME_FUNC_OFFSET(18781, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363), + NAME_FUNC_OFFSET(18810, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364), + NAME_FUNC_OFFSET(18825, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365), + NAME_FUNC_OFFSET(18851, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366), + NAME_FUNC_OFFSET(18877, glHistogram, glHistogram, NULL, 367), + NAME_FUNC_OFFSET(18892, glMinmax, glMinmax, NULL, 368), + NAME_FUNC_OFFSET(18904, glResetHistogram, glResetHistogram, NULL, 369), + NAME_FUNC_OFFSET(18924, glResetMinmax, glResetMinmax, NULL, 370), + NAME_FUNC_OFFSET(18941, glTexImage3D, glTexImage3D, NULL, 371), + NAME_FUNC_OFFSET(18957, glTexSubImage3D, glTexSubImage3D, NULL, 372), + NAME_FUNC_OFFSET(18976, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), + NAME_FUNC_OFFSET(18999, glActiveTextureARB, glActiveTextureARB, NULL, 374), + NAME_FUNC_OFFSET(19015, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), + NAME_FUNC_OFFSET(19037, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), + NAME_FUNC_OFFSET(19055, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), + NAME_FUNC_OFFSET(19074, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), + NAME_FUNC_OFFSET(19092, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), + NAME_FUNC_OFFSET(19111, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), + NAME_FUNC_OFFSET(19129, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), + NAME_FUNC_OFFSET(19148, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), + NAME_FUNC_OFFSET(19166, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), + NAME_FUNC_OFFSET(19185, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), + NAME_FUNC_OFFSET(19203, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), + NAME_FUNC_OFFSET(19222, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), + NAME_FUNC_OFFSET(19240, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), + NAME_FUNC_OFFSET(19259, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), + NAME_FUNC_OFFSET(19277, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), + NAME_FUNC_OFFSET(19296, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), + NAME_FUNC_OFFSET(19314, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), + NAME_FUNC_OFFSET(19333, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), + NAME_FUNC_OFFSET(19351, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), + NAME_FUNC_OFFSET(19370, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), + NAME_FUNC_OFFSET(19388, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), + NAME_FUNC_OFFSET(19407, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), + NAME_FUNC_OFFSET(19425, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), + NAME_FUNC_OFFSET(19444, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), + NAME_FUNC_OFFSET(19462, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), + NAME_FUNC_OFFSET(19481, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), + NAME_FUNC_OFFSET(19499, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), + NAME_FUNC_OFFSET(19518, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), + NAME_FUNC_OFFSET(19536, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), + NAME_FUNC_OFFSET(19555, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), + NAME_FUNC_OFFSET(19573, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), + NAME_FUNC_OFFSET(19592, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), + NAME_FUNC_OFFSET(19610, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), + NAME_FUNC_OFFSET(19629, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), + NAME_FUNC_OFFSET(19652, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 441), + NAME_FUNC_OFFSET(19675, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 442), + NAME_FUNC_OFFSET(19698, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 443), + NAME_FUNC_OFFSET(19721, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 444), + NAME_FUNC_OFFSET(19744, glSampleCoverageARB, glSampleCoverageARB, NULL, 445), + NAME_FUNC_OFFSET(19761, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 446), + NAME_FUNC_OFFSET(19784, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 447), + NAME_FUNC_OFFSET(19807, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 448), + NAME_FUNC_OFFSET(19830, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 449), + NAME_FUNC_OFFSET(19856, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 450), + NAME_FUNC_OFFSET(19882, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 451), + NAME_FUNC_OFFSET(19908, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 452), + NAME_FUNC_OFFSET(19932, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 453), + NAME_FUNC_OFFSET(19959, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 454), + NAME_FUNC_OFFSET(19985, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 461), + NAME_FUNC_OFFSET(20005, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 462), + NAME_FUNC_OFFSET(20025, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 463), + NAME_FUNC_OFFSET(20045, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 464), + NAME_FUNC_OFFSET(20068, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 465), + NAME_FUNC_OFFSET(20092, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 466), + NAME_FUNC_OFFSET(20115, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 467), + NAME_FUNC_OFFSET(20139, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 473), + NAME_FUNC_OFFSET(20156, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 474), + NAME_FUNC_OFFSET(20174, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 475), + NAME_FUNC_OFFSET(20191, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 476), + NAME_FUNC_OFFSET(20209, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 477), + NAME_FUNC_OFFSET(20226, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 478), + NAME_FUNC_OFFSET(20244, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 479), + NAME_FUNC_OFFSET(20261, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 480), + NAME_FUNC_OFFSET(20279, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 481), + NAME_FUNC_OFFSET(20296, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 482), + NAME_FUNC_OFFSET(20314, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 483), + NAME_FUNC_OFFSET(20331, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 484), + NAME_FUNC_OFFSET(20349, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 485), + NAME_FUNC_OFFSET(20366, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 486), + NAME_FUNC_OFFSET(20384, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 487), + NAME_FUNC_OFFSET(20401, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 488), + NAME_FUNC_OFFSET(20419, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 489), + NAME_FUNC_OFFSET(20436, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 490), + NAME_FUNC_OFFSET(20454, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 491), + NAME_FUNC_OFFSET(20473, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 492), + NAME_FUNC_OFFSET(20492, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 493), + NAME_FUNC_OFFSET(20511, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 494), + NAME_FUNC_OFFSET(20530, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 495), + NAME_FUNC_OFFSET(20550, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 496), + NAME_FUNC_OFFSET(20570, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 497), + NAME_FUNC_OFFSET(20590, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 498), + NAME_FUNC_OFFSET(20608, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 499), + NAME_FUNC_OFFSET(20625, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 500), + NAME_FUNC_OFFSET(20643, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 501), + NAME_FUNC_OFFSET(20660, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 502), + NAME_FUNC_OFFSET(20678, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 503), + NAME_FUNC_OFFSET(20696, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 504), + NAME_FUNC_OFFSET(20713, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 505), + NAME_FUNC_OFFSET(20731, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 506), + NAME_FUNC_OFFSET(20750, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 507), + NAME_FUNC_OFFSET(20769, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 508), + NAME_FUNC_OFFSET(20788, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 509), + NAME_FUNC_OFFSET(20810, glBindBufferARB, glBindBufferARB, NULL, 510), + NAME_FUNC_OFFSET(20823, glBufferDataARB, glBufferDataARB, NULL, 511), + NAME_FUNC_OFFSET(20836, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), + NAME_FUNC_OFFSET(20852, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), + NAME_FUNC_OFFSET(20868, glGenBuffersARB, glGenBuffersARB, NULL, 514), + NAME_FUNC_OFFSET(20881, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 515), + NAME_FUNC_OFFSET(20904, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 516), + NAME_FUNC_OFFSET(20924, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 517), + NAME_FUNC_OFFSET(20943, glIsBufferARB, glIsBufferARB, NULL, 518), + NAME_FUNC_OFFSET(20954, glMapBufferARB, glMapBufferARB, NULL, 519), + NAME_FUNC_OFFSET(20966, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), + NAME_FUNC_OFFSET(20980, glBeginQueryARB, glBeginQueryARB, NULL, 521), + NAME_FUNC_OFFSET(20993, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), + NAME_FUNC_OFFSET(21009, glEndQueryARB, glEndQueryARB, NULL, 523), + NAME_FUNC_OFFSET(21020, glGenQueriesARB, glGenQueriesARB, NULL, 524), + NAME_FUNC_OFFSET(21033, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 525), + NAME_FUNC_OFFSET(21052, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 526), + NAME_FUNC_OFFSET(21072, glGetQueryivARB, glGetQueryivARB, NULL, 527), + NAME_FUNC_OFFSET(21085, glIsQueryARB, glIsQueryARB, NULL, 528), + NAME_FUNC_OFFSET(21095, glCompileShaderARB, glCompileShaderARB, NULL, 530), + NAME_FUNC_OFFSET(21111, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 535), + NAME_FUNC_OFFSET(21130, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 541), + NAME_FUNC_OFFSET(21148, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 542), + NAME_FUNC_OFFSET(21169, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), + NAME_FUNC_OFFSET(21184, glGetUniformivARB, glGetUniformivARB, NULL, 544), + NAME_FUNC_OFFSET(21199, glLinkProgramARB, glLinkProgramARB, NULL, 545), + NAME_FUNC_OFFSET(21213, glShaderSourceARB, glShaderSourceARB, NULL, 546), + NAME_FUNC_OFFSET(21228, glUniform1fARB, glUniform1fARB, NULL, 547), + NAME_FUNC_OFFSET(21240, glUniform1fvARB, glUniform1fvARB, NULL, 548), + NAME_FUNC_OFFSET(21253, glUniform1iARB, glUniform1iARB, NULL, 549), + NAME_FUNC_OFFSET(21265, glUniform1ivARB, glUniform1ivARB, NULL, 550), + NAME_FUNC_OFFSET(21278, glUniform2fARB, glUniform2fARB, NULL, 551), + NAME_FUNC_OFFSET(21290, glUniform2fvARB, glUniform2fvARB, NULL, 552), + NAME_FUNC_OFFSET(21303, glUniform2iARB, glUniform2iARB, NULL, 553), + NAME_FUNC_OFFSET(21315, glUniform2ivARB, glUniform2ivARB, NULL, 554), + NAME_FUNC_OFFSET(21328, glUniform3fARB, glUniform3fARB, NULL, 555), + NAME_FUNC_OFFSET(21340, glUniform3fvARB, glUniform3fvARB, NULL, 556), + NAME_FUNC_OFFSET(21353, glUniform3iARB, glUniform3iARB, NULL, 557), + NAME_FUNC_OFFSET(21365, glUniform3ivARB, glUniform3ivARB, NULL, 558), + NAME_FUNC_OFFSET(21378, glUniform4fARB, glUniform4fARB, NULL, 559), + NAME_FUNC_OFFSET(21390, glUniform4fvARB, glUniform4fvARB, NULL, 560), + NAME_FUNC_OFFSET(21403, glUniform4iARB, glUniform4iARB, NULL, 561), + NAME_FUNC_OFFSET(21415, glUniform4ivARB, glUniform4ivARB, NULL, 562), + NAME_FUNC_OFFSET(21428, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 563), + NAME_FUNC_OFFSET(21447, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 564), + NAME_FUNC_OFFSET(21466, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 565), + NAME_FUNC_OFFSET(21485, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 566), + NAME_FUNC_OFFSET(21498, glValidateProgramARB, glValidateProgramARB, NULL, 567), + NAME_FUNC_OFFSET(21516, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 568), + NAME_FUNC_OFFSET(21537, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 569), + NAME_FUNC_OFFSET(21555, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 570), + NAME_FUNC_OFFSET(21575, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), + NAME_FUNC_OFFSET(21589, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), + NAME_FUNC_OFFSET(21606, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), + NAME_FUNC_OFFSET(21622, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), + NAME_FUNC_OFFSET(21647, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), + NAME_FUNC_OFFSET(21669, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), + NAME_FUNC_OFFSET(21696, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), + NAME_FUNC_OFFSET(21720, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 575), + NAME_FUNC_OFFSET(21756, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 597), + NAME_FUNC_OFFSET(21790, glBlendEquationiARB, glBlendEquationiARB, NULL, 598), + NAME_FUNC_OFFSET(21816, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 599), + NAME_FUNC_OFFSET(21846, glBlendFunciARB, glBlendFunciARB, NULL, 600), + NAME_FUNC_OFFSET(21868, gl_dispatch_stub_698, gl_dispatch_stub_698, NULL, 698), + NAME_FUNC_OFFSET(21884, gl_dispatch_stub_699, gl_dispatch_stub_699, NULL, 699), + NAME_FUNC_OFFSET(21903, glPointParameterfEXT, glPointParameterfEXT, NULL, 706), + NAME_FUNC_OFFSET(21921, glPointParameterfEXT, glPointParameterfEXT, NULL, 706), + NAME_FUNC_OFFSET(21942, glPointParameterfEXT, glPointParameterfEXT, NULL, 706), + NAME_FUNC_OFFSET(21964, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 707), + NAME_FUNC_OFFSET(21983, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 707), + NAME_FUNC_OFFSET(22005, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 707), + NAME_FUNC_OFFSET(22028, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 710), + NAME_FUNC_OFFSET(22047, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 711), + NAME_FUNC_OFFSET(22067, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 712), + NAME_FUNC_OFFSET(22086, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 713), + NAME_FUNC_OFFSET(22106, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 714), + NAME_FUNC_OFFSET(22125, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 715), + NAME_FUNC_OFFSET(22145, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 716), + NAME_FUNC_OFFSET(22164, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 717), + NAME_FUNC_OFFSET(22184, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 718), + NAME_FUNC_OFFSET(22203, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 719), + NAME_FUNC_OFFSET(22223, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 720), + NAME_FUNC_OFFSET(22243, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 721), + NAME_FUNC_OFFSET(22264, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 722), + NAME_FUNC_OFFSET(22284, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 723), + NAME_FUNC_OFFSET(22305, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 724), + NAME_FUNC_OFFSET(22325, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 725), + NAME_FUNC_OFFSET(22346, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 726), + NAME_FUNC_OFFSET(22370, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 727), + NAME_FUNC_OFFSET(22388, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 728), + NAME_FUNC_OFFSET(22408, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 729), + NAME_FUNC_OFFSET(22426, glFogCoorddEXT, glFogCoorddEXT, NULL, 730), + NAME_FUNC_OFFSET(22438, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 731), + NAME_FUNC_OFFSET(22451, glFogCoordfEXT, glFogCoordfEXT, NULL, 732), + NAME_FUNC_OFFSET(22463, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 733), + NAME_FUNC_OFFSET(22476, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 735), + NAME_FUNC_OFFSET(22496, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 735), + NAME_FUNC_OFFSET(22520, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752), + NAME_FUNC_OFFSET(22534, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 752), + NAME_FUNC_OFFSET(22551, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753), + NAME_FUNC_OFFSET(22566, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 753), + NAME_FUNC_OFFSET(22584, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754), + NAME_FUNC_OFFSET(22598, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 754), + NAME_FUNC_OFFSET(22615, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755), + NAME_FUNC_OFFSET(22630, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 755), + NAME_FUNC_OFFSET(22648, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756), + NAME_FUNC_OFFSET(22662, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 756), + NAME_FUNC_OFFSET(22679, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757), + NAME_FUNC_OFFSET(22694, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 757), + NAME_FUNC_OFFSET(22712, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758), + NAME_FUNC_OFFSET(22726, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 758), + NAME_FUNC_OFFSET(22743, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759), + NAME_FUNC_OFFSET(22758, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 759), + NAME_FUNC_OFFSET(22776, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760), + NAME_FUNC_OFFSET(22790, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 760), + NAME_FUNC_OFFSET(22807, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761), + NAME_FUNC_OFFSET(22822, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 761), + NAME_FUNC_OFFSET(22840, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762), + NAME_FUNC_OFFSET(22854, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 762), + NAME_FUNC_OFFSET(22871, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763), + NAME_FUNC_OFFSET(22886, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 763), + NAME_FUNC_OFFSET(22904, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764), + NAME_FUNC_OFFSET(22918, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 764), + NAME_FUNC_OFFSET(22935, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765), + NAME_FUNC_OFFSET(22950, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 765), + NAME_FUNC_OFFSET(22968, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766), + NAME_FUNC_OFFSET(22982, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 766), + NAME_FUNC_OFFSET(22999, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767), + NAME_FUNC_OFFSET(23014, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 767), + NAME_FUNC_OFFSET(23032, glBindProgramNV, glBindProgramNV, NULL, 786), + NAME_FUNC_OFFSET(23049, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 787), + NAME_FUNC_OFFSET(23069, glGenProgramsNV, glGenProgramsNV, NULL, 789), + NAME_FUNC_OFFSET(23086, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 795), + NAME_FUNC_OFFSET(23112, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 795), + NAME_FUNC_OFFSET(23141, glIsProgramNV, glIsProgramNV, NULL, 799), + NAME_FUNC_OFFSET(23156, glPointParameteriNV, glPointParameteriNV, NULL, 863), + NAME_FUNC_OFFSET(23174, glPointParameterivNV, glPointParameterivNV, NULL, 864), + NAME_FUNC_OFFSET(23193, gl_dispatch_stub_867, gl_dispatch_stub_867, NULL, 867), + NAME_FUNC_OFFSET(23214, gl_dispatch_stub_869, gl_dispatch_stub_869, NULL, 869), + NAME_FUNC_OFFSET(23230, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 876), + NAME_FUNC_OFFSET(23254, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, 879), + NAME_FUNC_OFFSET(23278, gl_dispatch_stub_879, gl_dispatch_stub_879, NULL, 879), + NAME_FUNC_OFFSET(23305, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 880), + NAME_FUNC_OFFSET(23323, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 881), + NAME_FUNC_OFFSET(23342, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 882), + NAME_FUNC_OFFSET(23367, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 883), + NAME_FUNC_OFFSET(23388, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 884), + NAME_FUNC_OFFSET(23410, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 885), + NAME_FUNC_OFFSET(23436, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 886), + NAME_FUNC_OFFSET(23459, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 887), + NAME_FUNC_OFFSET(23482, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 888), + NAME_FUNC_OFFSET(23505, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 889), + NAME_FUNC_OFFSET(23523, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 890), + NAME_FUNC_OFFSET(23542, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 891), + NAME_FUNC_OFFSET(23559, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 892), + NAME_FUNC_OFFSET(23597, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 893), + NAME_FUNC_OFFSET(23626, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 894), + NAME_FUNC_OFFSET(23642, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 895), + NAME_FUNC_OFFSET(23659, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 896), + NAME_FUNC_OFFSET(23681, gl_dispatch_stub_897, gl_dispatch_stub_897, NULL, 897), + NAME_FUNC_OFFSET(23699, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 900), + NAME_FUNC_OFFSET(23722, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 901), + NAME_FUNC_OFFSET(23744, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 902), + NAME_FUNC_OFFSET(23760, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 903), + NAME_FUNC_OFFSET(23781, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 904), + NAME_FUNC_OFFSET(23803, glUniform1uiEXT, glUniform1uiEXT, NULL, 905), + NAME_FUNC_OFFSET(23816, glUniform1uivEXT, glUniform1uivEXT, NULL, 906), + NAME_FUNC_OFFSET(23830, glUniform2uiEXT, glUniform2uiEXT, NULL, 907), + NAME_FUNC_OFFSET(23843, glUniform2uivEXT, glUniform2uivEXT, NULL, 908), + NAME_FUNC_OFFSET(23857, glUniform3uiEXT, glUniform3uiEXT, NULL, 909), + NAME_FUNC_OFFSET(23870, glUniform3uivEXT, glUniform3uivEXT, NULL, 910), + NAME_FUNC_OFFSET(23884, glUniform4uiEXT, glUniform4uiEXT, NULL, 911), + NAME_FUNC_OFFSET(23897, glUniform4uivEXT, glUniform4uivEXT, NULL, 912), + NAME_FUNC_OFFSET(23911, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 913), + NAME_FUNC_OFFSET(23929, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 914), + NAME_FUNC_OFFSET(23948, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 915), + NAME_FUNC_OFFSET(23967, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 916), + NAME_FUNC_OFFSET(23987, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 917), + NAME_FUNC_OFFSET(24005, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 918), + NAME_FUNC_OFFSET(24024, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 919), + NAME_FUNC_OFFSET(24043, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 920), + NAME_FUNC_OFFSET(24063, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 921), + NAME_FUNC_OFFSET(24081, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 922), + NAME_FUNC_OFFSET(24100, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 923), + NAME_FUNC_OFFSET(24119, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 924), + NAME_FUNC_OFFSET(24139, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 925), + NAME_FUNC_OFFSET(24158, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 926), + NAME_FUNC_OFFSET(24176, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 927), + NAME_FUNC_OFFSET(24195, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 928), + NAME_FUNC_OFFSET(24214, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 929), + NAME_FUNC_OFFSET(24234, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 930), + NAME_FUNC_OFFSET(24253, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 931), + NAME_FUNC_OFFSET(24273, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 932), + NAME_FUNC_OFFSET(24293, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 933), + NAME_FUNC_OFFSET(24316, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 934), + NAME_FUNC_OFFSET(24342, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 934), + NAME_FUNC_OFFSET(24371, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 935), + NAME_FUNC_OFFSET(24384, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 936), + NAME_FUNC_OFFSET(24395, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 937), + NAME_FUNC_OFFSET(24405, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 938), + NAME_FUNC_OFFSET(24421, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 939), + NAME_FUNC_OFFSET(24437, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 940), + NAME_FUNC_OFFSET(24450, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 943), + NAME_FUNC_OFFSET(24471, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 944), + NAME_FUNC_OFFSET(24493, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 945), + NAME_FUNC_OFFSET(24511, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 946), + NAME_FUNC_OFFSET(24530, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 947), + NAME_FUNC_OFFSET(24555, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 948), + NAME_FUNC_OFFSET(24578, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 949), + NAME_FUNC_OFFSET(24603, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 950), + NAME_FUNC_OFFSET(24620, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 952), + NAME_FUNC_OFFSET(24638, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 953), + NAME_FUNC_OFFSET(24661, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 954), + NAME_FUNC_OFFSET(24691, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 955), + NAME_FUNC_OFFSET(24719, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 956), NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; diff --git a/mesalib/src/mesa/SConscript b/mesalib/src/mesa/SConscript index 45414bcde..7688ce941 100644 --- a/mesalib/src/mesa/SConscript +++ b/mesalib/src/mesa/SConscript @@ -126,6 +126,7 @@ main_sources = [ 'main/texpal.c', 'main/texparam.c', 'main/texstate.c', + 'main/texstorage.c', 'main/texstore.c', 'main/texturebarrier.c', 'main/transformfeedback.c', diff --git a/mesalib/src/mesa/drivers/common/driverfuncs.c b/mesalib/src/mesa/drivers/common/driverfuncs.c index 263d4025f..27ea559b3 100644 --- a/mesalib/src/mesa/drivers/common/driverfuncs.c +++ b/mesalib/src/mesa/drivers/common/driverfuncs.c @@ -120,6 +120,7 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->UnmapTexture = NULL; driver->TextureMemCpy = memcpy; driver->IsTextureResident = NULL; + driver->DrawTex = _mesa_meta_DrawTex; /* Vertex/fragment programs */ driver->BindProgram = NULL; @@ -179,6 +180,8 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->NewFramebuffer = _mesa_new_framebuffer; driver->NewRenderbuffer = _mesa_new_soft_renderbuffer; + driver->MapRenderbuffer = _mesa_map_soft_renderbuffer; + driver->UnmapRenderbuffer = _mesa_unmap_soft_renderbuffer; driver->RenderTexture = _swrast_render_texture; driver->FinishRenderTexture = _swrast_finish_render_texture; driver->FramebufferRenderbuffer = _mesa_framebuffer_renderbuffer; @@ -217,6 +220,9 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->EndList = NULL; driver->BeginCallList = NULL; driver->EndCallList = NULL; + + /* GL_ARB_texture_storage */ + driver->AllocTextureStorage = _swrast_AllocTextureStorage; } diff --git a/mesalib/src/mesa/drivers/common/meta.c b/mesalib/src/mesa/drivers/common/meta.c index c7bb93380..3e553341d 100644 --- a/mesalib/src/mesa/drivers/common/meta.c +++ b/mesalib/src/mesa/drivers/common/meta.c @@ -278,6 +278,14 @@ struct decompress_state GLint Width, Height; }; +/** + * State for glDrawTex() + */ +struct drawtex_state +{ + GLuint ArrayObj; + GLuint VBO; +}; #define MAX_META_OPS_DEPTH 8 /** @@ -299,6 +307,7 @@ struct gl_meta_state struct bitmap_state Bitmap; /**< For _mesa_meta_Bitmap() */ struct gen_mipmap_state Mipmap; /**< For _mesa_meta_GenerateMipmap() */ struct decompress_state Decompress; /**< For texture decompression */ + struct drawtex_state DrawTex; /**< For _mesa_meta_DrawTex() */ }; @@ -3332,3 +3341,131 @@ _mesa_meta_GetTexImage(struct gl_context *ctx, _mesa_get_teximage(ctx, format, type, pixels, texImage); } } + + +/** + * Meta implementation of ctx->Driver.DrawTex() in terms + * of polygon rendering. + */ +void +_mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z, + GLfloat width, GLfloat height) +{ +#if FEATURE_OES_draw_texture + struct drawtex_state *drawtex = &ctx->Meta->DrawTex; + struct vertex { + GLfloat x, y, z, st[MAX_TEXTURE_UNITS][2]; + }; + struct vertex verts[4]; + GLuint i; + + _mesa_meta_begin(ctx, (MESA_META_RASTERIZATION | + MESA_META_SHADER | + MESA_META_TRANSFORM | + MESA_META_VERTEX | + MESA_META_VIEWPORT)); + + if (drawtex->ArrayObj == 0) { + /* one-time setup */ + GLint active_texture; + + /* create vertex array object */ + _mesa_GenVertexArrays(1, &drawtex->ArrayObj); + _mesa_BindVertexArray(drawtex->ArrayObj); + + /* create vertex array buffer */ + _mesa_GenBuffersARB(1, &drawtex->VBO); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, drawtex->VBO); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); + + /* client active texture is not part of the array object */ + active_texture = ctx->Array.ActiveTexture; + + /* setup vertex arrays */ + _mesa_VertexPointer(3, GL_FLOAT, sizeof(struct vertex), OFFSET(x)); + _mesa_EnableClientState(GL_VERTEX_ARRAY); + for (i = 0; i < ctx->Const.MaxTextureUnits; i++) { + _mesa_ClientActiveTextureARB(GL_TEXTURE0 + i); + _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), OFFSET(st[i])); + _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); + } + + /* restore client active texture */ + _mesa_ClientActiveTextureARB(GL_TEXTURE0 + active_texture); + } + else { + _mesa_BindVertexArray(drawtex->ArrayObj); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, drawtex->VBO); + } + + /* vertex positions, texcoords */ + { + const GLfloat x1 = x + width; + const GLfloat y1 = y + height; + + z = CLAMP(z, 0.0, 1.0); + z = invert_z(z); + + verts[0].x = x; + verts[0].y = y; + verts[0].z = z; + + verts[1].x = x1; + verts[1].y = y; + verts[1].z = z; + + verts[2].x = x1; + verts[2].y = y1; + verts[2].z = z; + + verts[3].x = x; + verts[3].y = y1; + verts[3].z = z; + + for (i = 0; i < ctx->Const.MaxTextureUnits; i++) { + const struct gl_texture_object *texObj; + const struct gl_texture_image *texImage; + GLfloat s, t, s1, t1; + GLuint tw, th; + + if (!ctx->Texture.Unit[i]._ReallyEnabled) { + GLuint j; + for (j = 0; j < 4; j++) { + verts[j].st[i][0] = 0.0f; + verts[j].st[i][1] = 0.0f; + } + continue; + } + + texObj = ctx->Texture.Unit[i]._Current; + texImage = texObj->Image[0][texObj->BaseLevel]; + tw = texImage->Width2; + th = texImage->Height2; + + s = (GLfloat) texObj->CropRect[0] / tw; + t = (GLfloat) texObj->CropRect[1] / th; + s1 = (GLfloat) (texObj->CropRect[0] + texObj->CropRect[2]) / tw; + t1 = (GLfloat) (texObj->CropRect[1] + texObj->CropRect[3]) / th; + + verts[0].st[i][0] = s; + verts[0].st[i][1] = t; + + verts[1].st[i][0] = s1; + verts[1].st[i][1] = t; + + verts[2].st[i][0] = s1; + verts[2].st[i][1] = t1; + + verts[3].st[i][0] = s; + verts[3].st[i][1] = t1; + } + + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); + } + + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + + _mesa_meta_end(ctx); +#endif /* FEATURE_OES_draw_texture */ +} diff --git a/mesalib/src/mesa/drivers/common/meta.h b/mesalib/src/mesa/drivers/common/meta.h index e0435a822..719813984 100644 --- a/mesalib/src/mesa/drivers/common/meta.h +++ b/mesalib/src/mesa/drivers/common/meta.h @@ -129,5 +129,8 @@ _mesa_meta_GetTexImage(struct gl_context *ctx, GLenum format, GLenum type, GLvoid *pixels, struct gl_texture_image *texImage); +extern void +_mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z, + GLfloat width, GLfloat height); #endif /* META_H */ diff --git a/mesalib/src/mesa/drivers/dri/common/Makefile.sources b/mesalib/src/mesa/drivers/dri/common/Makefile.sources index 3432dda45..040b71725 100644 --- a/mesalib/src/mesa/drivers/dri/common/Makefile.sources +++ b/mesalib/src/mesa/drivers/dri/common/Makefile.sources @@ -1,13 +1,10 @@ mesa_dri_common_gallium_SOURCES := \ utils.c \ - vblank.c \ dri_util.c \ xmlconfig.c mesa_dri_common_SOURCES := \ - $(mesa_dri_common_gallium_SOURCES) \ - texmem.c \ - drirenderbuffer.c + $(mesa_dri_common_gallium_SOURCES) # Paths are relative to MESA_TOP. mesa_dri_common_INCLUDES := \ diff --git a/mesalib/src/mesa/drivers/dri/common/dri_util.c b/mesalib/src/mesa/drivers/dri/common/dri_util.c index cdd413737..da4e39f9c 100644 --- a/mesalib/src/mesa/drivers/dri/common/dri_util.c +++ b/mesalib/src/mesa/drivers/dri/common/dri_util.c @@ -17,19 +17,11 @@ #include <assert.h> #include <stdarg.h> -#include <unistd.h> -#include <sys/mman.h> #include <stdio.h> -#ifndef MAP_FAILED -#define MAP_FAILED ((void *)-1) -#endif - #include "main/imports.h" -#define None 0 #include "dri_util.h" -#include "drm_sarea.h" #include "utils.h" #include "xmlpool.h" #include "../glsl/glsl_parser_extras.h" @@ -50,27 +42,6 @@ typedef GLboolean ( * PFNGLXGETMSCRATEOMLPROC) (__DRIdrawable *drawable, int32_t static void dri_get_drawable(__DRIdrawable *pdp); static void dri_put_drawable(__DRIdrawable *pdp); -/** - * This is just a token extension used to signal that the driver - * supports setting a read drawable. - */ -const __DRIextension driReadDrawableExtension = { - __DRI_READ_DRAWABLE, __DRI_READ_DRAWABLE_VERSION -}; - -GLint -driIntersectArea( drm_clip_rect_t rect1, drm_clip_rect_t rect2 ) -{ - if (rect2.x1 > rect1.x1) rect1.x1 = rect2.x1; - if (rect2.x2 < rect1.x2) rect1.x2 = rect2.x2; - if (rect2.y1 > rect1.y1) rect1.y1 = rect2.y1; - if (rect2.y2 < rect1.y2) rect1.y2 = rect2.y2; - - if (rect1.x1 > rect1.x2 || rect1.y1 > rect1.y2) return 0; - - return (rect1.x2 - rect1.x1) * (rect1.y2 - rect1.y1); -} - /*****************************************************************/ /** \name Context (un)binding functions */ /*****************************************************************/ @@ -174,294 +145,10 @@ static int driBindContext(__DRIcontext *pcp, dri_get_drawable(prp); } - /* - ** Now that we have a context associated with this drawable, we can - ** initialize the drawable information if has not been done before. - */ - - if (!psp->dri2.enabled) { - if (pdp && !pdp->pStamp) { - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - __driUtilUpdateDrawableInfo(pdp); - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - } - if (prp && pdp != prp && !prp->pStamp) { - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - __driUtilUpdateDrawableInfo(prp); - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - } - } - /* Call device-specific MakeCurrent */ return (*psp->DriverAPI.MakeCurrent)(pcp, pdp, prp); } -/*@}*/ - - -/*****************************************************************/ -/** \name Drawable handling functions */ -/*****************************************************************/ -/*@{*/ - -/** - * Update private drawable information. - * - * \param pdp pointer to the private drawable information to update. - * - * This function basically updates the __DRIdrawable struct's - * cliprect information by calling \c __DRIinterfaceMethods::getDrawableInfo. - * This is usually called by the DRI_VALIDATE_DRAWABLE_INFO macro which - * compares the __DRIdrwablePrivate pStamp and lastStamp values. If - * the values are different that means we have to update the clipping - * info. - */ -void -__driUtilUpdateDrawableInfo(__DRIdrawable *pdp) -{ - __DRIscreen *psp = pdp->driScreenPriv; - __DRIcontext *pcp = pdp->driContextPriv; - - if (!pcp - || ((pdp != pcp->driDrawablePriv) && (pdp != pcp->driReadablePriv))) { - /* ERROR!!! - * ...but we must ignore it. There can be many contexts bound to a - * drawable. - */ - } - - if (pdp->pClipRects) { - free(pdp->pClipRects); - pdp->pClipRects = NULL; - } - - if (pdp->pBackClipRects) { - free(pdp->pBackClipRects); - pdp->pBackClipRects = NULL; - } - - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - - if (! (*psp->getDrawableInfo->getDrawableInfo)(pdp, - &pdp->index, &pdp->lastStamp, - &pdp->x, &pdp->y, &pdp->w, &pdp->h, - &pdp->numClipRects, &pdp->pClipRects, - &pdp->backX, - &pdp->backY, - &pdp->numBackClipRects, - &pdp->pBackClipRects, - pdp->loaderPrivate)) { - /* Error -- eg the window may have been destroyed. Keep going - * with no cliprects. - */ - pdp->pStamp = &pdp->lastStamp; /* prevent endless loop */ - pdp->numClipRects = 0; - pdp->pClipRects = NULL; - pdp->numBackClipRects = 0; - pdp->pBackClipRects = NULL; - } - else - pdp->pStamp = &(psp->pSAREA->drawableTable[pdp->index].stamp); - - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); -} - -/*@}*/ - -/*****************************************************************/ -/** \name GLX callbacks */ -/*****************************************************************/ -/*@{*/ - -static void driReportDamage(__DRIdrawable *pdp, - struct drm_clip_rect *pClipRects, int numClipRects) -{ - __DRIscreen *psp = pdp->driScreenPriv; - - /* Check that we actually have the new damage report method */ - if (psp->damage) { - /* Report the damage. Currently, all our drivers draw - * directly to the front buffer, so we report the damage there - * rather than to the backing storein (if any). - */ - (*psp->damage->reportDamage)(pdp, - pdp->x, pdp->y, - pClipRects, numClipRects, - GL_TRUE, pdp->loaderPrivate); - } -} - - -/** - * Swap buffers. - * - * \param drawablePrivate opaque pointer to the per-drawable private info. - * - * \internal - * This function calls __DRIdrawable::swapBuffers. - * - * Is called directly from glXSwapBuffers(). - */ -static void driSwapBuffers(__DRIdrawable *dPriv) -{ - __DRIscreen *psp = dPriv->driScreenPriv; - drm_clip_rect_t *rects; - int i; - - psp->DriverAPI.SwapBuffers(dPriv); - - if (!dPriv->numClipRects) - return; - - rects = malloc(sizeof(*rects) * dPriv->numClipRects); - - if (!rects) - return; - - for (i = 0; i < dPriv->numClipRects; i++) { - rects[i].x1 = dPriv->pClipRects[i].x1 - dPriv->x; - rects[i].y1 = dPriv->pClipRects[i].y1 - dPriv->y; - rects[i].x2 = dPriv->pClipRects[i].x2 - dPriv->x; - rects[i].y2 = dPriv->pClipRects[i].y2 - dPriv->y; - } - - driReportDamage(dPriv, rects, dPriv->numClipRects); - free(rects); -} - -static int driDrawableGetMSC( __DRIscreen *sPriv, __DRIdrawable *dPriv, - int64_t *msc ) -{ - return sPriv->DriverAPI.GetDrawableMSC(sPriv, dPriv, msc); -} - - -static int driWaitForMSC(__DRIdrawable *dPriv, int64_t target_msc, - int64_t divisor, int64_t remainder, - int64_t * msc, int64_t * sbc) -{ - __DRIswapInfo sInfo; - int status; - - status = dPriv->driScreenPriv->DriverAPI.WaitForMSC( dPriv, target_msc, - divisor, remainder, - msc ); - - /* GetSwapInfo() may not be provided by the driver if GLX_SGI_video_sync - * is supported but GLX_OML_sync_control is not. Therefore, don't return - * an error value if GetSwapInfo() is not implemented. - */ - if ( status == 0 - && dPriv->driScreenPriv->DriverAPI.GetSwapInfo ) { - status = dPriv->driScreenPriv->DriverAPI.GetSwapInfo( dPriv, & sInfo ); - *sbc = sInfo.swap_count; - } - - return status; -} - - -const __DRImediaStreamCounterExtension driMediaStreamCounterExtension = { - { __DRI_MEDIA_STREAM_COUNTER, __DRI_MEDIA_STREAM_COUNTER_VERSION }, - driWaitForMSC, - driDrawableGetMSC, -}; - - -static void driCopySubBuffer(__DRIdrawable *dPriv, - int x, int y, int w, int h) -{ - drm_clip_rect_t rect; - - rect.x1 = x; - rect.y1 = dPriv->h - y - h; - rect.x2 = x + w; - rect.y2 = rect.y1 + h; - driReportDamage(dPriv, &rect, 1); - - dPriv->driScreenPriv->DriverAPI.CopySubBuffer(dPriv, x, y, w, h); -} - -const __DRIcopySubBufferExtension driCopySubBufferExtension = { - { __DRI_COPY_SUB_BUFFER, __DRI_COPY_SUB_BUFFER_VERSION }, - driCopySubBuffer -}; - -static void driSetSwapInterval(__DRIdrawable *dPriv, unsigned int interval) -{ - dPriv->swap_interval = interval; -} - -static unsigned int driGetSwapInterval(__DRIdrawable *dPriv) -{ - return dPriv->swap_interval; -} - -const __DRIswapControlExtension driSwapControlExtension = { - { __DRI_SWAP_CONTROL, __DRI_SWAP_CONTROL_VERSION }, - driSetSwapInterval, - driGetSwapInterval -}; - - -/** - * This is called via __DRIscreenRec's createNewDrawable pointer. - */ -static __DRIdrawable * -driCreateNewDrawable(__DRIscreen *psp, const __DRIconfig *config, - drm_drawable_t hwDrawable, int renderType, - const int *attrs, void *data) -{ - __DRIdrawable *pdp; - - /* Since pbuffers are not yet supported, no drawable attributes are - * supported either. - */ - (void) attrs; - (void) renderType; - - pdp = malloc(sizeof *pdp); - if (!pdp) { - return NULL; - } - - pdp->driContextPriv = NULL; - pdp->loaderPrivate = data; - pdp->hHWDrawable = hwDrawable; - pdp->refcount = 1; - pdp->pStamp = NULL; - pdp->lastStamp = 0; - pdp->index = 0; - pdp->x = 0; - pdp->y = 0; - pdp->w = 0; - pdp->h = 0; - pdp->numClipRects = 0; - pdp->numBackClipRects = 0; - pdp->pClipRects = NULL; - pdp->pBackClipRects = NULL; - pdp->vblSeq = 0; - pdp->vblFlags = 0; - - pdp->driScreenPriv = psp; - - if (!(*psp->DriverAPI.CreateBuffer)(psp, pdp, &config->modes, 0)) { - free(pdp); - return NULL; - } - - pdp->msc_base = 0; - - /* This special default value is replaced with the configured - * default value when the drawable is first bound to a direct - * rendering context. - */ - pdp->swap_interval = (unsigned)-1; - - return pdp; -} - - static __DRIdrawable * dri2CreateNewDrawable(__DRIscreen *screen, const __DRIconfig *config, @@ -469,15 +156,24 @@ dri2CreateNewDrawable(__DRIscreen *screen, { __DRIdrawable *pdraw; - pdraw = driCreateNewDrawable(screen, config, 0, 0, NULL, loaderPrivate); + pdraw = malloc(sizeof *pdraw); if (!pdraw) - return NULL; + return NULL; - pdraw->pClipRects = &pdraw->dri2.clipRect; - pdraw->pBackClipRects = &pdraw->dri2.clipRect; + pdraw->driContextPriv = NULL; + pdraw->loaderPrivate = loaderPrivate; + pdraw->refcount = 1; + pdraw->lastStamp = 0; + pdraw->w = 0; + pdraw->h = 0; + pdraw->driScreenPriv = screen; + + if (!(*screen->DriverAPI.CreateBuffer)(screen, pdraw, &config->modes, 0)) { + free(pdraw); + return NULL; + } - pdraw->pStamp = &pdraw->dri2.stamp; - *pdraw->pStamp = pdraw->lastStamp + 1; + pdraw->dri2.stamp = pdraw->lastStamp + 1; return pdraw; } @@ -549,14 +245,6 @@ static void dri_put_drawable(__DRIdrawable *pdp) psp = pdp->driScreenPriv; (*psp->DriverAPI.DestroyBuffer)(pdp); - if (pdp->pClipRects && pdp->pClipRects != &pdp->dri2.clipRect) { - free(pdp->pClipRects); - pdp->pClipRects = NULL; - } - if (pdp->pBackClipRects && pdp->pClipRects != &pdp->dri2.clipRect) { - free(pdp->pBackClipRects); - pdp->pBackClipRects = NULL; - } free(pdp); } } @@ -591,58 +279,6 @@ driDestroyContext(__DRIcontext *pcp) } } - -/** - * Create the per-drawable private driver information. - * - * \param render_type Type of rendering target. \c GLX_RGBA_TYPE is the only - * type likely to ever be supported for direct-rendering. - * However, \c GLX_RGBA_FLOAT_TYPE_ARB may eventually be - * supported by some drivers. - * \param shared Context with which to share textures, etc. or NULL - * - * \returns An opaque pointer to the per-context private information on - * success, or \c NULL on failure. - * - * \internal - * This function allocates and fills a __DRIcontextRec structure. It - * performs some device independent initialization and passes all the - * relevent information to __DriverAPIRec::CreateContext to create the - * context. - * - */ -static __DRIcontext * -driCreateNewContext(__DRIscreen *psp, const __DRIconfig *config, - int render_type, __DRIcontext *shared, - drm_context_t hwContext, void *data) -{ - __DRIcontext *pcp; - void * const shareCtx = (shared != NULL) ? shared->driverPrivate : NULL; - - (void) render_type; - - pcp = malloc(sizeof *pcp); - if (!pcp) - return NULL; - - pcp->driScreenPriv = psp; - pcp->driDrawablePriv = NULL; - pcp->loaderPrivate = data; - - pcp->dri2.draw_stamp = 0; - pcp->dri2.read_stamp = 0; - - pcp->hHWContext = hwContext; - - if ( !(*psp->DriverAPI.CreateContext)(API_OPENGL, - &config->modes, pcp, shareCtx) ) { - free(pcp); - return NULL; - } - - return pcp; -} - static unsigned int dri2GetAPIMask(__DRIscreen *screen) { @@ -739,14 +375,8 @@ static void driDestroyScreen(__DRIscreen *psp) if (psp->DriverAPI.DestroyScreen) (*psp->DriverAPI.DestroyScreen)(psp); - if (!psp->dri2.enabled) { - (void)drmUnmap((drmAddress)psp->pSAREA, SAREA_MAX); - (void)drmUnmap((drmAddress)psp->pFB, psp->fbSize); - (void)drmCloseOnce(psp->fd); - } else { - driDestroyOptionCache(&psp->optionCache); - driDestroyOptionInfo(&psp->optionInfo); - } + driDestroyOptionCache(&psp->optionCache); + driDestroyOptionInfo(&psp->optionInfo); free(psp); } @@ -759,12 +389,6 @@ setupLoaderExtensions(__DRIscreen *psp, int i; for (i = 0; extensions[i]; i++) { - if (strcmp(extensions[i]->name, __DRI_GET_DRAWABLE_INFO) == 0) - psp->getDrawableInfo = (__DRIgetDrawableInfoExtension *) extensions[i]; - if (strcmp(extensions[i]->name, __DRI_DAMAGE) == 0) - psp->damage = (__DRIdamageExtension *) extensions[i]; - if (strcmp(extensions[i]->name, __DRI_SYSTEM_TIME) == 0) - psp->systemTime = (__DRIsystemTimeExtension *) extensions[i]; if (strcmp(extensions[i]->name, __DRI_DRI2_LOADER) == 0) psp->dri2.loader = (__DRIdri2LoaderExtension *) extensions[i]; if (strcmp(extensions[i]->name, __DRI_IMAGE_LOOKUP) == 0) @@ -775,99 +399,6 @@ setupLoaderExtensions(__DRIscreen *psp, } /** - * This is the bootstrap function for the driver. libGL supplies all of the - * requisite information about the system, and the driver initializes itself. - * This routine also fills in the linked list pointed to by \c driver_modes - * with the \c struct gl_config that the driver can support for windows or - * pbuffers. - * - * For legacy DRI. - * - * \param scrn Index of the screen - * \param ddx_version Version of the 2D DDX. This may not be meaningful for - * all drivers. - * \param dri_version Version of the "server-side" DRI. - * \param drm_version Version of the kernel DRM. - * \param frame_buffer Data describing the location and layout of the - * framebuffer. - * \param pSAREA Pointer to the SAREA. - * \param fd Device handle for the DRM. - * \param extensions ?? - * \param driver_modes Returns modes suppoted by the driver - * \param loaderPrivate ?? - * - * \note There is no need to check the minimum API version in this - * function. Since the name of this function is versioned, it is - * impossible for a loader that is too old to even load this driver. - */ -static __DRIscreen * -driCreateNewScreen(int scrn, - const __DRIversion *ddx_version, - const __DRIversion *dri_version, - const __DRIversion *drm_version, - const __DRIframebuffer *frame_buffer, - drmAddress pSAREA, int fd, - const __DRIextension **extensions, - const __DRIconfig ***driver_modes, - void *loaderPrivate) -{ - static const __DRIextension *emptyExtensionList[] = { NULL }; - __DRIscreen *psp; - - (void) loaderPrivate; - - if (driDriverAPI.InitScreen == NULL) { - __driUtilMessage("driver does not support DRI1"); - return NULL; - } - - psp = calloc(1, sizeof *psp); - if (!psp) - return NULL; - - setupLoaderExtensions(psp, extensions); - - /* - ** NOT_DONE: This is used by the X server to detect when the client - ** has died while holding the drawable lock. The client sets the - ** drawable lock to this value. - */ - psp->drawLockID = 1; - - psp->drm_version = *drm_version; - psp->ddx_version = *ddx_version; - psp->dri_version = *dri_version; - - psp->pSAREA = pSAREA; - psp->lock = (drmLock *) &psp->pSAREA->lock; - - psp->pFB = frame_buffer->base; - psp->fbSize = frame_buffer->size; - psp->fbStride = frame_buffer->stride; - psp->fbWidth = frame_buffer->width; - psp->fbHeight = frame_buffer->height; - psp->devPrivSize = frame_buffer->dev_priv_size; - psp->pDevPriv = frame_buffer->dev_priv; - psp->fbBPP = psp->fbStride * 8 / frame_buffer->width; - - psp->extensions = emptyExtensionList; - psp->fd = fd; - psp->myNum = scrn; - psp->dri2.enabled = GL_FALSE; - - psp->DriverAPI = driDriverAPI; - psp->api_mask = (1 << __DRI_API_OPENGL); - - *driver_modes = driDriverAPI.InitScreen(psp); - if (*driver_modes == NULL) { - free(psp); - return NULL; - } - - return psp; -} - -/** * DRI2 */ static __DRIscreen * @@ -899,7 +430,6 @@ dri2CreateNewScreen(int scrn, int fd, psp->extensions = emptyExtensionList; psp->fd = fd; psp->myNum = scrn; - psp->dri2.enabled = GL_TRUE; psp->DriverAPI = driDriverAPI; psp->api_mask = (1 << __DRI_API_OPENGL); @@ -935,7 +465,7 @@ const __DRIcoreExtension driCoreExtension = { driIndexConfigAttrib, NULL, driDestroyDrawable, - driSwapBuffers, + NULL, NULL, driCopyContext, driDestroyContext, @@ -943,14 +473,6 @@ const __DRIcoreExtension driCoreExtension = { driUnbindContext }; -/** Legacy DRI interface */ -const __DRIlegacyExtension driLegacyExtension = { - { __DRI_LEGACY, __DRI_LEGACY_VERSION }, - driCreateNewScreen, - driCreateNewDrawable, - driCreateNewContext, -}; - /** DRI2 interface */ const __DRIdri2Extension driDRI2Extension = { { __DRI_DRI2, __DRI_DRI2_VERSION }, @@ -970,73 +492,27 @@ const __DRI2configQueryExtension dri2ConfigQueryExtension = { dri2ConfigQueryf, }; -/** - * Calculate amount of swap interval used between GLX buffer swaps. - * - * The usage value, on the range [0,max], is the fraction of total swap - * interval time used between GLX buffer swaps is calculated. - * - * \f$p = t_d / (i * t_r)\f$ - * - * Where \f$t_d\f$ is the time since the last GLX buffer swap, \f$i\f$ is the - * swap interval (as set by \c glXSwapIntervalSGI), and \f$t_r\f$ time - * required for a single vertical refresh period (as returned by \c - * glXGetMscRateOML). - * - * See the documentation for the GLX_MESA_swap_frame_usage extension for more - * details. - * - * \param dPriv Pointer to the private drawable structure. - * \return If less than a single swap interval time period was required - * between GLX buffer swaps, a number greater than 0 and less than - * 1.0 is returned. If exactly one swap interval time period is - * required, 1.0 is returned, and if more than one is required then - * a number greater than 1.0 will be returned. - * - * \sa glXSwapIntervalSGI glXGetMscRateOML - * - * \todo Instead of caching the \c glXGetMscRateOML function pointer, would it - * be possible to cache the sync rate? - */ -float -driCalculateSwapUsage( __DRIdrawable *dPriv, int64_t last_swap_ust, - int64_t current_ust ) -{ - int32_t n; - int32_t d; - int interval; - float usage = 1.0; - __DRIscreen *psp = dPriv->driScreenPriv; - - if ( (*psp->systemTime->getMSCRate)(dPriv, &n, &d, dPriv->loaderPrivate) ) { - interval = (dPriv->swap_interval != 0) ? dPriv->swap_interval : 1; - - - /* We want to calculate - * (current_UST - last_swap_UST) / (interval * us_per_refresh). We get - * current_UST by calling __glXGetUST. last_swap_UST is stored in - * dPriv->swap_ust. interval has already been calculated. - * - * The only tricky part is us_per_refresh. us_per_refresh is - * 1000000 / MSC_rate. We know the MSC_rate is n / d. We can flip it - * around and say us_per_refresh = 1000000 * d / n. Since this goes in - * the denominator of the final calculation, we calculate - * (interval * 1000000 * d) and move n into the numerator. - */ - - usage = (current_ust - last_swap_ust); - usage *= n; - usage /= (interval * d); - usage /= 1000000.0; - } - - return usage; -} - void dri2InvalidateDrawable(__DRIdrawable *drawable) { drawable->dri2.stamp++; } -/*@}*/ +/** + * Check that the gl_framebuffer associated with dPriv is the right size. + * Resize the gl_framebuffer if needed. + * It's expected that the dPriv->driverPrivate member points to a + * gl_framebuffer object. + */ +void +driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv) +{ + struct gl_framebuffer *fb = (struct gl_framebuffer *) dPriv->driverPrivate; + if (fb && (dPriv->w != fb->Width || dPriv->h != fb->Height)) { + ctx->Driver.ResizeBuffers(ctx, fb, dPriv->w, dPriv->h); + /* if the driver needs the hw lock for ResizeBuffers, the drawable + might have changed again by now */ + assert(fb->Width == dPriv->w); + assert(fb->Height == dPriv->h); + } +} diff --git a/mesalib/src/mesa/drivers/dri/common/dri_util.h b/mesalib/src/mesa/drivers/dri/common/dri_util.h index 3d3d5c9cd..7a3b0a9b2 100644 --- a/mesalib/src/mesa/drivers/dri/common/dri_util.h +++ b/mesalib/src/mesa/drivers/dri/common/dri_util.h @@ -58,75 +58,14 @@ #define GLX_BAD_CONTEXT 5 -typedef struct __DRIswapInfoRec __DRIswapInfo; - /** * Extensions. */ -extern const __DRIlegacyExtension driLegacyExtension; extern const __DRIcoreExtension driCoreExtension; extern const __DRIdri2Extension driDRI2Extension; -extern const __DRIextension driReadDrawableExtension; -extern const __DRIcopySubBufferExtension driCopySubBufferExtension; -extern const __DRIswapControlExtension driSwapControlExtension; -extern const __DRImediaStreamCounterExtension driMediaStreamCounterExtension; extern const __DRI2configQueryExtension dri2ConfigQueryExtension; /** - * Used by DRI_VALIDATE_DRAWABLE_INFO - */ -#define DRI_VALIDATE_DRAWABLE_INFO_ONCE(pDrawPriv) \ - do { \ - if (*(pDrawPriv->pStamp) != pDrawPriv->lastStamp) { \ - __driUtilUpdateDrawableInfo(pDrawPriv); \ - } \ - } while (0) - - -/** - * Utility macro to validate the drawable information. - * - * See __DRIdrawable::pStamp and __DRIdrawable::lastStamp. - */ -#define DRI_VALIDATE_DRAWABLE_INFO(psp, pdp) \ -do { \ - while (*(pdp->pStamp) != pdp->lastStamp) { \ - register unsigned int hwContext = psp->pSAREA->lock.lock & \ - ~(DRM_LOCK_HELD | DRM_LOCK_CONT); \ - DRM_UNLOCK(psp->fd, &psp->pSAREA->lock, hwContext); \ - \ - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); \ - DRI_VALIDATE_DRAWABLE_INFO_ONCE(pdp); \ - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); \ - \ - DRM_LIGHT_LOCK(psp->fd, &psp->pSAREA->lock, hwContext); \ - } \ -} while (0) - -/** - * Same as above, but for two drawables simultaneously. - * - */ - -#define DRI_VALIDATE_TWO_DRAWABLES_INFO(psp, pdp, prp) \ -do { \ - while (*((pdp)->pStamp) != (pdp)->lastStamp || \ - *((prp)->pStamp) != (prp)->lastStamp) { \ - register unsigned int hwContext = (psp)->pSAREA->lock.lock & \ - ~(DRM_LOCK_HELD | DRM_LOCK_CONT); \ - DRM_UNLOCK((psp)->fd, &(psp)->pSAREA->lock, hwContext); \ - \ - DRM_SPINLOCK(&(psp)->pSAREA->drawable_lock, (psp)->drawLockID); \ - DRI_VALIDATE_DRAWABLE_INFO_ONCE(pdp); \ - DRI_VALIDATE_DRAWABLE_INFO_ONCE(prp); \ - DRM_SPINUNLOCK(&(psp)->pSAREA->drawable_lock, (psp)->drawLockID); \ - \ - DRM_LIGHT_LOCK((psp)->fd, &(psp)->pSAREA->lock, hwContext); \ - } \ -} while (0) - - -/** * Driver callback functions. * * Each DRI driver must have one of these structures with all the pointers set @@ -137,8 +76,6 @@ do { \ * this structure. */ struct __DriverAPIRec { - const __DRIconfig **(*InitScreen) (__DRIscreen * priv); - /** * Screen destruction callback */ @@ -171,11 +108,6 @@ struct __DriverAPIRec { void (*DestroyBuffer)(__DRIdrawable *driDrawPriv); /** - * Buffer swapping callback - */ - void (*SwapBuffers)(__DRIdrawable *driDrawPriv); - - /** * Context activation callback */ GLboolean (*MakeCurrent)(__DRIcontext *driContextPriv, @@ -186,40 +118,6 @@ struct __DriverAPIRec { * Context unbinding callback */ GLboolean (*UnbindContext)(__DRIcontext *driContextPriv); - - /** - * Retrieves statistics about buffer swap operations. Required if - * GLX_OML_sync_control or GLX_MESA_swap_frame_usage is supported. - */ - int (*GetSwapInfo)( __DRIdrawable *dPriv, __DRIswapInfo * sInfo ); - - - /** - * These are required if GLX_OML_sync_control is supported. - */ - /*@{*/ - int (*WaitForMSC)( __DRIdrawable *priv, int64_t target_msc, - int64_t divisor, int64_t remainder, - int64_t * msc ); - int (*WaitForSBC)( __DRIdrawable *priv, int64_t target_sbc, - int64_t * msc, int64_t * sbc ); - - int64_t (*SwapBuffersMSC)( __DRIdrawable *priv, int64_t target_msc, - int64_t divisor, int64_t remainder ); - /*@}*/ - void (*CopySubBuffer)(__DRIdrawable *driDrawPriv, - int x, int y, int w, int h); - - /** - * New version of GetMSC so we can pass drawable data to the low - * level DRM driver (e.g. pipe info). Required if - * GLX_SGI_video_sync or GLX_OML_sync_control is supported. - */ - int (*GetDrawableMSC) ( __DRIscreen * priv, - __DRIdrawable *drawablePrivate, - int64_t *count); - - /* DRI2 Entry point */ const __DRIconfig **(*InitScreen2) (__DRIscreen * priv); @@ -234,47 +132,11 @@ struct __DriverAPIRec { extern const struct __DriverAPIRec driDriverAPI; -struct __DRIswapInfoRec { - /** - * Number of swapBuffers operations that have been *completed*. - */ - uint64_t swap_count; - - /** - * Unadjusted system time of the last buffer swap. This is the time - * when the swap completed, not the time when swapBuffers was called. - */ - int64_t swap_ust; - - /** - * Number of swap operations that occurred after the swap deadline. That - * is if a swap happens more than swap_interval frames after the previous - * swap, it has missed its deadline. If swap_interval is 0, then the - * swap deadline is 1 frame after the previous swap. - */ - uint64_t swap_missed_count; - - /** - * Amount of time used by the last swap that missed its deadline. This - * is calculated as (__glXGetUST() - swap_ust) / (swap_interval * - * time_for_single_vrefresh)). If the actual value of swap_interval is - * 0, then 1 is used instead. If swap_missed_count is non-zero, this - * should be greater-than 1.0. - */ - float swap_missed_usage; -}; - - /** * Per-drawable private DRI driver information. */ struct __DRIdrawableRec { /** - * Kernel drawable handle - */ - drm_drawable_t hHWDrawable; - - /** * Driver's private drawable information. * * This structure is opaque. @@ -298,77 +160,15 @@ struct __DRIdrawableRec { int refcount; /** - * Index of this drawable information in the SAREA. - */ - unsigned int index; - - /** - * Pointer to the "drawable has changed ID" stamp in the SAREA (or - * to dri2.stamp if DRI2 is being used). - */ - unsigned int *pStamp; - - /** * Last value of the stamp. * - * If this differs from the value stored at __DRIdrawable::pStamp, + * If this differs from the value stored at __DRIdrawable::dri2.stamp, * then the drawable information has been modified by the X server, and the * drawable information (below) should be retrieved from the X server. */ unsigned int lastStamp; - /** - * \name Drawable - * - * Drawable information used in software fallbacks. - */ - /*@{*/ - int x; - int y; - int w; - int h; - int numClipRects; - drm_clip_rect_t *pClipRects; - /*@}*/ - - /** - * \name Back and depthbuffer - * - * Information about the back and depthbuffer where different from above. - */ - /*@{*/ - int backX; - int backY; - int backClipRectType; - int numBackClipRects; - drm_clip_rect_t *pBackClipRects; - /*@}*/ - - /** - * \name Vertical blank tracking information - * Used for waiting on vertical blank events. - */ - /*@{*/ - unsigned int vblSeq; - unsigned int vblFlags; - /*@}*/ - - /** - * \name Monotonic MSC tracking - * - * Low level driver is responsible for updating msc_base and - * vblSeq values so that higher level code can calculate - * a new msc value or msc target for a WaitMSC call. The new value - * will be: - * msc = msc_base + get_vblank_count() - vblank_base; - * - * And for waiting on a value, core code will use: - * actual_target = target_msc - msc_base + vblank_base; - */ - /*@{*/ - int64_t vblank_base; - int64_t msc_base; - /*@}*/ + int w, h; /** * Pointer to context to which this drawable is currently bound. @@ -381,14 +181,10 @@ struct __DRIdrawableRec { __DRIscreen *driScreenPriv; /** - * Controls swap interval as used by GLX_SGI_swap_control and - * GLX_MESA_swap_control. + * Drawable timestamp. Increased when the loader calls invalidate. */ - unsigned int swap_interval; - struct { unsigned int stamp; - drm_clip_rect_t clipRect; } dri2; }; @@ -397,11 +193,6 @@ struct __DRIdrawableRec { */ struct __DRIcontextRec { /** - * Kernel context handle used to access the device lock. - */ - drm_context_t hHWContext; - - /** * Device driver's private context data. This structure is opaque. */ void *driverPrivate; @@ -447,15 +238,6 @@ struct __DRIscreenRec { struct __DriverAPIRec DriverAPI; const __DRIextension **extensions; - /** - * DDX / 2D driver version information. - */ - __DRIversion ddx_version; - - /** - * DRI X extension version information. - */ - __DRIversion dri_version; /** * DRM (kernel module) version information. @@ -463,14 +245,6 @@ struct __DRIscreenRec { __DRIversion drm_version; /** - * ID used when the client sets the drawable lock. - * - * The X server uses this value to detect if the client has died while - * holding the drawable lock. - */ - int drawLockID; - - /** * File descriptor returned when the kernel device driver is opened. * * Used to: @@ -481,39 +255,6 @@ struct __DRIscreenRec { int fd; /** - * SAREA pointer - * - * Used to access: - * - the device lock - * - the device-independent per-drawable and per-context(?) information - */ - drm_sarea_t *pSAREA; - - /** - * \name Direct frame buffer access information - * Used for software fallbacks. - */ - /*@{*/ - unsigned char *pFB; - int fbSize; - int fbOrigin; - int fbStride; - int fbWidth; - int fbHeight; - int fbBPP; - /*@}*/ - - /** - * \name Device-dependent private information (stored in the SAREA). - * - * This data is accessed by the client driver only. - */ - /*@{*/ - void *pDevPriv; - int devPrivSize; - /*@}*/ - - /** * Device-dependent private information (not stored in the SAREA). * * This pointer is never touched by the DRI layer. @@ -524,23 +265,14 @@ struct __DRIscreenRec { void *private; #endif - /* Extensions provided by the loader. */ - const __DRIgetDrawableInfoExtension *getDrawableInfo; - const __DRIsystemTimeExtension *systemTime; - const __DRIdamageExtension *damage; - struct { /* Flag to indicate that this is a DRI2 screen. Many of the above * fields will not be valid or initializaed in that case. */ - int enabled; __DRIdri2LoaderExtension *loader; __DRIimageLookupExtension *image; __DRIuseInvalidateExtension *useInvalidate; } dri2; - /* The lock actually in use, old sarea or DRI2 */ - drmLock *lock; - driOptionCache optionInfo; driOptionCache optionCache; unsigned int api_mask; @@ -548,16 +280,9 @@ struct __DRIscreenRec { }; extern void -__driUtilUpdateDrawableInfo(__DRIdrawable *pdp); - -extern float -driCalculateSwapUsage( __DRIdrawable *dPriv, - int64_t last_swap_ust, int64_t current_ust ); - -extern GLint -driIntersectArea( drm_clip_rect_t rect1, drm_clip_rect_t rect2 ); +dri2InvalidateDrawable(__DRIdrawable *drawable); extern void -dri2InvalidateDrawable(__DRIdrawable *drawable); +driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv); #endif /* _DRI_UTIL_H_ */ diff --git a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.c b/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.c deleted file mode 100644 index 5e032bd15..000000000 --- a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.c +++ /dev/null @@ -1,200 +0,0 @@ -
-#include "main/mtypes.h"
-#include "main/formats.h"
-#include "main/renderbuffer.h"
-#include "main/imports.h"
-#include "drirenderbuffer.h"
-
-
-/**
- * This will get called when a window (gl_framebuffer) is resized (probably
- * via driUpdateFramebufferSize(), below).
- * Just update width, height and internal format fields for now.
- * There's usually no memory allocation above because the present
- * DRI drivers use statically-allocated full-screen buffers. If that's not
- * the case for a DRI driver, a different AllocStorage method should
- * be used.
- */
-static GLboolean
-driRenderbufferStorage(struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLenum internalFormat, GLuint width, GLuint height)
-{
- rb->Width = width;
- rb->Height = height;
- rb->InternalFormat = internalFormat;
- return GL_TRUE;
-}
-
-
-static void
-driDeleteRenderbuffer(struct gl_renderbuffer *rb)
-{
- /* don't free rb->Data Chances are it's a memory mapped region for
- * the dri drivers.
- */
- free(rb);
-}
-
-
-/**
- * Allocate a new driRenderbuffer object.
- * Individual drivers are free to implement different versions of
- * this function.
- *
- * At this time, this function can only be used for window-system
- * renderbuffers, not user-created RBOs.
- *
- * \param format Either GL_RGBA, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24,
- * GL_DEPTH_COMPONENT32, or GL_STENCIL_INDEX8_EXT (for now).
- * \param addr address in main memory of the buffer. Probably a memory
- * mapped region.
- * \param cpp chars or bytes per pixel
- * \param offset start of renderbuffer with respect to start of framebuffer
- * \param pitch pixels per row
- */
-driRenderbuffer *
-driNewRenderbuffer(gl_format format, GLvoid *addr,
- GLint cpp, GLint offset, GLint pitch,
- __DRIdrawable *dPriv)
-{
- driRenderbuffer *drb;
-
- assert(cpp > 0);
- assert(pitch > 0);
-
- drb = calloc(1, sizeof(driRenderbuffer));
- if (drb) {
- const GLuint name = 0;
-
- _mesa_init_renderbuffer(&drb->Base, name);
-
- /* Make sure we're using a null-valued GetPointer routine */
- assert(drb->Base.GetPointer(NULL, &drb->Base, 0, 0) == NULL);
-
- switch (format) {
- case MESA_FORMAT_ARGB8888:
- if (cpp == 2) {
- /* override format */
- format = MESA_FORMAT_RGB565;
- }
- drb->Base.DataType = GL_UNSIGNED_BYTE;
- break;
- case MESA_FORMAT_Z16:
- /* Depth */
- /* we always Get/Put 32-bit Z values */
- drb->Base.DataType = GL_UNSIGNED_INT;
- assert(cpp == 2);
- break;
- case MESA_FORMAT_Z32:
- /* Depth */
- /* we always Get/Put 32-bit Z values */
- drb->Base.DataType = GL_UNSIGNED_INT;
- assert(cpp == 4);
- break;
- case MESA_FORMAT_Z24_S8:
- drb->Base.DataType = GL_UNSIGNED_INT_24_8_EXT;
- assert(cpp == 4);
- break;
- case MESA_FORMAT_S8_Z24:
- drb->Base.DataType = GL_UNSIGNED_INT_24_8_EXT;
- assert(cpp == 4);
- break;
- case MESA_FORMAT_S8:
- /* Stencil */
- drb->Base.DataType = GL_UNSIGNED_BYTE;
- break;
- default:
- _mesa_problem(NULL, "Bad format 0x%x in driNewRenderbuffer", format);
- return NULL;
- }
-
- drb->Base.Format = format;
-
- drb->Base.InternalFormat =
- drb->Base._BaseFormat = _mesa_get_format_base_format(format);
-
- drb->Base.AllocStorage = driRenderbufferStorage;
- drb->Base.Delete = driDeleteRenderbuffer;
-
- drb->Base.Data = addr;
-
- /* DRI renderbuffer-specific fields: */
- drb->dPriv = dPriv;
- drb->offset = offset;
- drb->pitch = pitch;
- drb->cpp = cpp;
-
- /* may be changed if page flipping is active: */
- drb->flippedOffset = offset;
- drb->flippedPitch = pitch;
- drb->flippedData = addr;
- }
- return drb;
-}
-
-
-/**
- * Update the front and back renderbuffers' flippedPitch/Offset/Data fields.
- * If stereo, flip both the left and right pairs.
- * This is used when we do double buffering via page flipping.
- * \param fb the framebuffer we're page flipping
- * \param flipped if true, set flipped values, else set non-flipped values
- */
-void
-driFlipRenderbuffers(struct gl_framebuffer *fb, GLboolean flipped)
-{
- const GLuint count = fb->Visual.stereoMode ? 2 : 1;
- GLuint lr; /* left or right */
-
- /* we shouldn't really call this function if single-buffered, but
- * play it safe.
- */
- if (!fb->Visual.doubleBufferMode)
- return;
-
- for (lr = 0; lr < count; lr++) {
- GLuint frontBuf = (lr == 0) ? BUFFER_FRONT_LEFT : BUFFER_FRONT_RIGHT;
- GLuint backBuf = (lr == 0) ? BUFFER_BACK_LEFT : BUFFER_BACK_RIGHT;
- driRenderbuffer *front_drb
- = (driRenderbuffer *) fb->Attachment[frontBuf].Renderbuffer;
- driRenderbuffer *back_drb
- = (driRenderbuffer *) fb->Attachment[backBuf].Renderbuffer;
-
- if (flipped) {
- front_drb->flippedOffset = back_drb->offset;
- front_drb->flippedPitch = back_drb->pitch;
- front_drb->flippedData = back_drb->Base.Data;
- back_drb->flippedOffset = front_drb->offset;
- back_drb->flippedPitch = front_drb->pitch;
- back_drb->flippedData = front_drb->Base.Data;
- }
- else {
- front_drb->flippedOffset = front_drb->offset;
- front_drb->flippedPitch = front_drb->pitch;
- front_drb->flippedData = front_drb->Base.Data;
- back_drb->flippedOffset = back_drb->offset;
- back_drb->flippedPitch = back_drb->pitch;
- back_drb->flippedData = back_drb->Base.Data;
- }
- }
-}
-
-
-/**
- * Check that the gl_framebuffer associated with dPriv is the right size.
- * Resize the gl_framebuffer if needed.
- * It's expected that the dPriv->driverPrivate member points to a
- * gl_framebuffer object.
- */
-void
-driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv)
-{
- struct gl_framebuffer *fb = (struct gl_framebuffer *) dPriv->driverPrivate;
- if (fb && (dPriv->w != fb->Width || dPriv->h != fb->Height)) {
- ctx->Driver.ResizeBuffers(ctx, fb, dPriv->w, dPriv->h);
- /* if the driver needs the hw lock for ResizeBuffers, the drawable
- might have changed again by now */
- assert(fb->Width == dPriv->w);
- assert(fb->Height == dPriv->h);
- }
-}
diff --git a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h b/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h deleted file mode 100644 index b9065b2dd..000000000 --- a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h +++ /dev/null @@ -1,71 +0,0 @@ - -/** - * A driRenderbuffer is dervied from gl_renderbuffer. - * It describes a color buffer (front or back), a depth buffer, or stencil - * buffer etc. - * Specific to DRI drivers are the offset and pitch fields. - */ - - -#ifndef DRIRENDERBUFFER_H -#define DRIRENDERBUFFER_H - -#include "main/mtypes.h" -#include "main/formats.h" -#include "dri_util.h" - - -typedef struct { - struct gl_renderbuffer Base; - - /* Chars or bytes per pixel. If Z and Stencil are stored together this - * will typically be 32 whether this a depth or stencil renderbuffer. - */ - GLint cpp; - - /* Buffer position and pitch (row stride). Recall that for today's DRI - * drivers, we have statically allocated color/depth/stencil buffers. - * So this information describes the whole screen, not just a window. - * To address pixels in a window, we need to know the window's position - * and size with respect to the screen. - */ - GLint offset; /* in bytes */ - GLint pitch; /* in pixels */ - - /* If the driver can do page flipping (full-screen double buffering) - * the current front/back buffers may get swapped. - * If page flipping is disabled, these fields will be identical to - * the offset/pitch/Data above. - * If page flipping is enabled, and this is the front(back) renderbuffer, - * flippedOffset/Pitch/Data will have the back(front) renderbuffer's values. - */ - GLint flippedOffset; - GLint flippedPitch; - GLvoid *flippedData; /* mmap'd address of buffer memory, if used */ - - /* Pointer to corresponding __DRIdrawable. This is used to compute - * the window's position within the framebuffer. - */ - __DRIdrawable *dPriv; - - /* XXX this is for radeon/r200 only. We should really create a new - * r200Renderbuffer class, derived from this class... not a huge deal. - */ - GLboolean depthHasSurface; -} driRenderbuffer; - - -extern driRenderbuffer * -driNewRenderbuffer(gl_format format, GLvoid *addr, - GLint cpp, GLint offset, GLint pitch, - __DRIdrawable *dPriv); - -extern void -driFlipRenderbuffers(struct gl_framebuffer *fb, GLboolean flipped); - - -extern void -driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv); - - -#endif /* DRIRENDERBUFFER_H */ diff --git a/mesalib/src/mesa/drivers/dri/common/memops.h b/mesalib/src/mesa/drivers/dri/common/memops.h deleted file mode 100644 index 9cd1d8ec3..000000000 --- a/mesalib/src/mesa/drivers/dri/common/memops.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef DRIMEMSETIO_H -#define DRIMEMSETIO_H -/* -* memset an area in I/O space -* We need to be careful about this on some archs -*/ -static INLINE void drimemsetio(void* address, int c, int size) -{ -#if defined(__powerpc__) || defined(__ia64__) - int i; - for(i=0;i<size;i++) - *((char *)address + i)=c; -#else - memset(address,c,size); -#endif -} -#endif diff --git a/mesalib/src/mesa/drivers/dri/common/spantmp_common.h b/mesalib/src/mesa/drivers/dri/common/spantmp_common.h index a4509a569..8916e7b0c 100644 --- a/mesalib/src/mesa/drivers/dri/common/spantmp_common.h +++ b/mesalib/src/mesa/drivers/dri/common/spantmp_common.h @@ -49,17 +49,14 @@ #ifndef HW_CLIPLOOP #define HW_CLIPLOOP() \ do { \ - int _nc = dPriv->numClipRects; \ - while ( _nc-- ) { \ - int minx = dPriv->pClipRects[_nc].x1 - dPriv->x; \ - int miny = dPriv->pClipRects[_nc].y1 - dPriv->y; \ - int maxx = dPriv->pClipRects[_nc].x2 - dPriv->x; \ - int maxy = dPriv->pClipRects[_nc].y2 - dPriv->y; + int minx = 0; \ + int miny = 0; \ + int maxx = dPriv->w; \ + int maxy = dPriv->h; #endif #ifndef HW_ENDCLIPLOOP #define HW_ENDCLIPLOOP() \ - } \ } while (0) #endif diff --git a/mesalib/src/mesa/drivers/dri/common/texmem.c b/mesalib/src/mesa/drivers/dri/common/texmem.c deleted file mode 100644 index 798ef1ee8..000000000 --- a/mesalib/src/mesa/drivers/dri/common/texmem.c +++ /dev/null @@ -1,1341 +0,0 @@ -/* - * Copyright 2000-2001 VA Linux Systems, Inc. - * (C) Copyright IBM Corporation 2002, 2003 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * on the rights to use, copy, modify, merge, publish, distribute, sub - * license, and/or sell copies of the Software, and to permit persons to whom - * the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - * USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * Authors: - * Ian Romanick <idr@us.ibm.com> - * Keith Whitwell <keithw@tungstengraphics.com> - * Kevin E. Martin <kem@users.sourceforge.net> - * Gareth Hughes <gareth@nvidia.com> - */ - -/** \file texmem.c - * Implements all of the device-independent texture memory management. - * - * Currently, only a simple LRU texture memory management policy is - * implemented. In the (hopefully very near) future, better policies will be - * implemented. The idea is that the DRI should be able to run in one of two - * modes. In the default mode the DRI will dynamically attempt to discover - * the best texture management policy for the running application. In the - * other mode, the user (via some sort of as yet TBD mechanism) will select - * a texture management policy that is known to work well with the - * application. - */ - -#include "main/imports.h" -#include "main/macros.h" -#include "main/simple_list.h" -#include "texmem.h" - - -static unsigned dummy_swap_counter; - - -/** - * Calculate \f$\log_2\f$ of a value. This is a particularly poor - * implementation of this function. However, since system performance is in - * no way dependent on this function, the slowness of the implementation is - * irrelevent. - * - * \param n Value whose \f$\log_2\f$ is to be calculated - */ - -static GLuint -driLog2( GLuint n ) -{ - GLuint log2; - - for ( log2 = 1 ; n > 1 ; log2++ ) { - n >>= 1; - } - - return log2; -} - - - - -/** - * Determine if a texture is resident in textureable memory. Depending on - * the driver, this may or may not be on-card memory. It could be AGP memory - * or anyother type of memory from which the hardware can directly read - * texels. - * - * This function is intended to be used as the \c IsTextureResident function - * in the device's \c dd_function_table. - * - * \param ctx GL context pointer (currently unused) - * \param texObj Texture object to be tested - */ - -GLboolean -driIsTextureResident( struct gl_context * ctx, - struct gl_texture_object * texObj ) -{ - driTextureObject * t; - - - t = (driTextureObject *) texObj->DriverData; - return( (t != NULL) && (t->memBlock != NULL) ); -} - - - - -/** - * (Re)initialize the global circular LRU list. The last element - * in the array (\a heap->nrRegions) is the sentinal. Keeping it - * at the end of the array allows the other elements of the array - * to be addressed rationally when looking up objects at a particular - * location in texture memory. - * - * \param heap Texture heap to be reset - */ - -static void resetGlobalLRU( driTexHeap * heap ) -{ - drmTextureRegionPtr list = heap->global_regions; - unsigned sz = 1U << heap->logGranularity; - unsigned i; - - for (i = 0 ; (i+1) * sz <= heap->size ; i++) { - list[i].prev = i-1; - list[i].next = i+1; - list[i].age = 0; - } - - i--; - list[0].prev = heap->nrRegions; - list[i].prev = i-1; - list[i].next = heap->nrRegions; - list[heap->nrRegions].prev = i; - list[heap->nrRegions].next = 0; - heap->global_age[0] = 0; -} - -/** - * Print out debugging information about the local texture LRU. - * - * \param heap Texture heap to be printed - * \param callername Name of calling function - */ -static void printLocalLRU( driTexHeap * heap, const char *callername ) -{ - driTextureObject *t; - unsigned sz = 1U << heap->logGranularity; - - fprintf( stderr, "%s in %s:\nLocal LRU, heap %d:\n", - __FUNCTION__, callername, heap->heapId ); - - foreach ( t, &heap->texture_objects ) { - if (!t->memBlock) - continue; - if (!t->tObj) { - fprintf( stderr, "Placeholder (%p) %d at 0x%x sz 0x%x\n", - (void *)t, - t->memBlock->ofs / sz, - t->memBlock->ofs, - t->memBlock->size ); - } else { - fprintf( stderr, "Texture (%p) at 0x%x sz 0x%x\n", - (void *)t, - t->memBlock->ofs, - t->memBlock->size ); - } - } - foreach ( t, heap->swapped_objects ) { - if (!t->tObj) { - fprintf( stderr, "Swapped Placeholder (%p)\n", (void *)t ); - } else { - fprintf( stderr, "Swapped Texture (%p)\n", (void *)t ); - } - } - - fprintf( stderr, "\n" ); -} - -/** - * Print out debugging information about the global texture LRU. - * - * \param heap Texture heap to be printed - * \param callername Name of calling function - */ -static void printGlobalLRU( driTexHeap * heap, const char *callername ) -{ - drmTextureRegionPtr list = heap->global_regions; - unsigned int i, j; - - fprintf( stderr, "%s in %s:\nGlobal LRU, heap %d list %p:\n", - __FUNCTION__, callername, heap->heapId, (void *)list ); - - for ( i = 0, j = heap->nrRegions ; i < heap->nrRegions ; i++ ) { - fprintf( stderr, "list[%d] age %d next %d prev %d in_use %d\n", - j, list[j].age, list[j].next, list[j].prev, list[j].in_use ); - j = list[j].next; - if ( j == heap->nrRegions ) break; - } - - if ( j != heap->nrRegions ) { - fprintf( stderr, "Loop detected in global LRU\n" ); - for ( i = 0 ; i < heap->nrRegions ; i++ ) { - fprintf( stderr, "list[%d] age %d next %d prev %d in_use %d\n", - i, list[i].age, list[i].next, list[i].prev, list[i].in_use ); - } - } - - fprintf( stderr, "\n" ); -} - - -/** - * Called by the client whenever it touches a local texture. - * - * \param t Texture object that the client has accessed - */ - -void driUpdateTextureLRU( driTextureObject * t ) -{ - driTexHeap * heap; - drmTextureRegionPtr list; - unsigned shift; - unsigned start; - unsigned end; - unsigned i; - - - heap = t->heap; - if ( heap != NULL ) { - shift = heap->logGranularity; - start = t->memBlock->ofs >> shift; - end = (t->memBlock->ofs + t->memBlock->size - 1) >> shift; - - - heap->local_age = ++heap->global_age[0]; - list = heap->global_regions; - - - /* Update the context's local LRU - */ - - move_to_head( & heap->texture_objects, t ); - - - for (i = start ; i <= end ; i++) { - list[i].age = heap->local_age; - - /* remove_from_list(i) - */ - list[(unsigned)list[i].next].prev = list[i].prev; - list[(unsigned)list[i].prev].next = list[i].next; - - /* insert_at_head(list, i) - */ - list[i].prev = heap->nrRegions; - list[i].next = list[heap->nrRegions].next; - list[(unsigned)list[heap->nrRegions].next].prev = i; - list[heap->nrRegions].next = i; - } - - if ( 0 ) { - printGlobalLRU( heap, __FUNCTION__ ); - printLocalLRU( heap, __FUNCTION__ ); - } - } -} - - - - -/** - * Keep track of swapped out texture objects. - * - * \param t Texture object to be "swapped" out of its texture heap - */ - -void driSwapOutTextureObject( driTextureObject * t ) -{ - unsigned face; - - - if ( t->memBlock != NULL ) { - assert( t->heap != NULL ); - mmFreeMem( t->memBlock ); - t->memBlock = NULL; - - if (t->timestamp > t->heap->timestamp) - t->heap->timestamp = t->timestamp; - - t->heap->texture_swaps[0]++; - move_to_tail( t->heap->swapped_objects, t ); - t->heap = NULL; - } - else { - assert( t->heap == NULL ); - } - - - for ( face = 0 ; face < 6 ; face++ ) { - t->dirty_images[face] = ~0; - } -} - - - - -/** - * Destroy hardware state associated with texture \a t. Calls the - * \a destroy_texture_object method associated with the heap from which - * \a t was allocated. - * - * \param t Texture object to be destroyed - */ - -void driDestroyTextureObject( driTextureObject * t ) -{ - driTexHeap * heap; - - - if ( 0 ) { - fprintf( stderr, "[%s:%d] freeing %p (tObj = %p, DriverData = %p)\n", - __FILE__, __LINE__, - (void *)t, - (void *)((t != NULL) ? t->tObj : NULL), - (void *)((t != NULL && t->tObj != NULL) ? t->tObj->DriverData : NULL )); - } - - if ( t != NULL ) { - if ( t->memBlock ) { - heap = t->heap; - assert( heap != NULL ); - - heap->texture_swaps[0]++; - - mmFreeMem( t->memBlock ); - t->memBlock = NULL; - - if (t->timestamp > t->heap->timestamp) - t->heap->timestamp = t->timestamp; - - heap->destroy_texture_object( heap->driverContext, t ); - t->heap = NULL; - } - - if ( t->tObj != NULL ) { - assert( t->tObj->DriverData == t ); - t->tObj->DriverData = NULL; - } - - remove_from_list( t ); - FREE( t ); - } - - if ( 0 ) { - fprintf( stderr, "[%s:%d] done freeing %p\n", __FILE__, __LINE__, (void *)t ); - } -} - - - - -/** - * Update the local heap's representation of texture memory based on - * data in the SAREA. This is done each time it is detected that some other - * direct rendering client has held the lock. This pertains to both our local - * textures and the textures belonging to other clients. Keep track of other - * client's textures by pushing a placeholder texture onto the LRU list -- - * these are denoted by \a tObj being \a NULL. - * - * \param heap Heap whose state is to be updated - * \param offset Byte offset in the heap that has been stolen - * \param size Size, in bytes, of the stolen block - * \param in_use Non-zero if the block is pinned/reserved by the kernel - */ - -static void driTexturesGone( driTexHeap * heap, int offset, int size, - int in_use ) -{ - driTextureObject * t; - driTextureObject * tmp; - - - foreach_s ( t, tmp, & heap->texture_objects ) { - if ( (t->memBlock->ofs < (offset + size)) - && ((t->memBlock->ofs + t->memBlock->size) > offset) ) { - /* It overlaps - kick it out. If the texture object is just a - * place holder, then destroy it all together. Otherwise, mark - * it as being swapped out. - */ - - if ( t->tObj != NULL ) { - driSwapOutTextureObject( t ); - } - else { - driDestroyTextureObject( t ); - } - } - } - - - { - t = (driTextureObject *) CALLOC( heap->texture_object_size ); - if ( t == NULL ) return; - - t->memBlock = mmAllocMem( heap->memory_heap, size, 0, offset ); - if ( t->memBlock == NULL ) { - fprintf( stderr, "Couldn't alloc placeholder: heap %u sz %x ofs %x\n", heap->heapId, - (int)size, (int)offset ); - mmDumpMemInfo( heap->memory_heap ); - FREE(t); - return; - } - t->heap = heap; - if (in_use) - t->reserved = 1; - insert_at_head( & heap->texture_objects, t ); - } -} - - - - -/** - * Called by the client on lock contention to determine whether textures have - * been stolen. If another client has modified a region in which we have - * textures, then we need to figure out which of our textures have been - * removed and update our global LRU. - * - * \param heap Texture heap to be updated - */ - -void driAgeTextures( driTexHeap * heap ) -{ - drmTextureRegionPtr list = heap->global_regions; - unsigned sz = 1U << (heap->logGranularity); - unsigned i, nr = 0; - - - /* Have to go right round from the back to ensure stuff ends up - * LRU in the local list... Fix with a cursor pointer. - */ - - for (i = list[heap->nrRegions].prev ; - i != heap->nrRegions && nr < heap->nrRegions ; - i = list[i].prev, nr++) { - /* If switching texturing schemes, then the SAREA might not have been - * properly cleared, so we need to reset the global texture LRU. - */ - - if ( (i * sz) > heap->size ) { - nr = heap->nrRegions; - break; - } - - if (list[i].age > heap->local_age) - driTexturesGone( heap, i * sz, sz, list[i].in_use); - } - - /* Loop or uninitialized heap detected. Reset. - */ - - if (nr == heap->nrRegions) { - driTexturesGone( heap, 0, heap->size, 0); - resetGlobalLRU( heap ); - } - - if ( 0 ) { - printGlobalLRU( heap, __FUNCTION__ ); - printLocalLRU( heap, __FUNCTION__ ); - } - - heap->local_age = heap->global_age[0]; -} - - - - -#define INDEX_ARRAY_SIZE 6 /* I'm not aware of driver with more than 2 heaps */ - -/** - * Allocate memory from a texture heap to hold a texture object. This - * routine will attempt to allocate memory for the texture from the heaps - * specified by \c heap_array in order. That is, first it will try to - * allocate from \c heap_array[0], then \c heap_array[1], and so on. - * - * \param heap_array Array of pointers to texture heaps to use - * \param nr_heaps Number of heap pointer in \a heap_array - * \param t Texture object for which space is needed - * \return The ID of the heap from which memory was allocated, or -1 if - * memory could not be allocated. - * - * \bug The replacement policy implemented by this function is horrible. - */ - - -int -driAllocateTexture( driTexHeap * const * heap_array, unsigned nr_heaps, - driTextureObject * t ) -{ - driTexHeap * heap; - driTextureObject * temp; - driTextureObject * cursor; - unsigned id; - - - /* In case it already has texture space, initialize heap. This also - * prevents GCC from issuing a warning that heap might be used - * uninitialized. - */ - - heap = t->heap; - - - /* Run through each of the existing heaps and try to allocate a buffer - * to hold the texture. - */ - - for ( id = 0 ; (t->memBlock == NULL) && (id < nr_heaps) ; id++ ) { - heap = heap_array[ id ]; - if ( heap != NULL ) { - t->memBlock = mmAllocMem( heap->memory_heap, t->totalSize, - heap->alignmentShift, 0 ); - } - } - - - /* Kick textures out until the requested texture fits. - */ - - if ( t->memBlock == NULL ) { - unsigned index[INDEX_ARRAY_SIZE]; - unsigned nrGoodHeaps = 0; - - /* Trying to avoid dynamic memory allocation. If you have more - * heaps, increase INDEX_ARRAY_SIZE. I'm not aware of any - * drivers with more than 2 tex heaps. */ - assert( nr_heaps < INDEX_ARRAY_SIZE ); - - /* Sort large enough heaps by duty. Insertion sort should be - * fast enough for such a short array. */ - for ( id = 0 ; id < nr_heaps ; id++ ) { - heap = heap_array[ id ]; - - if ( heap != NULL && t->totalSize <= heap->size ) { - unsigned j; - - for ( j = 0 ; j < nrGoodHeaps; j++ ) { - if ( heap->duty > heap_array[ index[ j ] ]->duty ) - break; - } - - if ( j < nrGoodHeaps ) { - memmove( &index[ j+1 ], &index[ j ], - sizeof(index[ 0 ]) * (nrGoodHeaps - j) ); - } - - index[ j ] = id; - - nrGoodHeaps++; - } - } - - for ( id = 0 ; (t->memBlock == NULL) && (id < nrGoodHeaps) ; id++ ) { - heap = heap_array[ index[ id ] ]; - - for ( cursor = heap->texture_objects.prev, temp = cursor->prev; - cursor != &heap->texture_objects ; - cursor = temp, temp = cursor->prev ) { - - /* The the LRU element. If the texture is bound to one of - * the texture units, then we cannot kick it out. - */ - if ( cursor->bound || cursor->reserved ) { - continue; - } - - if ( cursor->memBlock ) - heap->duty -= cursor->memBlock->size; - - /* If this is a placeholder, there's no need to keep it */ - if (cursor->tObj) - driSwapOutTextureObject( cursor ); - else - driDestroyTextureObject( cursor ); - - t->memBlock = mmAllocMem( heap->memory_heap, t->totalSize, - heap->alignmentShift, 0 ); - - if (t->memBlock) - break; - } - } - - /* Rebalance duties. If a heap kicked more data than its duty, - * then all other heaps get that amount multiplied with their - * relative weight added to their duty. The negative duty is - * reset to 0. In the end all heaps have a duty >= 0. - * - * CAUTION: we must not change the heap pointer here, because it - * is used below to update the texture object. - */ - for ( id = 0 ; id < nr_heaps ; id++ ) - if ( heap_array[ id ] != NULL && heap_array[ id ]->duty < 0) { - int duty = -heap_array[ id ]->duty; - double weight = heap_array[ id ]->weight; - unsigned j; - - for ( j = 0 ; j < nr_heaps ; j++ ) - if ( j != id && heap_array[ j ] != NULL ) { - heap_array[ j ]->duty += (double) duty * - heap_array[ j ]->weight / weight; - } - - heap_array[ id ]->duty = 0; - } - } - - - if ( t->memBlock != NULL ) { - /* id and heap->heapId may or may not be the same value here. - */ - - assert( heap != NULL ); - assert( (t->heap == NULL) || (t->heap == heap) ); - - t->heap = heap; - return heap->heapId; - } - else { - assert( t->heap == NULL ); - - fprintf( stderr, "[%s:%d] unable to allocate texture\n", - __FUNCTION__, __LINE__ ); - return -1; - } -} - - - - - - -/** - * Set the location where the texture-swap counter is stored. - */ - -void -driSetTextureSwapCounterLocation( driTexHeap * heap, unsigned * counter ) -{ - heap->texture_swaps = (counter == NULL) ? & dummy_swap_counter : counter; -} - - - - -/** - * Create a new heap for texture data. - * - * \param heap_id Device-dependent heap identifier. This value - * will returned by driAllocateTexture when memory - * is allocated from this heap. - * \param context Device-dependent driver context. This is - * supplied as the first parameter to the - * \c destroy_tex_obj function. - * \param size Size, in bytes, of the texture region - * \param alignmentShift Alignment requirement for textures. If textures - * must be allocated on a 4096 byte boundry, this - * would be 12. - * \param nr_regions Number of regions into which this texture space - * should be partitioned - * \param global_regions Array of \c drmTextureRegion structures in the SAREA - * \param global_age Pointer to the global texture age in the SAREA - * \param swapped_objects Pointer to the list of texture objects that are - * not in texture memory (i.e., have been swapped - * out). - * \param texture_object_size Size, in bytes, of a device-dependent texture - * object - * \param destroy_tex_obj Function used to destroy a device-dependent - * texture object - * - * \sa driDestroyTextureHeap - */ - -driTexHeap * -driCreateTextureHeap( unsigned heap_id, void * context, unsigned size, - unsigned alignmentShift, unsigned nr_regions, - drmTextureRegionPtr global_regions, unsigned * global_age, - driTextureObject * swapped_objects, - unsigned texture_object_size, - destroy_texture_object_t * destroy_tex_obj - ) -{ - driTexHeap * heap; - unsigned l; - - - if ( 0 ) - fprintf( stderr, "%s( %u, %p, %u, %u, %u )\n", - __FUNCTION__, - heap_id, (void *)context, size, alignmentShift, nr_regions ); - - heap = (driTexHeap *) CALLOC( sizeof( driTexHeap ) ); - if ( heap != NULL ) { - l = driLog2( (size - 1) / nr_regions ); - if ( l < alignmentShift ) - { - l = alignmentShift; - } - - heap->logGranularity = l; - heap->size = size & ~((1L << l) - 1); - - heap->memory_heap = mmInit( 0, heap->size ); - if ( heap->memory_heap != NULL ) { - heap->heapId = heap_id; - heap->driverContext = context; - - heap->alignmentShift = alignmentShift; - heap->nrRegions = nr_regions; - heap->global_regions = global_regions; - heap->global_age = global_age; - heap->swapped_objects = swapped_objects; - heap->texture_object_size = texture_object_size; - heap->destroy_texture_object = destroy_tex_obj; - - /* Force global heap init */ - if (heap->global_age[0] == 0) - heap->local_age = ~0; - else - heap->local_age = 0; - - make_empty_list( & heap->texture_objects ); - driSetTextureSwapCounterLocation( heap, NULL ); - - heap->weight = heap->size; - heap->duty = 0; - } - else { - FREE( heap ); - heap = NULL; - } - } - - - if ( 0 ) - fprintf( stderr, "%s returning %p\n", __FUNCTION__, (void *)heap ); - - return heap; -} - - - - -/** Destroys a texture heap - * - * \param heap Texture heap to be destroyed - */ - -void -driDestroyTextureHeap( driTexHeap * heap ) -{ - driTextureObject * t; - driTextureObject * temp; - - - if ( heap != NULL ) { - foreach_s( t, temp, & heap->texture_objects ) { - driDestroyTextureObject( t ); - } - foreach_s( t, temp, heap->swapped_objects ) { - driDestroyTextureObject( t ); - } - - mmDestroy( heap->memory_heap ); - FREE( heap ); - } -} - - - - -/****************************************************************************/ -/** - * Determine how many texels (including all mipmap levels) would be required - * for a texture map of size \f$2^^\c base_size_log2\f$ would require. - * - * \param base_size_log2 \f$log_2\f$ of the size of a side of the texture - * \param dimensions Number of dimensions of the texture. Either 2 or 3. - * \param faces Number of faces of the texture. Either 1 or 6 (for cube maps). - * \return Number of texels - */ - -static unsigned -texels_this_map_size( int base_size_log2, unsigned dimensions, unsigned faces ) -{ - unsigned texels; - - - assert( (faces == 1) || (faces == 6) ); - assert( (dimensions == 2) || (dimensions == 3) ); - - texels = 0; - if ( base_size_log2 >= 0 ) { - texels = (1U << (dimensions * base_size_log2)); - - /* See http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg03636.html - * for the complete explaination of why this formulation is used. - * Basically, the smaller mipmap levels sum to 0.333 the size of the - * level 0 map. The total size is therefore the size of the map - * multipled by 1.333. The +2 is there to round up. - */ - - texels = (texels * 4 * faces + 2) / 3; - } - - return texels; -} - - - - -struct maps_per_heap { - unsigned c[32]; -}; - -static void -fill_in_maximums( driTexHeap * const * heaps, unsigned nr_heaps, - unsigned max_bytes_per_texel, unsigned max_size, - unsigned mipmaps_at_once, unsigned dimensions, - unsigned faces, struct maps_per_heap * max_textures ) -{ - unsigned heap; - unsigned log2_size; - unsigned mask; - - - /* Determine how many textures of each size can be stored in each - * texture heap. - */ - - for ( heap = 0 ; heap < nr_heaps ; heap++ ) { - if ( heaps[ heap ] == NULL ) { - (void) memset( max_textures[ heap ].c, 0, - sizeof( max_textures[ heap ].c ) ); - continue; - } - - mask = (1U << heaps[ heap ]->logGranularity) - 1; - - if ( 0 ) { - fprintf( stderr, "[%s:%d] heap[%u] = %u bytes, mask = 0x%08x\n", - __FILE__, __LINE__, - heap, heaps[ heap ]->size, mask ); - } - - for ( log2_size = max_size ; log2_size > 0 ; log2_size-- ) { - unsigned total; - - - /* Determine the total number of bytes required by a texture of - * size log2_size. - */ - - total = texels_this_map_size( log2_size, dimensions, faces ) - - texels_this_map_size( log2_size - mipmaps_at_once, - dimensions, faces ); - total *= max_bytes_per_texel; - total = (total + mask) & ~mask; - - /* The number of textures of a given size that will fit in a heap - * is equal to the size of the heap divided by the size of the - * texture. - */ - - max_textures[ heap ].c[ log2_size ] = heaps[ heap ]->size / total; - - if ( 0 ) { - fprintf( stderr, "[%s:%d] max_textures[%u].c[%02u] " - "= 0x%08x / 0x%08x " - "= %u (%u)\n", - __FILE__, __LINE__, - heap, log2_size, - heaps[ heap ]->size, total, - heaps[ heap ]->size / total, - max_textures[ heap ].c[ log2_size ] ); - } - } - } -} - - -static unsigned -get_max_size( unsigned nr_heaps, - unsigned texture_units, - unsigned max_size, - int all_textures_one_heap, - struct maps_per_heap * max_textures ) -{ - unsigned heap; - unsigned log2_size; - - - /* Determine the largest texture size such that a texture of that size - * can be bound to each texture unit at the same time. Some hardware - * may require that all textures be in the same texture heap for - * multitexturing. - */ - - for ( log2_size = max_size ; log2_size > 0 ; log2_size-- ) { - unsigned total = 0; - - for ( heap = 0 ; heap < nr_heaps ; heap++ ) - { - total += max_textures[ heap ].c[ log2_size ]; - - if ( 0 ) { - fprintf( stderr, "[%s:%d] max_textures[%u].c[%02u] = %u, " - "total = %u\n", __FILE__, __LINE__, heap, log2_size, - max_textures[ heap ].c[ log2_size ], total ); - } - - if ( (max_textures[ heap ].c[ log2_size ] >= texture_units) - || (!all_textures_one_heap && (total >= texture_units)) ) { - /* The number of mipmap levels is the log-base-2 of the - * maximum texture size plus 1. If the maximum texture size - * is 1x1, the log-base-2 is 0 and 1 mipmap level (the base - * level) is available. - */ - - return log2_size + 1; - } - } - } - - /* This should NEVER happen. It should always be possible to have at - * *least* a 1x1 texture in memory! - */ - assert( log2_size != 0 ); - return 0; -} - -#define SET_MAX(f,v) \ - do { if ( max_sizes[v] != 0 ) { limits-> f = max_sizes[v]; } } while( 0 ) - -#define SET_MAX_RECT(f,v) \ - do { if ( max_sizes[v] != 0 ) { limits-> f = 1 << (max_sizes[v] - 1); } } while( 0 ) - - -/** - * Given the amount of texture memory, the number of texture units, and the - * maximum size of a texel, calculate the maximum texture size the driver can - * advertise. - * - * \param heaps Texture heaps for this card - * \param nr_heap Number of texture heaps - * \param limits OpenGL contants. MaxTextureUnits must be set. - * \param max_bytes_per_texel Maximum size of a single texel, in bytes - * \param max_2D_size \f$\log_2\f$ of the maximum 2D texture size (i.e., - * 1024x1024 textures, this would be 10) - * \param max_3D_size \f$\log_2\f$ of the maximum 3D texture size (i.e., - * 1024x1024x1024 textures, this would be 10) - * \param max_cube_size \f$\log_2\f$ of the maximum cube texture size (i.e., - * 1024x1024 textures, this would be 10) - * \param max_rect_size \f$\log_2\f$ of the maximum texture rectangle size - * (i.e., 1024x1024 textures, this would be 10). This is a power-of-2 - * even though texture rectangles need not be a power-of-2. - * \param mipmaps_at_once Total number of mipmaps that can be used - * at one time. For most hardware this will be \f$\c max_size + 1\f$. - * For hardware that does not support mipmapping, this will be 1. - * \param all_textures_one_heap True if the hardware requires that all - * textures be in a single texture heap for multitexturing. - * \param allow_larger_textures 0 conservative, 1 calculate limits - * so at least one worst-case texture can fit, 2 just use hw limits. - */ - -void -driCalculateMaxTextureLevels( driTexHeap * const * heaps, - unsigned nr_heaps, - struct gl_constants * limits, - unsigned max_bytes_per_texel, - unsigned max_2D_size, - unsigned max_3D_size, - unsigned max_cube_size, - unsigned max_rect_size, - unsigned mipmaps_at_once, - int all_textures_one_heap, - int allow_larger_textures ) -{ - struct maps_per_heap max_textures[8]; - unsigned i; - const unsigned dimensions[4] = { 2, 3, 2, 2 }; - const unsigned faces[4] = { 1, 1, 6, 1 }; - unsigned max_sizes[4]; - unsigned mipmaps[4]; - - - max_sizes[0] = max_2D_size; - max_sizes[1] = max_3D_size; - max_sizes[2] = max_cube_size; - max_sizes[3] = max_rect_size; - - mipmaps[0] = mipmaps_at_once; - mipmaps[1] = mipmaps_at_once; - mipmaps[2] = mipmaps_at_once; - mipmaps[3] = 1; - - - /* Calculate the maximum number of texture levels in two passes. The - * first pass determines how many textures of each power-of-two size - * (including all mipmap levels for that size) can fit in each texture - * heap. The second pass finds the largest texture size that allows - * a texture of that size to be bound to every texture unit. - */ - - for ( i = 0 ; i < 4 ; i++ ) { - if ( (allow_larger_textures != 2) && (max_sizes[ i ] != 0) ) { - fill_in_maximums( heaps, nr_heaps, max_bytes_per_texel, - max_sizes[ i ], mipmaps[ i ], - dimensions[ i ], faces[ i ], - max_textures ); - - max_sizes[ i ] = get_max_size( nr_heaps, - allow_larger_textures == 1 ? - 1 : limits->MaxTextureUnits, - max_sizes[ i ], - all_textures_one_heap, - max_textures ); - } - else if (max_sizes[ i ] != 0) { - max_sizes[ i ] += 1; - } - } - - SET_MAX( MaxTextureLevels, 0 ); - SET_MAX( Max3DTextureLevels, 1 ); - SET_MAX( MaxCubeTextureLevels, 2 ); - SET_MAX_RECT( MaxTextureRectSize, 3 ); -} - - - - -/** - * Perform initial binding of default textures objects on a per unit, per - * texture target basis. - * - * \param ctx Current OpenGL context - * \param swapped List of swapped-out textures - * \param targets Bit-mask of value texture targets - */ - -void driInitTextureObjects( struct gl_context *ctx, driTextureObject * swapped, - GLuint targets ) -{ - struct gl_texture_object *texObj; - GLuint tmp = ctx->Texture.CurrentUnit; - unsigned i; - - - for ( i = 0 ; i < ctx->Const.MaxTextureUnits ; i++ ) { - ctx->Texture.CurrentUnit = i; - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_1D) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_1D_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_1D, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_2D) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_2D_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_2D, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_3D) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_3D_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_3D, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_CUBE) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_CUBE_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_CUBE_MAP_ARB, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_RECT) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_RECT_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_RECTANGLE_NV, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - } - - ctx->Texture.CurrentUnit = tmp; -} - - - - -/** - * Verify that the specified texture is in the specificed heap. - * - * \param tex Texture to be tested. - * \param heap Texture memory heap to be tested. - * \return True if the texture is in the heap, false otherwise. - */ - -static GLboolean -check_in_heap( const driTextureObject * tex, const driTexHeap * heap ) -{ -#if 1 - return tex->heap == heap; -#else - driTextureObject * curr; - - foreach( curr, & heap->texture_objects ) { - if ( curr == tex ) { - break; - } - } - - return curr == tex; -#endif -} - - - -/****************************************************************************/ -/** - * Validate the consistency of a set of texture heaps. - * Original version by Keith Whitwell in r200/r200_sanity.c. - */ - -GLboolean -driValidateTextureHeaps( driTexHeap * const * texture_heaps, - unsigned nr_heaps, const driTextureObject * swapped ) -{ - driTextureObject *t; - unsigned i; - - for ( i = 0 ; i < nr_heaps ; i++ ) { - int last_end = 0; - unsigned textures_in_heap = 0; - unsigned blocks_in_mempool = 0; - const driTexHeap * heap = texture_heaps[i]; - const struct mem_block *p = heap->memory_heap; - - /* Check each texture object has a MemBlock, and is linked into - * the correct heap. - * - * Check the texobj base address corresponds to the MemBlock - * range. Check the texobj size (recalculate?) fits within - * the MemBlock. - * - * Count the number of texobj's using this heap. - */ - - foreach ( t, &heap->texture_objects ) { - if ( !check_in_heap( t, heap ) ) { - fprintf( stderr, "%s memory block for texture object @ %p not " - "found in heap #%d\n", - __FUNCTION__, (void *)t, i ); - return GL_FALSE; - } - - - if ( t->totalSize > t->memBlock->size ) { - fprintf( stderr, "%s: Memory block for texture object @ %p is " - "only %u bytes, but %u are required\n", - __FUNCTION__, (void *)t, t->totalSize, t->memBlock->size ); - return GL_FALSE; - } - - textures_in_heap++; - } - - /* Validate the contents of the heap: - * - Ordering - * - Overlaps - * - Bounds - */ - - while ( p != NULL ) { - if (p->reserved) { - fprintf( stderr, "%s: Block (%08x,%x), is reserved?!\n", - __FUNCTION__, p->ofs, p->size ); - return GL_FALSE; - } - - if (p->ofs != last_end) { - fprintf( stderr, "%s: blocks_in_mempool = %d, last_end = %d, p->ofs = %d\n", - __FUNCTION__, blocks_in_mempool, last_end, p->ofs ); - return GL_FALSE; - } - - if (!p->reserved && !p->free) { - blocks_in_mempool++; - } - - last_end = p->ofs + p->size; - p = p->next; - } - - if (textures_in_heap != blocks_in_mempool) { - fprintf( stderr, "%s: Different number of textures objects (%u) and " - "inuse memory blocks (%u)\n", - __FUNCTION__, textures_in_heap, blocks_in_mempool ); - return GL_FALSE; - } - -#if 0 - fprintf( stderr, "%s: textures_in_heap = %u\n", - __FUNCTION__, textures_in_heap ); -#endif - } - - - /* Check swapped texobj's have zero memblocks - */ - i = 0; - foreach ( t, swapped ) { - if ( t->memBlock != NULL ) { - fprintf( stderr, "%s: Swapped texobj %p has non-NULL memblock %p\n", - __FUNCTION__, (void *)t, (void *)t->memBlock ); - return GL_FALSE; - } - i++; - } - -#if 0 - fprintf( stderr, "%s: swapped texture count = %u\n", __FUNCTION__, i ); -#endif - - return GL_TRUE; -} - - - - -/****************************************************************************/ -/** - * Compute which mipmap levels that really need to be sent to the hardware. - * This depends on the base image size, GL_TEXTURE_MIN_LOD, - * GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, and GL_TEXTURE_MAX_LEVEL. - */ - -void -driCalculateTextureFirstLastLevel( driTextureObject * t ) -{ - struct gl_texture_object * const tObj = t->tObj; - const struct gl_texture_image * const baseImage = - tObj->Image[0][tObj->BaseLevel]; - - /* These must be signed values. MinLod and MaxLod can be negative numbers, - * and having firstLevel and lastLevel as signed prevents the need for - * extra sign checks. - */ - int firstLevel; - int lastLevel; - - /* Yes, this looks overly complicated, but it's all needed. - */ - - switch (tObj->Target) { - case GL_TEXTURE_1D: - case GL_TEXTURE_2D: - case GL_TEXTURE_3D: - case GL_TEXTURE_CUBE_MAP: - if (tObj->Sampler.MinFilter == GL_NEAREST || - tObj->Sampler.MinFilter == GL_LINEAR) { - /* GL_NEAREST and GL_LINEAR only care about GL_TEXTURE_BASE_LEVEL. - */ - - firstLevel = lastLevel = tObj->BaseLevel; - } - else { - firstLevel = tObj->BaseLevel + (GLint)(tObj->Sampler.MinLod + 0.5); - firstLevel = MAX2(firstLevel, tObj->BaseLevel); - firstLevel = MIN2(firstLevel, tObj->BaseLevel + baseImage->MaxLog2); - lastLevel = tObj->BaseLevel + (GLint)(tObj->Sampler.MaxLod + 0.5); - lastLevel = MAX2(lastLevel, t->tObj->BaseLevel); - lastLevel = MIN2(lastLevel, t->tObj->BaseLevel + baseImage->MaxLog2); - lastLevel = MIN2(lastLevel, t->tObj->MaxLevel); - lastLevel = MAX2(firstLevel, lastLevel); /* need at least one level */ - } - break; - case GL_TEXTURE_RECTANGLE_NV: - case GL_TEXTURE_4D_SGIS: - firstLevel = lastLevel = 0; - break; - default: - return; - } - - /* save these values */ - t->firstLevel = firstLevel; - t->lastLevel = lastLevel; -} - - - - -/** - * \name DRI texture formats. These vars are initialized to either the - * big- or little-endian Mesa formats. - */ -/*@{*/ -gl_format _dri_texformat_rgba8888 = MESA_FORMAT_NONE; -gl_format _dri_texformat_argb8888 = MESA_FORMAT_NONE; -gl_format _dri_texformat_rgb565 = MESA_FORMAT_NONE; -gl_format _dri_texformat_argb4444 = MESA_FORMAT_NONE; -gl_format _dri_texformat_argb1555 = MESA_FORMAT_NONE; -gl_format _dri_texformat_al88 = MESA_FORMAT_NONE; -gl_format _dri_texformat_a8 = MESA_FORMAT_A8; -gl_format _dri_texformat_i8 = MESA_FORMAT_I8; -gl_format _dri_texformat_l8 = MESA_FORMAT_L8; -/*@}*/ - - -/** - * Initialize _dri_texformat_* vars according to whether we're on - * a big or little endian system. - */ -void -driInitTextureFormats(void) -{ - if (_mesa_little_endian()) { - _dri_texformat_rgba8888 = MESA_FORMAT_RGBA8888; - _dri_texformat_argb8888 = MESA_FORMAT_ARGB8888; - _dri_texformat_rgb565 = MESA_FORMAT_RGB565; - _dri_texformat_argb4444 = MESA_FORMAT_ARGB4444; - _dri_texformat_argb1555 = MESA_FORMAT_ARGB1555; - _dri_texformat_al88 = MESA_FORMAT_AL88; - } - else { - _dri_texformat_rgba8888 = MESA_FORMAT_RGBA8888_REV; - _dri_texformat_argb8888 = MESA_FORMAT_ARGB8888_REV; - _dri_texformat_rgb565 = MESA_FORMAT_RGB565_REV; - _dri_texformat_argb4444 = MESA_FORMAT_ARGB4444_REV; - _dri_texformat_argb1555 = MESA_FORMAT_ARGB1555_REV; - _dri_texformat_al88 = MESA_FORMAT_AL88_REV; - } -} diff --git a/mesalib/src/mesa/drivers/dri/common/texmem.h b/mesalib/src/mesa/drivers/dri/common/texmem.h deleted file mode 100644 index 3815c4107..000000000 --- a/mesalib/src/mesa/drivers/dri/common/texmem.h +++ /dev/null @@ -1,334 +0,0 @@ -/*
- * Copyright 2000-2001 VA Linux Systems, Inc.
- * (c) Copyright IBM Corporation 2002
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, and/or sell copies of the Software, and to permit persons to whom
- * the Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- * USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Ian Romanick <idr@us.ibm.com>
- * Keith Whitwell <keithw@tungstengraphics.com>
- * Kevin E. Martin <kem@users.sourceforge.net>
- * Gareth Hughes <gareth@nvidia.com>
- */
-
-/** \file texmem.h
- * Public interface to the DRI texture memory management routines.
- *
- * \sa texmem.c
- */
-
-#ifndef DRI_TEXMEM_H
-#define DRI_TEXMEM_H
-
-#include "main/mtypes.h"
-#include "main/formats.h"
-#include "main/mm.h"
-#include "xf86drm.h"
-
-struct dri_tex_heap;
-typedef struct dri_tex_heap driTexHeap;
-
-struct dri_texture_object;
-typedef struct dri_texture_object driTextureObject;
-
-
-/**
- * Base texture object type. Each driver will extend this type with its own
- * private data members.
- */
-
-struct dri_texture_object {
- struct dri_texture_object * next;
- struct dri_texture_object * prev;
-
- driTexHeap * heap; /**< Texture heap currently stored in */
- struct gl_texture_object * tObj;/**< Pointer to Mesa texture object
- * If NULL, this texture object is a
- * "placeholder" object representing
- * texture memory in use by another context.
- * A placeholder should have a heap and a memBlock.
- */
- struct mem_block *memBlock; /**< Memory block containing texture */
-
- unsigned reserved; /**< Cannot be swapped out by user contexts. */
-
- unsigned bound; /**< Bitmask indicating which tex units
- * this texture object is bound to.
- * Bit 0 = unit 0, Bit 1 = unit 1, etc
- */
-
- unsigned totalSize; /**< Total size of the texture,
- * including all mipmap levels
- */
-
- unsigned dirty_images[6]; /**< Flags for whether or not images
- * need to be uploaded to local or
- * AGP texture space. One flag set
- * for each cube face for cubic
- * textures. Bit zero corresponds to
- * the base-level, which may or may
- * not be the level zero mipmap.
- */
-
- unsigned timestamp; /**< Timestamp used to
- * synchronize with 3d engine
- * in hardware where textures
- * are uploaded directly to
- * the framebuffer.
- */
-
- unsigned firstLevel; /**< Image in \c tObj->Image[0] that
- * corresponds to the base-level of
- * this texture object.
- */
-
- unsigned lastLevel; /**< Last image in \c tObj->Image[0]
- * used by the
- * current LOD settings of
- * this texture object. This
- * value must be greater than
- * or equal to \c firstLevel.
- */
-};
-
-
-typedef void (destroy_texture_object_t)( void * driverContext,
- driTextureObject * t );
-
-/**
- * Client-private representation of texture memory state.
- *
- * Clients will place one or more of these structs in their driver
- * context struct to manage one or more global texture heaps.
- */
-
-struct dri_tex_heap {
-
- /** Client-supplied heap identifier
- */
- unsigned heapId;
-
- /** Pointer to the client's private context
- */
- void *driverContext;
-
- /** Total size of the heap, in bytes
- */
- unsigned size;
-
- /** \brief \f$log_2\f$ of size of single heap region
- *
- * Each context takes memory from the global texture heap in
- * \f$2^{logGranularity}\f$ byte blocks. The value of
- * \a logGranularity is based on the amount of memory represented
- * by the heap and the maximum number of regions in the SAREA. Given
- * \a b bytes of texture memory an \a n regions in the SAREA,
- * \a logGranularity will be \f$\lfloor\log_2( b / n )\rfloor\f$.
- */
- unsigned logGranularity;
-
- /** \brief Required alignment of allocations in this heap
- *
- * The alignment shift is supplied to \a mmAllocMem when memory is
- * allocated from this heap. The value of \a alignmentShift will
- * typically reflect some require of the hardware. This value has
- * \b no \b relation to \a logGranularity. \a alignmentShift is a
- * per-context value.
- *
- * \sa mmAllocMem
- */
- unsigned alignmentShift;
-
- /** Number of elements in global list (the SAREA).
- */
- unsigned nrRegions;
-
- /** Pointer to SAREA \a driTexRegion array
- */
- drmTextureRegionPtr global_regions;
-
- /** Pointer to the texture state age (generation number) in the SAREA
- */
- unsigned * global_age;
-
- /** Local age (generation number) of texture state
- */
- unsigned local_age;
-
- /** Memory heap used to manage texture memory represented by
- * this texture heap.
- */
- struct mem_block * memory_heap;
-
- /** List of objects that we currently believe to be in texture
- * memory.
- */
- driTextureObject texture_objects;
-
- /** Pointer to the list of texture objects that are not in
- * texture memory.
- */
- driTextureObject * swapped_objects;
-
- /** Size of the driver-speicific texture object.
- */
- unsigned texture_object_size;
-
-
- /**
- * \brief Function to destroy driver-specific texture object data.
- *
- * This function is supplied by the driver so that the texture manager
- * can release all resources associated with a texture object. This
- * function should only release driver-specific data. That is,
- * \a driDestroyTextureObject will release the texture memory
- * associated with the texture object, it will release the memory
- * for the texture object itself, and it will unlink the texture
- * object from the texture object lists.
- *
- * \param driverContext Pointer to the driver supplied context
- * \param t Texture object that is to be destroyed
- * \sa driDestroyTextureObject
- */
-
- destroy_texture_object_t * destroy_texture_object;
-
-
- /**
- */
- unsigned * texture_swaps;
-
- /**
- * Timestamp used to synchronize with 3d engine in hardware
- * where textures are uploaded directly to the
- * framebuffer.
- */
- unsigned timestamp;
-
- /** \brief Kick/upload weight
- *
- * When not enough free space is available this weight
- * influences the choice of the heap from which textures are
- * kicked. By default the weight is equal to the heap size.
- */
- double weight;
-
- /** \brief Kick/upload duty
- *
- * The heap with the highest duty will be chosen for kicking
- * textures if not enough free space is available. The duty is
- * reduced by the amount of data kicked. Rebalancing of
- * negative duties takes the weights into account.
- */
- int duty;
-};
-
-
-
-
-/**
- * Called by the client on lock contention to determine whether textures have
- * been stolen. If another client has modified a region in which we have
- * textures, then we need to figure out which of our textures have been
- * removed and update our global LRU.
- *
- * \param heap Texture heap to be updated
- * \hideinitializer
- */
-
-#define DRI_AGE_TEXTURES( heap ) \
- do { \
- if ( ((heap) != NULL) \
- && ((heap)->local_age != (heap)->global_age[0]) ) \
- driAgeTextures( heap ); \
- } while( 0 )
-
-
-
-
-/* This should be called whenever there has been contention on the hardware
- * lock. driAgeTextures should not be called directly. Instead, clients
- * should use DRI_AGE_TEXTURES, above.
- */
-
-void driAgeTextures( driTexHeap * heap );
-
-void driUpdateTextureLRU( driTextureObject * t );
-void driSwapOutTextureObject( driTextureObject * t );
-void driDestroyTextureObject( driTextureObject * t );
-int driAllocateTexture( driTexHeap * const * heap_array, unsigned nr_heaps,
- driTextureObject * t );
-
-GLboolean driIsTextureResident( struct gl_context * ctx,
- struct gl_texture_object * texObj );
-
-driTexHeap * driCreateTextureHeap( unsigned heap_id, void * context,
- unsigned size, unsigned alignmentShift, unsigned nr_regions,
- drmTextureRegionPtr global_regions, unsigned * global_age,
- driTextureObject * swapped_objects, unsigned texture_object_size,
- destroy_texture_object_t * destroy_tex_obj );
-void driDestroyTextureHeap( driTexHeap * heap );
-
-void
-driCalculateMaxTextureLevels( driTexHeap * const * heaps,
- unsigned nr_heaps,
- struct gl_constants * limits,
- unsigned max_bytes_per_texel,
- unsigned max_2D_size,
- unsigned max_3D_size,
- unsigned max_cube_size,
- unsigned max_rect_size,
- unsigned mipmaps_at_once,
- int all_textures_one_heap,
- int allow_larger_textures );
-
-void
-driSetTextureSwapCounterLocation( driTexHeap * heap, unsigned * counter );
-
-#define DRI_TEXMGR_DO_TEXTURE_1D 0x0001
-#define DRI_TEXMGR_DO_TEXTURE_2D 0x0002
-#define DRI_TEXMGR_DO_TEXTURE_3D 0x0004
-#define DRI_TEXMGR_DO_TEXTURE_CUBE 0x0008
-#define DRI_TEXMGR_DO_TEXTURE_RECT 0x0010
-
-void driInitTextureObjects( struct gl_context *ctx, driTextureObject * swapped,
- GLuint targets );
-
-GLboolean driValidateTextureHeaps( driTexHeap * const * texture_heaps,
- unsigned nr_heaps, const driTextureObject * swapped );
-
-extern void driCalculateTextureFirstLastLevel( driTextureObject * t );
-
-
-extern gl_format _dri_texformat_rgba8888;
-extern gl_format _dri_texformat_argb8888;
-extern gl_format _dri_texformat_rgb565;
-extern gl_format _dri_texformat_argb4444;
-extern gl_format _dri_texformat_argb1555;
-extern gl_format _dri_texformat_al88;
-extern gl_format _dri_texformat_a8;
-extern gl_format _dri_texformat_ci8;
-extern gl_format _dri_texformat_i8;
-extern gl_format _dri_texformat_l8;
-
-extern void driInitTextureFormats( void );
-
-#endif /* DRI_TEXMEM_H */
diff --git a/mesalib/src/mesa/drivers/dri/common/utils.c b/mesalib/src/mesa/drivers/dri/common/utils.c index 54156d34a..d8656a784 100644 --- a/mesalib/src/mesa/drivers/dri/common/utils.c +++ b/mesalib/src/mesa/drivers/dri/common/utils.c @@ -138,124 +138,6 @@ driGetRendererString( char * buffer, const char * hardware_name, /** - * Utility function used by drivers to test the verions of other components. - * - * \param driver_name Name of the driver. Used in error messages. - * \param driActual Actual DRI version supplied __driCreateNewScreen. - * \param driExpected Minimum DRI version required by the driver. - * \param ddxActual Actual DDX version supplied __driCreateNewScreen. - * \param ddxExpected Minimum DDX minor and range of DDX major version required by the driver. - * \param drmActual Actual DRM version supplied __driCreateNewScreen. - * \param drmExpected Minimum DRM version required by the driver. - * - * \returns \c GL_TRUE if all version requirements are met. Otherwise, - * \c GL_FALSE is returned. - * - * \sa __driCreateNewScreen, driCheckDriDdxDrmVersions2 - * - * \todo - * Now that the old \c driCheckDriDdxDrmVersions function is gone, this - * function and \c driCheckDriDdxDrmVersions2 should be renamed. - */ -GLboolean -driCheckDriDdxDrmVersions3(const char * driver_name, - const __DRIversion * driActual, - const __DRIversion * driExpected, - const __DRIversion * ddxActual, - const __DRIutilversion2 * ddxExpected, - const __DRIversion * drmActual, - const __DRIversion * drmExpected) -{ - static const char format[] = "%s DRI driver expected %s version %d.%d.x " - "but got version %d.%d.%d\n"; - static const char format2[] = "%s DRI driver expected %s version %d-%d.%d.x " - "but got version %d.%d.%d\n"; - - - /* Check the DRI version */ - if ( (driActual->major != driExpected->major) - || (driActual->minor < driExpected->minor) ) { - fprintf(stderr, format, driver_name, "DRI", - driExpected->major, driExpected->minor, - driActual->major, driActual->minor, driActual->patch); - return GL_FALSE; - } - - /* Check that the DDX driver version is compatible */ - if ( (ddxActual->major < ddxExpected->major_min) - || (ddxActual->major > ddxExpected->major_max) - || (ddxActual->minor < ddxExpected->minor) ) { - fprintf(stderr, format2, driver_name, "DDX", - ddxExpected->major_min, ddxExpected->major_max, ddxExpected->minor, - ddxActual->major, ddxActual->minor, ddxActual->patch); - return GL_FALSE; - } - - /* Check that the DRM driver version is compatible */ - if ( (drmActual->major != drmExpected->major) - || (drmActual->minor < drmExpected->minor) ) { - fprintf(stderr, format, driver_name, "DRM", - drmExpected->major, drmExpected->minor, - drmActual->major, drmActual->minor, drmActual->patch); - return GL_FALSE; - } - - return GL_TRUE; -} - -GLboolean -driCheckDriDdxDrmVersions2(const char * driver_name, - const __DRIversion * driActual, - const __DRIversion * driExpected, - const __DRIversion * ddxActual, - const __DRIversion * ddxExpected, - const __DRIversion * drmActual, - const __DRIversion * drmExpected) -{ - __DRIutilversion2 ddx_expected; - ddx_expected.major_min = ddxExpected->major; - ddx_expected.major_max = ddxExpected->major; - ddx_expected.minor = ddxExpected->minor; - ddx_expected.patch = ddxExpected->patch; - return driCheckDriDdxDrmVersions3(driver_name, driActual, - driExpected, ddxActual, & ddx_expected, - drmActual, drmExpected); -} - -GLboolean driClipRectToFramebuffer( const struct gl_framebuffer *buffer, - GLint *x, GLint *y, - GLsizei *width, GLsizei *height ) -{ - /* left clipping */ - if (*x < buffer->_Xmin) { - *width -= (buffer->_Xmin - *x); - *x = buffer->_Xmin; - } - - /* right clipping */ - if (*x + *width > buffer->_Xmax) - *width -= (*x + *width - buffer->_Xmax - 1); - - if (*width <= 0) - return GL_FALSE; - - /* bottom clipping */ - if (*y < buffer->_Ymin) { - *height -= (buffer->_Ymin - *y); - *y = buffer->_Ymin; - } - - /* top clipping */ - if (*y + *height > buffer->_Ymax) - *height -= (*y + *height - buffer->_Ymax - 1); - - if (*height <= 0) - return GL_FALSE; - - return GL_TRUE; -} - -/** * Creates a set of \c struct gl_config that a driver will expose. * * A set of \c struct gl_config will be created based on the supplied diff --git a/mesalib/src/mesa/drivers/dri/common/utils.h b/mesalib/src/mesa/drivers/dri/common/utils.h index 100d0dd51..c2302de5d 100644 --- a/mesalib/src/mesa/drivers/dri/common/utils.h +++ b/mesalib/src/mesa/drivers/dri/common/utils.h @@ -39,17 +39,6 @@ struct dri_debug_control { unsigned flag; }; -/** - * Used to store a version which includes a major range instead of a single - * major version number. - */ -struct __DRIutilversionRec2 { - int major_min; /** min allowed Major version number. */ - int major_max; /** max allowed Major version number. */ - int minor; /**< Minor version number. */ - int patch; /**< Patch-level. */ -}; - extern void __driUtilMessage(const char *f, ...); @@ -59,20 +48,6 @@ extern unsigned driParseDebugString( const char * debug, extern unsigned driGetRendererString( char * buffer, const char * hardware_name, GLuint agp_mode ); -extern GLboolean driCheckDriDdxDrmVersions2(const char * driver_name, - const __DRIversion * driActual, const __DRIversion * driExpected, - const __DRIversion * ddxActual, const __DRIversion * ddxExpected, - const __DRIversion * drmActual, const __DRIversion * drmExpected); - -extern GLboolean driCheckDriDdxDrmVersions3(const char * driver_name, - const __DRIversion * driActual, const __DRIversion * driExpected, - const __DRIversion * ddxActual, const __DRIutilversion2 * ddxExpected, - const __DRIversion * drmActual, const __DRIversion * drmExpected); - -extern GLboolean driClipRectToFramebuffer( const struct gl_framebuffer *buffer, - GLint *x, GLint *y, - GLsizei *width, GLsizei *height ); - struct __DRIconfigRec { struct gl_config modes; }; diff --git a/mesalib/src/mesa/drivers/dri/common/vblank.c b/mesalib/src/mesa/drivers/dri/common/vblank.c deleted file mode 100644 index 3b8136844..000000000 --- a/mesalib/src/mesa/drivers/dri/common/vblank.c +++ /dev/null @@ -1,434 +0,0 @@ -/* -*- mode: c; c-basic-offset: 3 -*- */
-/*
- * (c) Copyright IBM Corporation 2002
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, and/or sell copies of the Software, and to permit persons to whom
- * the Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- * USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Ian Romanick <idr@us.ibm.com>
- */
-
-#include "main/glheader.h"
-#include "xf86drm.h"
-#include "main/mtypes.h"
-#include "main/macros.h"
-#include "main/dd.h"
-#include "vblank.h"
-#include "xmlpool.h"
-
-static unsigned int msc_to_vblank(__DRIdrawable * dPriv, int64_t msc)
-{
- return (unsigned int)(msc - dPriv->msc_base + dPriv->vblank_base);
-}
-
-static int64_t vblank_to_msc(__DRIdrawable * dPriv, unsigned int vblank)
-{
- return (int64_t)(vblank - dPriv->vblank_base + dPriv->msc_base);
-}
-
-
-/****************************************************************************/
-/**
- * Get the current MSC refresh counter.
- *
- * Stores the 64-bit count of vertical refreshes since some (arbitrary)
- * point in time in \c count. Unless the value wraps around, which it
- * may, it will never decrease for a given drawable.
- *
- * \warning This function is called from \c glXGetVideoSyncSGI, which expects
- * a \c count of type \c unsigned (32-bit), and \c glXGetSyncValuesOML, which
- * expects a \c count of type \c int64_t (signed 64-bit). The kernel ioctl
- * currently always returns a \c sequence of type \c unsigned.
- *
- * \param priv Pointer to the DRI screen private struct.
- * \param dPriv Pointer to the DRI drawable private struct
- * \param count Storage to hold MSC counter.
- * \return Zero is returned on success. A negative errno value
- * is returned on failure.
- */
-int driDrawableGetMSC32( __DRIscreen * priv,
- __DRIdrawable * dPriv,
- int64_t * count)
-{
- drmVBlank vbl;
- int ret;
-
- /* Don't wait for anything. Just get the current refresh count. */
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- vbl.request.sequence = 0;
- if ( dPriv && dPriv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
-
- ret = drmWaitVBlank( priv->fd, &vbl );
-
- if (dPriv) {
- *count = vblank_to_msc(dPriv, vbl.reply.sequence);
- } else {
- /* Old driver (no knowledge of drawable MSC callback) */
- *count = vbl.reply.sequence;
- }
-
- return ret;
-}
-
-/****************************************************************************/
-/**
- * Wait for a specified refresh count. This implements most of the
- * functionality of \c glXWaitForMscOML from the GLX_OML_sync_control spec.
- * Waits for the \c target_msc refresh. If that has already passed, it
- * waits until \f$(MSC \bmod divisor)\f$ is equal to \c remainder. If
- * \c target_msc is 0, use the behavior of glXWaitVideoSyncSGI(), which
- * omits the initial check against a target MSC value.
- *
- * This function is actually something of a hack. The problem is that, at
- * the time of this writing, none of the existing DRM modules support an
- * ioctl that returns a 64-bit count (at least not on 32-bit platforms).
- * However, this function exists to support a GLX function that requires
- * the use of 64-bit counts. As such, there is a little bit of ugly
- * hackery at the end of this function to make the 32-bit count act like
- * a 64-bit count. There are still some cases where this will break, but
- * I believe it catches the most common cases.
- *
- * The real solution is to provide an ioctl that uses a 64-bit count.
- *
- * \param dpy Pointer to the \c Display.
- * \param priv Pointer to the DRI drawable private.
- * \param target_msc Desired refresh count to wait for. A value of 0
- * means to use the glXWaitVideoSyncSGI() behavior.
- * \param divisor MSC divisor if \c target_msc is already reached.
- * \param remainder Desired MSC remainder if \c target_msc is already
- * reached.
- * \param msc Buffer to hold MSC when done waiting.
- *
- * \return Zero on success or \c GLX_BAD_CONTEXT on failure.
- */
-
-int driWaitForMSC32( __DRIdrawable *priv,
- int64_t target_msc, int64_t divisor, int64_t remainder,
- int64_t * msc )
-{
- drmVBlank vbl;
-
-
- if ( divisor != 0 ) {
- int64_t next = target_msc;
- int64_t r;
- int dont_wait = (target_msc == 0);
-
- do {
- /* dont_wait means we're using the glXWaitVideoSyncSGI() behavior.
- * The first time around, just get the current count and proceed
- * to the test for (MSC % divisor) == remainder.
- */
- vbl.request.type = dont_wait ? DRM_VBLANK_RELATIVE :
- DRM_VBLANK_ABSOLUTE;
- vbl.request.sequence = next ? msc_to_vblank(priv, next) : 0;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
-
- if ( drmWaitVBlank( priv->driScreenPriv->fd, &vbl ) != 0 ) {
- /* FIXME: This doesn't seem like the right thing to return here.
- */
- return GLX_BAD_CONTEXT;
- }
-
- *msc = vblank_to_msc(priv, vbl.reply.sequence);
-
- if (!dont_wait && *msc == next)
- break;
- dont_wait = 0;
-
- /* Assuming the wait-done test fails, the next refresh to wait for
- * will be one that satisfies (MSC % divisor) == remainder. The
- * value (MSC - (MSC % divisor) + remainder) is the refresh value
- * closest to the current value that would satisfy the equation.
- * If this refresh has already happened, we add divisor to obtain
- * the next refresh after the current one that will satisfy it.
- */
- r = ((uint64_t)*msc % divisor);
- next = (*msc - r + remainder);
- if (next <= *msc)
- next += divisor;
-
- } while (r != remainder);
- }
- else {
- /* If the \c divisor is zero, just wait until the MSC is greater
- * than or equal to \c target_msc.
- */
-
- vbl.request.type = DRM_VBLANK_ABSOLUTE;
- vbl.request.sequence = target_msc ? msc_to_vblank(priv, target_msc) : 0;
-
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
-
- if ( drmWaitVBlank( priv->driScreenPriv->fd, &vbl ) != 0 ) {
- /* FIXME: This doesn't seem like the right thing to return here.
- */
- return GLX_BAD_CONTEXT;
- }
- }
-
- *msc = vblank_to_msc(priv, vbl.reply.sequence);
-
- if ( *msc < target_msc ) {
- *msc += 0x0000000100000000LL;
- }
-
- return 0;
-}
-
-
-/****************************************************************************/
-/**
- * Gets a set of default vertical-blank-wait flags based on the internal GLX
- * API version and several configuration options.
- */
-
-GLuint driGetDefaultVBlankFlags( const driOptionCache *optionCache )
-{
- GLuint flags = VBLANK_FLAG_INTERVAL;
- int vblank_mode;
-
-
- if ( driCheckOption( optionCache, "vblank_mode", DRI_ENUM ) )
- vblank_mode = driQueryOptioni( optionCache, "vblank_mode" );
- else
- vblank_mode = DRI_CONF_VBLANK_DEF_INTERVAL_1;
-
- switch (vblank_mode) {
- case DRI_CONF_VBLANK_NEVER:
- flags = 0;
- break;
- case DRI_CONF_VBLANK_DEF_INTERVAL_0:
- break;
- case DRI_CONF_VBLANK_DEF_INTERVAL_1:
- flags |= VBLANK_FLAG_THROTTLE;
- break;
- case DRI_CONF_VBLANK_ALWAYS_SYNC:
- flags |= VBLANK_FLAG_SYNC;
- break;
- }
-
- return flags;
-}
-
-
-/****************************************************************************/
-/**
- * Wrapper to call \c drmWaitVBlank. The main purpose of this function is to
- * wrap the error message logging. The error message should only be logged
- * the first time the \c drmWaitVBlank fails. If \c drmWaitVBlank is
- * successful, \c vbl_seq will be set the sequence value in the reply.
- *
- * \param vbl Pointer to drmVBlank packet describing how to wait.
- * \param vbl_seq Location to store the current refresh counter.
- * \param fd File descriptor use to call into the DRM.
- * \return Zero on success or -1 on failure.
- */
-
-static int do_wait( drmVBlank * vbl, GLuint * vbl_seq, int fd )
-{
- int ret;
-
-
- ret = drmWaitVBlank( fd, vbl );
- if ( ret != 0 ) {
- static GLboolean first_time = GL_TRUE;
-
- if ( first_time ) {
- fprintf(stderr,
- "%s: drmWaitVBlank returned %d, IRQs don't seem to be"
- " working correctly.\nTry adjusting the vblank_mode"
- " configuration parameter.\n", __FUNCTION__, ret);
- first_time = GL_FALSE;
- }
-
- return -1;
- }
-
- *vbl_seq = vbl->reply.sequence;
- return 0;
-}
-
-
-/****************************************************************************/
-/**
- * Returns the default swap interval of the given drawable.
- */
-
-static unsigned
-driGetDefaultVBlankInterval( const __DRIdrawable *priv )
-{
- if ( (priv->vblFlags & (VBLANK_FLAG_THROTTLE | VBLANK_FLAG_SYNC)) != 0 ) {
- return 1;
- }
- else {
- return 0;
- }
-}
-
-
-/****************************************************************************/
-/**
- * Sets the default swap interval when the drawable is first bound to a
- * direct rendering context.
- */
-
-void driDrawableInitVBlank( __DRIdrawable *priv )
-{
- if ( priv->swap_interval == (unsigned)-1 &&
- !( priv->vblFlags & VBLANK_FLAG_NO_IRQ ) ) {
- /* Get current vertical blank sequence */
- drmVBlank vbl;
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- vbl.request.sequence = 0;
- do_wait( &vbl, &priv->vblSeq, priv->driScreenPriv->fd );
- priv->vblank_base = priv->vblSeq;
-
- priv->swap_interval = driGetDefaultVBlankInterval( priv );
- }
-}
-
-
-/****************************************************************************/
-/**
- * Returns the current swap interval of the given drawable.
- */
-
-unsigned
-driGetVBlankInterval( const __DRIdrawable *priv )
-{
- if ( (priv->vblFlags & VBLANK_FLAG_INTERVAL) != 0 ) {
- /* this must have been initialized when the drawable was first bound
- * to a direct rendering context. */
- assert ( priv->swap_interval != (unsigned)-1 );
-
- return priv->swap_interval;
- }
- else
- return driGetDefaultVBlankInterval( priv );
-}
-
-
-/****************************************************************************/
-/**
- * Returns the current vertical blank sequence number of the given drawable.
- */
-
-void
-driGetCurrentVBlank( __DRIdrawable *priv )
-{
- drmVBlank vbl;
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY ) {
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- }
- vbl.request.sequence = 0;
-
- (void) do_wait( &vbl, &priv->vblSeq, priv->driScreenPriv->fd );
-}
-
-
-/****************************************************************************/
-/**
- * Waits for the vertical blank for use with glXSwapBuffers.
- *
- * \param missed_deadline Set to \c GL_TRUE if the MSC after waiting is later
- * than the "target" based on \c priv->vblFlags. The idea is
- * that if \c missed_deadline is set, then the application is
- * not achieving its desired framerate.
- * \return Zero on success, -1 on error.
- */
-
-int
-driWaitForVBlank( __DRIdrawable *priv, GLboolean * missed_deadline )
-{
- drmVBlank vbl;
- unsigned original_seq;
- unsigned deadline;
- unsigned interval;
- unsigned diff;
-
- *missed_deadline = GL_FALSE;
- if ( (priv->vblFlags & (VBLANK_FLAG_INTERVAL |
- VBLANK_FLAG_THROTTLE |
- VBLANK_FLAG_SYNC)) == 0 ||
- (priv->vblFlags & VBLANK_FLAG_NO_IRQ) != 0 ) {
- return 0;
- }
-
-
- /* VBLANK_FLAG_SYNC means to wait for at least one vertical blank. If
- * that flag is not set, do a fake wait for zero vertical blanking
- * periods so that we can get the current MSC.
- *
- * VBLANK_FLAG_INTERVAL and VBLANK_FLAG_THROTTLE mean to wait for at
- * least one vertical blank since the last wait. Since do_wait modifies
- * priv->vblSeq, we have to save the original value of priv->vblSeq for the
- * VBLANK_FLAG_INTERVAL / VBLANK_FLAG_THROTTLE calculation later.
- */
-
- original_seq = priv->vblSeq;
- interval = driGetVBlankInterval(priv);
- deadline = original_seq + interval;
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY ) {
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- }
- vbl.request.sequence = ((priv->vblFlags & VBLANK_FLAG_SYNC) != 0) ? 1 : 0;
-
- if ( do_wait( & vbl, &priv->vblSeq, priv->driScreenPriv->fd ) != 0 ) {
- return -1;
- }
-
- diff = priv->vblSeq - deadline;
-
- /* No need to wait again if we've already reached the target */
- if (diff <= (1 << 23)) {
- *missed_deadline = (priv->vblFlags & VBLANK_FLAG_SYNC) ? (diff > 0) :
- GL_TRUE;
- return 0;
- }
-
- /* Wait until the target vertical blank. */
- vbl.request.type = DRM_VBLANK_ABSOLUTE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY ) {
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- }
- vbl.request.sequence = deadline;
-
- if ( do_wait( & vbl, &priv->vblSeq, priv->driScreenPriv->fd ) != 0 ) {
- return -1;
- }
-
- diff = priv->vblSeq - deadline;
- *missed_deadline = diff > 0 && diff <= (1 << 23);
-
- return 0;
-}
diff --git a/mesalib/src/mesa/drivers/dri/common/vblank.h b/mesalib/src/mesa/drivers/dri/common/vblank.h deleted file mode 100644 index c46f4ccc3..000000000 --- a/mesalib/src/mesa/drivers/dri/common/vblank.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- mode: c; c-basic-offset: 3 -*- */
-/*
- * (c) Copyright IBM Corporation 2002
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, and/or sell copies of the Software, and to permit persons to whom
- * the Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- * USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Ian Romanick <idr@us.ibm.com>
- */
-
-#ifndef DRI_VBLANK_H
-#define DRI_VBLANK_H
-
-#include "main/context.h"
-#include "dri_util.h"
-#include "xmlconfig.h"
-
-#define VBLANK_FLAG_INTERVAL (1U << 0) /* Respect the swap_interval setting
- */
-#define VBLANK_FLAG_THROTTLE (1U << 1) /* Wait 1 refresh since last call.
- */
-#define VBLANK_FLAG_SYNC (1U << 2) /* Sync to the next refresh.
- */
-#define VBLANK_FLAG_NO_IRQ (1U << 7) /* DRM has no IRQ to wait on.
- */
-#define VBLANK_FLAG_SECONDARY (1U << 8) /* Wait for secondary vblank.
- */
-
-extern int driGetMSC32( __DRIscreen * priv, int64_t * count );
-extern int driDrawableGetMSC32( __DRIscreen * priv,
- __DRIdrawable * drawablePrivate,
- int64_t * count);
-extern int driWaitForMSC32( __DRIdrawable *priv,
- int64_t target_msc, int64_t divisor, int64_t remainder, int64_t * msc );
-extern GLuint driGetDefaultVBlankFlags( const driOptionCache *optionCache );
-extern void driDrawableInitVBlank ( __DRIdrawable *priv );
-extern unsigned driGetVBlankInterval( const __DRIdrawable *priv );
-extern void driGetCurrentVBlank( __DRIdrawable *priv );
-extern int driWaitForVBlank( __DRIdrawable *priv,
- GLboolean * missed_deadline );
-
-#undef usleep
-#include <unistd.h> /* for usleep() */
-#include <sched.h> /* for sched_yield() */
-
-#define DO_USLEEP(nr) \
- do { \
- if (0) fprintf(stderr, "%s: usleep for %u\n", __FUNCTION__, nr ); \
- if (1) usleep( nr ); \
- sched_yield(); \
- } while( 0 )
-
-#endif /* DRI_VBLANK_H */
diff --git a/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po b/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po index 4ea82f901..933a05c04 100644 --- a/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po +++ b/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po @@ -7,10 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: Mesa 6.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-04-11 23:19+0200\n" +"POT-Creation-Date: 2011-08-30 11:40+0200\n" "PO-Revision-Date: 2005-04-11 01:34+0200\n" "Last-Translator: Felix Kuehling <fxkuehl@gmx.de>\n" "Language-Team: German <de@li.org>\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -32,148 +33,148 @@ msgstr "Zeige Performanceboxen" msgid "Image Quality" msgstr "Bildqualität" -#: t_options.h:77 +#: t_options.h:82 msgid "Texture color depth" msgstr "Texturfarbtiefe" -#: t_options.h:78 +#: t_options.h:83 msgid "Prefer frame buffer color depth" msgstr "Bevorzuge Farbtiefe des Framebuffers" -#: t_options.h:79 +#: t_options.h:84 msgid "Prefer 32 bits per texel" msgstr "Bevorzuge 32 bits pro Texel" -#: t_options.h:80 +#: t_options.h:85 msgid "Prefer 16 bits per texel" msgstr "Bevorzuge 16 bits pro Texel" -#: t_options.h:81 +#: t_options.h:86 msgid "Force 16 bits per texel" msgstr "Erzwinge 16 bits pro Texel" -#: t_options.h:87 +#: t_options.h:92 msgid "Initial maximum value for anisotropic texture filtering" msgstr "Initialer Maximalwert für anisotropische Texturfilterung" -#: t_options.h:92 +#: t_options.h:97 msgid "Forbid negative texture LOD bias" msgstr "Verbiete negative Textur-Detailgradverschiebung" -#: t_options.h:97 +#: t_options.h:102 msgid "" "Enable S3TC texture compression even if software support is not available" msgstr "" "Aktiviere S3TC Texturkomprimierung auch wenn die nötige " "Softwareunterstützung fehlt" -#: t_options.h:104 +#: t_options.h:109 msgid "Initial color reduction method" msgstr "Initiale Farbreduktionsmethode" -#: t_options.h:105 +#: t_options.h:110 msgid "Round colors" msgstr "Farben runden" -#: t_options.h:106 +#: t_options.h:111 msgid "Dither colors" msgstr "Farben rastern" -#: t_options.h:114 +#: t_options.h:119 msgid "Color rounding method" msgstr "Farbrundungsmethode" -#: t_options.h:115 +#: t_options.h:120 msgid "Round color components downward" msgstr "Farbkomponenten abrunden" -#: t_options.h:116 +#: t_options.h:121 msgid "Round to nearest color" msgstr "Zur ähnlichsten Farbe runden" -#: t_options.h:125 +#: t_options.h:130 msgid "Color dithering method" msgstr "Farbrasterungsmethode" -#: t_options.h:126 +#: t_options.h:131 msgid "Horizontal error diffusion" msgstr "Horizontale Fehlerstreuung" -#: t_options.h:127 +#: t_options.h:132 msgid "Horizontal error diffusion, reset error at line start" msgstr "Horizontale Fehlerstreuung, Fehler am Zeilenanfang zurücksetzen" -#: t_options.h:128 +#: t_options.h:133 msgid "Ordered 2D color dithering" msgstr "Geordnete 2D Farbrasterung" -#: t_options.h:134 +#: t_options.h:139 msgid "Floating point depth buffer" msgstr "Fließkomma z-Puffer" -#: t_options.h:140 +#: t_options.h:145 msgid "Performance" msgstr "Leistung" -#: t_options.h:148 +#: t_options.h:153 msgid "TCL mode (Transformation, Clipping, Lighting)" msgstr "TCL-Modus (Transformation, Clipping, Licht)" -#: t_options.h:149 +#: t_options.h:154 msgid "Use software TCL pipeline" msgstr "Benutze die Software-TCL-Pipeline" -#: t_options.h:150 +#: t_options.h:155 msgid "Use hardware TCL as first TCL pipeline stage" msgstr "Benutze Hardware TCL als erste Stufe der TCL-Pipeline" -#: t_options.h:151 +#: t_options.h:156 msgid "Bypass the TCL pipeline" msgstr "Umgehe die TCL-Pipeline" -#: t_options.h:152 +#: t_options.h:157 msgid "" "Bypass the TCL pipeline with state-based machine code generated on-the-fly" msgstr "" "Umgehe die TCL-Pipeline mit zur Laufzeit erzeugtem, zustandsbasiertem " "Maschinencode" -#: t_options.h:161 +#: t_options.h:166 msgid "Method to limit rendering latency" msgstr "Methode zur Begrenzung der Bildverzögerung" -#: t_options.h:162 +#: t_options.h:167 msgid "Busy waiting for the graphics hardware" msgstr "Aktives Warten auf die Grafikhardware" -#: t_options.h:163 +#: t_options.h:168 msgid "Sleep for brief intervals while waiting for the graphics hardware" msgstr "Kurze Schlafintervalle beim Warten auf die Grafikhardware" -#: t_options.h:164 +#: t_options.h:169 msgid "Let the graphics hardware emit a software interrupt and sleep" msgstr "" "Die Grafikhardware eine Softwareunterbrechnung erzeugen lassen und schlafen" -#: t_options.h:174 +#: t_options.h:179 msgid "Synchronization with vertical refresh (swap intervals)" msgstr "Synchronisation mit der vertikalen Bildwiederholung" -#: t_options.h:175 +#: t_options.h:180 msgid "Never synchronize with vertical refresh, ignore application's choice" msgstr "" "Niemals mit der Bildwiederholung synchronisieren, Anweisungen der Anwendung " "ignorieren" -#: t_options.h:176 +#: t_options.h:181 msgid "Initial swap interval 0, obey application's choice" msgstr "Initiales Bildinterval 0, Anweisungen der Anwendung gehorchen" -#: t_options.h:177 +#: t_options.h:182 msgid "Initial swap interval 1, obey application's choice" msgstr "Initiales Bildinterval 1, Anweisungen der Anwendung gehorchen" -#: t_options.h:178 +#: t_options.h:183 msgid "" "Always synchronize with vertical refresh, application chooses the minimum " "swap interval" @@ -181,60 +182,100 @@ msgstr "" "Immer mit der Bildwiederholung synchronisieren, Anwendung wählt das minimale " "Bildintervall" -#: t_options.h:186 +#: t_options.h:191 msgid "Use HyperZ to boost performance" msgstr "HyperZ zur Leistungssteigerung verwenden" -#: t_options.h:191 +#: t_options.h:196 +msgid "A post-processing filter to cel-shade the output" +msgstr "Nachbearbeitungsfilter für Cell Shading" + +#: t_options.h:201 +msgid "A post-processing filter to remove the red channel" +msgstr "Nachbearbeitungsfilter zum Entfernen des Rotkanals" + +#: t_options.h:206 +msgid "A post-processing filter to remove the green channel" +msgstr "Nachbearbeitungsfilter zum Entfernen des Grünkanals" + +#: t_options.h:211 +msgid "A post-processing filter to remove the blue channel" +msgstr "Nachbearbeitungsfilter zum Entfernen des Blaukanals" + +#: t_options.h:216 +msgid "" +"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " +"default quality" +msgstr "Morphologische Kantenglättung (Anti-Aliasing) basierend auf " +"Jimenez\' MLAA. 0 für deaktiviert, 8 für Standardqualität" + +#: t_options.h:221 +msgid "" +"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " +"default quality. Color version, usable with 2d GL apps" +msgstr "Morphologische Kantenglättung (Anti-Aliasing) basierend auf " +"Jimenez\' MLAA. 0 für deaktiviert, 8 für Standardqualität. " +"Farbversion, für 2D-Anwendungen" + +#: t_options.h:226 msgid "Number of texture units used" msgstr "Anzahl der benutzten Textureinheiten" -#: t_options.h:196 +#: t_options.h:231 msgid "Support larger textures not guaranteed to fit into graphics memory" -msgstr "Unterstütze grosse Texturen die evtl. nicht in den Grafikspeicher passen" +msgstr "" +"Unterstütze grosse Texturen die evtl. nicht in den Grafikspeicher passen" -#: t_options.h:197 +#: t_options.h:232 msgid "No" msgstr "Nein" -#: t_options.h:198 +#: t_options.h:233 msgid "At least 1 texture must fit under worst-case assumptions" msgstr "Mindestens 1 Textur muss auch im schlechtesten Fall Platz haben" -#: t_options.h:199 +#: t_options.h:234 msgid "Announce hardware limits" msgstr "Benutze Hardware-Limits" -#: t_options.h:205 +#: t_options.h:240 msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" msgstr "" "Texturfilterqualität versus -geschwindigkeit, auch bekannt als „brilineare“ " "Texturfilterung" -#: t_options.h:213 +#: t_options.h:248 msgid "Used types of texture memory" msgstr "Benutzte Arten von Texturspeicher" -#: t_options.h:214 +#: t_options.h:249 msgid "All available memory" msgstr "Aller verfügbarer Speicher" -#: t_options.h:215 +#: t_options.h:250 msgid "Only card memory (if available)" msgstr "Nur Grafikspeicher (falls verfügbar)" -#: t_options.h:216 +#: t_options.h:251 msgid "Only GART (AGP/PCIE) memory (if available)" msgstr "Nur GART-Speicher (AGP/PCIE) (falls verfügbar)" -#: t_options.h:224 +#: t_options.h:259 msgid "Features that are not hardware-accelerated" msgstr "Funktionalität, die nicht hardwarebeschleunigt ist" -#: t_options.h:228 +#: t_options.h:263 msgid "Enable extension GL_ARB_vertex_program" msgstr "Erweiterung GL_ARB_vertex_program aktivieren" -#: t_options.h:233 +#: t_options.h:268 msgid "Enable extension GL_NV_vertex_program" msgstr "Erweiterung GL_NV_vertex_program aktivieren" + +#: t_options.h:273 +msgid "Enable flushing batchbuffer after each draw call" +msgstr "Aktiviere sofortige Leerung des Stapelpuffers nach jedem Zeichenaufruf" + +#: t_options.h:278 +msgid "Enable flushing GPU caches with each draw call" +msgstr "Aktiviere sofortige Leerung der GPU-Zwischenspeicher mit jedem Zeichenaufruf" diff --git a/mesalib/src/mesa/drivers/dri/swrast/swrast.c b/mesalib/src/mesa/drivers/dri/swrast/swrast.c index b1abc502f..75eb46ee6 100644 --- a/mesalib/src/mesa/drivers/dri/swrast/swrast.c +++ b/mesalib/src/mesa/drivers/dri/swrast/swrast.c @@ -296,7 +296,7 @@ swrast_alloc_front_storage(struct gl_context *ctx, struct gl_renderbuffer *rb, rb->Data = NULL; rb->Width = width; rb->Height = height; - + rb->RowStride = width; xrb->pitch = bytes_per_line(width * xrb->bpp, 32); return GL_TRUE; @@ -320,7 +320,8 @@ swrast_alloc_back_storage(struct gl_context *ctx, struct gl_renderbuffer *rb, } static struct swrast_renderbuffer * -swrast_new_renderbuffer(const struct gl_config *visual, GLboolean front) +swrast_new_renderbuffer(const struct gl_config *visual, __DRIdrawable *dPriv, + GLboolean front) { struct swrast_renderbuffer *xrb = calloc(1, sizeof *xrb); GLuint pixel_format; @@ -334,6 +335,7 @@ swrast_new_renderbuffer(const struct gl_config *visual, GLboolean front) pixel_format = choose_pixel_format(visual); + xrb->dPriv = dPriv; xrb->Base.Delete = swrast_delete_renderbuffer; if (front) { xrb->Base.AllocStorage = swrast_alloc_front_storage; @@ -380,6 +382,78 @@ swrast_new_renderbuffer(const struct gl_config *visual, GLboolean front) return xrb; } +static void +swrast_map_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **out_map, + GLint *out_stride) +{ + struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb); + GLubyte *map = rb->Data; + int cpp = _mesa_get_format_bytes(rb->Format); + int stride = rb->RowStride * cpp; + + if (rb->AllocStorage == swrast_alloc_front_storage) { + __DRIdrawable *dPriv = xrb->dPriv; + __DRIscreen *sPriv = dPriv->driScreenPriv; + + xrb->map_mode = mode; + xrb->map_x = x; + xrb->map_y = y; + xrb->map_w = w; + xrb->map_h = h; + + stride = w * cpp; + rb->Data = malloc(h * stride); + + sPriv->swrast_loader->getImage(dPriv, x, y, w, h, + (char *)rb->Data, + dPriv->loaderPrivate); + + *out_map = rb->Data; + *out_stride = stride; + return; + } + + ASSERT(rb->Data); + + if (rb->AllocStorage == swrast_alloc_back_storage) { + map += (rb->Height - 1) * stride; + stride = -stride; + } + + map += y * stride; + map += x * cpp; + + *out_map = map; + *out_stride = stride; +} + +static void +swrast_unmap_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb) +{ + struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb); + + if (rb->AllocStorage == swrast_alloc_front_storage) { + __DRIdrawable *dPriv = xrb->dPriv; + __DRIscreen *sPriv = dPriv->driScreenPriv; + + if (xrb->map_mode & GL_MAP_WRITE_BIT) { + sPriv->swrast_loader->putImage(dPriv, __DRI_SWRAST_IMAGE_OP_DRAW, + xrb->map_x, xrb->map_y, + xrb->map_w, xrb->map_h, + rb->Data, + dPriv->loaderPrivate); + } + + free(rb->Data); + rb->Data = NULL; + } +} + static GLboolean dri_create_buffer(__DRIscreen * sPriv, __DRIdrawable * dPriv, @@ -411,12 +485,12 @@ dri_create_buffer(__DRIscreen * sPriv, _mesa_initialize_window_framebuffer(fb, visual); /* add front renderbuffer */ - frontrb = swrast_new_renderbuffer(visual, GL_TRUE); + frontrb = swrast_new_renderbuffer(visual, dPriv, GL_TRUE); _mesa_add_renderbuffer(fb, BUFFER_FRONT_LEFT, &frontrb->Base); /* add back renderbuffer */ if (visual->doubleBufferMode) { - backrb = swrast_new_renderbuffer(visual, GL_FALSE); + backrb = swrast_new_renderbuffer(visual, dPriv, GL_FALSE); _mesa_add_renderbuffer(fb, BUFFER_BACK_LEFT, &backrb->Base); } @@ -581,6 +655,8 @@ swrast_init_driver_functions(struct dd_function_table *driver) driver->GetBufferSize = NULL; driver->Viewport = viewport; driver->ChooseTextureFormat = swrastChooseTextureFormat; + driver->MapRenderbuffer = swrast_map_renderbuffer; + driver->UnmapRenderbuffer = swrast_unmap_renderbuffer; } static const char *es2_extensions[] = { diff --git a/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h b/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h index e61965147..405bb0fd3 100644 --- a/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h +++ b/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h @@ -1,145 +1,150 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.1
- *
- * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
- * Copyright 2008, 2010 George Sapountzis <gsapountzis@gmail.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#ifndef _SWRAST_PRIV_H
-#define _SWRAST_PRIV_H
-
-#include <GL/gl.h>
-#include <GL/internal/dri_interface.h>
-#include "main/mtypes.h"
-#include "drisw_util.h"
-
-#ifdef _MSC_VER
-#ifdef PUBLIC
-#undef PUBLIC
-#endif
-#define PUBLIC __declspec(dllexport)
-#endif
-
-
-/**
- * Debugging
- */
-#define DEBUG_CORE 0
-#define DEBUG_SPAN 0
-
-#if DEBUG_CORE
-#define TRACE printf("--> %s\n", __FUNCTION__)
-#else
-#define TRACE
-#endif
-
-#if DEBUG_SPAN
-#define TRACE_SPAN printf("--> %s\n", __FUNCTION__)
-#else
-#define TRACE_SPAN
-#endif
-
-
-/**
- * Data types
- */
-struct dri_context
-{
- /* mesa, base class, must be first */
- struct gl_context Base;
-
- /* dri */
- __DRIcontext *cPriv;
-};
-
-static INLINE struct dri_context *
-dri_context(__DRIcontext * driContextPriv)
-{
- return (struct dri_context *)driContextPriv->driverPrivate;
-}
-
-static INLINE struct dri_context *
-swrast_context(struct gl_context *ctx)
-{
- return (struct dri_context *) ctx;
-}
-
-struct dri_drawable
-{
- /* mesa, base class, must be first */
- struct gl_framebuffer Base;
-
- /* dri */
- __DRIdrawable *dPriv;
-
- /* scratch row for optimized front-buffer rendering */
- char *row;
-};
-
-static INLINE struct dri_drawable *
-dri_drawable(__DRIdrawable * driDrawPriv)
-{
- return (struct dri_drawable *)driDrawPriv->driverPrivate;
-}
-
-static INLINE struct dri_drawable *
-swrast_drawable(struct gl_framebuffer *fb)
-{
- return (struct dri_drawable *) fb;
-}
-
-struct swrast_renderbuffer {
- struct gl_renderbuffer Base;
-
- /* renderbuffer pitch (in bytes) */
- GLuint pitch;
- /* bits per pixel of storage */
- GLuint bpp;
-};
-
-static INLINE struct swrast_renderbuffer *
-swrast_renderbuffer(struct gl_renderbuffer *rb)
-{
- return (struct swrast_renderbuffer *) rb;
-}
-
-
-/**
- * Pixel formats we support
- */
-#define PF_A8R8G8B8 1 /**< 32bpp TrueColor: 8-A, 8-R, 8-G, 8-B bits */
-#define PF_R5G6B5 2 /**< 16bpp TrueColor: 5-R, 6-G, 5-B bits */
-#define PF_R3G3B2 3 /**< 8bpp TrueColor: 3-R, 3-G, 2-B bits */
-#define PF_X8R8G8B8 4 /**< 32bpp TrueColor: 8-R, 8-G, 8-B bits */
-
-
-/* swrast_span.c */
-
-extern void
-swrast_set_span_funcs_back(struct swrast_renderbuffer *xrb,
- GLuint pixel_format);
-
-extern void
-swrast_set_span_funcs_front(struct swrast_renderbuffer *xrb,
- GLuint pixel_format);
-
-#endif /* _SWRAST_PRIV_H_ */
+/* + * Mesa 3-D graphics library + * Version: 7.1 + * + * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. + * Copyright 2008, 2010 George Sapountzis <gsapountzis@gmail.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +#ifndef _SWRAST_PRIV_H +#define _SWRAST_PRIV_H + +#include <GL/gl.h> +#include <GL/internal/dri_interface.h> +#include "main/mtypes.h" +#include "drisw_util.h" + +#ifdef _MSC_VER +#ifdef PUBLIC +#undef PUBLIC +#endif +#define PUBLIC __declspec(dllexport) +#endif + + +/** + * Debugging + */ +#define DEBUG_CORE 0 +#define DEBUG_SPAN 0 + +#if DEBUG_CORE +#define TRACE printf("--> %s\n", __FUNCTION__) +#else +#define TRACE +#endif + +#if DEBUG_SPAN +#define TRACE_SPAN printf("--> %s\n", __FUNCTION__) +#else +#define TRACE_SPAN +#endif + + +/** + * Data types + */ +struct dri_context +{ + /* mesa, base class, must be first */ + struct gl_context Base; + + /* dri */ + __DRIcontext *cPriv; +}; + +static INLINE struct dri_context * +dri_context(__DRIcontext * driContextPriv) +{ + return (struct dri_context *)driContextPriv->driverPrivate; +} + +static INLINE struct dri_context * +swrast_context(struct gl_context *ctx) +{ + return (struct dri_context *) ctx; +} + +struct dri_drawable +{ + /* mesa, base class, must be first */ + struct gl_framebuffer Base; + + /* dri */ + __DRIdrawable *dPriv; + + /* scratch row for optimized front-buffer rendering */ + char *row; +}; + +static INLINE struct dri_drawable * +dri_drawable(__DRIdrawable * driDrawPriv) +{ + return (struct dri_drawable *)driDrawPriv->driverPrivate; +} + +static INLINE struct dri_drawable * +swrast_drawable(struct gl_framebuffer *fb) +{ + return (struct dri_drawable *) fb; +} + +struct swrast_renderbuffer { + struct gl_renderbuffer Base; + __DRIdrawable *dPriv; + + /* GL_MAP_*_BIT, used for mapping of front buffer. */ + GLbitfield map_mode; + int map_x, map_y, map_w, map_h; + + /* renderbuffer pitch (in bytes) */ + GLuint pitch; + /* bits per pixel of storage */ + GLuint bpp; +}; + +static INLINE struct swrast_renderbuffer * +swrast_renderbuffer(struct gl_renderbuffer *rb) +{ + return (struct swrast_renderbuffer *) rb; +} + + +/** + * Pixel formats we support + */ +#define PF_A8R8G8B8 1 /**< 32bpp TrueColor: 8-A, 8-R, 8-G, 8-B bits */ +#define PF_R5G6B5 2 /**< 16bpp TrueColor: 5-R, 6-G, 5-B bits */ +#define PF_R3G3B2 3 /**< 8bpp TrueColor: 3-R, 3-G, 2-B bits */ +#define PF_X8R8G8B8 4 /**< 32bpp TrueColor: 8-R, 8-G, 8-B bits */ + + +/* swrast_span.c */ + +extern void +swrast_set_span_funcs_back(struct swrast_renderbuffer *xrb, + GLuint pixel_format); + +extern void +swrast_set_span_funcs_front(struct swrast_renderbuffer *xrb, + GLuint pixel_format); + +#endif /* _SWRAST_PRIV_H_ */ diff --git a/mesalib/src/mesa/drivers/windows/gdi/wgl.c b/mesalib/src/mesa/drivers/windows/gdi/wgl.c index 33baabee6..61850c26f 100644 --- a/mesalib/src/mesa/drivers/windows/gdi/wgl.c +++ b/mesalib/src/mesa/drivers/windows/gdi/wgl.c @@ -335,9 +335,13 @@ WINGDIAPI BOOL GLAPIENTRY wglSetPixelFormat(HDC hdc,int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd) { (void) hdc; - - if(iPixelFormat < 1 || iPixelFormat > npfd || - ppfd->nSize != sizeof(PIXELFORMATDESCRIPTOR)) { + + /* SetPixelFormat (hence wglSetPixelFormat) must not touch ppfd, per + * http://msdn.microsoft.com/en-us/library/dd369049(v=vs.85).aspx + */ + (void) ppfd; + + if(iPixelFormat < 1 || iPixelFormat > npfd) { SetLastError(0); return(FALSE); } diff --git a/mesalib/src/mesa/main/APIspec.xml b/mesalib/src/mesa/main/APIspec.xml index a92bb437c..99c726c83 100644 --- a/mesalib/src/mesa/main/APIspec.xml +++ b/mesalib/src/mesa/main/APIspec.xml @@ -288,6 +288,7 @@ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="pname"> @@ -827,6 +828,7 @@ <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="cap" category="GLES2.0"> @@ -884,6 +886,7 @@ <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="cap" category="GLES2.0"> @@ -1477,6 +1480,7 @@ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="pname"> @@ -1544,6 +1548,7 @@ <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="cap" category="GLES2.0"> @@ -2071,6 +2076,7 @@ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> </template> @@ -3493,6 +3499,7 @@ <desc name="target"> <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> </template> @@ -3830,6 +3837,7 @@ <category name="EXT_blend_minmax"/> <category name="EXT_multi_draw_arrays"/> <category name="OES_EGL_image"/> + <category name="OES_EGL_image_external"/> <category name="OES_matrix_palette"/> @@ -4118,6 +4126,7 @@ <category name="EXT_blend_minmax"/> <category name="EXT_multi_draw_arrays"/> <category name="OES_EGL_image"/> + <category name="OES_EGL_image_external"/> <category name="NV_draw_buffers"/> <function name="DrawBuffersNV" template="DrawBuffers"/> diff --git a/mesalib/src/mesa/main/api_exec.c b/mesalib/src/mesa/main/api_exec.c index 1bc39db55..26fd37e63 100644 --- a/mesalib/src/mesa/main/api_exec.c +++ b/mesalib/src/mesa/main/api_exec.c @@ -90,6 +90,7 @@ #include "texobj.h" #include "texparam.h" #include "texstate.h" +#include "texstorage.h" #include "texturebarrier.h" #include "transformfeedback.h" #include "mtypes.h" @@ -742,6 +743,14 @@ _mesa_create_exec_table(void) /* GL_ARB_texture_buffer_object */ SET_TexBufferARB(exec, _mesa_TexBuffer); + /* GL_ARB_texture_storage */ + SET_TexStorage1D(exec, _mesa_TexStorage1D); + SET_TexStorage2D(exec, _mesa_TexStorage2D); + SET_TexStorage3D(exec, _mesa_TexStorage3D); + SET_TextureStorage1DEXT(exec, _mesa_TextureStorage1DEXT); + SET_TextureStorage2DEXT(exec, _mesa_TextureStorage2DEXT); + SET_TextureStorage3DEXT(exec, _mesa_TextureStorage3DEXT); + #if FEATURE_ARB_sampler_objects _mesa_init_sampler_object_dispatch(exec); #endif diff --git a/mesalib/src/mesa/main/arrayobj.c b/mesalib/src/mesa/main/arrayobj.c index 78f56ab00..1283940f7 100644 --- a/mesalib/src/mesa/main/arrayobj.c +++ b/mesalib/src/mesa/main/arrayobj.c @@ -208,6 +208,7 @@ init_array(struct gl_context *ctx, array->Ptr = NULL; array->Enabled = GL_FALSE; array->Normalized = GL_FALSE; + array->Integer = GL_FALSE; array->_ElementSize = size * _mesa_sizeof_type(type); #if FEATURE_ARB_vertex_buffer_object /* Vertex array buffers */ diff --git a/mesalib/src/mesa/main/attrib.c b/mesalib/src/mesa/main/attrib.c index 1dc1c1b97..f368eecc1 100644 --- a/mesalib/src/mesa/main/attrib.c +++ b/mesalib/src/mesa/main/attrib.c @@ -764,6 +764,8 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate) } else if (obj->Target == GL_TEXTURE_BUFFER) continue; + else if (obj->Target == GL_TEXTURE_EXTERNAL_OES) + continue; target = obj->Target; diff --git a/mesalib/src/mesa/main/dd.h b/mesalib/src/mesa/main/dd.h index 8607008de..9842540da 100644 --- a/mesalib/src/mesa/main/dd.h +++ b/mesalib/src/mesa/main/dd.h @@ -514,6 +514,24 @@ struct dd_function_table { /** Unmap texture images from user space */ void (*UnmapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj ); + /** For GL_ARB_texture_storage. Allocate memory for whole mipmap stack. + * All the gl_texture_images in the texture object will have their + * dimensions, format, etc. initialized already. + */ + GLboolean (*AllocTextureStorage)(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth); + + void (*MapRenderbuffer)(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **mapOut, GLint *rowStrideOut); + + void (*UnmapRenderbuffer)(struct gl_context *ctx, + struct gl_renderbuffer *rb); + /** * Note: no context argument. This function doesn't initially look * like it belongs here, except that the driver is the only entity diff --git a/mesalib/src/mesa/main/debug.c b/mesalib/src/mesa/main/debug.c index 6e695d147..72aa8cb4f 100644 --- a/mesalib/src/mesa/main/debug.c +++ b/mesalib/src/mesa/main/debug.c @@ -50,7 +50,8 @@ tex_target_name(GLenum tgt) { GL_TEXTURE_CUBE_MAP, "GL_TEXTURE_CUBE_MAP" }, { GL_TEXTURE_RECTANGLE, "GL_TEXTURE_RECTANGLE" }, { GL_TEXTURE_1D_ARRAY_EXT, "GL_TEXTURE_1D_ARRAY" }, - { GL_TEXTURE_2D_ARRAY_EXT, "GL_TEXTURE_2D_ARRAY" } + { GL_TEXTURE_2D_ARRAY_EXT, "GL_TEXTURE_2D_ARRAY" }, + { GL_TEXTURE_EXTERNAL_OES, "GL_TEXTURE_EXTERNAL_OES" } }; GLuint i; for (i = 0; i < Elements(tex_targets); i++) { diff --git a/mesalib/src/mesa/main/dispatch.h b/mesalib/src/mesa/main/dispatch.h index d5e05daa5..4e21b2d6e 100644 --- a/mesalib/src/mesa/main/dispatch.h +++ b/mesalib/src/mesa/main/dispatch.h @@ -59,7 +59,7 @@ } while(0) /* total number of offsets below */ -#define _gloffset_COUNT 967 +#define _gloffset_COUNT 973 #define _gloffset_NewList 0 #define _gloffset_EndList 1 @@ -749,292 +749,298 @@ #define _gloffset_GetnUniformivARB 682 #define _gloffset_GetnUniformuivARB 683 #define _gloffset_ReadnPixelsARB 684 -#define _gloffset_PolygonOffsetEXT 685 -#define _gloffset_GetPixelTexGenParameterfvSGIS 686 -#define _gloffset_GetPixelTexGenParameterivSGIS 687 -#define _gloffset_PixelTexGenParameterfSGIS 688 -#define _gloffset_PixelTexGenParameterfvSGIS 689 -#define _gloffset_PixelTexGenParameteriSGIS 690 -#define _gloffset_PixelTexGenParameterivSGIS 691 -#define _gloffset_SampleMaskSGIS 692 -#define _gloffset_SamplePatternSGIS 693 -#define _gloffset_ColorPointerEXT 694 -#define _gloffset_EdgeFlagPointerEXT 695 -#define _gloffset_IndexPointerEXT 696 -#define _gloffset_NormalPointerEXT 697 -#define _gloffset_TexCoordPointerEXT 698 -#define _gloffset_VertexPointerEXT 699 -#define _gloffset_PointParameterfEXT 700 -#define _gloffset_PointParameterfvEXT 701 -#define _gloffset_LockArraysEXT 702 -#define _gloffset_UnlockArraysEXT 703 -#define _gloffset_SecondaryColor3bEXT 704 -#define _gloffset_SecondaryColor3bvEXT 705 -#define _gloffset_SecondaryColor3dEXT 706 -#define _gloffset_SecondaryColor3dvEXT 707 -#define _gloffset_SecondaryColor3fEXT 708 -#define _gloffset_SecondaryColor3fvEXT 709 -#define _gloffset_SecondaryColor3iEXT 710 -#define _gloffset_SecondaryColor3ivEXT 711 -#define _gloffset_SecondaryColor3sEXT 712 -#define _gloffset_SecondaryColor3svEXT 713 -#define _gloffset_SecondaryColor3ubEXT 714 -#define _gloffset_SecondaryColor3ubvEXT 715 -#define _gloffset_SecondaryColor3uiEXT 716 -#define _gloffset_SecondaryColor3uivEXT 717 -#define _gloffset_SecondaryColor3usEXT 718 -#define _gloffset_SecondaryColor3usvEXT 719 -#define _gloffset_SecondaryColorPointerEXT 720 -#define _gloffset_MultiDrawArraysEXT 721 -#define _gloffset_MultiDrawElementsEXT 722 -#define _gloffset_FogCoordPointerEXT 723 -#define _gloffset_FogCoorddEXT 724 -#define _gloffset_FogCoorddvEXT 725 -#define _gloffset_FogCoordfEXT 726 -#define _gloffset_FogCoordfvEXT 727 -#define _gloffset_PixelTexGenSGIX 728 -#define _gloffset_BlendFuncSeparateEXT 729 -#define _gloffset_FlushVertexArrayRangeNV 730 -#define _gloffset_VertexArrayRangeNV 731 -#define _gloffset_CombinerInputNV 732 -#define _gloffset_CombinerOutputNV 733 -#define _gloffset_CombinerParameterfNV 734 -#define _gloffset_CombinerParameterfvNV 735 -#define _gloffset_CombinerParameteriNV 736 -#define _gloffset_CombinerParameterivNV 737 -#define _gloffset_FinalCombinerInputNV 738 -#define _gloffset_GetCombinerInputParameterfvNV 739 -#define _gloffset_GetCombinerInputParameterivNV 740 -#define _gloffset_GetCombinerOutputParameterfvNV 741 -#define _gloffset_GetCombinerOutputParameterivNV 742 -#define _gloffset_GetFinalCombinerInputParameterfvNV 743 -#define _gloffset_GetFinalCombinerInputParameterivNV 744 -#define _gloffset_ResizeBuffersMESA 745 -#define _gloffset_WindowPos2dMESA 746 -#define _gloffset_WindowPos2dvMESA 747 -#define _gloffset_WindowPos2fMESA 748 -#define _gloffset_WindowPos2fvMESA 749 -#define _gloffset_WindowPos2iMESA 750 -#define _gloffset_WindowPos2ivMESA 751 -#define _gloffset_WindowPos2sMESA 752 -#define _gloffset_WindowPos2svMESA 753 -#define _gloffset_WindowPos3dMESA 754 -#define _gloffset_WindowPos3dvMESA 755 -#define _gloffset_WindowPos3fMESA 756 -#define _gloffset_WindowPos3fvMESA 757 -#define _gloffset_WindowPos3iMESA 758 -#define _gloffset_WindowPos3ivMESA 759 -#define _gloffset_WindowPos3sMESA 760 -#define _gloffset_WindowPos3svMESA 761 -#define _gloffset_WindowPos4dMESA 762 -#define _gloffset_WindowPos4dvMESA 763 -#define _gloffset_WindowPos4fMESA 764 -#define _gloffset_WindowPos4fvMESA 765 -#define _gloffset_WindowPos4iMESA 766 -#define _gloffset_WindowPos4ivMESA 767 -#define _gloffset_WindowPos4sMESA 768 -#define _gloffset_WindowPos4svMESA 769 -#define _gloffset_MultiModeDrawArraysIBM 770 -#define _gloffset_MultiModeDrawElementsIBM 771 -#define _gloffset_DeleteFencesNV 772 -#define _gloffset_FinishFenceNV 773 -#define _gloffset_GenFencesNV 774 -#define _gloffset_GetFenceivNV 775 -#define _gloffset_IsFenceNV 776 -#define _gloffset_SetFenceNV 777 -#define _gloffset_TestFenceNV 778 -#define _gloffset_AreProgramsResidentNV 779 -#define _gloffset_BindProgramNV 780 -#define _gloffset_DeleteProgramsNV 781 -#define _gloffset_ExecuteProgramNV 782 -#define _gloffset_GenProgramsNV 783 -#define _gloffset_GetProgramParameterdvNV 784 -#define _gloffset_GetProgramParameterfvNV 785 -#define _gloffset_GetProgramStringNV 786 -#define _gloffset_GetProgramivNV 787 -#define _gloffset_GetTrackMatrixivNV 788 -#define _gloffset_GetVertexAttribPointervNV 789 -#define _gloffset_GetVertexAttribdvNV 790 -#define _gloffset_GetVertexAttribfvNV 791 -#define _gloffset_GetVertexAttribivNV 792 -#define _gloffset_IsProgramNV 793 -#define _gloffset_LoadProgramNV 794 -#define _gloffset_ProgramParameters4dvNV 795 -#define _gloffset_ProgramParameters4fvNV 796 -#define _gloffset_RequestResidentProgramsNV 797 -#define _gloffset_TrackMatrixNV 798 -#define _gloffset_VertexAttrib1dNV 799 -#define _gloffset_VertexAttrib1dvNV 800 -#define _gloffset_VertexAttrib1fNV 801 -#define _gloffset_VertexAttrib1fvNV 802 -#define _gloffset_VertexAttrib1sNV 803 -#define _gloffset_VertexAttrib1svNV 804 -#define _gloffset_VertexAttrib2dNV 805 -#define _gloffset_VertexAttrib2dvNV 806 -#define _gloffset_VertexAttrib2fNV 807 -#define _gloffset_VertexAttrib2fvNV 808 -#define _gloffset_VertexAttrib2sNV 809 -#define _gloffset_VertexAttrib2svNV 810 -#define _gloffset_VertexAttrib3dNV 811 -#define _gloffset_VertexAttrib3dvNV 812 -#define _gloffset_VertexAttrib3fNV 813 -#define _gloffset_VertexAttrib3fvNV 814 -#define _gloffset_VertexAttrib3sNV 815 -#define _gloffset_VertexAttrib3svNV 816 -#define _gloffset_VertexAttrib4dNV 817 -#define _gloffset_VertexAttrib4dvNV 818 -#define _gloffset_VertexAttrib4fNV 819 -#define _gloffset_VertexAttrib4fvNV 820 -#define _gloffset_VertexAttrib4sNV 821 -#define _gloffset_VertexAttrib4svNV 822 -#define _gloffset_VertexAttrib4ubNV 823 -#define _gloffset_VertexAttrib4ubvNV 824 -#define _gloffset_VertexAttribPointerNV 825 -#define _gloffset_VertexAttribs1dvNV 826 -#define _gloffset_VertexAttribs1fvNV 827 -#define _gloffset_VertexAttribs1svNV 828 -#define _gloffset_VertexAttribs2dvNV 829 -#define _gloffset_VertexAttribs2fvNV 830 -#define _gloffset_VertexAttribs2svNV 831 -#define _gloffset_VertexAttribs3dvNV 832 -#define _gloffset_VertexAttribs3fvNV 833 -#define _gloffset_VertexAttribs3svNV 834 -#define _gloffset_VertexAttribs4dvNV 835 -#define _gloffset_VertexAttribs4fvNV 836 -#define _gloffset_VertexAttribs4svNV 837 -#define _gloffset_VertexAttribs4ubvNV 838 -#define _gloffset_GetTexBumpParameterfvATI 839 -#define _gloffset_GetTexBumpParameterivATI 840 -#define _gloffset_TexBumpParameterfvATI 841 -#define _gloffset_TexBumpParameterivATI 842 -#define _gloffset_AlphaFragmentOp1ATI 843 -#define _gloffset_AlphaFragmentOp2ATI 844 -#define _gloffset_AlphaFragmentOp3ATI 845 -#define _gloffset_BeginFragmentShaderATI 846 -#define _gloffset_BindFragmentShaderATI 847 -#define _gloffset_ColorFragmentOp1ATI 848 -#define _gloffset_ColorFragmentOp2ATI 849 -#define _gloffset_ColorFragmentOp3ATI 850 -#define _gloffset_DeleteFragmentShaderATI 851 -#define _gloffset_EndFragmentShaderATI 852 -#define _gloffset_GenFragmentShadersATI 853 -#define _gloffset_PassTexCoordATI 854 -#define _gloffset_SampleMapATI 855 -#define _gloffset_SetFragmentShaderConstantATI 856 -#define _gloffset_PointParameteriNV 857 -#define _gloffset_PointParameterivNV 858 -#define _gloffset_ActiveStencilFaceEXT 859 -#define _gloffset_BindVertexArrayAPPLE 860 -#define _gloffset_DeleteVertexArraysAPPLE 861 -#define _gloffset_GenVertexArraysAPPLE 862 -#define _gloffset_IsVertexArrayAPPLE 863 -#define _gloffset_GetProgramNamedParameterdvNV 864 -#define _gloffset_GetProgramNamedParameterfvNV 865 -#define _gloffset_ProgramNamedParameter4dNV 866 -#define _gloffset_ProgramNamedParameter4dvNV 867 -#define _gloffset_ProgramNamedParameter4fNV 868 -#define _gloffset_ProgramNamedParameter4fvNV 869 -#define _gloffset_PrimitiveRestartIndexNV 870 -#define _gloffset_PrimitiveRestartNV 871 -#define _gloffset_DepthBoundsEXT 872 -#define _gloffset_BlendEquationSeparateEXT 873 -#define _gloffset_BindFramebufferEXT 874 -#define _gloffset_BindRenderbufferEXT 875 -#define _gloffset_CheckFramebufferStatusEXT 876 -#define _gloffset_DeleteFramebuffersEXT 877 -#define _gloffset_DeleteRenderbuffersEXT 878 -#define _gloffset_FramebufferRenderbufferEXT 879 -#define _gloffset_FramebufferTexture1DEXT 880 -#define _gloffset_FramebufferTexture2DEXT 881 -#define _gloffset_FramebufferTexture3DEXT 882 -#define _gloffset_GenFramebuffersEXT 883 -#define _gloffset_GenRenderbuffersEXT 884 -#define _gloffset_GenerateMipmapEXT 885 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 886 -#define _gloffset_GetRenderbufferParameterivEXT 887 -#define _gloffset_IsFramebufferEXT 888 -#define _gloffset_IsRenderbufferEXT 889 -#define _gloffset_RenderbufferStorageEXT 890 -#define _gloffset_BlitFramebufferEXT 891 -#define _gloffset_BufferParameteriAPPLE 892 -#define _gloffset_FlushMappedBufferRangeAPPLE 893 -#define _gloffset_BindFragDataLocationEXT 894 -#define _gloffset_GetFragDataLocationEXT 895 -#define _gloffset_GetUniformuivEXT 896 -#define _gloffset_GetVertexAttribIivEXT 897 -#define _gloffset_GetVertexAttribIuivEXT 898 -#define _gloffset_Uniform1uiEXT 899 -#define _gloffset_Uniform1uivEXT 900 -#define _gloffset_Uniform2uiEXT 901 -#define _gloffset_Uniform2uivEXT 902 -#define _gloffset_Uniform3uiEXT 903 -#define _gloffset_Uniform3uivEXT 904 -#define _gloffset_Uniform4uiEXT 905 -#define _gloffset_Uniform4uivEXT 906 -#define _gloffset_VertexAttribI1iEXT 907 -#define _gloffset_VertexAttribI1ivEXT 908 -#define _gloffset_VertexAttribI1uiEXT 909 -#define _gloffset_VertexAttribI1uivEXT 910 -#define _gloffset_VertexAttribI2iEXT 911 -#define _gloffset_VertexAttribI2ivEXT 912 -#define _gloffset_VertexAttribI2uiEXT 913 -#define _gloffset_VertexAttribI2uivEXT 914 -#define _gloffset_VertexAttribI3iEXT 915 -#define _gloffset_VertexAttribI3ivEXT 916 -#define _gloffset_VertexAttribI3uiEXT 917 -#define _gloffset_VertexAttribI3uivEXT 918 -#define _gloffset_VertexAttribI4bvEXT 919 -#define _gloffset_VertexAttribI4iEXT 920 -#define _gloffset_VertexAttribI4ivEXT 921 -#define _gloffset_VertexAttribI4svEXT 922 -#define _gloffset_VertexAttribI4ubvEXT 923 -#define _gloffset_VertexAttribI4uiEXT 924 -#define _gloffset_VertexAttribI4uivEXT 925 -#define _gloffset_VertexAttribI4usvEXT 926 -#define _gloffset_VertexAttribIPointerEXT 927 -#define _gloffset_FramebufferTextureLayerEXT 928 -#define _gloffset_ColorMaskIndexedEXT 929 -#define _gloffset_DisableIndexedEXT 930 -#define _gloffset_EnableIndexedEXT 931 -#define _gloffset_GetBooleanIndexedvEXT 932 -#define _gloffset_GetIntegerIndexedvEXT 933 -#define _gloffset_IsEnabledIndexedEXT 934 -#define _gloffset_ClearColorIiEXT 935 -#define _gloffset_ClearColorIuiEXT 936 -#define _gloffset_GetTexParameterIivEXT 937 -#define _gloffset_GetTexParameterIuivEXT 938 -#define _gloffset_TexParameterIivEXT 939 -#define _gloffset_TexParameterIuivEXT 940 -#define _gloffset_BeginConditionalRenderNV 941 -#define _gloffset_EndConditionalRenderNV 942 -#define _gloffset_BeginTransformFeedbackEXT 943 -#define _gloffset_BindBufferBaseEXT 944 -#define _gloffset_BindBufferOffsetEXT 945 -#define _gloffset_BindBufferRangeEXT 946 -#define _gloffset_EndTransformFeedbackEXT 947 -#define _gloffset_GetTransformFeedbackVaryingEXT 948 -#define _gloffset_TransformFeedbackVaryingsEXT 949 -#define _gloffset_ProvokingVertexEXT 950 -#define _gloffset_GetTexParameterPointervAPPLE 951 -#define _gloffset_TextureRangeAPPLE 952 -#define _gloffset_GetObjectParameterivAPPLE 953 -#define _gloffset_ObjectPurgeableAPPLE 954 -#define _gloffset_ObjectUnpurgeableAPPLE 955 -#define _gloffset_ActiveProgramEXT 956 -#define _gloffset_CreateShaderProgramEXT 957 -#define _gloffset_UseShaderProgramEXT 958 -#define _gloffset_TextureBarrierNV 959 -#define _gloffset_StencilFuncSeparateATI 960 -#define _gloffset_ProgramEnvParameters4fvEXT 961 -#define _gloffset_ProgramLocalParameters4fvEXT 962 -#define _gloffset_GetQueryObjecti64vEXT 963 -#define _gloffset_GetQueryObjectui64vEXT 964 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 965 -#define _gloffset_EGLImageTargetTexture2DOES 966 +#define _gloffset_TexStorage1D 685 +#define _gloffset_TexStorage2D 686 +#define _gloffset_TexStorage3D 687 +#define _gloffset_TextureStorage1DEXT 688 +#define _gloffset_TextureStorage2DEXT 689 +#define _gloffset_TextureStorage3DEXT 690 +#define _gloffset_PolygonOffsetEXT 691 +#define _gloffset_GetPixelTexGenParameterfvSGIS 692 +#define _gloffset_GetPixelTexGenParameterivSGIS 693 +#define _gloffset_PixelTexGenParameterfSGIS 694 +#define _gloffset_PixelTexGenParameterfvSGIS 695 +#define _gloffset_PixelTexGenParameteriSGIS 696 +#define _gloffset_PixelTexGenParameterivSGIS 697 +#define _gloffset_SampleMaskSGIS 698 +#define _gloffset_SamplePatternSGIS 699 +#define _gloffset_ColorPointerEXT 700 +#define _gloffset_EdgeFlagPointerEXT 701 +#define _gloffset_IndexPointerEXT 702 +#define _gloffset_NormalPointerEXT 703 +#define _gloffset_TexCoordPointerEXT 704 +#define _gloffset_VertexPointerEXT 705 +#define _gloffset_PointParameterfEXT 706 +#define _gloffset_PointParameterfvEXT 707 +#define _gloffset_LockArraysEXT 708 +#define _gloffset_UnlockArraysEXT 709 +#define _gloffset_SecondaryColor3bEXT 710 +#define _gloffset_SecondaryColor3bvEXT 711 +#define _gloffset_SecondaryColor3dEXT 712 +#define _gloffset_SecondaryColor3dvEXT 713 +#define _gloffset_SecondaryColor3fEXT 714 +#define _gloffset_SecondaryColor3fvEXT 715 +#define _gloffset_SecondaryColor3iEXT 716 +#define _gloffset_SecondaryColor3ivEXT 717 +#define _gloffset_SecondaryColor3sEXT 718 +#define _gloffset_SecondaryColor3svEXT 719 +#define _gloffset_SecondaryColor3ubEXT 720 +#define _gloffset_SecondaryColor3ubvEXT 721 +#define _gloffset_SecondaryColor3uiEXT 722 +#define _gloffset_SecondaryColor3uivEXT 723 +#define _gloffset_SecondaryColor3usEXT 724 +#define _gloffset_SecondaryColor3usvEXT 725 +#define _gloffset_SecondaryColorPointerEXT 726 +#define _gloffset_MultiDrawArraysEXT 727 +#define _gloffset_MultiDrawElementsEXT 728 +#define _gloffset_FogCoordPointerEXT 729 +#define _gloffset_FogCoorddEXT 730 +#define _gloffset_FogCoorddvEXT 731 +#define _gloffset_FogCoordfEXT 732 +#define _gloffset_FogCoordfvEXT 733 +#define _gloffset_PixelTexGenSGIX 734 +#define _gloffset_BlendFuncSeparateEXT 735 +#define _gloffset_FlushVertexArrayRangeNV 736 +#define _gloffset_VertexArrayRangeNV 737 +#define _gloffset_CombinerInputNV 738 +#define _gloffset_CombinerOutputNV 739 +#define _gloffset_CombinerParameterfNV 740 +#define _gloffset_CombinerParameterfvNV 741 +#define _gloffset_CombinerParameteriNV 742 +#define _gloffset_CombinerParameterivNV 743 +#define _gloffset_FinalCombinerInputNV 744 +#define _gloffset_GetCombinerInputParameterfvNV 745 +#define _gloffset_GetCombinerInputParameterivNV 746 +#define _gloffset_GetCombinerOutputParameterfvNV 747 +#define _gloffset_GetCombinerOutputParameterivNV 748 +#define _gloffset_GetFinalCombinerInputParameterfvNV 749 +#define _gloffset_GetFinalCombinerInputParameterivNV 750 +#define _gloffset_ResizeBuffersMESA 751 +#define _gloffset_WindowPos2dMESA 752 +#define _gloffset_WindowPos2dvMESA 753 +#define _gloffset_WindowPos2fMESA 754 +#define _gloffset_WindowPos2fvMESA 755 +#define _gloffset_WindowPos2iMESA 756 +#define _gloffset_WindowPos2ivMESA 757 +#define _gloffset_WindowPos2sMESA 758 +#define _gloffset_WindowPos2svMESA 759 +#define _gloffset_WindowPos3dMESA 760 +#define _gloffset_WindowPos3dvMESA 761 +#define _gloffset_WindowPos3fMESA 762 +#define _gloffset_WindowPos3fvMESA 763 +#define _gloffset_WindowPos3iMESA 764 +#define _gloffset_WindowPos3ivMESA 765 +#define _gloffset_WindowPos3sMESA 766 +#define _gloffset_WindowPos3svMESA 767 +#define _gloffset_WindowPos4dMESA 768 +#define _gloffset_WindowPos4dvMESA 769 +#define _gloffset_WindowPos4fMESA 770 +#define _gloffset_WindowPos4fvMESA 771 +#define _gloffset_WindowPos4iMESA 772 +#define _gloffset_WindowPos4ivMESA 773 +#define _gloffset_WindowPos4sMESA 774 +#define _gloffset_WindowPos4svMESA 775 +#define _gloffset_MultiModeDrawArraysIBM 776 +#define _gloffset_MultiModeDrawElementsIBM 777 +#define _gloffset_DeleteFencesNV 778 +#define _gloffset_FinishFenceNV 779 +#define _gloffset_GenFencesNV 780 +#define _gloffset_GetFenceivNV 781 +#define _gloffset_IsFenceNV 782 +#define _gloffset_SetFenceNV 783 +#define _gloffset_TestFenceNV 784 +#define _gloffset_AreProgramsResidentNV 785 +#define _gloffset_BindProgramNV 786 +#define _gloffset_DeleteProgramsNV 787 +#define _gloffset_ExecuteProgramNV 788 +#define _gloffset_GenProgramsNV 789 +#define _gloffset_GetProgramParameterdvNV 790 +#define _gloffset_GetProgramParameterfvNV 791 +#define _gloffset_GetProgramStringNV 792 +#define _gloffset_GetProgramivNV 793 +#define _gloffset_GetTrackMatrixivNV 794 +#define _gloffset_GetVertexAttribPointervNV 795 +#define _gloffset_GetVertexAttribdvNV 796 +#define _gloffset_GetVertexAttribfvNV 797 +#define _gloffset_GetVertexAttribivNV 798 +#define _gloffset_IsProgramNV 799 +#define _gloffset_LoadProgramNV 800 +#define _gloffset_ProgramParameters4dvNV 801 +#define _gloffset_ProgramParameters4fvNV 802 +#define _gloffset_RequestResidentProgramsNV 803 +#define _gloffset_TrackMatrixNV 804 +#define _gloffset_VertexAttrib1dNV 805 +#define _gloffset_VertexAttrib1dvNV 806 +#define _gloffset_VertexAttrib1fNV 807 +#define _gloffset_VertexAttrib1fvNV 808 +#define _gloffset_VertexAttrib1sNV 809 +#define _gloffset_VertexAttrib1svNV 810 +#define _gloffset_VertexAttrib2dNV 811 +#define _gloffset_VertexAttrib2dvNV 812 +#define _gloffset_VertexAttrib2fNV 813 +#define _gloffset_VertexAttrib2fvNV 814 +#define _gloffset_VertexAttrib2sNV 815 +#define _gloffset_VertexAttrib2svNV 816 +#define _gloffset_VertexAttrib3dNV 817 +#define _gloffset_VertexAttrib3dvNV 818 +#define _gloffset_VertexAttrib3fNV 819 +#define _gloffset_VertexAttrib3fvNV 820 +#define _gloffset_VertexAttrib3sNV 821 +#define _gloffset_VertexAttrib3svNV 822 +#define _gloffset_VertexAttrib4dNV 823 +#define _gloffset_VertexAttrib4dvNV 824 +#define _gloffset_VertexAttrib4fNV 825 +#define _gloffset_VertexAttrib4fvNV 826 +#define _gloffset_VertexAttrib4sNV 827 +#define _gloffset_VertexAttrib4svNV 828 +#define _gloffset_VertexAttrib4ubNV 829 +#define _gloffset_VertexAttrib4ubvNV 830 +#define _gloffset_VertexAttribPointerNV 831 +#define _gloffset_VertexAttribs1dvNV 832 +#define _gloffset_VertexAttribs1fvNV 833 +#define _gloffset_VertexAttribs1svNV 834 +#define _gloffset_VertexAttribs2dvNV 835 +#define _gloffset_VertexAttribs2fvNV 836 +#define _gloffset_VertexAttribs2svNV 837 +#define _gloffset_VertexAttribs3dvNV 838 +#define _gloffset_VertexAttribs3fvNV 839 +#define _gloffset_VertexAttribs3svNV 840 +#define _gloffset_VertexAttribs4dvNV 841 +#define _gloffset_VertexAttribs4fvNV 842 +#define _gloffset_VertexAttribs4svNV 843 +#define _gloffset_VertexAttribs4ubvNV 844 +#define _gloffset_GetTexBumpParameterfvATI 845 +#define _gloffset_GetTexBumpParameterivATI 846 +#define _gloffset_TexBumpParameterfvATI 847 +#define _gloffset_TexBumpParameterivATI 848 +#define _gloffset_AlphaFragmentOp1ATI 849 +#define _gloffset_AlphaFragmentOp2ATI 850 +#define _gloffset_AlphaFragmentOp3ATI 851 +#define _gloffset_BeginFragmentShaderATI 852 +#define _gloffset_BindFragmentShaderATI 853 +#define _gloffset_ColorFragmentOp1ATI 854 +#define _gloffset_ColorFragmentOp2ATI 855 +#define _gloffset_ColorFragmentOp3ATI 856 +#define _gloffset_DeleteFragmentShaderATI 857 +#define _gloffset_EndFragmentShaderATI 858 +#define _gloffset_GenFragmentShadersATI 859 +#define _gloffset_PassTexCoordATI 860 +#define _gloffset_SampleMapATI 861 +#define _gloffset_SetFragmentShaderConstantATI 862 +#define _gloffset_PointParameteriNV 863 +#define _gloffset_PointParameterivNV 864 +#define _gloffset_ActiveStencilFaceEXT 865 +#define _gloffset_BindVertexArrayAPPLE 866 +#define _gloffset_DeleteVertexArraysAPPLE 867 +#define _gloffset_GenVertexArraysAPPLE 868 +#define _gloffset_IsVertexArrayAPPLE 869 +#define _gloffset_GetProgramNamedParameterdvNV 870 +#define _gloffset_GetProgramNamedParameterfvNV 871 +#define _gloffset_ProgramNamedParameter4dNV 872 +#define _gloffset_ProgramNamedParameter4dvNV 873 +#define _gloffset_ProgramNamedParameter4fNV 874 +#define _gloffset_ProgramNamedParameter4fvNV 875 +#define _gloffset_PrimitiveRestartIndexNV 876 +#define _gloffset_PrimitiveRestartNV 877 +#define _gloffset_DepthBoundsEXT 878 +#define _gloffset_BlendEquationSeparateEXT 879 +#define _gloffset_BindFramebufferEXT 880 +#define _gloffset_BindRenderbufferEXT 881 +#define _gloffset_CheckFramebufferStatusEXT 882 +#define _gloffset_DeleteFramebuffersEXT 883 +#define _gloffset_DeleteRenderbuffersEXT 884 +#define _gloffset_FramebufferRenderbufferEXT 885 +#define _gloffset_FramebufferTexture1DEXT 886 +#define _gloffset_FramebufferTexture2DEXT 887 +#define _gloffset_FramebufferTexture3DEXT 888 +#define _gloffset_GenFramebuffersEXT 889 +#define _gloffset_GenRenderbuffersEXT 890 +#define _gloffset_GenerateMipmapEXT 891 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 892 +#define _gloffset_GetRenderbufferParameterivEXT 893 +#define _gloffset_IsFramebufferEXT 894 +#define _gloffset_IsRenderbufferEXT 895 +#define _gloffset_RenderbufferStorageEXT 896 +#define _gloffset_BlitFramebufferEXT 897 +#define _gloffset_BufferParameteriAPPLE 898 +#define _gloffset_FlushMappedBufferRangeAPPLE 899 +#define _gloffset_BindFragDataLocationEXT 900 +#define _gloffset_GetFragDataLocationEXT 901 +#define _gloffset_GetUniformuivEXT 902 +#define _gloffset_GetVertexAttribIivEXT 903 +#define _gloffset_GetVertexAttribIuivEXT 904 +#define _gloffset_Uniform1uiEXT 905 +#define _gloffset_Uniform1uivEXT 906 +#define _gloffset_Uniform2uiEXT 907 +#define _gloffset_Uniform2uivEXT 908 +#define _gloffset_Uniform3uiEXT 909 +#define _gloffset_Uniform3uivEXT 910 +#define _gloffset_Uniform4uiEXT 911 +#define _gloffset_Uniform4uivEXT 912 +#define _gloffset_VertexAttribI1iEXT 913 +#define _gloffset_VertexAttribI1ivEXT 914 +#define _gloffset_VertexAttribI1uiEXT 915 +#define _gloffset_VertexAttribI1uivEXT 916 +#define _gloffset_VertexAttribI2iEXT 917 +#define _gloffset_VertexAttribI2ivEXT 918 +#define _gloffset_VertexAttribI2uiEXT 919 +#define _gloffset_VertexAttribI2uivEXT 920 +#define _gloffset_VertexAttribI3iEXT 921 +#define _gloffset_VertexAttribI3ivEXT 922 +#define _gloffset_VertexAttribI3uiEXT 923 +#define _gloffset_VertexAttribI3uivEXT 924 +#define _gloffset_VertexAttribI4bvEXT 925 +#define _gloffset_VertexAttribI4iEXT 926 +#define _gloffset_VertexAttribI4ivEXT 927 +#define _gloffset_VertexAttribI4svEXT 928 +#define _gloffset_VertexAttribI4ubvEXT 929 +#define _gloffset_VertexAttribI4uiEXT 930 +#define _gloffset_VertexAttribI4uivEXT 931 +#define _gloffset_VertexAttribI4usvEXT 932 +#define _gloffset_VertexAttribIPointerEXT 933 +#define _gloffset_FramebufferTextureLayerEXT 934 +#define _gloffset_ColorMaskIndexedEXT 935 +#define _gloffset_DisableIndexedEXT 936 +#define _gloffset_EnableIndexedEXT 937 +#define _gloffset_GetBooleanIndexedvEXT 938 +#define _gloffset_GetIntegerIndexedvEXT 939 +#define _gloffset_IsEnabledIndexedEXT 940 +#define _gloffset_ClearColorIiEXT 941 +#define _gloffset_ClearColorIuiEXT 942 +#define _gloffset_GetTexParameterIivEXT 943 +#define _gloffset_GetTexParameterIuivEXT 944 +#define _gloffset_TexParameterIivEXT 945 +#define _gloffset_TexParameterIuivEXT 946 +#define _gloffset_BeginConditionalRenderNV 947 +#define _gloffset_EndConditionalRenderNV 948 +#define _gloffset_BeginTransformFeedbackEXT 949 +#define _gloffset_BindBufferBaseEXT 950 +#define _gloffset_BindBufferOffsetEXT 951 +#define _gloffset_BindBufferRangeEXT 952 +#define _gloffset_EndTransformFeedbackEXT 953 +#define _gloffset_GetTransformFeedbackVaryingEXT 954 +#define _gloffset_TransformFeedbackVaryingsEXT 955 +#define _gloffset_ProvokingVertexEXT 956 +#define _gloffset_GetTexParameterPointervAPPLE 957 +#define _gloffset_TextureRangeAPPLE 958 +#define _gloffset_GetObjectParameterivAPPLE 959 +#define _gloffset_ObjectPurgeableAPPLE 960 +#define _gloffset_ObjectUnpurgeableAPPLE 961 +#define _gloffset_ActiveProgramEXT 962 +#define _gloffset_CreateShaderProgramEXT 963 +#define _gloffset_UseShaderProgramEXT 964 +#define _gloffset_TextureBarrierNV 965 +#define _gloffset_StencilFuncSeparateATI 966 +#define _gloffset_ProgramEnvParameters4fvEXT 967 +#define _gloffset_ProgramLocalParameters4fvEXT 968 +#define _gloffset_GetQueryObjecti64vEXT 969 +#define _gloffset_GetQueryObjectui64vEXT 970 +#define _gloffset_EGLImageTargetRenderbufferStorageOES 971 +#define _gloffset_EGLImageTargetTexture2DOES 972 #else /* !FEATURE_remap_table */ -#define driDispatchRemapTable_size 559 +#define driDispatchRemapTable_size 565 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -1314,288 +1320,294 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define GetnUniformivARB_remap_index 274 #define GetnUniformuivARB_remap_index 275 #define ReadnPixelsARB_remap_index 276 -#define PolygonOffsetEXT_remap_index 277 -#define GetPixelTexGenParameterfvSGIS_remap_index 278 -#define GetPixelTexGenParameterivSGIS_remap_index 279 -#define PixelTexGenParameterfSGIS_remap_index 280 -#define PixelTexGenParameterfvSGIS_remap_index 281 -#define PixelTexGenParameteriSGIS_remap_index 282 -#define PixelTexGenParameterivSGIS_remap_index 283 -#define SampleMaskSGIS_remap_index 284 -#define SamplePatternSGIS_remap_index 285 -#define ColorPointerEXT_remap_index 286 -#define EdgeFlagPointerEXT_remap_index 287 -#define IndexPointerEXT_remap_index 288 -#define NormalPointerEXT_remap_index 289 -#define TexCoordPointerEXT_remap_index 290 -#define VertexPointerEXT_remap_index 291 -#define PointParameterfEXT_remap_index 292 -#define PointParameterfvEXT_remap_index 293 -#define LockArraysEXT_remap_index 294 -#define UnlockArraysEXT_remap_index 295 -#define SecondaryColor3bEXT_remap_index 296 -#define SecondaryColor3bvEXT_remap_index 297 -#define SecondaryColor3dEXT_remap_index 298 -#define SecondaryColor3dvEXT_remap_index 299 -#define SecondaryColor3fEXT_remap_index 300 -#define SecondaryColor3fvEXT_remap_index 301 -#define SecondaryColor3iEXT_remap_index 302 -#define SecondaryColor3ivEXT_remap_index 303 -#define SecondaryColor3sEXT_remap_index 304 -#define SecondaryColor3svEXT_remap_index 305 -#define SecondaryColor3ubEXT_remap_index 306 -#define SecondaryColor3ubvEXT_remap_index 307 -#define SecondaryColor3uiEXT_remap_index 308 -#define SecondaryColor3uivEXT_remap_index 309 -#define SecondaryColor3usEXT_remap_index 310 -#define SecondaryColor3usvEXT_remap_index 311 -#define SecondaryColorPointerEXT_remap_index 312 -#define MultiDrawArraysEXT_remap_index 313 -#define MultiDrawElementsEXT_remap_index 314 -#define FogCoordPointerEXT_remap_index 315 -#define FogCoorddEXT_remap_index 316 -#define FogCoorddvEXT_remap_index 317 -#define FogCoordfEXT_remap_index 318 -#define FogCoordfvEXT_remap_index 319 -#define PixelTexGenSGIX_remap_index 320 -#define BlendFuncSeparateEXT_remap_index 321 -#define FlushVertexArrayRangeNV_remap_index 322 -#define VertexArrayRangeNV_remap_index 323 -#define CombinerInputNV_remap_index 324 -#define CombinerOutputNV_remap_index 325 -#define CombinerParameterfNV_remap_index 326 -#define CombinerParameterfvNV_remap_index 327 -#define CombinerParameteriNV_remap_index 328 -#define CombinerParameterivNV_remap_index 329 -#define FinalCombinerInputNV_remap_index 330 -#define GetCombinerInputParameterfvNV_remap_index 331 -#define GetCombinerInputParameterivNV_remap_index 332 -#define GetCombinerOutputParameterfvNV_remap_index 333 -#define GetCombinerOutputParameterivNV_remap_index 334 -#define GetFinalCombinerInputParameterfvNV_remap_index 335 -#define GetFinalCombinerInputParameterivNV_remap_index 336 -#define ResizeBuffersMESA_remap_index 337 -#define WindowPos2dMESA_remap_index 338 -#define WindowPos2dvMESA_remap_index 339 -#define WindowPos2fMESA_remap_index 340 -#define WindowPos2fvMESA_remap_index 341 -#define WindowPos2iMESA_remap_index 342 -#define WindowPos2ivMESA_remap_index 343 -#define WindowPos2sMESA_remap_index 344 -#define WindowPos2svMESA_remap_index 345 -#define WindowPos3dMESA_remap_index 346 -#define WindowPos3dvMESA_remap_index 347 -#define WindowPos3fMESA_remap_index 348 -#define WindowPos3fvMESA_remap_index 349 -#define WindowPos3iMESA_remap_index 350 -#define WindowPos3ivMESA_remap_index 351 -#define WindowPos3sMESA_remap_index 352 -#define WindowPos3svMESA_remap_index 353 -#define WindowPos4dMESA_remap_index 354 -#define WindowPos4dvMESA_remap_index 355 -#define WindowPos4fMESA_remap_index 356 -#define WindowPos4fvMESA_remap_index 357 -#define WindowPos4iMESA_remap_index 358 -#define WindowPos4ivMESA_remap_index 359 -#define WindowPos4sMESA_remap_index 360 -#define WindowPos4svMESA_remap_index 361 -#define MultiModeDrawArraysIBM_remap_index 362 -#define MultiModeDrawElementsIBM_remap_index 363 -#define DeleteFencesNV_remap_index 364 -#define FinishFenceNV_remap_index 365 -#define GenFencesNV_remap_index 366 -#define GetFenceivNV_remap_index 367 -#define IsFenceNV_remap_index 368 -#define SetFenceNV_remap_index 369 -#define TestFenceNV_remap_index 370 -#define AreProgramsResidentNV_remap_index 371 -#define BindProgramNV_remap_index 372 -#define DeleteProgramsNV_remap_index 373 -#define ExecuteProgramNV_remap_index 374 -#define GenProgramsNV_remap_index 375 -#define GetProgramParameterdvNV_remap_index 376 -#define GetProgramParameterfvNV_remap_index 377 -#define GetProgramStringNV_remap_index 378 -#define GetProgramivNV_remap_index 379 -#define GetTrackMatrixivNV_remap_index 380 -#define GetVertexAttribPointervNV_remap_index 381 -#define GetVertexAttribdvNV_remap_index 382 -#define GetVertexAttribfvNV_remap_index 383 -#define GetVertexAttribivNV_remap_index 384 -#define IsProgramNV_remap_index 385 -#define LoadProgramNV_remap_index 386 -#define ProgramParameters4dvNV_remap_index 387 -#define ProgramParameters4fvNV_remap_index 388 -#define RequestResidentProgramsNV_remap_index 389 -#define TrackMatrixNV_remap_index 390 -#define VertexAttrib1dNV_remap_index 391 -#define VertexAttrib1dvNV_remap_index 392 -#define VertexAttrib1fNV_remap_index 393 -#define VertexAttrib1fvNV_remap_index 394 -#define VertexAttrib1sNV_remap_index 395 -#define VertexAttrib1svNV_remap_index 396 -#define VertexAttrib2dNV_remap_index 397 -#define VertexAttrib2dvNV_remap_index 398 -#define VertexAttrib2fNV_remap_index 399 -#define VertexAttrib2fvNV_remap_index 400 -#define VertexAttrib2sNV_remap_index 401 -#define VertexAttrib2svNV_remap_index 402 -#define VertexAttrib3dNV_remap_index 403 -#define VertexAttrib3dvNV_remap_index 404 -#define VertexAttrib3fNV_remap_index 405 -#define VertexAttrib3fvNV_remap_index 406 -#define VertexAttrib3sNV_remap_index 407 -#define VertexAttrib3svNV_remap_index 408 -#define VertexAttrib4dNV_remap_index 409 -#define VertexAttrib4dvNV_remap_index 410 -#define VertexAttrib4fNV_remap_index 411 -#define VertexAttrib4fvNV_remap_index 412 -#define VertexAttrib4sNV_remap_index 413 -#define VertexAttrib4svNV_remap_index 414 -#define VertexAttrib4ubNV_remap_index 415 -#define VertexAttrib4ubvNV_remap_index 416 -#define VertexAttribPointerNV_remap_index 417 -#define VertexAttribs1dvNV_remap_index 418 -#define VertexAttribs1fvNV_remap_index 419 -#define VertexAttribs1svNV_remap_index 420 -#define VertexAttribs2dvNV_remap_index 421 -#define VertexAttribs2fvNV_remap_index 422 -#define VertexAttribs2svNV_remap_index 423 -#define VertexAttribs3dvNV_remap_index 424 -#define VertexAttribs3fvNV_remap_index 425 -#define VertexAttribs3svNV_remap_index 426 -#define VertexAttribs4dvNV_remap_index 427 -#define VertexAttribs4fvNV_remap_index 428 -#define VertexAttribs4svNV_remap_index 429 -#define VertexAttribs4ubvNV_remap_index 430 -#define GetTexBumpParameterfvATI_remap_index 431 -#define GetTexBumpParameterivATI_remap_index 432 -#define TexBumpParameterfvATI_remap_index 433 -#define TexBumpParameterivATI_remap_index 434 -#define AlphaFragmentOp1ATI_remap_index 435 -#define AlphaFragmentOp2ATI_remap_index 436 -#define AlphaFragmentOp3ATI_remap_index 437 -#define BeginFragmentShaderATI_remap_index 438 -#define BindFragmentShaderATI_remap_index 439 -#define ColorFragmentOp1ATI_remap_index 440 -#define ColorFragmentOp2ATI_remap_index 441 -#define ColorFragmentOp3ATI_remap_index 442 -#define DeleteFragmentShaderATI_remap_index 443 -#define EndFragmentShaderATI_remap_index 444 -#define GenFragmentShadersATI_remap_index 445 -#define PassTexCoordATI_remap_index 446 -#define SampleMapATI_remap_index 447 -#define SetFragmentShaderConstantATI_remap_index 448 -#define PointParameteriNV_remap_index 449 -#define PointParameterivNV_remap_index 450 -#define ActiveStencilFaceEXT_remap_index 451 -#define BindVertexArrayAPPLE_remap_index 452 -#define DeleteVertexArraysAPPLE_remap_index 453 -#define GenVertexArraysAPPLE_remap_index 454 -#define IsVertexArrayAPPLE_remap_index 455 -#define GetProgramNamedParameterdvNV_remap_index 456 -#define GetProgramNamedParameterfvNV_remap_index 457 -#define ProgramNamedParameter4dNV_remap_index 458 -#define ProgramNamedParameter4dvNV_remap_index 459 -#define ProgramNamedParameter4fNV_remap_index 460 -#define ProgramNamedParameter4fvNV_remap_index 461 -#define PrimitiveRestartIndexNV_remap_index 462 -#define PrimitiveRestartNV_remap_index 463 -#define DepthBoundsEXT_remap_index 464 -#define BlendEquationSeparateEXT_remap_index 465 -#define BindFramebufferEXT_remap_index 466 -#define BindRenderbufferEXT_remap_index 467 -#define CheckFramebufferStatusEXT_remap_index 468 -#define DeleteFramebuffersEXT_remap_index 469 -#define DeleteRenderbuffersEXT_remap_index 470 -#define FramebufferRenderbufferEXT_remap_index 471 -#define FramebufferTexture1DEXT_remap_index 472 -#define FramebufferTexture2DEXT_remap_index 473 -#define FramebufferTexture3DEXT_remap_index 474 -#define GenFramebuffersEXT_remap_index 475 -#define GenRenderbuffersEXT_remap_index 476 -#define GenerateMipmapEXT_remap_index 477 -#define GetFramebufferAttachmentParameterivEXT_remap_index 478 -#define GetRenderbufferParameterivEXT_remap_index 479 -#define IsFramebufferEXT_remap_index 480 -#define IsRenderbufferEXT_remap_index 481 -#define RenderbufferStorageEXT_remap_index 482 -#define BlitFramebufferEXT_remap_index 483 -#define BufferParameteriAPPLE_remap_index 484 -#define FlushMappedBufferRangeAPPLE_remap_index 485 -#define BindFragDataLocationEXT_remap_index 486 -#define GetFragDataLocationEXT_remap_index 487 -#define GetUniformuivEXT_remap_index 488 -#define GetVertexAttribIivEXT_remap_index 489 -#define GetVertexAttribIuivEXT_remap_index 490 -#define Uniform1uiEXT_remap_index 491 -#define Uniform1uivEXT_remap_index 492 -#define Uniform2uiEXT_remap_index 493 -#define Uniform2uivEXT_remap_index 494 -#define Uniform3uiEXT_remap_index 495 -#define Uniform3uivEXT_remap_index 496 -#define Uniform4uiEXT_remap_index 497 -#define Uniform4uivEXT_remap_index 498 -#define VertexAttribI1iEXT_remap_index 499 -#define VertexAttribI1ivEXT_remap_index 500 -#define VertexAttribI1uiEXT_remap_index 501 -#define VertexAttribI1uivEXT_remap_index 502 -#define VertexAttribI2iEXT_remap_index 503 -#define VertexAttribI2ivEXT_remap_index 504 -#define VertexAttribI2uiEXT_remap_index 505 -#define VertexAttribI2uivEXT_remap_index 506 -#define VertexAttribI3iEXT_remap_index 507 -#define VertexAttribI3ivEXT_remap_index 508 -#define VertexAttribI3uiEXT_remap_index 509 -#define VertexAttribI3uivEXT_remap_index 510 -#define VertexAttribI4bvEXT_remap_index 511 -#define VertexAttribI4iEXT_remap_index 512 -#define VertexAttribI4ivEXT_remap_index 513 -#define VertexAttribI4svEXT_remap_index 514 -#define VertexAttribI4ubvEXT_remap_index 515 -#define VertexAttribI4uiEXT_remap_index 516 -#define VertexAttribI4uivEXT_remap_index 517 -#define VertexAttribI4usvEXT_remap_index 518 -#define VertexAttribIPointerEXT_remap_index 519 -#define FramebufferTextureLayerEXT_remap_index 520 -#define ColorMaskIndexedEXT_remap_index 521 -#define DisableIndexedEXT_remap_index 522 -#define EnableIndexedEXT_remap_index 523 -#define GetBooleanIndexedvEXT_remap_index 524 -#define GetIntegerIndexedvEXT_remap_index 525 -#define IsEnabledIndexedEXT_remap_index 526 -#define ClearColorIiEXT_remap_index 527 -#define ClearColorIuiEXT_remap_index 528 -#define GetTexParameterIivEXT_remap_index 529 -#define GetTexParameterIuivEXT_remap_index 530 -#define TexParameterIivEXT_remap_index 531 -#define TexParameterIuivEXT_remap_index 532 -#define BeginConditionalRenderNV_remap_index 533 -#define EndConditionalRenderNV_remap_index 534 -#define BeginTransformFeedbackEXT_remap_index 535 -#define BindBufferBaseEXT_remap_index 536 -#define BindBufferOffsetEXT_remap_index 537 -#define BindBufferRangeEXT_remap_index 538 -#define EndTransformFeedbackEXT_remap_index 539 -#define GetTransformFeedbackVaryingEXT_remap_index 540 -#define TransformFeedbackVaryingsEXT_remap_index 541 -#define ProvokingVertexEXT_remap_index 542 -#define GetTexParameterPointervAPPLE_remap_index 543 -#define TextureRangeAPPLE_remap_index 544 -#define GetObjectParameterivAPPLE_remap_index 545 -#define ObjectPurgeableAPPLE_remap_index 546 -#define ObjectUnpurgeableAPPLE_remap_index 547 -#define ActiveProgramEXT_remap_index 548 -#define CreateShaderProgramEXT_remap_index 549 -#define UseShaderProgramEXT_remap_index 550 -#define TextureBarrierNV_remap_index 551 -#define StencilFuncSeparateATI_remap_index 552 -#define ProgramEnvParameters4fvEXT_remap_index 553 -#define ProgramLocalParameters4fvEXT_remap_index 554 -#define GetQueryObjecti64vEXT_remap_index 555 -#define GetQueryObjectui64vEXT_remap_index 556 -#define EGLImageTargetRenderbufferStorageOES_remap_index 557 -#define EGLImageTargetTexture2DOES_remap_index 558 +#define TexStorage1D_remap_index 277 +#define TexStorage2D_remap_index 278 +#define TexStorage3D_remap_index 279 +#define TextureStorage1DEXT_remap_index 280 +#define TextureStorage2DEXT_remap_index 281 +#define TextureStorage3DEXT_remap_index 282 +#define PolygonOffsetEXT_remap_index 283 +#define GetPixelTexGenParameterfvSGIS_remap_index 284 +#define GetPixelTexGenParameterivSGIS_remap_index 285 +#define PixelTexGenParameterfSGIS_remap_index 286 +#define PixelTexGenParameterfvSGIS_remap_index 287 +#define PixelTexGenParameteriSGIS_remap_index 288 +#define PixelTexGenParameterivSGIS_remap_index 289 +#define SampleMaskSGIS_remap_index 290 +#define SamplePatternSGIS_remap_index 291 +#define ColorPointerEXT_remap_index 292 +#define EdgeFlagPointerEXT_remap_index 293 +#define IndexPointerEXT_remap_index 294 +#define NormalPointerEXT_remap_index 295 +#define TexCoordPointerEXT_remap_index 296 +#define VertexPointerEXT_remap_index 297 +#define PointParameterfEXT_remap_index 298 +#define PointParameterfvEXT_remap_index 299 +#define LockArraysEXT_remap_index 300 +#define UnlockArraysEXT_remap_index 301 +#define SecondaryColor3bEXT_remap_index 302 +#define SecondaryColor3bvEXT_remap_index 303 +#define SecondaryColor3dEXT_remap_index 304 +#define SecondaryColor3dvEXT_remap_index 305 +#define SecondaryColor3fEXT_remap_index 306 +#define SecondaryColor3fvEXT_remap_index 307 +#define SecondaryColor3iEXT_remap_index 308 +#define SecondaryColor3ivEXT_remap_index 309 +#define SecondaryColor3sEXT_remap_index 310 +#define SecondaryColor3svEXT_remap_index 311 +#define SecondaryColor3ubEXT_remap_index 312 +#define SecondaryColor3ubvEXT_remap_index 313 +#define SecondaryColor3uiEXT_remap_index 314 +#define SecondaryColor3uivEXT_remap_index 315 +#define SecondaryColor3usEXT_remap_index 316 +#define SecondaryColor3usvEXT_remap_index 317 +#define SecondaryColorPointerEXT_remap_index 318 +#define MultiDrawArraysEXT_remap_index 319 +#define MultiDrawElementsEXT_remap_index 320 +#define FogCoordPointerEXT_remap_index 321 +#define FogCoorddEXT_remap_index 322 +#define FogCoorddvEXT_remap_index 323 +#define FogCoordfEXT_remap_index 324 +#define FogCoordfvEXT_remap_index 325 +#define PixelTexGenSGIX_remap_index 326 +#define BlendFuncSeparateEXT_remap_index 327 +#define FlushVertexArrayRangeNV_remap_index 328 +#define VertexArrayRangeNV_remap_index 329 +#define CombinerInputNV_remap_index 330 +#define CombinerOutputNV_remap_index 331 +#define CombinerParameterfNV_remap_index 332 +#define CombinerParameterfvNV_remap_index 333 +#define CombinerParameteriNV_remap_index 334 +#define CombinerParameterivNV_remap_index 335 +#define FinalCombinerInputNV_remap_index 336 +#define GetCombinerInputParameterfvNV_remap_index 337 +#define GetCombinerInputParameterivNV_remap_index 338 +#define GetCombinerOutputParameterfvNV_remap_index 339 +#define GetCombinerOutputParameterivNV_remap_index 340 +#define GetFinalCombinerInputParameterfvNV_remap_index 341 +#define GetFinalCombinerInputParameterivNV_remap_index 342 +#define ResizeBuffersMESA_remap_index 343 +#define WindowPos2dMESA_remap_index 344 +#define WindowPos2dvMESA_remap_index 345 +#define WindowPos2fMESA_remap_index 346 +#define WindowPos2fvMESA_remap_index 347 +#define WindowPos2iMESA_remap_index 348 +#define WindowPos2ivMESA_remap_index 349 +#define WindowPos2sMESA_remap_index 350 +#define WindowPos2svMESA_remap_index 351 +#define WindowPos3dMESA_remap_index 352 +#define WindowPos3dvMESA_remap_index 353 +#define WindowPos3fMESA_remap_index 354 +#define WindowPos3fvMESA_remap_index 355 +#define WindowPos3iMESA_remap_index 356 +#define WindowPos3ivMESA_remap_index 357 +#define WindowPos3sMESA_remap_index 358 +#define WindowPos3svMESA_remap_index 359 +#define WindowPos4dMESA_remap_index 360 +#define WindowPos4dvMESA_remap_index 361 +#define WindowPos4fMESA_remap_index 362 +#define WindowPos4fvMESA_remap_index 363 +#define WindowPos4iMESA_remap_index 364 +#define WindowPos4ivMESA_remap_index 365 +#define WindowPos4sMESA_remap_index 366 +#define WindowPos4svMESA_remap_index 367 +#define MultiModeDrawArraysIBM_remap_index 368 +#define MultiModeDrawElementsIBM_remap_index 369 +#define DeleteFencesNV_remap_index 370 +#define FinishFenceNV_remap_index 371 +#define GenFencesNV_remap_index 372 +#define GetFenceivNV_remap_index 373 +#define IsFenceNV_remap_index 374 +#define SetFenceNV_remap_index 375 +#define TestFenceNV_remap_index 376 +#define AreProgramsResidentNV_remap_index 377 +#define BindProgramNV_remap_index 378 +#define DeleteProgramsNV_remap_index 379 +#define ExecuteProgramNV_remap_index 380 +#define GenProgramsNV_remap_index 381 +#define GetProgramParameterdvNV_remap_index 382 +#define GetProgramParameterfvNV_remap_index 383 +#define GetProgramStringNV_remap_index 384 +#define GetProgramivNV_remap_index 385 +#define GetTrackMatrixivNV_remap_index 386 +#define GetVertexAttribPointervNV_remap_index 387 +#define GetVertexAttribdvNV_remap_index 388 +#define GetVertexAttribfvNV_remap_index 389 +#define GetVertexAttribivNV_remap_index 390 +#define IsProgramNV_remap_index 391 +#define LoadProgramNV_remap_index 392 +#define ProgramParameters4dvNV_remap_index 393 +#define ProgramParameters4fvNV_remap_index 394 +#define RequestResidentProgramsNV_remap_index 395 +#define TrackMatrixNV_remap_index 396 +#define VertexAttrib1dNV_remap_index 397 +#define VertexAttrib1dvNV_remap_index 398 +#define VertexAttrib1fNV_remap_index 399 +#define VertexAttrib1fvNV_remap_index 400 +#define VertexAttrib1sNV_remap_index 401 +#define VertexAttrib1svNV_remap_index 402 +#define VertexAttrib2dNV_remap_index 403 +#define VertexAttrib2dvNV_remap_index 404 +#define VertexAttrib2fNV_remap_index 405 +#define VertexAttrib2fvNV_remap_index 406 +#define VertexAttrib2sNV_remap_index 407 +#define VertexAttrib2svNV_remap_index 408 +#define VertexAttrib3dNV_remap_index 409 +#define VertexAttrib3dvNV_remap_index 410 +#define VertexAttrib3fNV_remap_index 411 +#define VertexAttrib3fvNV_remap_index 412 +#define VertexAttrib3sNV_remap_index 413 +#define VertexAttrib3svNV_remap_index 414 +#define VertexAttrib4dNV_remap_index 415 +#define VertexAttrib4dvNV_remap_index 416 +#define VertexAttrib4fNV_remap_index 417 +#define VertexAttrib4fvNV_remap_index 418 +#define VertexAttrib4sNV_remap_index 419 +#define VertexAttrib4svNV_remap_index 420 +#define VertexAttrib4ubNV_remap_index 421 +#define VertexAttrib4ubvNV_remap_index 422 +#define VertexAttribPointerNV_remap_index 423 +#define VertexAttribs1dvNV_remap_index 424 +#define VertexAttribs1fvNV_remap_index 425 +#define VertexAttribs1svNV_remap_index 426 +#define VertexAttribs2dvNV_remap_index 427 +#define VertexAttribs2fvNV_remap_index 428 +#define VertexAttribs2svNV_remap_index 429 +#define VertexAttribs3dvNV_remap_index 430 +#define VertexAttribs3fvNV_remap_index 431 +#define VertexAttribs3svNV_remap_index 432 +#define VertexAttribs4dvNV_remap_index 433 +#define VertexAttribs4fvNV_remap_index 434 +#define VertexAttribs4svNV_remap_index 435 +#define VertexAttribs4ubvNV_remap_index 436 +#define GetTexBumpParameterfvATI_remap_index 437 +#define GetTexBumpParameterivATI_remap_index 438 +#define TexBumpParameterfvATI_remap_index 439 +#define TexBumpParameterivATI_remap_index 440 +#define AlphaFragmentOp1ATI_remap_index 441 +#define AlphaFragmentOp2ATI_remap_index 442 +#define AlphaFragmentOp3ATI_remap_index 443 +#define BeginFragmentShaderATI_remap_index 444 +#define BindFragmentShaderATI_remap_index 445 +#define ColorFragmentOp1ATI_remap_index 446 +#define ColorFragmentOp2ATI_remap_index 447 +#define ColorFragmentOp3ATI_remap_index 448 +#define DeleteFragmentShaderATI_remap_index 449 +#define EndFragmentShaderATI_remap_index 450 +#define GenFragmentShadersATI_remap_index 451 +#define PassTexCoordATI_remap_index 452 +#define SampleMapATI_remap_index 453 +#define SetFragmentShaderConstantATI_remap_index 454 +#define PointParameteriNV_remap_index 455 +#define PointParameterivNV_remap_index 456 +#define ActiveStencilFaceEXT_remap_index 457 +#define BindVertexArrayAPPLE_remap_index 458 +#define DeleteVertexArraysAPPLE_remap_index 459 +#define GenVertexArraysAPPLE_remap_index 460 +#define IsVertexArrayAPPLE_remap_index 461 +#define GetProgramNamedParameterdvNV_remap_index 462 +#define GetProgramNamedParameterfvNV_remap_index 463 +#define ProgramNamedParameter4dNV_remap_index 464 +#define ProgramNamedParameter4dvNV_remap_index 465 +#define ProgramNamedParameter4fNV_remap_index 466 +#define ProgramNamedParameter4fvNV_remap_index 467 +#define PrimitiveRestartIndexNV_remap_index 468 +#define PrimitiveRestartNV_remap_index 469 +#define DepthBoundsEXT_remap_index 470 +#define BlendEquationSeparateEXT_remap_index 471 +#define BindFramebufferEXT_remap_index 472 +#define BindRenderbufferEXT_remap_index 473 +#define CheckFramebufferStatusEXT_remap_index 474 +#define DeleteFramebuffersEXT_remap_index 475 +#define DeleteRenderbuffersEXT_remap_index 476 +#define FramebufferRenderbufferEXT_remap_index 477 +#define FramebufferTexture1DEXT_remap_index 478 +#define FramebufferTexture2DEXT_remap_index 479 +#define FramebufferTexture3DEXT_remap_index 480 +#define GenFramebuffersEXT_remap_index 481 +#define GenRenderbuffersEXT_remap_index 482 +#define GenerateMipmapEXT_remap_index 483 +#define GetFramebufferAttachmentParameterivEXT_remap_index 484 +#define GetRenderbufferParameterivEXT_remap_index 485 +#define IsFramebufferEXT_remap_index 486 +#define IsRenderbufferEXT_remap_index 487 +#define RenderbufferStorageEXT_remap_index 488 +#define BlitFramebufferEXT_remap_index 489 +#define BufferParameteriAPPLE_remap_index 490 +#define FlushMappedBufferRangeAPPLE_remap_index 491 +#define BindFragDataLocationEXT_remap_index 492 +#define GetFragDataLocationEXT_remap_index 493 +#define GetUniformuivEXT_remap_index 494 +#define GetVertexAttribIivEXT_remap_index 495 +#define GetVertexAttribIuivEXT_remap_index 496 +#define Uniform1uiEXT_remap_index 497 +#define Uniform1uivEXT_remap_index 498 +#define Uniform2uiEXT_remap_index 499 +#define Uniform2uivEXT_remap_index 500 +#define Uniform3uiEXT_remap_index 501 +#define Uniform3uivEXT_remap_index 502 +#define Uniform4uiEXT_remap_index 503 +#define Uniform4uivEXT_remap_index 504 +#define VertexAttribI1iEXT_remap_index 505 +#define VertexAttribI1ivEXT_remap_index 506 +#define VertexAttribI1uiEXT_remap_index 507 +#define VertexAttribI1uivEXT_remap_index 508 +#define VertexAttribI2iEXT_remap_index 509 +#define VertexAttribI2ivEXT_remap_index 510 +#define VertexAttribI2uiEXT_remap_index 511 +#define VertexAttribI2uivEXT_remap_index 512 +#define VertexAttribI3iEXT_remap_index 513 +#define VertexAttribI3ivEXT_remap_index 514 +#define VertexAttribI3uiEXT_remap_index 515 +#define VertexAttribI3uivEXT_remap_index 516 +#define VertexAttribI4bvEXT_remap_index 517 +#define VertexAttribI4iEXT_remap_index 518 +#define VertexAttribI4ivEXT_remap_index 519 +#define VertexAttribI4svEXT_remap_index 520 +#define VertexAttribI4ubvEXT_remap_index 521 +#define VertexAttribI4uiEXT_remap_index 522 +#define VertexAttribI4uivEXT_remap_index 523 +#define VertexAttribI4usvEXT_remap_index 524 +#define VertexAttribIPointerEXT_remap_index 525 +#define FramebufferTextureLayerEXT_remap_index 526 +#define ColorMaskIndexedEXT_remap_index 527 +#define DisableIndexedEXT_remap_index 528 +#define EnableIndexedEXT_remap_index 529 +#define GetBooleanIndexedvEXT_remap_index 530 +#define GetIntegerIndexedvEXT_remap_index 531 +#define IsEnabledIndexedEXT_remap_index 532 +#define ClearColorIiEXT_remap_index 533 +#define ClearColorIuiEXT_remap_index 534 +#define GetTexParameterIivEXT_remap_index 535 +#define GetTexParameterIuivEXT_remap_index 536 +#define TexParameterIivEXT_remap_index 537 +#define TexParameterIuivEXT_remap_index 538 +#define BeginConditionalRenderNV_remap_index 539 +#define EndConditionalRenderNV_remap_index 540 +#define BeginTransformFeedbackEXT_remap_index 541 +#define BindBufferBaseEXT_remap_index 542 +#define BindBufferOffsetEXT_remap_index 543 +#define BindBufferRangeEXT_remap_index 544 +#define EndTransformFeedbackEXT_remap_index 545 +#define GetTransformFeedbackVaryingEXT_remap_index 546 +#define TransformFeedbackVaryingsEXT_remap_index 547 +#define ProvokingVertexEXT_remap_index 548 +#define GetTexParameterPointervAPPLE_remap_index 549 +#define TextureRangeAPPLE_remap_index 550 +#define GetObjectParameterivAPPLE_remap_index 551 +#define ObjectPurgeableAPPLE_remap_index 552 +#define ObjectUnpurgeableAPPLE_remap_index 553 +#define ActiveProgramEXT_remap_index 554 +#define CreateShaderProgramEXT_remap_index 555 +#define UseShaderProgramEXT_remap_index 556 +#define TextureBarrierNV_remap_index 557 +#define StencilFuncSeparateATI_remap_index 558 +#define ProgramEnvParameters4fvEXT_remap_index 559 +#define ProgramLocalParameters4fvEXT_remap_index 560 +#define GetQueryObjecti64vEXT_remap_index 561 +#define GetQueryObjectui64vEXT_remap_index 562 +#define EGLImageTargetRenderbufferStorageOES_remap_index 563 +#define EGLImageTargetTexture2DOES_remap_index 564 #define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index] #define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index] @@ -1874,6 +1886,12 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_GetnUniformivARB driDispatchRemapTable[GetnUniformivARB_remap_index] #define _gloffset_GetnUniformuivARB driDispatchRemapTable[GetnUniformuivARB_remap_index] #define _gloffset_ReadnPixelsARB driDispatchRemapTable[ReadnPixelsARB_remap_index] +#define _gloffset_TexStorage1D driDispatchRemapTable[TexStorage1D_remap_index] +#define _gloffset_TexStorage2D driDispatchRemapTable[TexStorage2D_remap_index] +#define _gloffset_TexStorage3D driDispatchRemapTable[TexStorage3D_remap_index] +#define _gloffset_TextureStorage1DEXT driDispatchRemapTable[TextureStorage1DEXT_remap_index] +#define _gloffset_TextureStorage2DEXT driDispatchRemapTable[TextureStorage2DEXT_remap_index] +#define _gloffset_TextureStorage3DEXT driDispatchRemapTable[TextureStorage3DEXT_remap_index] #define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] #define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] #define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] @@ -9694,6 +9712,72 @@ static INLINE void SET_ReadnPixelsARB(struct _glapi_table *disp, void (GLAPIENTR SET_by_offset(disp, _gloffset_ReadnPixelsARB, fn); } +typedef void (GLAPIENTRYP _glptr_TexStorage1D)(GLenum, GLsizei, GLenum, GLsizei); +#define CALL_TexStorage1D(disp, parameters) \ + (* GET_TexStorage1D(disp)) parameters +static INLINE _glptr_TexStorage1D GET_TexStorage1D(struct _glapi_table *disp) { + return (_glptr_TexStorage1D) (GET_by_offset(disp, _gloffset_TexStorage1D)); +} + +static INLINE void SET_TexStorage1D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei)) { + SET_by_offset(disp, _gloffset_TexStorage1D, fn); +} + +typedef void (GLAPIENTRYP _glptr_TexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#define CALL_TexStorage2D(disp, parameters) \ + (* GET_TexStorage2D(disp)) parameters +static INLINE _glptr_TexStorage2D GET_TexStorage2D(struct _glapi_table *disp) { + return (_glptr_TexStorage2D) (GET_by_offset(disp, _gloffset_TexStorage2D)); +} + +static INLINE void SET_TexStorage2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TexStorage2D, fn); +} + +typedef void (GLAPIENTRYP _glptr_TexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +#define CALL_TexStorage3D(disp, parameters) \ + (* GET_TexStorage3D(disp)) parameters +static INLINE _glptr_TexStorage3D GET_TexStorage3D(struct _glapi_table *disp) { + return (_glptr_TexStorage3D) (GET_by_offset(disp, _gloffset_TexStorage3D)); +} + +static INLINE void SET_TexStorage3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TexStorage3D, fn); +} + +typedef void (GLAPIENTRYP _glptr_TextureStorage1DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei); +#define CALL_TextureStorage1DEXT(disp, parameters) \ + (* GET_TextureStorage1DEXT(disp)) parameters +static INLINE _glptr_TextureStorage1DEXT GET_TextureStorage1DEXT(struct _glapi_table *disp) { + return (_glptr_TextureStorage1DEXT) (GET_by_offset(disp, _gloffset_TextureStorage1DEXT)); +} + +static INLINE void SET_TextureStorage1DEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLsizei, GLenum, GLsizei)) { + SET_by_offset(disp, _gloffset_TextureStorage1DEXT, fn); +} + +typedef void (GLAPIENTRYP _glptr_TextureStorage2DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#define CALL_TextureStorage2DEXT(disp, parameters) \ + (* GET_TextureStorage2DEXT(disp)) parameters +static INLINE _glptr_TextureStorage2DEXT GET_TextureStorage2DEXT(struct _glapi_table *disp) { + return (_glptr_TextureStorage2DEXT) (GET_by_offset(disp, _gloffset_TextureStorage2DEXT)); +} + +static INLINE void SET_TextureStorage2DEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TextureStorage2DEXT, fn); +} + +typedef void (GLAPIENTRYP _glptr_TextureStorage3DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +#define CALL_TextureStorage3DEXT(disp, parameters) \ + (* GET_TextureStorage3DEXT(disp)) parameters +static INLINE _glptr_TextureStorage3DEXT GET_TextureStorage3DEXT(struct _glapi_table *disp) { + return (_glptr_TextureStorage3DEXT) (GET_by_offset(disp, _gloffset_TextureStorage3DEXT)); +} + +static INLINE void SET_TextureStorage3DEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TextureStorage3DEXT, fn); +} + typedef void (GLAPIENTRYP _glptr_PolygonOffsetEXT)(GLfloat, GLfloat); #define CALL_PolygonOffsetEXT(disp, parameters) \ (* GET_PolygonOffsetEXT(disp)) parameters diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c index 52548fdc1..e1acc8028 100644 --- a/mesalib/src/mesa/main/dlist.c +++ b/mesalib/src/mesa/main/dlist.c @@ -61,6 +61,7 @@ #include "shaderapi.h" #include "syncobj.h" #include "teximage.h" +#include "texstorage.h" #include "mtypes.h" #include "varray.h" #if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program @@ -7363,7 +7364,7 @@ save_BeginConditionalRender(GLuint queryId, GLenum mode) } static void GLAPIENTRY -save_EndConditionalRender() +save_EndConditionalRender(void) { GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); @@ -10364,6 +10365,14 @@ _mesa_create_save_table(void) _mesa_init_sync_dispatch(table); SET_WaitSync(table, save_WaitSync); + /* GL_ARB_texture_storage (no dlist support) */ + SET_TexStorage1D(table, _mesa_TexStorage1D); + SET_TexStorage2D(table, _mesa_TexStorage2D); + SET_TexStorage3D(table, _mesa_TexStorage3D); + SET_TextureStorage1DEXT(table, _mesa_TextureStorage1DEXT); + SET_TextureStorage2DEXT(table, _mesa_TextureStorage2DEXT); + SET_TextureStorage3DEXT(table, _mesa_TextureStorage3DEXT); + return table; } diff --git a/mesalib/src/mesa/main/enable.c b/mesalib/src/mesa/main/enable.c index 689dc8a99..b2c77243b 100644 --- a/mesalib/src/mesa/main/enable.c +++ b/mesalib/src/mesa/main/enable.c @@ -916,6 +916,14 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state) ctx->Color.sRGBEnabled = state; break; + /* GL_OES_EGL_image_external */ + case GL_TEXTURE_EXTERNAL_OES: + CHECK_EXTENSION(OES_EGL_image_external, cap); + if (!enable_texture(ctx, state, TEXTURE_EXTERNAL_BIT)) { + return; + } + break; + default: goto invalid_enum_error; } @@ -1417,6 +1425,11 @@ _mesa_IsEnabled( GLenum cap ) CHECK_EXTENSION(EXT_framebuffer_sRGB); return ctx->Color.sRGBEnabled; + /* GL_OES_EGL_image_external */ + case GL_TEXTURE_EXTERNAL_OES: + CHECK_EXTENSION(OES_EGL_image_external); + return is_texture_enabled(ctx, TEXTURE_EXTERNAL_BIT); + default: goto invalid_enum_error; } diff --git a/mesalib/src/mesa/main/enums.c b/mesalib/src/mesa/main/enums.c index fb5ed2922..a75831db3 100644 --- a/mesalib/src/mesa/main/enums.c +++ b/mesalib/src/mesa/main/enums.c @@ -749,6 +749,7 @@ LONGSTRING static const char enum_string_table[] = "GL_GEOMETRY_VERTICES_OUT\0" "GL_GEOMETRY_VERTICES_OUT_ARB\0" "GL_GEQUAL\0" + "GL_GL_TEXTURE_IMMUTABLE_FORMAT\0" "GL_GREATER\0" "GL_GREEN\0" "GL_GREEN_BIAS\0" @@ -1662,6 +1663,7 @@ LONGSTRING static const char enum_string_table[] = "GL_REPLACE\0" "GL_REPLACE_EXT\0" "GL_REPLICATE_BORDER_HP\0" + "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES\0" "GL_RESCALE_NORMAL\0" "GL_RESCALE_NORMAL_EXT\0" "GL_RESET_NOTIFICATION_STRATEGY_ARB\0" @@ -1780,6 +1782,7 @@ LONGSTRING static const char enum_string_table[] = "GL_SAMPLER_CUBE\0" "GL_SAMPLER_CUBE_SHADOW\0" "GL_SAMPLER_CUBE_SHADOW_EXT\0" + "GL_SAMPLER_EXTERNAL_OES\0" "GL_SAMPLES\0" "GL_SAMPLES_3DFX\0" "GL_SAMPLES_ARB\0" @@ -2046,6 +2049,7 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_BINDING_CUBE_MAP\0" "GL_TEXTURE_BINDING_CUBE_MAP_ARB\0" "GL_TEXTURE_BINDING_CUBE_MAP_OES\0" + "GL_TEXTURE_BINDING_EXTERNAL_OES\0" "GL_TEXTURE_BINDING_RECTANGLE\0" "GL_TEXTURE_BINDING_RECTANGLE_ARB\0" "GL_TEXTURE_BINDING_RECTANGLE_NV\0" @@ -2119,6 +2123,7 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_ENV\0" "GL_TEXTURE_ENV_COLOR\0" "GL_TEXTURE_ENV_MODE\0" + "GL_TEXTURE_EXTERNAL_OES\0" "GL_TEXTURE_FILTER_CONTROL\0" "GL_TEXTURE_FILTER_CONTROL_EXT\0" "GL_TEXTURE_GEN_MODE\0" @@ -2374,7 +2379,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[2335] = +static const enum_elt all_enums[2340] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -3088,1712 +3093,1717 @@ static const enum_elt all_enums[2335] = { 15474, 0x00008916 }, /* GL_GEOMETRY_VERTICES_OUT */ { 15499, 0x00008DDA }, /* GL_GEOMETRY_VERTICES_OUT_ARB */ { 15528, 0x00000206 }, /* GL_GEQUAL */ - { 15538, 0x00000204 }, /* GL_GREATER */ - { 15549, 0x00001904 }, /* GL_GREEN */ - { 15558, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 15572, 0x00000D53 }, /* GL_GREEN_BITS */ - { 15586, 0x00008D95 }, /* GL_GREEN_INTEGER */ - { 15603, 0x00008D95 }, /* GL_GREEN_INTEGER_EXT */ - { 15624, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 15639, 0x00008253 }, /* GL_GUILTY_CONTEXT_RESET_ARB */ - { 15667, 0x0000140B }, /* GL_HALF_FLOAT */ - { 15681, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ - { 15699, 0x00008DF2 }, /* GL_HIGH_FLOAT */ - { 15713, 0x00008DF5 }, /* GL_HIGH_INT */ - { 15725, 0x00008000 }, /* GL_HINT_BIT */ - { 15737, 0x00008024 }, /* GL_HISTOGRAM */ - { 15750, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 15774, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 15802, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 15825, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 15852, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 15869, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 15889, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 15913, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 15937, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 15965, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 15993, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 16025, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 16047, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 16073, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 16091, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 16113, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 16132, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 16155, 0x0000862A }, /* GL_IDENTITY_NV */ - { 16170, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 16190, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ - { 16226, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 16266, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ - { 16300, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 16338, 0x00001E02 }, /* GL_INCR */ - { 16346, 0x00008507 }, /* GL_INCR_WRAP */ - { 16359, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 16376, 0x00008222 }, /* GL_INDEX */ - { 16385, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 16400, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 16430, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 16464, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 16487, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 16509, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 16529, 0x00000D51 }, /* GL_INDEX_BITS */ - { 16543, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 16564, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 16582, 0x00000C30 }, /* GL_INDEX_MODE */ - { 16596, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 16612, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 16627, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 16646, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ - { 16665, 0x00008254 }, /* GL_INNOCENT_CONTEXT_RESET_ARB */ - { 16695, 0x00001404 }, /* GL_INT */ - { 16702, 0x00008049 }, /* GL_INTENSITY */ - { 16715, 0x0000804C }, /* GL_INTENSITY12 */ - { 16730, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 16749, 0x0000804D }, /* GL_INTENSITY16 */ - { 16764, 0x00008D8B }, /* GL_INTENSITY16I_EXT */ - { 16784, 0x00008D79 }, /* GL_INTENSITY16UI_EXT */ - { 16805, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 16824, 0x00008D85 }, /* GL_INTENSITY32I_EXT */ - { 16844, 0x00008D73 }, /* GL_INTENSITY32UI_EXT */ - { 16865, 0x0000804A }, /* GL_INTENSITY4 */ - { 16879, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 16897, 0x0000804B }, /* GL_INTENSITY8 */ - { 16911, 0x00008D91 }, /* GL_INTENSITY8I_EXT */ - { 16930, 0x00008D7F }, /* GL_INTENSITY8UI_EXT */ - { 16950, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 16968, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 16985, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS */ - { 17008, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ - { 17035, 0x00008575 }, /* GL_INTERPOLATE */ - { 17050, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 17069, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 17088, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ - { 17110, 0x00008D9F }, /* GL_INT_2_10_10_10_REV */ - { 17132, 0x00008DC9 }, /* GL_INT_SAMPLER_1D */ - { 17150, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY */ - { 17174, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY_EXT */ - { 17202, 0x00008DC9 }, /* GL_INT_SAMPLER_1D_EXT */ - { 17224, 0x00008DCA }, /* GL_INT_SAMPLER_2D */ - { 17242, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY */ - { 17266, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY_EXT */ - { 17294, 0x00008DCA }, /* GL_INT_SAMPLER_2D_EXT */ - { 17316, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT */ - { 17339, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT_EXT */ - { 17366, 0x00008DCB }, /* GL_INT_SAMPLER_3D */ - { 17384, 0x00008DCB }, /* GL_INT_SAMPLER_3D_EXT */ - { 17406, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER */ - { 17428, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER_EXT */ - { 17454, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE */ - { 17474, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE_EXT */ - { 17498, 0x00008B53 }, /* GL_INT_VEC2 */ - { 17510, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 17526, 0x00008B54 }, /* GL_INT_VEC3 */ - { 17538, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 17554, 0x00008B55 }, /* GL_INT_VEC4 */ - { 17566, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 17582, 0x00000500 }, /* GL_INVALID_ENUM */ - { 17598, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ - { 17631, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 17668, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ - { 17705, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 17726, 0x00000501 }, /* GL_INVALID_VALUE */ - { 17743, 0x0000862B }, /* GL_INVERSE_NV */ - { 17757, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 17781, 0x0000150A }, /* GL_INVERT */ - { 17791, 0x00001E00 }, /* GL_KEEP */ - { 17799, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ - { 17825, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ - { 17855, 0x00000406 }, /* GL_LEFT */ - { 17863, 0x00000203 }, /* GL_LEQUAL */ - { 17873, 0x00000201 }, /* GL_LESS */ - { 17881, 0x00004000 }, /* GL_LIGHT0 */ - { 17891, 0x00004001 }, /* GL_LIGHT1 */ - { 17901, 0x00004002 }, /* GL_LIGHT2 */ - { 17911, 0x00004003 }, /* GL_LIGHT3 */ - { 17921, 0x00004004 }, /* GL_LIGHT4 */ - { 17931, 0x00004005 }, /* GL_LIGHT5 */ - { 17941, 0x00004006 }, /* GL_LIGHT6 */ - { 17951, 0x00004007 }, /* GL_LIGHT7 */ - { 17961, 0x00000B50 }, /* GL_LIGHTING */ - { 17973, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 17989, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 18012, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 18041, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 18074, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 18102, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 18126, 0x00001B01 }, /* GL_LINE */ - { 18134, 0x00002601 }, /* GL_LINEAR */ - { 18144, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 18166, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 18196, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 18227, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 18251, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 18276, 0x00000001 }, /* GL_LINES */ - { 18285, 0x0000000A }, /* GL_LINES_ADJACENCY */ - { 18304, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ - { 18327, 0x00000004 }, /* GL_LINE_BIT */ - { 18339, 0x00000002 }, /* GL_LINE_LOOP */ - { 18352, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 18372, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 18387, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 18407, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 18423, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 18447, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 18470, 0x00000003 }, /* GL_LINE_STRIP */ - { 18484, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY */ - { 18508, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ - { 18536, 0x00000702 }, /* GL_LINE_TOKEN */ - { 18550, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 18564, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 18590, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 18610, 0x00008B82 }, /* GL_LINK_STATUS */ - { 18625, 0x00000B32 }, /* GL_LIST_BASE */ - { 18638, 0x00020000 }, /* GL_LIST_BIT */ - { 18650, 0x00000B33 }, /* GL_LIST_INDEX */ - { 18664, 0x00000B30 }, /* GL_LIST_MODE */ - { 18677, 0x00000101 }, /* GL_LOAD */ - { 18685, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 18697, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 18714, 0x00008252 }, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ - { 18743, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 18757, 0x00008DF0 }, /* GL_LOW_FLOAT */ - { 18770, 0x00008DF3 }, /* GL_LOW_INT */ - { 18781, 0x00001909 }, /* GL_LUMINANCE */ - { 18794, 0x00008041 }, /* GL_LUMINANCE12 */ - { 18809, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 18832, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 18859, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 18881, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 18907, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 18926, 0x00008042 }, /* GL_LUMINANCE16 */ - { 18941, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */ - { 18961, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */ - { 18982, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 19005, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 19032, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 19051, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */ - { 19071, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */ - { 19092, 0x0000803F }, /* GL_LUMINANCE4 */ - { 19106, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 19127, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 19152, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 19170, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 19191, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 19216, 0x00008040 }, /* GL_LUMINANCE8 */ - { 19230, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */ - { 19249, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */ - { 19269, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 19290, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 19315, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 19333, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 19352, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */ - { 19378, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */ - { 19405, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */ - { 19431, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */ - { 19458, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */ - { 19483, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */ - { 19509, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ - { 19540, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */ - { 19565, 0x0000821B }, /* GL_MAJOR_VERSION */ - { 19582, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 19598, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 19618, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 19640, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 19654, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 19669, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 19693, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 19717, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 19741, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 19765, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 19782, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 19799, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 19827, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 19856, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 19885, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 19914, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 19943, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 19972, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 20001, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 20029, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 20057, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 20085, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 20113, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 20141, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 20169, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 20197, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 20225, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 20253, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 20269, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 20289, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 20311, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 20325, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 20340, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 20364, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 20388, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 20412, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 20436, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 20453, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 20470, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 20498, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 20527, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 20556, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 20585, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 20614, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 20643, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 20672, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 20700, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 20728, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 20756, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 20784, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 20812, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 20840, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 20868, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 20896, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 20924, 0x00000D10 }, /* GL_MAP_COLOR */ - { 20937, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ - { 20963, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ - { 20992, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ - { 21020, 0x00000001 }, /* GL_MAP_READ_BIT */ - { 21036, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 21051, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ - { 21077, 0x00000002 }, /* GL_MAP_WRITE_BIT */ - { 21094, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 21109, 0x00008630 }, /* GL_MATRIX0_NV */ - { 21123, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 21139, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 21155, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 21171, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 21187, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 21203, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 21219, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 21235, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 21251, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 21267, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 21283, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 21298, 0x00008631 }, /* GL_MATRIX1_NV */ - { 21312, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 21328, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 21344, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 21360, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 21376, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 21392, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 21408, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 21424, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 21440, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 21456, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 21472, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 21487, 0x00008632 }, /* GL_MATRIX2_NV */ - { 21501, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 21517, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 21533, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 21548, 0x00008633 }, /* GL_MATRIX3_NV */ - { 21562, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 21577, 0x00008634 }, /* GL_MATRIX4_NV */ - { 21591, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 21606, 0x00008635 }, /* GL_MATRIX5_NV */ - { 21620, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 21635, 0x00008636 }, /* GL_MATRIX6_NV */ - { 21649, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 21664, 0x00008637 }, /* GL_MATRIX7_NV */ - { 21678, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 21693, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 21708, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 21734, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - { 21775, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ - { 21801, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 21835, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ - { 21869, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 21900, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ - { 21931, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 21964, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ - { 21997, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 22028, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ - { 22059, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 22074, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 22096, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ - { 22118, 0x00008008 }, /* GL_MAX */ - { 22125, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 22148, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ - { 22175, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ - { 22203, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 22235, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 22261, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 22294, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 22320, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 22354, 0x00000D32 }, /* GL_MAX_CLIP_DISTANCES */ - { 22376, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 22395, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ - { 22420, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 22449, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 22481, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 22517, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 22553, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 22593, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 22619, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 22649, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 22674, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 22703, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 22732, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 22765, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ - { 22798, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 22818, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 22842, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 22866, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_NV */ - { 22889, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 22913, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 22938, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 22956, 0x00008008 }, /* GL_MAX_EXT */ - { 22967, 0x00009125 }, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ - { 23000, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 23035, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 23074, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - { 23106, 0x00009123 }, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ - { 23139, 0x00009124 }, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ - { 23173, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ - { 23205, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ - { 23241, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ - { 23277, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ - { 23317, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ - { 23357, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ - { 23401, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ - { 23436, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ - { 23475, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ - { 23514, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 23528, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 23548, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 23586, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 23615, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 23639, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 23667, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ - { 23695, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 23718, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 23755, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 23791, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 23818, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 23847, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 23881, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 23917, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 23944, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 23976, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 24012, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 24041, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 24070, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 24098, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 24136, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 24180, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 24223, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 24257, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 24296, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 24333, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 24371, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 24414, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 24457, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 24487, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 24518, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ - { 24546, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */ - { 24578, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 24614, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 24650, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 24680, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ - { 24710, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 24744, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 24777, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ - { 24802, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 24831, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ - { 24860, 0x00008D57 }, /* GL_MAX_SAMPLES */ - { 24875, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ - { 24894, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - { 24921, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 24941, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 24965, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE */ - { 24992, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE_ARB */ - { 25023, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 25045, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 25071, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 25098, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 25129, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 25153, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ - { 25181, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 25215, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 25235, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 25262, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 25283, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 25308, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 25333, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 25368, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ - { 25417, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - { 25470, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ - { 25513, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ - { 25560, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ - { 25606, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - { 25656, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ - { 25682, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 25704, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 25730, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ - { 25753, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 25775, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 25801, 0x00009122 }, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ - { 25833, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 25867, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 25905, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 25938, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 25975, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - { 26005, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 26029, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ - { 26053, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ - { 26090, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 26111, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ - { 26127, 0x00008DF4 }, /* GL_MEDIUM_INT */ - { 26141, 0x00008007 }, /* GL_MIN */ - { 26148, 0x0000802E }, /* GL_MINMAX */ - { 26158, 0x0000802E }, /* GL_MINMAX_EXT */ - { 26172, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 26189, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 26210, 0x00008030 }, /* GL_MINMAX_SINK */ - { 26225, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 26244, 0x0000821C }, /* GL_MINOR_VERSION */ - { 26261, 0x00008007 }, /* GL_MIN_EXT */ - { 26272, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ - { 26300, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */ - { 26332, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 26351, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 26374, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 26397, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 26417, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 26437, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 26467, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 26495, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 26523, 0x00001700 }, /* GL_MODELVIEW */ - { 26536, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 26554, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 26573, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 26592, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 26611, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 26630, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 26649, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 26668, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 26687, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 26706, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 26725, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 26744, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 26762, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 26781, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 26800, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 26819, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 26838, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 26857, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 26876, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 26895, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 26914, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 26933, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 26952, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 26970, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 26989, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 27008, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 27026, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 27044, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 27062, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 27080, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 27098, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 27116, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 27134, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 27154, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 27196, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 27223, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 27248, 0x00002100 }, /* GL_MODULATE */ - { 27260, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 27280, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 27307, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 27332, 0x00000103 }, /* GL_MULT */ - { 27340, 0x0000809D }, /* GL_MULTISAMPLE */ - { 27355, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 27375, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 27394, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 27413, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 27437, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 27460, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 27490, 0x00002A25 }, /* GL_N3F_V3F */ - { 27501, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 27521, 0x0000150E }, /* GL_NAND */ - { 27529, 0x00002600 }, /* GL_NEAREST */ - { 27540, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 27571, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 27603, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 27628, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 27654, 0x00000200 }, /* GL_NEVER */ - { 27663, 0x00001102 }, /* GL_NICEST */ - { 27673, 0x00000000 }, /* GL_NONE */ - { 27681, 0x00000000 }, /* GL_NONE_OES */ - { 27693, 0x00001505 }, /* GL_NOOP */ - { 27701, 0x00001508 }, /* GL_NOR */ - { 27708, 0x00000BA1 }, /* GL_NORMALIZE */ - { 27721, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 27737, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 27768, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 27803, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 27827, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 27850, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 27871, 0x00008511 }, /* GL_NORMAL_MAP */ - { 27885, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 27903, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 27920, 0x00008511 }, /* GL_NORMAL_MAP_OES */ - { 27938, 0x00000205 }, /* GL_NOTEQUAL */ - { 27950, 0x00000000 }, /* GL_NO_ERROR */ - { 27962, 0x00008261 }, /* GL_NO_RESET_NOTIFICATION_ARB */ - { 27991, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 28025, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 28063, 0x0000821D }, /* GL_NUM_EXTENSIONS */ - { 28081, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS */ - { 28111, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ - { 28145, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ - { 28174, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 28206, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 28248, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 28278, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 28318, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 28349, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 28378, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 28406, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 28436, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 28453, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 28479, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 28495, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 28530, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 28552, 0x00009112 }, /* GL_OBJECT_TYPE */ - { 28567, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 28586, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 28616, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 28637, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 28665, 0x00000001 }, /* GL_ONE */ - { 28672, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 28700, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 28732, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 28760, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 28792, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 28815, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 28838, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 28861, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 28884, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 28902, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 28924, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 28946, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 28962, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 28982, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 29002, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 29020, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 29042, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 29064, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 29080, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 29100, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 29120, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 29138, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 29160, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 29182, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 29198, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 29218, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 29238, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 29259, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 29278, 0x00001507 }, /* GL_OR */ - { 29284, 0x00000A01 }, /* GL_ORDER */ - { 29293, 0x0000150D }, /* GL_OR_INVERTED */ - { 29308, 0x0000150B }, /* GL_OR_REVERSE */ - { 29322, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 29339, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 29357, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 29378, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 29398, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 29416, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 29435, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 29455, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 29475, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 29493, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 29512, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 29537, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 29561, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 29582, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 29604, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 29626, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 29651, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 29675, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 29696, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 29718, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 29740, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 29762, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 29793, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 29813, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 29838, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 29858, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 29883, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 29903, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 29928, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 29948, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 29973, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 29993, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 30018, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 30038, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 30063, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 30083, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 30108, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 30128, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 30153, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 30173, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 30198, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 30218, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 30243, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 30261, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ - { 30282, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ - { 30311, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 30344, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 30369, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ - { 30392, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 30423, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 30458, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 30485, 0x00001B00 }, /* GL_POINT */ - { 30494, 0x00000000 }, /* GL_POINTS */ - { 30504, 0x00000002 }, /* GL_POINT_BIT */ - { 30517, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 30547, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 30581, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 30615, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 30650, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 30679, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 30712, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 30745, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 30779, 0x00000B11 }, /* GL_POINT_SIZE */ - { 30793, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - { 30832, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ - { 30856, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - { 30888, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - { 30919, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - { 30948, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 30974, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 30992, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 31014, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 31036, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 31059, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 31077, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 31099, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 31121, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 31144, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 31164, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 31180, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 31201, 0x00008861 }, /* GL_POINT_SPRITE */ - { 31217, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 31237, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 31266, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 31285, 0x00008861 }, /* GL_POINT_SPRITE_OES */ - { 31305, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 31331, 0x00000701 }, /* GL_POINT_TOKEN */ - { 31346, 0x00000009 }, /* GL_POLYGON */ - { 31357, 0x00000008 }, /* GL_POLYGON_BIT */ - { 31372, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 31388, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 31411, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 31436, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 31459, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 31482, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 31506, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 31530, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 31548, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 31571, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 31590, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 31613, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 31630, 0x00001203 }, /* GL_POSITION */ - { 31642, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 31674, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 31710, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 31743, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 31780, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 31811, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 31846, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 31878, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 31914, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 31947, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 31979, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 32015, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 32048, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 32085, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 32115, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 32149, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 32180, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 32215, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 32246, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 32281, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 32313, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 32349, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 32379, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 32413, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 32444, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 32479, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 32511, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 32542, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 32577, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 32609, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 32645, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 32674, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 32707, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 32737, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 32771, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 32810, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 32843, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 32883, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 32917, 0x00008578 }, /* GL_PREVIOUS */ - { 32929, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 32945, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 32961, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 32978, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 32999, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 33020, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED */ - { 33044, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ - { 33072, 0x00008F9D }, /* GL_PRIMITIVE_RESTART */ - { 33093, 0x00008F9E }, /* GL_PRIMITIVE_RESTART_INDEX */ - { 33120, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */ - { 33150, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */ - { 33174, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 33207, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 33239, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 33262, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS */ - { 33288, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ - { 33318, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH */ - { 33343, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ - { 33372, 0x00008257 }, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ - { 33407, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 33430, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 33460, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 33489, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 33517, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 33539, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 33567, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 33595, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 33617, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 33638, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 33678, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 33717, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 33747, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 33782, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 33815, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 33849, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 33888, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 33927, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 33949, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 33975, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 33999, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE */ - { 34021, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ - { 34047, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 34070, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 34092, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 34113, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 34134, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 34161, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 34193, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 34225, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 34260, 0x00001701 }, /* GL_PROJECTION */ - { 34274, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 34295, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 34338, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 34364, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ - { 34384, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ - { 34408, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 34429, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 34448, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 34471, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 34510, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 34548, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 34568, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY */ - { 34594, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 34624, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 34648, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 34668, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY */ - { 34694, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 34724, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 34748, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 34768, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 34801, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 34827, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 34857, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE */ - { 34884, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 34915, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 34945, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ - { 34964, 0x00002003 }, /* GL_Q */ - { 34969, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 34994, 0x00000007 }, /* GL_QUADS */ - { 35003, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ - { 35047, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - { 35095, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 35112, 0x00000008 }, /* GL_QUAD_STRIP */ - { 35126, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT */ - { 35153, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - { 35183, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT */ - { 35207, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ - { 35234, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 35256, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 35282, 0x00008E14 }, /* GL_QUERY_NO_WAIT */ - { 35299, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ - { 35319, 0x00008866 }, /* GL_QUERY_RESULT */ - { 35335, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 35355, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 35381, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 35411, 0x00008E13 }, /* GL_QUERY_WAIT */ - { 35425, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ - { 35442, 0x00002002 }, /* GL_R */ - { 35447, 0x00008C3A }, /* GL_R11F_G11F_B10F */ - { 35465, 0x00008F98 }, /* GL_R16_SNORM */ - { 35478, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 35490, 0x00008F94 }, /* GL_R8_SNORM */ - { 35502, 0x00008C89 }, /* GL_RASTERIZER_DISCARD */ - { 35524, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ - { 35550, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 35583, 0x00000C02 }, /* GL_READ_BUFFER */ - { 35598, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ - { 35618, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ - { 35646, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 35678, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 35702, 0x000088B8 }, /* GL_READ_ONLY */ - { 35715, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 35732, 0x000088BA }, /* GL_READ_WRITE */ - { 35746, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 35764, 0x00001903 }, /* GL_RED */ - { 35771, 0x00008016 }, /* GL_REDUCE */ - { 35781, 0x00008016 }, /* GL_REDUCE_EXT */ - { 35795, 0x00000D15 }, /* GL_RED_BIAS */ - { 35807, 0x00000D52 }, /* GL_RED_BITS */ - { 35819, 0x00008D94 }, /* GL_RED_INTEGER */ - { 35834, 0x00008D94 }, /* GL_RED_INTEGER_EXT */ - { 35853, 0x00000D14 }, /* GL_RED_SCALE */ - { 35866, 0x00008F90 }, /* GL_RED_SNORM */ - { 35879, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 35897, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 35919, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 35940, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ - { 35962, 0x00008A19 }, /* GL_RELEASED_APPLE */ - { 35980, 0x00001C00 }, /* GL_RENDER */ - { 35990, 0x00008D41 }, /* GL_RENDERBUFFER */ - { 36006, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ - { 36033, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ - { 36064, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ - { 36088, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 36116, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ - { 36144, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ - { 36170, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ - { 36200, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ - { 36227, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ - { 36258, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 36278, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ - { 36305, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ - { 36336, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ - { 36359, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 36386, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ - { 36413, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - { 36445, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 36481, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ - { 36517, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ - { 36537, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ - { 36562, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ - { 36591, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ - { 36615, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ - { 36643, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ - { 36672, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ - { 36705, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ - { 36727, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 36753, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ - { 36779, 0x00001F01 }, /* GL_RENDERER */ - { 36791, 0x00000C40 }, /* GL_RENDER_MODE */ - { 36806, 0x00002901 }, /* GL_REPEAT */ - { 36816, 0x00001E01 }, /* GL_REPLACE */ - { 36827, 0x00008062 }, /* GL_REPLACE_EXT */ - { 36842, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 36865, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 36883, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 36905, 0x00008256 }, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ - { 36940, 0x00008A1B }, /* GL_RETAINED_APPLE */ - { 36958, 0x00000102 }, /* GL_RETURN */ - { 36968, 0x00008F99 }, /* GL_RG16_SNORM */ - { 36982, 0x00008F95 }, /* GL_RG8_SNORM */ - { 36995, 0x00001907 }, /* GL_RGB */ - { 37002, 0x00008052 }, /* GL_RGB10 */ - { 37011, 0x00008059 }, /* GL_RGB10_A2 */ - { 37023, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 37039, 0x00008052 }, /* GL_RGB10_EXT */ - { 37052, 0x00008053 }, /* GL_RGB12 */ - { 37061, 0x00008053 }, /* GL_RGB12_EXT */ - { 37074, 0x00008054 }, /* GL_RGB16 */ - { 37083, 0x0000881B }, /* GL_RGB16F */ - { 37093, 0x00008D89 }, /* GL_RGB16I */ - { 37103, 0x00008D89 }, /* GL_RGB16I_EXT */ - { 37117, 0x00008D77 }, /* GL_RGB16UI */ - { 37128, 0x00008D77 }, /* GL_RGB16UI_EXT */ - { 37143, 0x00008054 }, /* GL_RGB16_EXT */ - { 37156, 0x00008F9A }, /* GL_RGB16_SNORM */ - { 37171, 0x0000804E }, /* GL_RGB2_EXT */ - { 37183, 0x00008815 }, /* GL_RGB32F */ - { 37193, 0x00008D83 }, /* GL_RGB32I */ - { 37203, 0x00008D83 }, /* GL_RGB32I_EXT */ - { 37217, 0x00008D71 }, /* GL_RGB32UI */ - { 37228, 0x00008D71 }, /* GL_RGB32UI_EXT */ - { 37243, 0x0000804F }, /* GL_RGB4 */ - { 37251, 0x0000804F }, /* GL_RGB4_EXT */ - { 37263, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 37276, 0x00008050 }, /* GL_RGB5 */ - { 37284, 0x00008D62 }, /* GL_RGB565 */ - { 37294, 0x00008D62 }, /* GL_RGB565_OES */ - { 37308, 0x00008057 }, /* GL_RGB5_A1 */ - { 37319, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 37334, 0x00008057 }, /* GL_RGB5_A1_OES */ - { 37349, 0x00008050 }, /* GL_RGB5_EXT */ - { 37361, 0x00008051 }, /* GL_RGB8 */ - { 37369, 0x00008D8F }, /* GL_RGB8I */ - { 37378, 0x00008D8F }, /* GL_RGB8I_EXT */ - { 37391, 0x00008D7D }, /* GL_RGB8UI */ - { 37401, 0x00008D7D }, /* GL_RGB8UI_EXT */ - { 37415, 0x00008051 }, /* GL_RGB8_EXT */ - { 37427, 0x00008051 }, /* GL_RGB8_OES */ - { 37439, 0x00008F96 }, /* GL_RGB8_SNORM */ - { 37453, 0x00008C3D }, /* GL_RGB9_E5 */ - { 37464, 0x00001908 }, /* GL_RGBA */ - { 37472, 0x0000805A }, /* GL_RGBA12 */ - { 37482, 0x0000805A }, /* GL_RGBA12_EXT */ - { 37496, 0x0000805B }, /* GL_RGBA16 */ - { 37506, 0x0000881A }, /* GL_RGBA16F */ - { 37517, 0x00008D88 }, /* GL_RGBA16I */ - { 37528, 0x00008D88 }, /* GL_RGBA16I_EXT */ - { 37543, 0x00008D76 }, /* GL_RGBA16UI */ - { 37555, 0x00008D76 }, /* GL_RGBA16UI_EXT */ - { 37571, 0x0000805B }, /* GL_RGBA16_EXT */ - { 37585, 0x00008F9B }, /* GL_RGBA16_SNORM */ - { 37601, 0x00008055 }, /* GL_RGBA2 */ - { 37610, 0x00008055 }, /* GL_RGBA2_EXT */ - { 37623, 0x00008814 }, /* GL_RGBA32F */ - { 37634, 0x00008D82 }, /* GL_RGBA32I */ - { 37645, 0x00008D82 }, /* GL_RGBA32I_EXT */ - { 37660, 0x00008D70 }, /* GL_RGBA32UI */ - { 37672, 0x00008D70 }, /* GL_RGBA32UI_EXT */ - { 37688, 0x00008056 }, /* GL_RGBA4 */ - { 37697, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 37716, 0x00008056 }, /* GL_RGBA4_EXT */ - { 37729, 0x00008056 }, /* GL_RGBA4_OES */ - { 37742, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 37756, 0x00008058 }, /* GL_RGBA8 */ - { 37765, 0x00008D8E }, /* GL_RGBA8I */ - { 37775, 0x00008D8E }, /* GL_RGBA8I_EXT */ - { 37789, 0x00008D7C }, /* GL_RGBA8UI */ - { 37800, 0x00008D7C }, /* GL_RGBA8UI_EXT */ - { 37815, 0x00008058 }, /* GL_RGBA8_EXT */ - { 37828, 0x00008058 }, /* GL_RGBA8_OES */ - { 37841, 0x00008F97 }, /* GL_RGBA8_SNORM */ - { 37856, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 37874, 0x00008820 }, /* GL_RGBA_FLOAT_MODE_ARB */ - { 37897, 0x00008D99 }, /* GL_RGBA_INTEGER */ - { 37913, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */ - { 37933, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */ - { 37958, 0x00000C31 }, /* GL_RGBA_MODE */ - { 37971, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 37984, 0x00008F93 }, /* GL_RGBA_SNORM */ - { 37998, 0x00008D98 }, /* GL_RGB_INTEGER */ - { 38013, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */ - { 38032, 0x000083A0 }, /* GL_RGB_S3TC */ - { 38044, 0x00008573 }, /* GL_RGB_SCALE */ - { 38057, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 38074, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 38091, 0x00008F92 }, /* GL_RGB_SNORM */ - { 38104, 0x00008F91 }, /* GL_RG_SNORM */ - { 38116, 0x00000407 }, /* GL_RIGHT */ - { 38125, 0x00002000 }, /* GL_S */ - { 38130, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 38144, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY */ - { 38164, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY_EXT */ - { 38188, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW */ - { 38215, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */ - { 38246, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 38267, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 38281, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY */ - { 38301, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY_EXT */ - { 38325, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW */ - { 38352, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */ - { 38383, 0x00008B63 }, /* GL_SAMPLER_2D_RECT */ - { 38402, 0x00008B64 }, /* GL_SAMPLER_2D_RECT_SHADOW */ - { 38428, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 38449, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 38463, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ - { 38481, 0x00008919 }, /* GL_SAMPLER_BINDING */ - { 38500, 0x00008DC2 }, /* GL_SAMPLER_BUFFER */ - { 38518, 0x00008DC2 }, /* GL_SAMPLER_BUFFER_EXT */ - { 38540, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 38556, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW */ - { 38579, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW_EXT */ - { 38606, 0x000080A9 }, /* GL_SAMPLES */ - { 38617, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 38633, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 38648, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 38666, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 38688, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 38716, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 38748, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 38771, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 38798, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 38816, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 38839, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 38861, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 38880, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 38903, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 38929, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 38959, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 38984, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 39013, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 39028, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 39043, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 39059, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 39084, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 39124, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 39168, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 39201, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 39231, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 39263, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 39293, 0x00001C02 }, /* GL_SELECT */ - { 39303, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 39331, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 39356, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 39372, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS */ - { 39392, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ - { 39416, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 39443, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 39474, 0x0000150F }, /* GL_SET */ - { 39481, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ - { 39506, 0x00008DFA }, /* GL_SHADER_COMPILER */ - { 39525, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 39546, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 39570, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 39585, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 39600, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 39628, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 39651, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 39681, 0x00001601 }, /* GL_SHININESS */ - { 39694, 0x00001402 }, /* GL_SHORT */ - { 39703, 0x00009119 }, /* GL_SIGNALED */ - { 39715, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ - { 39736, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 39752, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 39772, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 39791, 0x00008C46 }, /* GL_SLUMINANCE */ - { 39805, 0x00008C47 }, /* GL_SLUMINANCE8 */ - { 39820, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ - { 39842, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ - { 39862, 0x00001D01 }, /* GL_SMOOTH */ - { 39872, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 39905, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 39932, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 39965, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 39992, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 40009, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 40030, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 40051, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 40066, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 40085, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 40104, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 40121, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 40142, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 40163, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 40178, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 40197, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 40216, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 40233, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 40254, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 40275, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 40290, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 40309, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 40328, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 40348, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 40366, 0x00001202 }, /* GL_SPECULAR */ - { 40378, 0x00002402 }, /* GL_SPHERE_MAP */ - { 40392, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 40407, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 40425, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 40442, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 40456, 0x00008580 }, /* GL_SRC0_RGB */ - { 40468, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 40482, 0x00008581 }, /* GL_SRC1_RGB */ - { 40494, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 40508, 0x00008582 }, /* GL_SRC2_RGB */ - { 40520, 0x00000302 }, /* GL_SRC_ALPHA */ - { 40533, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 40555, 0x00000300 }, /* GL_SRC_COLOR */ - { 40568, 0x00008C40 }, /* GL_SRGB */ - { 40576, 0x00008C41 }, /* GL_SRGB8 */ - { 40585, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ - { 40601, 0x00008C42 }, /* GL_SRGB_ALPHA */ - { 40615, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 40633, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 40652, 0x000088E6 }, /* GL_STATIC_COPY */ - { 40667, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 40686, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 40701, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 40720, 0x000088E5 }, /* GL_STATIC_READ */ - { 40735, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 40754, 0x00001802 }, /* GL_STENCIL */ - { 40765, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ - { 40787, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 40813, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ - { 40839, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 40860, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 40885, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 40906, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 40931, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 40963, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 40999, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 41031, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 41067, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 41087, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 41114, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 41140, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 41156, 0x00008224 }, /* GL_STENCIL_BUFFER */ - { 41174, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 41196, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 41219, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 41235, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 41251, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 41268, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ - { 41286, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ - { 41305, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 41328, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 41350, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ - { 41372, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ - { 41390, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 41412, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ - { 41434, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ - { 41452, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 41474, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ - { 41496, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 41517, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 41544, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 41571, 0x00000B97 }, /* GL_STENCIL_REF */ - { 41586, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 41602, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 41631, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 41653, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 41674, 0x00000C33 }, /* GL_STEREO */ - { 41684, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ - { 41708, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ - { 41733, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ - { 41757, 0x000088E2 }, /* GL_STREAM_COPY */ - { 41772, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 41791, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 41806, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 41825, 0x000088E1 }, /* GL_STREAM_READ */ - { 41840, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 41859, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 41876, 0x000084E7 }, /* GL_SUBTRACT */ - { 41888, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 41904, 0x00009113 }, /* GL_SYNC_CONDITION */ - { 41922, 0x00009116 }, /* GL_SYNC_FENCE */ - { 41936, 0x00009115 }, /* GL_SYNC_FLAGS */ - { 41950, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ - { 41977, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - { 42007, 0x00009114 }, /* GL_SYNC_STATUS */ - { 42022, 0x00002001 }, /* GL_T */ - { 42027, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 42042, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 42061, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 42077, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 42092, 0x00002A27 }, /* GL_T2F_V3F */ - { 42103, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 42122, 0x00002A28 }, /* GL_T4F_V4F */ - { 42133, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 42156, 0x00001702 }, /* GL_TEXTURE */ - { 42167, 0x000084C0 }, /* GL_TEXTURE0 */ - { 42179, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 42195, 0x000084C1 }, /* GL_TEXTURE1 */ - { 42207, 0x000084CA }, /* GL_TEXTURE10 */ - { 42220, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 42237, 0x000084CB }, /* GL_TEXTURE11 */ - { 42250, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 42267, 0x000084CC }, /* GL_TEXTURE12 */ - { 42280, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 42297, 0x000084CD }, /* GL_TEXTURE13 */ - { 42310, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 42327, 0x000084CE }, /* GL_TEXTURE14 */ - { 42340, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 42357, 0x000084CF }, /* GL_TEXTURE15 */ - { 42370, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 42387, 0x000084D0 }, /* GL_TEXTURE16 */ - { 42400, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 42417, 0x000084D1 }, /* GL_TEXTURE17 */ - { 42430, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 42447, 0x000084D2 }, /* GL_TEXTURE18 */ - { 42460, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 42477, 0x000084D3 }, /* GL_TEXTURE19 */ - { 42490, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 42507, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 42523, 0x000084C2 }, /* GL_TEXTURE2 */ - { 42535, 0x000084D4 }, /* GL_TEXTURE20 */ - { 42548, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 42565, 0x000084D5 }, /* GL_TEXTURE21 */ - { 42578, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 42595, 0x000084D6 }, /* GL_TEXTURE22 */ - { 42608, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 42625, 0x000084D7 }, /* GL_TEXTURE23 */ - { 42638, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 42655, 0x000084D8 }, /* GL_TEXTURE24 */ - { 42668, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 42685, 0x000084D9 }, /* GL_TEXTURE25 */ - { 42698, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 42715, 0x000084DA }, /* GL_TEXTURE26 */ - { 42728, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 42745, 0x000084DB }, /* GL_TEXTURE27 */ - { 42758, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 42775, 0x000084DC }, /* GL_TEXTURE28 */ - { 42788, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 42805, 0x000084DD }, /* GL_TEXTURE29 */ - { 42818, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 42835, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 42851, 0x000084C3 }, /* GL_TEXTURE3 */ - { 42863, 0x000084DE }, /* GL_TEXTURE30 */ - { 42876, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 42893, 0x000084DF }, /* GL_TEXTURE31 */ - { 42906, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 42923, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 42939, 0x000084C4 }, /* GL_TEXTURE4 */ - { 42951, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 42967, 0x000084C5 }, /* GL_TEXTURE5 */ - { 42979, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 42995, 0x000084C6 }, /* GL_TEXTURE6 */ - { 43007, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 43023, 0x000084C7 }, /* GL_TEXTURE7 */ - { 43035, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 43051, 0x000084C8 }, /* GL_TEXTURE8 */ - { 43063, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 43079, 0x000084C9 }, /* GL_TEXTURE9 */ - { 43091, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 43107, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 43121, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY */ - { 43141, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 43165, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 43179, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY */ - { 43199, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 43223, 0x0000806F }, /* GL_TEXTURE_3D */ - { 43237, 0x0000806F }, /* GL_TEXTURE_3D_OES */ - { 43255, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 43277, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 43303, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 43325, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 43347, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY */ - { 43375, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 43407, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 43429, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY */ - { 43457, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 43489, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 43511, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ - { 43537, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER */ - { 43563, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER_ARB */ - { 43593, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 43621, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 43653, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ - { 43685, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE */ - { 43714, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 43747, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 43779, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 43794, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 43815, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 43840, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 43858, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 43882, 0x00008C2A }, /* GL_TEXTURE_BUFFER */ - { 43900, 0x00008C2A }, /* GL_TEXTURE_BUFFER_ARB */ - { 43922, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ - { 43959, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB */ - { 44000, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT */ - { 44025, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT_ARB */ - { 44054, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 44085, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 44115, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 44145, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 44180, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 44211, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 44249, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 44276, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 44308, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 44342, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 44366, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 44394, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 44418, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 44446, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 44479, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 44503, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 44525, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 44547, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 44573, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 44607, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 44640, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 44677, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 44705, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 44737, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 44760, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 44798, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 44840, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 44871, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 44899, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 44929, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 44957, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ - { 44982, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 45002, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 45026, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 45057, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 45092, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ - { 45127, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 45158, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 45193, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ - { 45228, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 45259, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 45294, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ - { 45329, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ - { 45353, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 45384, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 45419, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ - { 45454, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 45485, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 45520, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ - { 45555, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 45586, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 45621, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ - { 45656, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - { 45685, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 45702, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 45724, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 45750, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 45765, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 45786, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 45806, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 45832, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ - { 45862, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 45882, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ - { 45906, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 45923, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 45940, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 45957, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ - { 45980, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 45997, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 46022, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 46044, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 46070, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 46088, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 46114, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 46140, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 46170, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 46197, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 46222, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 46242, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 46266, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 46293, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 46320, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 46347, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 46373, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 46403, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 46425, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 46443, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 46483, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 46513, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 46541, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 46569, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 46597, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 46618, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 46637, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 46659, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 46678, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 46698, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - { 46728, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - { 46759, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE */ - { 46780, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 46805, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 46829, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 46849, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 46873, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 46893, 0x00008C3F }, /* GL_TEXTURE_SHARED_SIZE */ - { 46916, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 46939, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ - { 46963, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ - { 46991, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - { 47021, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 47046, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 47080, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 47097, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 47115, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ - { 47137, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 47155, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 47173, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ - { 47192, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 47212, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 47231, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 47260, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 47277, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ - { 47299, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ - { 47329, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER */ - { 47358, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ - { 47394, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ - { 47431, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - { 47472, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - { 47505, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ - { 47539, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - { 47577, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ - { 47613, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ - { 47647, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - { 47685, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ - { 47720, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - { 47759, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ - { 47800, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - { 47845, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ - { 47876, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - { 47911, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ - { 47952, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - { 47997, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 48023, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 48053, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 48085, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 48115, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 48149, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 48165, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 48196, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 48231, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 48259, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 48291, 0x00000004 }, /* GL_TRIANGLES */ - { 48304, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY */ - { 48327, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ - { 48354, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 48370, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 48391, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 48409, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY */ - { 48437, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ - { 48469, 0x00000001 }, /* GL_TRUE */ - { 48477, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ - { 48496, 0x00008255 }, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ - { 48525, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 48545, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 48568, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 48588, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 48609, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 48631, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 48653, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 48673, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 48694, 0x00009118 }, /* GL_UNSIGNALED */ - { 48708, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 48725, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 48752, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 48775, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 48791, 0x00008C3B }, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ - { 48823, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 48850, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ - { 48881, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ - { 48902, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ - { 48927, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 48951, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ - { 48976, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 49007, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ - { 49042, 0x00008C3E }, /* GL_UNSIGNED_INT_5_9_9_9_REV */ - { 49070, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 49094, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 49122, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D */ - { 49149, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ - { 49182, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */ - { 49219, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */ - { 49250, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D */ - { 49277, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ - { 49310, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */ - { 49347, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */ - { 49378, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ - { 49410, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */ - { 49446, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D */ - { 49473, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */ - { 49504, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ - { 49535, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */ - { 49570, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ - { 49599, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */ - { 49632, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2 */ - { 49653, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2_EXT */ - { 49678, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3 */ - { 49699, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3_EXT */ - { 49724, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4 */ - { 49745, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4_EXT */ - { 49770, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ - { 49793, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 49811, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 49841, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ - { 49875, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 49901, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 49931, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ - { 49965, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 49991, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 50015, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 50043, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 50071, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 50098, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 50130, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 50161, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 50175, 0x00002A20 }, /* GL_V2F */ - { 50182, 0x00002A21 }, /* GL_V3F */ - { 50189, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 50208, 0x00001F00 }, /* GL_VENDOR */ - { 50218, 0x00001F02 }, /* GL_VERSION */ - { 50229, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 50245, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ - { 50269, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 50299, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 50330, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 50365, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 50389, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 50410, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 50433, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 50454, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 50481, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 50509, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 50537, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 50565, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 50593, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 50621, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 50649, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 50676, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 50703, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 50730, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 50757, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 50784, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 50811, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 50838, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 50865, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 50892, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 50930, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 50972, 0x000088FE }, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ - { 51007, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 51038, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 51073, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ - { 51104, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ - { 51139, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 51173, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 51211, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 51242, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 51277, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 51305, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 51337, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 51367, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 51401, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 51429, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 51461, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 51481, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 51503, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 51532, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 51553, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 51582, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 51615, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 51647, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 51674, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 51705, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 51735, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 51752, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 51773, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 51800, 0x00000BA2 }, /* GL_VIEWPORT */ - { 51812, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 51828, 0x00008A1A }, /* GL_VOLATILE_APPLE */ - { 51846, 0x0000911D }, /* GL_WAIT_FAILED */ - { 51861, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 51881, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 51912, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 51947, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ - { 51982, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ - { 52002, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 52030, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ - { 52058, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 52083, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ - { 52108, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 52135, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ - { 52162, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 52187, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ - { 52212, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 52236, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 52255, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 52269, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 52287, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ - { 52305, 0x00001506 }, /* GL_XOR */ - { 52312, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 52331, 0x00008757 }, /* GL_YCBCR_MESA */ - { 52345, 0x00000000 }, /* GL_ZERO */ - { 52353, 0x00000D16 }, /* GL_ZOOM_X */ - { 52363, 0x00000D17 }, /* GL_ZOOM_Y */ + { 15538, 0x0000912F }, /* GL_GL_TEXTURE_IMMUTABLE_FORMAT */ + { 15569, 0x00000204 }, /* GL_GREATER */ + { 15580, 0x00001904 }, /* GL_GREEN */ + { 15589, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 15603, 0x00000D53 }, /* GL_GREEN_BITS */ + { 15617, 0x00008D95 }, /* GL_GREEN_INTEGER */ + { 15634, 0x00008D95 }, /* GL_GREEN_INTEGER_EXT */ + { 15655, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 15670, 0x00008253 }, /* GL_GUILTY_CONTEXT_RESET_ARB */ + { 15698, 0x0000140B }, /* GL_HALF_FLOAT */ + { 15712, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ + { 15730, 0x00008DF2 }, /* GL_HIGH_FLOAT */ + { 15744, 0x00008DF5 }, /* GL_HIGH_INT */ + { 15756, 0x00008000 }, /* GL_HINT_BIT */ + { 15768, 0x00008024 }, /* GL_HISTOGRAM */ + { 15781, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 15805, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 15833, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 15856, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 15883, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 15900, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 15920, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 15944, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 15968, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 15996, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 16024, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 16056, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 16078, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 16104, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 16122, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 16144, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 16163, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 16186, 0x0000862A }, /* GL_IDENTITY_NV */ + { 16201, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 16221, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + { 16257, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 16297, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + { 16331, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 16369, 0x00001E02 }, /* GL_INCR */ + { 16377, 0x00008507 }, /* GL_INCR_WRAP */ + { 16390, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 16407, 0x00008222 }, /* GL_INDEX */ + { 16416, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 16431, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 16461, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 16495, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 16518, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 16540, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 16560, 0x00000D51 }, /* GL_INDEX_BITS */ + { 16574, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 16595, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 16613, 0x00000C30 }, /* GL_INDEX_MODE */ + { 16627, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 16643, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 16658, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 16677, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 16696, 0x00008254 }, /* GL_INNOCENT_CONTEXT_RESET_ARB */ + { 16726, 0x00001404 }, /* GL_INT */ + { 16733, 0x00008049 }, /* GL_INTENSITY */ + { 16746, 0x0000804C }, /* GL_INTENSITY12 */ + { 16761, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 16780, 0x0000804D }, /* GL_INTENSITY16 */ + { 16795, 0x00008D8B }, /* GL_INTENSITY16I_EXT */ + { 16815, 0x00008D79 }, /* GL_INTENSITY16UI_EXT */ + { 16836, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 16855, 0x00008D85 }, /* GL_INTENSITY32I_EXT */ + { 16875, 0x00008D73 }, /* GL_INTENSITY32UI_EXT */ + { 16896, 0x0000804A }, /* GL_INTENSITY4 */ + { 16910, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 16928, 0x0000804B }, /* GL_INTENSITY8 */ + { 16942, 0x00008D91 }, /* GL_INTENSITY8I_EXT */ + { 16961, 0x00008D7F }, /* GL_INTENSITY8UI_EXT */ + { 16981, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 16999, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 17016, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS */ + { 17039, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ + { 17066, 0x00008575 }, /* GL_INTERPOLATE */ + { 17081, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 17100, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 17119, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ + { 17141, 0x00008D9F }, /* GL_INT_2_10_10_10_REV */ + { 17163, 0x00008DC9 }, /* GL_INT_SAMPLER_1D */ + { 17181, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY */ + { 17205, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY_EXT */ + { 17233, 0x00008DC9 }, /* GL_INT_SAMPLER_1D_EXT */ + { 17255, 0x00008DCA }, /* GL_INT_SAMPLER_2D */ + { 17273, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY */ + { 17297, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY_EXT */ + { 17325, 0x00008DCA }, /* GL_INT_SAMPLER_2D_EXT */ + { 17347, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT */ + { 17370, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT_EXT */ + { 17397, 0x00008DCB }, /* GL_INT_SAMPLER_3D */ + { 17415, 0x00008DCB }, /* GL_INT_SAMPLER_3D_EXT */ + { 17437, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER */ + { 17459, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER_EXT */ + { 17485, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE */ + { 17505, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE_EXT */ + { 17529, 0x00008B53 }, /* GL_INT_VEC2 */ + { 17541, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 17557, 0x00008B54 }, /* GL_INT_VEC3 */ + { 17569, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 17585, 0x00008B55 }, /* GL_INT_VEC4 */ + { 17597, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 17613, 0x00000500 }, /* GL_INVALID_ENUM */ + { 17629, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 17662, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 17699, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ + { 17736, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 17757, 0x00000501 }, /* GL_INVALID_VALUE */ + { 17774, 0x0000862B }, /* GL_INVERSE_NV */ + { 17788, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 17812, 0x0000150A }, /* GL_INVERT */ + { 17822, 0x00001E00 }, /* GL_KEEP */ + { 17830, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ + { 17856, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 17886, 0x00000406 }, /* GL_LEFT */ + { 17894, 0x00000203 }, /* GL_LEQUAL */ + { 17904, 0x00000201 }, /* GL_LESS */ + { 17912, 0x00004000 }, /* GL_LIGHT0 */ + { 17922, 0x00004001 }, /* GL_LIGHT1 */ + { 17932, 0x00004002 }, /* GL_LIGHT2 */ + { 17942, 0x00004003 }, /* GL_LIGHT3 */ + { 17952, 0x00004004 }, /* GL_LIGHT4 */ + { 17962, 0x00004005 }, /* GL_LIGHT5 */ + { 17972, 0x00004006 }, /* GL_LIGHT6 */ + { 17982, 0x00004007 }, /* GL_LIGHT7 */ + { 17992, 0x00000B50 }, /* GL_LIGHTING */ + { 18004, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 18020, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 18043, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 18072, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 18105, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 18133, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 18157, 0x00001B01 }, /* GL_LINE */ + { 18165, 0x00002601 }, /* GL_LINEAR */ + { 18175, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 18197, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 18227, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 18258, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 18282, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 18307, 0x00000001 }, /* GL_LINES */ + { 18316, 0x0000000A }, /* GL_LINES_ADJACENCY */ + { 18335, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ + { 18358, 0x00000004 }, /* GL_LINE_BIT */ + { 18370, 0x00000002 }, /* GL_LINE_LOOP */ + { 18383, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 18403, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 18418, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 18438, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 18454, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 18478, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 18501, 0x00000003 }, /* GL_LINE_STRIP */ + { 18515, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY */ + { 18539, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ + { 18567, 0x00000702 }, /* GL_LINE_TOKEN */ + { 18581, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 18595, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 18621, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 18641, 0x00008B82 }, /* GL_LINK_STATUS */ + { 18656, 0x00000B32 }, /* GL_LIST_BASE */ + { 18669, 0x00020000 }, /* GL_LIST_BIT */ + { 18681, 0x00000B33 }, /* GL_LIST_INDEX */ + { 18695, 0x00000B30 }, /* GL_LIST_MODE */ + { 18708, 0x00000101 }, /* GL_LOAD */ + { 18716, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 18728, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 18745, 0x00008252 }, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ + { 18774, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 18788, 0x00008DF0 }, /* GL_LOW_FLOAT */ + { 18801, 0x00008DF3 }, /* GL_LOW_INT */ + { 18812, 0x00001909 }, /* GL_LUMINANCE */ + { 18825, 0x00008041 }, /* GL_LUMINANCE12 */ + { 18840, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 18863, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 18890, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 18912, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 18938, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 18957, 0x00008042 }, /* GL_LUMINANCE16 */ + { 18972, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */ + { 18992, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */ + { 19013, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 19036, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 19063, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 19082, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */ + { 19102, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */ + { 19123, 0x0000803F }, /* GL_LUMINANCE4 */ + { 19137, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 19158, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 19183, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 19201, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 19222, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 19247, 0x00008040 }, /* GL_LUMINANCE8 */ + { 19261, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */ + { 19280, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */ + { 19300, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 19321, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 19346, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 19364, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 19383, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */ + { 19409, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */ + { 19436, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */ + { 19462, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */ + { 19489, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */ + { 19514, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */ + { 19540, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + { 19571, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */ + { 19596, 0x0000821B }, /* GL_MAJOR_VERSION */ + { 19613, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 19629, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 19649, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 19671, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 19685, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 19700, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 19724, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 19748, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 19772, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 19796, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 19813, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 19830, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 19858, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 19887, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 19916, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 19945, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 19974, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 20003, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 20032, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 20060, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 20088, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 20116, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 20144, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 20172, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 20200, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 20228, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 20256, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 20284, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 20300, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 20320, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 20342, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 20356, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 20371, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 20395, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 20419, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 20443, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 20467, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 20484, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 20501, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 20529, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 20558, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 20587, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 20616, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 20645, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 20674, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 20703, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 20731, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 20759, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 20787, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 20815, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 20843, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 20871, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 20899, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 20927, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 20955, 0x00000D10 }, /* GL_MAP_COLOR */ + { 20968, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 20994, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 21023, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 21051, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 21067, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 21082, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 21108, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 21125, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 21140, 0x00008630 }, /* GL_MATRIX0_NV */ + { 21154, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 21170, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 21186, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 21202, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 21218, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 21234, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 21250, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 21266, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 21282, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 21298, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 21314, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 21329, 0x00008631 }, /* GL_MATRIX1_NV */ + { 21343, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 21359, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 21375, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 21391, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 21407, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 21423, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 21439, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 21455, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 21471, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 21487, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 21503, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 21518, 0x00008632 }, /* GL_MATRIX2_NV */ + { 21532, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 21548, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 21564, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 21579, 0x00008633 }, /* GL_MATRIX3_NV */ + { 21593, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 21608, 0x00008634 }, /* GL_MATRIX4_NV */ + { 21622, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 21637, 0x00008635 }, /* GL_MATRIX5_NV */ + { 21651, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 21666, 0x00008636 }, /* GL_MATRIX6_NV */ + { 21680, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 21695, 0x00008637 }, /* GL_MATRIX7_NV */ + { 21709, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 21724, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 21739, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 21765, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + { 21806, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ + { 21832, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 21866, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ + { 21900, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 21931, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ + { 21962, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 21995, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ + { 22028, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 22059, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ + { 22090, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 22105, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 22127, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ + { 22149, 0x00008008 }, /* GL_MAX */ + { 22156, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 22179, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ + { 22206, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ + { 22234, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 22266, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 22292, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 22325, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 22351, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 22385, 0x00000D32 }, /* GL_MAX_CLIP_DISTANCES */ + { 22407, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 22426, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ + { 22451, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 22480, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 22512, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 22548, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 22584, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 22624, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 22650, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 22680, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 22705, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 22734, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 22763, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 22796, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ + { 22829, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 22849, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 22873, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 22897, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_NV */ + { 22920, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 22944, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 22969, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 22987, 0x00008008 }, /* GL_MAX_EXT */ + { 22998, 0x00009125 }, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ + { 23031, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 23066, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 23105, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + { 23137, 0x00009123 }, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ + { 23170, 0x00009124 }, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ + { 23204, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ + { 23236, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ + { 23272, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ + { 23308, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ + { 23348, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ + { 23388, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ + { 23432, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ + { 23467, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ + { 23506, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + { 23545, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 23559, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 23579, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 23617, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 23646, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 23670, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 23698, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ + { 23726, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 23749, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 23786, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 23822, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 23849, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 23878, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 23912, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 23948, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 23975, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 24007, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 24043, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 24072, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 24101, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 24129, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 24167, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 24211, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 24254, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 24288, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 24327, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 24364, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 24402, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 24445, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 24488, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 24518, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 24549, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ + { 24577, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */ + { 24609, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 24645, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 24681, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 24711, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ + { 24741, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 24775, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 24808, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ + { 24833, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 24862, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ + { 24891, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 24906, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ + { 24925, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 24952, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 24972, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 24996, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE */ + { 25023, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE_ARB */ + { 25054, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 25076, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 25102, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 25129, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 25160, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 25184, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ + { 25212, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 25246, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 25266, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 25293, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 25314, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 25339, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 25364, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 25399, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ + { 25448, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + { 25501, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ + { 25544, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + { 25591, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ + { 25637, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + { 25687, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ + { 25713, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 25735, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 25761, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ + { 25784, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 25806, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 25832, 0x00009122 }, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ + { 25864, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 25898, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 25936, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 25969, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 26006, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + { 26036, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 26060, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ + { 26084, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + { 26121, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 26142, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ + { 26158, 0x00008DF4 }, /* GL_MEDIUM_INT */ + { 26172, 0x00008007 }, /* GL_MIN */ + { 26179, 0x0000802E }, /* GL_MINMAX */ + { 26189, 0x0000802E }, /* GL_MINMAX_EXT */ + { 26203, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 26220, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 26241, 0x00008030 }, /* GL_MINMAX_SINK */ + { 26256, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 26275, 0x0000821C }, /* GL_MINOR_VERSION */ + { 26292, 0x00008007 }, /* GL_MIN_EXT */ + { 26303, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ + { 26331, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */ + { 26363, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 26382, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 26405, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 26428, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 26448, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 26468, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 26498, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 26526, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 26554, 0x00001700 }, /* GL_MODELVIEW */ + { 26567, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 26585, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 26604, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 26623, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 26642, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 26661, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 26680, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 26699, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 26718, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 26737, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 26756, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 26775, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 26793, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 26812, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 26831, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 26850, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 26869, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 26888, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 26907, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 26926, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 26945, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 26964, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 26983, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 27001, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 27020, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 27039, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 27057, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 27075, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 27093, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 27111, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 27129, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 27147, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 27165, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 27185, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 27227, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 27254, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 27279, 0x00002100 }, /* GL_MODULATE */ + { 27291, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 27311, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 27338, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 27363, 0x00000103 }, /* GL_MULT */ + { 27371, 0x0000809D }, /* GL_MULTISAMPLE */ + { 27386, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 27406, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 27425, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 27444, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 27468, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 27491, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 27521, 0x00002A25 }, /* GL_N3F_V3F */ + { 27532, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 27552, 0x0000150E }, /* GL_NAND */ + { 27560, 0x00002600 }, /* GL_NEAREST */ + { 27571, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 27602, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 27634, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 27659, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 27685, 0x00000200 }, /* GL_NEVER */ + { 27694, 0x00001102 }, /* GL_NICEST */ + { 27704, 0x00000000 }, /* GL_NONE */ + { 27712, 0x00000000 }, /* GL_NONE_OES */ + { 27724, 0x00001505 }, /* GL_NOOP */ + { 27732, 0x00001508 }, /* GL_NOR */ + { 27739, 0x00000BA1 }, /* GL_NORMALIZE */ + { 27752, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 27768, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 27799, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 27834, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 27858, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 27881, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 27902, 0x00008511 }, /* GL_NORMAL_MAP */ + { 27916, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 27934, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 27951, 0x00008511 }, /* GL_NORMAL_MAP_OES */ + { 27969, 0x00000205 }, /* GL_NOTEQUAL */ + { 27981, 0x00000000 }, /* GL_NO_ERROR */ + { 27993, 0x00008261 }, /* GL_NO_RESET_NOTIFICATION_ARB */ + { 28022, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 28056, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 28094, 0x0000821D }, /* GL_NUM_EXTENSIONS */ + { 28112, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS */ + { 28142, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + { 28176, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ + { 28205, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 28237, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 28279, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 28309, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 28349, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 28380, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 28409, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 28437, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 28467, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 28484, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 28510, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 28526, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 28561, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 28583, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 28598, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 28617, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 28647, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 28668, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 28696, 0x00000001 }, /* GL_ONE */ + { 28703, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 28731, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 28763, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 28791, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 28823, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 28846, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 28869, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 28892, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 28915, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 28933, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 28955, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 28977, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 28993, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 29013, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 29033, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 29051, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 29073, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 29095, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 29111, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 29131, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 29151, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 29169, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 29191, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 29213, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 29229, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 29249, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 29269, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 29290, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 29309, 0x00001507 }, /* GL_OR */ + { 29315, 0x00000A01 }, /* GL_ORDER */ + { 29324, 0x0000150D }, /* GL_OR_INVERTED */ + { 29339, 0x0000150B }, /* GL_OR_REVERSE */ + { 29353, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 29370, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 29388, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 29409, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 29429, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 29447, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 29466, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 29486, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 29506, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 29524, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 29543, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 29568, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 29592, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 29613, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 29635, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 29657, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 29682, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 29706, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 29727, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 29749, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 29771, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 29793, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 29824, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 29844, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 29869, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 29889, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 29914, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 29934, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 29959, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 29979, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 30004, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 30024, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 30049, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 30069, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 30094, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 30114, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 30139, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 30159, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 30184, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 30204, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 30229, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 30249, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 30274, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 30292, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 30313, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 30342, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 30375, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 30400, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 30423, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 30454, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 30489, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 30516, 0x00001B00 }, /* GL_POINT */ + { 30525, 0x00000000 }, /* GL_POINTS */ + { 30535, 0x00000002 }, /* GL_POINT_BIT */ + { 30548, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 30578, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 30612, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 30646, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 30681, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 30710, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 30743, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 30776, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 30810, 0x00000B11 }, /* GL_POINT_SIZE */ + { 30824, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + { 30863, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ + { 30887, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + { 30919, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + { 30950, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + { 30979, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 31005, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 31023, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 31045, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 31067, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 31090, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 31108, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 31130, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 31152, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 31175, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 31195, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 31211, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 31232, 0x00008861 }, /* GL_POINT_SPRITE */ + { 31248, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 31268, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 31297, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 31316, 0x00008861 }, /* GL_POINT_SPRITE_OES */ + { 31336, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 31362, 0x00000701 }, /* GL_POINT_TOKEN */ + { 31377, 0x00000009 }, /* GL_POLYGON */ + { 31388, 0x00000008 }, /* GL_POLYGON_BIT */ + { 31403, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 31419, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 31442, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 31467, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 31490, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 31513, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 31537, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 31561, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 31579, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 31602, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 31621, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 31644, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 31661, 0x00001203 }, /* GL_POSITION */ + { 31673, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 31705, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 31741, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 31774, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 31811, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 31842, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 31877, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 31909, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 31945, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 31978, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 32010, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 32046, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 32079, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 32116, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 32146, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 32180, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 32211, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 32246, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 32277, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 32312, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 32344, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 32380, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 32410, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 32444, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 32475, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 32510, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 32542, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 32573, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 32608, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 32640, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 32676, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 32705, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 32738, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 32768, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 32802, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 32841, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 32874, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 32914, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 32948, 0x00008578 }, /* GL_PREVIOUS */ + { 32960, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 32976, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 32992, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 33009, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 33030, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 33051, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED */ + { 33075, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ + { 33103, 0x00008F9D }, /* GL_PRIMITIVE_RESTART */ + { 33124, 0x00008F9E }, /* GL_PRIMITIVE_RESTART_INDEX */ + { 33151, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + { 33181, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */ + { 33205, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 33238, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 33270, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 33293, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS */ + { 33319, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ + { 33349, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH */ + { 33374, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ + { 33403, 0x00008257 }, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ + { 33438, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 33461, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 33491, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 33520, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 33548, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 33570, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 33598, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 33626, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 33648, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 33669, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 33709, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 33748, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 33778, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 33813, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 33846, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 33880, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 33919, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 33958, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 33980, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 34006, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 34030, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE */ + { 34052, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ + { 34078, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 34101, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 34123, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 34144, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 34165, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 34192, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 34224, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 34256, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 34291, 0x00001701 }, /* GL_PROJECTION */ + { 34305, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 34326, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 34369, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 34395, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ + { 34415, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 34439, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 34460, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 34479, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 34502, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 34541, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 34579, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 34599, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY */ + { 34625, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 34655, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 34679, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 34699, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY */ + { 34725, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 34755, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 34779, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 34799, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 34832, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 34858, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 34888, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE */ + { 34915, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 34946, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 34976, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ + { 34995, 0x00002003 }, /* GL_Q */ + { 35000, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 35025, 0x00000007 }, /* GL_QUADS */ + { 35034, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + { 35078, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 35126, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 35143, 0x00000008 }, /* GL_QUAD_STRIP */ + { 35157, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT */ + { 35184, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + { 35214, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT */ + { 35238, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ + { 35265, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 35287, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 35313, 0x00008E14 }, /* GL_QUERY_NO_WAIT */ + { 35330, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ + { 35350, 0x00008866 }, /* GL_QUERY_RESULT */ + { 35366, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 35386, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 35412, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 35442, 0x00008E13 }, /* GL_QUERY_WAIT */ + { 35456, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ + { 35473, 0x00002002 }, /* GL_R */ + { 35478, 0x00008C3A }, /* GL_R11F_G11F_B10F */ + { 35496, 0x00008F98 }, /* GL_R16_SNORM */ + { 35509, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 35521, 0x00008F94 }, /* GL_R8_SNORM */ + { 35533, 0x00008C89 }, /* GL_RASTERIZER_DISCARD */ + { 35555, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ + { 35581, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 35614, 0x00000C02 }, /* GL_READ_BUFFER */ + { 35629, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 35649, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ + { 35677, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 35709, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 35733, 0x000088B8 }, /* GL_READ_ONLY */ + { 35746, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 35763, 0x000088BA }, /* GL_READ_WRITE */ + { 35777, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 35795, 0x00001903 }, /* GL_RED */ + { 35802, 0x00008016 }, /* GL_REDUCE */ + { 35812, 0x00008016 }, /* GL_REDUCE_EXT */ + { 35826, 0x00000D15 }, /* GL_RED_BIAS */ + { 35838, 0x00000D52 }, /* GL_RED_BITS */ + { 35850, 0x00008D94 }, /* GL_RED_INTEGER */ + { 35865, 0x00008D94 }, /* GL_RED_INTEGER_EXT */ + { 35884, 0x00000D14 }, /* GL_RED_SCALE */ + { 35897, 0x00008F90 }, /* GL_RED_SNORM */ + { 35910, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 35928, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 35950, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 35971, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ + { 35993, 0x00008A19 }, /* GL_RELEASED_APPLE */ + { 36011, 0x00001C00 }, /* GL_RENDER */ + { 36021, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 36037, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 36064, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ + { 36095, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ + { 36119, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 36147, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ + { 36175, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 36201, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ + { 36231, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 36258, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ + { 36289, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 36309, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 36336, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ + { 36367, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 36390, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 36417, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ + { 36444, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 36476, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 36512, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ + { 36548, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ + { 36568, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 36593, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ + { 36622, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 36646, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ + { 36674, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 36703, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ + { 36736, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 36758, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 36784, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ + { 36810, 0x00001F01 }, /* GL_RENDERER */ + { 36822, 0x00000C40 }, /* GL_RENDER_MODE */ + { 36837, 0x00002901 }, /* GL_REPEAT */ + { 36847, 0x00001E01 }, /* GL_REPLACE */ + { 36858, 0x00008062 }, /* GL_REPLACE_EXT */ + { 36873, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 36896, 0x00008D68 }, /* GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES */ + { 36932, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 36950, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 36972, 0x00008256 }, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ + { 37007, 0x00008A1B }, /* GL_RETAINED_APPLE */ + { 37025, 0x00000102 }, /* GL_RETURN */ + { 37035, 0x00008F99 }, /* GL_RG16_SNORM */ + { 37049, 0x00008F95 }, /* GL_RG8_SNORM */ + { 37062, 0x00001907 }, /* GL_RGB */ + { 37069, 0x00008052 }, /* GL_RGB10 */ + { 37078, 0x00008059 }, /* GL_RGB10_A2 */ + { 37090, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 37106, 0x00008052 }, /* GL_RGB10_EXT */ + { 37119, 0x00008053 }, /* GL_RGB12 */ + { 37128, 0x00008053 }, /* GL_RGB12_EXT */ + { 37141, 0x00008054 }, /* GL_RGB16 */ + { 37150, 0x0000881B }, /* GL_RGB16F */ + { 37160, 0x00008D89 }, /* GL_RGB16I */ + { 37170, 0x00008D89 }, /* GL_RGB16I_EXT */ + { 37184, 0x00008D77 }, /* GL_RGB16UI */ + { 37195, 0x00008D77 }, /* GL_RGB16UI_EXT */ + { 37210, 0x00008054 }, /* GL_RGB16_EXT */ + { 37223, 0x00008F9A }, /* GL_RGB16_SNORM */ + { 37238, 0x0000804E }, /* GL_RGB2_EXT */ + { 37250, 0x00008815 }, /* GL_RGB32F */ + { 37260, 0x00008D83 }, /* GL_RGB32I */ + { 37270, 0x00008D83 }, /* GL_RGB32I_EXT */ + { 37284, 0x00008D71 }, /* GL_RGB32UI */ + { 37295, 0x00008D71 }, /* GL_RGB32UI_EXT */ + { 37310, 0x0000804F }, /* GL_RGB4 */ + { 37318, 0x0000804F }, /* GL_RGB4_EXT */ + { 37330, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 37343, 0x00008050 }, /* GL_RGB5 */ + { 37351, 0x00008D62 }, /* GL_RGB565 */ + { 37361, 0x00008D62 }, /* GL_RGB565_OES */ + { 37375, 0x00008057 }, /* GL_RGB5_A1 */ + { 37386, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 37401, 0x00008057 }, /* GL_RGB5_A1_OES */ + { 37416, 0x00008050 }, /* GL_RGB5_EXT */ + { 37428, 0x00008051 }, /* GL_RGB8 */ + { 37436, 0x00008D8F }, /* GL_RGB8I */ + { 37445, 0x00008D8F }, /* GL_RGB8I_EXT */ + { 37458, 0x00008D7D }, /* GL_RGB8UI */ + { 37468, 0x00008D7D }, /* GL_RGB8UI_EXT */ + { 37482, 0x00008051 }, /* GL_RGB8_EXT */ + { 37494, 0x00008051 }, /* GL_RGB8_OES */ + { 37506, 0x00008F96 }, /* GL_RGB8_SNORM */ + { 37520, 0x00008C3D }, /* GL_RGB9_E5 */ + { 37531, 0x00001908 }, /* GL_RGBA */ + { 37539, 0x0000805A }, /* GL_RGBA12 */ + { 37549, 0x0000805A }, /* GL_RGBA12_EXT */ + { 37563, 0x0000805B }, /* GL_RGBA16 */ + { 37573, 0x0000881A }, /* GL_RGBA16F */ + { 37584, 0x00008D88 }, /* GL_RGBA16I */ + { 37595, 0x00008D88 }, /* GL_RGBA16I_EXT */ + { 37610, 0x00008D76 }, /* GL_RGBA16UI */ + { 37622, 0x00008D76 }, /* GL_RGBA16UI_EXT */ + { 37638, 0x0000805B }, /* GL_RGBA16_EXT */ + { 37652, 0x00008F9B }, /* GL_RGBA16_SNORM */ + { 37668, 0x00008055 }, /* GL_RGBA2 */ + { 37677, 0x00008055 }, /* GL_RGBA2_EXT */ + { 37690, 0x00008814 }, /* GL_RGBA32F */ + { 37701, 0x00008D82 }, /* GL_RGBA32I */ + { 37712, 0x00008D82 }, /* GL_RGBA32I_EXT */ + { 37727, 0x00008D70 }, /* GL_RGBA32UI */ + { 37739, 0x00008D70 }, /* GL_RGBA32UI_EXT */ + { 37755, 0x00008056 }, /* GL_RGBA4 */ + { 37764, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 37783, 0x00008056 }, /* GL_RGBA4_EXT */ + { 37796, 0x00008056 }, /* GL_RGBA4_OES */ + { 37809, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 37823, 0x00008058 }, /* GL_RGBA8 */ + { 37832, 0x00008D8E }, /* GL_RGBA8I */ + { 37842, 0x00008D8E }, /* GL_RGBA8I_EXT */ + { 37856, 0x00008D7C }, /* GL_RGBA8UI */ + { 37867, 0x00008D7C }, /* GL_RGBA8UI_EXT */ + { 37882, 0x00008058 }, /* GL_RGBA8_EXT */ + { 37895, 0x00008058 }, /* GL_RGBA8_OES */ + { 37908, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 37923, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 37941, 0x00008820 }, /* GL_RGBA_FLOAT_MODE_ARB */ + { 37964, 0x00008D99 }, /* GL_RGBA_INTEGER */ + { 37980, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */ + { 38000, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */ + { 38025, 0x00000C31 }, /* GL_RGBA_MODE */ + { 38038, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 38051, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 38065, 0x00008D98 }, /* GL_RGB_INTEGER */ + { 38080, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */ + { 38099, 0x000083A0 }, /* GL_RGB_S3TC */ + { 38111, 0x00008573 }, /* GL_RGB_SCALE */ + { 38124, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 38141, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 38158, 0x00008F92 }, /* GL_RGB_SNORM */ + { 38171, 0x00008F91 }, /* GL_RG_SNORM */ + { 38183, 0x00000407 }, /* GL_RIGHT */ + { 38192, 0x00002000 }, /* GL_S */ + { 38197, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 38211, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY */ + { 38231, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY_EXT */ + { 38255, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW */ + { 38282, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */ + { 38313, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 38334, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 38348, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY */ + { 38368, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY_EXT */ + { 38392, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW */ + { 38419, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */ + { 38450, 0x00008B63 }, /* GL_SAMPLER_2D_RECT */ + { 38469, 0x00008B64 }, /* GL_SAMPLER_2D_RECT_SHADOW */ + { 38495, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 38516, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 38530, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ + { 38548, 0x00008919 }, /* GL_SAMPLER_BINDING */ + { 38567, 0x00008DC2 }, /* GL_SAMPLER_BUFFER */ + { 38585, 0x00008DC2 }, /* GL_SAMPLER_BUFFER_EXT */ + { 38607, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 38623, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW */ + { 38646, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW_EXT */ + { 38673, 0x00008D66 }, /* GL_SAMPLER_EXTERNAL_OES */ + { 38697, 0x000080A9 }, /* GL_SAMPLES */ + { 38708, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 38724, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 38739, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 38757, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 38779, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 38807, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 38839, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 38862, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 38889, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 38907, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 38930, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 38952, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 38971, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 38994, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 39020, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 39050, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 39075, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 39104, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 39119, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 39134, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 39150, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 39175, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 39215, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 39259, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 39292, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 39322, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 39354, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 39384, 0x00001C02 }, /* GL_SELECT */ + { 39394, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 39422, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 39447, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 39463, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS */ + { 39483, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ + { 39507, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 39534, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 39565, 0x0000150F }, /* GL_SET */ + { 39572, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ + { 39597, 0x00008DFA }, /* GL_SHADER_COMPILER */ + { 39616, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 39637, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 39661, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 39676, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 39691, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 39719, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 39742, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 39772, 0x00001601 }, /* GL_SHININESS */ + { 39785, 0x00001402 }, /* GL_SHORT */ + { 39794, 0x00009119 }, /* GL_SIGNALED */ + { 39806, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 39827, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 39843, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 39863, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 39882, 0x00008C46 }, /* GL_SLUMINANCE */ + { 39896, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 39911, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 39933, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 39953, 0x00001D01 }, /* GL_SMOOTH */ + { 39963, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 39996, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 40023, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 40056, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 40083, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 40100, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 40121, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 40142, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 40157, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 40176, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 40195, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 40212, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 40233, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 40254, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 40269, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 40288, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 40307, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 40324, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 40345, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 40366, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 40381, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 40400, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 40419, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 40439, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 40457, 0x00001202 }, /* GL_SPECULAR */ + { 40469, 0x00002402 }, /* GL_SPHERE_MAP */ + { 40483, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 40498, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 40516, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 40533, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 40547, 0x00008580 }, /* GL_SRC0_RGB */ + { 40559, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 40573, 0x00008581 }, /* GL_SRC1_RGB */ + { 40585, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 40599, 0x00008582 }, /* GL_SRC2_RGB */ + { 40611, 0x00000302 }, /* GL_SRC_ALPHA */ + { 40624, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 40646, 0x00000300 }, /* GL_SRC_COLOR */ + { 40659, 0x00008C40 }, /* GL_SRGB */ + { 40667, 0x00008C41 }, /* GL_SRGB8 */ + { 40676, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 40692, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 40706, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 40724, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 40743, 0x000088E6 }, /* GL_STATIC_COPY */ + { 40758, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 40777, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 40792, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 40811, 0x000088E5 }, /* GL_STATIC_READ */ + { 40826, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 40845, 0x00001802 }, /* GL_STENCIL */ + { 40856, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 40878, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 40904, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ + { 40930, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 40951, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 40976, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 40997, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 41022, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 41054, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 41090, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 41122, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 41158, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 41178, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 41205, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 41231, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 41247, 0x00008224 }, /* GL_STENCIL_BUFFER */ + { 41265, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 41287, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 41310, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 41326, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 41342, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 41359, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ + { 41377, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ + { 41396, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 41419, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 41441, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ + { 41463, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ + { 41481, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 41503, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ + { 41525, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ + { 41543, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 41565, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ + { 41587, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 41608, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 41635, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 41662, 0x00000B97 }, /* GL_STENCIL_REF */ + { 41677, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 41693, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 41722, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 41744, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 41765, 0x00000C33 }, /* GL_STEREO */ + { 41775, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 41799, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 41824, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 41848, 0x000088E2 }, /* GL_STREAM_COPY */ + { 41863, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 41882, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 41897, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 41916, 0x000088E1 }, /* GL_STREAM_READ */ + { 41931, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 41950, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 41967, 0x000084E7 }, /* GL_SUBTRACT */ + { 41979, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 41995, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 42013, 0x00009116 }, /* GL_SYNC_FENCE */ + { 42027, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 42041, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 42068, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 42098, 0x00009114 }, /* GL_SYNC_STATUS */ + { 42113, 0x00002001 }, /* GL_T */ + { 42118, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 42133, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 42152, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 42168, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 42183, 0x00002A27 }, /* GL_T2F_V3F */ + { 42194, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 42213, 0x00002A28 }, /* GL_T4F_V4F */ + { 42224, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 42247, 0x00001702 }, /* GL_TEXTURE */ + { 42258, 0x000084C0 }, /* GL_TEXTURE0 */ + { 42270, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 42286, 0x000084C1 }, /* GL_TEXTURE1 */ + { 42298, 0x000084CA }, /* GL_TEXTURE10 */ + { 42311, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 42328, 0x000084CB }, /* GL_TEXTURE11 */ + { 42341, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 42358, 0x000084CC }, /* GL_TEXTURE12 */ + { 42371, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 42388, 0x000084CD }, /* GL_TEXTURE13 */ + { 42401, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 42418, 0x000084CE }, /* GL_TEXTURE14 */ + { 42431, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 42448, 0x000084CF }, /* GL_TEXTURE15 */ + { 42461, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 42478, 0x000084D0 }, /* GL_TEXTURE16 */ + { 42491, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 42508, 0x000084D1 }, /* GL_TEXTURE17 */ + { 42521, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 42538, 0x000084D2 }, /* GL_TEXTURE18 */ + { 42551, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 42568, 0x000084D3 }, /* GL_TEXTURE19 */ + { 42581, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 42598, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 42614, 0x000084C2 }, /* GL_TEXTURE2 */ + { 42626, 0x000084D4 }, /* GL_TEXTURE20 */ + { 42639, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 42656, 0x000084D5 }, /* GL_TEXTURE21 */ + { 42669, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 42686, 0x000084D6 }, /* GL_TEXTURE22 */ + { 42699, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 42716, 0x000084D7 }, /* GL_TEXTURE23 */ + { 42729, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 42746, 0x000084D8 }, /* GL_TEXTURE24 */ + { 42759, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 42776, 0x000084D9 }, /* GL_TEXTURE25 */ + { 42789, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 42806, 0x000084DA }, /* GL_TEXTURE26 */ + { 42819, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 42836, 0x000084DB }, /* GL_TEXTURE27 */ + { 42849, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 42866, 0x000084DC }, /* GL_TEXTURE28 */ + { 42879, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 42896, 0x000084DD }, /* GL_TEXTURE29 */ + { 42909, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 42926, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 42942, 0x000084C3 }, /* GL_TEXTURE3 */ + { 42954, 0x000084DE }, /* GL_TEXTURE30 */ + { 42967, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 42984, 0x000084DF }, /* GL_TEXTURE31 */ + { 42997, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 43014, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 43030, 0x000084C4 }, /* GL_TEXTURE4 */ + { 43042, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 43058, 0x000084C5 }, /* GL_TEXTURE5 */ + { 43070, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 43086, 0x000084C6 }, /* GL_TEXTURE6 */ + { 43098, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 43114, 0x000084C7 }, /* GL_TEXTURE7 */ + { 43126, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 43142, 0x000084C8 }, /* GL_TEXTURE8 */ + { 43154, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 43170, 0x000084C9 }, /* GL_TEXTURE9 */ + { 43182, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 43198, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 43212, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY */ + { 43232, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 43256, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 43270, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY */ + { 43290, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 43314, 0x0000806F }, /* GL_TEXTURE_3D */ + { 43328, 0x0000806F }, /* GL_TEXTURE_3D_OES */ + { 43346, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 43368, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 43394, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 43416, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 43438, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY */ + { 43466, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 43498, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 43520, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY */ + { 43548, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 43580, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 43602, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ + { 43628, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER */ + { 43654, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER_ARB */ + { 43684, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 43712, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 43744, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ + { 43776, 0x00008D67 }, /* GL_TEXTURE_BINDING_EXTERNAL_OES */ + { 43808, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE */ + { 43837, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 43870, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 43902, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 43917, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 43938, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 43963, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 43981, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 44005, 0x00008C2A }, /* GL_TEXTURE_BUFFER */ + { 44023, 0x00008C2A }, /* GL_TEXTURE_BUFFER_ARB */ + { 44045, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ + { 44082, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB */ + { 44123, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT */ + { 44148, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT_ARB */ + { 44177, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 44208, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 44238, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 44268, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 44303, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 44334, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 44372, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 44399, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 44431, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 44465, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 44489, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 44517, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 44541, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 44569, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 44602, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 44626, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 44648, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 44670, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 44696, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 44730, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 44763, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 44800, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 44828, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 44860, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 44883, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 44921, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 44963, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 44994, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 45022, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 45052, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 45080, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ + { 45105, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 45125, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 45149, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 45180, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 45215, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ + { 45250, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 45281, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 45316, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ + { 45351, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 45382, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 45417, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ + { 45452, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ + { 45476, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 45507, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 45542, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ + { 45577, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 45608, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 45643, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ + { 45678, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 45709, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 45744, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ + { 45779, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 45808, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 45825, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 45847, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 45873, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 45888, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 45909, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 45929, 0x00008D65 }, /* GL_TEXTURE_EXTERNAL_OES */ + { 45953, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 45979, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ + { 46009, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 46029, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ + { 46053, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 46070, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 46087, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 46104, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ + { 46127, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 46144, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 46169, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 46191, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 46217, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 46235, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 46261, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 46287, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 46317, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 46344, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 46369, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 46389, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 46413, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 46440, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 46467, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 46494, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 46520, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 46550, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 46572, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 46590, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 46630, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 46660, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 46688, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 46716, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 46744, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 46765, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 46784, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 46806, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 46825, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 46845, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 46875, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 46906, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE */ + { 46927, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 46952, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 46976, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 46996, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 47020, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 47040, 0x00008C3F }, /* GL_TEXTURE_SHARED_SIZE */ + { 47063, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 47086, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 47110, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ + { 47138, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 47168, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 47193, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 47227, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 47244, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 47262, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ + { 47284, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 47302, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 47320, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 47339, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 47359, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 47378, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 47407, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 47424, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ + { 47446, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ + { 47476, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER */ + { 47505, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + { 47541, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ + { 47578, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + { 47619, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + { 47652, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ + { 47686, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + { 47724, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + { 47760, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ + { 47794, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + { 47832, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ + { 47867, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + { 47906, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ + { 47947, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + { 47992, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ + { 48023, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + { 48058, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ + { 48099, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + { 48144, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 48170, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 48200, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 48232, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 48262, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 48296, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 48312, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 48343, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 48378, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 48406, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 48438, 0x00000004 }, /* GL_TRIANGLES */ + { 48451, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY */ + { 48474, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ + { 48501, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 48517, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 48538, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 48556, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY */ + { 48584, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ + { 48616, 0x00000001 }, /* GL_TRUE */ + { 48624, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ + { 48643, 0x00008255 }, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ + { 48672, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 48692, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 48715, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 48735, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 48756, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 48778, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 48800, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 48820, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 48841, 0x00009118 }, /* GL_UNSIGNALED */ + { 48855, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 48872, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 48899, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 48922, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 48938, 0x00008C3B }, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ + { 48970, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 48997, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + { 49028, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 49049, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ + { 49074, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 49098, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ + { 49123, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 49154, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ + { 49189, 0x00008C3E }, /* GL_UNSIGNED_INT_5_9_9_9_REV */ + { 49217, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 49241, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 49269, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D */ + { 49296, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ + { 49329, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */ + { 49366, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */ + { 49397, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D */ + { 49424, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ + { 49457, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */ + { 49494, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */ + { 49525, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ + { 49557, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */ + { 49593, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D */ + { 49620, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */ + { 49651, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ + { 49682, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */ + { 49717, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ + { 49746, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */ + { 49779, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2 */ + { 49800, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2_EXT */ + { 49825, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3 */ + { 49846, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3_EXT */ + { 49871, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4 */ + { 49892, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4_EXT */ + { 49917, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 49940, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 49958, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 49988, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ + { 50022, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 50048, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 50078, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ + { 50112, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 50138, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 50162, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 50190, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 50218, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 50245, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 50277, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 50308, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 50322, 0x00002A20 }, /* GL_V2F */ + { 50329, 0x00002A21 }, /* GL_V3F */ + { 50336, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 50355, 0x00001F00 }, /* GL_VENDOR */ + { 50365, 0x00001F02 }, /* GL_VERSION */ + { 50376, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 50392, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 50416, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 50446, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 50477, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 50512, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 50536, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 50557, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 50580, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 50601, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 50628, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 50656, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 50684, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 50712, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 50740, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 50768, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 50796, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 50823, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 50850, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 50877, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 50904, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 50931, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 50958, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 50985, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 51012, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 51039, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 51077, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 51119, 0x000088FE }, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ + { 51154, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 51185, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 51220, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + { 51251, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ + { 51286, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 51320, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 51358, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 51389, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 51424, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 51452, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 51484, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 51514, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 51548, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 51576, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 51608, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 51628, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 51650, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 51679, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 51700, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 51729, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 51762, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 51794, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 51821, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 51852, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 51882, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 51899, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 51920, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 51947, 0x00000BA2 }, /* GL_VIEWPORT */ + { 51959, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 51975, 0x00008A1A }, /* GL_VOLATILE_APPLE */ + { 51993, 0x0000911D }, /* GL_WAIT_FAILED */ + { 52008, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 52028, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 52059, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 52094, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ + { 52129, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ + { 52149, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 52177, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ + { 52205, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 52230, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ + { 52255, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 52282, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ + { 52309, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 52334, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ + { 52359, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 52383, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 52402, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 52416, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 52434, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ + { 52452, 0x00001506 }, /* GL_XOR */ + { 52459, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 52478, 0x00008757 }, /* GL_YCBCR_MESA */ + { 52492, 0x00000000 }, /* GL_ZERO */ + { 52500, 0x00000D16 }, /* GL_ZOOM_X */ + { 52510, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1564] = +static const unsigned reduced_enums[1569] = { 555, /* GL_FALSE */ - 851, /* GL_LINES */ - 855, /* GL_LINE_LOOP */ - 862, /* GL_LINE_STRIP */ - 2174, /* GL_TRIANGLES */ - 2179, /* GL_TRIANGLE_STRIP */ - 2177, /* GL_TRIANGLE_FAN */ - 1539, /* GL_QUADS */ - 1543, /* GL_QUAD_STRIP */ - 1407, /* GL_POLYGON */ - 852, /* GL_LINES_ADJACENCY */ - 863, /* GL_LINE_STRIP_ADJACENCY */ - 2175, /* GL_TRIANGLES_ADJACENCY */ - 2180, /* GL_TRIANGLE_STRIP_ADJACENCY */ - 1419, /* GL_POLYGON_STIPPLE_BIT */ - 1362, /* GL_PIXEL_MODE_BIT */ - 838, /* GL_LIGHTING_BIT */ + 852, /* GL_LINES */ + 856, /* GL_LINE_LOOP */ + 863, /* GL_LINE_STRIP */ + 2179, /* GL_TRIANGLES */ + 2184, /* GL_TRIANGLE_STRIP */ + 2182, /* GL_TRIANGLE_FAN */ + 1540, /* GL_QUADS */ + 1544, /* GL_QUAD_STRIP */ + 1408, /* GL_POLYGON */ + 853, /* GL_LINES_ADJACENCY */ + 864, /* GL_LINE_STRIP_ADJACENCY */ + 2180, /* GL_TRIANGLES_ADJACENCY */ + 2185, /* GL_TRIANGLE_STRIP_ADJACENCY */ + 1420, /* GL_POLYGON_STIPPLE_BIT */ + 1363, /* GL_PIXEL_MODE_BIT */ + 839, /* GL_LIGHTING_BIT */ 589, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 874, /* GL_LOAD */ - 1629, /* GL_RETURN */ - 1227, /* GL_MULT */ + 875, /* GL_LOAD */ + 1631, /* GL_RETURN */ + 1228, /* GL_MULT */ 24, /* GL_ADD */ - 1243, /* GL_NEVER */ - 828, /* GL_LESS */ + 1244, /* GL_NEVER */ + 829, /* GL_LESS */ 545, /* GL_EQUAL */ - 827, /* GL_LEQUAL */ - 712, /* GL_GREATER */ - 1260, /* GL_NOTEQUAL */ + 828, /* GL_LEQUAL */ + 713, /* GL_GREATER */ + 1261, /* GL_NOTEQUAL */ 711, /* GL_GEQUAL */ 55, /* GL_ALWAYS */ - 1838, /* GL_SRC_COLOR */ - 1295, /* GL_ONE_MINUS_SRC_COLOR */ - 1836, /* GL_SRC_ALPHA */ - 1294, /* GL_ONE_MINUS_SRC_ALPHA */ + 1841, /* GL_SRC_COLOR */ + 1296, /* GL_ONE_MINUS_SRC_COLOR */ + 1839, /* GL_SRC_ALPHA */ + 1295, /* GL_ONE_MINUS_SRC_ALPHA */ 524, /* GL_DST_ALPHA */ - 1292, /* GL_ONE_MINUS_DST_ALPHA */ + 1293, /* GL_ONE_MINUS_DST_ALPHA */ 525, /* GL_DST_COLOR */ - 1293, /* GL_ONE_MINUS_DST_COLOR */ - 1837, /* GL_SRC_ALPHA_SATURATE */ + 1294, /* GL_ONE_MINUS_DST_COLOR */ + 1840, /* GL_SRC_ALPHA_SATURATE */ 688, /* GL_FRONT_LEFT */ 689, /* GL_FRONT_RIGHT */ 77, /* GL_BACK_LEFT */ 78, /* GL_BACK_RIGHT */ 685, /* GL_FRONT */ 76, /* GL_BACK */ - 826, /* GL_LEFT */ - 1719, /* GL_RIGHT */ + 827, /* GL_LEFT */ + 1721, /* GL_RIGHT */ 686, /* GL_FRONT_AND_BACK */ 71, /* GL_AUX0 */ 72, /* GL_AUX1 */ 73, /* GL_AUX2 */ 74, /* GL_AUX3 */ - 814, /* GL_INVALID_ENUM */ - 819, /* GL_INVALID_VALUE */ - 818, /* GL_INVALID_OPERATION */ - 1843, /* GL_STACK_OVERFLOW */ - 1844, /* GL_STACK_UNDERFLOW */ - 1320, /* GL_OUT_OF_MEMORY */ - 815, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 815, /* GL_INVALID_ENUM */ + 820, /* GL_INVALID_VALUE */ + 819, /* GL_INVALID_OPERATION */ + 1846, /* GL_STACK_OVERFLOW */ + 1847, /* GL_STACK_UNDERFLOW */ + 1321, /* GL_OUT_OF_MEMORY */ + 816, /* GL_INVALID_FRAMEBUFFER_OPERATION */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1340, /* GL_PASS_THROUGH_TOKEN */ - 1406, /* GL_POINT_TOKEN */ - 865, /* GL_LINE_TOKEN */ - 1420, /* GL_POLYGON_TOKEN */ + 1341, /* GL_PASS_THROUGH_TOKEN */ + 1407, /* GL_POINT_TOKEN */ + 866, /* GL_LINE_TOKEN */ + 1421, /* GL_POLYGON_TOKEN */ 87, /* GL_BITMAP_TOKEN */ 523, /* GL_DRAW_PIXEL_TOKEN */ 353, /* GL_COPY_PIXEL_TOKEN */ - 856, /* GL_LINE_RESET_TOKEN */ + 857, /* GL_LINE_RESET_TOKEN */ 548, /* GL_EXP */ 549, /* GL_EXP2 */ 390, /* GL_CW */ 154, /* GL_CCW */ 187, /* GL_COEFF */ - 1317, /* GL_ORDER */ + 1318, /* GL_ORDER */ 444, /* GL_DOMAIN */ 363, /* GL_CURRENT_COLOR */ 366, /* GL_CURRENT_INDEX */ @@ -4805,33 +4815,33 @@ static const unsigned reduced_enums[1564] = 381, /* GL_CURRENT_RASTER_POSITION */ 382, /* GL_CURRENT_RASTER_POSITION_VALID */ 379, /* GL_CURRENT_RASTER_DISTANCE */ - 1398, /* GL_POINT_SMOOTH */ - 1382, /* GL_POINT_SIZE */ - 1397, /* GL_POINT_SIZE_RANGE */ - 1388, /* GL_POINT_SIZE_GRANULARITY */ - 857, /* GL_LINE_SMOOTH */ - 866, /* GL_LINE_WIDTH */ - 868, /* GL_LINE_WIDTH_RANGE */ - 867, /* GL_LINE_WIDTH_GRANULARITY */ - 859, /* GL_LINE_STIPPLE */ - 860, /* GL_LINE_STIPPLE_PATTERN */ - 861, /* GL_LINE_STIPPLE_REPEAT */ - 873, /* GL_LIST_MODE */ - 1082, /* GL_MAX_LIST_NESTING */ - 870, /* GL_LIST_BASE */ - 872, /* GL_LIST_INDEX */ - 1409, /* GL_POLYGON_MODE */ - 1416, /* GL_POLYGON_SMOOTH */ - 1418, /* GL_POLYGON_STIPPLE */ + 1399, /* GL_POINT_SMOOTH */ + 1383, /* GL_POINT_SIZE */ + 1398, /* GL_POINT_SIZE_RANGE */ + 1389, /* GL_POINT_SIZE_GRANULARITY */ + 858, /* GL_LINE_SMOOTH */ + 867, /* GL_LINE_WIDTH */ + 869, /* GL_LINE_WIDTH_RANGE */ + 868, /* GL_LINE_WIDTH_GRANULARITY */ + 860, /* GL_LINE_STIPPLE */ + 861, /* GL_LINE_STIPPLE_PATTERN */ + 862, /* GL_LINE_STIPPLE_REPEAT */ + 874, /* GL_LIST_MODE */ + 1083, /* GL_MAX_LIST_NESTING */ + 871, /* GL_LIST_BASE */ + 873, /* GL_LIST_INDEX */ + 1410, /* GL_POLYGON_MODE */ + 1417, /* GL_POLYGON_SMOOTH */ + 1419, /* GL_POLYGON_STIPPLE */ 534, /* GL_EDGE_FLAG */ 356, /* GL_CULL_FACE */ 357, /* GL_CULL_FACE_MODE */ 687, /* GL_FRONT_FACE */ - 837, /* GL_LIGHTING */ - 842, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 843, /* GL_LIGHT_MODEL_TWO_SIDE */ - 839, /* GL_LIGHT_MODEL_AMBIENT */ - 1785, /* GL_SHADE_MODEL */ + 838, /* GL_LIGHTING */ + 843, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 844, /* GL_LIGHT_MODEL_TWO_SIDE */ + 840, /* GL_LIGHT_MODEL_AMBIENT */ + 1788, /* GL_SHADE_MODEL */ 235, /* GL_COLOR_MATERIAL_FACE */ 236, /* GL_COLOR_MATERIAL_PARAMETER */ 234, /* GL_COLOR_MATERIAL */ @@ -4848,24 +4858,24 @@ static const unsigned reduced_enums[1564] = 414, /* GL_DEPTH_CLEAR_VALUE */ 428, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1888, /* GL_STENCIL_TEST */ - 1869, /* GL_STENCIL_CLEAR_VALUE */ - 1871, /* GL_STENCIL_FUNC */ - 1890, /* GL_STENCIL_VALUE_MASK */ - 1870, /* GL_STENCIL_FAIL */ - 1885, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1886, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1887, /* GL_STENCIL_REF */ - 1891, /* GL_STENCIL_WRITEMASK */ - 1031, /* GL_MATRIX_MODE */ - 1249, /* GL_NORMALIZE */ - 2307, /* GL_VIEWPORT */ - 1222, /* GL_MODELVIEW_STACK_DEPTH */ - 1513, /* GL_PROJECTION_STACK_DEPTH */ - 2128, /* GL_TEXTURE_STACK_DEPTH */ - 1219, /* GL_MODELVIEW_MATRIX */ - 1511, /* GL_PROJECTION_MATRIX */ - 2108, /* GL_TEXTURE_MATRIX */ + 1891, /* GL_STENCIL_TEST */ + 1872, /* GL_STENCIL_CLEAR_VALUE */ + 1874, /* GL_STENCIL_FUNC */ + 1893, /* GL_STENCIL_VALUE_MASK */ + 1873, /* GL_STENCIL_FAIL */ + 1888, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1889, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1890, /* GL_STENCIL_REF */ + 1894, /* GL_STENCIL_WRITEMASK */ + 1032, /* GL_MATRIX_MODE */ + 1250, /* GL_NORMALIZE */ + 2312, /* GL_VIEWPORT */ + 1223, /* GL_MODELVIEW_STACK_DEPTH */ + 1514, /* GL_PROJECTION_STACK_DEPTH */ + 2133, /* GL_TEXTURE_STACK_DEPTH */ + 1220, /* GL_MODELVIEW_MATRIX */ + 1512, /* GL_PROJECTION_MATRIX */ + 2113, /* GL_TEXTURE_MATRIX */ 69, /* GL_ATTRIB_STACK_DEPTH */ 169, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 51, /* GL_ALPHA_TEST */ @@ -4875,267 +4885,267 @@ static const unsigned reduced_enums[1564] = 91, /* GL_BLEND_DST */ 105, /* GL_BLEND_SRC */ 88, /* GL_BLEND */ - 876, /* GL_LOGIC_OP_MODE */ - 761, /* GL_INDEX_LOGIC_OP */ + 877, /* GL_LOGIC_OP_MODE */ + 762, /* GL_INDEX_LOGIC_OP */ 233, /* GL_COLOR_LOGIC_OP */ 75, /* GL_AUX_BUFFERS */ 454, /* GL_DRAW_BUFFER */ - 1566, /* GL_READ_BUFFER */ - 1762, /* GL_SCISSOR_BOX */ - 1763, /* GL_SCISSOR_TEST */ - 760, /* GL_INDEX_CLEAR_VALUE */ - 765, /* GL_INDEX_WRITEMASK */ + 1567, /* GL_READ_BUFFER */ + 1765, /* GL_SCISSOR_BOX */ + 1766, /* GL_SCISSOR_TEST */ + 761, /* GL_INDEX_CLEAR_VALUE */ + 766, /* GL_INDEX_WRITEMASK */ 230, /* GL_COLOR_CLEAR_VALUE */ 272, /* GL_COLOR_WRITEMASK */ - 762, /* GL_INDEX_MODE */ - 1708, /* GL_RGBA_MODE */ + 763, /* GL_INDEX_MODE */ + 1710, /* GL_RGBA_MODE */ 453, /* GL_DOUBLEBUFFER */ - 1892, /* GL_STEREO */ - 1620, /* GL_RENDER_MODE */ - 1341, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1399, /* GL_POINT_SMOOTH_HINT */ - 858, /* GL_LINE_SMOOTH_HINT */ - 1417, /* GL_POLYGON_SMOOTH_HINT */ + 1895, /* GL_STEREO */ + 1621, /* GL_RENDER_MODE */ + 1342, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1400, /* GL_POINT_SMOOTH_HINT */ + 859, /* GL_LINE_SMOOTH_HINT */ + 1418, /* GL_POLYGON_SMOOTH_HINT */ 609, /* GL_FOG_HINT */ - 2088, /* GL_TEXTURE_GEN_S */ - 2090, /* GL_TEXTURE_GEN_T */ - 2087, /* GL_TEXTURE_GEN_R */ - 2086, /* GL_TEXTURE_GEN_Q */ - 1354, /* GL_PIXEL_MAP_I_TO_I */ - 1360, /* GL_PIXEL_MAP_S_TO_S */ - 1356, /* GL_PIXEL_MAP_I_TO_R */ - 1352, /* GL_PIXEL_MAP_I_TO_G */ - 1350, /* GL_PIXEL_MAP_I_TO_B */ - 1348, /* GL_PIXEL_MAP_I_TO_A */ - 1358, /* GL_PIXEL_MAP_R_TO_R */ - 1346, /* GL_PIXEL_MAP_G_TO_G */ - 1344, /* GL_PIXEL_MAP_B_TO_B */ - 1342, /* GL_PIXEL_MAP_A_TO_A */ - 1355, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1361, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1357, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1353, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1351, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1349, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1359, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1347, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1345, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1343, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 2192, /* GL_UNPACK_SWAP_BYTES */ - 2187, /* GL_UNPACK_LSB_FIRST */ - 2188, /* GL_UNPACK_ROW_LENGTH */ - 2191, /* GL_UNPACK_SKIP_ROWS */ - 2190, /* GL_UNPACK_SKIP_PIXELS */ - 2185, /* GL_UNPACK_ALIGNMENT */ - 1329, /* GL_PACK_SWAP_BYTES */ - 1324, /* GL_PACK_LSB_FIRST */ - 1325, /* GL_PACK_ROW_LENGTH */ - 1328, /* GL_PACK_SKIP_ROWS */ - 1327, /* GL_PACK_SKIP_PIXELS */ - 1321, /* GL_PACK_ALIGNMENT */ - 972, /* GL_MAP_COLOR */ - 977, /* GL_MAP_STENCIL */ - 764, /* GL_INDEX_SHIFT */ - 763, /* GL_INDEX_OFFSET */ - 1582, /* GL_RED_SCALE */ - 1578, /* GL_RED_BIAS */ - 2333, /* GL_ZOOM_X */ - 2334, /* GL_ZOOM_Y */ - 718, /* GL_GREEN_SCALE */ - 714, /* GL_GREEN_BIAS */ + 2093, /* GL_TEXTURE_GEN_S */ + 2095, /* GL_TEXTURE_GEN_T */ + 2092, /* GL_TEXTURE_GEN_R */ + 2091, /* GL_TEXTURE_GEN_Q */ + 1355, /* GL_PIXEL_MAP_I_TO_I */ + 1361, /* GL_PIXEL_MAP_S_TO_S */ + 1357, /* GL_PIXEL_MAP_I_TO_R */ + 1353, /* GL_PIXEL_MAP_I_TO_G */ + 1351, /* GL_PIXEL_MAP_I_TO_B */ + 1349, /* GL_PIXEL_MAP_I_TO_A */ + 1359, /* GL_PIXEL_MAP_R_TO_R */ + 1347, /* GL_PIXEL_MAP_G_TO_G */ + 1345, /* GL_PIXEL_MAP_B_TO_B */ + 1343, /* GL_PIXEL_MAP_A_TO_A */ + 1356, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1362, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1358, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1354, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1352, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1350, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1360, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1348, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1346, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1344, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 2197, /* GL_UNPACK_SWAP_BYTES */ + 2192, /* GL_UNPACK_LSB_FIRST */ + 2193, /* GL_UNPACK_ROW_LENGTH */ + 2196, /* GL_UNPACK_SKIP_ROWS */ + 2195, /* GL_UNPACK_SKIP_PIXELS */ + 2190, /* GL_UNPACK_ALIGNMENT */ + 1330, /* GL_PACK_SWAP_BYTES */ + 1325, /* GL_PACK_LSB_FIRST */ + 1326, /* GL_PACK_ROW_LENGTH */ + 1329, /* GL_PACK_SKIP_ROWS */ + 1328, /* GL_PACK_SKIP_PIXELS */ + 1322, /* GL_PACK_ALIGNMENT */ + 973, /* GL_MAP_COLOR */ + 978, /* GL_MAP_STENCIL */ + 765, /* GL_INDEX_SHIFT */ + 764, /* GL_INDEX_OFFSET */ + 1583, /* GL_RED_SCALE */ + 1579, /* GL_RED_BIAS */ + 2338, /* GL_ZOOM_X */ + 2339, /* GL_ZOOM_Y */ + 719, /* GL_GREEN_SCALE */ + 715, /* GL_GREEN_BIAS */ 115, /* GL_BLUE_SCALE */ 111, /* GL_BLUE_BIAS */ 50, /* GL_ALPHA_SCALE */ 47, /* GL_ALPHA_BIAS */ 430, /* GL_DEPTH_SCALE */ 406, /* GL_DEPTH_BIAS */ - 1064, /* GL_MAX_EVAL_ORDER */ - 1081, /* GL_MAX_LIGHTS */ - 1043, /* GL_MAX_CLIP_DISTANCES */ - 1137, /* GL_MAX_TEXTURE_SIZE */ - 1088, /* GL_MAX_PIXEL_MAP_TABLE */ - 1039, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 1084, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 1085, /* GL_MAX_NAME_STACK_DEPTH */ - 1116, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 1138, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 1164, /* GL_MAX_VIEWPORT_DIMS */ - 1040, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1902, /* GL_SUBPIXEL_BITS */ - 759, /* GL_INDEX_BITS */ - 1579, /* GL_RED_BITS */ - 715, /* GL_GREEN_BITS */ + 1065, /* GL_MAX_EVAL_ORDER */ + 1082, /* GL_MAX_LIGHTS */ + 1044, /* GL_MAX_CLIP_DISTANCES */ + 1138, /* GL_MAX_TEXTURE_SIZE */ + 1089, /* GL_MAX_PIXEL_MAP_TABLE */ + 1040, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 1085, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 1086, /* GL_MAX_NAME_STACK_DEPTH */ + 1117, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 1139, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 1165, /* GL_MAX_VIEWPORT_DIMS */ + 1041, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1905, /* GL_SUBPIXEL_BITS */ + 760, /* GL_INDEX_BITS */ + 1580, /* GL_RED_BITS */ + 716, /* GL_GREEN_BITS */ 112, /* GL_BLUE_BITS */ 48, /* GL_ALPHA_BITS */ 407, /* GL_DEPTH_BITS */ - 1866, /* GL_STENCIL_BITS */ + 1869, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 1236, /* GL_NAME_STACK_DEPTH */ + 1237, /* GL_NAME_STACK_DEPTH */ 70, /* GL_AUTO_NORMAL */ - 918, /* GL_MAP1_COLOR_4 */ - 921, /* GL_MAP1_INDEX */ - 922, /* GL_MAP1_NORMAL */ - 923, /* GL_MAP1_TEXTURE_COORD_1 */ - 924, /* GL_MAP1_TEXTURE_COORD_2 */ - 925, /* GL_MAP1_TEXTURE_COORD_3 */ - 926, /* GL_MAP1_TEXTURE_COORD_4 */ - 927, /* GL_MAP1_VERTEX_3 */ - 928, /* GL_MAP1_VERTEX_4 */ - 945, /* GL_MAP2_COLOR_4 */ - 948, /* GL_MAP2_INDEX */ - 949, /* GL_MAP2_NORMAL */ - 950, /* GL_MAP2_TEXTURE_COORD_1 */ - 951, /* GL_MAP2_TEXTURE_COORD_2 */ - 952, /* GL_MAP2_TEXTURE_COORD_3 */ - 953, /* GL_MAP2_TEXTURE_COORD_4 */ - 954, /* GL_MAP2_VERTEX_3 */ - 955, /* GL_MAP2_VERTEX_4 */ - 919, /* GL_MAP1_GRID_DOMAIN */ - 920, /* GL_MAP1_GRID_SEGMENTS */ - 946, /* GL_MAP2_GRID_DOMAIN */ - 947, /* GL_MAP2_GRID_SEGMENTS */ - 1985, /* GL_TEXTURE_1D */ - 1988, /* GL_TEXTURE_2D */ + 919, /* GL_MAP1_COLOR_4 */ + 922, /* GL_MAP1_INDEX */ + 923, /* GL_MAP1_NORMAL */ + 924, /* GL_MAP1_TEXTURE_COORD_1 */ + 925, /* GL_MAP1_TEXTURE_COORD_2 */ + 926, /* GL_MAP1_TEXTURE_COORD_3 */ + 927, /* GL_MAP1_TEXTURE_COORD_4 */ + 928, /* GL_MAP1_VERTEX_3 */ + 929, /* GL_MAP1_VERTEX_4 */ + 946, /* GL_MAP2_COLOR_4 */ + 949, /* GL_MAP2_INDEX */ + 950, /* GL_MAP2_NORMAL */ + 951, /* GL_MAP2_TEXTURE_COORD_1 */ + 952, /* GL_MAP2_TEXTURE_COORD_2 */ + 953, /* GL_MAP2_TEXTURE_COORD_3 */ + 954, /* GL_MAP2_TEXTURE_COORD_4 */ + 955, /* GL_MAP2_VERTEX_3 */ + 956, /* GL_MAP2_VERTEX_4 */ + 920, /* GL_MAP1_GRID_DOMAIN */ + 921, /* GL_MAP1_GRID_SEGMENTS */ + 947, /* GL_MAP2_GRID_DOMAIN */ + 948, /* GL_MAP2_GRID_SEGMENTS */ + 1988, /* GL_TEXTURE_1D */ + 1991, /* GL_TEXTURE_2D */ 558, /* GL_FEEDBACK_BUFFER_POINTER */ 559, /* GL_FEEDBACK_BUFFER_SIZE */ 560, /* GL_FEEDBACK_BUFFER_TYPE */ - 1772, /* GL_SELECTION_BUFFER_POINTER */ - 1773, /* GL_SELECTION_BUFFER_SIZE */ - 2134, /* GL_TEXTURE_WIDTH */ - 2094, /* GL_TEXTURE_HEIGHT */ - 2038, /* GL_TEXTURE_COMPONENTS */ - 2016, /* GL_TEXTURE_BORDER_COLOR */ - 2015, /* GL_TEXTURE_BORDER */ + 1775, /* GL_SELECTION_BUFFER_POINTER */ + 1776, /* GL_SELECTION_BUFFER_SIZE */ + 2139, /* GL_TEXTURE_WIDTH */ + 2099, /* GL_TEXTURE_HEIGHT */ + 2042, /* GL_TEXTURE_COMPONENTS */ + 2020, /* GL_TEXTURE_BORDER_COLOR */ + 2019, /* GL_TEXTURE_BORDER */ 445, /* GL_DONT_CARE */ 556, /* GL_FASTEST */ - 1244, /* GL_NICEST */ + 1245, /* GL_NICEST */ 56, /* GL_AMBIENT */ 442, /* GL_DIFFUSE */ - 1825, /* GL_SPECULAR */ - 1421, /* GL_POSITION */ - 1828, /* GL_SPOT_DIRECTION */ - 1829, /* GL_SPOT_EXPONENT */ - 1827, /* GL_SPOT_CUTOFF */ + 1828, /* GL_SPECULAR */ + 1422, /* GL_POSITION */ + 1831, /* GL_SPOT_DIRECTION */ + 1832, /* GL_SPOT_EXPONENT */ + 1830, /* GL_SPOT_CUTOFF */ 320, /* GL_CONSTANT_ATTENUATION */ - 846, /* GL_LINEAR_ATTENUATION */ - 1538, /* GL_QUADRATIC_ATTENUATION */ + 847, /* GL_LINEAR_ATTENUATION */ + 1539, /* GL_QUADRATIC_ATTENUATION */ 287, /* GL_COMPILE */ 288, /* GL_COMPILE_AND_EXECUTE */ 149, /* GL_BYTE */ - 2194, /* GL_UNSIGNED_BYTE */ - 1790, /* GL_SHORT */ - 2233, /* GL_UNSIGNED_SHORT */ - 768, /* GL_INT */ - 2197, /* GL_UNSIGNED_INT */ + 2199, /* GL_UNSIGNED_BYTE */ + 1793, /* GL_SHORT */ + 2238, /* GL_UNSIGNED_SHORT */ + 769, /* GL_INT */ + 2202, /* GL_UNSIGNED_INT */ 569, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ 452, /* GL_DOUBLE */ - 720, /* GL_HALF_FLOAT */ + 721, /* GL_HALF_FLOAT */ 564, /* GL_FIXED */ 165, /* GL_CLEAR */ 58, /* GL_AND */ 60, /* GL_AND_REVERSE */ 351, /* GL_COPY */ 59, /* GL_AND_INVERTED */ - 1247, /* GL_NOOP */ - 2329, /* GL_XOR */ - 1316, /* GL_OR */ - 1248, /* GL_NOR */ + 1248, /* GL_NOOP */ + 2334, /* GL_XOR */ + 1317, /* GL_OR */ + 1249, /* GL_NOR */ 546, /* GL_EQUIV */ - 822, /* GL_INVERT */ - 1319, /* GL_OR_REVERSE */ + 823, /* GL_INVERT */ + 1320, /* GL_OR_REVERSE */ 352, /* GL_COPY_INVERTED */ - 1318, /* GL_OR_INVERTED */ - 1237, /* GL_NAND */ - 1779, /* GL_SET */ + 1319, /* GL_OR_INVERTED */ + 1238, /* GL_NAND */ + 1782, /* GL_SET */ 543, /* GL_EMISSION */ - 1789, /* GL_SHININESS */ + 1792, /* GL_SHININESS */ 57, /* GL_AMBIENT_AND_DIFFUSE */ 232, /* GL_COLOR_INDEXES */ - 1186, /* GL_MODELVIEW */ - 1510, /* GL_PROJECTION */ - 1920, /* GL_TEXTURE */ + 1187, /* GL_MODELVIEW */ + 1511, /* GL_PROJECTION */ + 1923, /* GL_TEXTURE */ 188, /* GL_COLOR */ 399, /* GL_DEPTH */ - 1851, /* GL_STENCIL */ + 1854, /* GL_STENCIL */ 231, /* GL_COLOR_INDEX */ - 1872, /* GL_STENCIL_INDEX */ + 1875, /* GL_STENCIL_INDEX */ 415, /* GL_DEPTH_COMPONENT */ - 1575, /* GL_RED */ - 713, /* GL_GREEN */ + 1576, /* GL_RED */ + 714, /* GL_GREEN */ 110, /* GL_BLUE */ 32, /* GL_ALPHA */ - 1632, /* GL_RGB */ - 1672, /* GL_RGBA */ - 881, /* GL_LUMINANCE */ - 908, /* GL_LUMINANCE_ALPHA */ + 1634, /* GL_RGB */ + 1674, /* GL_RGBA */ + 882, /* GL_LUMINANCE */ + 909, /* GL_LUMINANCE_ALPHA */ 86, /* GL_BITMAP */ - 1371, /* GL_POINT */ - 844, /* GL_LINE */ + 1372, /* GL_POINT */ + 845, /* GL_LINE */ 561, /* GL_FILL */ - 1589, /* GL_RENDER */ + 1590, /* GL_RENDER */ 557, /* GL_FEEDBACK */ - 1771, /* GL_SELECT */ + 1774, /* GL_SELECT */ 568, /* GL_FLAT */ - 1800, /* GL_SMOOTH */ - 823, /* GL_KEEP */ - 1622, /* GL_REPLACE */ - 749, /* GL_INCR */ + 1803, /* GL_SMOOTH */ + 824, /* GL_KEEP */ + 1623, /* GL_REPLACE */ + 750, /* GL_INCR */ 395, /* GL_DECR */ - 2250, /* GL_VENDOR */ - 1619, /* GL_RENDERER */ - 2251, /* GL_VERSION */ + 2255, /* GL_VENDOR */ + 1620, /* GL_RENDERER */ + 2256, /* GL_VERSION */ 550, /* GL_EXTENSIONS */ - 1720, /* GL_S */ - 1911, /* GL_T */ - 1558, /* GL_R */ - 1537, /* GL_Q */ - 1223, /* GL_MODULATE */ + 1722, /* GL_S */ + 1914, /* GL_T */ + 1559, /* GL_R */ + 1538, /* GL_Q */ + 1224, /* GL_MODULATE */ 394, /* GL_DECAL */ - 2081, /* GL_TEXTURE_ENV_MODE */ - 2080, /* GL_TEXTURE_ENV_COLOR */ - 2079, /* GL_TEXTURE_ENV */ + 2085, /* GL_TEXTURE_ENV_MODE */ + 2084, /* GL_TEXTURE_ENV_COLOR */ + 2083, /* GL_TEXTURE_ENV */ 551, /* GL_EYE_LINEAR */ - 1277, /* GL_OBJECT_LINEAR */ - 1826, /* GL_SPHERE_MAP */ - 2084, /* GL_TEXTURE_GEN_MODE */ - 1279, /* GL_OBJECT_PLANE */ + 1278, /* GL_OBJECT_LINEAR */ + 1829, /* GL_SPHERE_MAP */ + 2089, /* GL_TEXTURE_GEN_MODE */ + 1280, /* GL_OBJECT_PLANE */ 552, /* GL_EYE_PLANE */ - 1238, /* GL_NEAREST */ - 845, /* GL_LINEAR */ - 1242, /* GL_NEAREST_MIPMAP_NEAREST */ - 850, /* GL_LINEAR_MIPMAP_NEAREST */ - 1241, /* GL_NEAREST_MIPMAP_LINEAR */ - 849, /* GL_LINEAR_MIPMAP_LINEAR */ - 2107, /* GL_TEXTURE_MAG_FILTER */ - 2116, /* GL_TEXTURE_MIN_FILTER */ - 2137, /* GL_TEXTURE_WRAP_S */ - 2138, /* GL_TEXTURE_WRAP_T */ + 1239, /* GL_NEAREST */ + 846, /* GL_LINEAR */ + 1243, /* GL_NEAREST_MIPMAP_NEAREST */ + 851, /* GL_LINEAR_MIPMAP_NEAREST */ + 1242, /* GL_NEAREST_MIPMAP_LINEAR */ + 850, /* GL_LINEAR_MIPMAP_LINEAR */ + 2112, /* GL_TEXTURE_MAG_FILTER */ + 2121, /* GL_TEXTURE_MIN_FILTER */ + 2142, /* GL_TEXTURE_WRAP_S */ + 2143, /* GL_TEXTURE_WRAP_T */ 155, /* GL_CLAMP */ - 1621, /* GL_REPEAT */ - 1415, /* GL_POLYGON_OFFSET_UNITS */ - 1414, /* GL_POLYGON_OFFSET_POINT */ - 1413, /* GL_POLYGON_OFFSET_LINE */ - 1561, /* GL_R3_G3_B2 */ - 2247, /* GL_V2F */ - 2248, /* GL_V3F */ + 1622, /* GL_REPEAT */ + 1416, /* GL_POLYGON_OFFSET_UNITS */ + 1415, /* GL_POLYGON_OFFSET_POINT */ + 1414, /* GL_POLYGON_OFFSET_LINE */ + 1562, /* GL_R3_G3_B2 */ + 2252, /* GL_V2F */ + 2253, /* GL_V3F */ 152, /* GL_C4UB_V2F */ 153, /* GL_C4UB_V3F */ 150, /* GL_C3F_V3F */ - 1235, /* GL_N3F_V3F */ + 1236, /* GL_N3F_V3F */ 151, /* GL_C4F_N3F_V3F */ - 1916, /* GL_T2F_V3F */ - 1918, /* GL_T4F_V4F */ - 1914, /* GL_T2F_C4UB_V3F */ - 1912, /* GL_T2F_C3F_V3F */ - 1915, /* GL_T2F_N3F_V3F */ - 1913, /* GL_T2F_C4F_N3F_V3F */ - 1917, /* GL_T4F_C4F_N3F_V4F */ + 1919, /* GL_T2F_V3F */ + 1921, /* GL_T4F_V4F */ + 1917, /* GL_T2F_C4UB_V3F */ + 1915, /* GL_T2F_C3F_V3F */ + 1918, /* GL_T2F_N3F_V3F */ + 1916, /* GL_T2F_C4F_N3F_V3F */ + 1920, /* GL_T4F_C4F_N3F_V4F */ 172, /* GL_CLIP_DISTANCE0 */ 173, /* GL_CLIP_DISTANCE1 */ 174, /* GL_CLIP_DISTANCE2 */ @@ -5144,184 +5154,184 @@ static const unsigned reduced_enums[1564] = 177, /* GL_CLIP_DISTANCE5 */ 178, /* GL_CLIP_DISTANCE6 */ 179, /* GL_CLIP_DISTANCE7 */ - 829, /* GL_LIGHT0 */ - 830, /* GL_LIGHT1 */ - 831, /* GL_LIGHT2 */ - 832, /* GL_LIGHT3 */ - 833, /* GL_LIGHT4 */ - 834, /* GL_LIGHT5 */ - 835, /* GL_LIGHT6 */ - 836, /* GL_LIGHT7 */ - 724, /* GL_HINT_BIT */ + 830, /* GL_LIGHT0 */ + 831, /* GL_LIGHT1 */ + 832, /* GL_LIGHT2 */ + 833, /* GL_LIGHT3 */ + 834, /* GL_LIGHT4 */ + 835, /* GL_LIGHT5 */ + 836, /* GL_LIGHT6 */ + 837, /* GL_LIGHT7 */ + 725, /* GL_HINT_BIT */ 322, /* GL_CONSTANT_COLOR */ - 1290, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 1291, /* GL_ONE_MINUS_CONSTANT_COLOR */ 317, /* GL_CONSTANT_ALPHA */ - 1288, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 1289, /* GL_ONE_MINUS_CONSTANT_ALPHA */ 89, /* GL_BLEND_COLOR */ 690, /* GL_FUNC_ADD */ - 1167, /* GL_MIN */ - 1034, /* GL_MAX */ + 1168, /* GL_MIN */ + 1035, /* GL_MAX */ 96, /* GL_BLEND_EQUATION */ 696, /* GL_FUNC_SUBTRACT */ 693, /* GL_FUNC_REVERSE_SUBTRACT */ 331, /* GL_CONVOLUTION_1D */ 332, /* GL_CONVOLUTION_2D */ - 1774, /* GL_SEPARABLE_2D */ + 1777, /* GL_SEPARABLE_2D */ 335, /* GL_CONVOLUTION_BORDER_MODE */ 339, /* GL_CONVOLUTION_FILTER_SCALE */ 337, /* GL_CONVOLUTION_FILTER_BIAS */ - 1576, /* GL_REDUCE */ + 1577, /* GL_REDUCE */ 341, /* GL_CONVOLUTION_FORMAT */ 345, /* GL_CONVOLUTION_WIDTH */ 343, /* GL_CONVOLUTION_HEIGHT */ - 1053, /* GL_MAX_CONVOLUTION_WIDTH */ - 1051, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1454, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1450, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1445, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1441, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1452, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1448, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1443, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1439, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 725, /* GL_HISTOGRAM */ - 1517, /* GL_PROXY_HISTOGRAM */ - 741, /* GL_HISTOGRAM_WIDTH */ - 731, /* GL_HISTOGRAM_FORMAT */ - 737, /* GL_HISTOGRAM_RED_SIZE */ - 733, /* GL_HISTOGRAM_GREEN_SIZE */ - 728, /* GL_HISTOGRAM_BLUE_SIZE */ - 726, /* GL_HISTOGRAM_ALPHA_SIZE */ - 735, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 739, /* GL_HISTOGRAM_SINK */ - 1168, /* GL_MINMAX */ - 1170, /* GL_MINMAX_FORMAT */ - 1172, /* GL_MINMAX_SINK */ - 1919, /* GL_TABLE_TOO_LARGE_EXT */ - 2196, /* GL_UNSIGNED_BYTE_3_3_2 */ - 2236, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 2239, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 2208, /* GL_UNSIGNED_INT_8_8_8_8 */ - 2199, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1412, /* GL_POLYGON_OFFSET_FILL */ - 1411, /* GL_POLYGON_OFFSET_FACTOR */ - 1410, /* GL_POLYGON_OFFSET_BIAS */ - 1625, /* GL_RESCALE_NORMAL */ + 1054, /* GL_MAX_CONVOLUTION_WIDTH */ + 1052, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1455, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1451, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1446, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1442, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1453, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1449, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1444, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1440, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 726, /* GL_HISTOGRAM */ + 1518, /* GL_PROXY_HISTOGRAM */ + 742, /* GL_HISTOGRAM_WIDTH */ + 732, /* GL_HISTOGRAM_FORMAT */ + 738, /* GL_HISTOGRAM_RED_SIZE */ + 734, /* GL_HISTOGRAM_GREEN_SIZE */ + 729, /* GL_HISTOGRAM_BLUE_SIZE */ + 727, /* GL_HISTOGRAM_ALPHA_SIZE */ + 736, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 740, /* GL_HISTOGRAM_SINK */ + 1169, /* GL_MINMAX */ + 1171, /* GL_MINMAX_FORMAT */ + 1173, /* GL_MINMAX_SINK */ + 1922, /* GL_TABLE_TOO_LARGE_EXT */ + 2201, /* GL_UNSIGNED_BYTE_3_3_2 */ + 2241, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 2244, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 2213, /* GL_UNSIGNED_INT_8_8_8_8 */ + 2204, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1413, /* GL_POLYGON_OFFSET_FILL */ + 1412, /* GL_POLYGON_OFFSET_FACTOR */ + 1411, /* GL_POLYGON_OFFSET_BIAS */ + 1627, /* GL_RESCALE_NORMAL */ 41, /* GL_ALPHA4 */ 43, /* GL_ALPHA8 */ 33, /* GL_ALPHA12 */ 35, /* GL_ALPHA16 */ - 896, /* GL_LUMINANCE4 */ - 902, /* GL_LUMINANCE8 */ - 882, /* GL_LUMINANCE12 */ - 888, /* GL_LUMINANCE16 */ - 897, /* GL_LUMINANCE4_ALPHA4 */ - 900, /* GL_LUMINANCE6_ALPHA2 */ - 905, /* GL_LUMINANCE8_ALPHA8 */ - 885, /* GL_LUMINANCE12_ALPHA4 */ - 883, /* GL_LUMINANCE12_ALPHA12 */ - 891, /* GL_LUMINANCE16_ALPHA16 */ - 769, /* GL_INTENSITY */ - 778, /* GL_INTENSITY4 */ - 780, /* GL_INTENSITY8 */ - 770, /* GL_INTENSITY12 */ - 772, /* GL_INTENSITY16 */ - 1647, /* GL_RGB2_EXT */ - 1653, /* GL_RGB4 */ - 1656, /* GL_RGB5 */ - 1663, /* GL_RGB8 */ - 1633, /* GL_RGB10 */ - 1637, /* GL_RGB12 */ - 1639, /* GL_RGB16 */ - 1683, /* GL_RGBA2 */ - 1690, /* GL_RGBA4 */ - 1659, /* GL_RGB5_A1 */ - 1695, /* GL_RGBA8 */ - 1634, /* GL_RGB10_A2 */ - 1673, /* GL_RGBA12 */ - 1675, /* GL_RGBA16 */ - 2124, /* GL_TEXTURE_RED_SIZE */ - 2092, /* GL_TEXTURE_GREEN_SIZE */ - 2013, /* GL_TEXTURE_BLUE_SIZE */ - 1993, /* GL_TEXTURE_ALPHA_SIZE */ - 2105, /* GL_TEXTURE_LUMINANCE_SIZE */ - 2096, /* GL_TEXTURE_INTENSITY_SIZE */ - 1623, /* GL_REPLACE_EXT */ - 1521, /* GL_PROXY_TEXTURE_1D */ - 1525, /* GL_PROXY_TEXTURE_2D */ - 2132, /* GL_TEXTURE_TOO_LARGE_EXT */ - 2118, /* GL_TEXTURE_PRIORITY */ - 2126, /* GL_TEXTURE_RESIDENT */ - 1996, /* GL_TEXTURE_BINDING_1D */ - 1999, /* GL_TEXTURE_BINDING_2D */ - 2002, /* GL_TEXTURE_BINDING_3D */ - 1326, /* GL_PACK_SKIP_IMAGES */ - 1322, /* GL_PACK_IMAGE_HEIGHT */ - 2189, /* GL_UNPACK_SKIP_IMAGES */ - 2186, /* GL_UNPACK_IMAGE_HEIGHT */ - 1991, /* GL_TEXTURE_3D */ - 1529, /* GL_PROXY_TEXTURE_3D */ - 2076, /* GL_TEXTURE_DEPTH */ - 2135, /* GL_TEXTURE_WRAP_R */ - 1035, /* GL_MAX_3D_TEXTURE_SIZE */ - 2252, /* GL_VERTEX_ARRAY */ - 1250, /* GL_NORMAL_ARRAY */ + 897, /* GL_LUMINANCE4 */ + 903, /* GL_LUMINANCE8 */ + 883, /* GL_LUMINANCE12 */ + 889, /* GL_LUMINANCE16 */ + 898, /* GL_LUMINANCE4_ALPHA4 */ + 901, /* GL_LUMINANCE6_ALPHA2 */ + 906, /* GL_LUMINANCE8_ALPHA8 */ + 886, /* GL_LUMINANCE12_ALPHA4 */ + 884, /* GL_LUMINANCE12_ALPHA12 */ + 892, /* GL_LUMINANCE16_ALPHA16 */ + 770, /* GL_INTENSITY */ + 779, /* GL_INTENSITY4 */ + 781, /* GL_INTENSITY8 */ + 771, /* GL_INTENSITY12 */ + 773, /* GL_INTENSITY16 */ + 1649, /* GL_RGB2_EXT */ + 1655, /* GL_RGB4 */ + 1658, /* GL_RGB5 */ + 1665, /* GL_RGB8 */ + 1635, /* GL_RGB10 */ + 1639, /* GL_RGB12 */ + 1641, /* GL_RGB16 */ + 1685, /* GL_RGBA2 */ + 1692, /* GL_RGBA4 */ + 1661, /* GL_RGB5_A1 */ + 1697, /* GL_RGBA8 */ + 1636, /* GL_RGB10_A2 */ + 1675, /* GL_RGBA12 */ + 1677, /* GL_RGBA16 */ + 2129, /* GL_TEXTURE_RED_SIZE */ + 2097, /* GL_TEXTURE_GREEN_SIZE */ + 2017, /* GL_TEXTURE_BLUE_SIZE */ + 1996, /* GL_TEXTURE_ALPHA_SIZE */ + 2110, /* GL_TEXTURE_LUMINANCE_SIZE */ + 2101, /* GL_TEXTURE_INTENSITY_SIZE */ + 1624, /* GL_REPLACE_EXT */ + 1522, /* GL_PROXY_TEXTURE_1D */ + 1526, /* GL_PROXY_TEXTURE_2D */ + 2137, /* GL_TEXTURE_TOO_LARGE_EXT */ + 2123, /* GL_TEXTURE_PRIORITY */ + 2131, /* GL_TEXTURE_RESIDENT */ + 1999, /* GL_TEXTURE_BINDING_1D */ + 2002, /* GL_TEXTURE_BINDING_2D */ + 2005, /* GL_TEXTURE_BINDING_3D */ + 1327, /* GL_PACK_SKIP_IMAGES */ + 1323, /* GL_PACK_IMAGE_HEIGHT */ + 2194, /* GL_UNPACK_SKIP_IMAGES */ + 2191, /* GL_UNPACK_IMAGE_HEIGHT */ + 1994, /* GL_TEXTURE_3D */ + 1530, /* GL_PROXY_TEXTURE_3D */ + 2080, /* GL_TEXTURE_DEPTH */ + 2140, /* GL_TEXTURE_WRAP_R */ + 1036, /* GL_MAX_3D_TEXTURE_SIZE */ + 2257, /* GL_VERTEX_ARRAY */ + 1251, /* GL_NORMAL_ARRAY */ 189, /* GL_COLOR_ARRAY */ - 753, /* GL_INDEX_ARRAY */ - 2046, /* GL_TEXTURE_COORD_ARRAY */ + 754, /* GL_INDEX_ARRAY */ + 2050, /* GL_TEXTURE_COORD_ARRAY */ 535, /* GL_EDGE_FLAG_ARRAY */ - 2258, /* GL_VERTEX_ARRAY_SIZE */ - 2260, /* GL_VERTEX_ARRAY_TYPE */ - 2259, /* GL_VERTEX_ARRAY_STRIDE */ - 1255, /* GL_NORMAL_ARRAY_TYPE */ - 1254, /* GL_NORMAL_ARRAY_STRIDE */ + 2263, /* GL_VERTEX_ARRAY_SIZE */ + 2265, /* GL_VERTEX_ARRAY_TYPE */ + 2264, /* GL_VERTEX_ARRAY_STRIDE */ + 1256, /* GL_NORMAL_ARRAY_TYPE */ + 1255, /* GL_NORMAL_ARRAY_STRIDE */ 193, /* GL_COLOR_ARRAY_SIZE */ 195, /* GL_COLOR_ARRAY_TYPE */ 194, /* GL_COLOR_ARRAY_STRIDE */ - 758, /* GL_INDEX_ARRAY_TYPE */ - 757, /* GL_INDEX_ARRAY_STRIDE */ - 2050, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 2052, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 2051, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 759, /* GL_INDEX_ARRAY_TYPE */ + 758, /* GL_INDEX_ARRAY_STRIDE */ + 2054, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 2056, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 2055, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ 539, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 2257, /* GL_VERTEX_ARRAY_POINTER */ - 1253, /* GL_NORMAL_ARRAY_POINTER */ + 2262, /* GL_VERTEX_ARRAY_POINTER */ + 1254, /* GL_NORMAL_ARRAY_POINTER */ 192, /* GL_COLOR_ARRAY_POINTER */ - 756, /* GL_INDEX_ARRAY_POINTER */ - 2049, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 757, /* GL_INDEX_ARRAY_POINTER */ + 2053, /* GL_TEXTURE_COORD_ARRAY_POINTER */ 538, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 1228, /* GL_MULTISAMPLE */ - 1748, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1750, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1755, /* GL_SAMPLE_COVERAGE */ - 1752, /* GL_SAMPLE_BUFFERS */ - 1743, /* GL_SAMPLES */ - 1759, /* GL_SAMPLE_COVERAGE_VALUE */ - 1757, /* GL_SAMPLE_COVERAGE_INVERT */ + 1229, /* GL_MULTISAMPLE */ + 1751, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1753, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1758, /* GL_SAMPLE_COVERAGE */ + 1755, /* GL_SAMPLE_BUFFERS */ + 1746, /* GL_SAMPLES */ + 1762, /* GL_SAMPLE_COVERAGE_VALUE */ + 1760, /* GL_SAMPLE_COVERAGE_INVERT */ 237, /* GL_COLOR_MATRIX */ 239, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 1047, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1437, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1433, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1428, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1424, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1435, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1431, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1426, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1422, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 2029, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1530, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 2031, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 1048, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1438, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1434, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1429, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1425, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1436, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1432, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1427, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1423, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 2033, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1531, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 2035, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ 94, /* GL_BLEND_DST_RGB */ 108, /* GL_BLEND_SRC_RGB */ 92, /* GL_BLEND_DST_ALPHA */ 106, /* GL_BLEND_SRC_ALPHA */ 243, /* GL_COLOR_TABLE */ - 1447, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1430, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1516, /* GL_PROXY_COLOR_TABLE */ - 1520, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1519, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 1448, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1431, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1517, /* GL_PROXY_COLOR_TABLE */ + 1521, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1520, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ 267, /* GL_COLOR_TABLE_SCALE */ 247, /* GL_COLOR_TABLE_BIAS */ 252, /* GL_COLOR_TABLE_FORMAT */ @@ -5334,62 +5344,62 @@ static const unsigned reduced_enums[1564] = 258, /* GL_COLOR_TABLE_INTENSITY_SIZE */ 79, /* GL_BGR */ 80, /* GL_BGRA */ - 1063, /* GL_MAX_ELEMENTS_VERTICES */ - 1062, /* GL_MAX_ELEMENTS_INDICES */ - 2095, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 1064, /* GL_MAX_ELEMENTS_VERTICES */ + 1063, /* GL_MAX_ELEMENTS_INDICES */ + 2100, /* GL_TEXTURE_INDEX_SIZE_EXT */ 186, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1393, /* GL_POINT_SIZE_MIN */ - 1389, /* GL_POINT_SIZE_MAX */ - 1378, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1374, /* GL_POINT_DISTANCE_ATTENUATION */ + 1394, /* GL_POINT_SIZE_MIN */ + 1390, /* GL_POINT_SIZE_MAX */ + 1379, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1375, /* GL_POINT_DISTANCE_ATTENUATION */ 159, /* GL_CLAMP_TO_BORDER */ 162, /* GL_CLAMP_TO_EDGE */ - 2117, /* GL_TEXTURE_MIN_LOD */ - 2115, /* GL_TEXTURE_MAX_LOD */ - 1995, /* GL_TEXTURE_BASE_LEVEL */ - 2114, /* GL_TEXTURE_MAX_LEVEL */ - 744, /* GL_IGNORE_BORDER_HP */ + 2122, /* GL_TEXTURE_MIN_LOD */ + 2120, /* GL_TEXTURE_MAX_LOD */ + 1998, /* GL_TEXTURE_BASE_LEVEL */ + 2119, /* GL_TEXTURE_MAX_LEVEL */ + 745, /* GL_IGNORE_BORDER_HP */ 321, /* GL_CONSTANT_BORDER_HP */ - 1624, /* GL_REPLICATE_BORDER_HP */ + 1625, /* GL_REPLICATE_BORDER_HP */ 333, /* GL_CONVOLUTION_BORDER_COLOR */ - 1285, /* GL_OCCLUSION_TEST_HP */ - 1286, /* GL_OCCLUSION_TEST_RESULT_HP */ - 847, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 2023, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 2025, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 2027, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 2028, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 2026, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 2024, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 1041, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 1042, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1457, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1459, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1456, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1458, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 2103, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 2104, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 2102, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 1286, /* GL_OCCLUSION_TEST_HP */ + 1287, /* GL_OCCLUSION_TEST_RESULT_HP */ + 848, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 2027, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 2029, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 2031, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 2032, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 2030, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 2028, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 1042, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 1043, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1458, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1460, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1457, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1459, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 2108, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 2109, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 2107, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ 699, /* GL_GENERATE_MIPMAP */ 700, /* GL_GENERATE_MIPMAP_HINT */ 612, /* GL_FOG_OFFSET_SGIX */ 613, /* GL_FOG_OFFSET_VALUE_SGIX */ - 2037, /* GL_TEXTURE_COMPARE_SGIX */ - 2036, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 2099, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 2091, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 2041, /* GL_TEXTURE_COMPARE_SGIX */ + 2040, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 2104, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 2096, /* GL_TEXTURE_GEQUAL_R_SGIX */ 416, /* GL_DEPTH_COMPONENT16 */ 420, /* GL_DEPTH_COMPONENT24 */ 424, /* GL_DEPTH_COMPONENT32 */ 358, /* GL_CULL_VERTEX_EXT */ 360, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ 359, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 2325, /* GL_WRAP_BORDER_SUN */ - 2030, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 840, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1793, /* GL_SINGLE_COLOR */ - 1777, /* GL_SEPARATE_SPECULAR_COLOR */ - 1788, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 2330, /* GL_WRAP_BORDER_SUN */ + 2034, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 841, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1796, /* GL_SINGLE_COLOR */ + 1780, /* GL_SEPARATE_SPECULAR_COLOR */ + 1791, /* GL_SHARED_TEXTURE_PALETTE_EXT */ 624, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ 625, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ 636, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ @@ -5401,46 +5411,46 @@ static const unsigned reduced_enums[1564] = 654, /* GL_FRAMEBUFFER_DEFAULT */ 681, /* GL_FRAMEBUFFER_UNDEFINED */ 432, /* GL_DEPTH_STENCIL_ATTACHMENT */ - 917, /* GL_MAJOR_VERSION */ - 1174, /* GL_MINOR_VERSION */ - 1265, /* GL_NUM_EXTENSIONS */ + 918, /* GL_MAJOR_VERSION */ + 1175, /* GL_MINOR_VERSION */ + 1266, /* GL_NUM_EXTENSIONS */ 327, /* GL_CONTEXT_FLAGS */ - 752, /* GL_INDEX */ + 753, /* GL_INDEX */ 410, /* GL_DEPTH_BUFFER */ - 1867, /* GL_STENCIL_BUFFER */ + 1870, /* GL_STENCIL_BUFFER */ 298, /* GL_COMPRESSED_RED */ 299, /* GL_COMPRESSED_RG */ - 877, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ - 719, /* GL_GUILTY_CONTEXT_RESET_ARB */ - 767, /* GL_INNOCENT_CONTEXT_RESET_ARB */ - 2184, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ - 1627, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ - 1479, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ - 1262, /* GL_NO_RESET_NOTIFICATION_ARB */ - 2195, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 2240, /* GL_UNSIGNED_SHORT_5_6_5 */ - 2241, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 2237, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 2234, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 2209, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 2205, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 2112, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 2113, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 2111, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 1178, /* GL_MIRRORED_REPEAT */ - 1713, /* GL_RGB_S3TC */ - 1655, /* GL_RGB4_S3TC */ - 1709, /* GL_RGBA_S3TC */ - 1694, /* GL_RGBA4_S3TC */ - 1703, /* GL_RGBA_DXT5_S3TC */ - 1691, /* GL_RGBA4_DXT5_S3TC */ + 878, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ + 720, /* GL_GUILTY_CONTEXT_RESET_ARB */ + 768, /* GL_INNOCENT_CONTEXT_RESET_ARB */ + 2189, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ + 1629, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ + 1480, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ + 1263, /* GL_NO_RESET_NOTIFICATION_ARB */ + 2200, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 2245, /* GL_UNSIGNED_SHORT_5_6_5 */ + 2246, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 2242, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 2239, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 2214, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 2210, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 2117, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 2118, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 2116, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 1179, /* GL_MIRRORED_REPEAT */ + 1715, /* GL_RGB_S3TC */ + 1657, /* GL_RGB4_S3TC */ + 1711, /* GL_RGBA_S3TC */ + 1696, /* GL_RGBA4_S3TC */ + 1705, /* GL_RGBA_DXT5_S3TC */ + 1693, /* GL_RGBA4_DXT5_S3TC */ 309, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ 304, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ 305, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ 306, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 1240, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 1239, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 848, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 1241, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1240, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 849, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ 599, /* GL_FOG_COORDINATE_SOURCE */ 591, /* GL_FOG_COORD */ 615, /* GL_FRAGMENT_DEPTH */ @@ -5451,281 +5461,281 @@ static const unsigned reduced_enums[1564] = 593, /* GL_FOG_COORDINATE_ARRAY */ 241, /* GL_COLOR_SUM */ 385, /* GL_CURRENT_SECONDARY_COLOR */ - 1768, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1770, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1769, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1767, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1764, /* GL_SECONDARY_COLOR_ARRAY */ + 1771, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1773, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1772, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1770, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1767, /* GL_SECONDARY_COLOR_ARRAY */ 383, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ 29, /* GL_ALIASED_POINT_SIZE_RANGE */ 28, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1921, /* GL_TEXTURE0 */ - 1923, /* GL_TEXTURE1 */ - 1945, /* GL_TEXTURE2 */ - 1967, /* GL_TEXTURE3 */ - 1973, /* GL_TEXTURE4 */ - 1975, /* GL_TEXTURE5 */ - 1977, /* GL_TEXTURE6 */ - 1979, /* GL_TEXTURE7 */ - 1981, /* GL_TEXTURE8 */ - 1983, /* GL_TEXTURE9 */ - 1924, /* GL_TEXTURE10 */ - 1926, /* GL_TEXTURE11 */ - 1928, /* GL_TEXTURE12 */ - 1930, /* GL_TEXTURE13 */ - 1932, /* GL_TEXTURE14 */ - 1934, /* GL_TEXTURE15 */ - 1936, /* GL_TEXTURE16 */ - 1938, /* GL_TEXTURE17 */ - 1940, /* GL_TEXTURE18 */ - 1942, /* GL_TEXTURE19 */ - 1946, /* GL_TEXTURE20 */ - 1948, /* GL_TEXTURE21 */ - 1950, /* GL_TEXTURE22 */ - 1952, /* GL_TEXTURE23 */ - 1954, /* GL_TEXTURE24 */ - 1956, /* GL_TEXTURE25 */ - 1958, /* GL_TEXTURE26 */ - 1960, /* GL_TEXTURE27 */ - 1962, /* GL_TEXTURE28 */ - 1964, /* GL_TEXTURE29 */ - 1968, /* GL_TEXTURE30 */ - 1970, /* GL_TEXTURE31 */ + 1924, /* GL_TEXTURE0 */ + 1926, /* GL_TEXTURE1 */ + 1948, /* GL_TEXTURE2 */ + 1970, /* GL_TEXTURE3 */ + 1976, /* GL_TEXTURE4 */ + 1978, /* GL_TEXTURE5 */ + 1980, /* GL_TEXTURE6 */ + 1982, /* GL_TEXTURE7 */ + 1984, /* GL_TEXTURE8 */ + 1986, /* GL_TEXTURE9 */ + 1927, /* GL_TEXTURE10 */ + 1929, /* GL_TEXTURE11 */ + 1931, /* GL_TEXTURE12 */ + 1933, /* GL_TEXTURE13 */ + 1935, /* GL_TEXTURE14 */ + 1937, /* GL_TEXTURE15 */ + 1939, /* GL_TEXTURE16 */ + 1941, /* GL_TEXTURE17 */ + 1943, /* GL_TEXTURE18 */ + 1945, /* GL_TEXTURE19 */ + 1949, /* GL_TEXTURE20 */ + 1951, /* GL_TEXTURE21 */ + 1953, /* GL_TEXTURE22 */ + 1955, /* GL_TEXTURE23 */ + 1957, /* GL_TEXTURE24 */ + 1959, /* GL_TEXTURE25 */ + 1961, /* GL_TEXTURE26 */ + 1963, /* GL_TEXTURE27 */ + 1965, /* GL_TEXTURE28 */ + 1967, /* GL_TEXTURE29 */ + 1971, /* GL_TEXTURE30 */ + 1973, /* GL_TEXTURE31 */ 19, /* GL_ACTIVE_TEXTURE */ 166, /* GL_CLIENT_ACTIVE_TEXTURE */ - 1139, /* GL_MAX_TEXTURE_UNITS */ - 2167, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 2170, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 2172, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 2164, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1903, /* GL_SUBTRACT */ - 1120, /* GL_MAX_RENDERBUFFER_SIZE */ + 1140, /* GL_MAX_TEXTURE_UNITS */ + 2172, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 2175, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 2177, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 2169, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1906, /* GL_SUBTRACT */ + 1121, /* GL_MAX_RENDERBUFFER_SIZE */ 290, /* GL_COMPRESSED_ALPHA */ 294, /* GL_COMPRESSED_LUMINANCE */ 295, /* GL_COMPRESSED_LUMINANCE_ALPHA */ 292, /* GL_COMPRESSED_INTENSITY */ 300, /* GL_COMPRESSED_RGB */ 301, /* GL_COMPRESSED_RGBA */ - 2044, /* GL_TEXTURE_COMPRESSION_HINT */ - 2121, /* GL_TEXTURE_RECTANGLE */ - 2009, /* GL_TEXTURE_BINDING_RECTANGLE */ - 1533, /* GL_PROXY_TEXTURE_RECTANGLE */ - 1117, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ + 2048, /* GL_TEXTURE_COMPRESSION_HINT */ + 2126, /* GL_TEXTURE_RECTANGLE */ + 2013, /* GL_TEXTURE_BINDING_RECTANGLE */ + 1534, /* GL_PROXY_TEXTURE_RECTANGLE */ + 1118, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ 431, /* GL_DEPTH_STENCIL */ - 2201, /* GL_UNSIGNED_INT_24_8 */ - 1134, /* GL_MAX_TEXTURE_LOD_BIAS */ - 2110, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 1136, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 2082, /* GL_TEXTURE_FILTER_CONTROL */ - 2100, /* GL_TEXTURE_LOD_BIAS */ + 2206, /* GL_UNSIGNED_INT_24_8 */ + 1135, /* GL_MAX_TEXTURE_LOD_BIAS */ + 2115, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 1137, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 2087, /* GL_TEXTURE_FILTER_CONTROL */ + 2105, /* GL_TEXTURE_LOD_BIAS */ 274, /* GL_COMBINE4 */ - 1126, /* GL_MAX_SHININESS_NV */ - 1127, /* GL_MAX_SPOT_EXPONENT_NV */ - 750, /* GL_INCR_WRAP */ + 1127, /* GL_MAX_SHININESS_NV */ + 1128, /* GL_MAX_SPOT_EXPONENT_NV */ + 751, /* GL_INCR_WRAP */ 396, /* GL_DECR_WRAP */ - 1198, /* GL_MODELVIEW1_ARB */ - 1256, /* GL_NORMAL_MAP */ - 1584, /* GL_REFLECTION_MAP */ - 2054, /* GL_TEXTURE_CUBE_MAP */ - 2006, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 2066, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 2056, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 2069, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 2059, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 2072, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 2062, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1531, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 1055, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 1234, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 1471, /* GL_PRIMITIVE_RESTART_NV */ - 1470, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + 1199, /* GL_MODELVIEW1_ARB */ + 1257, /* GL_NORMAL_MAP */ + 1585, /* GL_REFLECTION_MAP */ + 2058, /* GL_TEXTURE_CUBE_MAP */ + 2009, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 2070, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 2060, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 2073, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 2063, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 2076, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 2066, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1532, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 1056, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 1235, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 1472, /* GL_PRIMITIVE_RESTART_NV */ + 1471, /* GL_PRIMITIVE_RESTART_INDEX_NV */ 607, /* GL_FOG_DISTANCE_MODE_NV */ 554, /* GL_EYE_RADIAL_NV */ 553, /* GL_EYE_PLANE_ABSOLUTE_NV */ 273, /* GL_COMBINE */ 280, /* GL_COMBINE_RGB */ 275, /* GL_COMBINE_ALPHA */ - 1714, /* GL_RGB_SCALE */ + 1716, /* GL_RGB_SCALE */ 25, /* GL_ADD_SIGNED */ - 787, /* GL_INTERPOLATE */ + 788, /* GL_INTERPOLATE */ 316, /* GL_CONSTANT */ - 1463, /* GL_PRIMARY_COLOR */ - 1460, /* GL_PREVIOUS */ - 1808, /* GL_SOURCE0_RGB */ - 1814, /* GL_SOURCE1_RGB */ - 1820, /* GL_SOURCE2_RGB */ - 1824, /* GL_SOURCE3_RGB_NV */ - 1805, /* GL_SOURCE0_ALPHA */ - 1811, /* GL_SOURCE1_ALPHA */ - 1817, /* GL_SOURCE2_ALPHA */ - 1823, /* GL_SOURCE3_ALPHA_NV */ - 1299, /* GL_OPERAND0_RGB */ - 1305, /* GL_OPERAND1_RGB */ - 1311, /* GL_OPERAND2_RGB */ - 1315, /* GL_OPERAND3_RGB_NV */ - 1296, /* GL_OPERAND0_ALPHA */ - 1302, /* GL_OPERAND1_ALPHA */ - 1308, /* GL_OPERAND2_ALPHA */ - 1314, /* GL_OPERAND3_ALPHA_NV */ + 1464, /* GL_PRIMARY_COLOR */ + 1461, /* GL_PREVIOUS */ + 1811, /* GL_SOURCE0_RGB */ + 1817, /* GL_SOURCE1_RGB */ + 1823, /* GL_SOURCE2_RGB */ + 1827, /* GL_SOURCE3_RGB_NV */ + 1808, /* GL_SOURCE0_ALPHA */ + 1814, /* GL_SOURCE1_ALPHA */ + 1820, /* GL_SOURCE2_ALPHA */ + 1826, /* GL_SOURCE3_ALPHA_NV */ + 1300, /* GL_OPERAND0_RGB */ + 1306, /* GL_OPERAND1_RGB */ + 1312, /* GL_OPERAND2_RGB */ + 1316, /* GL_OPERAND3_RGB_NV */ + 1297, /* GL_OPERAND0_ALPHA */ + 1303, /* GL_OPERAND1_ALPHA */ + 1309, /* GL_OPERAND2_ALPHA */ + 1315, /* GL_OPERAND3_ALPHA_NV */ 137, /* GL_BUFFER_OBJECT_APPLE */ - 2253, /* GL_VERTEX_ARRAY_BINDING */ - 2119, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - 2120, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 2330, /* GL_YCBCR_422_APPLE */ - 2242, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 2244, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 2131, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - 1894, /* GL_STORAGE_PRIVATE_APPLE */ - 1893, /* GL_STORAGE_CACHED_APPLE */ - 1895, /* GL_STORAGE_SHARED_APPLE */ - 1795, /* GL_SLICE_ACCUM_SUN */ - 1542, /* GL_QUAD_MESH_SUN */ - 2178, /* GL_TRIANGLE_MESH_SUN */ - 2295, /* GL_VERTEX_PROGRAM_ARB */ - 2306, /* GL_VERTEX_STATE_PROGRAM_NV */ - 2280, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 2288, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 2290, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 2292, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 2258, /* GL_VERTEX_ARRAY_BINDING */ + 2124, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 2125, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 2335, /* GL_YCBCR_422_APPLE */ + 2247, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 2249, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 2136, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1897, /* GL_STORAGE_PRIVATE_APPLE */ + 1896, /* GL_STORAGE_CACHED_APPLE */ + 1898, /* GL_STORAGE_SHARED_APPLE */ + 1798, /* GL_SLICE_ACCUM_SUN */ + 1543, /* GL_QUAD_MESH_SUN */ + 2183, /* GL_TRIANGLE_MESH_SUN */ + 2300, /* GL_VERTEX_PROGRAM_ARB */ + 2311, /* GL_VERTEX_STATE_PROGRAM_NV */ + 2285, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 2293, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 2295, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 2297, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ 387, /* GL_CURRENT_VERTEX_ATTRIB */ - 1487, /* GL_PROGRAM_LENGTH_ARB */ - 1503, /* GL_PROGRAM_STRING_ARB */ - 1221, /* GL_MODELVIEW_PROJECTION_NV */ - 743, /* GL_IDENTITY_NV */ - 820, /* GL_INVERSE_NV */ - 2169, /* GL_TRANSPOSE_NV */ - 821, /* GL_INVERSE_TRANSPOSE_NV */ - 1101, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 1100, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 981, /* GL_MATRIX0_NV */ - 993, /* GL_MATRIX1_NV */ - 1005, /* GL_MATRIX2_NV */ - 1009, /* GL_MATRIX3_NV */ - 1011, /* GL_MATRIX4_NV */ - 1013, /* GL_MATRIX5_NV */ - 1015, /* GL_MATRIX6_NV */ - 1017, /* GL_MATRIX7_NV */ + 1488, /* GL_PROGRAM_LENGTH_ARB */ + 1504, /* GL_PROGRAM_STRING_ARB */ + 1222, /* GL_MODELVIEW_PROJECTION_NV */ + 744, /* GL_IDENTITY_NV */ + 821, /* GL_INVERSE_NV */ + 2174, /* GL_TRANSPOSE_NV */ + 822, /* GL_INVERSE_TRANSPOSE_NV */ + 1102, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 1101, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 982, /* GL_MATRIX0_NV */ + 994, /* GL_MATRIX1_NV */ + 1006, /* GL_MATRIX2_NV */ + 1010, /* GL_MATRIX3_NV */ + 1012, /* GL_MATRIX4_NV */ + 1014, /* GL_MATRIX5_NV */ + 1016, /* GL_MATRIX6_NV */ + 1018, /* GL_MATRIX7_NV */ 370, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ 367, /* GL_CURRENT_MATRIX_ARB */ - 1500, /* GL_PROGRAM_POINT_SIZE */ - 2301, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1499, /* GL_PROGRAM_PARAMETER_NV */ - 2286, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1505, /* GL_PROGRAM_TARGET_NV */ - 1502, /* GL_PROGRAM_RESIDENT_NV */ - 2141, /* GL_TRACK_MATRIX_NV */ - 2142, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 2296, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1481, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 1501, /* GL_PROGRAM_POINT_SIZE */ + 2306, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1500, /* GL_PROGRAM_PARAMETER_NV */ + 2291, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1506, /* GL_PROGRAM_TARGET_NV */ + 1503, /* GL_PROGRAM_RESIDENT_NV */ + 2146, /* GL_TRACK_MATRIX_NV */ + 2147, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 2301, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1482, /* GL_PROGRAM_ERROR_POSITION_ARB */ 412, /* GL_DEPTH_CLAMP */ - 2261, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 2268, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 2269, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 2270, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 2271, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 2272, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 2273, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 2274, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 2275, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 2276, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 2262, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 2263, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 2264, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 2265, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 2266, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 2267, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 929, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 936, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 937, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 938, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 939, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 940, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 941, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 942, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 943, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 944, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 930, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 931, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 932, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 933, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 934, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 935, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 956, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 963, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 964, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 965, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 966, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 967, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 968, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1480, /* GL_PROGRAM_BINDING_ARB */ - 970, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 971, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 957, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 958, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 959, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 960, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 961, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 962, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 2042, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 2039, /* GL_TEXTURE_COMPRESSED */ - 1263, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 2266, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 2273, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 2274, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 2275, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 2276, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 2277, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 2278, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 2279, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 2280, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 2281, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 2267, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 2268, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 2269, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 2270, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 2271, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 2272, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 930, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 937, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 938, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 939, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 940, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 941, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 942, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 943, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 944, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 945, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 931, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 932, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 933, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 934, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 935, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 936, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 957, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 964, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 965, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 966, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 967, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 968, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 969, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1481, /* GL_PROGRAM_BINDING_ARB */ + 971, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 972, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 958, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 959, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 960, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 961, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 962, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 963, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 2046, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 2043, /* GL_TEXTURE_COMPRESSED */ + 1264, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ 314, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 1161, /* GL_MAX_VERTEX_UNITS_ARB */ + 1162, /* GL_MAX_VERTEX_UNITS_ARB */ 23, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 2324, /* GL_WEIGHT_SUM_UNITY_ARB */ - 2294, /* GL_VERTEX_BLEND_ARB */ + 2329, /* GL_WEIGHT_SUM_UNITY_ARB */ + 2299, /* GL_VERTEX_BLEND_ARB */ 389, /* GL_CURRENT_WEIGHT_ARB */ - 2322, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 2320, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 2318, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 2316, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 2311, /* GL_WEIGHT_ARRAY_ARB */ + 2327, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 2325, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 2323, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 2321, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 2316, /* GL_WEIGHT_ARRAY_ARB */ 446, /* GL_DOT3_RGB */ 447, /* GL_DOT3_RGBA */ 308, /* GL_COMPRESSED_RGB_FXT1_3DFX */ 303, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 1229, /* GL_MULTISAMPLE_3DFX */ - 1753, /* GL_SAMPLE_BUFFERS_3DFX */ - 1744, /* GL_SAMPLES_3DFX */ - 1209, /* GL_MODELVIEW2_ARB */ - 1212, /* GL_MODELVIEW3_ARB */ - 1213, /* GL_MODELVIEW4_ARB */ - 1214, /* GL_MODELVIEW5_ARB */ - 1215, /* GL_MODELVIEW6_ARB */ - 1216, /* GL_MODELVIEW7_ARB */ - 1217, /* GL_MODELVIEW8_ARB */ - 1218, /* GL_MODELVIEW9_ARB */ - 1188, /* GL_MODELVIEW10_ARB */ - 1189, /* GL_MODELVIEW11_ARB */ - 1190, /* GL_MODELVIEW12_ARB */ - 1191, /* GL_MODELVIEW13_ARB */ - 1192, /* GL_MODELVIEW14_ARB */ - 1193, /* GL_MODELVIEW15_ARB */ - 1194, /* GL_MODELVIEW16_ARB */ - 1195, /* GL_MODELVIEW17_ARB */ - 1196, /* GL_MODELVIEW18_ARB */ - 1197, /* GL_MODELVIEW19_ARB */ - 1199, /* GL_MODELVIEW20_ARB */ - 1200, /* GL_MODELVIEW21_ARB */ - 1201, /* GL_MODELVIEW22_ARB */ - 1202, /* GL_MODELVIEW23_ARB */ - 1203, /* GL_MODELVIEW24_ARB */ - 1204, /* GL_MODELVIEW25_ARB */ - 1205, /* GL_MODELVIEW26_ARB */ - 1206, /* GL_MODELVIEW27_ARB */ - 1207, /* GL_MODELVIEW28_ARB */ - 1208, /* GL_MODELVIEW29_ARB */ - 1210, /* GL_MODELVIEW30_ARB */ - 1211, /* GL_MODELVIEW31_ARB */ + 1230, /* GL_MULTISAMPLE_3DFX */ + 1756, /* GL_SAMPLE_BUFFERS_3DFX */ + 1747, /* GL_SAMPLES_3DFX */ + 1210, /* GL_MODELVIEW2_ARB */ + 1213, /* GL_MODELVIEW3_ARB */ + 1214, /* GL_MODELVIEW4_ARB */ + 1215, /* GL_MODELVIEW5_ARB */ + 1216, /* GL_MODELVIEW6_ARB */ + 1217, /* GL_MODELVIEW7_ARB */ + 1218, /* GL_MODELVIEW8_ARB */ + 1219, /* GL_MODELVIEW9_ARB */ + 1189, /* GL_MODELVIEW10_ARB */ + 1190, /* GL_MODELVIEW11_ARB */ + 1191, /* GL_MODELVIEW12_ARB */ + 1192, /* GL_MODELVIEW13_ARB */ + 1193, /* GL_MODELVIEW14_ARB */ + 1194, /* GL_MODELVIEW15_ARB */ + 1195, /* GL_MODELVIEW16_ARB */ + 1196, /* GL_MODELVIEW17_ARB */ + 1197, /* GL_MODELVIEW18_ARB */ + 1198, /* GL_MODELVIEW19_ARB */ + 1200, /* GL_MODELVIEW20_ARB */ + 1201, /* GL_MODELVIEW21_ARB */ + 1202, /* GL_MODELVIEW22_ARB */ + 1203, /* GL_MODELVIEW23_ARB */ + 1204, /* GL_MODELVIEW24_ARB */ + 1205, /* GL_MODELVIEW25_ARB */ + 1206, /* GL_MODELVIEW26_ARB */ + 1207, /* GL_MODELVIEW27_ARB */ + 1208, /* GL_MODELVIEW28_ARB */ + 1209, /* GL_MODELVIEW29_ARB */ + 1211, /* GL_MODELVIEW30_ARB */ + 1212, /* GL_MODELVIEW31_ARB */ 451, /* GL_DOT3_RGB_EXT */ - 1477, /* GL_PROGRAM_BINARY_LENGTH */ - 1182, /* GL_MIRROR_CLAMP_EXT */ - 1185, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 1224, /* GL_MODULATE_ADD_ATI */ - 1225, /* GL_MODULATE_SIGNED_ADD_ATI */ - 1226, /* GL_MODULATE_SUBTRACT_ATI */ - 2331, /* GL_YCBCR_MESA */ - 1323, /* GL_PACK_INVERT_MESA */ + 1478, /* GL_PROGRAM_BINARY_LENGTH */ + 1183, /* GL_MIRROR_CLAMP_EXT */ + 1186, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 1225, /* GL_MODULATE_ADD_ATI */ + 1226, /* GL_MODULATE_SIGNED_ADD_ATI */ + 1227, /* GL_MODULATE_SUBTRACT_ATI */ + 2336, /* GL_YCBCR_MESA */ + 1324, /* GL_PACK_INVERT_MESA */ 392, /* GL_DEBUG_OBJECT_MESA */ 393, /* GL_DEBUG_PRINT_MESA */ 391, /* GL_DEBUG_ASSERT_MESA */ @@ -5739,31 +5749,31 @@ static const unsigned reduced_enums[1564] = 526, /* GL_DU8DV8_ATI */ 143, /* GL_BUMP_ENVMAP_ATI */ 147, /* GL_BUMP_TARGET_ATI */ - 1266, /* GL_NUM_PROGRAM_BINARY_FORMATS */ - 1475, /* GL_PROGRAM_BINARY_FORMATS */ - 1857, /* GL_STENCIL_BACK_FUNC */ - 1855, /* GL_STENCIL_BACK_FAIL */ - 1859, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1861, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 1267, /* GL_NUM_PROGRAM_BINARY_FORMATS */ + 1476, /* GL_PROGRAM_BINARY_FORMATS */ + 1860, /* GL_STENCIL_BACK_FUNC */ + 1858, /* GL_STENCIL_BACK_FAIL */ + 1862, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1864, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ 616, /* GL_FRAGMENT_PROGRAM_ARB */ - 1473, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1508, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1507, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1490, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1496, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1495, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 1090, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1115, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1114, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1103, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1109, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1108, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 1685, /* GL_RGBA32F */ - 1648, /* GL_RGB32F */ - 1676, /* GL_RGBA16F */ - 1640, /* GL_RGB16F */ - 1704, /* GL_RGBA_FLOAT_MODE_ARB */ - 1058, /* GL_MAX_DRAW_BUFFERS */ + 1474, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1509, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1508, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1491, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1497, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1496, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 1091, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1116, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1115, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1104, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1110, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1109, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 1687, /* GL_RGBA32F */ + 1650, /* GL_RGB32F */ + 1678, /* GL_RGBA16F */ + 1642, /* GL_RGB16F */ + 1706, /* GL_RGBA_FLOAT_MODE_ARB */ + 1059, /* GL_MAX_DRAW_BUFFERS */ 455, /* GL_DRAW_BUFFER0 */ 459, /* GL_DRAW_BUFFER1 */ 487, /* GL_DRAW_BUFFER2 */ @@ -5781,184 +5791,184 @@ static const unsigned reduced_enums[1564] = 476, /* GL_DRAW_BUFFER14 */ 480, /* GL_DRAW_BUFFER15 */ 97, /* GL_BLEND_EQUATION_ALPHA */ - 1032, /* GL_MATRIX_PALETTE_ARB */ - 1083, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 1086, /* GL_MAX_PALETTE_MATRICES_ARB */ + 1033, /* GL_MATRIX_PALETTE_ARB */ + 1084, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 1087, /* GL_MAX_PALETTE_MATRICES_ARB */ 373, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 1020, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 1021, /* GL_MATRIX_INDEX_ARRAY_ARB */ 368, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 1025, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 1029, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 1027, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 1023, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 2077, /* GL_TEXTURE_DEPTH_SIZE */ + 1026, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 1030, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 1028, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 1024, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 2081, /* GL_TEXTURE_DEPTH_SIZE */ 439, /* GL_DEPTH_TEXTURE_MODE */ - 2034, /* GL_TEXTURE_COMPARE_MODE */ - 2032, /* GL_TEXTURE_COMPARE_FUNC */ + 2038, /* GL_TEXTURE_COMPARE_MODE */ + 2036, /* GL_TEXTURE_COMPARE_FUNC */ 284, /* GL_COMPARE_REF_TO_TEXTURE */ - 1400, /* GL_POINT_SPRITE */ + 1401, /* GL_POINT_SPRITE */ 347, /* GL_COORD_REPLACE */ - 1405, /* GL_POINT_SPRITE_R_MODE_NV */ - 1548, /* GL_QUERY_COUNTER_BITS */ + 1406, /* GL_POINT_SPRITE_R_MODE_NV */ + 1549, /* GL_QUERY_COUNTER_BITS */ 376, /* GL_CURRENT_QUERY */ - 1552, /* GL_QUERY_RESULT */ - 1554, /* GL_QUERY_RESULT_AVAILABLE */ - 1153, /* GL_MAX_VERTEX_ATTRIBS */ - 2284, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 1553, /* GL_QUERY_RESULT */ + 1555, /* GL_QUERY_RESULT_AVAILABLE */ + 1154, /* GL_MAX_VERTEX_ATTRIBS */ + 2289, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ 437, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ 436, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 1130, /* GL_MAX_TEXTURE_COORDS */ - 1132, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1483, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1485, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1484, /* GL_PROGRAM_FORMAT_ARB */ - 2133, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 1131, /* GL_MAX_TEXTURE_COORDS */ + 1133, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1484, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1486, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1485, /* GL_PROGRAM_FORMAT_ARB */ + 2138, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ 409, /* GL_DEPTH_BOUNDS_TEST_EXT */ 408, /* GL_DEPTH_BOUNDS_EXT */ 61, /* GL_ARRAY_BUFFER */ 540, /* GL_ELEMENT_ARRAY_BUFFER */ 62, /* GL_ARRAY_BUFFER_BINDING */ 541, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 2255, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 1251, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 2260, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1252, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ 190, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 754, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 2047, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 755, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 2051, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ 536, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1765, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 1768, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ 594, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 2312, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 2277, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1486, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 1096, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1492, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1105, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1506, /* GL_PROGRAM_TEMPORARIES_ARB */ - 1111, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1494, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1107, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1498, /* GL_PROGRAM_PARAMETERS_ARB */ - 1110, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1493, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1106, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1474, /* GL_PROGRAM_ATTRIBS_ARB */ - 1091, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1491, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1104, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1472, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1089, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1489, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 1102, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 1097, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 1093, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1509, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 2166, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1571, /* GL_READ_ONLY */ - 2326, /* GL_WRITE_ONLY */ - 1573, /* GL_READ_WRITE */ + 2317, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 2282, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1487, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 1097, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1493, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1106, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1507, /* GL_PROGRAM_TEMPORARIES_ARB */ + 1112, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1495, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1108, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1499, /* GL_PROGRAM_PARAMETERS_ARB */ + 1111, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1494, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1107, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1475, /* GL_PROGRAM_ATTRIBS_ARB */ + 1092, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1492, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1105, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1473, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1090, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1490, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1103, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1098, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 1094, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1510, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 2171, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1572, /* GL_READ_ONLY */ + 2331, /* GL_WRITE_ONLY */ + 1574, /* GL_READ_WRITE */ 124, /* GL_BUFFER_ACCESS */ 129, /* GL_BUFFER_MAPPED */ 134, /* GL_BUFFER_MAP_POINTER */ - 2140, /* GL_TIME_ELAPSED_EXT */ - 980, /* GL_MATRIX0_ARB */ - 992, /* GL_MATRIX1_ARB */ - 1004, /* GL_MATRIX2_ARB */ - 1008, /* GL_MATRIX3_ARB */ - 1010, /* GL_MATRIX4_ARB */ - 1012, /* GL_MATRIX5_ARB */ - 1014, /* GL_MATRIX6_ARB */ - 1016, /* GL_MATRIX7_ARB */ - 1018, /* GL_MATRIX8_ARB */ - 1019, /* GL_MATRIX9_ARB */ - 982, /* GL_MATRIX10_ARB */ - 983, /* GL_MATRIX11_ARB */ - 984, /* GL_MATRIX12_ARB */ - 985, /* GL_MATRIX13_ARB */ - 986, /* GL_MATRIX14_ARB */ - 987, /* GL_MATRIX15_ARB */ - 988, /* GL_MATRIX16_ARB */ - 989, /* GL_MATRIX17_ARB */ - 990, /* GL_MATRIX18_ARB */ - 991, /* GL_MATRIX19_ARB */ - 994, /* GL_MATRIX20_ARB */ - 995, /* GL_MATRIX21_ARB */ - 996, /* GL_MATRIX22_ARB */ - 997, /* GL_MATRIX23_ARB */ - 998, /* GL_MATRIX24_ARB */ - 999, /* GL_MATRIX25_ARB */ - 1000, /* GL_MATRIX26_ARB */ - 1001, /* GL_MATRIX27_ARB */ - 1002, /* GL_MATRIX28_ARB */ - 1003, /* GL_MATRIX29_ARB */ - 1006, /* GL_MATRIX30_ARB */ - 1007, /* GL_MATRIX31_ARB */ - 1898, /* GL_STREAM_DRAW */ - 1900, /* GL_STREAM_READ */ - 1896, /* GL_STREAM_COPY */ - 1847, /* GL_STATIC_DRAW */ - 1849, /* GL_STATIC_READ */ - 1845, /* GL_STATIC_COPY */ + 2145, /* GL_TIME_ELAPSED_EXT */ + 981, /* GL_MATRIX0_ARB */ + 993, /* GL_MATRIX1_ARB */ + 1005, /* GL_MATRIX2_ARB */ + 1009, /* GL_MATRIX3_ARB */ + 1011, /* GL_MATRIX4_ARB */ + 1013, /* GL_MATRIX5_ARB */ + 1015, /* GL_MATRIX6_ARB */ + 1017, /* GL_MATRIX7_ARB */ + 1019, /* GL_MATRIX8_ARB */ + 1020, /* GL_MATRIX9_ARB */ + 983, /* GL_MATRIX10_ARB */ + 984, /* GL_MATRIX11_ARB */ + 985, /* GL_MATRIX12_ARB */ + 986, /* GL_MATRIX13_ARB */ + 987, /* GL_MATRIX14_ARB */ + 988, /* GL_MATRIX15_ARB */ + 989, /* GL_MATRIX16_ARB */ + 990, /* GL_MATRIX17_ARB */ + 991, /* GL_MATRIX18_ARB */ + 992, /* GL_MATRIX19_ARB */ + 995, /* GL_MATRIX20_ARB */ + 996, /* GL_MATRIX21_ARB */ + 997, /* GL_MATRIX22_ARB */ + 998, /* GL_MATRIX23_ARB */ + 999, /* GL_MATRIX24_ARB */ + 1000, /* GL_MATRIX25_ARB */ + 1001, /* GL_MATRIX26_ARB */ + 1002, /* GL_MATRIX27_ARB */ + 1003, /* GL_MATRIX28_ARB */ + 1004, /* GL_MATRIX29_ARB */ + 1007, /* GL_MATRIX30_ARB */ + 1008, /* GL_MATRIX31_ARB */ + 1901, /* GL_STREAM_DRAW */ + 1903, /* GL_STREAM_READ */ + 1899, /* GL_STREAM_COPY */ + 1850, /* GL_STATIC_DRAW */ + 1852, /* GL_STATIC_READ */ + 1848, /* GL_STATIC_COPY */ 530, /* GL_DYNAMIC_DRAW */ 532, /* GL_DYNAMIC_READ */ 528, /* GL_DYNAMIC_COPY */ - 1363, /* GL_PIXEL_PACK_BUFFER */ - 1367, /* GL_PIXEL_UNPACK_BUFFER */ - 1364, /* GL_PIXEL_PACK_BUFFER_BINDING */ - 1368, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 1364, /* GL_PIXEL_PACK_BUFFER */ + 1368, /* GL_PIXEL_UNPACK_BUFFER */ + 1365, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1369, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ 400, /* GL_DEPTH24_STENCIL8 */ - 2129, /* GL_TEXTURE_STENCIL_SIZE */ - 2075, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - 1092, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 1095, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 1099, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 1098, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 2282, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ - 2279, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ - 1037, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ - 1176, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ - 1112, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ - 1889, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 2134, /* GL_TEXTURE_STENCIL_SIZE */ + 2079, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 1093, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 1096, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 1100, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 1099, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 2287, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + 2284, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ + 1038, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ + 1177, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ + 1113, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ + 1892, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 18, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 1183, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1746, /* GL_SAMPLES_PASSED */ + 1184, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1749, /* GL_SAMPLES_PASSED */ 709, /* GL_GEOMETRY_VERTICES_OUT */ 703, /* GL_GEOMETRY_INPUT_TYPE */ 705, /* GL_GEOMETRY_OUTPUT_TYPE */ - 1737, /* GL_SAMPLER_BINDING */ + 1739, /* GL_SAMPLER_BINDING */ 164, /* GL_CLAMP_VERTEX_COLOR_ARB */ 156, /* GL_CLAMP_FRAGMENT_COLOR_ARB */ 157, /* GL_CLAMP_READ_COLOR */ 566, /* GL_FIXED_ONLY */ - 1387, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - 1386, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - 1385, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - 1220, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - 1512, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - 2109, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1388, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + 1387, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + 1386, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + 1221, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1513, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + 2114, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ 138, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ 128, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - 1588, /* GL_RELEASED_APPLE */ - 2309, /* GL_VOLATILE_APPLE */ - 1628, /* GL_RETAINED_APPLE */ - 2183, /* GL_UNDEFINED_APPLE */ - 1536, /* GL_PURGEABLE_APPLE */ + 1589, /* GL_RELEASED_APPLE */ + 2314, /* GL_VOLATILE_APPLE */ + 1630, /* GL_RETAINED_APPLE */ + 2188, /* GL_UNDEFINED_APPLE */ + 1537, /* GL_PURGEABLE_APPLE */ 617, /* GL_FRAGMENT_SHADER */ - 2304, /* GL_VERTEX_SHADER */ - 1497, /* GL_PROGRAM_OBJECT_ARB */ - 1782, /* GL_SHADER_OBJECT_ARB */ - 1067, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 1158, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 1149, /* GL_MAX_VARYING_COMPONENTS */ - 1156, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 1049, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 1283, /* GL_OBJECT_TYPE_ARB */ - 1784, /* GL_SHADER_TYPE */ + 2309, /* GL_VERTEX_SHADER */ + 1498, /* GL_PROGRAM_OBJECT_ARB */ + 1785, /* GL_SHADER_OBJECT_ARB */ + 1068, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 1159, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 1150, /* GL_MAX_VARYING_COMPONENTS */ + 1157, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 1050, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1284, /* GL_OBJECT_TYPE_ARB */ + 1787, /* GL_SHADER_TYPE */ 582, /* GL_FLOAT_VEC2 */ 584, /* GL_FLOAT_VEC3 */ 586, /* GL_FLOAT_VEC4 */ - 808, /* GL_INT_VEC2 */ - 810, /* GL_INT_VEC3 */ - 812, /* GL_INT_VEC4 */ + 809, /* GL_INT_VEC2 */ + 811, /* GL_INT_VEC3 */ + 813, /* GL_INT_VEC4 */ 116, /* GL_BOOL */ 118, /* GL_BOOL_VEC2 */ 120, /* GL_BOOL_VEC3 */ @@ -5966,14 +5976,14 @@ static const unsigned reduced_enums[1564] = 570, /* GL_FLOAT_MAT2 */ 574, /* GL_FLOAT_MAT3 */ 578, /* GL_FLOAT_MAT4 */ - 1721, /* GL_SAMPLER_1D */ - 1727, /* GL_SAMPLER_2D */ - 1735, /* GL_SAMPLER_3D */ - 1740, /* GL_SAMPLER_CUBE */ - 1726, /* GL_SAMPLER_1D_SHADOW */ - 1734, /* GL_SAMPLER_2D_SHADOW */ - 1732, /* GL_SAMPLER_2D_RECT */ - 1733, /* GL_SAMPLER_2D_RECT_SHADOW */ + 1723, /* GL_SAMPLER_1D */ + 1729, /* GL_SAMPLER_2D */ + 1737, /* GL_SAMPLER_3D */ + 1742, /* GL_SAMPLER_CUBE */ + 1728, /* GL_SAMPLER_1D_SHADOW */ + 1736, /* GL_SAMPLER_2D_SHADOW */ + 1734, /* GL_SAMPLER_2D_RECT */ + 1735, /* GL_SAMPLER_2D_RECT_SHADOW */ 572, /* GL_FLOAT_MAT2x3 */ 573, /* GL_FLOAT_MAT2x4 */ 576, /* GL_FLOAT_MAT3x2 */ @@ -5982,91 +5992,91 @@ static const unsigned reduced_enums[1564] = 581, /* GL_FLOAT_MAT4x3 */ 398, /* GL_DELETE_STATUS */ 289, /* GL_COMPILE_STATUS */ - 869, /* GL_LINK_STATUS */ - 2249, /* GL_VALIDATE_STATUS */ - 766, /* GL_INFO_LOG_LENGTH */ + 870, /* GL_LINK_STATUS */ + 2254, /* GL_VALIDATE_STATUS */ + 767, /* GL_INFO_LOG_LENGTH */ 64, /* GL_ATTACHED_SHADERS */ 21, /* GL_ACTIVE_UNIFORMS */ 22, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1783, /* GL_SHADER_SOURCE_LENGTH */ + 1786, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ 619, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1786, /* GL_SHADING_LANGUAGE_VERSION */ + 1789, /* GL_SHADING_LANGUAGE_VERSION */ 375, /* GL_CURRENT_PROGRAM */ - 1332, /* GL_PALETTE4_RGB8_OES */ - 1334, /* GL_PALETTE4_RGBA8_OES */ - 1330, /* GL_PALETTE4_R5_G6_B5_OES */ - 1333, /* GL_PALETTE4_RGBA4_OES */ - 1331, /* GL_PALETTE4_RGB5_A1_OES */ - 1337, /* GL_PALETTE8_RGB8_OES */ - 1339, /* GL_PALETTE8_RGBA8_OES */ - 1335, /* GL_PALETTE8_R5_G6_B5_OES */ - 1338, /* GL_PALETTE8_RGBA4_OES */ - 1336, /* GL_PALETTE8_RGB5_A1_OES */ - 747, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ - 745, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ - 1384, /* GL_POINT_SIZE_ARRAY_OES */ - 2053, /* GL_TEXTURE_CROP_RECT_OES */ - 1021, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - 1383, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - 2232, /* GL_UNSIGNED_NORMALIZED */ - 1986, /* GL_TEXTURE_1D_ARRAY */ - 1522, /* GL_PROXY_TEXTURE_1D_ARRAY */ - 1989, /* GL_TEXTURE_2D_ARRAY */ - 1526, /* GL_PROXY_TEXTURE_2D_ARRAY */ - 1997, /* GL_TEXTURE_BINDING_1D_ARRAY */ - 2000, /* GL_TEXTURE_BINDING_2D_ARRAY */ - 1074, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ - 2017, /* GL_TEXTURE_BUFFER */ - 1128, /* GL_MAX_TEXTURE_BUFFER_SIZE */ - 2004, /* GL_TEXTURE_BINDING_BUFFER */ - 2019, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ - 2021, /* GL_TEXTURE_BUFFER_FORMAT */ - 1559, /* GL_R11F_G11F_B10F */ - 2198, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ - 1671, /* GL_RGB9_E5 */ - 2207, /* GL_UNSIGNED_INT_5_9_9_9_REV */ - 2127, /* GL_TEXTURE_SHARED_SIZE */ - 1839, /* GL_SRGB */ - 1840, /* GL_SRGB8 */ - 1842, /* GL_SRGB_ALPHA */ - 1841, /* GL_SRGB8_ALPHA8 */ - 1799, /* GL_SLUMINANCE_ALPHA */ - 1798, /* GL_SLUMINANCE8_ALPHA8 */ - 1796, /* GL_SLUMINANCE */ - 1797, /* GL_SLUMINANCE8 */ + 1333, /* GL_PALETTE4_RGB8_OES */ + 1335, /* GL_PALETTE4_RGBA8_OES */ + 1331, /* GL_PALETTE4_R5_G6_B5_OES */ + 1334, /* GL_PALETTE4_RGBA4_OES */ + 1332, /* GL_PALETTE4_RGB5_A1_OES */ + 1338, /* GL_PALETTE8_RGB8_OES */ + 1340, /* GL_PALETTE8_RGBA8_OES */ + 1336, /* GL_PALETTE8_R5_G6_B5_OES */ + 1339, /* GL_PALETTE8_RGBA4_OES */ + 1337, /* GL_PALETTE8_RGB5_A1_OES */ + 748, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + 746, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + 1385, /* GL_POINT_SIZE_ARRAY_OES */ + 2057, /* GL_TEXTURE_CROP_RECT_OES */ + 1022, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + 1384, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + 2237, /* GL_UNSIGNED_NORMALIZED */ + 1989, /* GL_TEXTURE_1D_ARRAY */ + 1523, /* GL_PROXY_TEXTURE_1D_ARRAY */ + 1992, /* GL_TEXTURE_2D_ARRAY */ + 1527, /* GL_PROXY_TEXTURE_2D_ARRAY */ + 2000, /* GL_TEXTURE_BINDING_1D_ARRAY */ + 2003, /* GL_TEXTURE_BINDING_2D_ARRAY */ + 1075, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ + 2021, /* GL_TEXTURE_BUFFER */ + 1129, /* GL_MAX_TEXTURE_BUFFER_SIZE */ + 2007, /* GL_TEXTURE_BINDING_BUFFER */ + 2023, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ + 2025, /* GL_TEXTURE_BUFFER_FORMAT */ + 1560, /* GL_R11F_G11F_B10F */ + 2203, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ + 1673, /* GL_RGB9_E5 */ + 2212, /* GL_UNSIGNED_INT_5_9_9_9_REV */ + 2132, /* GL_TEXTURE_SHARED_SIZE */ + 1842, /* GL_SRGB */ + 1843, /* GL_SRGB8 */ + 1845, /* GL_SRGB_ALPHA */ + 1844, /* GL_SRGB8_ALPHA8 */ + 1802, /* GL_SLUMINANCE_ALPHA */ + 1801, /* GL_SLUMINANCE8_ALPHA8 */ + 1799, /* GL_SLUMINANCE */ + 1800, /* GL_SLUMINANCE8 */ 312, /* GL_COMPRESSED_SRGB */ 313, /* GL_COMPRESSED_SRGB_ALPHA */ 310, /* GL_COMPRESSED_SLUMINANCE */ 311, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - 2162, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ - 2151, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ - 1147, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ - 2160, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ - 2156, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ - 2154, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ - 1466, /* GL_PRIMITIVES_GENERATED */ - 2158, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ - 1563, /* GL_RASTERIZER_DISCARD */ - 1143, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ - 1145, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ - 785, /* GL_INTERLEAVED_ATTRIBS */ - 1775, /* GL_SEPARATE_ATTRIBS */ - 2146, /* GL_TRANSFORM_FEEDBACK_BUFFER */ - 2148, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ - 1402, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 878, /* GL_LOWER_LEFT */ - 2246, /* GL_UPPER_LEFT */ - 1863, /* GL_STENCIL_BACK_REF */ - 1864, /* GL_STENCIL_BACK_VALUE_MASK */ - 1865, /* GL_STENCIL_BACK_WRITEMASK */ + 2167, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ + 2156, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ + 1148, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ + 2165, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ + 2161, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ + 2159, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ + 1467, /* GL_PRIMITIVES_GENERATED */ + 2163, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ + 1564, /* GL_RASTERIZER_DISCARD */ + 1144, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ + 1146, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ + 786, /* GL_INTERLEAVED_ATTRIBS */ + 1778, /* GL_SEPARATE_ATTRIBS */ + 2151, /* GL_TRANSFORM_FEEDBACK_BUFFER */ + 2153, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ + 1403, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 879, /* GL_LOWER_LEFT */ + 2251, /* GL_UPPER_LEFT */ + 1866, /* GL_STENCIL_BACK_REF */ + 1867, /* GL_STENCIL_BACK_VALUE_MASK */ + 1868, /* GL_STENCIL_BACK_WRITEMASK */ 520, /* GL_DRAW_FRAMEBUFFER_BINDING */ - 1593, /* GL_RENDERBUFFER_BINDING */ - 1567, /* GL_READ_FRAMEBUFFER */ + 1594, /* GL_RENDERBUFFER_BINDING */ + 1568, /* GL_READ_FRAMEBUFFER */ 519, /* GL_DRAW_FRAMEBUFFER */ - 1568, /* GL_READ_FRAMEBUFFER_BINDING */ - 1612, /* GL_RENDERBUFFER_SAMPLES */ + 1569, /* GL_READ_FRAMEBUFFER_BINDING */ + 1613, /* GL_RENDERBUFFER_SAMPLES */ 633, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ 630, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ 645, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ @@ -6082,7 +6092,7 @@ static const unsigned reduced_enums[1564] = 676, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ 682, /* GL_FRAMEBUFFER_UNSUPPORTED */ 680, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 1045, /* GL_MAX_COLOR_ATTACHMENTS */ + 1046, /* GL_MAX_COLOR_ATTACHMENTS */ 196, /* GL_COLOR_ATTACHMENT0 */ 199, /* GL_COLOR_ATTACHMENT1 */ 213, /* GL_COLOR_ATTACHMENT2 */ @@ -6100,184 +6110,189 @@ static const unsigned reduced_enums[1564] = 208, /* GL_COLOR_ATTACHMENT14 */ 210, /* GL_COLOR_ATTACHMENT15 */ 403, /* GL_DEPTH_ATTACHMENT */ - 1852, /* GL_STENCIL_ATTACHMENT */ + 1855, /* GL_STENCIL_ATTACHMENT */ 621, /* GL_FRAMEBUFFER */ - 1590, /* GL_RENDERBUFFER */ - 1616, /* GL_RENDERBUFFER_WIDTH */ - 1603, /* GL_RENDERBUFFER_HEIGHT */ - 1606, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - 1884, /* GL_STENCIL_INDEX_EXT */ - 1873, /* GL_STENCIL_INDEX1 */ - 1878, /* GL_STENCIL_INDEX4 */ - 1881, /* GL_STENCIL_INDEX8 */ - 1874, /* GL_STENCIL_INDEX16 */ - 1610, /* GL_RENDERBUFFER_RED_SIZE */ - 1601, /* GL_RENDERBUFFER_GREEN_SIZE */ - 1596, /* GL_RENDERBUFFER_BLUE_SIZE */ - 1591, /* GL_RENDERBUFFER_ALPHA_SIZE */ - 1598, /* GL_RENDERBUFFER_DEPTH_SIZE */ - 1614, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 1591, /* GL_RENDERBUFFER */ + 1617, /* GL_RENDERBUFFER_WIDTH */ + 1604, /* GL_RENDERBUFFER_HEIGHT */ + 1607, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1887, /* GL_STENCIL_INDEX_EXT */ + 1876, /* GL_STENCIL_INDEX1 */ + 1881, /* GL_STENCIL_INDEX4 */ + 1884, /* GL_STENCIL_INDEX8 */ + 1877, /* GL_STENCIL_INDEX16 */ + 1611, /* GL_RENDERBUFFER_RED_SIZE */ + 1602, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1597, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1592, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1599, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1615, /* GL_RENDERBUFFER_STENCIL_SIZE */ 674, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - 1123, /* GL_MAX_SAMPLES */ - 2089, /* GL_TEXTURE_GEN_STR_OES */ - 721, /* GL_HALF_FLOAT_OES */ - 1657, /* GL_RGB565 */ - 1688, /* GL_RGBA32UI */ - 1651, /* GL_RGB32UI */ + 1124, /* GL_MAX_SAMPLES */ + 2094, /* GL_TEXTURE_GEN_STR_OES */ + 722, /* GL_HALF_FLOAT_OES */ + 1659, /* GL_RGB565 */ + 2086, /* GL_TEXTURE_EXTERNAL_OES */ + 1745, /* GL_SAMPLER_EXTERNAL_OES */ + 2012, /* GL_TEXTURE_BINDING_EXTERNAL_OES */ + 1626, /* GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES */ + 1690, /* GL_RGBA32UI */ + 1653, /* GL_RGB32UI */ 40, /* GL_ALPHA32UI_EXT */ - 777, /* GL_INTENSITY32UI_EXT */ - 895, /* GL_LUMINANCE32UI_EXT */ - 912, /* GL_LUMINANCE_ALPHA32UI_EXT */ - 1679, /* GL_RGBA16UI */ - 1643, /* GL_RGB16UI */ + 778, /* GL_INTENSITY32UI_EXT */ + 896, /* GL_LUMINANCE32UI_EXT */ + 913, /* GL_LUMINANCE_ALPHA32UI_EXT */ + 1681, /* GL_RGBA16UI */ + 1645, /* GL_RGB16UI */ 37, /* GL_ALPHA16UI_EXT */ - 774, /* GL_INTENSITY16UI_EXT */ - 890, /* GL_LUMINANCE16UI_EXT */ - 910, /* GL_LUMINANCE_ALPHA16UI_EXT */ - 1698, /* GL_RGBA8UI */ - 1666, /* GL_RGB8UI */ + 775, /* GL_INTENSITY16UI_EXT */ + 891, /* GL_LUMINANCE16UI_EXT */ + 911, /* GL_LUMINANCE_ALPHA16UI_EXT */ + 1700, /* GL_RGBA8UI */ + 1668, /* GL_RGB8UI */ 45, /* GL_ALPHA8UI_EXT */ - 782, /* GL_INTENSITY8UI_EXT */ - 904, /* GL_LUMINANCE8UI_EXT */ - 914, /* GL_LUMINANCE_ALPHA8UI_EXT */ - 1686, /* GL_RGBA32I */ - 1649, /* GL_RGB32I */ + 783, /* GL_INTENSITY8UI_EXT */ + 905, /* GL_LUMINANCE8UI_EXT */ + 915, /* GL_LUMINANCE_ALPHA8UI_EXT */ + 1688, /* GL_RGBA32I */ + 1651, /* GL_RGB32I */ 39, /* GL_ALPHA32I_EXT */ - 776, /* GL_INTENSITY32I_EXT */ - 894, /* GL_LUMINANCE32I_EXT */ - 911, /* GL_LUMINANCE_ALPHA32I_EXT */ - 1677, /* GL_RGBA16I */ - 1641, /* GL_RGB16I */ + 777, /* GL_INTENSITY32I_EXT */ + 895, /* GL_LUMINANCE32I_EXT */ + 912, /* GL_LUMINANCE_ALPHA32I_EXT */ + 1679, /* GL_RGBA16I */ + 1643, /* GL_RGB16I */ 36, /* GL_ALPHA16I_EXT */ - 773, /* GL_INTENSITY16I_EXT */ - 889, /* GL_LUMINANCE16I_EXT */ - 909, /* GL_LUMINANCE_ALPHA16I_EXT */ - 1696, /* GL_RGBA8I */ - 1664, /* GL_RGB8I */ + 774, /* GL_INTENSITY16I_EXT */ + 890, /* GL_LUMINANCE16I_EXT */ + 910, /* GL_LUMINANCE_ALPHA16I_EXT */ + 1698, /* GL_RGBA8I */ + 1666, /* GL_RGB8I */ 44, /* GL_ALPHA8I_EXT */ - 781, /* GL_INTENSITY8I_EXT */ - 903, /* GL_LUMINANCE8I_EXT */ - 913, /* GL_LUMINANCE_ALPHA8I_EXT */ - 1580, /* GL_RED_INTEGER */ - 716, /* GL_GREEN_INTEGER */ + 782, /* GL_INTENSITY8I_EXT */ + 904, /* GL_LUMINANCE8I_EXT */ + 914, /* GL_LUMINANCE_ALPHA8I_EXT */ + 1581, /* GL_RED_INTEGER */ + 717, /* GL_GREEN_INTEGER */ 113, /* GL_BLUE_INTEGER */ 49, /* GL_ALPHA_INTEGER_EXT */ - 1711, /* GL_RGB_INTEGER */ - 1705, /* GL_RGBA_INTEGER */ + 1713, /* GL_RGB_INTEGER */ + 1707, /* GL_RGBA_INTEGER */ 84, /* GL_BGR_INTEGER */ 82, /* GL_BGRA_INTEGER */ - 916, /* GL_LUMINANCE_INTEGER_EXT */ - 915, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ - 1707, /* GL_RGBA_INTEGER_MODE_EXT */ - 791, /* GL_INT_2_10_10_10_REV */ + 917, /* GL_LUMINANCE_INTEGER_EXT */ + 916, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + 1709, /* GL_RGBA_INTEGER_MODE_EXT */ + 792, /* GL_INT_2_10_10_10_REV */ 628, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED */ 669, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS */ 668, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */ - 1722, /* GL_SAMPLER_1D_ARRAY */ - 1728, /* GL_SAMPLER_2D_ARRAY */ - 1738, /* GL_SAMPLER_BUFFER */ - 1724, /* GL_SAMPLER_1D_ARRAY_SHADOW */ - 1730, /* GL_SAMPLER_2D_ARRAY_SHADOW */ - 1741, /* GL_SAMPLER_CUBE_SHADOW */ - 2226, /* GL_UNSIGNED_INT_VEC2 */ - 2228, /* GL_UNSIGNED_INT_VEC3 */ - 2230, /* GL_UNSIGNED_INT_VEC4 */ - 792, /* GL_INT_SAMPLER_1D */ - 796, /* GL_INT_SAMPLER_2D */ - 802, /* GL_INT_SAMPLER_3D */ - 806, /* GL_INT_SAMPLER_CUBE */ - 800, /* GL_INT_SAMPLER_2D_RECT */ - 793, /* GL_INT_SAMPLER_1D_ARRAY */ - 797, /* GL_INT_SAMPLER_2D_ARRAY */ - 804, /* GL_INT_SAMPLER_BUFFER */ - 2210, /* GL_UNSIGNED_INT_SAMPLER_1D */ - 2214, /* GL_UNSIGNED_INT_SAMPLER_2D */ - 2220, /* GL_UNSIGNED_INT_SAMPLER_3D */ - 2224, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ - 2218, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ - 2211, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ - 2215, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ - 2222, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ + 1724, /* GL_SAMPLER_1D_ARRAY */ + 1730, /* GL_SAMPLER_2D_ARRAY */ + 1740, /* GL_SAMPLER_BUFFER */ + 1726, /* GL_SAMPLER_1D_ARRAY_SHADOW */ + 1732, /* GL_SAMPLER_2D_ARRAY_SHADOW */ + 1743, /* GL_SAMPLER_CUBE_SHADOW */ + 2231, /* GL_UNSIGNED_INT_VEC2 */ + 2233, /* GL_UNSIGNED_INT_VEC3 */ + 2235, /* GL_UNSIGNED_INT_VEC4 */ + 793, /* GL_INT_SAMPLER_1D */ + 797, /* GL_INT_SAMPLER_2D */ + 803, /* GL_INT_SAMPLER_3D */ + 807, /* GL_INT_SAMPLER_CUBE */ + 801, /* GL_INT_SAMPLER_2D_RECT */ + 794, /* GL_INT_SAMPLER_1D_ARRAY */ + 798, /* GL_INT_SAMPLER_2D_ARRAY */ + 805, /* GL_INT_SAMPLER_BUFFER */ + 2215, /* GL_UNSIGNED_INT_SAMPLER_1D */ + 2219, /* GL_UNSIGNED_INT_SAMPLER_2D */ + 2225, /* GL_UNSIGNED_INT_SAMPLER_3D */ + 2229, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ + 2223, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ + 2216, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ + 2220, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ + 2227, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ 707, /* GL_GEOMETRY_SHADER */ 710, /* GL_GEOMETRY_VERTICES_OUT_ARB */ 704, /* GL_GEOMETRY_INPUT_TYPE_ARB */ 706, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */ - 1080, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ - 1163, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ - 1078, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ - 1072, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ - 1076, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ - 879, /* GL_LOW_FLOAT */ - 1165, /* GL_MEDIUM_FLOAT */ - 722, /* GL_HIGH_FLOAT */ - 880, /* GL_LOW_INT */ - 1166, /* GL_MEDIUM_INT */ - 723, /* GL_HIGH_INT */ - 2200, /* GL_UNSIGNED_INT_10_10_10_2_OES */ - 790, /* GL_INT_10_10_10_2_OES */ - 1780, /* GL_SHADER_BINARY_FORMATS */ - 1268, /* GL_NUM_SHADER_BINARY_FORMATS */ - 1781, /* GL_SHADER_COMPILER */ - 1160, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - 1152, /* GL_MAX_VARYING_VECTORS */ - 1069, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - 1556, /* GL_QUERY_WAIT */ - 1550, /* GL_QUERY_NO_WAIT */ - 1546, /* GL_QUERY_BY_REGION_WAIT */ - 1544, /* GL_QUERY_BY_REGION_NO_WAIT */ - 2144, /* GL_TRANSFORM_FEEDBACK */ - 2153, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ - 2147, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ - 2145, /* GL_TRANSFORM_FEEDBACK_BINDING */ - 1540, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + 1081, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + 1164, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + 1079, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ + 1073, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ + 1077, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ + 880, /* GL_LOW_FLOAT */ + 1166, /* GL_MEDIUM_FLOAT */ + 723, /* GL_HIGH_FLOAT */ + 881, /* GL_LOW_INT */ + 1167, /* GL_MEDIUM_INT */ + 724, /* GL_HIGH_INT */ + 2205, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + 791, /* GL_INT_10_10_10_2_OES */ + 1783, /* GL_SHADER_BINARY_FORMATS */ + 1269, /* GL_NUM_SHADER_BINARY_FORMATS */ + 1784, /* GL_SHADER_COMPILER */ + 1161, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + 1153, /* GL_MAX_VARYING_VECTORS */ + 1070, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + 1557, /* GL_QUERY_WAIT */ + 1551, /* GL_QUERY_NO_WAIT */ + 1547, /* GL_QUERY_BY_REGION_WAIT */ + 1545, /* GL_QUERY_BY_REGION_NO_WAIT */ + 2149, /* GL_TRANSFORM_FEEDBACK */ + 2158, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + 2152, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + 2150, /* GL_TRANSFORM_FEEDBACK_BINDING */ + 1541, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ 562, /* GL_FIRST_VERTEX_CONVENTION */ - 824, /* GL_LAST_VERTEX_CONVENTION */ - 1514, /* GL_PROVOKING_VERTEX */ + 825, /* GL_LAST_VERTEX_CONVENTION */ + 1515, /* GL_PROVOKING_VERTEX */ 354, /* GL_COPY_READ_BUFFER */ 355, /* GL_COPY_WRITE_BUFFER */ - 1583, /* GL_RED_SNORM */ - 1718, /* GL_RG_SNORM */ - 1717, /* GL_RGB_SNORM */ - 1710, /* GL_RGBA_SNORM */ - 1562, /* GL_R8_SNORM */ - 1631, /* GL_RG8_SNORM */ - 1670, /* GL_RGB8_SNORM */ - 1702, /* GL_RGBA8_SNORM */ - 1560, /* GL_R16_SNORM */ - 1630, /* GL_RG16_SNORM */ - 1646, /* GL_RGB16_SNORM */ - 1682, /* GL_RGBA16_SNORM */ - 1792, /* GL_SIGNED_NORMALIZED */ - 1468, /* GL_PRIMITIVE_RESTART */ - 1469, /* GL_PRIMITIVE_RESTART_INDEX */ - 1125, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - 1282, /* GL_OBJECT_TYPE */ - 1905, /* GL_SYNC_CONDITION */ - 1910, /* GL_SYNC_STATUS */ - 1907, /* GL_SYNC_FLAGS */ - 1906, /* GL_SYNC_FENCE */ - 1909, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - 2193, /* GL_UNSIGNALED */ - 1791, /* GL_SIGNALED */ + 1584, /* GL_RED_SNORM */ + 1720, /* GL_RG_SNORM */ + 1719, /* GL_RGB_SNORM */ + 1712, /* GL_RGBA_SNORM */ + 1563, /* GL_R8_SNORM */ + 1633, /* GL_RG8_SNORM */ + 1672, /* GL_RGB8_SNORM */ + 1704, /* GL_RGBA8_SNORM */ + 1561, /* GL_R16_SNORM */ + 1632, /* GL_RG16_SNORM */ + 1648, /* GL_RGB16_SNORM */ + 1684, /* GL_RGBA16_SNORM */ + 1795, /* GL_SIGNED_NORMALIZED */ + 1469, /* GL_PRIMITIVE_RESTART */ + 1470, /* GL_PRIMITIVE_RESTART_INDEX */ + 1126, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1283, /* GL_OBJECT_TYPE */ + 1908, /* GL_SYNC_CONDITION */ + 1913, /* GL_SYNC_STATUS */ + 1910, /* GL_SYNC_FLAGS */ + 1909, /* GL_SYNC_FENCE */ + 1912, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 2198, /* GL_UNSIGNALED */ + 1794, /* GL_SIGNALED */ 54, /* GL_ALREADY_SIGNALED */ - 2139, /* GL_TIMEOUT_EXPIRED */ + 2144, /* GL_TIMEOUT_EXPIRED */ 315, /* GL_CONDITION_SATISFIED */ - 2310, /* GL_WAIT_FAILED */ + 2315, /* GL_WAIT_FAILED */ 126, /* GL_BUFFER_ACCESS_FLAGS */ 132, /* GL_BUFFER_MAP_LENGTH */ 133, /* GL_BUFFER_MAP_OFFSET */ - 1155, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ - 1070, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ - 1071, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ - 1066, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ + 1156, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ + 1071, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ + 1072, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ + 1067, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ 330, /* GL_CONTEXT_PROFILE_MASK */ + 712, /* GL_GL_TEXTURE_IMMUTABLE_FORMAT */ 547, /* GL_EVAL_BIT */ - 1565, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 871, /* GL_LIST_BIT */ - 2012, /* GL_TEXTURE_BIT */ - 1761, /* GL_SCISSOR_BIT */ + 1566, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 872, /* GL_LIST_BIT */ + 2016, /* GL_TEXTURE_BIT */ + 1764, /* GL_SCISSOR_BIT */ 30, /* GL_ALL_ATTRIB_BITS */ - 1231, /* GL_MULTISAMPLE_BIT */ + 1232, /* GL_MULTISAMPLE_BIT */ 31, /* GL_ALL_CLIENT_ATTRIB_BITS */ }; diff --git a/mesalib/src/mesa/main/extensions.c b/mesalib/src/mesa/main/extensions.c index 52b928e41..d5a891435 100644 --- a/mesalib/src/mesa/main/extensions.c +++ b/mesalib/src/mesa/main/extensions.c @@ -134,6 +134,7 @@ static const struct extension extension_table[] = { { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL, 2004 }, { "GL_ARB_texture_rgb10_a2ui", o(ARB_texture_rgb10_a2ui), GL, 2009 }, { "GL_ARB_texture_rg", o(ARB_texture_rg), GL, 2008 }, + { "GL_ARB_texture_storage", o(ARB_texture_storage), GL, 2011 }, { "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 }, { "GL_ARB_transform_feedback2", o(ARB_transform_feedback2), GL, 2010 }, { "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), GL, 1999 }, @@ -228,6 +229,7 @@ static const struct extension extension_table[] = { #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, 2006 }, + { "GL_OES_EGL_image_external", o(OES_EGL_image_external), ES1 | ES2, 2010 }, #endif { "GL_OES_element_index_uint", o(dummy_true), ES1 | ES2, 2005 }, { "GL_OES_fbo_render_mipmap", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, @@ -286,6 +288,7 @@ static const struct extension extension_table[] = { { "GL_NV_depth_clamp", o(ARB_depth_clamp), GL, 2001 }, { "GL_NV_draw_buffers", o(dummy_true), ES2, 2011 }, { "GL_NV_fbo_color_attachments", o(EXT_framebuffer_object), ES2, 2010 }, + { "GL_NV_fog_distance", o(NV_fog_distance), GL, 2001 }, { "GL_NV_fragment_program", o(NV_fragment_program), GL, 2001 }, { "GL_NV_fragment_program_option", o(NV_fragment_program_option), GL, 2005 }, { "GL_NV_light_max_exponent", o(NV_light_max_exponent), GL, 1999 }, @@ -421,6 +424,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE; ctx->Extensions.ARB_texture_rg = GL_TRUE; ctx->Extensions.ARB_texture_compression_rgtc = GL_TRUE; + ctx->Extensions.ARB_texture_storage = GL_TRUE; ctx->Extensions.ARB_vertex_array_object = GL_TRUE; #if FEATURE_ARB_vertex_program ctx->Extensions.ARB_vertex_program = GL_TRUE; diff --git a/mesalib/src/mesa/main/fbobject.c b/mesalib/src/mesa/main/fbobject.c index c56062ac6..bcebf1240 100644 --- a/mesalib/src/mesa/main/fbobject.c +++ b/mesalib/src/mesa/main/fbobject.c @@ -1370,12 +1370,12 @@ renderbuffer_storage(GLenum target, GLenum internalFormat, return; } - if (width < 1 || width > (GLsizei) ctx->Const.MaxRenderbufferSize) { + if (width < 0 || width > (GLsizei) ctx->Const.MaxRenderbufferSize) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(width)", func); return; } - if (height < 1 || height > (GLsizei) ctx->Const.MaxRenderbufferSize) { + if (height < 0 || height > (GLsizei) ctx->Const.MaxRenderbufferSize) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(height)", func); return; } @@ -2125,7 +2125,7 @@ _mesa_FramebufferTexture2DEXT(GLenum target, GLenum attachment, error = !ctx->Extensions.EXT_texture_array; break; default: - error = GL_FALSE; + error = GL_TRUE; } if (error) { diff --git a/mesalib/src/mesa/main/ff_fragment_shader.cpp b/mesalib/src/mesa/main/ff_fragment_shader.cpp index b5500714b..2ce81fef6 100644 --- a/mesalib/src/mesa/main/ff_fragment_shader.cpp +++ b/mesalib/src/mesa/main/ff_fragment_shader.cpp @@ -108,7 +108,7 @@ struct state_key { /* NOTE: This array of structs must be last! (see "keySize" below) */ struct { GLuint enabled:1; - GLuint source_index:3; /**< TEXTURE_x_INDEX */ + GLuint source_index:4; /**< TEXTURE_x_INDEX */ GLuint shadow:1; GLuint ScaleShiftRGB:2; GLuint ScaleShiftA:2; @@ -1041,6 +1041,11 @@ static void load_texture( struct texenv_fragment_program *p, GLuint unit ) sampler_type = p->shader->symbols->get_type("samplerCube"); coords = 3; break; + case TEXTURE_EXTERNAL_INDEX: + assert(!p->state->unit[unit].shadow); + sampler_type = p->shader->symbols->get_type("samplerExternalOES"); + coords = 2; + break; } p->src_texture[unit] = new(p->mem_ctx) ir_variable(glsl_type::vec4_type, @@ -1437,6 +1442,8 @@ create_new_program(struct gl_context *ctx, struct state_key *key) p.shader_program->InternalSeparateShader = GL_TRUE; state->language_version = 130; + if (ctx->Extensions.OES_EGL_image_external) + state->OES_EGL_image_external_enable = true; _mesa_glsl_initialize_types(state); _mesa_glsl_initialize_variables(p.instructions, state); diff --git a/mesalib/src/mesa/main/ffvertex_prog.c b/mesalib/src/mesa/main/ffvertex_prog.c index 2d2485c9e..846907842 100644 --- a/mesalib/src/mesa/main/ffvertex_prog.c +++ b/mesalib/src/mesa/main/ffvertex_prog.c @@ -61,6 +61,7 @@ struct state_key { unsigned rescale_normals:1; unsigned fog_source_is_depth:1; + unsigned fog_distance_mode:2; unsigned separate_specular:1; unsigned point_attenuated:1; unsigned point_array:1; @@ -108,7 +109,22 @@ static GLuint translate_texgen( GLboolean enabled, GLenum mode ) } } +#define FDM_EYE_RADIAL 0 +#define FDM_EYE_PLANE 1 +#define FDM_EYE_PLANE_ABS 2 +static GLuint translate_fog_distance_mode( GLenum mode ) +{ + switch (mode) { + case GL_EYE_RADIAL_NV: + return FDM_EYE_RADIAL; + case GL_EYE_PLANE: + return FDM_EYE_PLANE; + default: /* shouldn't happen; fall through to a sensible default */ + case GL_EYE_PLANE_ABSOLUTE_NV: + return FDM_EYE_PLANE_ABS; + } +} static GLboolean check_active_shininess( struct gl_context *ctx, const struct state_key *key, @@ -205,8 +221,10 @@ static void make_state_key( struct gl_context *ctx, struct state_key *key ) if (ctx->Transform.RescaleNormals) key->rescale_normals = 1; - if (ctx->Fog.FogCoordinateSource == GL_FRAGMENT_DEPTH_EXT) + if (ctx->Fog.FogCoordinateSource == GL_FRAGMENT_DEPTH_EXT) { key->fog_source_is_depth = 1; + key->fog_distance_mode = translate_fog_distance_mode(ctx->Fog.FogDistanceMode); + } if (ctx->Point._Attenuated) key->point_attenuated = 1; @@ -1308,14 +1326,31 @@ static void build_fog( struct tnl_program *p ) struct ureg input; if (p->state->fog_source_is_depth) { - input = get_eye_position_z(p); + + switch (p->state->fog_distance_mode) { + case FDM_EYE_RADIAL: /* Z = sqrt(Xe*Xe + Ye*Ye + Ze*Ze) */ + input = get_eye_position(p); + emit_op2(p, OPCODE_DP3, fog, WRITEMASK_X, input, input); + emit_op1(p, OPCODE_RSQ, fog, WRITEMASK_X, fog); + emit_op1(p, OPCODE_RCP, fog, WRITEMASK_X, fog); + break; + case FDM_EYE_PLANE: /* Z = Ze */ + input = get_eye_position_z(p); + emit_op1(p, OPCODE_MOV, fog, WRITEMASK_X, input); + break; + case FDM_EYE_PLANE_ABS: /* Z = abs(Ze) */ + input = get_eye_position_z(p); + emit_op1(p, OPCODE_ABS, fog, WRITEMASK_X, input); + break; + default: assert(0); break; /* can't happen */ + } + } else { input = swizzle1(register_input(p, VERT_ATTRIB_FOG), X); + emit_op1(p, OPCODE_ABS, fog, WRITEMASK_X, input); } - /* result.fog = {abs(f),0,0,1}; */ - emit_op1(p, OPCODE_ABS, fog, WRITEMASK_X, input); emit_op1(p, OPCODE_MOV, fog, WRITEMASK_YZW, get_identity_param(p)); } diff --git a/mesalib/src/mesa/main/fog.c b/mesalib/src/mesa/main/fog.c index 88aa31a7f..d65add930 100644 --- a/mesalib/src/mesa/main/fog.c +++ b/mesalib/src/mesa/main/fog.c @@ -172,6 +172,19 @@ _mesa_Fogfv( GLenum pname, const GLfloat *params ) ctx->Fog.FogCoordinateSource = p; break; } + case GL_FOG_DISTANCE_MODE_NV: { + GLenum p = (GLenum) (GLint) *params; + if (!ctx->Extensions.NV_fog_distance || + (p != GL_EYE_RADIAL_NV && p != GL_EYE_PLANE && p != GL_EYE_PLANE_ABSOLUTE_NV)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glFog"); + return; + } + if (ctx->Fog.FogDistanceMode == p) + return; + FLUSH_VERTICES(ctx, _NEW_FOG); + ctx->Fog.FogDistanceMode = p; + break; + } default: _mesa_error( ctx, GL_INVALID_ENUM, "glFog" ); return; @@ -201,4 +214,5 @@ void _mesa_init_fog( struct gl_context * ctx ) ctx->Fog.ColorSumEnabled = GL_FALSE; ctx->Fog.FogCoordinateSource = GL_FRAGMENT_DEPTH_EXT; ctx->Fog._Scale = 1.0f; + ctx->Fog.FogDistanceMode = GL_EYE_PLANE_ABSOLUTE_NV; } diff --git a/mesalib/src/mesa/main/format_unpack.c b/mesalib/src/mesa/main/format_unpack.c index 2051f68fb..eaa33dfdb 100644 --- a/mesalib/src/mesa/main/format_unpack.c +++ b/mesalib/src/mesa/main/format_unpack.c @@ -1415,37 +1415,26 @@ _mesa_unpack_float_z_row(gl_format format, GLuint n, typedef void (*unpack_uint_z_func)(const void *src, GLuint *dst); static void -unpack_uint_z_Z24_S8(const void *src, GLuint *dst) +unpack_uint_z_Z24_X8(const void *src, GLuint *dst) { /* only return Z, not stencil data */ const GLuint s = *((const GLuint *) src); - *dst = (s >> 8); + *dst = (s & 0xffffff00) | (s >> 24); } static void -unpack_uint_z_S8_Z24(const void *src, GLuint *dst) +unpack_uint_z_X8_Z24(const void *src, GLuint *dst) { /* only return Z, not stencil data */ const GLuint s = *((const GLuint *) src); - *dst = s & 0x00ffffff; + *dst = (s << 8) | ((s >> 16) & 0xff); } static void unpack_uint_z_Z16(const void *src, GLuint *dst) { - *dst = *((const GLushort *) src); -} - -static void -unpack_uint_z_X8_Z24(const void *src, GLuint *dst) -{ - unpack_uint_z_S8_Z24(src, dst); -} - -static void -unpack_uint_z_Z24_X8(const void *src, GLuint *dst) -{ - unpack_uint_z_Z24_S8(src, dst); + const GLushort s = *((const GLushort *)src); + *dst = (s << 16) | s; } static void @@ -1466,19 +1455,15 @@ _mesa_unpack_uint_z_row(gl_format format, GLuint n, switch (format) { case MESA_FORMAT_Z24_S8: - unpack = unpack_uint_z_Z24_S8; + case MESA_FORMAT_Z24_X8: + unpack = unpack_uint_z_Z24_X8; break; case MESA_FORMAT_S8_Z24: - unpack = unpack_uint_z_S8_Z24; - break; - case MESA_FORMAT_Z16: - unpack = unpack_uint_z_Z16; - break; case MESA_FORMAT_X8_Z24: unpack = unpack_uint_z_X8_Z24; break; - case MESA_FORMAT_Z24_X8: - unpack = unpack_uint_z_Z24_X8; + case MESA_FORMAT_Z16: + unpack = unpack_uint_z_Z16; break; case MESA_FORMAT_Z32: unpack = unpack_uint_z_Z32; @@ -1495,4 +1480,97 @@ _mesa_unpack_uint_z_row(gl_format format, GLuint n, } } +static void +unpack_ubyte_s_S8(const void *src, GLubyte *dst, GLuint n) +{ + memcpy(dst, src, n); +} +static void +unpack_ubyte_s_Z24_S8(const void *src, GLubyte *dst, GLuint n) +{ + GLuint i; + const GLuint *src32 = src; + + for (i = 0; i < n; i++) + dst[i] = src32[i] & 0xff; +} + +static void +unpack_ubyte_s_S8_Z24(const void *src, GLubyte *dst, GLuint n) +{ + GLuint i; + const GLuint *src32 = src; + + for (i = 0; i < n; i++) + dst[i] = src32[i] >> 24; +} + +static void +unpack_ubyte_s_Z32_FLOAT_X24S8(const void *src, GLubyte *dst, GLuint n) +{ + GLuint i; + const GLuint *src32 = src; + + for (i = 0; i < n; i++) + dst[i] = src32[i * 2 + 1] & 0xff; +} + +void +_mesa_unpack_ubyte_stencil_row(gl_format format, GLuint n, + const void *src, GLubyte *dst) +{ + switch (format) { + case MESA_FORMAT_S8: + unpack_ubyte_s_S8(src, dst, n); + break; + case MESA_FORMAT_Z24_S8: + unpack_ubyte_s_Z24_S8(src, dst, n); + break; + case MESA_FORMAT_S8_Z24: + unpack_ubyte_s_S8_Z24(src, dst, n); + break; + case MESA_FORMAT_Z32_FLOAT_X24S8: + unpack_ubyte_s_Z32_FLOAT_X24S8(src, dst, n); + break; + default: + _mesa_problem(NULL, "bad format %s in _mesa_unpack_ubyte_s_row", + _mesa_get_format_name(format)); + return; + } +} + +static void +unpack_uint_24_8_depth_stencil_S8_Z24(const GLuint *src, GLuint *dst, GLuint n) +{ + GLuint i; + + for (i = 0; i < n; i++) { + GLuint val = src[i]; + dst[i] = val >> 24 | val << 8; + } +} + +static void +unpack_uint_24_8_depth_stencil_Z24_S8(const GLuint *src, GLuint *dst, GLuint n) +{ + memcpy(dst, src, n * 4); +} + +void +_mesa_unpack_uint_24_8_depth_stencil_row(gl_format format, GLuint n, + const void *src, GLuint *dst) +{ + switch (format) { + case MESA_FORMAT_Z24_S8: + unpack_uint_24_8_depth_stencil_Z24_S8(src, dst, n); + break; + case MESA_FORMAT_S8_Z24: + unpack_uint_24_8_depth_stencil_S8_Z24(src, dst, n); + break; + default: + _mesa_problem(NULL, "bad format %s in _mesa_unpack_ubyte_s_row", + _mesa_get_format_name(format)); + return; + } +} diff --git a/mesalib/src/mesa/main/format_unpack.h b/mesalib/src/mesa/main/format_unpack.h index c37727d91..a8a829c88 100644 --- a/mesalib/src/mesa/main/format_unpack.h +++ b/mesalib/src/mesa/main/format_unpack.h @@ -45,5 +45,13 @@ void _mesa_unpack_uint_z_row(gl_format format, GLuint n, const void *src, GLuint *dst); +void +_mesa_unpack_ubyte_stencil_row(gl_format format, GLuint n, + const void *src, GLubyte *dst); + +void +_mesa_unpack_uint_24_8_depth_stencil_row(gl_format format, GLuint n, + const void *src, GLuint *dst); + #endif /* FORMAT_UNPACK_H */ diff --git a/mesalib/src/mesa/main/formats.c b/mesalib/src/mesa/main/formats.c index 6307f8e4d..c6febb0e5 100644 --- a/mesalib/src/mesa/main/formats.c +++ b/mesalib/src/mesa/main/formats.c @@ -2444,3 +2444,321 @@ _mesa_format_to_type_and_comps(gl_format format, *comps = 1; } } + +/** + * Returns a MESA_FORMAT describing pixels with the given format/type if + * available, or MESA_FORMAT_NONE. + * + * If a format is returned, it should be suitable to memcpy + * _mesa_get_format_bytes() at a time to move the pixel data. + */ +GLboolean +_mesa_format_matches_format_and_type(gl_format gl_format, + GLenum format, GLenum type) +{ + const GLboolean littleEndian = _mesa_little_endian(); + + /* Note: When reading a GL format/type combination, the format lists channel + * assignments from most significant channel in the type to least + * significant. A type with _REV indicates that the assignments are swapped, + * so they are listed from least significant to most significant. + * + * For sanity, please keep this switch statement ordered the same as the enum + * in formats.h. + * + * This matching assumes that GL_PACK/UNPACK_SWAP_BYTES is unset. + */ + + switch (gl_format) { + + case MESA_FORMAT_NONE: + case MESA_FORMAT_COUNT: + return GL_FALSE; + + case MESA_FORMAT_RGBA8888: + return ((format == GL_RGBA && (type == GL_UNSIGNED_INT_8_8_8_8 || + (type == GL_UNSIGNED_BYTE && !littleEndian))) || + (format == GL_ABGR_EXT && (type == GL_UNSIGNED_INT_8_8_8_8_REV || + (type == GL_UNSIGNED_BYTE && littleEndian)))); + + case MESA_FORMAT_RGBA8888_REV: + return ((format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8_REV)); + + case MESA_FORMAT_ARGB8888: + return ((format == GL_BGRA && (type == GL_UNSIGNED_INT_8_8_8_8_REV || + (type == GL_UNSIGNED_BYTE && littleEndian)))); + + case MESA_FORMAT_ARGB8888_REV: + return ((format == GL_BGRA && (type == GL_UNSIGNED_INT_8_8_8_8 || + (type == GL_UNSIGNED_BYTE && !littleEndian)))); + + case MESA_FORMAT_XRGB8888: + case MESA_FORMAT_XRGB8888_REV: + return GL_FALSE; + + case MESA_FORMAT_RGB888: + return format == GL_RGB && type == GL_UNSIGNED_BYTE && littleEndian; + + case MESA_FORMAT_BGR888: + return GL_FALSE; + + case MESA_FORMAT_RGB565: + return format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5; + case MESA_FORMAT_RGB565_REV: + /* Some of the 16-bit MESA_FORMATs that would seem to correspond to + * GL_UNSIGNED_SHORT_* are byte-swapped instead of channel-reversed, + * according to formats.h, so they can't be matched. + */ + return GL_FALSE; + + case MESA_FORMAT_ARGB4444: + return format == GL_BGRA && type == GL_UNSIGNED_SHORT_4_4_4_4_REV; + case MESA_FORMAT_ARGB4444_REV: + return GL_FALSE; + + case MESA_FORMAT_RGBA5551: + return format == GL_RGBA && type == GL_UNSIGNED_SHORT_5_5_5_1; + + case MESA_FORMAT_ARGB1555: + return format == GL_BGRA && type == GL_UNSIGNED_SHORT_1_5_5_5_REV; + case MESA_FORMAT_ARGB1555_REV: + return GL_FALSE; + + case MESA_FORMAT_AL44: + return GL_FALSE; + case MESA_FORMAT_AL88: + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_BYTE && littleEndian; + case MESA_FORMAT_AL88_REV: + return GL_FALSE; + + case MESA_FORMAT_AL1616: + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_AL1616_REV: + return GL_FALSE; + + case MESA_FORMAT_RGB332: + return format == GL_RGB && type == GL_UNSIGNED_BYTE_3_3_2; + + case MESA_FORMAT_A8: + return format == GL_ALPHA && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_A16: + return format == GL_ALPHA && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_L8: + return format == GL_LUMINANCE && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_L16: + return format == GL_LUMINANCE && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_I8: + return format == GL_INTENSITY && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_I16: + return format == GL_INTENSITY && type == GL_UNSIGNED_SHORT && littleEndian; + + case MESA_FORMAT_YCBCR: + case MESA_FORMAT_YCBCR_REV: + return GL_FALSE; + + case MESA_FORMAT_R8: + return format == GL_RED && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_RG88: + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_BYTE && littleEndian; + case MESA_FORMAT_RG88_REV: + return GL_FALSE; + + case MESA_FORMAT_R16: + return format == GL_RED && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_RG1616: + return format == GL_RG && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_RG1616_REV: + return GL_FALSE; + + case MESA_FORMAT_ARGB2101010: + return format == GL_BGRA && type == GL_UNSIGNED_INT_2_10_10_10_REV; + + case MESA_FORMAT_Z24_S8: + return format == GL_DEPTH_STENCIL && type == GL_UNSIGNED_INT_24_8; + case MESA_FORMAT_Z24_X8: + case MESA_FORMAT_S8_Z24: + return GL_FALSE; + + case MESA_FORMAT_Z16: + return format == GL_DEPTH_COMPONENT && type == GL_UNSIGNED_SHORT; + + case MESA_FORMAT_X8_Z24: + return GL_FALSE; + + case MESA_FORMAT_Z32: + return format == GL_DEPTH_COMPONENT && type == GL_UNSIGNED_INT; + + case MESA_FORMAT_S8: + return GL_FALSE; + + case MESA_FORMAT_SRGB8: + case MESA_FORMAT_SRGBA8: + case MESA_FORMAT_SARGB8: + case MESA_FORMAT_SL8: + case MESA_FORMAT_SLA8: + case MESA_FORMAT_SRGB_DXT1: + case MESA_FORMAT_SRGBA_DXT1: + case MESA_FORMAT_SRGBA_DXT3: + case MESA_FORMAT_SRGBA_DXT5: + return GL_FALSE; + + case MESA_FORMAT_RGB_FXT1: + case MESA_FORMAT_RGBA_FXT1: + case MESA_FORMAT_RGB_DXT1: + case MESA_FORMAT_RGBA_DXT1: + case MESA_FORMAT_RGBA_DXT3: + case MESA_FORMAT_RGBA_DXT5: + return GL_FALSE; + + case MESA_FORMAT_RGBA_FLOAT32: + return format == GL_RGBA && type == GL_FLOAT; + case MESA_FORMAT_RGBA_FLOAT16: + return format == GL_RGBA && type == GL_HALF_FLOAT; + + case MESA_FORMAT_RGB_FLOAT32: + return format == GL_RGB && type == GL_FLOAT; + case MESA_FORMAT_RGB_FLOAT16: + return format == GL_RGB && type == GL_HALF_FLOAT; + + case MESA_FORMAT_ALPHA_FLOAT32: + return format == GL_ALPHA && type == GL_FLOAT; + case MESA_FORMAT_ALPHA_FLOAT16: + return format == GL_ALPHA && type == GL_HALF_FLOAT; + + case MESA_FORMAT_LUMINANCE_FLOAT32: + return format == GL_LUMINANCE && type == GL_FLOAT; + case MESA_FORMAT_LUMINANCE_FLOAT16: + return format == GL_LUMINANCE && type == GL_HALF_FLOAT; + + case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32: + return format == GL_LUMINANCE_ALPHA && type == GL_FLOAT; + case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16: + return format == GL_LUMINANCE_ALPHA && type == GL_HALF_FLOAT; + + case MESA_FORMAT_INTENSITY_FLOAT32: + return format == GL_INTENSITY && type == GL_FLOAT; + case MESA_FORMAT_INTENSITY_FLOAT16: + return format == GL_INTENSITY && type == GL_HALF_FLOAT; + + case MESA_FORMAT_R_FLOAT32: + return format == GL_RED && type == GL_FLOAT; + case MESA_FORMAT_R_FLOAT16: + return format == GL_RED && type == GL_HALF_FLOAT; + + case MESA_FORMAT_RG_FLOAT32: + return format == GL_RG && type == GL_FLOAT; + case MESA_FORMAT_RG_FLOAT16: + return format == GL_RG && type == GL_HALF_FLOAT; + + /* FINISHME: What do we want to do for GL_EXT_texture_integer? */ + case MESA_FORMAT_ALPHA_UINT8: + case MESA_FORMAT_ALPHA_UINT16: + case MESA_FORMAT_ALPHA_UINT32: + case MESA_FORMAT_ALPHA_INT8: + case MESA_FORMAT_ALPHA_INT16: + case MESA_FORMAT_ALPHA_INT32: + return GL_FALSE; + + case MESA_FORMAT_INTENSITY_UINT8: + case MESA_FORMAT_INTENSITY_UINT16: + case MESA_FORMAT_INTENSITY_UINT32: + case MESA_FORMAT_INTENSITY_INT8: + case MESA_FORMAT_INTENSITY_INT16: + case MESA_FORMAT_INTENSITY_INT32: + return GL_FALSE; + + case MESA_FORMAT_LUMINANCE_UINT8: + case MESA_FORMAT_LUMINANCE_UINT16: + case MESA_FORMAT_LUMINANCE_UINT32: + case MESA_FORMAT_LUMINANCE_INT8: + case MESA_FORMAT_LUMINANCE_INT16: + case MESA_FORMAT_LUMINANCE_INT32: + return GL_FALSE; + + case MESA_FORMAT_LUMINANCE_ALPHA_UINT8: + case MESA_FORMAT_LUMINANCE_ALPHA_UINT16: + case MESA_FORMAT_LUMINANCE_ALPHA_UINT32: + case MESA_FORMAT_LUMINANCE_ALPHA_INT8: + case MESA_FORMAT_LUMINANCE_ALPHA_INT16: + case MESA_FORMAT_LUMINANCE_ALPHA_INT32: + return GL_FALSE; + + case MESA_FORMAT_R_INT8: + case MESA_FORMAT_RG_INT8: + case MESA_FORMAT_RGB_INT8: + case MESA_FORMAT_RGBA_INT8: + case MESA_FORMAT_R_INT16: + case MESA_FORMAT_RG_INT16: + case MESA_FORMAT_RGB_INT16: + case MESA_FORMAT_RGBA_INT16: + case MESA_FORMAT_R_INT32: + case MESA_FORMAT_RG_INT32: + case MESA_FORMAT_RGB_INT32: + case MESA_FORMAT_RGBA_INT32: + return GL_FALSE; + + case MESA_FORMAT_R_UINT8: + case MESA_FORMAT_RG_UINT8: + case MESA_FORMAT_RGB_UINT8: + case MESA_FORMAT_RGBA_UINT8: + case MESA_FORMAT_R_UINT16: + case MESA_FORMAT_RG_UINT16: + case MESA_FORMAT_RGB_UINT16: + case MESA_FORMAT_RGBA_UINT16: + case MESA_FORMAT_R_UINT32: + case MESA_FORMAT_RG_UINT32: + case MESA_FORMAT_RGB_UINT32: + case MESA_FORMAT_RGBA_UINT32: + return GL_FALSE; + + case MESA_FORMAT_DUDV8: + case MESA_FORMAT_SIGNED_R8: + case MESA_FORMAT_SIGNED_RG88_REV: + case MESA_FORMAT_SIGNED_RGBX8888: + case MESA_FORMAT_SIGNED_RGBA8888: + case MESA_FORMAT_SIGNED_RGBA8888_REV: + case MESA_FORMAT_SIGNED_R16: + case MESA_FORMAT_SIGNED_GR1616: + case MESA_FORMAT_SIGNED_RGB_16: + case MESA_FORMAT_SIGNED_RGBA_16: + case MESA_FORMAT_RGBA_16: + /* FINISHME: SNORM */ + return GL_FALSE; + + case MESA_FORMAT_RED_RGTC1: + case MESA_FORMAT_SIGNED_RED_RGTC1: + case MESA_FORMAT_RG_RGTC2: + case MESA_FORMAT_SIGNED_RG_RGTC2: + return GL_FALSE; + + case MESA_FORMAT_L_LATC1: + case MESA_FORMAT_SIGNED_L_LATC1: + case MESA_FORMAT_LA_LATC2: + case MESA_FORMAT_SIGNED_LA_LATC2: + return GL_FALSE; + + case MESA_FORMAT_SIGNED_A8: + case MESA_FORMAT_SIGNED_L8: + case MESA_FORMAT_SIGNED_AL88: + case MESA_FORMAT_SIGNED_I8: + case MESA_FORMAT_SIGNED_A16: + case MESA_FORMAT_SIGNED_L16: + case MESA_FORMAT_SIGNED_AL1616: + case MESA_FORMAT_SIGNED_I16: + /* FINISHME: SNORM */ + return GL_FALSE; + + case MESA_FORMAT_RGB9_E5_FLOAT: + return format == GL_RGB && type == GL_UNSIGNED_INT_5_9_9_9_REV; + case MESA_FORMAT_R11_G11_B10_FLOAT: + return format == GL_RGB && type == GL_UNSIGNED_INT_10F_11F_11F_REV; + + case MESA_FORMAT_Z32_FLOAT: + return format == GL_DEPTH_COMPONENT && type == GL_FLOAT; + + case MESA_FORMAT_Z32_FLOAT_X24S8: + return GL_FALSE; + } + + return GL_FALSE; +} diff --git a/mesalib/src/mesa/main/formats.h b/mesalib/src/mesa/main/formats.h index 12758f03e..f24d52548 100644 --- a/mesalib/src/mesa/main/formats.h +++ b/mesalib/src/mesa/main/formats.h @@ -318,5 +318,8 @@ _mesa_get_uncompressed_format(gl_format format); extern GLuint _mesa_format_num_components(gl_format format); +GLboolean +_mesa_format_matches_format_and_type(gl_format gl_format, + GLenum format, GLenum type); #endif /* FORMATS_H */ diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c index 3c388e56e..d8a063876 100644 --- a/mesalib/src/mesa/main/get.c +++ b/mesalib/src/mesa/main/get.c @@ -295,6 +295,7 @@ EXTRA_EXT(MESA_texture_array); EXTRA_EXT2(EXT_secondary_color, ARB_vertex_program); EXTRA_EXT(EXT_secondary_color); EXTRA_EXT(EXT_fog_coord); +EXTRA_EXT(NV_fog_distance); EXTRA_EXT(EXT_texture_filter_anisotropic); EXTRA_EXT(IBM_rasterpos_clip); EXTRA_EXT(NV_point_sprite); @@ -331,6 +332,7 @@ EXTRA_EXT(ARB_color_buffer_float); EXTRA_EXT(ARB_copy_buffer); EXTRA_EXT(EXT_framebuffer_sRGB); EXTRA_EXT(ARB_texture_buffer_object); +EXTRA_EXT(OES_EGL_image_external); static const int extra_ARB_vertex_program_ARB_fragment_program_NV_vertex_program[] = { @@ -761,6 +763,12 @@ static const struct value_desc values[] = { { GL_SHADER_BINARY_FORMATS, CONST(0), NO_EXTRA }, #endif /* FEATURE_ES2 */ + /* GL_OES_EGL_image_external */ + { GL_TEXTURE_BINDING_EXTERNAL_OES, LOC_CUSTOM, + TYPE_INT, TEXTURE_EXTERNAL_INDEX, extra_OES_EGL_image_external }, + { GL_TEXTURE_EXTERNAL_OES, LOC_CUSTOM, + TYPE_BOOLEAN, 0, extra_OES_EGL_image_external }, + #if FEATURE_GL /* Remaining enums are only in OpenGL */ { 0, 0, TYPE_API_MASK, API_OPENGL_BIT, NO_EXTRA }, @@ -972,6 +980,10 @@ static const struct value_desc values[] = { { GL_FOG_COORDINATE_SOURCE_EXT, CONTEXT_ENUM(Fog.FogCoordinateSource), extra_EXT_fog_coord }, + /* GL_NV_fog_distance */ + { GL_FOG_DISTANCE_MODE_NV, CONTEXT_ENUM(Fog.FogDistanceMode), + extra_NV_fog_distance }, + /* GL_IBM_rasterpos_clip */ { GL_RASTER_POSITION_UNCLIPPED_IBM, CONTEXT_BOOL(Transform.RasterPositionUnclipped), @@ -1414,6 +1426,7 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu case GL_TEXTURE_2D_ARRAY_EXT: case GL_TEXTURE_CUBE_MAP_ARB: case GL_TEXTURE_RECTANGLE_NV: + case GL_TEXTURE_EXTERNAL_OES: v->value_bool = _mesa_IsEnabled(d->pname); break; @@ -1591,6 +1604,7 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu case GL_TEXTURE_BINDING_2D_ARRAY_EXT: case GL_TEXTURE_BINDING_CUBE_MAP_ARB: case GL_TEXTURE_BINDING_RECTANGLE_NV: + case GL_TEXTURE_BINDING_EXTERNAL_OES: unit = ctx->Texture.CurrentUnit; v->value_int = ctx->Texture.Unit[unit].CurrentTex[d->offset]->Name; diff --git a/mesalib/src/mesa/main/glheader.h b/mesalib/src/mesa/main/glheader.h index 0df811986..c4fb1570d 100644 --- a/mesalib/src/mesa/main/glheader.h +++ b/mesalib/src/mesa/main/glheader.h @@ -66,6 +66,14 @@ typedef void *GLeglImageOES; #endif +#ifndef GL_OES_EGL_image_external +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_SAMPLER_EXTERNAL_OES 0x8D66 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 +#endif + + #ifndef GL_OES_point_size_array #define GL_POINT_SIZE_ARRAY_OES 0x8B9C #define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A diff --git a/mesalib/src/mesa/main/mipmap.c b/mesalib/src/mesa/main/mipmap.c index 46d71bb22..461de9d1b 100644 --- a/mesalib/src/mesa/main/mipmap.c +++ b/mesalib/src/mesa/main/mipmap.c @@ -1751,6 +1751,7 @@ _mesa_generate_mipmap_level(GLenum target, } break; case GL_TEXTURE_RECTANGLE_NV: + case GL_TEXTURE_EXTERNAL_OES: /* no mipmaps, do nothing */ break; default: diff --git a/mesalib/src/mesa/main/mtypes.h b/mesalib/src/mesa/main/mtypes.h index aa3fa6aec..61909727d 100644 --- a/mesalib/src/mesa/main/mtypes.h +++ b/mesalib/src/mesa/main/mtypes.h @@ -884,6 +884,7 @@ struct gl_fog_attrib GLboolean ColorSumEnabled; GLenum FogCoordinateSource; /**< GL_EXT_fog_coord */ GLfloat _Scale; /**< (End == Start) ? 1.0 : 1.0 / (End - Start) */ + GLenum FogDistanceMode; /**< GL_NV_fog_distance */ }; @@ -1165,6 +1166,7 @@ typedef enum TEXTURE_BUFFER_INDEX, TEXTURE_2D_ARRAY_INDEX, TEXTURE_1D_ARRAY_INDEX, + TEXTURE_EXTERNAL_INDEX, TEXTURE_CUBE_INDEX, TEXTURE_3D_INDEX, TEXTURE_RECT_INDEX, @@ -1182,6 +1184,7 @@ typedef enum #define TEXTURE_BUFFER_BIT (1 << TEXTURE_BUFFER_INDEX) #define TEXTURE_2D_ARRAY_BIT (1 << TEXTURE_2D_ARRAY_INDEX) #define TEXTURE_1D_ARRAY_BIT (1 << TEXTURE_1D_ARRAY_INDEX) +#define TEXTURE_EXTERNAL_BIT (1 << TEXTURE_EXTERNAL_INDEX) #define TEXTURE_CUBE_BIT (1 << TEXTURE_CUBE_INDEX) #define TEXTURE_3D_BIT (1 << TEXTURE_3D_INDEX) #define TEXTURE_RECT_BIT (1 << TEXTURE_RECT_INDEX) @@ -1334,6 +1337,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? */ + GLboolean Immutable; /**< GL_ARB_texture_storage */ /** Actual texture images, indexed by [cube face] and [mipmap level] */ struct gl_texture_image *Image[MAX_FACES][MAX_TEXTURE_LEVELS]; @@ -1342,6 +1346,9 @@ struct gl_texture_object struct gl_buffer_object *BufferObject; GLenum BufferObjectFormat; + /** GL_OES_EGL_image_external */ + GLint RequiredTextureImageUnits; + /** * \name For device driver. * Note: instead of attaching driver data to this pointer, it's preferable @@ -2826,6 +2833,7 @@ struct gl_extensions GLboolean ARB_texture_non_power_of_two; GLboolean ARB_texture_rg; GLboolean ARB_texture_rgb10_a2ui; + GLboolean ARB_texture_storage; GLboolean ARB_timer_query; GLboolean ARB_transform_feedback2; GLboolean ARB_transpose_matrix; @@ -2900,6 +2908,7 @@ struct gl_extensions GLboolean MESA_texture_array; GLboolean NV_blend_square; GLboolean NV_conditional_render; + GLboolean NV_fog_distance; GLboolean NV_fragment_program; GLboolean NV_fragment_program_option; GLboolean NV_light_max_exponent; @@ -2916,6 +2925,7 @@ struct gl_extensions GLboolean S3_s3tc; GLboolean OES_EGL_image; GLboolean OES_draw_texture; + GLboolean OES_EGL_image_external; GLboolean extension_sentinel; /** The extension string */ const GLubyte *String; diff --git a/mesalib/src/mesa/main/pack.c b/mesalib/src/mesa/main/pack.c index ecdeaf5dc..539a06c9a 100644 --- a/mesalib/src/mesa/main/pack.c +++ b/mesalib/src/mesa/main/pack.c @@ -1983,6 +1983,7 @@ _mesa_pack_rgba_span_float(struct gl_context *ctx, GLuint n, GLfloat rgba[][4], break; default: _mesa_problem(ctx, "bad type in _mesa_pack_rgba_span_float"); + free(luminance); return; } diff --git a/mesalib/src/mesa/main/remap_helper.h b/mesalib/src/mesa/main/remap_helper.h index 5ea2bb62c..db13fb985 100644 --- a/mesalib/src/mesa/main/remap_helper.h +++ b/mesalib/src/mesa/main/remap_helper.h @@ -220,4865 +220,4889 @@ static const char _mesa_function_pool[] = "iif\0" "glListParameterfSGIX\0" "\0" - /* _mesa_function_pool[1272]: SecondaryColor3bEXT (will be remapped) */ + /* _mesa_function_pool[1272]: TexStorage1D (will be remapped) */ + "iiii\0" + "glTexStorage1D\0" + "\0" + /* _mesa_function_pool[1293]: SecondaryColor3bEXT (will be remapped) */ "iii\0" "glSecondaryColor3b\0" "glSecondaryColor3bEXT\0" "\0" - /* _mesa_function_pool[1318]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[1339]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ "pppp\0" "glTexCoord4fColor4fNormal3fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[1364]: GetnPolygonStippleARB (will be remapped) */ + /* _mesa_function_pool[1385]: GetnPolygonStippleARB (will be remapped) */ "ip\0" "glGetnPolygonStippleARB\0" "\0" - /* _mesa_function_pool[1392]: GetPixelMapfv (offset 271) */ + /* _mesa_function_pool[1413]: GetPixelMapfv (offset 271) */ "ip\0" "glGetPixelMapfv\0" "\0" - /* _mesa_function_pool[1412]: Color3uiv (offset 22) */ + /* _mesa_function_pool[1433]: Color3uiv (offset 22) */ "p\0" "glColor3uiv\0" "\0" - /* _mesa_function_pool[1427]: IsEnabled (offset 286) */ + /* _mesa_function_pool[1448]: IsEnabled (offset 286) */ "i\0" "glIsEnabled\0" "\0" - /* _mesa_function_pool[1442]: VertexAttrib4svNV (will be remapped) */ + /* _mesa_function_pool[1463]: VertexAttrib4svNV (will be remapped) */ "ip\0" "glVertexAttrib4svNV\0" "\0" - /* _mesa_function_pool[1466]: EvalCoord2fv (offset 235) */ + /* _mesa_function_pool[1487]: EvalCoord2fv (offset 235) */ "p\0" "glEvalCoord2fv\0" "\0" - /* _mesa_function_pool[1484]: GetBufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1505]: GetBufferSubDataARB (will be remapped) */ "iiip\0" "glGetBufferSubData\0" "glGetBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1531]: BufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1552]: BufferSubDataARB (will be remapped) */ "iiip\0" "glBufferSubData\0" "glBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1572]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1593]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1610]: AttachShader (will be remapped) */ + /* _mesa_function_pool[1631]: AttachShader (will be remapped) */ "ii\0" "glAttachShader\0" "\0" - /* _mesa_function_pool[1629]: GetCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[1650]: GetCombinerInputParameterfvNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[1668]: MultiTexCoordP2ui (will be remapped) */ + /* _mesa_function_pool[1689]: MultiTexCoordP2ui (will be remapped) */ "iii\0" "glMultiTexCoordP2ui\0" "\0" - /* _mesa_function_pool[1693]: VertexAttrib2fARB (will be remapped) */ + /* _mesa_function_pool[1714]: VertexAttrib2fARB (will be remapped) */ "iff\0" "glVertexAttrib2f\0" "glVertexAttrib2fARB\0" "\0" - /* _mesa_function_pool[1735]: GetDebugLogLengthMESA (dynamic) */ + /* _mesa_function_pool[1756]: GetDebugLogLengthMESA (dynamic) */ "iii\0" "glGetDebugLogLengthMESA\0" "\0" - /* _mesa_function_pool[1764]: GetMapiv (offset 268) */ + /* _mesa_function_pool[1785]: GetMapiv (offset 268) */ "iip\0" "glGetMapiv\0" "\0" - /* _mesa_function_pool[1780]: VertexAttrib3fARB (will be remapped) */ + /* _mesa_function_pool[1801]: VertexAttrib3fARB (will be remapped) */ "ifff\0" "glVertexAttrib3f\0" "glVertexAttrib3fARB\0" "\0" - /* _mesa_function_pool[1823]: Indexubv (offset 316) */ + /* _mesa_function_pool[1844]: Indexubv (offset 316) */ "p\0" "glIndexubv\0" "\0" - /* _mesa_function_pool[1837]: GetQueryivARB (will be remapped) */ + /* _mesa_function_pool[1858]: GetQueryivARB (will be remapped) */ "iip\0" "glGetQueryiv\0" "glGetQueryivARB\0" "\0" - /* _mesa_function_pool[1871]: TexImage3D (offset 371) */ + /* _mesa_function_pool[1892]: TexImage3D (offset 371) */ "iiiiiiiiip\0" "glTexImage3D\0" "glTexImage3DEXT\0" "\0" - /* _mesa_function_pool[1912]: BindFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[1933]: BindFragDataLocationEXT (will be remapped) */ "iip\0" "glBindFragDataLocationEXT\0" "glBindFragDataLocation\0" "\0" - /* _mesa_function_pool[1966]: TexCoordP4ui (will be remapped) */ + /* _mesa_function_pool[1987]: TexCoordP4ui (will be remapped) */ "ii\0" "glTexCoordP4ui\0" "\0" - /* _mesa_function_pool[1985]: ReplacementCodeuiVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2006]: ReplacementCodeuiVertex3fvSUN (dynamic) */ "pp\0" "glReplacementCodeuiVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2021]: EdgeFlagPointer (offset 312) */ + /* _mesa_function_pool[2042]: EdgeFlagPointer (offset 312) */ "ip\0" "glEdgeFlagPointer\0" "\0" - /* _mesa_function_pool[2043]: Color3ubv (offset 20) */ + /* _mesa_function_pool[2064]: Color3ubv (offset 20) */ "p\0" "glColor3ubv\0" "\0" - /* _mesa_function_pool[2058]: GetQueryObjectivARB (will be remapped) */ + /* _mesa_function_pool[2079]: GetQueryObjectivARB (will be remapped) */ "iip\0" "glGetQueryObjectiv\0" "glGetQueryObjectivARB\0" "\0" - /* _mesa_function_pool[2104]: Vertex3dv (offset 135) */ + /* _mesa_function_pool[2125]: Vertex3dv (offset 135) */ "p\0" "glVertex3dv\0" "\0" - /* _mesa_function_pool[2119]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2140]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2166]: CompressedTexSubImage2DARB (will be remapped) */ + /* _mesa_function_pool[2187]: CompressedTexSubImage2DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexSubImage2D\0" "glCompressedTexSubImage2DARB\0" "\0" - /* _mesa_function_pool[2232]: CombinerOutputNV (will be remapped) */ + /* _mesa_function_pool[2253]: CombinerOutputNV (will be remapped) */ "iiiiiiiiii\0" "glCombinerOutputNV\0" "\0" - /* _mesa_function_pool[2263]: VertexAttribs3fvNV (will be remapped) */ + /* _mesa_function_pool[2284]: VertexAttribs3fvNV (will be remapped) */ "iip\0" "glVertexAttribs3fvNV\0" "\0" - /* _mesa_function_pool[2289]: GetnMapivARB (will be remapped) */ + /* _mesa_function_pool[2310]: GetnMapivARB (will be remapped) */ "iiip\0" "glGetnMapivARB\0" "\0" - /* _mesa_function_pool[2310]: Uniform2fARB (will be remapped) */ + /* _mesa_function_pool[2331]: Uniform2fARB (will be remapped) */ "iff\0" "glUniform2f\0" "glUniform2fARB\0" "\0" - /* _mesa_function_pool[2342]: LightModeliv (offset 166) */ + /* _mesa_function_pool[2363]: LightModeliv (offset 166) */ "ip\0" "glLightModeliv\0" "\0" - /* _mesa_function_pool[2361]: VertexAttrib1svARB (will be remapped) */ + /* _mesa_function_pool[2382]: VertexAttrib1svARB (will be remapped) */ "ip\0" "glVertexAttrib1sv\0" "glVertexAttrib1svARB\0" "\0" - /* _mesa_function_pool[2404]: VertexAttribs1dvNV (will be remapped) */ + /* _mesa_function_pool[2425]: VertexAttribs1dvNV (will be remapped) */ "iip\0" "glVertexAttribs1dvNV\0" "\0" - /* _mesa_function_pool[2430]: VertexP3ui (will be remapped) */ + /* _mesa_function_pool[2451]: VertexP3ui (will be remapped) */ "ii\0" "glVertexP3ui\0" "\0" - /* _mesa_function_pool[2447]: Uniform2ivARB (will be remapped) */ + /* _mesa_function_pool[2468]: Uniform2ivARB (will be remapped) */ "iip\0" "glUniform2iv\0" "glUniform2ivARB\0" "\0" - /* _mesa_function_pool[2481]: GetImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[2502]: GetImageTransformParameterfvHP (dynamic) */ "iip\0" "glGetImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[2519]: Normal3bv (offset 53) */ + /* _mesa_function_pool[2540]: Normal3bv (offset 53) */ "p\0" "glNormal3bv\0" "\0" - /* _mesa_function_pool[2534]: TexGeniv (offset 193) */ + /* _mesa_function_pool[2555]: TexGeniv (offset 193) */ "iip\0" "glTexGeniv\0" "\0" - /* _mesa_function_pool[2550]: TexCoordP1uiv (will be remapped) */ + /* _mesa_function_pool[2571]: TexCoordP1uiv (will be remapped) */ "ip\0" "glTexCoordP1uiv\0" "\0" - /* _mesa_function_pool[2570]: WeightubvARB (dynamic) */ + /* _mesa_function_pool[2591]: WeightubvARB (dynamic) */ "ip\0" "glWeightubvARB\0" "\0" - /* _mesa_function_pool[2589]: VertexAttrib1fvNV (will be remapped) */ + /* _mesa_function_pool[2610]: VertexAttrib1fvNV (will be remapped) */ "ip\0" "glVertexAttrib1fvNV\0" "\0" - /* _mesa_function_pool[2613]: Vertex3iv (offset 139) */ + /* _mesa_function_pool[2634]: Vertex3iv (offset 139) */ "p\0" "glVertex3iv\0" "\0" - /* _mesa_function_pool[2628]: CopyConvolutionFilter1D (offset 354) */ + /* _mesa_function_pool[2649]: CopyConvolutionFilter1D (offset 354) */ "iiiii\0" "glCopyConvolutionFilter1D\0" "glCopyConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[2690]: VertexAttribI1uiEXT (will be remapped) */ + /* _mesa_function_pool[2711]: VertexAttribI1uiEXT (will be remapped) */ "ii\0" "glVertexAttribI1uiEXT\0" "glVertexAttribI1ui\0" "\0" - /* _mesa_function_pool[2735]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[2756]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[2783]: TexCoordP1ui (will be remapped) */ + /* _mesa_function_pool[2804]: TexCoordP1ui (will be remapped) */ "ii\0" "glTexCoordP1ui\0" "\0" - /* _mesa_function_pool[2802]: DeleteSync (will be remapped) */ + /* _mesa_function_pool[2823]: DeleteSync (will be remapped) */ "i\0" "glDeleteSync\0" "\0" - /* _mesa_function_pool[2818]: FragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[2839]: FragmentMaterialfvSGIX (dynamic) */ "iip\0" "glFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[2848]: BlendColor (offset 336) */ + /* _mesa_function_pool[2869]: BlendColor (offset 336) */ "ffff\0" "glBlendColor\0" "glBlendColorEXT\0" "\0" - /* _mesa_function_pool[2883]: UniformMatrix4fvARB (will be remapped) */ + /* _mesa_function_pool[2904]: UniformMatrix4fvARB (will be remapped) */ "iiip\0" "glUniformMatrix4fv\0" "glUniformMatrix4fvARB\0" "\0" - /* _mesa_function_pool[2930]: DeleteVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[2951]: DeleteVertexArraysAPPLE (will be remapped) */ "ip\0" "glDeleteVertexArrays\0" "glDeleteVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[2981]: TexBuffer (will be remapped) */ + /* _mesa_function_pool[3002]: TexBuffer (will be remapped) */ "iii\0" "glTexBuffer\0" "\0" - /* _mesa_function_pool[2998]: ReadInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[3019]: ReadInstrumentsSGIX (dynamic) */ "i\0" "glReadInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[3023]: CallLists (offset 3) */ + /* _mesa_function_pool[3044]: CallLists (offset 3) */ "iip\0" "glCallLists\0" "\0" - /* _mesa_function_pool[3040]: UniformMatrix2x4fv (will be remapped) */ + /* _mesa_function_pool[3061]: UniformMatrix2x4fv (will be remapped) */ "iiip\0" "glUniformMatrix2x4fv\0" "\0" - /* _mesa_function_pool[3067]: ReadnPixelsARB (will be remapped) */ + /* _mesa_function_pool[3088]: ReadnPixelsARB (will be remapped) */ "iiiiiiip\0" "glReadnPixelsARB\0" "\0" - /* _mesa_function_pool[3094]: Color4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[3115]: Color4ubVertex3fvSUN (dynamic) */ "pp\0" "glColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[3121]: Normal3iv (offset 59) */ + /* _mesa_function_pool[3142]: Normal3iv (offset 59) */ "p\0" "glNormal3iv\0" "\0" - /* _mesa_function_pool[3136]: PassThrough (offset 199) */ + /* _mesa_function_pool[3157]: PassThrough (offset 199) */ "f\0" "glPassThrough\0" "\0" - /* _mesa_function_pool[3153]: GetnPixelMapusvARB (will be remapped) */ + /* _mesa_function_pool[3174]: GetnPixelMapusvARB (will be remapped) */ "iip\0" "glGetnPixelMapusvARB\0" "\0" - /* _mesa_function_pool[3179]: TexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[3200]: TexParameterIivEXT (will be remapped) */ "iip\0" "glTexParameterIivEXT\0" "glTexParameterIiv\0" "\0" - /* _mesa_function_pool[3223]: FramebufferTextureLayerEXT (will be remapped) */ + /* _mesa_function_pool[3244]: FramebufferTextureLayerEXT (will be remapped) */ "iiiii\0" "glFramebufferTextureLayer\0" "glFramebufferTextureLayerARB\0" "glFramebufferTextureLayerEXT\0" "\0" - /* _mesa_function_pool[3314]: GetListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[3335]: GetListParameterfvSGIX (dynamic) */ "iip\0" "glGetListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[3344]: Viewport (offset 305) */ + /* _mesa_function_pool[3365]: Viewport (offset 305) */ "iiii\0" "glViewport\0" "\0" - /* _mesa_function_pool[3361]: VertexAttrib4NusvARB (will be remapped) */ + /* _mesa_function_pool[3382]: VertexAttrib4NusvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nusv\0" "glVertexAttrib4NusvARB\0" "\0" - /* _mesa_function_pool[3408]: VertexP4uiv (will be remapped) */ + /* _mesa_function_pool[3429]: VertexP4uiv (will be remapped) */ "ip\0" "glVertexP4uiv\0" "\0" - /* _mesa_function_pool[3426]: VertexAttribP3ui (will be remapped) */ + /* _mesa_function_pool[3447]: VertexAttribP3ui (will be remapped) */ "iiii\0" "glVertexAttribP3ui\0" "\0" - /* _mesa_function_pool[3451]: WindowPos4svMESA (will be remapped) */ + /* _mesa_function_pool[3472]: WindowPos4svMESA (will be remapped) */ "p\0" "glWindowPos4svMESA\0" "\0" - /* _mesa_function_pool[3473]: CreateProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[3494]: CreateProgramObjectARB (will be remapped) */ "\0" "glCreateProgramObjectARB\0" "\0" - /* _mesa_function_pool[3500]: DeleteTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[3521]: DeleteTransformFeedbacks (will be remapped) */ "ip\0" "glDeleteTransformFeedbacks\0" "\0" - /* _mesa_function_pool[3531]: UniformMatrix4x3fv (will be remapped) */ + /* _mesa_function_pool[3552]: UniformMatrix4x3fv (will be remapped) */ "iiip\0" "glUniformMatrix4x3fv\0" "\0" - /* _mesa_function_pool[3558]: PrioritizeTextures (offset 331) */ + /* _mesa_function_pool[3579]: PrioritizeTextures (offset 331) */ "ipp\0" "glPrioritizeTextures\0" "glPrioritizeTexturesEXT\0" "\0" - /* _mesa_function_pool[3608]: VertexAttribI3uiEXT (will be remapped) */ + /* _mesa_function_pool[3629]: VertexAttribI3uiEXT (will be remapped) */ "iiii\0" "glVertexAttribI3uiEXT\0" "glVertexAttribI3ui\0" "\0" - /* _mesa_function_pool[3655]: AsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[3676]: AsyncMarkerSGIX (dynamic) */ "i\0" "glAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[3676]: GlobalAlphaFactorubSUN (dynamic) */ + /* _mesa_function_pool[3697]: GlobalAlphaFactorubSUN (dynamic) */ "i\0" "glGlobalAlphaFactorubSUN\0" "\0" - /* _mesa_function_pool[3704]: ClearColorIuiEXT (will be remapped) */ + /* _mesa_function_pool[3725]: ClearColorIuiEXT (will be remapped) */ "iiii\0" "glClearColorIuiEXT\0" "\0" - /* _mesa_function_pool[3729]: ClearDebugLogMESA (dynamic) */ + /* _mesa_function_pool[3750]: ClearDebugLogMESA (dynamic) */ "iii\0" "glClearDebugLogMESA\0" "\0" - /* _mesa_function_pool[3754]: Uniform4uiEXT (will be remapped) */ + /* _mesa_function_pool[3775]: Uniform4uiEXT (will be remapped) */ "iiiii\0" "glUniform4uiEXT\0" "glUniform4ui\0" "\0" - /* _mesa_function_pool[3790]: ResetHistogram (offset 369) */ + /* _mesa_function_pool[3811]: ResetHistogram (offset 369) */ "i\0" "glResetHistogram\0" "glResetHistogramEXT\0" "\0" - /* _mesa_function_pool[3830]: GetProgramNamedParameterfvNV (will be remapped) */ + /* _mesa_function_pool[3851]: GetProgramNamedParameterfvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterfvNV\0" "\0" - /* _mesa_function_pool[3867]: PointParameterfEXT (will be remapped) */ + /* _mesa_function_pool[3888]: PointParameterfEXT (will be remapped) */ "if\0" "glPointParameterf\0" "glPointParameterfARB\0" "glPointParameterfEXT\0" "glPointParameterfSGIS\0" "\0" - /* _mesa_function_pool[3953]: MultiTexCoordP4uiv (will be remapped) */ + /* _mesa_function_pool[3974]: MultiTexCoordP4uiv (will be remapped) */ "iip\0" "glMultiTexCoordP4uiv\0" "\0" - /* _mesa_function_pool[3979]: LoadIdentityDeformationMapSGIX (dynamic) */ + /* _mesa_function_pool[4000]: LoadIdentityDeformationMapSGIX (dynamic) */ "i\0" "glLoadIdentityDeformationMapSGIX\0" "\0" - /* _mesa_function_pool[4015]: GenFencesNV (will be remapped) */ + /* _mesa_function_pool[4036]: GenFencesNV (will be remapped) */ "ip\0" "glGenFencesNV\0" "\0" - /* _mesa_function_pool[4033]: ImageTransformParameterfHP (dynamic) */ + /* _mesa_function_pool[4054]: ImageTransformParameterfHP (dynamic) */ "iif\0" "glImageTransformParameterfHP\0" "\0" - /* _mesa_function_pool[4067]: MatrixIndexusvARB (dynamic) */ + /* _mesa_function_pool[4088]: MatrixIndexusvARB (dynamic) */ "ip\0" "glMatrixIndexusvARB\0" "\0" - /* _mesa_function_pool[4091]: DrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[4112]: DrawElementsBaseVertex (will be remapped) */ "iiipi\0" "glDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[4123]: DisableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[4144]: DisableVertexAttribArrayARB (will be remapped) */ "i\0" "glDisableVertexAttribArray\0" "glDisableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[4183]: GetnConvolutionFilterARB (will be remapped) */ + /* _mesa_function_pool[4204]: GetnConvolutionFilterARB (will be remapped) */ "iiiip\0" "glGetnConvolutionFilterARB\0" "\0" - /* _mesa_function_pool[4217]: TexCoord2sv (offset 109) */ + /* _mesa_function_pool[4238]: TexCoord2sv (offset 109) */ "p\0" "glTexCoord2sv\0" "\0" - /* _mesa_function_pool[4234]: ColorP4uiv (will be remapped) */ + /* _mesa_function_pool[4255]: ColorP4uiv (will be remapped) */ "ip\0" "glColorP4uiv\0" "\0" - /* _mesa_function_pool[4251]: Vertex4dv (offset 143) */ + /* _mesa_function_pool[4272]: Vertex4dv (offset 143) */ "p\0" "glVertex4dv\0" "\0" - /* _mesa_function_pool[4266]: StencilMaskSeparate (will be remapped) */ + /* _mesa_function_pool[4287]: StencilMaskSeparate (will be remapped) */ "ii\0" "glStencilMaskSeparate\0" "\0" - /* _mesa_function_pool[4292]: ProgramLocalParameter4dARB (will be remapped) */ + /* _mesa_function_pool[4313]: ProgramLocalParameter4dARB (will be remapped) */ "iidddd\0" "glProgramLocalParameter4dARB\0" "\0" - /* _mesa_function_pool[4329]: CompressedTexImage3DARB (will be remapped) */ + /* _mesa_function_pool[4350]: CompressedTexImage3DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexImage3D\0" "glCompressedTexImage3DARB\0" "\0" - /* _mesa_function_pool[4389]: Color3sv (offset 18) */ + /* _mesa_function_pool[4410]: Color3sv (offset 18) */ "p\0" "glColor3sv\0" "\0" - /* _mesa_function_pool[4403]: GetConvolutionParameteriv (offset 358) */ + /* _mesa_function_pool[4424]: GetConvolutionParameteriv (offset 358) */ "iip\0" "glGetConvolutionParameteriv\0" "glGetConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[4467]: DeleteSamplers (will be remapped) */ + /* _mesa_function_pool[4488]: DeleteSamplers (will be remapped) */ "ip\0" "glDeleteSamplers\0" "\0" - /* _mesa_function_pool[4488]: VertexAttrib1fARB (will be remapped) */ + /* _mesa_function_pool[4509]: VertexAttrib1fARB (will be remapped) */ "if\0" "glVertexAttrib1f\0" "glVertexAttrib1fARB\0" "\0" - /* _mesa_function_pool[4529]: Vertex2dv (offset 127) */ + /* _mesa_function_pool[4550]: Vertex2dv (offset 127) */ "p\0" "glVertex2dv\0" "\0" - /* _mesa_function_pool[4544]: TestFenceNV (will be remapped) */ + /* _mesa_function_pool[4565]: TestFenceNV (will be remapped) */ "i\0" "glTestFenceNV\0" "\0" - /* _mesa_function_pool[4561]: GetVertexAttribIuivEXT (will be remapped) */ + /* _mesa_function_pool[4582]: GetVertexAttribIuivEXT (will be remapped) */ "iip\0" "glGetVertexAttribIuivEXT\0" "glGetVertexAttribIuiv\0" "\0" - /* _mesa_function_pool[4613]: MultiTexCoord1fvARB (offset 379) */ + /* _mesa_function_pool[4634]: MultiTexCoord1fvARB (offset 379) */ "ip\0" "glMultiTexCoord1fv\0" "glMultiTexCoord1fvARB\0" "\0" - /* _mesa_function_pool[4658]: TexCoord3iv (offset 115) */ + /* _mesa_function_pool[4679]: TexCoord3iv (offset 115) */ "p\0" "glTexCoord3iv\0" "\0" - /* _mesa_function_pool[4675]: Uniform2uivEXT (will be remapped) */ + /* _mesa_function_pool[4696]: Uniform2uivEXT (will be remapped) */ "iip\0" "glUniform2uivEXT\0" "glUniform2uiv\0" "\0" - /* _mesa_function_pool[4711]: ColorFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[4732]: ColorFragmentOp2ATI (will be remapped) */ "iiiiiiiiii\0" "glColorFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[4745]: SecondaryColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[4766]: TexStorage2D (will be remapped) */ + "iiiii\0" + "glTexStorage2D\0" + "\0" + /* _mesa_function_pool[4788]: SecondaryColorPointerListIBM (dynamic) */ "iiipi\0" "glSecondaryColorPointerListIBM\0" "\0" - /* _mesa_function_pool[4783]: GetPixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[4826]: GetPixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[4819]: Color3fv (offset 14) */ + /* _mesa_function_pool[4862]: Color3fv (offset 14) */ "p\0" "glColor3fv\0" "\0" - /* _mesa_function_pool[4833]: GetnPixelMapfvARB (will be remapped) */ + /* _mesa_function_pool[4876]: GetnPixelMapfvARB (will be remapped) */ "iip\0" "glGetnPixelMapfvARB\0" "\0" - /* _mesa_function_pool[4858]: ReplacementCodeubSUN (dynamic) */ + /* _mesa_function_pool[4901]: TextureStorage1DEXT (will be remapped) */ + "iiiii\0" + "glTextureStorage1DEXT\0" + "\0" + /* _mesa_function_pool[4930]: ReplacementCodeubSUN (dynamic) */ "i\0" "glReplacementCodeubSUN\0" "\0" - /* _mesa_function_pool[4884]: FinishAsyncSGIX (dynamic) */ + /* _mesa_function_pool[4956]: FinishAsyncSGIX (dynamic) */ "p\0" "glFinishAsyncSGIX\0" "\0" - /* _mesa_function_pool[4905]: GetnUniformfvARB (will be remapped) */ + /* _mesa_function_pool[4977]: GetnUniformfvARB (will be remapped) */ "iiip\0" "glGetnUniformfvARB\0" "\0" - /* _mesa_function_pool[4930]: GetDebugLogMESA (dynamic) */ + /* _mesa_function_pool[5002]: GetDebugLogMESA (dynamic) */ "iiiipp\0" "glGetDebugLogMESA\0" "\0" - /* _mesa_function_pool[4956]: FogCoorddEXT (will be remapped) */ + /* _mesa_function_pool[5028]: FogCoorddEXT (will be remapped) */ "d\0" "glFogCoordd\0" "glFogCoorddEXT\0" "\0" - /* _mesa_function_pool[4986]: BeginConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[5058]: BeginConditionalRenderNV (will be remapped) */ "ii\0" "glBeginConditionalRenderNV\0" "glBeginConditionalRender\0" "\0" - /* _mesa_function_pool[5042]: Color4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5114]: Color4ubVertex3fSUN (dynamic) */ "iiiifff\0" "glColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[5073]: FogCoordfEXT (will be remapped) */ + /* _mesa_function_pool[5145]: FogCoordfEXT (will be remapped) */ "f\0" "glFogCoordf\0" "glFogCoordfEXT\0" "\0" - /* _mesa_function_pool[5103]: PointSize (offset 173) */ + /* _mesa_function_pool[5175]: PointSize (offset 173) */ "f\0" "glPointSize\0" "\0" - /* _mesa_function_pool[5118]: VertexAttribI2uivEXT (will be remapped) */ + /* _mesa_function_pool[5190]: VertexAttribI2uivEXT (will be remapped) */ "ip\0" "glVertexAttribI2uivEXT\0" "glVertexAttribI2uiv\0" "\0" - /* _mesa_function_pool[5165]: TexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5237]: TexCoord2fVertex3fSUN (dynamic) */ "fffff\0" "glTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5196]: PopName (offset 200) */ + /* _mesa_function_pool[5268]: PopName (offset 200) */ "\0" "glPopName\0" "\0" - /* _mesa_function_pool[5208]: GetSamplerParameterfv (will be remapped) */ + /* _mesa_function_pool[5280]: GetSamplerParameterfv (will be remapped) */ "iip\0" "glGetSamplerParameterfv\0" "\0" - /* _mesa_function_pool[5237]: GlobalAlphaFactoriSUN (dynamic) */ + /* _mesa_function_pool[5309]: GlobalAlphaFactoriSUN (dynamic) */ "i\0" "glGlobalAlphaFactoriSUN\0" "\0" - /* _mesa_function_pool[5264]: VertexAttrib2dNV (will be remapped) */ + /* _mesa_function_pool[5336]: VertexAttrib2dNV (will be remapped) */ "idd\0" "glVertexAttrib2dNV\0" "\0" - /* _mesa_function_pool[5288]: GetProgramInfoLog (will be remapped) */ + /* _mesa_function_pool[5360]: GetProgramInfoLog (will be remapped) */ "iipp\0" "glGetProgramInfoLog\0" "\0" - /* _mesa_function_pool[5314]: VertexP2ui (will be remapped) */ + /* _mesa_function_pool[5386]: VertexP2ui (will be remapped) */ "ii\0" "glVertexP2ui\0" "\0" - /* _mesa_function_pool[5331]: VertexAttrib4NbvARB (will be remapped) */ + /* _mesa_function_pool[5403]: VertexAttrib4NbvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nbv\0" "glVertexAttrib4NbvARB\0" "\0" - /* _mesa_function_pool[5376]: GetActiveAttribARB (will be remapped) */ + /* _mesa_function_pool[5448]: GetActiveAttribARB (will be remapped) */ "iiipppp\0" "glGetActiveAttrib\0" "glGetActiveAttribARB\0" "\0" - /* _mesa_function_pool[5424]: Vertex4sv (offset 149) */ + /* _mesa_function_pool[5496]: Vertex4sv (offset 149) */ "p\0" "glVertex4sv\0" "\0" - /* _mesa_function_pool[5439]: VertexAttrib4ubNV (will be remapped) */ + /* _mesa_function_pool[5511]: VertexAttrib4ubNV (will be remapped) */ "iiiii\0" "glVertexAttrib4ubNV\0" "\0" - /* _mesa_function_pool[5466]: VertexAttribI1ivEXT (will be remapped) */ + /* _mesa_function_pool[5538]: VertexAttribI1ivEXT (will be remapped) */ "ip\0" "glVertexAttribI1ivEXT\0" "glVertexAttribI1iv\0" "\0" - /* _mesa_function_pool[5511]: ClampColor (will be remapped) */ + /* _mesa_function_pool[5583]: ClampColor (will be remapped) */ "ii\0" "glClampColor\0" "\0" - /* _mesa_function_pool[5528]: TextureRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[5600]: TextureRangeAPPLE (will be remapped) */ "iip\0" "glTextureRangeAPPLE\0" "\0" - /* _mesa_function_pool[5553]: GetTexEnvfv (offset 276) */ + /* _mesa_function_pool[5625]: GetTexEnvfv (offset 276) */ "iip\0" "glGetTexEnvfv\0" "\0" - /* _mesa_function_pool[5572]: VertexAttribP2uiv (will be remapped) */ + /* _mesa_function_pool[5644]: VertexAttribP2uiv (will be remapped) */ "iiip\0" "glVertexAttribP2uiv\0" "\0" - /* _mesa_function_pool[5598]: BindTransformFeedback (will be remapped) */ + /* _mesa_function_pool[5670]: BindTransformFeedback (will be remapped) */ "ii\0" "glBindTransformFeedback\0" "\0" - /* _mesa_function_pool[5626]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5698]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "ffffffffffff\0" "glTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5679]: Indexub (offset 315) */ + /* _mesa_function_pool[5751]: Indexub (offset 315) */ "i\0" "glIndexub\0" "\0" - /* _mesa_function_pool[5692]: VertexAttrib4fNV (will be remapped) */ + /* _mesa_function_pool[5764]: VertexAttrib4fNV (will be remapped) */ "iffff\0" "glVertexAttrib4fNV\0" "\0" - /* _mesa_function_pool[5718]: TexEnvi (offset 186) */ + /* _mesa_function_pool[5790]: TexEnvi (offset 186) */ "iii\0" "glTexEnvi\0" "\0" - /* _mesa_function_pool[5733]: GetClipPlane (offset 259) */ + /* _mesa_function_pool[5805]: GetClipPlane (offset 259) */ "ip\0" "glGetClipPlane\0" "\0" - /* _mesa_function_pool[5752]: CombinerParameterfvNV (will be remapped) */ + /* _mesa_function_pool[5824]: CombinerParameterfvNV (will be remapped) */ "ip\0" "glCombinerParameterfvNV\0" "\0" - /* _mesa_function_pool[5780]: TexCoordP4uiv (will be remapped) */ + /* _mesa_function_pool[5852]: TexCoordP4uiv (will be remapped) */ "ip\0" "glTexCoordP4uiv\0" "\0" - /* _mesa_function_pool[5800]: VertexAttribs3dvNV (will be remapped) */ + /* _mesa_function_pool[5872]: VertexAttribs3dvNV (will be remapped) */ "iip\0" "glVertexAttribs3dvNV\0" "\0" - /* _mesa_function_pool[5826]: VertexAttribI2uiEXT (will be remapped) */ + /* _mesa_function_pool[5898]: VertexAttribI2uiEXT (will be remapped) */ "iii\0" "glVertexAttribI2uiEXT\0" "glVertexAttribI2ui\0" "\0" - /* _mesa_function_pool[5872]: VertexAttribs4fvNV (will be remapped) */ + /* _mesa_function_pool[5944]: VertexAttribs4fvNV (will be remapped) */ "iip\0" "glVertexAttribs4fvNV\0" "\0" - /* _mesa_function_pool[5898]: VertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[5970]: VertexArrayRangeNV (will be remapped) */ "ip\0" "glVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[5923]: FragmentLightiSGIX (dynamic) */ + /* _mesa_function_pool[5995]: FragmentLightiSGIX (dynamic) */ "iii\0" "glFragmentLightiSGIX\0" "\0" - /* _mesa_function_pool[5949]: PolygonOffsetEXT (will be remapped) */ + /* _mesa_function_pool[6021]: PolygonOffsetEXT (will be remapped) */ "ff\0" "glPolygonOffsetEXT\0" "\0" - /* _mesa_function_pool[5972]: VertexAttribI4uivEXT (will be remapped) */ + /* _mesa_function_pool[6044]: VertexAttribI4uivEXT (will be remapped) */ "ip\0" "glVertexAttribI4uivEXT\0" "glVertexAttribI4uiv\0" "\0" - /* _mesa_function_pool[6019]: PollAsyncSGIX (dynamic) */ + /* _mesa_function_pool[6091]: PollAsyncSGIX (dynamic) */ "p\0" "glPollAsyncSGIX\0" "\0" - /* _mesa_function_pool[6038]: DeleteFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[6110]: DeleteFragmentShaderATI (will be remapped) */ "i\0" "glDeleteFragmentShaderATI\0" "\0" - /* _mesa_function_pool[6067]: Scaled (offset 301) */ + /* _mesa_function_pool[6139]: Scaled (offset 301) */ "ddd\0" "glScaled\0" "\0" - /* _mesa_function_pool[6081]: ResumeTransformFeedback (will be remapped) */ + /* _mesa_function_pool[6153]: ResumeTransformFeedback (will be remapped) */ "\0" "glResumeTransformFeedback\0" "\0" - /* _mesa_function_pool[6109]: Scalef (offset 302) */ + /* _mesa_function_pool[6181]: Scalef (offset 302) */ "fff\0" "glScalef\0" "\0" - /* _mesa_function_pool[6123]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[6195]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[6161]: ProgramEnvParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[6233]: ProgramEnvParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramEnvParameters4fvEXT\0" "\0" - /* _mesa_function_pool[6196]: MultTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[6268]: MultTransposeMatrixdARB (will be remapped) */ "p\0" "glMultTransposeMatrixd\0" "glMultTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[6248]: ColorMaskIndexedEXT (will be remapped) */ + /* _mesa_function_pool[6320]: ColorMaskIndexedEXT (will be remapped) */ "iiiii\0" "glColorMaskIndexedEXT\0" "glColorMaski\0" "\0" - /* _mesa_function_pool[6290]: ObjectUnpurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[6362]: ObjectUnpurgeableAPPLE (will be remapped) */ "iii\0" "glObjectUnpurgeableAPPLE\0" "\0" - /* _mesa_function_pool[6320]: TexCoordP3ui (will be remapped) */ + /* _mesa_function_pool[6392]: TexCoordP3ui (will be remapped) */ "ii\0" "glTexCoordP3ui\0" "\0" - /* _mesa_function_pool[6339]: AlphaFunc (offset 240) */ + /* _mesa_function_pool[6411]: AlphaFunc (offset 240) */ "if\0" "glAlphaFunc\0" "\0" - /* _mesa_function_pool[6355]: WindowPos2svMESA (will be remapped) */ + /* _mesa_function_pool[6427]: WindowPos2svMESA (will be remapped) */ "p\0" "glWindowPos2sv\0" "glWindowPos2svARB\0" "glWindowPos2svMESA\0" "\0" - /* _mesa_function_pool[6410]: EdgeFlag (offset 41) */ + /* _mesa_function_pool[6482]: EdgeFlag (offset 41) */ "i\0" "glEdgeFlag\0" "\0" - /* _mesa_function_pool[6424]: TexCoord2iv (offset 107) */ + /* _mesa_function_pool[6496]: TexCoord2iv (offset 107) */ "p\0" "glTexCoord2iv\0" "\0" - /* _mesa_function_pool[6441]: CompressedTexImage1DARB (will be remapped) */ + /* _mesa_function_pool[6513]: CompressedTexImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexImage1D\0" "glCompressedTexImage1DARB\0" "\0" - /* _mesa_function_pool[6499]: Rotated (offset 299) */ + /* _mesa_function_pool[6571]: Rotated (offset 299) */ "dddd\0" "glRotated\0" "\0" - /* _mesa_function_pool[6515]: GetTexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[6587]: GetTexParameterIuivEXT (will be remapped) */ "iip\0" "glGetTexParameterIuivEXT\0" "glGetTexParameterIuiv\0" "\0" - /* _mesa_function_pool[6567]: VertexAttrib2sNV (will be remapped) */ + /* _mesa_function_pool[6639]: VertexAttrib2sNV (will be remapped) */ "iii\0" "glVertexAttrib2sNV\0" "\0" - /* _mesa_function_pool[6591]: ReadPixels (offset 256) */ + /* _mesa_function_pool[6663]: ReadPixels (offset 256) */ "iiiiiip\0" "glReadPixels\0" "\0" - /* _mesa_function_pool[6613]: VertexAttribDivisorARB (will be remapped) */ + /* _mesa_function_pool[6685]: VertexAttribDivisorARB (will be remapped) */ "ii\0" "glVertexAttribDivisorARB\0" "\0" - /* _mesa_function_pool[6642]: EdgeFlagv (offset 42) */ + /* _mesa_function_pool[6714]: EdgeFlagv (offset 42) */ "p\0" "glEdgeFlagv\0" "\0" - /* _mesa_function_pool[6657]: NormalPointerListIBM (dynamic) */ + /* _mesa_function_pool[6729]: NormalPointerListIBM (dynamic) */ "iipi\0" "glNormalPointerListIBM\0" "\0" - /* _mesa_function_pool[6686]: IndexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6758]: IndexPointerEXT (will be remapped) */ "iiip\0" "glIndexPointerEXT\0" "\0" - /* _mesa_function_pool[6710]: Color4iv (offset 32) */ + /* _mesa_function_pool[6782]: Color4iv (offset 32) */ "p\0" "glColor4iv\0" "\0" - /* _mesa_function_pool[6724]: TexParameterf (offset 178) */ + /* _mesa_function_pool[6796]: TexParameterf (offset 178) */ "iif\0" "glTexParameterf\0" "\0" - /* _mesa_function_pool[6745]: TexParameteri (offset 180) */ + /* _mesa_function_pool[6817]: TexParameteri (offset 180) */ "iii\0" "glTexParameteri\0" "\0" - /* _mesa_function_pool[6766]: NormalPointerEXT (will be remapped) */ + /* _mesa_function_pool[6838]: NormalPointerEXT (will be remapped) */ "iiip\0" "glNormalPointerEXT\0" "\0" - /* _mesa_function_pool[6791]: MultiTexCoord3dARB (offset 392) */ + /* _mesa_function_pool[6863]: MultiTexCoord3dARB (offset 392) */ "iddd\0" "glMultiTexCoord3d\0" "glMultiTexCoord3dARB\0" "\0" - /* _mesa_function_pool[6836]: MultiTexCoord2iARB (offset 388) */ + /* _mesa_function_pool[6908]: MultiTexCoord2iARB (offset 388) */ "iii\0" "glMultiTexCoord2i\0" "glMultiTexCoord2iARB\0" "\0" - /* _mesa_function_pool[6880]: DrawPixels (offset 257) */ + /* _mesa_function_pool[6952]: DrawPixels (offset 257) */ "iiiip\0" "glDrawPixels\0" "\0" - /* _mesa_function_pool[6900]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[6972]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ "iffffffff\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[6960]: MultiTexCoord2svARB (offset 391) */ + /* _mesa_function_pool[7032]: MultiTexCoord2svARB (offset 391) */ "ip\0" "glMultiTexCoord2sv\0" "glMultiTexCoord2svARB\0" "\0" - /* _mesa_function_pool[7005]: ReplacementCodeubvSUN (dynamic) */ + /* _mesa_function_pool[7077]: ReplacementCodeubvSUN (dynamic) */ "p\0" "glReplacementCodeubvSUN\0" "\0" - /* _mesa_function_pool[7032]: Uniform3iARB (will be remapped) */ + /* _mesa_function_pool[7104]: Uniform3iARB (will be remapped) */ "iiii\0" "glUniform3i\0" "glUniform3iARB\0" "\0" - /* _mesa_function_pool[7065]: DrawTransformFeedback (will be remapped) */ + /* _mesa_function_pool[7137]: DrawTransformFeedback (will be remapped) */ "ii\0" "glDrawTransformFeedback\0" "\0" - /* _mesa_function_pool[7093]: DrawElementsInstancedARB (will be remapped) */ + /* _mesa_function_pool[7165]: DrawElementsInstancedARB (will be remapped) */ "iiipi\0" "glDrawElementsInstancedARB\0" "glDrawElementsInstancedEXT\0" "glDrawElementsInstanced\0" "\0" - /* _mesa_function_pool[7178]: GetShaderInfoLog (will be remapped) */ + /* _mesa_function_pool[7250]: GetShaderInfoLog (will be remapped) */ "iipp\0" "glGetShaderInfoLog\0" "\0" - /* _mesa_function_pool[7203]: WeightivARB (dynamic) */ + /* _mesa_function_pool[7275]: WeightivARB (dynamic) */ "ip\0" "glWeightivARB\0" "\0" - /* _mesa_function_pool[7221]: PollInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[7293]: PollInstrumentsSGIX (dynamic) */ "p\0" "glPollInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[7246]: GlobalAlphaFactordSUN (dynamic) */ + /* _mesa_function_pool[7318]: GlobalAlphaFactordSUN (dynamic) */ "d\0" "glGlobalAlphaFactordSUN\0" "\0" - /* _mesa_function_pool[7273]: GetFinalCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[7345]: GetFinalCombinerInputParameterfvNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[7315]: GenerateMipmapEXT (will be remapped) */ + /* _mesa_function_pool[7387]: GenerateMipmapEXT (will be remapped) */ "i\0" "glGenerateMipmap\0" "glGenerateMipmapEXT\0" "\0" - /* _mesa_function_pool[7355]: GenLists (offset 5) */ + /* _mesa_function_pool[7427]: GenLists (offset 5) */ "i\0" "glGenLists\0" "\0" - /* _mesa_function_pool[7369]: DepthRangef (will be remapped) */ + /* _mesa_function_pool[7441]: DepthRangef (will be remapped) */ "ff\0" "glDepthRangef\0" "\0" - /* _mesa_function_pool[7387]: GetMapAttribParameterivNV (dynamic) */ + /* _mesa_function_pool[7459]: GetMapAttribParameterivNV (dynamic) */ "iiip\0" "glGetMapAttribParameterivNV\0" "\0" - /* _mesa_function_pool[7421]: CreateShaderObjectARB (will be remapped) */ + /* _mesa_function_pool[7493]: CreateShaderObjectARB (will be remapped) */ "i\0" "glCreateShaderObjectARB\0" "\0" - /* _mesa_function_pool[7448]: GetSharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[7520]: GetSharpenTexFuncSGIS (dynamic) */ "ip\0" "glGetSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[7476]: BufferDataARB (will be remapped) */ + /* _mesa_function_pool[7548]: BufferDataARB (will be remapped) */ "iipi\0" "glBufferData\0" "glBufferDataARB\0" "\0" - /* _mesa_function_pool[7511]: FlushVertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[7583]: FlushVertexArrayRangeNV (will be remapped) */ "\0" "glFlushVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[7539]: MapGrid2d (offset 226) */ + /* _mesa_function_pool[7611]: MapGrid2d (offset 226) */ "iddidd\0" "glMapGrid2d\0" "\0" - /* _mesa_function_pool[7559]: MapGrid2f (offset 227) */ + /* _mesa_function_pool[7631]: MapGrid2f (offset 227) */ "iffiff\0" "glMapGrid2f\0" "\0" - /* _mesa_function_pool[7579]: SampleMapATI (will be remapped) */ + /* _mesa_function_pool[7651]: SampleMapATI (will be remapped) */ "iii\0" "glSampleMapATI\0" "\0" - /* _mesa_function_pool[7599]: VertexPointerEXT (will be remapped) */ + /* _mesa_function_pool[7671]: VertexPointerEXT (will be remapped) */ "iiiip\0" "glVertexPointerEXT\0" "\0" - /* _mesa_function_pool[7625]: GetTexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[7697]: GetTexFilterFuncSGIS (dynamic) */ "iip\0" "glGetTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[7653]: Scissor (offset 176) */ + /* _mesa_function_pool[7725]: Scissor (offset 176) */ "iiii\0" "glScissor\0" "\0" - /* _mesa_function_pool[7669]: Fogf (offset 153) */ + /* _mesa_function_pool[7741]: Fogf (offset 153) */ "if\0" "glFogf\0" "\0" - /* _mesa_function_pool[7680]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[7752]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[7725]: TexSubImage1D (offset 332) */ + /* _mesa_function_pool[7797]: TexSubImage1D (offset 332) */ "iiiiiip\0" "glTexSubImage1D\0" "glTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[7769]: VertexAttrib1sARB (will be remapped) */ + /* _mesa_function_pool[7841]: VertexAttrib1sARB (will be remapped) */ "ii\0" "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" "\0" - /* _mesa_function_pool[7810]: FenceSync (will be remapped) */ + /* _mesa_function_pool[7882]: FenceSync (will be remapped) */ "ii\0" "glFenceSync\0" "\0" - /* _mesa_function_pool[7826]: Color4usv (offset 40) */ + /* _mesa_function_pool[7898]: Color4usv (offset 40) */ "p\0" "glColor4usv\0" "\0" - /* _mesa_function_pool[7841]: Fogi (offset 155) */ + /* _mesa_function_pool[7913]: Fogi (offset 155) */ "ii\0" "glFogi\0" "\0" - /* _mesa_function_pool[7852]: DepthRange (offset 288) */ + /* _mesa_function_pool[7924]: DepthRange (offset 288) */ "dd\0" "glDepthRange\0" "\0" - /* _mesa_function_pool[7869]: RasterPos3iv (offset 75) */ + /* _mesa_function_pool[7941]: RasterPos3iv (offset 75) */ "p\0" "glRasterPos3iv\0" "\0" - /* _mesa_function_pool[7887]: FinalCombinerInputNV (will be remapped) */ + /* _mesa_function_pool[7959]: FinalCombinerInputNV (will be remapped) */ "iiii\0" "glFinalCombinerInputNV\0" "\0" - /* _mesa_function_pool[7916]: TexCoord2i (offset 106) */ + /* _mesa_function_pool[7988]: TexCoord2i (offset 106) */ "ii\0" "glTexCoord2i\0" "\0" - /* _mesa_function_pool[7933]: PixelMapfv (offset 251) */ + /* _mesa_function_pool[8005]: PixelMapfv (offset 251) */ "iip\0" "glPixelMapfv\0" "\0" - /* _mesa_function_pool[7951]: Color4ui (offset 37) */ + /* _mesa_function_pool[8023]: Color4ui (offset 37) */ "iiii\0" "glColor4ui\0" "\0" - /* _mesa_function_pool[7968]: RasterPos3s (offset 76) */ + /* _mesa_function_pool[8040]: RasterPos3s (offset 76) */ "iii\0" "glRasterPos3s\0" "\0" - /* _mesa_function_pool[7987]: Color3usv (offset 24) */ + /* _mesa_function_pool[8059]: Color3usv (offset 24) */ "p\0" "glColor3usv\0" "\0" - /* _mesa_function_pool[8002]: FlushRasterSGIX (dynamic) */ + /* _mesa_function_pool[8074]: FlushRasterSGIX (dynamic) */ "\0" "glFlushRasterSGIX\0" "\0" - /* _mesa_function_pool[8022]: TexCoord2f (offset 104) */ + /* _mesa_function_pool[8094]: TexCoord2f (offset 104) */ "ff\0" "glTexCoord2f\0" "\0" - /* _mesa_function_pool[8039]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8111]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ "ifffff\0" "glReplacementCodeuiTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[8088]: TexCoord2d (offset 102) */ + /* _mesa_function_pool[8160]: TexCoord2d (offset 102) */ "dd\0" "glTexCoord2d\0" "\0" - /* _mesa_function_pool[8105]: RasterPos3d (offset 70) */ + /* _mesa_function_pool[8177]: RasterPos3d (offset 70) */ "ddd\0" "glRasterPos3d\0" "\0" - /* _mesa_function_pool[8124]: RasterPos3f (offset 72) */ + /* _mesa_function_pool[8196]: RasterPos3f (offset 72) */ "fff\0" "glRasterPos3f\0" "\0" - /* _mesa_function_pool[8143]: Uniform1fARB (will be remapped) */ + /* _mesa_function_pool[8215]: Uniform1fARB (will be remapped) */ "if\0" "glUniform1f\0" "glUniform1fARB\0" "\0" - /* _mesa_function_pool[8174]: AreTexturesResident (offset 322) */ + /* _mesa_function_pool[8246]: AreTexturesResident (offset 322) */ "ipp\0" "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" "\0" - /* _mesa_function_pool[8226]: TexCoord2s (offset 108) */ + /* _mesa_function_pool[8298]: TexCoord2s (offset 108) */ "ii\0" "glTexCoord2s\0" "\0" - /* _mesa_function_pool[8243]: StencilOpSeparate (will be remapped) */ + /* _mesa_function_pool[8315]: StencilOpSeparate (will be remapped) */ "iiii\0" "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" "\0" - /* _mesa_function_pool[8292]: ColorTableParameteriv (offset 341) */ + /* _mesa_function_pool[8364]: ColorTableParameteriv (offset 341) */ "iip\0" "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" "\0" - /* _mesa_function_pool[8348]: FogCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[8420]: FogCoordPointerListIBM (dynamic) */ "iipi\0" "glFogCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[8379]: WindowPos3dMESA (will be remapped) */ + /* _mesa_function_pool[8451]: WindowPos3dMESA (will be remapped) */ "ddd\0" "glWindowPos3d\0" "glWindowPos3dARB\0" "glWindowPos3dMESA\0" "\0" - /* _mesa_function_pool[8433]: Color4us (offset 39) */ + /* _mesa_function_pool[8505]: Color4us (offset 39) */ "iiii\0" "glColor4us\0" "\0" - /* _mesa_function_pool[8450]: PointParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[8522]: PointParameterfvEXT (will be remapped) */ "ip\0" "glPointParameterfv\0" "glPointParameterfvARB\0" "glPointParameterfvEXT\0" "glPointParameterfvSGIS\0" "\0" - /* _mesa_function_pool[8540]: Color3bv (offset 10) */ + /* _mesa_function_pool[8612]: Color3bv (offset 10) */ "p\0" "glColor3bv\0" "\0" - /* _mesa_function_pool[8554]: GetnCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[8626]: GetnCompressedTexImageARB (will be remapped) */ "iiip\0" "glGetnCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[8588]: WindowPos2fvMESA (will be remapped) */ + /* _mesa_function_pool[8660]: WindowPos2fvMESA (will be remapped) */ "p\0" "glWindowPos2fv\0" "glWindowPos2fvARB\0" "glWindowPos2fvMESA\0" "\0" - /* _mesa_function_pool[8643]: SecondaryColor3bvEXT (will be remapped) */ + /* _mesa_function_pool[8715]: SecondaryColor3bvEXT (will be remapped) */ "p\0" "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" "\0" - /* _mesa_function_pool[8689]: VertexPointerListIBM (dynamic) */ + /* _mesa_function_pool[8761]: VertexPointerListIBM (dynamic) */ "iiipi\0" "glVertexPointerListIBM\0" "\0" - /* _mesa_function_pool[8719]: GetProgramLocalParameterfvARB (will be remapped) */ + /* _mesa_function_pool[8791]: GetProgramLocalParameterfvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterfvARB\0" "\0" - /* _mesa_function_pool[8756]: FragmentMaterialfSGIX (dynamic) */ + /* _mesa_function_pool[8828]: FragmentMaterialfSGIX (dynamic) */ "iif\0" "glFragmentMaterialfSGIX\0" "\0" - /* _mesa_function_pool[8785]: BindSampler (will be remapped) */ + /* _mesa_function_pool[8857]: BindSampler (will be remapped) */ "ii\0" "glBindSampler\0" "\0" - /* _mesa_function_pool[8803]: RenderbufferStorageEXT (will be remapped) */ + /* _mesa_function_pool[8875]: RenderbufferStorageEXT (will be remapped) */ "iiii\0" "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" "\0" - /* _mesa_function_pool[8856]: IsFenceNV (will be remapped) */ + /* _mesa_function_pool[8928]: IsFenceNV (will be remapped) */ "i\0" "glIsFenceNV\0" "\0" - /* _mesa_function_pool[8871]: AttachObjectARB (will be remapped) */ + /* _mesa_function_pool[8943]: AttachObjectARB (will be remapped) */ "ii\0" "glAttachObjectARB\0" "\0" - /* _mesa_function_pool[8893]: GetFragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[8965]: GetFragmentLightivSGIX (dynamic) */ "iip\0" "glGetFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[8923]: UniformMatrix2fvARB (will be remapped) */ + /* _mesa_function_pool[8995]: UniformMatrix2fvARB (will be remapped) */ "iiip\0" "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" "\0" - /* _mesa_function_pool[8970]: MultiTexCoord2fARB (offset 386) */ + /* _mesa_function_pool[9042]: MultiTexCoord2fARB (offset 386) */ "iff\0" "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" "\0" - /* _mesa_function_pool[9014]: ColorTable (offset 339) */ + /* _mesa_function_pool[9086]: ColorTable (offset 339) */ "iiiiip\0" "glColorTable\0" "glColorTableSGI\0" "glColorTableEXT\0" "\0" - /* _mesa_function_pool[9067]: IndexPointer (offset 314) */ + /* _mesa_function_pool[9139]: IndexPointer (offset 314) */ "iip\0" "glIndexPointer\0" "\0" - /* _mesa_function_pool[9087]: Accum (offset 213) */ + /* _mesa_function_pool[9159]: Accum (offset 213) */ "if\0" "glAccum\0" "\0" - /* _mesa_function_pool[9099]: GetTexImage (offset 281) */ + /* _mesa_function_pool[9171]: GetTexImage (offset 281) */ "iiiip\0" "glGetTexImage\0" "\0" - /* _mesa_function_pool[9120]: MapControlPointsNV (dynamic) */ + /* _mesa_function_pool[9192]: MapControlPointsNV (dynamic) */ "iiiiiiiip\0" "glMapControlPointsNV\0" "\0" - /* _mesa_function_pool[9152]: ConvolutionFilter2D (offset 349) */ + /* _mesa_function_pool[9224]: ConvolutionFilter2D (offset 349) */ "iiiiiip\0" "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[9208]: Finish (offset 216) */ + /* _mesa_function_pool[9280]: Finish (offset 216) */ "\0" "glFinish\0" "\0" - /* _mesa_function_pool[9219]: MapParameterfvNV (dynamic) */ + /* _mesa_function_pool[9291]: MapParameterfvNV (dynamic) */ "iip\0" "glMapParameterfvNV\0" "\0" - /* _mesa_function_pool[9243]: ClearStencil (offset 207) */ + /* _mesa_function_pool[9315]: ClearStencil (offset 207) */ "i\0" "glClearStencil\0" "\0" - /* _mesa_function_pool[9261]: VertexAttrib3dvARB (will be remapped) */ + /* _mesa_function_pool[9333]: VertexAttrib3dvARB (will be remapped) */ "ip\0" "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" "\0" - /* _mesa_function_pool[9304]: Uniform4uivEXT (will be remapped) */ + /* _mesa_function_pool[9376]: Uniform4uivEXT (will be remapped) */ "iip\0" "glUniform4uivEXT\0" "glUniform4uiv\0" "\0" - /* _mesa_function_pool[9340]: HintPGI (dynamic) */ + /* _mesa_function_pool[9412]: HintPGI (dynamic) */ "ii\0" "glHintPGI\0" "\0" - /* _mesa_function_pool[9354]: ConvolutionParameteriv (offset 353) */ + /* _mesa_function_pool[9426]: ConvolutionParameteriv (offset 353) */ "iip\0" "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[9412]: Color4s (offset 33) */ + /* _mesa_function_pool[9484]: Color4s (offset 33) */ "iiii\0" "glColor4s\0" "\0" - /* _mesa_function_pool[9428]: InterleavedArrays (offset 317) */ + /* _mesa_function_pool[9500]: InterleavedArrays (offset 317) */ "iip\0" "glInterleavedArrays\0" "\0" - /* _mesa_function_pool[9453]: RasterPos2fv (offset 65) */ + /* _mesa_function_pool[9525]: RasterPos2fv (offset 65) */ "p\0" "glRasterPos2fv\0" "\0" - /* _mesa_function_pool[9471]: TexCoord1fv (offset 97) */ + /* _mesa_function_pool[9543]: TexCoord1fv (offset 97) */ "p\0" "glTexCoord1fv\0" "\0" - /* _mesa_function_pool[9488]: Vertex2d (offset 126) */ + /* _mesa_function_pool[9560]: Vertex2d (offset 126) */ "dd\0" "glVertex2d\0" "\0" - /* _mesa_function_pool[9503]: CullParameterdvEXT (dynamic) */ + /* _mesa_function_pool[9575]: CullParameterdvEXT (dynamic) */ "ip\0" "glCullParameterdvEXT\0" "\0" - /* _mesa_function_pool[9528]: ProgramNamedParameter4fNV (will be remapped) */ + /* _mesa_function_pool[9600]: ProgramNamedParameter4fNV (will be remapped) */ "iipffff\0" "glProgramNamedParameter4fNV\0" "\0" - /* _mesa_function_pool[9565]: Color3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[9637]: Color3fVertex3fSUN (dynamic) */ "ffffff\0" "glColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[9594]: ProgramEnvParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[9666]: ProgramEnvParameter4fvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" "\0" - /* _mesa_function_pool[9651]: Color4i (offset 31) */ + /* _mesa_function_pool[9723]: Color4i (offset 31) */ "iiii\0" "glColor4i\0" "\0" - /* _mesa_function_pool[9667]: Color4f (offset 29) */ + /* _mesa_function_pool[9739]: Color4f (offset 29) */ "ffff\0" "glColor4f\0" "\0" - /* _mesa_function_pool[9683]: RasterPos4fv (offset 81) */ + /* _mesa_function_pool[9755]: RasterPos4fv (offset 81) */ "p\0" "glRasterPos4fv\0" "\0" - /* _mesa_function_pool[9701]: Color4d (offset 27) */ + /* _mesa_function_pool[9773]: Color4d (offset 27) */ "dddd\0" "glColor4d\0" "\0" - /* _mesa_function_pool[9717]: ClearIndex (offset 205) */ + /* _mesa_function_pool[9789]: ClearIndex (offset 205) */ "f\0" "glClearIndex\0" "\0" - /* _mesa_function_pool[9733]: Color4b (offset 25) */ + /* _mesa_function_pool[9805]: Color4b (offset 25) */ "iiii\0" "glColor4b\0" "\0" - /* _mesa_function_pool[9749]: LoadMatrixd (offset 292) */ + /* _mesa_function_pool[9821]: LoadMatrixd (offset 292) */ "p\0" "glLoadMatrixd\0" "\0" - /* _mesa_function_pool[9766]: FragmentLightModeliSGIX (dynamic) */ + /* _mesa_function_pool[9838]: FragmentLightModeliSGIX (dynamic) */ "ii\0" "glFragmentLightModeliSGIX\0" "\0" - /* _mesa_function_pool[9796]: RasterPos2dv (offset 63) */ + /* _mesa_function_pool[9868]: RasterPos2dv (offset 63) */ "p\0" "glRasterPos2dv\0" "\0" - /* _mesa_function_pool[9814]: ConvolutionParameterfv (offset 351) */ + /* _mesa_function_pool[9886]: ConvolutionParameterfv (offset 351) */ "iip\0" "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[9872]: TbufferMask3DFX (dynamic) */ + /* _mesa_function_pool[9944]: TbufferMask3DFX (dynamic) */ "i\0" "glTbufferMask3DFX\0" "\0" - /* _mesa_function_pool[9893]: GetTexGendv (offset 278) */ + /* _mesa_function_pool[9965]: GetTexGendv (offset 278) */ "iip\0" "glGetTexGendv\0" "\0" - /* _mesa_function_pool[9912]: GetVertexAttribfvNV (will be remapped) */ + /* _mesa_function_pool[9984]: GetVertexAttribfvNV (will be remapped) */ "iip\0" "glGetVertexAttribfvNV\0" "\0" - /* _mesa_function_pool[9939]: BeginTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[10011]: BeginTransformFeedbackEXT (will be remapped) */ "i\0" "glBeginTransformFeedbackEXT\0" "glBeginTransformFeedback\0" "\0" - /* _mesa_function_pool[9995]: LoadProgramNV (will be remapped) */ + /* _mesa_function_pool[10067]: LoadProgramNV (will be remapped) */ "iiip\0" "glLoadProgramNV\0" "\0" - /* _mesa_function_pool[10017]: WaitSync (will be remapped) */ + /* _mesa_function_pool[10089]: WaitSync (will be remapped) */ "iii\0" "glWaitSync\0" "\0" - /* _mesa_function_pool[10033]: EndList (offset 1) */ + /* _mesa_function_pool[10105]: EndList (offset 1) */ "\0" "glEndList\0" "\0" - /* _mesa_function_pool[10045]: VertexP4ui (will be remapped) */ + /* _mesa_function_pool[10117]: VertexP4ui (will be remapped) */ "ii\0" "glVertexP4ui\0" "\0" - /* _mesa_function_pool[10062]: VertexAttrib4fvNV (will be remapped) */ + /* _mesa_function_pool[10134]: VertexAttrib4fvNV (will be remapped) */ "ip\0" "glVertexAttrib4fvNV\0" "\0" - /* _mesa_function_pool[10086]: GetAttachedObjectsARB (will be remapped) */ + /* _mesa_function_pool[10158]: GetAttachedObjectsARB (will be remapped) */ "iipp\0" "glGetAttachedObjectsARB\0" "\0" - /* _mesa_function_pool[10116]: Uniform3fvARB (will be remapped) */ + /* _mesa_function_pool[10188]: Uniform3fvARB (will be remapped) */ "iip\0" "glUniform3fv\0" "glUniform3fvARB\0" "\0" - /* _mesa_function_pool[10150]: EvalCoord1fv (offset 231) */ + /* _mesa_function_pool[10222]: EvalCoord1fv (offset 231) */ "p\0" "glEvalCoord1fv\0" "\0" - /* _mesa_function_pool[10168]: DrawRangeElements (offset 338) */ + /* _mesa_function_pool[10240]: DrawRangeElements (offset 338) */ "iiiiip\0" "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" "\0" - /* _mesa_function_pool[10219]: EvalMesh2 (offset 238) */ + /* _mesa_function_pool[10291]: EvalMesh2 (offset 238) */ "iiiii\0" "glEvalMesh2\0" "\0" - /* _mesa_function_pool[10238]: Vertex4fv (offset 145) */ + /* _mesa_function_pool[10310]: Vertex4fv (offset 145) */ "p\0" "glVertex4fv\0" "\0" - /* _mesa_function_pool[10253]: GenTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[10325]: GenTransformFeedbacks (will be remapped) */ "ip\0" "glGenTransformFeedbacks\0" "\0" - /* _mesa_function_pool[10281]: SpriteParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[10353]: SpriteParameterfvSGIX (dynamic) */ "ip\0" "glSpriteParameterfvSGIX\0" "\0" - /* _mesa_function_pool[10309]: CheckFramebufferStatusEXT (will be remapped) */ + /* _mesa_function_pool[10381]: CheckFramebufferStatusEXT (will be remapped) */ "i\0" "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" "\0" - /* _mesa_function_pool[10365]: GlobalAlphaFactoruiSUN (dynamic) */ + /* _mesa_function_pool[10437]: GlobalAlphaFactoruiSUN (dynamic) */ "i\0" "glGlobalAlphaFactoruiSUN\0" "\0" - /* _mesa_function_pool[10393]: GetHandleARB (will be remapped) */ + /* _mesa_function_pool[10465]: GetHandleARB (will be remapped) */ "i\0" "glGetHandleARB\0" "\0" - /* _mesa_function_pool[10411]: GetVertexAttribivARB (will be remapped) */ + /* _mesa_function_pool[10483]: GetVertexAttribivARB (will be remapped) */ "iip\0" "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" "\0" - /* _mesa_function_pool[10459]: BlendFunciARB (will be remapped) */ + /* _mesa_function_pool[10531]: BlendFunciARB (will be remapped) */ "iii\0" "glBlendFunciARB\0" "glBlendFuncIndexedAMD\0" "\0" - /* _mesa_function_pool[10502]: VertexAttribP1ui (will be remapped) */ + /* _mesa_function_pool[10574]: VertexAttribP1ui (will be remapped) */ "iiii\0" "glVertexAttribP1ui\0" "\0" - /* _mesa_function_pool[10527]: GetnUniformivARB (will be remapped) */ + /* _mesa_function_pool[10599]: GetnUniformivARB (will be remapped) */ "iiip\0" "glGetnUniformivARB\0" "\0" - /* _mesa_function_pool[10552]: GetTexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[10624]: GetTexParameterIivEXT (will be remapped) */ "iip\0" "glGetTexParameterIivEXT\0" "glGetTexParameterIiv\0" "\0" - /* _mesa_function_pool[10602]: CreateProgram (will be remapped) */ + /* _mesa_function_pool[10674]: CreateProgram (will be remapped) */ "\0" "glCreateProgram\0" "\0" - /* _mesa_function_pool[10620]: LoadTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[10692]: LoadTransposeMatrixdARB (will be remapped) */ "p\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[10672]: ReleaseShaderCompiler (will be remapped) */ + /* _mesa_function_pool[10744]: ReleaseShaderCompiler (will be remapped) */ "\0" "glReleaseShaderCompiler\0" "\0" - /* _mesa_function_pool[10698]: GetMinmax (offset 364) */ + /* _mesa_function_pool[10770]: GetMinmax (offset 364) */ "iiiip\0" "glGetMinmax\0" "glGetMinmaxEXT\0" "\0" - /* _mesa_function_pool[10732]: StencilFuncSeparate (will be remapped) */ + /* _mesa_function_pool[10804]: StencilFuncSeparate (will be remapped) */ "iiii\0" "glStencilFuncSeparate\0" "\0" - /* _mesa_function_pool[10760]: SecondaryColor3sEXT (will be remapped) */ + /* _mesa_function_pool[10832]: SecondaryColor3sEXT (will be remapped) */ "iii\0" "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" "\0" - /* _mesa_function_pool[10806]: Color3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10878]: Color3fVertex3fvSUN (dynamic) */ "pp\0" "glColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10832]: GetInteger64i_v (will be remapped) */ + /* _mesa_function_pool[10904]: GetInteger64i_v (will be remapped) */ "iip\0" "glGetInteger64i_v\0" "\0" - /* _mesa_function_pool[10855]: GetVertexAttribdvNV (will be remapped) */ + /* _mesa_function_pool[10927]: GetVertexAttribdvNV (will be remapped) */ "iip\0" "glGetVertexAttribdvNV\0" "\0" - /* _mesa_function_pool[10882]: Normal3fv (offset 57) */ + /* _mesa_function_pool[10954]: Normal3fv (offset 57) */ "p\0" "glNormal3fv\0" "\0" - /* _mesa_function_pool[10897]: GlobalAlphaFactorbSUN (dynamic) */ + /* _mesa_function_pool[10969]: GlobalAlphaFactorbSUN (dynamic) */ "i\0" "glGlobalAlphaFactorbSUN\0" "\0" - /* _mesa_function_pool[10924]: Color3us (offset 23) */ + /* _mesa_function_pool[10996]: Color3us (offset 23) */ "iii\0" "glColor3us\0" "\0" - /* _mesa_function_pool[10940]: ImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[11012]: ImageTransformParameterfvHP (dynamic) */ "iip\0" "glImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[10975]: VertexAttrib4ivARB (will be remapped) */ + /* _mesa_function_pool[11047]: VertexAttrib4ivARB (will be remapped) */ "ip\0" "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" "\0" - /* _mesa_function_pool[11018]: End (offset 43) */ + /* _mesa_function_pool[11090]: End (offset 43) */ "\0" "glEnd\0" "\0" - /* _mesa_function_pool[11026]: VertexAttrib3fNV (will be remapped) */ + /* _mesa_function_pool[11098]: VertexAttrib3fNV (will be remapped) */ "ifff\0" "glVertexAttrib3fNV\0" "\0" - /* _mesa_function_pool[11051]: MultiTexCoordP3uiv (will be remapped) */ + /* _mesa_function_pool[11123]: MultiTexCoordP3uiv (will be remapped) */ "iip\0" "glMultiTexCoordP3uiv\0" "\0" - /* _mesa_function_pool[11077]: VertexAttribs2dvNV (will be remapped) */ + /* _mesa_function_pool[11149]: VertexAttribs2dvNV (will be remapped) */ "iip\0" "glVertexAttribs2dvNV\0" "\0" - /* _mesa_function_pool[11103]: GetQueryObjectui64vEXT (will be remapped) */ + /* _mesa_function_pool[11175]: GetQueryObjectui64vEXT (will be remapped) */ "iip\0" "glGetQueryObjectui64vEXT\0" "\0" - /* _mesa_function_pool[11133]: MultiTexCoord3fvARB (offset 395) */ + /* _mesa_function_pool[11205]: MultiTexCoord3fvARB (offset 395) */ "ip\0" "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" "\0" - /* _mesa_function_pool[11178]: SecondaryColor3dEXT (will be remapped) */ + /* _mesa_function_pool[11250]: SecondaryColor3dEXT (will be remapped) */ "ddd\0" "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" "\0" - /* _mesa_function_pool[11224]: Color3ub (offset 19) */ + /* _mesa_function_pool[11296]: Color3ub (offset 19) */ "iii\0" "glColor3ub\0" "\0" - /* _mesa_function_pool[11240]: GetProgramParameterfvNV (will be remapped) */ + /* _mesa_function_pool[11312]: GetProgramParameterfvNV (will be remapped) */ "iiip\0" "glGetProgramParameterfvNV\0" "\0" - /* _mesa_function_pool[11272]: TangentPointerEXT (dynamic) */ + /* _mesa_function_pool[11344]: TangentPointerEXT (dynamic) */ "iip\0" "glTangentPointerEXT\0" "\0" - /* _mesa_function_pool[11297]: Color4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[11369]: Color4fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[11332]: GetInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[11404]: GetInstrumentsSGIX (dynamic) */ "\0" "glGetInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[11355]: GetUniformuivEXT (will be remapped) */ + /* _mesa_function_pool[11427]: GetUniformuivEXT (will be remapped) */ "iip\0" "glGetUniformuivEXT\0" "glGetUniformuiv\0" "\0" - /* _mesa_function_pool[11395]: Color3ui (offset 21) */ + /* _mesa_function_pool[11467]: Color3ui (offset 21) */ "iii\0" "glColor3ui\0" "\0" - /* _mesa_function_pool[11411]: EvalMapsNV (dynamic) */ + /* _mesa_function_pool[11483]: EvalMapsNV (dynamic) */ "ii\0" "glEvalMapsNV\0" "\0" - /* _mesa_function_pool[11428]: TexSubImage2D (offset 333) */ + /* _mesa_function_pool[11500]: TexSubImage2D (offset 333) */ "iiiiiiiip\0" "glTexSubImage2D\0" "glTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[11474]: FragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[11546]: FragmentLightivSGIX (dynamic) */ "iip\0" "glFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[11501]: GetTexParameterPointervAPPLE (will be remapped) */ + /* _mesa_function_pool[11573]: GetTexParameterPointervAPPLE (will be remapped) */ "iip\0" "glGetTexParameterPointervAPPLE\0" "\0" - /* _mesa_function_pool[11537]: TexGenfv (offset 191) */ + /* _mesa_function_pool[11609]: TexGenfv (offset 191) */ "iip\0" "glTexGenfv\0" "\0" - /* _mesa_function_pool[11553]: GetTransformFeedbackVaryingEXT (will be remapped) */ + /* _mesa_function_pool[11625]: GetTransformFeedbackVaryingEXT (will be remapped) */ "iiipppp\0" "glGetTransformFeedbackVaryingEXT\0" "glGetTransformFeedbackVarying\0" "\0" - /* _mesa_function_pool[11625]: VertexAttrib4bvARB (will be remapped) */ + /* _mesa_function_pool[11697]: VertexAttrib4bvARB (will be remapped) */ "ip\0" "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" "\0" - /* _mesa_function_pool[11668]: ShaderBinary (will be remapped) */ + /* _mesa_function_pool[11740]: ShaderBinary (will be remapped) */ "ipipi\0" "glShaderBinary\0" "\0" - /* _mesa_function_pool[11690]: GetIntegerIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[11762]: GetIntegerIndexedvEXT (will be remapped) */ "iip\0" "glGetIntegerIndexedvEXT\0" "glGetIntegeri_v\0" "\0" - /* _mesa_function_pool[11735]: MultiTexCoord4sARB (offset 406) */ + /* _mesa_function_pool[11807]: MultiTexCoord4sARB (offset 406) */ "iiiii\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" "\0" - /* _mesa_function_pool[11781]: GetFragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[11853]: GetFragmentMaterialivSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[11814]: WindowPos4dMESA (will be remapped) */ + /* _mesa_function_pool[11886]: WindowPos4dMESA (will be remapped) */ "dddd\0" "glWindowPos4dMESA\0" "\0" - /* _mesa_function_pool[11838]: WeightPointerARB (dynamic) */ + /* _mesa_function_pool[11910]: WeightPointerARB (dynamic) */ "iiip\0" "glWeightPointerARB\0" "\0" - /* _mesa_function_pool[11863]: WindowPos2dMESA (will be remapped) */ + /* _mesa_function_pool[11935]: WindowPos2dMESA (will be remapped) */ "dd\0" "glWindowPos2d\0" "glWindowPos2dARB\0" "glWindowPos2dMESA\0" "\0" - /* _mesa_function_pool[11916]: FramebufferTexture3DEXT (will be remapped) */ + /* _mesa_function_pool[11988]: FramebufferTexture3DEXT (will be remapped) */ "iiiiii\0" "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" "\0" - /* _mesa_function_pool[11973]: BlendEquation (offset 337) */ + /* _mesa_function_pool[12045]: BlendEquation (offset 337) */ "i\0" "glBlendEquation\0" "glBlendEquationEXT\0" "\0" - /* _mesa_function_pool[12011]: VertexAttrib3dNV (will be remapped) */ + /* _mesa_function_pool[12083]: VertexAttrib3dNV (will be remapped) */ "iddd\0" "glVertexAttrib3dNV\0" "\0" - /* _mesa_function_pool[12036]: VertexAttrib3dARB (will be remapped) */ + /* _mesa_function_pool[12108]: VertexAttrib3dARB (will be remapped) */ "iddd\0" "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" "\0" - /* _mesa_function_pool[12079]: VertexAttribI4usvEXT (will be remapped) */ + /* _mesa_function_pool[12151]: VertexAttribI4usvEXT (will be remapped) */ "ip\0" "glVertexAttribI4usvEXT\0" "glVertexAttribI4usv\0" "\0" - /* _mesa_function_pool[12126]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[12198]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "ppppp\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[12190]: VertexAttrib4fARB (will be remapped) */ + /* _mesa_function_pool[12262]: VertexAttrib4fARB (will be remapped) */ "iffff\0" "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" "\0" - /* _mesa_function_pool[12234]: GetError (offset 261) */ + /* _mesa_function_pool[12306]: GetError (offset 261) */ "\0" "glGetError\0" "\0" - /* _mesa_function_pool[12247]: IndexFuncEXT (dynamic) */ + /* _mesa_function_pool[12319]: IndexFuncEXT (dynamic) */ "if\0" "glIndexFuncEXT\0" "\0" - /* _mesa_function_pool[12266]: TexCoord3dv (offset 111) */ + /* _mesa_function_pool[12338]: TexCoord3dv (offset 111) */ "p\0" "glTexCoord3dv\0" "\0" - /* _mesa_function_pool[12283]: Indexdv (offset 45) */ + /* _mesa_function_pool[12355]: Indexdv (offset 45) */ "p\0" "glIndexdv\0" "\0" - /* _mesa_function_pool[12296]: FramebufferTexture2DEXT (will be remapped) */ + /* _mesa_function_pool[12368]: FramebufferTexture2DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" "\0" - /* _mesa_function_pool[12352]: Normal3s (offset 60) */ + /* _mesa_function_pool[12424]: Normal3s (offset 60) */ "iii\0" "glNormal3s\0" "\0" - /* _mesa_function_pool[12368]: GetObjectParameterivAPPLE (will be remapped) */ + /* _mesa_function_pool[12440]: GetObjectParameterivAPPLE (will be remapped) */ "iiip\0" "glGetObjectParameterivAPPLE\0" "\0" - /* _mesa_function_pool[12402]: PushName (offset 201) */ + /* _mesa_function_pool[12474]: PushName (offset 201) */ "i\0" "glPushName\0" "\0" - /* _mesa_function_pool[12416]: MultiTexCoord2dvARB (offset 385) */ + /* _mesa_function_pool[12488]: MultiTexCoord2dvARB (offset 385) */ "ip\0" "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" "\0" - /* _mesa_function_pool[12461]: CullParameterfvEXT (dynamic) */ + /* _mesa_function_pool[12533]: CullParameterfvEXT (dynamic) */ "ip\0" "glCullParameterfvEXT\0" "\0" - /* _mesa_function_pool[12486]: Normal3i (offset 58) */ + /* _mesa_function_pool[12558]: Normal3i (offset 58) */ "iii\0" "glNormal3i\0" "\0" - /* _mesa_function_pool[12502]: ProgramNamedParameter4fvNV (will be remapped) */ + /* _mesa_function_pool[12574]: ProgramNamedParameter4fvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4fvNV\0" "\0" - /* _mesa_function_pool[12537]: SecondaryColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[12609]: SecondaryColorPointerEXT (will be remapped) */ "iiip\0" "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" "\0" - /* _mesa_function_pool[12594]: VertexAttrib4fvARB (will be remapped) */ + /* _mesa_function_pool[12666]: VertexAttrib4fvARB (will be remapped) */ "ip\0" "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" "\0" - /* _mesa_function_pool[12637]: PixelTexGenSGIX (will be remapped) */ + /* _mesa_function_pool[12709]: PixelTexGenSGIX (will be remapped) */ "i\0" "glPixelTexGenSGIX\0" "\0" - /* _mesa_function_pool[12658]: GetActiveUniformARB (will be remapped) */ + /* _mesa_function_pool[12730]: GetActiveUniformARB (will be remapped) */ "iiipppp\0" "glGetActiveUniform\0" "glGetActiveUniformARB\0" "\0" - /* _mesa_function_pool[12708]: ImageTransformParameteriHP (dynamic) */ + /* _mesa_function_pool[12780]: ImageTransformParameteriHP (dynamic) */ "iii\0" "glImageTransformParameteriHP\0" "\0" - /* _mesa_function_pool[12742]: Normal3b (offset 52) */ + /* _mesa_function_pool[12814]: Normal3b (offset 52) */ "iii\0" "glNormal3b\0" "\0" - /* _mesa_function_pool[12758]: Normal3d (offset 54) */ + /* _mesa_function_pool[12830]: Normal3d (offset 54) */ "ddd\0" "glNormal3d\0" "\0" - /* _mesa_function_pool[12774]: Uniform1uiEXT (will be remapped) */ + /* _mesa_function_pool[12846]: Uniform1uiEXT (will be remapped) */ "ii\0" "glUniform1uiEXT\0" "glUniform1ui\0" "\0" - /* _mesa_function_pool[12807]: Normal3f (offset 56) */ + /* _mesa_function_pool[12879]: Normal3f (offset 56) */ "fff\0" "glNormal3f\0" "\0" - /* _mesa_function_pool[12823]: MultiTexCoord1svARB (offset 383) */ + /* _mesa_function_pool[12895]: MultiTexCoord1svARB (offset 383) */ "ip\0" "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" "\0" - /* _mesa_function_pool[12868]: Indexi (offset 48) */ + /* _mesa_function_pool[12940]: Indexi (offset 48) */ "i\0" "glIndexi\0" "\0" - /* _mesa_function_pool[12880]: EGLImageTargetTexture2DOES (will be remapped) */ + /* _mesa_function_pool[12952]: EGLImageTargetTexture2DOES (will be remapped) */ "ip\0" "glEGLImageTargetTexture2DOES\0" "\0" - /* _mesa_function_pool[12913]: EndQueryARB (will be remapped) */ + /* _mesa_function_pool[12985]: EndQueryARB (will be remapped) */ "i\0" "glEndQuery\0" "glEndQueryARB\0" "\0" - /* _mesa_function_pool[12941]: DeleteFencesNV (will be remapped) */ + /* _mesa_function_pool[13013]: DeleteFencesNV (will be remapped) */ "ip\0" "glDeleteFencesNV\0" "\0" - /* _mesa_function_pool[12962]: ColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[13034]: ColorPointerListIBM (dynamic) */ "iiipi\0" "glColorPointerListIBM\0" "\0" - /* _mesa_function_pool[12991]: BindBufferRangeEXT (will be remapped) */ + /* _mesa_function_pool[13063]: BindBufferRangeEXT (will be remapped) */ "iiiii\0" "glBindBufferRangeEXT\0" "glBindBufferRange\0" "\0" - /* _mesa_function_pool[13037]: DepthMask (offset 211) */ + /* _mesa_function_pool[13109]: DepthMask (offset 211) */ "i\0" "glDepthMask\0" "\0" - /* _mesa_function_pool[13052]: IsShader (will be remapped) */ + /* _mesa_function_pool[13124]: IsShader (will be remapped) */ "i\0" "glIsShader\0" "\0" - /* _mesa_function_pool[13066]: Indexf (offset 46) */ + /* _mesa_function_pool[13138]: Indexf (offset 46) */ "f\0" "glIndexf\0" "\0" - /* _mesa_function_pool[13078]: GetImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[13150]: GetImageTransformParameterivHP (dynamic) */ "iip\0" "glGetImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[13116]: Indexd (offset 44) */ + /* _mesa_function_pool[13188]: Indexd (offset 44) */ "d\0" "glIndexd\0" "\0" - /* _mesa_function_pool[13128]: GetMaterialiv (offset 270) */ + /* _mesa_function_pool[13200]: GetMaterialiv (offset 270) */ "iip\0" "glGetMaterialiv\0" "\0" - /* _mesa_function_pool[13149]: StencilOp (offset 244) */ + /* _mesa_function_pool[13221]: StencilOp (offset 244) */ "iii\0" "glStencilOp\0" "\0" - /* _mesa_function_pool[13166]: WindowPos4ivMESA (will be remapped) */ + /* _mesa_function_pool[13238]: WindowPos4ivMESA (will be remapped) */ "p\0" "glWindowPos4ivMESA\0" "\0" - /* _mesa_function_pool[13188]: MultiTexCoord3svARB (offset 399) */ + /* _mesa_function_pool[13260]: MultiTexCoord3svARB (offset 399) */ "ip\0" "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" "\0" - /* _mesa_function_pool[13233]: TexEnvfv (offset 185) */ + /* _mesa_function_pool[13305]: TexEnvfv (offset 185) */ "iip\0" "glTexEnvfv\0" "\0" - /* _mesa_function_pool[13249]: MultiTexCoord4iARB (offset 404) */ + /* _mesa_function_pool[13321]: MultiTexCoord4iARB (offset 404) */ "iiiii\0" "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" "\0" - /* _mesa_function_pool[13295]: Indexs (offset 50) */ + /* _mesa_function_pool[13367]: Indexs (offset 50) */ "i\0" "glIndexs\0" "\0" - /* _mesa_function_pool[13307]: Binormal3ivEXT (dynamic) */ + /* _mesa_function_pool[13379]: Binormal3ivEXT (dynamic) */ "p\0" "glBinormal3ivEXT\0" "\0" - /* _mesa_function_pool[13327]: ResizeBuffersMESA (will be remapped) */ + /* _mesa_function_pool[13399]: ResizeBuffersMESA (will be remapped) */ "\0" "glResizeBuffersMESA\0" "\0" - /* _mesa_function_pool[13349]: MultiTexCoordP1uiv (will be remapped) */ + /* _mesa_function_pool[13421]: MultiTexCoordP1uiv (will be remapped) */ "iip\0" "glMultiTexCoordP1uiv\0" "\0" - /* _mesa_function_pool[13375]: BlendFuncSeparateiARB (will be remapped) */ + /* _mesa_function_pool[13447]: BlendFuncSeparateiARB (will be remapped) */ "iiiii\0" "glBlendFuncSeparateiARB\0" "glBlendFuncSeparateIndexedAMD\0" "\0" - /* _mesa_function_pool[13436]: GetUniformivARB (will be remapped) */ + /* _mesa_function_pool[13508]: GetUniformivARB (will be remapped) */ "iip\0" "glGetUniformiv\0" "glGetUniformivARB\0" "\0" - /* _mesa_function_pool[13474]: PixelTexGenParameteriSGIS (will be remapped) */ + /* _mesa_function_pool[13546]: PixelTexGenParameteriSGIS (will be remapped) */ "ii\0" "glPixelTexGenParameteriSGIS\0" "\0" - /* _mesa_function_pool[13506]: VertexPointervINTEL (dynamic) */ + /* _mesa_function_pool[13578]: VertexPointervINTEL (dynamic) */ "iip\0" "glVertexPointervINTEL\0" "\0" - /* _mesa_function_pool[13533]: Vertex2i (offset 130) */ + /* _mesa_function_pool[13605]: Vertex2i (offset 130) */ "ii\0" "glVertex2i\0" "\0" - /* _mesa_function_pool[13548]: LoadMatrixf (offset 291) */ + /* _mesa_function_pool[13620]: LoadMatrixf (offset 291) */ "p\0" "glLoadMatrixf\0" "\0" - /* _mesa_function_pool[13565]: VertexAttribI1uivEXT (will be remapped) */ + /* _mesa_function_pool[13637]: VertexAttribI1uivEXT (will be remapped) */ "ip\0" "glVertexAttribI1uivEXT\0" "glVertexAttribI1uiv\0" "\0" - /* _mesa_function_pool[13612]: Vertex2f (offset 128) */ + /* _mesa_function_pool[13684]: Vertex2f (offset 128) */ "ff\0" "glVertex2f\0" "\0" - /* _mesa_function_pool[13627]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[13699]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[13680]: Color4bv (offset 26) */ + /* _mesa_function_pool[13752]: Color4bv (offset 26) */ "p\0" "glColor4bv\0" "\0" - /* _mesa_function_pool[13694]: VertexPointer (offset 321) */ + /* _mesa_function_pool[13766]: VertexPointer (offset 321) */ "iiip\0" "glVertexPointer\0" "\0" - /* _mesa_function_pool[13716]: SecondaryColor3uiEXT (will be remapped) */ + /* _mesa_function_pool[13788]: SecondaryColor3uiEXT (will be remapped) */ "iii\0" "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" "\0" - /* _mesa_function_pool[13764]: StartInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[13836]: StartInstrumentsSGIX (dynamic) */ "\0" "glStartInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[13789]: SecondaryColor3usvEXT (will be remapped) */ + /* _mesa_function_pool[13861]: SecondaryColor3usvEXT (will be remapped) */ "p\0" "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" "\0" - /* _mesa_function_pool[13837]: VertexAttrib2fvNV (will be remapped) */ + /* _mesa_function_pool[13909]: VertexAttrib2fvNV (will be remapped) */ "ip\0" "glVertexAttrib2fvNV\0" "\0" - /* _mesa_function_pool[13861]: ProgramLocalParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[13933]: ProgramLocalParameter4dvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4dvARB\0" "\0" - /* _mesa_function_pool[13896]: DeleteLists (offset 4) */ + /* _mesa_function_pool[13968]: DeleteLists (offset 4) */ "ii\0" "glDeleteLists\0" "\0" - /* _mesa_function_pool[13914]: LogicOp (offset 242) */ + /* _mesa_function_pool[13986]: LogicOp (offset 242) */ "i\0" "glLogicOp\0" "\0" - /* _mesa_function_pool[13927]: MatrixIndexuivARB (dynamic) */ + /* _mesa_function_pool[13999]: MatrixIndexuivARB (dynamic) */ "ip\0" "glMatrixIndexuivARB\0" "\0" - /* _mesa_function_pool[13951]: Vertex2s (offset 132) */ + /* _mesa_function_pool[14023]: Vertex2s (offset 132) */ "ii\0" "glVertex2s\0" "\0" - /* _mesa_function_pool[13966]: RenderbufferStorageMultisample (will be remapped) */ + /* _mesa_function_pool[14038]: RenderbufferStorageMultisample (will be remapped) */ "iiiii\0" "glRenderbufferStorageMultisample\0" "glRenderbufferStorageMultisampleEXT\0" "\0" - /* _mesa_function_pool[14042]: TexCoord4fv (offset 121) */ + /* _mesa_function_pool[14114]: TexCoord4fv (offset 121) */ "p\0" "glTexCoord4fv\0" "\0" - /* _mesa_function_pool[14059]: Tangent3sEXT (dynamic) */ + /* _mesa_function_pool[14131]: Tangent3sEXT (dynamic) */ "iii\0" "glTangent3sEXT\0" "\0" - /* _mesa_function_pool[14079]: GlobalAlphaFactorfSUN (dynamic) */ + /* _mesa_function_pool[14151]: GlobalAlphaFactorfSUN (dynamic) */ "f\0" "glGlobalAlphaFactorfSUN\0" "\0" - /* _mesa_function_pool[14106]: MultiTexCoord3iARB (offset 396) */ + /* _mesa_function_pool[14178]: MultiTexCoord3iARB (offset 396) */ "iiii\0" "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" "\0" - /* _mesa_function_pool[14151]: IsProgram (will be remapped) */ + /* _mesa_function_pool[14223]: IsProgram (will be remapped) */ "i\0" "glIsProgram\0" "\0" - /* _mesa_function_pool[14166]: TexCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[14238]: TexCoordPointerListIBM (dynamic) */ "iiipi\0" "glTexCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[14198]: VertexAttribI4svEXT (will be remapped) */ + /* _mesa_function_pool[14270]: VertexAttribI4svEXT (will be remapped) */ "ip\0" "glVertexAttribI4svEXT\0" "glVertexAttribI4sv\0" "\0" - /* _mesa_function_pool[14243]: GlobalAlphaFactorusSUN (dynamic) */ + /* _mesa_function_pool[14315]: GlobalAlphaFactorusSUN (dynamic) */ "i\0" "glGlobalAlphaFactorusSUN\0" "\0" - /* _mesa_function_pool[14271]: VertexAttrib2dvNV (will be remapped) */ + /* _mesa_function_pool[14343]: VertexAttrib2dvNV (will be remapped) */ "ip\0" "glVertexAttrib2dvNV\0" "\0" - /* _mesa_function_pool[14295]: FramebufferRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[14367]: FramebufferRenderbufferEXT (will be remapped) */ "iiii\0" "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" "\0" - /* _mesa_function_pool[14356]: ClearBufferuiv (will be remapped) */ + /* _mesa_function_pool[14428]: ClearBufferuiv (will be remapped) */ "iip\0" "glClearBufferuiv\0" "\0" - /* _mesa_function_pool[14378]: VertexAttrib1dvNV (will be remapped) */ + /* _mesa_function_pool[14450]: VertexAttrib1dvNV (will be remapped) */ "ip\0" "glVertexAttrib1dvNV\0" "\0" - /* _mesa_function_pool[14402]: GenTextures (offset 328) */ + /* _mesa_function_pool[14474]: GenTextures (offset 328) */ "ip\0" "glGenTextures\0" "glGenTexturesEXT\0" "\0" - /* _mesa_function_pool[14437]: FramebufferTextureARB (will be remapped) */ + /* _mesa_function_pool[14509]: FramebufferTextureARB (will be remapped) */ "iiii\0" "glFramebufferTextureARB\0" "\0" - /* _mesa_function_pool[14467]: SetFenceNV (will be remapped) */ + /* _mesa_function_pool[14539]: SetFenceNV (will be remapped) */ "ii\0" "glSetFenceNV\0" "\0" - /* _mesa_function_pool[14484]: FramebufferTexture1DEXT (will be remapped) */ + /* _mesa_function_pool[14556]: FramebufferTexture1DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" "\0" - /* _mesa_function_pool[14540]: GetCombinerOutputParameterivNV (will be remapped) */ + /* _mesa_function_pool[14612]: GetCombinerOutputParameterivNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterivNV\0" "\0" - /* _mesa_function_pool[14579]: MultiModeDrawArraysIBM (will be remapped) */ + /* _mesa_function_pool[14651]: MultiModeDrawArraysIBM (will be remapped) */ "pppii\0" "glMultiModeDrawArraysIBM\0" "\0" - /* _mesa_function_pool[14611]: PixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[14683]: PixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[14644]: TextureNormalEXT (dynamic) */ + /* _mesa_function_pool[14716]: TextureNormalEXT (dynamic) */ "i\0" "glTextureNormalEXT\0" "\0" - /* _mesa_function_pool[14666]: IndexPointerListIBM (dynamic) */ + /* _mesa_function_pool[14738]: IndexPointerListIBM (dynamic) */ "iipi\0" "glIndexPointerListIBM\0" "\0" - /* _mesa_function_pool[14694]: WeightfvARB (dynamic) */ + /* _mesa_function_pool[14766]: WeightfvARB (dynamic) */ "ip\0" "glWeightfvARB\0" "\0" - /* _mesa_function_pool[14712]: GetCombinerOutputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[14784]: GetCombinerOutputParameterfvNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterfvNV\0" "\0" - /* _mesa_function_pool[14751]: MultiTexCoordP3ui (will be remapped) */ + /* _mesa_function_pool[14823]: MultiTexCoordP3ui (will be remapped) */ "iii\0" "glMultiTexCoordP3ui\0" "\0" - /* _mesa_function_pool[14776]: RasterPos2sv (offset 69) */ + /* _mesa_function_pool[14848]: RasterPos2sv (offset 69) */ "p\0" "glRasterPos2sv\0" "\0" - /* _mesa_function_pool[14794]: Color4ubv (offset 36) */ + /* _mesa_function_pool[14866]: Color4ubv (offset 36) */ "p\0" "glColor4ubv\0" "\0" - /* _mesa_function_pool[14809]: DrawBuffer (offset 202) */ + /* _mesa_function_pool[14881]: DrawBuffer (offset 202) */ "i\0" "glDrawBuffer\0" "\0" - /* _mesa_function_pool[14825]: TexCoord2fv (offset 105) */ + /* _mesa_function_pool[14897]: TexCoord2fv (offset 105) */ "p\0" "glTexCoord2fv\0" "\0" - /* _mesa_function_pool[14842]: WindowPos4fMESA (will be remapped) */ + /* _mesa_function_pool[14914]: WindowPos4fMESA (will be remapped) */ "ffff\0" "glWindowPos4fMESA\0" "\0" - /* _mesa_function_pool[14866]: TexCoord1sv (offset 101) */ + /* _mesa_function_pool[14938]: TexCoord1sv (offset 101) */ "p\0" "glTexCoord1sv\0" "\0" - /* _mesa_function_pool[14883]: WindowPos3dvMESA (will be remapped) */ + /* _mesa_function_pool[14955]: WindowPos3dvMESA (will be remapped) */ "p\0" "glWindowPos3dv\0" "glWindowPos3dvARB\0" "glWindowPos3dvMESA\0" "\0" - /* _mesa_function_pool[14938]: VertexAttribP1uiv (will be remapped) */ + /* _mesa_function_pool[15010]: VertexAttribP1uiv (will be remapped) */ "iiip\0" "glVertexAttribP1uiv\0" "\0" - /* _mesa_function_pool[14964]: VertexAttribP4ui (will be remapped) */ + /* _mesa_function_pool[15036]: VertexAttribP4ui (will be remapped) */ "iiii\0" "glVertexAttribP4ui\0" "\0" - /* _mesa_function_pool[14989]: DepthFunc (offset 245) */ + /* _mesa_function_pool[15061]: DepthFunc (offset 245) */ "i\0" "glDepthFunc\0" "\0" - /* _mesa_function_pool[15004]: PixelMapusv (offset 253) */ + /* _mesa_function_pool[15076]: PixelMapusv (offset 253) */ "iip\0" "glPixelMapusv\0" "\0" - /* _mesa_function_pool[15023]: GetQueryObjecti64vEXT (will be remapped) */ + /* _mesa_function_pool[15095]: GetQueryObjecti64vEXT (will be remapped) */ "iip\0" "glGetQueryObjecti64vEXT\0" "\0" - /* _mesa_function_pool[15052]: MultiTexCoord1dARB (offset 376) */ + /* _mesa_function_pool[15124]: MultiTexCoord1dARB (offset 376) */ "id\0" "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" "\0" - /* _mesa_function_pool[15095]: PointParameterivNV (will be remapped) */ + /* _mesa_function_pool[15167]: PointParameterivNV (will be remapped) */ "ip\0" "glPointParameteriv\0" "glPointParameterivNV\0" "\0" - /* _mesa_function_pool[15139]: IsSampler (will be remapped) */ + /* _mesa_function_pool[15211]: IsSampler (will be remapped) */ "i\0" "glIsSampler\0" "\0" - /* _mesa_function_pool[15154]: BlendFunc (offset 241) */ + /* _mesa_function_pool[15226]: BlendFunc (offset 241) */ "ii\0" "glBlendFunc\0" "\0" - /* _mesa_function_pool[15170]: EndTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[15242]: EndTransformFeedbackEXT (will be remapped) */ "\0" "glEndTransformFeedbackEXT\0" "glEndTransformFeedback\0" "\0" - /* _mesa_function_pool[15221]: Uniform2fvARB (will be remapped) */ + /* _mesa_function_pool[15293]: Uniform2fvARB (will be remapped) */ "iip\0" "glUniform2fv\0" "glUniform2fvARB\0" "\0" - /* _mesa_function_pool[15255]: BufferParameteriAPPLE (will be remapped) */ + /* _mesa_function_pool[15327]: BufferParameteriAPPLE (will be remapped) */ "iii\0" "glBufferParameteriAPPLE\0" "\0" - /* _mesa_function_pool[15284]: MultiTexCoord3dvARB (offset 393) */ + /* _mesa_function_pool[15356]: MultiTexCoord3dvARB (offset 393) */ "ip\0" "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" "\0" - /* _mesa_function_pool[15329]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[15401]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[15385]: DeleteObjectARB (will be remapped) */ + /* _mesa_function_pool[15457]: DeleteObjectARB (will be remapped) */ "i\0" "glDeleteObjectARB\0" "\0" - /* _mesa_function_pool[15406]: GetShaderPrecisionFormat (will be remapped) */ + /* _mesa_function_pool[15478]: GetShaderPrecisionFormat (will be remapped) */ "iipp\0" "glGetShaderPrecisionFormat\0" "\0" - /* _mesa_function_pool[15439]: MatrixIndexPointerARB (dynamic) */ + /* _mesa_function_pool[15511]: MatrixIndexPointerARB (dynamic) */ "iiip\0" "glMatrixIndexPointerARB\0" "\0" - /* _mesa_function_pool[15469]: ProgramNamedParameter4dvNV (will be remapped) */ + /* _mesa_function_pool[15541]: ProgramNamedParameter4dvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4dvNV\0" "\0" - /* _mesa_function_pool[15504]: Tangent3fvEXT (dynamic) */ + /* _mesa_function_pool[15576]: Tangent3fvEXT (dynamic) */ "p\0" "glTangent3fvEXT\0" "\0" - /* _mesa_function_pool[15523]: Flush (offset 217) */ + /* _mesa_function_pool[15595]: Flush (offset 217) */ "\0" "glFlush\0" "\0" - /* _mesa_function_pool[15533]: Color4uiv (offset 38) */ + /* _mesa_function_pool[15605]: Color4uiv (offset 38) */ "p\0" "glColor4uiv\0" "\0" - /* _mesa_function_pool[15548]: VertexAttribI4iEXT (will be remapped) */ + /* _mesa_function_pool[15620]: VertexAttribI4iEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4iEXT\0" "glVertexAttribI4i\0" "\0" - /* _mesa_function_pool[15594]: GenVertexArrays (will be remapped) */ + /* _mesa_function_pool[15666]: GenVertexArrays (will be remapped) */ "ip\0" "glGenVertexArrays\0" "\0" - /* _mesa_function_pool[15616]: Uniform3uivEXT (will be remapped) */ + /* _mesa_function_pool[15688]: Uniform3uivEXT (will be remapped) */ "iip\0" "glUniform3uivEXT\0" "glUniform3uiv\0" "\0" - /* _mesa_function_pool[15652]: RasterPos3sv (offset 77) */ + /* _mesa_function_pool[15724]: RasterPos3sv (offset 77) */ "p\0" "glRasterPos3sv\0" "\0" - /* _mesa_function_pool[15670]: TexCoordP2ui (will be remapped) */ + /* _mesa_function_pool[15742]: TexCoordP2ui (will be remapped) */ "ii\0" "glTexCoordP2ui\0" "\0" - /* _mesa_function_pool[15689]: BindFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[15761]: BindFramebufferEXT (will be remapped) */ "ii\0" "glBindFramebuffer\0" "glBindFramebufferEXT\0" "\0" - /* _mesa_function_pool[15732]: ReferencePlaneSGIX (dynamic) */ + /* _mesa_function_pool[15804]: ReferencePlaneSGIX (dynamic) */ "p\0" "glReferencePlaneSGIX\0" "\0" - /* _mesa_function_pool[15756]: PushAttrib (offset 219) */ + /* _mesa_function_pool[15828]: PushAttrib (offset 219) */ "i\0" "glPushAttrib\0" "\0" - /* _mesa_function_pool[15772]: RasterPos2i (offset 66) */ + /* _mesa_function_pool[15844]: RasterPos2i (offset 66) */ "ii\0" "glRasterPos2i\0" "\0" - /* _mesa_function_pool[15790]: ValidateProgramARB (will be remapped) */ + /* _mesa_function_pool[15862]: ValidateProgramARB (will be remapped) */ "i\0" "glValidateProgram\0" "glValidateProgramARB\0" "\0" - /* _mesa_function_pool[15832]: TexParameteriv (offset 181) */ + /* _mesa_function_pool[15904]: TexParameteriv (offset 181) */ "iip\0" "glTexParameteriv\0" "\0" - /* _mesa_function_pool[15854]: UnlockArraysEXT (will be remapped) */ + /* _mesa_function_pool[15926]: UnlockArraysEXT (will be remapped) */ "\0" "glUnlockArraysEXT\0" "\0" - /* _mesa_function_pool[15874]: TexCoord2fColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[15946]: TexCoord2fColor3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[15915]: WindowPos3fvMESA (will be remapped) */ + /* _mesa_function_pool[15987]: WindowPos3fvMESA (will be remapped) */ "p\0" "glWindowPos3fv\0" "glWindowPos3fvARB\0" "glWindowPos3fvMESA\0" "\0" - /* _mesa_function_pool[15970]: RasterPos2f (offset 64) */ + /* _mesa_function_pool[16042]: RasterPos2f (offset 64) */ "ff\0" "glRasterPos2f\0" "\0" - /* _mesa_function_pool[15988]: VertexAttrib1svNV (will be remapped) */ + /* _mesa_function_pool[16060]: VertexAttrib1svNV (will be remapped) */ "ip\0" "glVertexAttrib1svNV\0" "\0" - /* _mesa_function_pool[16012]: RasterPos2d (offset 62) */ + /* _mesa_function_pool[16084]: RasterPos2d (offset 62) */ "dd\0" "glRasterPos2d\0" "\0" - /* _mesa_function_pool[16030]: RasterPos3fv (offset 73) */ + /* _mesa_function_pool[16102]: RasterPos3fv (offset 73) */ "p\0" "glRasterPos3fv\0" "\0" - /* _mesa_function_pool[16048]: CopyTexSubImage3D (offset 373) */ + /* _mesa_function_pool[16120]: CopyTexSubImage3D (offset 373) */ "iiiiiiiii\0" "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[16102]: VertexAttrib2dARB (will be remapped) */ + /* _mesa_function_pool[16174]: VertexAttrib2dARB (will be remapped) */ "idd\0" "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" "\0" - /* _mesa_function_pool[16144]: Color4ub (offset 35) */ + /* _mesa_function_pool[16216]: Color4ub (offset 35) */ "iiii\0" "glColor4ub\0" "\0" - /* _mesa_function_pool[16161]: GetInteger64v (will be remapped) */ + /* _mesa_function_pool[16233]: GetInteger64v (will be remapped) */ "ip\0" "glGetInteger64v\0" "\0" - /* _mesa_function_pool[16181]: TextureColorMaskSGIS (dynamic) */ + /* _mesa_function_pool[16253]: TextureColorMaskSGIS (dynamic) */ "iiii\0" "glTextureColorMaskSGIS\0" "\0" - /* _mesa_function_pool[16210]: RasterPos2s (offset 68) */ + /* _mesa_function_pool[16282]: RasterPos2s (offset 68) */ "ii\0" "glRasterPos2s\0" "\0" - /* _mesa_function_pool[16228]: GetColorTable (offset 343) */ + /* _mesa_function_pool[16300]: GetColorTable (offset 343) */ "iiip\0" "glGetColorTable\0" "glGetColorTableSGI\0" "glGetColorTableEXT\0" "\0" - /* _mesa_function_pool[16288]: SelectBuffer (offset 195) */ + /* _mesa_function_pool[16360]: SelectBuffer (offset 195) */ "ip\0" "glSelectBuffer\0" "\0" - /* _mesa_function_pool[16307]: Indexiv (offset 49) */ + /* _mesa_function_pool[16379]: Indexiv (offset 49) */ "p\0" "glIndexiv\0" "\0" - /* _mesa_function_pool[16320]: TexCoord3i (offset 114) */ + /* _mesa_function_pool[16392]: TexCoord3i (offset 114) */ "iii\0" "glTexCoord3i\0" "\0" - /* _mesa_function_pool[16338]: CopyColorTable (offset 342) */ + /* _mesa_function_pool[16410]: CopyColorTable (offset 342) */ "iiiii\0" "glCopyColorTable\0" "glCopyColorTableSGI\0" "\0" - /* _mesa_function_pool[16382]: GetHistogramParameterfv (offset 362) */ + /* _mesa_function_pool[16454]: GetHistogramParameterfv (offset 362) */ "iip\0" "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" "\0" - /* _mesa_function_pool[16442]: Frustum (offset 289) */ + /* _mesa_function_pool[16514]: Frustum (offset 289) */ "dddddd\0" "glFrustum\0" "\0" - /* _mesa_function_pool[16460]: GetString (offset 275) */ + /* _mesa_function_pool[16532]: GetString (offset 275) */ "i\0" "glGetString\0" "\0" - /* _mesa_function_pool[16475]: ColorPointervINTEL (dynamic) */ + /* _mesa_function_pool[16547]: ColorPointervINTEL (dynamic) */ "iip\0" "glColorPointervINTEL\0" "\0" - /* _mesa_function_pool[16501]: TexEnvf (offset 184) */ + /* _mesa_function_pool[16573]: TexEnvf (offset 184) */ "iif\0" "glTexEnvf\0" "\0" - /* _mesa_function_pool[16516]: VertexP2uiv (will be remapped) */ + /* _mesa_function_pool[16588]: VertexP2uiv (will be remapped) */ "ip\0" "glVertexP2uiv\0" "\0" - /* _mesa_function_pool[16534]: TexCoord3d (offset 110) */ + /* _mesa_function_pool[16606]: TexCoord3d (offset 110) */ "ddd\0" "glTexCoord3d\0" "\0" - /* _mesa_function_pool[16552]: AlphaFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[16624]: AlphaFragmentOp1ATI (will be remapped) */ "iiiiii\0" "glAlphaFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[16582]: TexCoord3f (offset 112) */ + /* _mesa_function_pool[16654]: TexCoord3f (offset 112) */ "fff\0" "glTexCoord3f\0" "\0" - /* _mesa_function_pool[16600]: MultiTexCoord3ivARB (offset 397) */ + /* _mesa_function_pool[16672]: MultiTexCoord3ivARB (offset 397) */ "ip\0" "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" "\0" - /* _mesa_function_pool[16645]: MultiTexCoord2sARB (offset 390) */ + /* _mesa_function_pool[16717]: MultiTexCoord2sARB (offset 390) */ "iii\0" "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" "\0" - /* _mesa_function_pool[16689]: VertexAttrib1dvARB (will be remapped) */ + /* _mesa_function_pool[16761]: VertexAttrib1dvARB (will be remapped) */ "ip\0" "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" "\0" - /* _mesa_function_pool[16732]: GetnHistogramARB (will be remapped) */ + /* _mesa_function_pool[16804]: GetnHistogramARB (will be remapped) */ "iiiiip\0" "glGetnHistogramARB\0" "\0" - /* _mesa_function_pool[16759]: DeleteTextures (offset 327) */ + /* _mesa_function_pool[16831]: DeleteTextures (offset 327) */ "ip\0" "glDeleteTextures\0" "glDeleteTexturesEXT\0" "\0" - /* _mesa_function_pool[16800]: TexCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[16872]: TexCoordPointerEXT (will be remapped) */ "iiiip\0" "glTexCoordPointerEXT\0" "\0" - /* _mesa_function_pool[16828]: TexSubImage4DSGIS (dynamic) */ + /* _mesa_function_pool[16900]: TexSubImage4DSGIS (dynamic) */ "iiiiiiiiiiiip\0" "glTexSubImage4DSGIS\0" "\0" - /* _mesa_function_pool[16863]: TexCoord3s (offset 116) */ + /* _mesa_function_pool[16935]: TexCoord3s (offset 116) */ "iii\0" "glTexCoord3s\0" "\0" - /* _mesa_function_pool[16881]: GetTexLevelParameteriv (offset 285) */ + /* _mesa_function_pool[16953]: GetTexLevelParameteriv (offset 285) */ "iiip\0" "glGetTexLevelParameteriv\0" "\0" - /* _mesa_function_pool[16912]: CombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[16984]: CombinerStageParameterfvNV (dynamic) */ "iip\0" "glCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[16946]: VertexAttribP4uiv (will be remapped) */ + /* _mesa_function_pool[17018]: VertexAttribP4uiv (will be remapped) */ "iiip\0" "glVertexAttribP4uiv\0" "\0" - /* _mesa_function_pool[16972]: StopInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[17044]: StopInstrumentsSGIX (dynamic) */ "i\0" "glStopInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[16997]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[17069]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ "fffffffffffffff\0" "glTexCoord4fColor4fNormal3fVertex4fSUN\0" "\0" - /* _mesa_function_pool[17053]: ClearAccum (offset 204) */ + /* _mesa_function_pool[17125]: ClearAccum (offset 204) */ "ffff\0" "glClearAccum\0" "\0" - /* _mesa_function_pool[17072]: DeformSGIX (dynamic) */ + /* _mesa_function_pool[17144]: DeformSGIX (dynamic) */ "i\0" "glDeformSGIX\0" "\0" - /* _mesa_function_pool[17088]: GetVertexAttribfvARB (will be remapped) */ + /* _mesa_function_pool[17160]: GetVertexAttribfvARB (will be remapped) */ "iip\0" "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" "\0" - /* _mesa_function_pool[17136]: SecondaryColor3ivEXT (will be remapped) */ + /* _mesa_function_pool[17208]: SecondaryColor3ivEXT (will be remapped) */ "p\0" "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" "\0" - /* _mesa_function_pool[17182]: TexCoord4iv (offset 123) */ + /* _mesa_function_pool[17254]: TexCoord4iv (offset 123) */ "p\0" "glTexCoord4iv\0" "\0" - /* _mesa_function_pool[17199]: VertexAttribI4uiEXT (will be remapped) */ + /* _mesa_function_pool[17271]: VertexAttribI4uiEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4uiEXT\0" "glVertexAttribI4ui\0" "\0" - /* _mesa_function_pool[17247]: GetFragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[17319]: GetFragmentMaterialfvSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[17280]: UniformMatrix4x2fv (will be remapped) */ + /* _mesa_function_pool[17352]: UniformMatrix4x2fv (will be remapped) */ "iiip\0" "glUniformMatrix4x2fv\0" "\0" - /* _mesa_function_pool[17307]: GetDetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[17379]: GetDetailTexFuncSGIS (dynamic) */ "ip\0" "glGetDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[17334]: GetCombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[17406]: GetCombinerStageParameterfvNV (dynamic) */ "iip\0" "glGetCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[17371]: SamplerParameterIiv (will be remapped) */ + /* _mesa_function_pool[17443]: SamplerParameterIiv (will be remapped) */ "iip\0" "glSamplerParameterIiv\0" "\0" - /* _mesa_function_pool[17398]: PolygonOffset (offset 319) */ + /* _mesa_function_pool[17470]: PolygonOffset (offset 319) */ "ff\0" "glPolygonOffset\0" "\0" - /* _mesa_function_pool[17418]: BindVertexArray (will be remapped) */ + /* _mesa_function_pool[17490]: BindVertexArray (will be remapped) */ "i\0" "glBindVertexArray\0" "\0" - /* _mesa_function_pool[17439]: Color4ubVertex2fvSUN (dynamic) */ + /* _mesa_function_pool[17511]: Color4ubVertex2fvSUN (dynamic) */ "pp\0" "glColor4ubVertex2fvSUN\0" "\0" - /* _mesa_function_pool[17466]: VertexP3uiv (will be remapped) */ + /* _mesa_function_pool[17538]: VertexP3uiv (will be remapped) */ "ip\0" "glVertexP3uiv\0" "\0" - /* _mesa_function_pool[17484]: Rectd (offset 86) */ + /* _mesa_function_pool[17556]: Rectd (offset 86) */ "dddd\0" "glRectd\0" "\0" - /* _mesa_function_pool[17498]: TexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[17570]: TexFilterFuncSGIS (dynamic) */ "iiip\0" "glTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[17524]: TextureBarrierNV (will be remapped) */ + /* _mesa_function_pool[17596]: TextureBarrierNV (will be remapped) */ "\0" "glTextureBarrierNV\0" "\0" - /* _mesa_function_pool[17545]: SamplerParameterfv (will be remapped) */ + /* _mesa_function_pool[17617]: SamplerParameterfv (will be remapped) */ "iip\0" "glSamplerParameterfv\0" "\0" - /* _mesa_function_pool[17571]: VertexAttribI4ubvEXT (will be remapped) */ + /* _mesa_function_pool[17643]: VertexAttribI4ubvEXT (will be remapped) */ "ip\0" "glVertexAttribI4ubvEXT\0" "glVertexAttribI4ubv\0" "\0" - /* _mesa_function_pool[17618]: GetAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[17690]: GetAttribLocationARB (will be remapped) */ "ip\0" "glGetAttribLocation\0" "glGetAttribLocationARB\0" "\0" - /* _mesa_function_pool[17665]: RasterPos3i (offset 74) */ + /* _mesa_function_pool[17737]: RasterPos3i (offset 74) */ "iii\0" "glRasterPos3i\0" "\0" - /* _mesa_function_pool[17684]: BlendEquationSeparateiARB (will be remapped) */ + /* _mesa_function_pool[17756]: BlendEquationSeparateiARB (will be remapped) */ "iii\0" "glBlendEquationSeparateiARB\0" "glBlendEquationSeparateIndexedAMD\0" "\0" - /* _mesa_function_pool[17751]: VertexAttrib4ubvARB (will be remapped) */ + /* _mesa_function_pool[17823]: VertexAttrib4ubvARB (will be remapped) */ "ip\0" "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" "\0" - /* _mesa_function_pool[17796]: DetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[17868]: DetailTexFuncSGIS (dynamic) */ "iip\0" "glDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[17821]: Normal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[17893]: Normal3fVertex3fSUN (dynamic) */ "ffffff\0" "glNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[17851]: CopyTexImage2D (offset 324) */ + /* _mesa_function_pool[17923]: CopyTexImage2D (offset 324) */ "iiiiiiii\0" "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" "\0" - /* _mesa_function_pool[17898]: GetBufferPointervARB (will be remapped) */ + /* _mesa_function_pool[17970]: GetBufferPointervARB (will be remapped) */ "iip\0" "glGetBufferPointerv\0" "glGetBufferPointervARB\0" "\0" - /* _mesa_function_pool[17946]: ProgramEnvParameter4fARB (will be remapped) */ + /* _mesa_function_pool[18018]: ProgramEnvParameter4fARB (will be remapped) */ "iiffff\0" "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" "\0" - /* _mesa_function_pool[18004]: Uniform3ivARB (will be remapped) */ + /* _mesa_function_pool[18076]: Uniform3ivARB (will be remapped) */ "iip\0" "glUniform3iv\0" "glUniform3ivARB\0" "\0" - /* _mesa_function_pool[18038]: Lightfv (offset 160) */ + /* _mesa_function_pool[18110]: Lightfv (offset 160) */ "iip\0" "glLightfv\0" "\0" - /* _mesa_function_pool[18053]: PrimitiveRestartIndexNV (will be remapped) */ + /* _mesa_function_pool[18125]: PrimitiveRestartIndexNV (will be remapped) */ "i\0" "glPrimitiveRestartIndexNV\0" "glPrimitiveRestartIndex\0" "\0" - /* _mesa_function_pool[18106]: ClearDepth (offset 208) */ + /* _mesa_function_pool[18178]: ClearDepth (offset 208) */ "d\0" "glClearDepth\0" "\0" - /* _mesa_function_pool[18122]: GetFenceivNV (will be remapped) */ + /* _mesa_function_pool[18194]: GetFenceivNV (will be remapped) */ "iip\0" "glGetFenceivNV\0" "\0" - /* _mesa_function_pool[18142]: WindowPos4dvMESA (will be remapped) */ + /* _mesa_function_pool[18214]: WindowPos4dvMESA (will be remapped) */ "p\0" "glWindowPos4dvMESA\0" "\0" - /* _mesa_function_pool[18164]: ColorSubTable (offset 346) */ + /* _mesa_function_pool[18236]: ColorSubTable (offset 346) */ "iiiiip\0" "glColorSubTable\0" "glColorSubTableEXT\0" "\0" - /* _mesa_function_pool[18207]: Color4fv (offset 30) */ + /* _mesa_function_pool[18279]: Color4fv (offset 30) */ "p\0" "glColor4fv\0" "\0" - /* _mesa_function_pool[18221]: MultiTexCoord4ivARB (offset 405) */ + /* _mesa_function_pool[18293]: MultiTexCoord4ivARB (offset 405) */ "ip\0" "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" "\0" - /* _mesa_function_pool[18266]: GetnMinmaxARB (will be remapped) */ + /* _mesa_function_pool[18338]: GetnMinmaxARB (will be remapped) */ "iiiiip\0" "glGetnMinmaxARB\0" "\0" - /* _mesa_function_pool[18290]: ProgramLocalParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[18362]: ProgramLocalParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramLocalParameters4fvEXT\0" "\0" - /* _mesa_function_pool[18327]: ColorPointer (offset 308) */ + /* _mesa_function_pool[18399]: ColorPointer (offset 308) */ "iiip\0" "glColorPointer\0" "\0" - /* _mesa_function_pool[18348]: Rects (offset 92) */ + /* _mesa_function_pool[18420]: Rects (offset 92) */ "iiii\0" "glRects\0" "\0" - /* _mesa_function_pool[18362]: GetMapAttribParameterfvNV (dynamic) */ + /* _mesa_function_pool[18434]: GetMapAttribParameterfvNV (dynamic) */ "iiip\0" "glGetMapAttribParameterfvNV\0" "\0" - /* _mesa_function_pool[18396]: CreateShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[18468]: CreateShaderProgramEXT (will be remapped) */ "ip\0" "glCreateShaderProgramEXT\0" "\0" - /* _mesa_function_pool[18425]: ActiveProgramEXT (will be remapped) */ + /* _mesa_function_pool[18497]: ActiveProgramEXT (will be remapped) */ "i\0" "glActiveProgramEXT\0" "\0" - /* _mesa_function_pool[18447]: Lightiv (offset 162) */ + /* _mesa_function_pool[18519]: Lightiv (offset 162) */ "iip\0" "glLightiv\0" "\0" - /* _mesa_function_pool[18462]: VertexAttrib4sARB (will be remapped) */ + /* _mesa_function_pool[18534]: VertexAttrib4sARB (will be remapped) */ "iiiii\0" "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" "\0" - /* _mesa_function_pool[18506]: GetQueryObjectuivARB (will be remapped) */ + /* _mesa_function_pool[18578]: GetQueryObjectuivARB (will be remapped) */ "iip\0" "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" "\0" - /* _mesa_function_pool[18554]: GetTexParameteriv (offset 283) */ + /* _mesa_function_pool[18626]: GetTexParameteriv (offset 283) */ "iip\0" "glGetTexParameteriv\0" "\0" - /* _mesa_function_pool[18579]: MapParameterivNV (dynamic) */ + /* _mesa_function_pool[18651]: MapParameterivNV (dynamic) */ "iip\0" "glMapParameterivNV\0" "\0" - /* _mesa_function_pool[18603]: GenRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[18675]: GenRenderbuffersEXT (will be remapped) */ "ip\0" "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[18648]: ClearBufferfv (will be remapped) */ + /* _mesa_function_pool[18720]: ClearBufferfv (will be remapped) */ "iip\0" "glClearBufferfv\0" "\0" - /* _mesa_function_pool[18669]: VertexAttrib2dvARB (will be remapped) */ + /* _mesa_function_pool[18741]: VertexAttrib2dvARB (will be remapped) */ "ip\0" "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" "\0" - /* _mesa_function_pool[18712]: EdgeFlagPointerEXT (will be remapped) */ + /* _mesa_function_pool[18784]: EdgeFlagPointerEXT (will be remapped) */ "iip\0" "glEdgeFlagPointerEXT\0" "\0" - /* _mesa_function_pool[18738]: VertexAttribs2svNV (will be remapped) */ + /* _mesa_function_pool[18810]: VertexAttribs2svNV (will be remapped) */ "iip\0" "glVertexAttribs2svNV\0" "\0" - /* _mesa_function_pool[18764]: WeightbvARB (dynamic) */ + /* _mesa_function_pool[18836]: WeightbvARB (dynamic) */ "ip\0" "glWeightbvARB\0" "\0" - /* _mesa_function_pool[18782]: VertexAttrib2fvARB (will be remapped) */ + /* _mesa_function_pool[18854]: VertexAttrib2fvARB (will be remapped) */ "ip\0" "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" "\0" - /* _mesa_function_pool[18825]: GetBufferParameterivARB (will be remapped) */ + /* _mesa_function_pool[18897]: GetBufferParameterivARB (will be remapped) */ "iip\0" "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" "\0" - /* _mesa_function_pool[18879]: Rectdv (offset 87) */ + /* _mesa_function_pool[18951]: Rectdv (offset 87) */ "pp\0" "glRectdv\0" "\0" - /* _mesa_function_pool[18892]: ListParameteriSGIX (dynamic) */ + /* _mesa_function_pool[18964]: ListParameteriSGIX (dynamic) */ "iii\0" "glListParameteriSGIX\0" "\0" - /* _mesa_function_pool[18918]: BlendEquationiARB (will be remapped) */ + /* _mesa_function_pool[18990]: BlendEquationiARB (will be remapped) */ "ii\0" "glBlendEquationiARB\0" "glBlendEquationIndexedAMD\0" "\0" - /* _mesa_function_pool[18968]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[19040]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffff\0" "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[19027]: InstrumentsBufferSGIX (dynamic) */ + /* _mesa_function_pool[19099]: InstrumentsBufferSGIX (dynamic) */ "ip\0" "glInstrumentsBufferSGIX\0" "\0" - /* _mesa_function_pool[19055]: VertexAttrib4NivARB (will be remapped) */ + /* _mesa_function_pool[19127]: VertexAttrib4NivARB (will be remapped) */ "ip\0" "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" "\0" - /* _mesa_function_pool[19100]: DrawArraysInstancedARB (will be remapped) */ + /* _mesa_function_pool[19172]: DrawArraysInstancedARB (will be remapped) */ "iiii\0" "glDrawArraysInstancedARB\0" "glDrawArraysInstancedEXT\0" "glDrawArraysInstanced\0" "\0" - /* _mesa_function_pool[19178]: GetAttachedShaders (will be remapped) */ + /* _mesa_function_pool[19250]: GetAttachedShaders (will be remapped) */ "iipp\0" "glGetAttachedShaders\0" "\0" - /* _mesa_function_pool[19205]: GenVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[19277]: GenVertexArraysAPPLE (will be remapped) */ "ip\0" "glGenVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[19232]: ClearBufferfi (will be remapped) */ + /* _mesa_function_pool[19304]: ClearBufferfi (will be remapped) */ "iifi\0" "glClearBufferfi\0" "\0" - /* _mesa_function_pool[19254]: Materialiv (offset 172) */ + /* _mesa_function_pool[19326]: Materialiv (offset 172) */ "iip\0" "glMaterialiv\0" "\0" - /* _mesa_function_pool[19272]: PushClientAttrib (offset 335) */ + /* _mesa_function_pool[19344]: PushClientAttrib (offset 335) */ "i\0" "glPushClientAttrib\0" "\0" - /* _mesa_function_pool[19294]: SamplerParameteriv (will be remapped) */ + /* _mesa_function_pool[19366]: SamplerParameteriv (will be remapped) */ "iip\0" "glSamplerParameteriv\0" "\0" - /* _mesa_function_pool[19320]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[19392]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[19366]: WindowPos2iMESA (will be remapped) */ + /* _mesa_function_pool[19438]: WindowPos2iMESA (will be remapped) */ "ii\0" "glWindowPos2i\0" "glWindowPos2iARB\0" "glWindowPos2iMESA\0" "\0" - /* _mesa_function_pool[19419]: SampleMaskSGIS (will be remapped) */ + /* _mesa_function_pool[19491]: SampleMaskSGIS (will be remapped) */ "fi\0" "glSampleMaskSGIS\0" "glSampleMaskEXT\0" "\0" - /* _mesa_function_pool[19456]: SecondaryColor3fvEXT (will be remapped) */ + /* _mesa_function_pool[19528]: SecondaryColor3fvEXT (will be remapped) */ "p\0" "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" "\0" - /* _mesa_function_pool[19502]: PolygonMode (offset 174) */ + /* _mesa_function_pool[19574]: PolygonMode (offset 174) */ "ii\0" "glPolygonMode\0" "\0" - /* _mesa_function_pool[19520]: CompressedTexSubImage1DARB (will be remapped) */ + /* _mesa_function_pool[19592]: CompressedTexSubImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" "\0" - /* _mesa_function_pool[19584]: VertexAttribI1iEXT (will be remapped) */ + /* _mesa_function_pool[19656]: VertexAttribI1iEXT (will be remapped) */ "ii\0" "glVertexAttribI1iEXT\0" "glVertexAttribI1i\0" "\0" - /* _mesa_function_pool[19627]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[19699]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[19669]: GetVertexAttribivNV (will be remapped) */ + /* _mesa_function_pool[19741]: GetVertexAttribivNV (will be remapped) */ "iip\0" "glGetVertexAttribivNV\0" "\0" - /* _mesa_function_pool[19696]: GetProgramStringARB (will be remapped) */ + /* _mesa_function_pool[19768]: GetProgramStringARB (will be remapped) */ "iip\0" "glGetProgramStringARB\0" "\0" - /* _mesa_function_pool[19723]: GetnUniformdvARB (will be remapped) */ + /* _mesa_function_pool[19795]: GetnUniformdvARB (will be remapped) */ "iiip\0" "glGetnUniformdvARB\0" "\0" - /* _mesa_function_pool[19748]: DrawElementsInstancedBaseVertex (will be remapped) */ + /* _mesa_function_pool[19820]: DrawElementsInstancedBaseVertex (will be remapped) */ "iiipii\0" "glDrawElementsInstancedBaseVertex\0" "\0" - /* _mesa_function_pool[19790]: VertexAttribIPointerEXT (will be remapped) */ + /* _mesa_function_pool[19862]: VertexAttribIPointerEXT (will be remapped) */ "iiiip\0" "glVertexAttribIPointerEXT\0" "glVertexAttribIPointer\0" "\0" - /* _mesa_function_pool[19846]: TexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[19918]: TexBumpParameterfvATI (will be remapped) */ "ip\0" "glTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[19874]: Tangent3ivEXT (dynamic) */ + /* _mesa_function_pool[19946]: Tangent3ivEXT (dynamic) */ "p\0" "glTangent3ivEXT\0" "\0" - /* _mesa_function_pool[19893]: CompileShaderARB (will be remapped) */ + /* _mesa_function_pool[19965]: CompileShaderARB (will be remapped) */ "i\0" "glCompileShader\0" "glCompileShaderARB\0" "\0" - /* _mesa_function_pool[19931]: DeleteShader (will be remapped) */ + /* _mesa_function_pool[20003]: DeleteShader (will be remapped) */ "i\0" "glDeleteShader\0" "\0" - /* _mesa_function_pool[19949]: DisableClientState (offset 309) */ + /* _mesa_function_pool[20021]: DisableClientState (offset 309) */ "i\0" "glDisableClientState\0" "\0" - /* _mesa_function_pool[19973]: TexGeni (offset 192) */ + /* _mesa_function_pool[20045]: TexGeni (offset 192) */ "iii\0" "glTexGeni\0" "\0" - /* _mesa_function_pool[19988]: TexGenf (offset 190) */ + /* _mesa_function_pool[20060]: TexGenf (offset 190) */ "iif\0" "glTexGenf\0" "\0" - /* _mesa_function_pool[20003]: Uniform3fARB (will be remapped) */ + /* _mesa_function_pool[20075]: Uniform3fARB (will be remapped) */ "ifff\0" "glUniform3f\0" "glUniform3fARB\0" "\0" - /* _mesa_function_pool[20036]: TexGend (offset 188) */ + /* _mesa_function_pool[20108]: TexGend (offset 188) */ "iid\0" "glTexGend\0" "\0" - /* _mesa_function_pool[20051]: ListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[20123]: ListParameterfvSGIX (dynamic) */ "iip\0" "glListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[20078]: GetPolygonStipple (offset 274) */ + /* _mesa_function_pool[20150]: GetPolygonStipple (offset 274) */ "p\0" "glGetPolygonStipple\0" "\0" - /* _mesa_function_pool[20101]: ColorP3ui (will be remapped) */ + /* _mesa_function_pool[20173]: ColorP3ui (will be remapped) */ "ii\0" "glColorP3ui\0" "\0" - /* _mesa_function_pool[20117]: Tangent3dvEXT (dynamic) */ + /* _mesa_function_pool[20189]: Tangent3dvEXT (dynamic) */ "p\0" "glTangent3dvEXT\0" "\0" - /* _mesa_function_pool[20136]: BindBufferOffsetEXT (will be remapped) */ + /* _mesa_function_pool[20208]: BindBufferOffsetEXT (will be remapped) */ "iiii\0" "glBindBufferOffsetEXT\0" "\0" - /* _mesa_function_pool[20164]: WindowPos3sMESA (will be remapped) */ + /* _mesa_function_pool[20236]: WindowPos3sMESA (will be remapped) */ "iii\0" "glWindowPos3s\0" "glWindowPos3sARB\0" "glWindowPos3sMESA\0" "\0" - /* _mesa_function_pool[20218]: VertexAttrib2svNV (will be remapped) */ + /* _mesa_function_pool[20290]: VertexAttrib2svNV (will be remapped) */ "ip\0" "glVertexAttrib2svNV\0" "\0" - /* _mesa_function_pool[20242]: DisableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[20314]: DisableIndexedEXT (will be remapped) */ "ii\0" "glDisableIndexedEXT\0" "glDisablei\0" "\0" - /* _mesa_function_pool[20277]: NormalP3uiv (will be remapped) */ + /* _mesa_function_pool[20349]: NormalP3uiv (will be remapped) */ "ip\0" "glNormalP3uiv\0" "\0" - /* _mesa_function_pool[20295]: SecondaryColorP3uiv (will be remapped) */ + /* _mesa_function_pool[20367]: SecondaryColorP3uiv (will be remapped) */ "ip\0" "glSecondaryColorP3uiv\0" "\0" - /* _mesa_function_pool[20321]: BindBufferBaseEXT (will be remapped) */ + /* _mesa_function_pool[20393]: BindBufferBaseEXT (will be remapped) */ "iii\0" "glBindBufferBaseEXT\0" "glBindBufferBase\0" "\0" - /* _mesa_function_pool[20363]: TexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[20435]: TexCoord2fVertex3fvSUN (dynamic) */ "pp\0" "glTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[20392]: WindowPos4sMESA (will be remapped) */ + /* _mesa_function_pool[20464]: WindowPos4sMESA (will be remapped) */ "iiii\0" "glWindowPos4sMESA\0" "\0" - /* _mesa_function_pool[20416]: GetnPixelMapuivARB (will be remapped) */ + /* _mesa_function_pool[20488]: GetnPixelMapuivARB (will be remapped) */ "iip\0" "glGetnPixelMapuivARB\0" "\0" - /* _mesa_function_pool[20442]: VertexAttrib4NuivARB (will be remapped) */ + /* _mesa_function_pool[20514]: VertexAttrib4NuivARB (will be remapped) */ "ip\0" "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" "\0" - /* _mesa_function_pool[20489]: ClientActiveTextureARB (offset 375) */ + /* _mesa_function_pool[20561]: ClientActiveTextureARB (offset 375) */ "i\0" "glClientActiveTexture\0" "glClientActiveTextureARB\0" "\0" - /* _mesa_function_pool[20539]: GetSamplerParameterIuiv (will be remapped) */ + /* _mesa_function_pool[20611]: GetSamplerParameterIuiv (will be remapped) */ "iip\0" "glGetSamplerParameterIuiv\0" "\0" - /* _mesa_function_pool[20570]: ReplacementCodeusvSUN (dynamic) */ + /* _mesa_function_pool[20642]: ReplacementCodeusvSUN (dynamic) */ "p\0" "glReplacementCodeusvSUN\0" "\0" - /* _mesa_function_pool[20597]: Uniform4fARB (will be remapped) */ + /* _mesa_function_pool[20669]: Uniform4fARB (will be remapped) */ "iffff\0" "glUniform4f\0" "glUniform4fARB\0" "\0" - /* _mesa_function_pool[20631]: Color4sv (offset 34) */ + /* _mesa_function_pool[20703]: Color4sv (offset 34) */ "p\0" "glColor4sv\0" "\0" - /* _mesa_function_pool[20645]: FlushMappedBufferRange (will be remapped) */ + /* _mesa_function_pool[20717]: FlushMappedBufferRange (will be remapped) */ "iii\0" "glFlushMappedBufferRange\0" "\0" - /* _mesa_function_pool[20675]: IsProgramNV (will be remapped) */ + /* _mesa_function_pool[20747]: IsProgramNV (will be remapped) */ "i\0" "glIsProgramARB\0" "glIsProgramNV\0" "\0" - /* _mesa_function_pool[20707]: FlushMappedBufferRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[20779]: FlushMappedBufferRangeAPPLE (will be remapped) */ "iii\0" "glFlushMappedBufferRangeAPPLE\0" "\0" - /* _mesa_function_pool[20742]: PixelZoom (offset 246) */ + /* _mesa_function_pool[20814]: PixelZoom (offset 246) */ "ff\0" "glPixelZoom\0" "\0" - /* _mesa_function_pool[20758]: ReplacementCodePointerSUN (dynamic) */ + /* _mesa_function_pool[20830]: ReplacementCodePointerSUN (dynamic) */ "iip\0" "glReplacementCodePointerSUN\0" "\0" - /* _mesa_function_pool[20791]: ProgramEnvParameter4dARB (will be remapped) */ + /* _mesa_function_pool[20863]: ProgramEnvParameter4dARB (will be remapped) */ "iidddd\0" "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" "\0" - /* _mesa_function_pool[20849]: ColorTableParameterfv (offset 340) */ + /* _mesa_function_pool[20921]: ColorTableParameterfv (offset 340) */ "iip\0" "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" "\0" - /* _mesa_function_pool[20905]: FragmentLightModelfSGIX (dynamic) */ + /* _mesa_function_pool[20977]: FragmentLightModelfSGIX (dynamic) */ "if\0" "glFragmentLightModelfSGIX\0" "\0" - /* _mesa_function_pool[20935]: Binormal3bvEXT (dynamic) */ + /* _mesa_function_pool[21007]: Binormal3bvEXT (dynamic) */ "p\0" "glBinormal3bvEXT\0" "\0" - /* _mesa_function_pool[20955]: PixelMapuiv (offset 252) */ + /* _mesa_function_pool[21027]: PixelMapuiv (offset 252) */ "iip\0" "glPixelMapuiv\0" "\0" - /* _mesa_function_pool[20974]: Color3dv (offset 12) */ + /* _mesa_function_pool[21046]: Color3dv (offset 12) */ "p\0" "glColor3dv\0" "\0" - /* _mesa_function_pool[20988]: IsTexture (offset 330) */ + /* _mesa_function_pool[21060]: IsTexture (offset 330) */ "i\0" "glIsTexture\0" "glIsTextureEXT\0" "\0" - /* _mesa_function_pool[21018]: GenSamplers (will be remapped) */ + /* _mesa_function_pool[21090]: GenSamplers (will be remapped) */ "ip\0" "glGenSamplers\0" "\0" - /* _mesa_function_pool[21036]: VertexAttribP3uiv (will be remapped) */ + /* _mesa_function_pool[21108]: VertexAttribP3uiv (will be remapped) */ "iiip\0" "glVertexAttribP3uiv\0" "\0" - /* _mesa_function_pool[21062]: VertexWeightfvEXT (dynamic) */ + /* _mesa_function_pool[21134]: VertexWeightfvEXT (dynamic) */ "p\0" "glVertexWeightfvEXT\0" "\0" - /* _mesa_function_pool[21085]: VertexAttrib1dARB (will be remapped) */ + /* _mesa_function_pool[21157]: VertexAttrib1dARB (will be remapped) */ "id\0" "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" "\0" - /* _mesa_function_pool[21126]: ImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[21198]: ImageTransformParameterivHP (dynamic) */ "iip\0" "glImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[21161]: TexCoord4i (offset 122) */ + /* _mesa_function_pool[21233]: TexCoord4i (offset 122) */ "iiii\0" "glTexCoord4i\0" "\0" - /* _mesa_function_pool[21180]: DeleteQueriesARB (will be remapped) */ + /* _mesa_function_pool[21252]: DeleteQueriesARB (will be remapped) */ "ip\0" "glDeleteQueries\0" "glDeleteQueriesARB\0" "\0" - /* _mesa_function_pool[21219]: Color4ubVertex2fSUN (dynamic) */ + /* _mesa_function_pool[21291]: Color4ubVertex2fSUN (dynamic) */ "iiiiff\0" "glColor4ubVertex2fSUN\0" "\0" - /* _mesa_function_pool[21249]: FragmentColorMaterialSGIX (dynamic) */ + /* _mesa_function_pool[21321]: FragmentColorMaterialSGIX (dynamic) */ "ii\0" "glFragmentColorMaterialSGIX\0" "\0" - /* _mesa_function_pool[21281]: CurrentPaletteMatrixARB (dynamic) */ + /* _mesa_function_pool[21353]: CurrentPaletteMatrixARB (dynamic) */ "i\0" "glCurrentPaletteMatrixARB\0" "\0" - /* _mesa_function_pool[21310]: GetMapdv (offset 266) */ + /* _mesa_function_pool[21382]: GetMapdv (offset 266) */ "iip\0" "glGetMapdv\0" "\0" - /* _mesa_function_pool[21326]: ObjectPurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[21398]: ObjectPurgeableAPPLE (will be remapped) */ "iii\0" "glObjectPurgeableAPPLE\0" "\0" - /* _mesa_function_pool[21354]: GetStringi (will be remapped) */ + /* _mesa_function_pool[21426]: GetStringi (will be remapped) */ "ii\0" "glGetStringi\0" "\0" - /* _mesa_function_pool[21371]: SamplePatternSGIS (will be remapped) */ + /* _mesa_function_pool[21443]: SamplePatternSGIS (will be remapped) */ "i\0" "glSamplePatternSGIS\0" "glSamplePatternEXT\0" "\0" - /* _mesa_function_pool[21413]: PixelStoref (offset 249) */ + /* _mesa_function_pool[21485]: PixelStoref (offset 249) */ "if\0" "glPixelStoref\0" "\0" - /* _mesa_function_pool[21431]: IsQueryARB (will be remapped) */ + /* _mesa_function_pool[21503]: IsQueryARB (will be remapped) */ "i\0" "glIsQuery\0" "glIsQueryARB\0" "\0" - /* _mesa_function_pool[21457]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[21529]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ "iiiiifff\0" "glReplacementCodeuiColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[21506]: PixelStorei (offset 250) */ + /* _mesa_function_pool[21578]: PixelStorei (offset 250) */ "ii\0" "glPixelStorei\0" "\0" - /* _mesa_function_pool[21524]: VertexAttrib4usvARB (will be remapped) */ + /* _mesa_function_pool[21596]: VertexAttrib4usvARB (will be remapped) */ "ip\0" "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" "\0" - /* _mesa_function_pool[21569]: LinkProgramARB (will be remapped) */ + /* _mesa_function_pool[21641]: LinkProgramARB (will be remapped) */ "i\0" "glLinkProgram\0" "glLinkProgramARB\0" "\0" - /* _mesa_function_pool[21603]: VertexAttrib2fNV (will be remapped) */ + /* _mesa_function_pool[21675]: VertexAttrib2fNV (will be remapped) */ "iff\0" "glVertexAttrib2fNV\0" "\0" - /* _mesa_function_pool[21627]: ShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[21699]: ShaderSourceARB (will be remapped) */ "iipp\0" "glShaderSource\0" "glShaderSourceARB\0" "\0" - /* _mesa_function_pool[21666]: FragmentMaterialiSGIX (dynamic) */ + /* _mesa_function_pool[21738]: FragmentMaterialiSGIX (dynamic) */ "iii\0" "glFragmentMaterialiSGIX\0" "\0" - /* _mesa_function_pool[21695]: EvalCoord2dv (offset 233) */ + /* _mesa_function_pool[21767]: EvalCoord2dv (offset 233) */ "p\0" "glEvalCoord2dv\0" "\0" - /* _mesa_function_pool[21713]: VertexAttrib3svARB (will be remapped) */ + /* _mesa_function_pool[21785]: VertexAttrib3svARB (will be remapped) */ "ip\0" "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" "\0" - /* _mesa_function_pool[21756]: ColorMaterial (offset 151) */ + /* _mesa_function_pool[21828]: ColorMaterial (offset 151) */ "ii\0" "glColorMaterial\0" "\0" - /* _mesa_function_pool[21776]: CompressedTexSubImage3DARB (will be remapped) */ + /* _mesa_function_pool[21848]: CompressedTexSubImage3DARB (will be remapped) */ "iiiiiiiiiip\0" "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" "\0" - /* _mesa_function_pool[21844]: WindowPos2ivMESA (will be remapped) */ + /* _mesa_function_pool[21916]: WindowPos2ivMESA (will be remapped) */ "p\0" "glWindowPos2iv\0" "glWindowPos2ivARB\0" "glWindowPos2ivMESA\0" "\0" - /* _mesa_function_pool[21899]: IsFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[21971]: IsFramebufferEXT (will be remapped) */ "i\0" "glIsFramebuffer\0" "glIsFramebufferEXT\0" "\0" - /* _mesa_function_pool[21937]: Uniform4ivARB (will be remapped) */ + /* _mesa_function_pool[22009]: Uniform4ivARB (will be remapped) */ "iip\0" "glUniform4iv\0" "glUniform4ivARB\0" "\0" - /* _mesa_function_pool[21971]: GetVertexAttribdvARB (will be remapped) */ + /* _mesa_function_pool[22043]: GetVertexAttribdvARB (will be remapped) */ "iip\0" "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" "\0" - /* _mesa_function_pool[22019]: TexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[22091]: TexBumpParameterivATI (will be remapped) */ "ip\0" "glTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[22047]: GetSeparableFilter (offset 359) */ + /* _mesa_function_pool[22119]: GetSeparableFilter (offset 359) */ "iiippp\0" "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" "\0" - /* _mesa_function_pool[22100]: Binormal3dEXT (dynamic) */ + /* _mesa_function_pool[22172]: Binormal3dEXT (dynamic) */ "ddd\0" "glBinormal3dEXT\0" "\0" - /* _mesa_function_pool[22121]: SpriteParameteriSGIX (dynamic) */ + /* _mesa_function_pool[22193]: SpriteParameteriSGIX (dynamic) */ "ii\0" "glSpriteParameteriSGIX\0" "\0" - /* _mesa_function_pool[22148]: RequestResidentProgramsNV (will be remapped) */ + /* _mesa_function_pool[22220]: RequestResidentProgramsNV (will be remapped) */ "ip\0" "glRequestResidentProgramsNV\0" "\0" - /* _mesa_function_pool[22180]: TagSampleBufferSGIX (dynamic) */ + /* _mesa_function_pool[22252]: TagSampleBufferSGIX (dynamic) */ "\0" "glTagSampleBufferSGIX\0" "\0" - /* _mesa_function_pool[22204]: TransformFeedbackVaryingsEXT (will be remapped) */ + /* _mesa_function_pool[22276]: TransformFeedbackVaryingsEXT (will be remapped) */ "iipi\0" "glTransformFeedbackVaryingsEXT\0" "glTransformFeedbackVaryings\0" "\0" - /* _mesa_function_pool[22269]: FeedbackBuffer (offset 194) */ + /* _mesa_function_pool[22341]: FeedbackBuffer (offset 194) */ "iip\0" "glFeedbackBuffer\0" "\0" - /* _mesa_function_pool[22291]: RasterPos2iv (offset 67) */ + /* _mesa_function_pool[22363]: RasterPos2iv (offset 67) */ "p\0" "glRasterPos2iv\0" "\0" - /* _mesa_function_pool[22309]: TexImage1D (offset 182) */ + /* _mesa_function_pool[22381]: TexImage1D (offset 182) */ "iiiiiiip\0" "glTexImage1D\0" "\0" - /* _mesa_function_pool[22332]: ListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[22404]: ListParameterivSGIX (dynamic) */ "iip\0" "glListParameterivSGIX\0" "\0" - /* _mesa_function_pool[22359]: MultiDrawElementsEXT (will be remapped) */ + /* _mesa_function_pool[22431]: MultiDrawElementsEXT (will be remapped) */ "ipipi\0" "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" "\0" - /* _mesa_function_pool[22409]: Color3s (offset 17) */ + /* _mesa_function_pool[22481]: Color3s (offset 17) */ "iii\0" "glColor3s\0" "\0" - /* _mesa_function_pool[22424]: Uniform1ivARB (will be remapped) */ + /* _mesa_function_pool[22496]: Uniform1ivARB (will be remapped) */ "iip\0" "glUniform1iv\0" "glUniform1ivARB\0" "\0" - /* _mesa_function_pool[22458]: WindowPos2sMESA (will be remapped) */ + /* _mesa_function_pool[22530]: WindowPos2sMESA (will be remapped) */ "ii\0" "glWindowPos2s\0" "glWindowPos2sARB\0" "glWindowPos2sMESA\0" "\0" - /* _mesa_function_pool[22511]: WeightusvARB (dynamic) */ + /* _mesa_function_pool[22583]: WeightusvARB (dynamic) */ "ip\0" "glWeightusvARB\0" "\0" - /* _mesa_function_pool[22530]: ColorP4ui (will be remapped) */ + /* _mesa_function_pool[22602]: ColorP4ui (will be remapped) */ "ii\0" "glColorP4ui\0" "\0" - /* _mesa_function_pool[22546]: TexCoordPointer (offset 320) */ + /* _mesa_function_pool[22618]: TexCoordPointer (offset 320) */ "iiip\0" "glTexCoordPointer\0" "\0" - /* _mesa_function_pool[22570]: FogCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[22642]: FogCoordPointerEXT (will be remapped) */ "iip\0" "glFogCoordPointer\0" "glFogCoordPointerEXT\0" "\0" - /* _mesa_function_pool[22614]: GetnSeparableFilterARB (will be remapped) */ + /* _mesa_function_pool[22686]: GetnSeparableFilterARB (will be remapped) */ "iiiipipp\0" "glGetnSeparableFilterARB\0" "\0" - /* _mesa_function_pool[22649]: IndexMaterialEXT (dynamic) */ + /* _mesa_function_pool[22721]: IndexMaterialEXT (dynamic) */ "ii\0" "glIndexMaterialEXT\0" "\0" - /* _mesa_function_pool[22672]: Color3i (offset 15) */ + /* _mesa_function_pool[22744]: Color3i (offset 15) */ "iii\0" "glColor3i\0" "\0" - /* _mesa_function_pool[22687]: FrontFace (offset 157) */ + /* _mesa_function_pool[22759]: FrontFace (offset 157) */ "i\0" "glFrontFace\0" "\0" - /* _mesa_function_pool[22702]: EvalCoord2d (offset 232) */ + /* _mesa_function_pool[22774]: EvalCoord2d (offset 232) */ "dd\0" "glEvalCoord2d\0" "\0" - /* _mesa_function_pool[22720]: SecondaryColor3ubvEXT (will be remapped) */ + /* _mesa_function_pool[22792]: SecondaryColor3ubvEXT (will be remapped) */ "p\0" "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" "\0" - /* _mesa_function_pool[22768]: EvalCoord2f (offset 234) */ + /* _mesa_function_pool[22840]: EvalCoord2f (offset 234) */ "ff\0" "glEvalCoord2f\0" "\0" - /* _mesa_function_pool[22786]: VertexAttrib4dvARB (will be remapped) */ + /* _mesa_function_pool[22858]: VertexAttrib4dvARB (will be remapped) */ "ip\0" "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" "\0" - /* _mesa_function_pool[22829]: BindAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[22901]: BindAttribLocationARB (will be remapped) */ "iip\0" "glBindAttribLocation\0" "glBindAttribLocationARB\0" "\0" - /* _mesa_function_pool[22879]: Color3b (offset 9) */ + /* _mesa_function_pool[22951]: Color3b (offset 9) */ "iii\0" "glColor3b\0" "\0" - /* _mesa_function_pool[22894]: MultiTexCoord2dARB (offset 384) */ + /* _mesa_function_pool[22966]: MultiTexCoord2dARB (offset 384) */ "idd\0" "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" "\0" - /* _mesa_function_pool[22938]: ExecuteProgramNV (will be remapped) */ + /* _mesa_function_pool[23010]: ExecuteProgramNV (will be remapped) */ "iip\0" "glExecuteProgramNV\0" "\0" - /* _mesa_function_pool[22962]: Color3f (offset 13) */ + /* _mesa_function_pool[23034]: Color3f (offset 13) */ "fff\0" "glColor3f\0" "\0" - /* _mesa_function_pool[22977]: LightEnviSGIX (dynamic) */ + /* _mesa_function_pool[23049]: LightEnviSGIX (dynamic) */ "ii\0" "glLightEnviSGIX\0" "\0" - /* _mesa_function_pool[22997]: Color3d (offset 11) */ + /* _mesa_function_pool[23069]: Color3d (offset 11) */ "ddd\0" "glColor3d\0" "\0" - /* _mesa_function_pool[23012]: Normal3dv (offset 55) */ + /* _mesa_function_pool[23084]: Normal3dv (offset 55) */ "p\0" "glNormal3dv\0" "\0" - /* _mesa_function_pool[23027]: Lightf (offset 159) */ + /* _mesa_function_pool[23099]: Lightf (offset 159) */ "iif\0" "glLightf\0" "\0" - /* _mesa_function_pool[23041]: ReplacementCodeuiSUN (dynamic) */ + /* _mesa_function_pool[23113]: ReplacementCodeuiSUN (dynamic) */ "i\0" "glReplacementCodeuiSUN\0" "\0" - /* _mesa_function_pool[23067]: MatrixMode (offset 293) */ + /* _mesa_function_pool[23139]: MatrixMode (offset 293) */ "i\0" "glMatrixMode\0" "\0" - /* _mesa_function_pool[23083]: GetPixelMapusv (offset 273) */ + /* _mesa_function_pool[23155]: GetPixelMapusv (offset 273) */ "ip\0" "glGetPixelMapusv\0" "\0" - /* _mesa_function_pool[23104]: Lighti (offset 161) */ + /* _mesa_function_pool[23176]: Lighti (offset 161) */ "iii\0" "glLighti\0" "\0" - /* _mesa_function_pool[23118]: VertexAttribPointerNV (will be remapped) */ + /* _mesa_function_pool[23190]: VertexAttribPointerNV (will be remapped) */ "iiiip\0" "glVertexAttribPointerNV\0" "\0" - /* _mesa_function_pool[23149]: ClearDepthf (will be remapped) */ + /* _mesa_function_pool[23221]: ClearDepthf (will be remapped) */ "f\0" "glClearDepthf\0" "\0" - /* _mesa_function_pool[23166]: GetBooleanIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[23238]: GetBooleanIndexedvEXT (will be remapped) */ "iip\0" "glGetBooleanIndexedvEXT\0" "glGetBooleani_v\0" "\0" - /* _mesa_function_pool[23211]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ + /* _mesa_function_pool[23283]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ "iiip\0" "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" "\0" - /* _mesa_function_pool[23296]: PixelTransformParameterfEXT (dynamic) */ + /* _mesa_function_pool[23368]: PixelTransformParameterfEXT (dynamic) */ "iif\0" "glPixelTransformParameterfEXT\0" "\0" - /* _mesa_function_pool[23331]: MultiTexCoord4dvARB (offset 401) */ + /* _mesa_function_pool[23403]: MultiTexCoord4dvARB (offset 401) */ "ip\0" "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" "\0" - /* _mesa_function_pool[23376]: PixelTransformParameteriEXT (dynamic) */ + /* _mesa_function_pool[23448]: PixelTransformParameteriEXT (dynamic) */ "iii\0" "glPixelTransformParameteriEXT\0" "\0" - /* _mesa_function_pool[23411]: GetDoublev (offset 260) */ + /* _mesa_function_pool[23483]: GetDoublev (offset 260) */ "ip\0" "glGetDoublev\0" "\0" - /* _mesa_function_pool[23428]: MultiTexCoordP4ui (will be remapped) */ + /* _mesa_function_pool[23500]: MultiTexCoordP4ui (will be remapped) */ "iii\0" "glMultiTexCoordP4ui\0" "\0" - /* _mesa_function_pool[23453]: MultMatrixd (offset 295) */ + /* _mesa_function_pool[23525]: MultMatrixd (offset 295) */ "p\0" "glMultMatrixd\0" "\0" - /* _mesa_function_pool[23470]: MultMatrixf (offset 294) */ + /* _mesa_function_pool[23542]: MultMatrixf (offset 294) */ "p\0" "glMultMatrixf\0" "\0" - /* _mesa_function_pool[23487]: VertexAttribI4bvEXT (will be remapped) */ + /* _mesa_function_pool[23559]: VertexAttribI4bvEXT (will be remapped) */ "ip\0" "glVertexAttribI4bvEXT\0" "glVertexAttribI4bv\0" "\0" - /* _mesa_function_pool[23532]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[23604]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ "ffiiiifff\0" "glTexCoord2fColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[23575]: Uniform1iARB (will be remapped) */ + /* _mesa_function_pool[23647]: Uniform1iARB (will be remapped) */ "ii\0" "glUniform1i\0" "glUniform1iARB\0" "\0" - /* _mesa_function_pool[23606]: GetnMapfvARB (will be remapped) */ + /* _mesa_function_pool[23678]: GetnMapfvARB (will be remapped) */ "iiip\0" "glGetnMapfvARB\0" "\0" - /* _mesa_function_pool[23627]: VertexAttribPointerARB (will be remapped) */ + /* _mesa_function_pool[23699]: VertexAttribPointerARB (will be remapped) */ "iiiiip\0" "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" "\0" - /* _mesa_function_pool[23682]: VertexAttrib3sNV (will be remapped) */ + /* _mesa_function_pool[23754]: VertexAttrib3sNV (will be remapped) */ "iiii\0" "glVertexAttrib3sNV\0" "\0" - /* _mesa_function_pool[23707]: SharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[23779]: SharpenTexFuncSGIS (dynamic) */ "iip\0" "glSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[23733]: MultiTexCoord4fvARB (offset 403) */ + /* _mesa_function_pool[23805]: MultiTexCoord4fvARB (offset 403) */ "ip\0" "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" "\0" - /* _mesa_function_pool[23778]: Uniform2uiEXT (will be remapped) */ + /* _mesa_function_pool[23850]: Uniform2uiEXT (will be remapped) */ "iii\0" "glUniform2uiEXT\0" "glUniform2ui\0" "\0" - /* _mesa_function_pool[23812]: TexCoordP3uiv (will be remapped) */ + /* _mesa_function_pool[23884]: TexCoordP3uiv (will be remapped) */ "ip\0" "glTexCoordP3uiv\0" "\0" - /* _mesa_function_pool[23832]: UniformMatrix2x3fv (will be remapped) */ + /* _mesa_function_pool[23904]: UniformMatrix2x3fv (will be remapped) */ "iiip\0" "glUniformMatrix2x3fv\0" "\0" - /* _mesa_function_pool[23859]: SamplerParameteri (will be remapped) */ + /* _mesa_function_pool[23931]: SamplerParameteri (will be remapped) */ "iii\0" "glSamplerParameteri\0" "\0" - /* _mesa_function_pool[23884]: SamplerParameterf (will be remapped) */ + /* _mesa_function_pool[23956]: SamplerParameterf (will be remapped) */ "iif\0" "glSamplerParameterf\0" "\0" - /* _mesa_function_pool[23909]: CombinerParameteriNV (will be remapped) */ + /* _mesa_function_pool[23981]: CombinerParameteriNV (will be remapped) */ "ii\0" "glCombinerParameteriNV\0" "\0" - /* _mesa_function_pool[23936]: DeleteAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[24008]: DeleteAsyncMarkersSGIX (dynamic) */ "ii\0" "glDeleteAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[23965]: ReplacementCodeusSUN (dynamic) */ + /* _mesa_function_pool[24037]: ReplacementCodeusSUN (dynamic) */ "i\0" "glReplacementCodeusSUN\0" "\0" - /* _mesa_function_pool[23991]: IsAsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[24063]: IsAsyncMarkerSGIX (dynamic) */ "i\0" "glIsAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[24014]: FrameZoomSGIX (dynamic) */ + /* _mesa_function_pool[24086]: FrameZoomSGIX (dynamic) */ "i\0" "glFrameZoomSGIX\0" "\0" - /* _mesa_function_pool[24033]: Normal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[24105]: Normal3fVertex3fvSUN (dynamic) */ "pp\0" "glNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[24060]: GetnUniformuivARB (will be remapped) */ + /* _mesa_function_pool[24132]: GetnUniformuivARB (will be remapped) */ "iiip\0" "glGetnUniformuivARB\0" "\0" - /* _mesa_function_pool[24086]: RasterPos4sv (offset 85) */ + /* _mesa_function_pool[24158]: RasterPos4sv (offset 85) */ "p\0" "glRasterPos4sv\0" "\0" - /* _mesa_function_pool[24104]: VertexAttrib4NsvARB (will be remapped) */ + /* _mesa_function_pool[24176]: VertexAttrib4NsvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" "\0" - /* _mesa_function_pool[24149]: VertexAttrib3fvARB (will be remapped) */ + /* _mesa_function_pool[24221]: VertexAttrib3fvARB (will be remapped) */ "ip\0" "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" "\0" - /* _mesa_function_pool[24192]: ClearColor (offset 206) */ + /* _mesa_function_pool[24264]: ClearColor (offset 206) */ "ffff\0" "glClearColor\0" "\0" - /* _mesa_function_pool[24211]: GetSynciv (will be remapped) */ + /* _mesa_function_pool[24283]: GetSynciv (will be remapped) */ "iiipp\0" "glGetSynciv\0" "\0" - /* _mesa_function_pool[24230]: ClearColorIiEXT (will be remapped) */ + /* _mesa_function_pool[24302]: ClearColorIiEXT (will be remapped) */ "iiii\0" "glClearColorIiEXT\0" "\0" - /* _mesa_function_pool[24254]: DeleteFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[24326]: DeleteFramebuffersEXT (will be remapped) */ "ip\0" "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" "\0" - /* _mesa_function_pool[24303]: GlobalAlphaFactorsSUN (dynamic) */ + /* _mesa_function_pool[24375]: GlobalAlphaFactorsSUN (dynamic) */ "i\0" "glGlobalAlphaFactorsSUN\0" "\0" - /* _mesa_function_pool[24330]: IsEnabledIndexedEXT (will be remapped) */ + /* _mesa_function_pool[24402]: IsEnabledIndexedEXT (will be remapped) */ "ii\0" "glIsEnabledIndexedEXT\0" "glIsEnabledi\0" "\0" - /* _mesa_function_pool[24369]: TexEnviv (offset 187) */ + /* _mesa_function_pool[24441]: TexEnviv (offset 187) */ "iip\0" "glTexEnviv\0" "\0" - /* _mesa_function_pool[24385]: TexSubImage3D (offset 372) */ + /* _mesa_function_pool[24457]: TexSubImage3D (offset 372) */ "iiiiiiiiiip\0" "glTexSubImage3D\0" "glTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[24433]: Tangent3fEXT (dynamic) */ + /* _mesa_function_pool[24505]: Tangent3fEXT (dynamic) */ "fff\0" "glTangent3fEXT\0" "\0" - /* _mesa_function_pool[24453]: SecondaryColor3uivEXT (will be remapped) */ + /* _mesa_function_pool[24525]: SecondaryColor3uivEXT (will be remapped) */ "p\0" "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" "\0" - /* _mesa_function_pool[24501]: MatrixIndexubvARB (dynamic) */ + /* _mesa_function_pool[24573]: MatrixIndexubvARB (dynamic) */ "ip\0" "glMatrixIndexubvARB\0" "\0" - /* _mesa_function_pool[24525]: Color4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[24597]: Color4fNormal3fVertex3fSUN (dynamic) */ "ffffffffff\0" "glColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[24566]: PixelTexGenParameterfSGIS (will be remapped) */ + /* _mesa_function_pool[24638]: PixelTexGenParameterfSGIS (will be remapped) */ "if\0" "glPixelTexGenParameterfSGIS\0" "\0" - /* _mesa_function_pool[24598]: CreateShader (will be remapped) */ + /* _mesa_function_pool[24670]: CreateShader (will be remapped) */ "i\0" "glCreateShader\0" "\0" - /* _mesa_function_pool[24616]: GetColorTableParameterfv (offset 344) */ + /* _mesa_function_pool[24688]: GetColorTableParameterfv (offset 344) */ "iip\0" "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" "glGetColorTableParameterfvEXT\0" "\0" - /* _mesa_function_pool[24708]: FragmentLightModelfvSGIX (dynamic) */ + /* _mesa_function_pool[24780]: FragmentLightModelfvSGIX (dynamic) */ "ip\0" "glFragmentLightModelfvSGIX\0" "\0" - /* _mesa_function_pool[24739]: Bitmap (offset 8) */ + /* _mesa_function_pool[24811]: Bitmap (offset 8) */ "iiffffp\0" "glBitmap\0" "\0" - /* _mesa_function_pool[24757]: MultiTexCoord3fARB (offset 394) */ + /* _mesa_function_pool[24829]: MultiTexCoord3fARB (offset 394) */ "ifff\0" "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" "\0" - /* _mesa_function_pool[24802]: GetTexLevelParameterfv (offset 284) */ + /* _mesa_function_pool[24874]: GetTexLevelParameterfv (offset 284) */ "iiip\0" "glGetTexLevelParameterfv\0" "\0" - /* _mesa_function_pool[24833]: GetPixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[24905]: GetPixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[24869]: GenFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[24941]: GenFramebuffersEXT (will be remapped) */ "ip\0" "glGenFramebuffers\0" "glGenFramebuffersEXT\0" "\0" - /* _mesa_function_pool[24912]: VertexAttribDivisor (will be remapped) */ + /* _mesa_function_pool[24984]: VertexAttribDivisor (will be remapped) */ "ii\0" "glVertexAttribDivisor\0" "\0" - /* _mesa_function_pool[24938]: GetProgramParameterdvNV (will be remapped) */ + /* _mesa_function_pool[25010]: GetProgramParameterdvNV (will be remapped) */ "iiip\0" "glGetProgramParameterdvNV\0" "\0" - /* _mesa_function_pool[24970]: Vertex2sv (offset 133) */ + /* _mesa_function_pool[25042]: Vertex2sv (offset 133) */ "p\0" "glVertex2sv\0" "\0" - /* _mesa_function_pool[24985]: GetIntegerv (offset 263) */ + /* _mesa_function_pool[25057]: GetIntegerv (offset 263) */ "ip\0" "glGetIntegerv\0" "\0" - /* _mesa_function_pool[25003]: IsVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[25075]: IsVertexArrayAPPLE (will be remapped) */ "i\0" "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[25043]: FragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[25115]: FragmentLightfvSGIX (dynamic) */ "iip\0" "glFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[25070]: GetnMapdvARB (will be remapped) */ + /* _mesa_function_pool[25142]: GetnMapdvARB (will be remapped) */ "iiip\0" "glGetnMapdvARB\0" "\0" - /* _mesa_function_pool[25091]: DetachShader (will be remapped) */ + /* _mesa_function_pool[25163]: DetachShader (will be remapped) */ "ii\0" "glDetachShader\0" "\0" - /* _mesa_function_pool[25110]: VertexAttrib4NubARB (will be remapped) */ + /* _mesa_function_pool[25182]: VertexAttrib4NubARB (will be remapped) */ "iiiii\0" "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" "\0" - /* _mesa_function_pool[25158]: GetProgramEnvParameterfvARB (will be remapped) */ + /* _mesa_function_pool[25230]: GetProgramEnvParameterfvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterfvARB\0" "\0" - /* _mesa_function_pool[25193]: GetTrackMatrixivNV (will be remapped) */ + /* _mesa_function_pool[25265]: GetTrackMatrixivNV (will be remapped) */ "iiip\0" "glGetTrackMatrixivNV\0" "\0" - /* _mesa_function_pool[25220]: VertexAttrib3svNV (will be remapped) */ + /* _mesa_function_pool[25292]: VertexAttrib3svNV (will be remapped) */ "ip\0" "glVertexAttrib3svNV\0" "\0" - /* _mesa_function_pool[25244]: Uniform4fvARB (will be remapped) */ + /* _mesa_function_pool[25316]: Uniform4fvARB (will be remapped) */ "iip\0" "glUniform4fv\0" "glUniform4fvARB\0" "\0" - /* _mesa_function_pool[25278]: MultTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[25350]: MultTransposeMatrixfARB (will be remapped) */ "p\0" "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[25330]: GetTexEnviv (offset 277) */ + /* _mesa_function_pool[25402]: GetTexEnviv (offset 277) */ "iip\0" "glGetTexEnviv\0" "\0" - /* _mesa_function_pool[25349]: ColorFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[25421]: ColorFragmentOp1ATI (will be remapped) */ "iiiiiii\0" "glColorFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[25380]: GetUniformfvARB (will be remapped) */ + /* _mesa_function_pool[25452]: GetUniformfvARB (will be remapped) */ "iip\0" "glGetUniformfv\0" "glGetUniformfvARB\0" "\0" - /* _mesa_function_pool[25418]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ + /* _mesa_function_pool[25490]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ "ip\0" "glEGLImageTargetRenderbufferStorageOES\0" "\0" - /* _mesa_function_pool[25461]: VertexAttribI2ivEXT (will be remapped) */ + /* _mesa_function_pool[25533]: VertexAttribI2ivEXT (will be remapped) */ "ip\0" "glVertexAttribI2ivEXT\0" "glVertexAttribI2iv\0" "\0" - /* _mesa_function_pool[25506]: PopClientAttrib (offset 334) */ + /* _mesa_function_pool[25578]: PopClientAttrib (offset 334) */ "\0" "glPopClientAttrib\0" "\0" - /* _mesa_function_pool[25526]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[25598]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffffff\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[25597]: DetachObjectARB (will be remapped) */ + /* _mesa_function_pool[25669]: DetachObjectARB (will be remapped) */ "ii\0" "glDetachObjectARB\0" "\0" - /* _mesa_function_pool[25619]: VertexBlendARB (dynamic) */ + /* _mesa_function_pool[25691]: VertexBlendARB (dynamic) */ "i\0" "glVertexBlendARB\0" "\0" - /* _mesa_function_pool[25639]: WindowPos3iMESA (will be remapped) */ + /* _mesa_function_pool[25711]: WindowPos3iMESA (will be remapped) */ "iii\0" "glWindowPos3i\0" "glWindowPos3iARB\0" "glWindowPos3iMESA\0" "\0" - /* _mesa_function_pool[25693]: SeparableFilter2D (offset 360) */ + /* _mesa_function_pool[25765]: SeparableFilter2D (offset 360) */ "iiiiiipp\0" "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" "\0" - /* _mesa_function_pool[25746]: ProgramParameteriARB (will be remapped) */ + /* _mesa_function_pool[25818]: ProgramParameteriARB (will be remapped) */ "iii\0" "glProgramParameteriARB\0" "\0" - /* _mesa_function_pool[25774]: Map1d (offset 220) */ + /* _mesa_function_pool[25846]: Map1d (offset 220) */ "iddiip\0" "glMap1d\0" "\0" - /* _mesa_function_pool[25790]: Map1f (offset 221) */ + /* _mesa_function_pool[25862]: Map1f (offset 221) */ "iffiip\0" "glMap1f\0" "\0" - /* _mesa_function_pool[25806]: CompressedTexImage2DARB (will be remapped) */ + /* _mesa_function_pool[25878]: CompressedTexImage2DARB (will be remapped) */ "iiiiiiip\0" "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" "\0" - /* _mesa_function_pool[25865]: ArrayElement (offset 306) */ + /* _mesa_function_pool[25937]: ArrayElement (offset 306) */ "i\0" "glArrayElement\0" "glArrayElementEXT\0" "\0" - /* _mesa_function_pool[25901]: TexImage2D (offset 183) */ + /* _mesa_function_pool[25973]: TexImage2D (offset 183) */ "iiiiiiiip\0" "glTexImage2D\0" "\0" - /* _mesa_function_pool[25925]: DepthBoundsEXT (will be remapped) */ + /* _mesa_function_pool[25997]: DepthBoundsEXT (will be remapped) */ "dd\0" "glDepthBoundsEXT\0" "\0" - /* _mesa_function_pool[25946]: ProgramParameters4fvNV (will be remapped) */ + /* _mesa_function_pool[26018]: ProgramParameters4fvNV (will be remapped) */ "iiip\0" "glProgramParameters4fvNV\0" "\0" - /* _mesa_function_pool[25977]: DeformationMap3fSGIX (dynamic) */ + /* _mesa_function_pool[26049]: DeformationMap3fSGIX (dynamic) */ "iffiiffiiffiip\0" "glDeformationMap3fSGIX\0" "\0" - /* _mesa_function_pool[26016]: GetProgramivNV (will be remapped) */ + /* _mesa_function_pool[26088]: GetProgramivNV (will be remapped) */ "iip\0" "glGetProgramivNV\0" "\0" - /* _mesa_function_pool[26038]: GetFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[26110]: GetFragDataLocationEXT (will be remapped) */ "ip\0" "glGetFragDataLocationEXT\0" "glGetFragDataLocation\0" "\0" - /* _mesa_function_pool[26089]: GetMinmaxParameteriv (offset 366) */ + /* _mesa_function_pool[26161]: GetMinmaxParameteriv (offset 366) */ "iip\0" "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" "\0" - /* _mesa_function_pool[26143]: PixelTransferf (offset 247) */ + /* _mesa_function_pool[26215]: PixelTransferf (offset 247) */ "if\0" "glPixelTransferf\0" "\0" - /* _mesa_function_pool[26164]: CopyTexImage1D (offset 323) */ + /* _mesa_function_pool[26236]: CopyTexImage1D (offset 323) */ "iiiiiii\0" "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" "\0" - /* _mesa_function_pool[26210]: PushMatrix (offset 298) */ + /* _mesa_function_pool[26282]: PushMatrix (offset 298) */ "\0" "glPushMatrix\0" "\0" - /* _mesa_function_pool[26225]: Fogiv (offset 156) */ + /* _mesa_function_pool[26297]: Fogiv (offset 156) */ "ip\0" "glFogiv\0" "\0" - /* _mesa_function_pool[26237]: TexCoord1dv (offset 95) */ + /* _mesa_function_pool[26309]: TexCoord1dv (offset 95) */ "p\0" "glTexCoord1dv\0" "\0" - /* _mesa_function_pool[26254]: AlphaFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[26326]: AlphaFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiii\0" "glAlphaFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[26290]: PixelTransferi (offset 248) */ + /* _mesa_function_pool[26362]: PixelTransferi (offset 248) */ "ii\0" "glPixelTransferi\0" "\0" - /* _mesa_function_pool[26311]: GetnColorTableARB (will be remapped) */ + /* _mesa_function_pool[26383]: GetnColorTableARB (will be remapped) */ "iiiip\0" "glGetnColorTableARB\0" "\0" - /* _mesa_function_pool[26338]: VertexAttrib3fvNV (will be remapped) */ + /* _mesa_function_pool[26410]: VertexAttrib3fvNV (will be remapped) */ "ip\0" "glVertexAttrib3fvNV\0" "\0" - /* _mesa_function_pool[26362]: Rotatef (offset 300) */ + /* _mesa_function_pool[26434]: Rotatef (offset 300) */ "ffff\0" "glRotatef\0" "\0" - /* _mesa_function_pool[26378]: GetFinalCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[26450]: GetFinalCombinerInputParameterivNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[26420]: Vertex3i (offset 138) */ + /* _mesa_function_pool[26492]: Vertex3i (offset 138) */ "iii\0" "glVertex3i\0" "\0" - /* _mesa_function_pool[26436]: SecondaryColorP3ui (will be remapped) */ + /* _mesa_function_pool[26508]: SecondaryColorP3ui (will be remapped) */ "ii\0" "glSecondaryColorP3ui\0" "\0" - /* _mesa_function_pool[26461]: Vertex3f (offset 136) */ + /* _mesa_function_pool[26533]: Vertex3f (offset 136) */ "fff\0" "glVertex3f\0" "\0" - /* _mesa_function_pool[26477]: Clear (offset 203) */ + /* _mesa_function_pool[26549]: Clear (offset 203) */ "i\0" "glClear\0" "\0" - /* _mesa_function_pool[26488]: Vertex3d (offset 134) */ + /* _mesa_function_pool[26560]: Vertex3d (offset 134) */ "ddd\0" "glVertex3d\0" "\0" - /* _mesa_function_pool[26504]: GetMapParameterivNV (dynamic) */ + /* _mesa_function_pool[26576]: GetMapParameterivNV (dynamic) */ "iip\0" "glGetMapParameterivNV\0" "\0" - /* _mesa_function_pool[26531]: Uniform4iARB (will be remapped) */ + /* _mesa_function_pool[26603]: Uniform4iARB (will be remapped) */ "iiiii\0" "glUniform4i\0" "glUniform4iARB\0" "\0" - /* _mesa_function_pool[26565]: ReadBuffer (offset 254) */ + /* _mesa_function_pool[26637]: ReadBuffer (offset 254) */ "i\0" "glReadBuffer\0" "\0" - /* _mesa_function_pool[26581]: ConvolutionParameteri (offset 352) */ + /* _mesa_function_pool[26653]: ConvolutionParameteri (offset 352) */ "iii\0" "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" "\0" - /* _mesa_function_pool[26637]: Ortho (offset 296) */ + /* _mesa_function_pool[26709]: Ortho (offset 296) */ "dddddd\0" "glOrtho\0" "\0" - /* _mesa_function_pool[26653]: Binormal3sEXT (dynamic) */ + /* _mesa_function_pool[26725]: Binormal3sEXT (dynamic) */ "iii\0" "glBinormal3sEXT\0" "\0" - /* _mesa_function_pool[26674]: ListBase (offset 6) */ + /* _mesa_function_pool[26746]: ListBase (offset 6) */ "i\0" "glListBase\0" "\0" - /* _mesa_function_pool[26688]: VertexAttribI3ivEXT (will be remapped) */ + /* _mesa_function_pool[26760]: VertexAttribI3ivEXT (will be remapped) */ "ip\0" "glVertexAttribI3ivEXT\0" "glVertexAttribI3iv\0" "\0" - /* _mesa_function_pool[26733]: MultiTexCoordP1ui (will be remapped) */ + /* _mesa_function_pool[26805]: MultiTexCoordP1ui (will be remapped) */ "iii\0" "glMultiTexCoordP1ui\0" "\0" - /* _mesa_function_pool[26758]: Vertex3s (offset 140) */ + /* _mesa_function_pool[26830]: Vertex3s (offset 140) */ "iii\0" "glVertex3s\0" "\0" - /* _mesa_function_pool[26774]: ConvolutionParameterf (offset 350) */ + /* _mesa_function_pool[26846]: ConvolutionParameterf (offset 350) */ "iif\0" "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" "\0" - /* _mesa_function_pool[26830]: GetColorTableParameteriv (offset 345) */ + /* _mesa_function_pool[26902]: GetColorTableParameteriv (offset 345) */ "iip\0" "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" "glGetColorTableParameterivEXT\0" "\0" - /* _mesa_function_pool[26922]: ProgramEnvParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[26994]: ProgramEnvParameter4dvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" "\0" - /* _mesa_function_pool[26979]: ShadeModel (offset 177) */ + /* _mesa_function_pool[27051]: ShadeModel (offset 177) */ "i\0" "glShadeModel\0" "\0" - /* _mesa_function_pool[26995]: VertexAttribs2fvNV (will be remapped) */ + /* _mesa_function_pool[27067]: VertexAttribs2fvNV (will be remapped) */ "iip\0" "glVertexAttribs2fvNV\0" "\0" - /* _mesa_function_pool[27021]: Rectiv (offset 91) */ + /* _mesa_function_pool[27093]: Rectiv (offset 91) */ "pp\0" "glRectiv\0" "\0" - /* _mesa_function_pool[27034]: UseProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[27106]: UseProgramObjectARB (will be remapped) */ "i\0" "glUseProgram\0" "glUseProgramObjectARB\0" "\0" - /* _mesa_function_pool[27072]: GetMapParameterfvNV (dynamic) */ + /* _mesa_function_pool[27144]: GetMapParameterfvNV (dynamic) */ "iip\0" "glGetMapParameterfvNV\0" "\0" - /* _mesa_function_pool[27099]: EndConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[27171]: EndConditionalRenderNV (will be remapped) */ "\0" "glEndConditionalRenderNV\0" "glEndConditionalRender\0" "\0" - /* _mesa_function_pool[27149]: PassTexCoordATI (will be remapped) */ + /* _mesa_function_pool[27221]: PassTexCoordATI (will be remapped) */ "iii\0" "glPassTexCoordATI\0" "\0" - /* _mesa_function_pool[27172]: DeleteProgram (will be remapped) */ + /* _mesa_function_pool[27244]: DeleteProgram (will be remapped) */ "i\0" "glDeleteProgram\0" "\0" - /* _mesa_function_pool[27191]: GetSamplerParameteriv (will be remapped) */ + /* _mesa_function_pool[27263]: GetSamplerParameteriv (will be remapped) */ "iip\0" "glGetSamplerParameteriv\0" "\0" - /* _mesa_function_pool[27220]: Tangent3dEXT (dynamic) */ + /* _mesa_function_pool[27292]: Tangent3dEXT (dynamic) */ "ddd\0" "glTangent3dEXT\0" "\0" - /* _mesa_function_pool[27240]: SecondaryColor3dvEXT (will be remapped) */ + /* _mesa_function_pool[27312]: SecondaryColor3dvEXT (will be remapped) */ "p\0" "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" "\0" - /* _mesa_function_pool[27286]: AlphaFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[27358]: AlphaFragmentOp2ATI (will be remapped) */ "iiiiiiiii\0" "glAlphaFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[27319]: Vertex2fv (offset 129) */ + /* _mesa_function_pool[27391]: Vertex2fv (offset 129) */ "p\0" "glVertex2fv\0" "\0" - /* _mesa_function_pool[27334]: MultiDrawArraysEXT (will be remapped) */ + /* _mesa_function_pool[27406]: MultiDrawArraysEXT (will be remapped) */ "ippi\0" "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" "\0" - /* _mesa_function_pool[27379]: BindRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[27451]: BindRenderbufferEXT (will be remapped) */ "ii\0" "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" "\0" - /* _mesa_function_pool[27424]: MultiTexCoord4dARB (offset 400) */ + /* _mesa_function_pool[27496]: MultiTexCoord4dARB (offset 400) */ "idddd\0" "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" "\0" - /* _mesa_function_pool[27470]: FramebufferTextureFaceARB (will be remapped) */ + /* _mesa_function_pool[27542]: FramebufferTextureFaceARB (will be remapped) */ "iiiii\0" "glFramebufferTextureFaceARB\0" "\0" - /* _mesa_function_pool[27505]: Vertex3sv (offset 141) */ + /* _mesa_function_pool[27577]: Vertex3sv (offset 141) */ "p\0" "glVertex3sv\0" "\0" - /* _mesa_function_pool[27520]: SecondaryColor3usEXT (will be remapped) */ + /* _mesa_function_pool[27592]: SecondaryColor3usEXT (will be remapped) */ "iii\0" "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" "\0" - /* _mesa_function_pool[27568]: ProgramLocalParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[27640]: ProgramLocalParameter4fvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4fvARB\0" "\0" - /* _mesa_function_pool[27603]: DeleteProgramsNV (will be remapped) */ + /* _mesa_function_pool[27675]: DeleteProgramsNV (will be remapped) */ "ip\0" "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" "\0" - /* _mesa_function_pool[27646]: EvalMesh1 (offset 236) */ + /* _mesa_function_pool[27718]: EvalMesh1 (offset 236) */ "iii\0" "glEvalMesh1\0" "\0" - /* _mesa_function_pool[27663]: PauseTransformFeedback (will be remapped) */ + /* _mesa_function_pool[27735]: PauseTransformFeedback (will be remapped) */ "\0" "glPauseTransformFeedback\0" "\0" - /* _mesa_function_pool[27690]: MultiTexCoord1sARB (offset 382) */ + /* _mesa_function_pool[27762]: MultiTexCoord1sARB (offset 382) */ "ii\0" "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" "\0" - /* _mesa_function_pool[27733]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[27805]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[27780]: GetVertexAttribPointervNV (will be remapped) */ + /* _mesa_function_pool[27852]: GetVertexAttribPointervNV (will be remapped) */ "iip\0" "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" "\0" - /* _mesa_function_pool[27868]: VertexAttribs1fvNV (will be remapped) */ + /* _mesa_function_pool[27940]: VertexAttribs1fvNV (will be remapped) */ "iip\0" "glVertexAttribs1fvNV\0" "\0" - /* _mesa_function_pool[27894]: MultiTexCoord1dvARB (offset 377) */ + /* _mesa_function_pool[27966]: MultiTexCoord1dvARB (offset 377) */ "ip\0" "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" "\0" - /* _mesa_function_pool[27939]: Uniform2iARB (will be remapped) */ + /* _mesa_function_pool[28011]: Uniform2iARB (will be remapped) */ "iii\0" "glUniform2i\0" "glUniform2iARB\0" "\0" - /* _mesa_function_pool[27971]: Vertex2iv (offset 131) */ + /* _mesa_function_pool[28043]: Vertex2iv (offset 131) */ "p\0" "glVertex2iv\0" "\0" - /* _mesa_function_pool[27986]: GetProgramStringNV (will be remapped) */ + /* _mesa_function_pool[28058]: GetProgramStringNV (will be remapped) */ "iip\0" "glGetProgramStringNV\0" "\0" - /* _mesa_function_pool[28012]: ColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[28084]: ColorPointerEXT (will be remapped) */ "iiiip\0" "glColorPointerEXT\0" "\0" - /* _mesa_function_pool[28037]: LineWidth (offset 168) */ + /* _mesa_function_pool[28109]: LineWidth (offset 168) */ "f\0" "glLineWidth\0" "\0" - /* _mesa_function_pool[28052]: MapBufferARB (will be remapped) */ + /* _mesa_function_pool[28124]: MapBufferARB (will be remapped) */ "ii\0" "glMapBuffer\0" "glMapBufferARB\0" "\0" - /* _mesa_function_pool[28083]: MultiDrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[28155]: MultiDrawElementsBaseVertex (will be remapped) */ "ipipip\0" "glMultiDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[28121]: TexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[28193]: TexParameterIuivEXT (will be remapped) */ "iip\0" "glTexParameterIuivEXT\0" "glTexParameterIuiv\0" "\0" - /* _mesa_function_pool[28167]: Binormal3svEXT (dynamic) */ + /* _mesa_function_pool[28239]: Binormal3svEXT (dynamic) */ "p\0" "glBinormal3svEXT\0" "\0" - /* _mesa_function_pool[28187]: ApplyTextureEXT (dynamic) */ + /* _mesa_function_pool[28259]: ApplyTextureEXT (dynamic) */ "i\0" "glApplyTextureEXT\0" "\0" - /* _mesa_function_pool[28208]: GetBufferParameteri64v (will be remapped) */ + /* _mesa_function_pool[28280]: GetBufferParameteri64v (will be remapped) */ "iip\0" "glGetBufferParameteri64v\0" "\0" - /* _mesa_function_pool[28238]: TexGendv (offset 189) */ + /* _mesa_function_pool[28310]: TexGendv (offset 189) */ "iip\0" "glTexGendv\0" "\0" - /* _mesa_function_pool[28254]: VertexAttribI3iEXT (will be remapped) */ + /* _mesa_function_pool[28326]: VertexAttribI3iEXT (will be remapped) */ "iiii\0" "glVertexAttribI3iEXT\0" "glVertexAttribI3i\0" "\0" - /* _mesa_function_pool[28299]: EnableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[28371]: EnableIndexedEXT (will be remapped) */ "ii\0" "glEnableIndexedEXT\0" "glEnablei\0" "\0" - /* _mesa_function_pool[28332]: TextureMaterialEXT (dynamic) */ + /* _mesa_function_pool[28404]: TextureMaterialEXT (dynamic) */ "ii\0" "glTextureMaterialEXT\0" "\0" - /* _mesa_function_pool[28357]: TextureLightEXT (dynamic) */ + /* _mesa_function_pool[28429]: TextureLightEXT (dynamic) */ "i\0" "glTextureLightEXT\0" "\0" - /* _mesa_function_pool[28378]: ResetMinmax (offset 370) */ + /* _mesa_function_pool[28450]: ResetMinmax (offset 370) */ "i\0" "glResetMinmax\0" "glResetMinmaxEXT\0" "\0" - /* _mesa_function_pool[28412]: SpriteParameterfSGIX (dynamic) */ + /* _mesa_function_pool[28484]: SpriteParameterfSGIX (dynamic) */ "if\0" "glSpriteParameterfSGIX\0" "\0" - /* _mesa_function_pool[28439]: EnableClientState (offset 313) */ + /* _mesa_function_pool[28511]: EnableClientState (offset 313) */ "i\0" "glEnableClientState\0" "\0" - /* _mesa_function_pool[28462]: VertexAttrib4sNV (will be remapped) */ + /* _mesa_function_pool[28534]: VertexAttrib4sNV (will be remapped) */ "iiiii\0" "glVertexAttrib4sNV\0" "\0" - /* _mesa_function_pool[28488]: GetConvolutionParameterfv (offset 357) */ + /* _mesa_function_pool[28560]: GetConvolutionParameterfv (offset 357) */ "iip\0" "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[28552]: VertexAttribs4dvNV (will be remapped) */ + /* _mesa_function_pool[28624]: VertexAttribs4dvNV (will be remapped) */ "iip\0" "glVertexAttribs4dvNV\0" "\0" - /* _mesa_function_pool[28578]: VertexAttrib4dARB (will be remapped) */ + /* _mesa_function_pool[28650]: VertexAttrib4dARB (will be remapped) */ "idddd\0" "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" "\0" - /* _mesa_function_pool[28622]: GetTexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[28694]: GetTexBumpParameterfvATI (will be remapped) */ "ip\0" "glGetTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[28653]: ProgramNamedParameter4dNV (will be remapped) */ + /* _mesa_function_pool[28725]: ProgramNamedParameter4dNV (will be remapped) */ "iipdddd\0" "glProgramNamedParameter4dNV\0" "\0" - /* _mesa_function_pool[28690]: GetMaterialfv (offset 269) */ + /* _mesa_function_pool[28762]: GetMaterialfv (offset 269) */ "iip\0" "glGetMaterialfv\0" "\0" - /* _mesa_function_pool[28711]: VertexWeightfEXT (dynamic) */ + /* _mesa_function_pool[28783]: VertexWeightfEXT (dynamic) */ "f\0" "glVertexWeightfEXT\0" "\0" - /* _mesa_function_pool[28733]: SetFragmentShaderConstantATI (will be remapped) */ + /* _mesa_function_pool[28805]: SetFragmentShaderConstantATI (will be remapped) */ "ip\0" "glSetFragmentShaderConstantATI\0" "\0" - /* _mesa_function_pool[28768]: Binormal3fEXT (dynamic) */ + /* _mesa_function_pool[28840]: Binormal3fEXT (dynamic) */ "fff\0" "glBinormal3fEXT\0" "\0" - /* _mesa_function_pool[28789]: CallList (offset 2) */ + /* _mesa_function_pool[28861]: CallList (offset 2) */ "i\0" "glCallList\0" "\0" - /* _mesa_function_pool[28803]: Materialfv (offset 170) */ + /* _mesa_function_pool[28875]: Materialfv (offset 170) */ "iip\0" "glMaterialfv\0" "\0" - /* _mesa_function_pool[28821]: TexCoord3fv (offset 113) */ + /* _mesa_function_pool[28893]: TexCoord3fv (offset 113) */ "p\0" "glTexCoord3fv\0" "\0" - /* _mesa_function_pool[28838]: FogCoordfvEXT (will be remapped) */ + /* _mesa_function_pool[28910]: FogCoordfvEXT (will be remapped) */ "p\0" "glFogCoordfv\0" "glFogCoordfvEXT\0" "\0" - /* _mesa_function_pool[28870]: MultiTexCoord1ivARB (offset 381) */ + /* _mesa_function_pool[28942]: MultiTexCoord1ivARB (offset 381) */ "ip\0" "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" "\0" - /* _mesa_function_pool[28915]: SecondaryColor3ubEXT (will be remapped) */ + /* _mesa_function_pool[28987]: SecondaryColor3ubEXT (will be remapped) */ "iii\0" "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" "\0" - /* _mesa_function_pool[28963]: MultiTexCoord2ivARB (offset 389) */ + /* _mesa_function_pool[29035]: MultiTexCoord2ivARB (offset 389) */ "ip\0" "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" "\0" - /* _mesa_function_pool[29008]: FogFuncSGIS (dynamic) */ + /* _mesa_function_pool[29080]: FogFuncSGIS (dynamic) */ "ip\0" "glFogFuncSGIS\0" "\0" - /* _mesa_function_pool[29026]: CopyTexSubImage2D (offset 326) */ + /* _mesa_function_pool[29098]: CopyTexSubImage2D (offset 326) */ "iiiiiiii\0" "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[29079]: GetObjectParameterivARB (will be remapped) */ + /* _mesa_function_pool[29151]: GetObjectParameterivARB (will be remapped) */ "iip\0" "glGetObjectParameterivARB\0" "\0" - /* _mesa_function_pool[29110]: Color3iv (offset 16) */ + /* _mesa_function_pool[29182]: Color3iv (offset 16) */ "p\0" "glColor3iv\0" "\0" - /* _mesa_function_pool[29124]: TexCoord4fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[29196]: TexCoord4fVertex4fSUN (dynamic) */ "ffffffff\0" "glTexCoord4fVertex4fSUN\0" "\0" - /* _mesa_function_pool[29158]: DrawElements (offset 311) */ + /* _mesa_function_pool[29230]: DrawElements (offset 311) */ "iiip\0" "glDrawElements\0" "\0" - /* _mesa_function_pool[29179]: BindVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[29251]: BindVertexArrayAPPLE (will be remapped) */ "i\0" "glBindVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[29205]: GetProgramLocalParameterdvARB (will be remapped) */ + /* _mesa_function_pool[29277]: GetProgramLocalParameterdvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterdvARB\0" "\0" - /* _mesa_function_pool[29242]: GetHistogramParameteriv (offset 363) */ + /* _mesa_function_pool[29314]: GetHistogramParameteriv (offset 363) */ "iip\0" "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" "\0" - /* _mesa_function_pool[29302]: MultiTexCoord1iARB (offset 380) */ + /* _mesa_function_pool[29374]: MultiTexCoord1iARB (offset 380) */ "ii\0" "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" "\0" - /* _mesa_function_pool[29345]: GetConvolutionFilter (offset 356) */ + /* _mesa_function_pool[29417]: GetConvolutionFilter (offset 356) */ "iiip\0" "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" "\0" - /* _mesa_function_pool[29400]: GetProgramivARB (will be remapped) */ + /* _mesa_function_pool[29472]: GetProgramivARB (will be remapped) */ "iip\0" "glGetProgramivARB\0" "\0" - /* _mesa_function_pool[29423]: TexBufferARB (will be remapped) */ + /* _mesa_function_pool[29495]: TexBufferARB (will be remapped) */ "iii\0" "glTexBufferARB\0" "\0" - /* _mesa_function_pool[29443]: BlendFuncSeparateEXT (will be remapped) */ + /* _mesa_function_pool[29515]: BlendFuncSeparateEXT (will be remapped) */ "iiii\0" "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" "glBlendFuncSeparateINGR\0" "\0" - /* _mesa_function_pool[29516]: MapBufferRange (will be remapped) */ + /* _mesa_function_pool[29588]: MapBufferRange (will be remapped) */ "iiii\0" "glMapBufferRange\0" "\0" - /* _mesa_function_pool[29539]: ProgramParameters4dvNV (will be remapped) */ + /* _mesa_function_pool[29611]: ProgramParameters4dvNV (will be remapped) */ "iiip\0" "glProgramParameters4dvNV\0" "\0" - /* _mesa_function_pool[29570]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[29642]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[29607]: EvalPoint2 (offset 239) */ + /* _mesa_function_pool[29679]: EvalPoint2 (offset 239) */ "ii\0" "glEvalPoint2\0" "\0" - /* _mesa_function_pool[29624]: Uniform1uivEXT (will be remapped) */ + /* _mesa_function_pool[29696]: Uniform1uivEXT (will be remapped) */ "iip\0" "glUniform1uivEXT\0" "glUniform1uiv\0" "\0" - /* _mesa_function_pool[29660]: EvalPoint1 (offset 237) */ + /* _mesa_function_pool[29732]: EvalPoint1 (offset 237) */ "i\0" "glEvalPoint1\0" "\0" - /* _mesa_function_pool[29676]: Binormal3dvEXT (dynamic) */ + /* _mesa_function_pool[29748]: Binormal3dvEXT (dynamic) */ "p\0" "glBinormal3dvEXT\0" "\0" - /* _mesa_function_pool[29696]: PopMatrix (offset 297) */ + /* _mesa_function_pool[29768]: PopMatrix (offset 297) */ "\0" "glPopMatrix\0" "\0" - /* _mesa_function_pool[29710]: FinishFenceNV (will be remapped) */ + /* _mesa_function_pool[29782]: FinishFenceNV (will be remapped) */ "i\0" "glFinishFenceNV\0" "\0" - /* _mesa_function_pool[29729]: GetFogFuncSGIS (dynamic) */ + /* _mesa_function_pool[29801]: GetFogFuncSGIS (dynamic) */ "p\0" "glGetFogFuncSGIS\0" "\0" - /* _mesa_function_pool[29749]: GetUniformLocationARB (will be remapped) */ + /* _mesa_function_pool[29821]: GetUniformLocationARB (will be remapped) */ "ip\0" "glGetUniformLocation\0" "glGetUniformLocationARB\0" "\0" - /* _mesa_function_pool[29798]: SecondaryColor3fEXT (will be remapped) */ + /* _mesa_function_pool[29870]: SecondaryColor3fEXT (will be remapped) */ "fff\0" "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" "\0" - /* _mesa_function_pool[29844]: GetTexGeniv (offset 280) */ + /* _mesa_function_pool[29916]: GetTexGeniv (offset 280) */ "iip\0" "glGetTexGeniv\0" "\0" - /* _mesa_function_pool[29863]: CombinerInputNV (will be remapped) */ + /* _mesa_function_pool[29935]: CombinerInputNV (will be remapped) */ "iiiiii\0" "glCombinerInputNV\0" "\0" - /* _mesa_function_pool[29889]: VertexAttrib3sARB (will be remapped) */ + /* _mesa_function_pool[29961]: VertexAttrib3sARB (will be remapped) */ "iiii\0" "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" "\0" - /* _mesa_function_pool[29932]: IsTransformFeedback (will be remapped) */ + /* _mesa_function_pool[30004]: IsTransformFeedback (will be remapped) */ "i\0" "glIsTransformFeedback\0" "\0" - /* _mesa_function_pool[29957]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[30029]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[30002]: Map2d (offset 222) */ + /* _mesa_function_pool[30074]: Map2d (offset 222) */ "iddiiddiip\0" "glMap2d\0" "\0" - /* _mesa_function_pool[30022]: Map2f (offset 223) */ + /* _mesa_function_pool[30094]: Map2f (offset 223) */ "iffiiffiip\0" "glMap2f\0" "\0" - /* _mesa_function_pool[30042]: ProgramStringARB (will be remapped) */ + /* _mesa_function_pool[30114]: ProgramStringARB (will be remapped) */ "iiip\0" "glProgramStringARB\0" "\0" - /* _mesa_function_pool[30067]: Vertex4s (offset 148) */ + /* _mesa_function_pool[30139]: Vertex4s (offset 148) */ "iiii\0" "glVertex4s\0" "\0" - /* _mesa_function_pool[30084]: TexCoord4fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[30156]: TexCoord4fVertex4fvSUN (dynamic) */ "pp\0" "glTexCoord4fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[30113]: FragmentLightModelivSGIX (dynamic) */ + /* _mesa_function_pool[30185]: TextureStorage3DEXT (will be remapped) */ + "iiiiiii\0" + "glTextureStorage3DEXT\0" + "\0" + /* _mesa_function_pool[30216]: FragmentLightModelivSGIX (dynamic) */ "ip\0" "glFragmentLightModelivSGIX\0" "\0" - /* _mesa_function_pool[30144]: VertexAttrib1fNV (will be remapped) */ + /* _mesa_function_pool[30247]: VertexAttrib1fNV (will be remapped) */ "if\0" "glVertexAttrib1fNV\0" "\0" - /* _mesa_function_pool[30167]: Vertex4f (offset 144) */ + /* _mesa_function_pool[30270]: Vertex4f (offset 144) */ "ffff\0" "glVertex4f\0" "\0" - /* _mesa_function_pool[30184]: EvalCoord1d (offset 228) */ + /* _mesa_function_pool[30287]: EvalCoord1d (offset 228) */ "d\0" "glEvalCoord1d\0" "\0" - /* _mesa_function_pool[30201]: Vertex4d (offset 142) */ + /* _mesa_function_pool[30304]: Vertex4d (offset 142) */ "dddd\0" "glVertex4d\0" "\0" - /* _mesa_function_pool[30218]: RasterPos4dv (offset 79) */ + /* _mesa_function_pool[30321]: RasterPos4dv (offset 79) */ "p\0" "glRasterPos4dv\0" "\0" - /* _mesa_function_pool[30236]: UseShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[30339]: UseShaderProgramEXT (will be remapped) */ "ii\0" "glUseShaderProgramEXT\0" "\0" - /* _mesa_function_pool[30262]: FragmentLightfSGIX (dynamic) */ + /* _mesa_function_pool[30365]: FragmentLightfSGIX (dynamic) */ "iif\0" "glFragmentLightfSGIX\0" "\0" - /* _mesa_function_pool[30288]: GetCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[30391]: TextureStorage2DEXT (will be remapped) */ + "iiiiii\0" + "glTextureStorage2DEXT\0" + "\0" + /* _mesa_function_pool[30421]: GetCompressedTexImageARB (will be remapped) */ "iip\0" "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[30344]: GetTexGenfv (offset 279) */ + /* _mesa_function_pool[30477]: GetTexGenfv (offset 279) */ "iip\0" "glGetTexGenfv\0" "\0" - /* _mesa_function_pool[30363]: Vertex4i (offset 146) */ + /* _mesa_function_pool[30496]: Vertex4i (offset 146) */ "iiii\0" "glVertex4i\0" "\0" - /* _mesa_function_pool[30380]: VertexWeightPointerEXT (dynamic) */ + /* _mesa_function_pool[30513]: VertexWeightPointerEXT (dynamic) */ "iiip\0" "glVertexWeightPointerEXT\0" "\0" - /* _mesa_function_pool[30411]: GetHistogram (offset 361) */ + /* _mesa_function_pool[30544]: GetHistogram (offset 361) */ "iiiip\0" "glGetHistogram\0" "glGetHistogramEXT\0" "\0" - /* _mesa_function_pool[30451]: ActiveStencilFaceEXT (will be remapped) */ + /* _mesa_function_pool[30584]: ActiveStencilFaceEXT (will be remapped) */ "i\0" "glActiveStencilFaceEXT\0" "\0" - /* _mesa_function_pool[30477]: StencilFuncSeparateATI (will be remapped) */ + /* _mesa_function_pool[30610]: TexStorage3D (will be remapped) */ + "iiiiii\0" + "glTexStorage3D\0" + "\0" + /* _mesa_function_pool[30633]: StencilFuncSeparateATI (will be remapped) */ "iiii\0" "glStencilFuncSeparateATI\0" "\0" - /* _mesa_function_pool[30508]: Materialf (offset 169) */ + /* _mesa_function_pool[30664]: Materialf (offset 169) */ "iif\0" "glMaterialf\0" "\0" - /* _mesa_function_pool[30525]: GetShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[30681]: GetShaderSourceARB (will be remapped) */ "iipp\0" "glGetShaderSource\0" "glGetShaderSourceARB\0" "\0" - /* _mesa_function_pool[30570]: IglooInterfaceSGIX (dynamic) */ + /* _mesa_function_pool[30726]: IglooInterfaceSGIX (dynamic) */ "ip\0" "glIglooInterfaceSGIX\0" "\0" - /* _mesa_function_pool[30595]: Materiali (offset 171) */ + /* _mesa_function_pool[30751]: Materiali (offset 171) */ "iii\0" "glMateriali\0" "\0" - /* _mesa_function_pool[30612]: VertexAttrib4dNV (will be remapped) */ + /* _mesa_function_pool[30768]: VertexAttrib4dNV (will be remapped) */ "idddd\0" "glVertexAttrib4dNV\0" "\0" - /* _mesa_function_pool[30638]: MultiModeDrawElementsIBM (will be remapped) */ + /* _mesa_function_pool[30794]: MultiModeDrawElementsIBM (will be remapped) */ "ppipii\0" "glMultiModeDrawElementsIBM\0" "\0" - /* _mesa_function_pool[30673]: Indexsv (offset 51) */ + /* _mesa_function_pool[30829]: Indexsv (offset 51) */ "p\0" "glIndexsv\0" "\0" - /* _mesa_function_pool[30686]: MultiTexCoord4svARB (offset 407) */ + /* _mesa_function_pool[30842]: MultiTexCoord4svARB (offset 407) */ "ip\0" "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" "\0" - /* _mesa_function_pool[30731]: LightModelfv (offset 164) */ + /* _mesa_function_pool[30887]: LightModelfv (offset 164) */ "ip\0" "glLightModelfv\0" "\0" - /* _mesa_function_pool[30750]: TexCoord2dv (offset 103) */ + /* _mesa_function_pool[30906]: TexCoord2dv (offset 103) */ "p\0" "glTexCoord2dv\0" "\0" - /* _mesa_function_pool[30767]: GenQueriesARB (will be remapped) */ + /* _mesa_function_pool[30923]: GenQueriesARB (will be remapped) */ "ip\0" "glGenQueries\0" "glGenQueriesARB\0" "\0" - /* _mesa_function_pool[30800]: EvalCoord1dv (offset 229) */ + /* _mesa_function_pool[30956]: EvalCoord1dv (offset 229) */ "p\0" "glEvalCoord1dv\0" "\0" - /* _mesa_function_pool[30818]: ReplacementCodeuiVertex3fSUN (dynamic) */ + /* _mesa_function_pool[30974]: ReplacementCodeuiVertex3fSUN (dynamic) */ "ifff\0" "glReplacementCodeuiVertex3fSUN\0" "\0" - /* _mesa_function_pool[30855]: Translated (offset 303) */ + /* _mesa_function_pool[31011]: Translated (offset 303) */ "ddd\0" "glTranslated\0" "\0" - /* _mesa_function_pool[30873]: Translatef (offset 304) */ + /* _mesa_function_pool[31029]: Translatef (offset 304) */ "fff\0" "glTranslatef\0" "\0" - /* _mesa_function_pool[30891]: Uniform3uiEXT (will be remapped) */ + /* _mesa_function_pool[31047]: Uniform3uiEXT (will be remapped) */ "iiii\0" "glUniform3uiEXT\0" "glUniform3ui\0" "\0" - /* _mesa_function_pool[30926]: StencilMask (offset 209) */ + /* _mesa_function_pool[31082]: StencilMask (offset 209) */ "i\0" "glStencilMask\0" "\0" - /* _mesa_function_pool[30943]: Tangent3iEXT (dynamic) */ + /* _mesa_function_pool[31099]: Tangent3iEXT (dynamic) */ "iii\0" "glTangent3iEXT\0" "\0" - /* _mesa_function_pool[30963]: ClampColorARB (will be remapped) */ + /* _mesa_function_pool[31119]: ClampColorARB (will be remapped) */ "ii\0" "glClampColorARB\0" "\0" - /* _mesa_function_pool[30983]: GetLightiv (offset 265) */ + /* _mesa_function_pool[31139]: GetLightiv (offset 265) */ "iip\0" "glGetLightiv\0" "\0" - /* _mesa_function_pool[31001]: GetSamplerParameterIiv (will be remapped) */ + /* _mesa_function_pool[31157]: GetSamplerParameterIiv (will be remapped) */ "iip\0" "glGetSamplerParameterIiv\0" "\0" - /* _mesa_function_pool[31031]: DrawMeshArraysSUN (dynamic) */ + /* _mesa_function_pool[31187]: DrawMeshArraysSUN (dynamic) */ "iiii\0" "glDrawMeshArraysSUN\0" "\0" - /* _mesa_function_pool[31057]: IsList (offset 287) */ + /* _mesa_function_pool[31213]: IsList (offset 287) */ "i\0" "glIsList\0" "\0" - /* _mesa_function_pool[31069]: IsSync (will be remapped) */ + /* _mesa_function_pool[31225]: IsSync (will be remapped) */ "i\0" "glIsSync\0" "\0" - /* _mesa_function_pool[31081]: RenderMode (offset 196) */ + /* _mesa_function_pool[31237]: RenderMode (offset 196) */ "i\0" "glRenderMode\0" "\0" - /* _mesa_function_pool[31097]: GetMapControlPointsNV (dynamic) */ + /* _mesa_function_pool[31253]: GetMapControlPointsNV (dynamic) */ "iiiiiip\0" "glGetMapControlPointsNV\0" "\0" - /* _mesa_function_pool[31130]: DrawBuffersARB (will be remapped) */ + /* _mesa_function_pool[31286]: DrawBuffersARB (will be remapped) */ "ip\0" "glDrawBuffers\0" "glDrawBuffersARB\0" "glDrawBuffersATI\0" "glDrawBuffersNV\0" "\0" - /* _mesa_function_pool[31198]: ClearBufferiv (will be remapped) */ + /* _mesa_function_pool[31354]: ClearBufferiv (will be remapped) */ "iip\0" "glClearBufferiv\0" "\0" - /* _mesa_function_pool[31219]: ProgramLocalParameter4fARB (will be remapped) */ + /* _mesa_function_pool[31375]: ProgramLocalParameter4fARB (will be remapped) */ "iiffff\0" "glProgramLocalParameter4fARB\0" "\0" - /* _mesa_function_pool[31256]: SpriteParameterivSGIX (dynamic) */ + /* _mesa_function_pool[31412]: SpriteParameterivSGIX (dynamic) */ "ip\0" "glSpriteParameterivSGIX\0" "\0" - /* _mesa_function_pool[31284]: ProvokingVertexEXT (will be remapped) */ + /* _mesa_function_pool[31440]: ProvokingVertexEXT (will be remapped) */ "i\0" "glProvokingVertexEXT\0" "glProvokingVertex\0" "\0" - /* _mesa_function_pool[31326]: MultiTexCoord1fARB (offset 378) */ + /* _mesa_function_pool[31482]: MultiTexCoord1fARB (offset 378) */ "if\0" "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" "\0" - /* _mesa_function_pool[31369]: LoadName (offset 198) */ + /* _mesa_function_pool[31525]: LoadName (offset 198) */ "i\0" "glLoadName\0" "\0" - /* _mesa_function_pool[31383]: VertexAttribs4ubvNV (will be remapped) */ + /* _mesa_function_pool[31539]: VertexAttribs4ubvNV (will be remapped) */ "iip\0" "glVertexAttribs4ubvNV\0" "\0" - /* _mesa_function_pool[31410]: WeightsvARB (dynamic) */ + /* _mesa_function_pool[31566]: WeightsvARB (dynamic) */ "ip\0" "glWeightsvARB\0" "\0" - /* _mesa_function_pool[31428]: NormalP3ui (will be remapped) */ + /* _mesa_function_pool[31584]: NormalP3ui (will be remapped) */ "ii\0" "glNormalP3ui\0" "\0" - /* _mesa_function_pool[31445]: VertexAttribP2ui (will be remapped) */ + /* _mesa_function_pool[31601]: VertexAttribP2ui (will be remapped) */ "iiii\0" "glVertexAttribP2ui\0" "\0" - /* _mesa_function_pool[31470]: Uniform1fvARB (will be remapped) */ + /* _mesa_function_pool[31626]: Uniform1fvARB (will be remapped) */ "iip\0" "glUniform1fv\0" "glUniform1fvARB\0" "\0" - /* _mesa_function_pool[31504]: CopyTexSubImage1D (offset 325) */ + /* _mesa_function_pool[31660]: CopyTexSubImage1D (offset 325) */ "iiiiii\0" "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[31555]: CullFace (offset 152) */ + /* _mesa_function_pool[31711]: CullFace (offset 152) */ "i\0" "glCullFace\0" "\0" - /* _mesa_function_pool[31569]: BindTexture (offset 307) */ + /* _mesa_function_pool[31725]: BindTexture (offset 307) */ "ii\0" "glBindTexture\0" "glBindTextureEXT\0" "\0" - /* _mesa_function_pool[31604]: BeginFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[31760]: BeginFragmentShaderATI (will be remapped) */ "\0" "glBeginFragmentShaderATI\0" "\0" - /* _mesa_function_pool[31631]: MultiTexCoord4fARB (offset 402) */ + /* _mesa_function_pool[31787]: MultiTexCoord4fARB (offset 402) */ "iffff\0" "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" "\0" - /* _mesa_function_pool[31677]: VertexAttribs3svNV (will be remapped) */ + /* _mesa_function_pool[31833]: VertexAttribs3svNV (will be remapped) */ "iip\0" "glVertexAttribs3svNV\0" "\0" - /* _mesa_function_pool[31703]: StencilFunc (offset 243) */ + /* _mesa_function_pool[31859]: StencilFunc (offset 243) */ "iii\0" "glStencilFunc\0" "\0" - /* _mesa_function_pool[31722]: CopyPixels (offset 255) */ + /* _mesa_function_pool[31878]: CopyPixels (offset 255) */ "iiiii\0" "glCopyPixels\0" "\0" - /* _mesa_function_pool[31742]: Rectsv (offset 93) */ + /* _mesa_function_pool[31898]: Rectsv (offset 93) */ "pp\0" "glRectsv\0" "\0" - /* _mesa_function_pool[31755]: ReplacementCodeuivSUN (dynamic) */ + /* _mesa_function_pool[31911]: ReplacementCodeuivSUN (dynamic) */ "p\0" "glReplacementCodeuivSUN\0" "\0" - /* _mesa_function_pool[31782]: MultiTexCoordP2uiv (will be remapped) */ + /* _mesa_function_pool[31938]: MultiTexCoordP2uiv (will be remapped) */ "iip\0" "glMultiTexCoordP2uiv\0" "\0" - /* _mesa_function_pool[31808]: EnableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[31964]: EnableVertexAttribArrayARB (will be remapped) */ "i\0" "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[31866]: NormalPointervINTEL (dynamic) */ + /* _mesa_function_pool[32022]: NormalPointervINTEL (dynamic) */ "ip\0" "glNormalPointervINTEL\0" "\0" - /* _mesa_function_pool[31892]: CopyConvolutionFilter2D (offset 355) */ + /* _mesa_function_pool[32048]: CopyConvolutionFilter2D (offset 355) */ "iiiiii\0" "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[31955]: WindowPos3ivMESA (will be remapped) */ + /* _mesa_function_pool[32111]: WindowPos3ivMESA (will be remapped) */ "p\0" "glWindowPos3iv\0" "glWindowPos3ivARB\0" "glWindowPos3ivMESA\0" "\0" - /* _mesa_function_pool[32010]: CopyBufferSubData (will be remapped) */ + /* _mesa_function_pool[32166]: CopyBufferSubData (will be remapped) */ "iiiii\0" "glCopyBufferSubData\0" "\0" - /* _mesa_function_pool[32037]: NormalPointer (offset 318) */ + /* _mesa_function_pool[32193]: NormalPointer (offset 318) */ "iip\0" "glNormalPointer\0" "\0" - /* _mesa_function_pool[32058]: TexParameterfv (offset 179) */ + /* _mesa_function_pool[32214]: TexParameterfv (offset 179) */ "iip\0" "glTexParameterfv\0" "\0" - /* _mesa_function_pool[32080]: IsBufferARB (will be remapped) */ + /* _mesa_function_pool[32236]: IsBufferARB (will be remapped) */ "i\0" "glIsBuffer\0" "glIsBufferARB\0" "\0" - /* _mesa_function_pool[32108]: WindowPos4iMESA (will be remapped) */ + /* _mesa_function_pool[32264]: WindowPos4iMESA (will be remapped) */ "iiii\0" "glWindowPos4iMESA\0" "\0" - /* _mesa_function_pool[32132]: VertexAttrib4uivARB (will be remapped) */ + /* _mesa_function_pool[32288]: VertexAttrib4uivARB (will be remapped) */ "ip\0" "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" "\0" - /* _mesa_function_pool[32177]: Tangent3bvEXT (dynamic) */ + /* _mesa_function_pool[32333]: Tangent3bvEXT (dynamic) */ "p\0" "glTangent3bvEXT\0" "\0" - /* _mesa_function_pool[32196]: VertexAttribI3uivEXT (will be remapped) */ + /* _mesa_function_pool[32352]: VertexAttribI3uivEXT (will be remapped) */ "ip\0" "glVertexAttribI3uivEXT\0" "glVertexAttribI3uiv\0" "\0" - /* _mesa_function_pool[32243]: UniformMatrix3x4fv (will be remapped) */ + /* _mesa_function_pool[32399]: UniformMatrix3x4fv (will be remapped) */ "iiip\0" "glUniformMatrix3x4fv\0" "\0" - /* _mesa_function_pool[32270]: ClipPlane (offset 150) */ + /* _mesa_function_pool[32426]: ClipPlane (offset 150) */ "ip\0" "glClipPlane\0" "\0" - /* _mesa_function_pool[32286]: Recti (offset 90) */ + /* _mesa_function_pool[32442]: Recti (offset 90) */ "iiii\0" "glRecti\0" "\0" - /* _mesa_function_pool[32300]: TrackMatrixNV (will be remapped) */ + /* _mesa_function_pool[32456]: TrackMatrixNV (will be remapped) */ "iiii\0" "glTrackMatrixNV\0" "\0" - /* _mesa_function_pool[32322]: DrawRangeElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[32478]: DrawRangeElementsBaseVertex (will be remapped) */ "iiiiipi\0" "glDrawRangeElementsBaseVertex\0" "\0" - /* _mesa_function_pool[32361]: SamplerParameterIuiv (will be remapped) */ + /* _mesa_function_pool[32517]: SamplerParameterIuiv (will be remapped) */ "iip\0" "glSamplerParameterIuiv\0" "\0" - /* _mesa_function_pool[32389]: TexCoordPointervINTEL (dynamic) */ + /* _mesa_function_pool[32545]: TexCoordPointervINTEL (dynamic) */ "iip\0" "glTexCoordPointervINTEL\0" "\0" - /* _mesa_function_pool[32418]: DeleteBuffersARB (will be remapped) */ + /* _mesa_function_pool[32574]: DeleteBuffersARB (will be remapped) */ "ip\0" "glDeleteBuffers\0" "glDeleteBuffersARB\0" "\0" - /* _mesa_function_pool[32457]: PixelTransformParameterfvEXT (dynamic) */ + /* _mesa_function_pool[32613]: PixelTransformParameterfvEXT (dynamic) */ "iip\0" "glPixelTransformParameterfvEXT\0" "\0" - /* _mesa_function_pool[32493]: PrimitiveRestartNV (will be remapped) */ + /* _mesa_function_pool[32649]: PrimitiveRestartNV (will be remapped) */ "\0" "glPrimitiveRestartNV\0" "\0" - /* _mesa_function_pool[32516]: WindowPos4fvMESA (will be remapped) */ + /* _mesa_function_pool[32672]: WindowPos4fvMESA (will be remapped) */ "p\0" "glWindowPos4fvMESA\0" "\0" - /* _mesa_function_pool[32538]: GetPixelMapuiv (offset 272) */ + /* _mesa_function_pool[32694]: GetPixelMapuiv (offset 272) */ "ip\0" "glGetPixelMapuiv\0" "\0" - /* _mesa_function_pool[32559]: Rectf (offset 88) */ + /* _mesa_function_pool[32715]: Rectf (offset 88) */ "ffff\0" "glRectf\0" "\0" - /* _mesa_function_pool[32573]: VertexAttrib1sNV (will be remapped) */ + /* _mesa_function_pool[32729]: VertexAttrib1sNV (will be remapped) */ "ii\0" "glVertexAttrib1sNV\0" "\0" - /* _mesa_function_pool[32596]: Indexfv (offset 47) */ + /* _mesa_function_pool[32752]: Indexfv (offset 47) */ "p\0" "glIndexfv\0" "\0" - /* _mesa_function_pool[32609]: ColorP3uiv (will be remapped) */ + /* _mesa_function_pool[32765]: ColorP3uiv (will be remapped) */ "ip\0" "glColorP3uiv\0" "\0" - /* _mesa_function_pool[32626]: SecondaryColor3svEXT (will be remapped) */ + /* _mesa_function_pool[32782]: SecondaryColor3svEXT (will be remapped) */ "p\0" "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" "\0" - /* _mesa_function_pool[32672]: LoadTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[32828]: LoadTransposeMatrixfARB (will be remapped) */ "p\0" "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[32724]: GetPointerv (offset 329) */ + /* _mesa_function_pool[32880]: GetPointerv (offset 329) */ "ip\0" "glGetPointerv\0" "glGetPointervEXT\0" "\0" - /* _mesa_function_pool[32759]: Tangent3bEXT (dynamic) */ + /* _mesa_function_pool[32915]: Tangent3bEXT (dynamic) */ "iii\0" "glTangent3bEXT\0" "\0" - /* _mesa_function_pool[32779]: CombinerParameterfNV (will be remapped) */ + /* _mesa_function_pool[32935]: CombinerParameterfNV (will be remapped) */ "if\0" "glCombinerParameterfNV\0" "\0" - /* _mesa_function_pool[32806]: IndexMask (offset 212) */ + /* _mesa_function_pool[32962]: IndexMask (offset 212) */ "i\0" "glIndexMask\0" "\0" - /* _mesa_function_pool[32821]: BindProgramNV (will be remapped) */ + /* _mesa_function_pool[32977]: BindProgramNV (will be remapped) */ "ii\0" "glBindProgramARB\0" "glBindProgramNV\0" "\0" - /* _mesa_function_pool[32858]: VertexAttrib4svARB (will be remapped) */ + /* _mesa_function_pool[33014]: VertexAttrib4svARB (will be remapped) */ "ip\0" "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" "\0" - /* _mesa_function_pool[32901]: GetFloatv (offset 262) */ + /* _mesa_function_pool[33057]: GetFloatv (offset 262) */ "ip\0" "glGetFloatv\0" "\0" - /* _mesa_function_pool[32917]: CreateDebugObjectMESA (dynamic) */ + /* _mesa_function_pool[33073]: CreateDebugObjectMESA (dynamic) */ "\0" "glCreateDebugObjectMESA\0" "\0" - /* _mesa_function_pool[32943]: GetShaderiv (will be remapped) */ + /* _mesa_function_pool[33099]: GetShaderiv (will be remapped) */ "iip\0" "glGetShaderiv\0" "\0" - /* _mesa_function_pool[32962]: ClientWaitSync (will be remapped) */ + /* _mesa_function_pool[33118]: ClientWaitSync (will be remapped) */ "iii\0" "glClientWaitSync\0" "\0" - /* _mesa_function_pool[32984]: TexCoord4s (offset 124) */ + /* _mesa_function_pool[33140]: TexCoord4s (offset 124) */ "iiii\0" "glTexCoord4s\0" "\0" - /* _mesa_function_pool[33003]: TexCoord3sv (offset 117) */ + /* _mesa_function_pool[33159]: TexCoord3sv (offset 117) */ "p\0" "glTexCoord3sv\0" "\0" - /* _mesa_function_pool[33020]: BindFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[33176]: BindFragmentShaderATI (will be remapped) */ "i\0" "glBindFragmentShaderATI\0" "\0" - /* _mesa_function_pool[33047]: PopAttrib (offset 218) */ + /* _mesa_function_pool[33203]: PopAttrib (offset 218) */ "\0" "glPopAttrib\0" "\0" - /* _mesa_function_pool[33061]: Fogfv (offset 154) */ + /* _mesa_function_pool[33217]: Fogfv (offset 154) */ "ip\0" "glFogfv\0" "\0" - /* _mesa_function_pool[33073]: UnmapBufferARB (will be remapped) */ + /* _mesa_function_pool[33229]: UnmapBufferARB (will be remapped) */ "i\0" "glUnmapBuffer\0" "glUnmapBufferARB\0" "\0" - /* _mesa_function_pool[33107]: InitNames (offset 197) */ + /* _mesa_function_pool[33263]: InitNames (offset 197) */ "\0" "glInitNames\0" "\0" - /* _mesa_function_pool[33121]: Normal3sv (offset 61) */ + /* _mesa_function_pool[33277]: Normal3sv (offset 61) */ "p\0" "glNormal3sv\0" "\0" - /* _mesa_function_pool[33136]: Minmax (offset 368) */ + /* _mesa_function_pool[33292]: Minmax (offset 368) */ "iii\0" "glMinmax\0" "glMinmaxEXT\0" "\0" - /* _mesa_function_pool[33162]: TexCoord4d (offset 118) */ + /* _mesa_function_pool[33318]: TexCoord4d (offset 118) */ "dddd\0" "glTexCoord4d\0" "\0" - /* _mesa_function_pool[33181]: DeformationMap3dSGIX (dynamic) */ + /* _mesa_function_pool[33337]: DeformationMap3dSGIX (dynamic) */ "iddiiddiiddiip\0" "glDeformationMap3dSGIX\0" "\0" - /* _mesa_function_pool[33220]: TexCoord4f (offset 120) */ + /* _mesa_function_pool[33376]: TexCoord4f (offset 120) */ "ffff\0" "glTexCoord4f\0" "\0" - /* _mesa_function_pool[33239]: FogCoorddvEXT (will be remapped) */ + /* _mesa_function_pool[33395]: FogCoorddvEXT (will be remapped) */ "p\0" "glFogCoorddv\0" "glFogCoorddvEXT\0" "\0" - /* _mesa_function_pool[33271]: FinishTextureSUNX (dynamic) */ + /* _mesa_function_pool[33427]: FinishTextureSUNX (dynamic) */ "\0" "glFinishTextureSUNX\0" "\0" - /* _mesa_function_pool[33293]: GetFragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[33449]: GetFragmentLightfvSGIX (dynamic) */ "iip\0" "glGetFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[33323]: Binormal3fvEXT (dynamic) */ + /* _mesa_function_pool[33479]: Binormal3fvEXT (dynamic) */ "p\0" "glBinormal3fvEXT\0" "\0" - /* _mesa_function_pool[33343]: GetBooleanv (offset 258) */ + /* _mesa_function_pool[33499]: GetBooleanv (offset 258) */ "ip\0" "glGetBooleanv\0" "\0" - /* _mesa_function_pool[33361]: ColorFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[33517]: ColorFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiiii\0" "glColorFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[33398]: Hint (offset 158) */ + /* _mesa_function_pool[33554]: Hint (offset 158) */ "ii\0" "glHint\0" "\0" - /* _mesa_function_pool[33409]: Color4dv (offset 28) */ + /* _mesa_function_pool[33565]: Color4dv (offset 28) */ "p\0" "glColor4dv\0" "\0" - /* _mesa_function_pool[33423]: VertexAttrib2svARB (will be remapped) */ + /* _mesa_function_pool[33579]: VertexAttrib2svARB (will be remapped) */ "ip\0" "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" "\0" - /* _mesa_function_pool[33466]: AreProgramsResidentNV (will be remapped) */ + /* _mesa_function_pool[33622]: AreProgramsResidentNV (will be remapped) */ "ipp\0" "glAreProgramsResidentNV\0" "\0" - /* _mesa_function_pool[33495]: WindowPos3svMESA (will be remapped) */ + /* _mesa_function_pool[33651]: WindowPos3svMESA (will be remapped) */ "p\0" "glWindowPos3sv\0" "glWindowPos3svARB\0" "glWindowPos3svMESA\0" "\0" - /* _mesa_function_pool[33550]: CopyColorSubTable (offset 347) */ + /* _mesa_function_pool[33706]: CopyColorSubTable (offset 347) */ "iiiii\0" "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" "\0" - /* _mesa_function_pool[33600]: WeightdvARB (dynamic) */ + /* _mesa_function_pool[33756]: WeightdvARB (dynamic) */ "ip\0" "glWeightdvARB\0" "\0" - /* _mesa_function_pool[33618]: DeleteRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[33774]: DeleteRenderbuffersEXT (will be remapped) */ "ip\0" "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[33669]: VertexAttrib4NubvARB (will be remapped) */ + /* _mesa_function_pool[33825]: VertexAttrib4NubvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" "\0" - /* _mesa_function_pool[33716]: VertexAttrib3dvNV (will be remapped) */ + /* _mesa_function_pool[33872]: VertexAttrib3dvNV (will be remapped) */ "ip\0" "glVertexAttrib3dvNV\0" "\0" - /* _mesa_function_pool[33740]: GetObjectParameterfvARB (will be remapped) */ + /* _mesa_function_pool[33896]: GetObjectParameterfvARB (will be remapped) */ "iip\0" "glGetObjectParameterfvARB\0" "\0" - /* _mesa_function_pool[33771]: Vertex4iv (offset 147) */ + /* _mesa_function_pool[33927]: Vertex4iv (offset 147) */ "p\0" "glVertex4iv\0" "\0" - /* _mesa_function_pool[33786]: GetProgramEnvParameterdvARB (will be remapped) */ + /* _mesa_function_pool[33942]: GetProgramEnvParameterdvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterdvARB\0" "\0" - /* _mesa_function_pool[33821]: TexCoord4dv (offset 119) */ + /* _mesa_function_pool[33977]: TexCoord4dv (offset 119) */ "p\0" "glTexCoord4dv\0" "\0" - /* _mesa_function_pool[33838]: LockArraysEXT (will be remapped) */ + /* _mesa_function_pool[33994]: LockArraysEXT (will be remapped) */ "ii\0" "glLockArraysEXT\0" "\0" - /* _mesa_function_pool[33858]: Begin (offset 7) */ + /* _mesa_function_pool[34014]: Begin (offset 7) */ "i\0" "glBegin\0" "\0" - /* _mesa_function_pool[33869]: LightModeli (offset 165) */ + /* _mesa_function_pool[34025]: LightModeli (offset 165) */ "ii\0" "glLightModeli\0" "\0" - /* _mesa_function_pool[33887]: VertexAttribI4ivEXT (will be remapped) */ + /* _mesa_function_pool[34043]: VertexAttribI4ivEXT (will be remapped) */ "ip\0" "glVertexAttribI4ivEXT\0" "glVertexAttribI4iv\0" "\0" - /* _mesa_function_pool[33932]: Rectfv (offset 89) */ + /* _mesa_function_pool[34088]: Rectfv (offset 89) */ "pp\0" "glRectfv\0" "\0" - /* _mesa_function_pool[33945]: LightModelf (offset 163) */ + /* _mesa_function_pool[34101]: LightModelf (offset 163) */ "if\0" "glLightModelf\0" "\0" - /* _mesa_function_pool[33963]: GetTexParameterfv (offset 282) */ + /* _mesa_function_pool[34119]: GetTexParameterfv (offset 282) */ "iip\0" "glGetTexParameterfv\0" "\0" - /* _mesa_function_pool[33988]: GetLightfv (offset 264) */ + /* _mesa_function_pool[34144]: GetLightfv (offset 264) */ "iip\0" "glGetLightfv\0" "\0" - /* _mesa_function_pool[34006]: PixelTransformParameterivEXT (dynamic) */ + /* _mesa_function_pool[34162]: PixelTransformParameterivEXT (dynamic) */ "iip\0" "glPixelTransformParameterivEXT\0" "\0" - /* _mesa_function_pool[34042]: BinormalPointerEXT (dynamic) */ + /* _mesa_function_pool[34198]: BinormalPointerEXT (dynamic) */ "iip\0" "glBinormalPointerEXT\0" "\0" - /* _mesa_function_pool[34068]: VertexAttrib1dNV (will be remapped) */ + /* _mesa_function_pool[34224]: VertexAttrib1dNV (will be remapped) */ "id\0" "glVertexAttrib1dNV\0" "\0" - /* _mesa_function_pool[34091]: GetCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[34247]: GetCombinerInputParameterivNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[34130]: Disable (offset 214) */ + /* _mesa_function_pool[34286]: Disable (offset 214) */ "i\0" "glDisable\0" "\0" - /* _mesa_function_pool[34143]: MultiTexCoord2fvARB (offset 387) */ + /* _mesa_function_pool[34299]: MultiTexCoord2fvARB (offset 387) */ "ip\0" "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" "\0" - /* _mesa_function_pool[34188]: GetRenderbufferParameterivEXT (will be remapped) */ + /* _mesa_function_pool[34344]: GetRenderbufferParameterivEXT (will be remapped) */ "iip\0" "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" "\0" - /* _mesa_function_pool[34254]: CombinerParameterivNV (will be remapped) */ + /* _mesa_function_pool[34410]: CombinerParameterivNV (will be remapped) */ "ip\0" "glCombinerParameterivNV\0" "\0" - /* _mesa_function_pool[34282]: GenFragmentShadersATI (will be remapped) */ + /* _mesa_function_pool[34438]: GenFragmentShadersATI (will be remapped) */ "i\0" "glGenFragmentShadersATI\0" "\0" - /* _mesa_function_pool[34309]: DrawArrays (offset 310) */ + /* _mesa_function_pool[34465]: DrawArrays (offset 310) */ "iii\0" "glDrawArrays\0" "glDrawArraysEXT\0" "\0" - /* _mesa_function_pool[34343]: WeightuivARB (dynamic) */ + /* _mesa_function_pool[34499]: WeightuivARB (dynamic) */ "ip\0" "glWeightuivARB\0" "\0" - /* _mesa_function_pool[34362]: GetVertexAttribIivEXT (will be remapped) */ + /* _mesa_function_pool[34518]: GetVertexAttribIivEXT (will be remapped) */ "iip\0" "glGetVertexAttribIivEXT\0" "glGetVertexAttribIiv\0" "\0" - /* _mesa_function_pool[34412]: VertexAttrib2sARB (will be remapped) */ + /* _mesa_function_pool[34568]: VertexAttrib2sARB (will be remapped) */ "iii\0" "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" "\0" - /* _mesa_function_pool[34454]: GetnTexImageARB (will be remapped) */ + /* _mesa_function_pool[34610]: GetnTexImageARB (will be remapped) */ "iiiiip\0" "glGetnTexImageARB\0" "\0" - /* _mesa_function_pool[34480]: ColorMask (offset 210) */ + /* _mesa_function_pool[34636]: ColorMask (offset 210) */ "iiii\0" "glColorMask\0" "\0" - /* _mesa_function_pool[34498]: GenAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[34654]: GenAsyncMarkersSGIX (dynamic) */ "i\0" "glGenAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[34523]: Tangent3svEXT (dynamic) */ + /* _mesa_function_pool[34679]: Tangent3svEXT (dynamic) */ "p\0" "glTangent3svEXT\0" "\0" - /* _mesa_function_pool[34542]: GetListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[34698]: GetListParameterivSGIX (dynamic) */ "iip\0" "glGetListParameterivSGIX\0" "\0" - /* _mesa_function_pool[34572]: BindBufferARB (will be remapped) */ + /* _mesa_function_pool[34728]: BindBufferARB (will be remapped) */ "ii\0" "glBindBuffer\0" "glBindBufferARB\0" "\0" - /* _mesa_function_pool[34605]: GetInfoLogARB (will be remapped) */ + /* _mesa_function_pool[34761]: GetInfoLogARB (will be remapped) */ "iipp\0" "glGetInfoLogARB\0" "\0" - /* _mesa_function_pool[34627]: RasterPos4iv (offset 83) */ + /* _mesa_function_pool[34783]: RasterPos4iv (offset 83) */ "p\0" "glRasterPos4iv\0" "\0" - /* _mesa_function_pool[34645]: Enable (offset 215) */ + /* _mesa_function_pool[34801]: Enable (offset 215) */ "i\0" "glEnable\0" "\0" - /* _mesa_function_pool[34657]: LineStipple (offset 167) */ + /* _mesa_function_pool[34813]: LineStipple (offset 167) */ "ii\0" "glLineStipple\0" "\0" - /* _mesa_function_pool[34675]: VertexAttribs4svNV (will be remapped) */ + /* _mesa_function_pool[34831]: VertexAttribs4svNV (will be remapped) */ "iip\0" "glVertexAttribs4svNV\0" "\0" - /* _mesa_function_pool[34701]: EdgeFlagPointerListIBM (dynamic) */ + /* _mesa_function_pool[34857]: EdgeFlagPointerListIBM (dynamic) */ "ipi\0" "glEdgeFlagPointerListIBM\0" "\0" - /* _mesa_function_pool[34731]: UniformMatrix3x2fv (will be remapped) */ + /* _mesa_function_pool[34887]: UniformMatrix3x2fv (will be remapped) */ "iiip\0" "glUniformMatrix3x2fv\0" "\0" - /* _mesa_function_pool[34758]: GetMinmaxParameterfv (offset 365) */ + /* _mesa_function_pool[34914]: GetMinmaxParameterfv (offset 365) */ "iip\0" "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" "\0" - /* _mesa_function_pool[34812]: VertexAttrib1fvARB (will be remapped) */ + /* _mesa_function_pool[34968]: VertexAttrib1fvARB (will be remapped) */ "ip\0" "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" "\0" - /* _mesa_function_pool[34855]: GenBuffersARB (will be remapped) */ + /* _mesa_function_pool[35011]: GenBuffersARB (will be remapped) */ "ip\0" "glGenBuffers\0" "glGenBuffersARB\0" "\0" - /* _mesa_function_pool[34888]: VertexAttribs1svNV (will be remapped) */ + /* _mesa_function_pool[35044]: VertexAttribs1svNV (will be remapped) */ "iip\0" "glVertexAttribs1svNV\0" "\0" - /* _mesa_function_pool[34914]: Vertex3fv (offset 137) */ + /* _mesa_function_pool[35070]: Vertex3fv (offset 137) */ "p\0" "glVertex3fv\0" "\0" - /* _mesa_function_pool[34929]: GetTexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[35085]: GetTexBumpParameterivATI (will be remapped) */ "ip\0" "glGetTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[34960]: Binormal3bEXT (dynamic) */ + /* _mesa_function_pool[35116]: Binormal3bEXT (dynamic) */ "iii\0" "glBinormal3bEXT\0" "\0" - /* _mesa_function_pool[34981]: FragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[35137]: FragmentMaterialivSGIX (dynamic) */ "iip\0" "glFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[35011]: IsRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[35167]: IsRenderbufferEXT (will be remapped) */ "i\0" "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" "\0" - /* _mesa_function_pool[35051]: GenProgramsNV (will be remapped) */ + /* _mesa_function_pool[35207]: GenProgramsNV (will be remapped) */ "ip\0" "glGenProgramsARB\0" "glGenProgramsNV\0" "\0" - /* _mesa_function_pool[35088]: VertexAttrib4dvNV (will be remapped) */ + /* _mesa_function_pool[35244]: VertexAttrib4dvNV (will be remapped) */ "ip\0" "glVertexAttrib4dvNV\0" "\0" - /* _mesa_function_pool[35112]: EndFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[35268]: EndFragmentShaderATI (will be remapped) */ "\0" "glEndFragmentShaderATI\0" "\0" - /* _mesa_function_pool[35137]: Binormal3iEXT (dynamic) */ + /* _mesa_function_pool[35293]: Binormal3iEXT (dynamic) */ "iii\0" "glBinormal3iEXT\0" "\0" - /* _mesa_function_pool[35158]: WindowPos2fMESA (will be remapped) */ + /* _mesa_function_pool[35314]: WindowPos2fMESA (will be remapped) */ "ff\0" "glWindowPos2f\0" "glWindowPos2fARB\0" @@ -5088,675 +5112,681 @@ static const char _mesa_function_pool[] = /* these functions need to be remapped */ static const struct gl_function_pool_remap MESA_remap_table_functions[] = { - { 1610, AttachShader_remap_index }, - { 10602, CreateProgram_remap_index }, - { 24598, CreateShader_remap_index }, - { 27172, DeleteProgram_remap_index }, - { 19931, DeleteShader_remap_index }, - { 25091, DetachShader_remap_index }, - { 19178, GetAttachedShaders_remap_index }, - { 5288, GetProgramInfoLog_remap_index }, + { 1631, AttachShader_remap_index }, + { 10674, CreateProgram_remap_index }, + { 24670, CreateShader_remap_index }, + { 27244, DeleteProgram_remap_index }, + { 20003, DeleteShader_remap_index }, + { 25163, DetachShader_remap_index }, + { 19250, GetAttachedShaders_remap_index }, + { 5360, GetProgramInfoLog_remap_index }, { 425, GetProgramiv_remap_index }, - { 7178, GetShaderInfoLog_remap_index }, - { 32943, GetShaderiv_remap_index }, - { 14151, IsProgram_remap_index }, - { 13052, IsShader_remap_index }, - { 10732, StencilFuncSeparate_remap_index }, - { 4266, StencilMaskSeparate_remap_index }, - { 8243, StencilOpSeparate_remap_index }, - { 23832, UniformMatrix2x3fv_remap_index }, - { 3040, UniformMatrix2x4fv_remap_index }, - { 34731, UniformMatrix3x2fv_remap_index }, - { 32243, UniformMatrix3x4fv_remap_index }, - { 17280, UniformMatrix4x2fv_remap_index }, - { 3531, UniformMatrix4x3fv_remap_index }, - { 5511, ClampColor_remap_index }, - { 19232, ClearBufferfi_remap_index }, - { 18648, ClearBufferfv_remap_index }, - { 31198, ClearBufferiv_remap_index }, - { 14356, ClearBufferuiv_remap_index }, - { 21354, GetStringi_remap_index }, - { 2981, TexBuffer_remap_index }, + { 7250, GetShaderInfoLog_remap_index }, + { 33099, GetShaderiv_remap_index }, + { 14223, IsProgram_remap_index }, + { 13124, IsShader_remap_index }, + { 10804, StencilFuncSeparate_remap_index }, + { 4287, StencilMaskSeparate_remap_index }, + { 8315, StencilOpSeparate_remap_index }, + { 23904, UniformMatrix2x3fv_remap_index }, + { 3061, UniformMatrix2x4fv_remap_index }, + { 34887, UniformMatrix3x2fv_remap_index }, + { 32399, UniformMatrix3x4fv_remap_index }, + { 17352, UniformMatrix4x2fv_remap_index }, + { 3552, UniformMatrix4x3fv_remap_index }, + { 5583, ClampColor_remap_index }, + { 19304, ClearBufferfi_remap_index }, + { 18720, ClearBufferfv_remap_index }, + { 31354, ClearBufferiv_remap_index }, + { 14428, ClearBufferuiv_remap_index }, + { 21426, GetStringi_remap_index }, + { 3002, TexBuffer_remap_index }, { 958, FramebufferTexture_remap_index }, - { 28208, GetBufferParameteri64v_remap_index }, - { 10832, GetInteger64i_v_remap_index }, - { 24912, VertexAttribDivisor_remap_index }, - { 10620, LoadTransposeMatrixdARB_remap_index }, - { 32672, LoadTransposeMatrixfARB_remap_index }, - { 6196, MultTransposeMatrixdARB_remap_index }, - { 25278, MultTransposeMatrixfARB_remap_index }, + { 28280, GetBufferParameteri64v_remap_index }, + { 10904, GetInteger64i_v_remap_index }, + { 24984, VertexAttribDivisor_remap_index }, + { 10692, LoadTransposeMatrixdARB_remap_index }, + { 32828, LoadTransposeMatrixfARB_remap_index }, + { 6268, MultTransposeMatrixdARB_remap_index }, + { 25350, MultTransposeMatrixfARB_remap_index }, { 236, SampleCoverageARB_remap_index }, - { 6441, CompressedTexImage1DARB_remap_index }, - { 25806, CompressedTexImage2DARB_remap_index }, - { 4329, CompressedTexImage3DARB_remap_index }, - { 19520, CompressedTexSubImage1DARB_remap_index }, - { 2166, CompressedTexSubImage2DARB_remap_index }, - { 21776, CompressedTexSubImage3DARB_remap_index }, - { 30288, GetCompressedTexImageARB_remap_index }, - { 4123, DisableVertexAttribArrayARB_remap_index }, - { 31808, EnableVertexAttribArrayARB_remap_index }, - { 33786, GetProgramEnvParameterdvARB_remap_index }, - { 25158, GetProgramEnvParameterfvARB_remap_index }, - { 29205, GetProgramLocalParameterdvARB_remap_index }, - { 8719, GetProgramLocalParameterfvARB_remap_index }, - { 19696, GetProgramStringARB_remap_index }, - { 29400, GetProgramivARB_remap_index }, - { 21971, GetVertexAttribdvARB_remap_index }, - { 17088, GetVertexAttribfvARB_remap_index }, - { 10411, GetVertexAttribivARB_remap_index }, - { 20791, ProgramEnvParameter4dARB_remap_index }, - { 26922, ProgramEnvParameter4dvARB_remap_index }, - { 17946, ProgramEnvParameter4fARB_remap_index }, - { 9594, ProgramEnvParameter4fvARB_remap_index }, - { 4292, ProgramLocalParameter4dARB_remap_index }, - { 13861, ProgramLocalParameter4dvARB_remap_index }, - { 31219, ProgramLocalParameter4fARB_remap_index }, - { 27568, ProgramLocalParameter4fvARB_remap_index }, - { 30042, ProgramStringARB_remap_index }, - { 21085, VertexAttrib1dARB_remap_index }, - { 16689, VertexAttrib1dvARB_remap_index }, - { 4488, VertexAttrib1fARB_remap_index }, - { 34812, VertexAttrib1fvARB_remap_index }, - { 7769, VertexAttrib1sARB_remap_index }, - { 2361, VertexAttrib1svARB_remap_index }, - { 16102, VertexAttrib2dARB_remap_index }, - { 18669, VertexAttrib2dvARB_remap_index }, - { 1693, VertexAttrib2fARB_remap_index }, - { 18782, VertexAttrib2fvARB_remap_index }, - { 34412, VertexAttrib2sARB_remap_index }, - { 33423, VertexAttrib2svARB_remap_index }, - { 12036, VertexAttrib3dARB_remap_index }, - { 9261, VertexAttrib3dvARB_remap_index }, - { 1780, VertexAttrib3fARB_remap_index }, - { 24149, VertexAttrib3fvARB_remap_index }, - { 29889, VertexAttrib3sARB_remap_index }, - { 21713, VertexAttrib3svARB_remap_index }, - { 5331, VertexAttrib4NbvARB_remap_index }, - { 19055, VertexAttrib4NivARB_remap_index }, - { 24104, VertexAttrib4NsvARB_remap_index }, - { 25110, VertexAttrib4NubARB_remap_index }, - { 33669, VertexAttrib4NubvARB_remap_index }, - { 20442, VertexAttrib4NuivARB_remap_index }, - { 3361, VertexAttrib4NusvARB_remap_index }, - { 11625, VertexAttrib4bvARB_remap_index }, - { 28578, VertexAttrib4dARB_remap_index }, - { 22786, VertexAttrib4dvARB_remap_index }, - { 12190, VertexAttrib4fARB_remap_index }, - { 12594, VertexAttrib4fvARB_remap_index }, - { 10975, VertexAttrib4ivARB_remap_index }, - { 18462, VertexAttrib4sARB_remap_index }, - { 32858, VertexAttrib4svARB_remap_index }, - { 17751, VertexAttrib4ubvARB_remap_index }, - { 32132, VertexAttrib4uivARB_remap_index }, - { 21524, VertexAttrib4usvARB_remap_index }, - { 23627, VertexAttribPointerARB_remap_index }, - { 34572, BindBufferARB_remap_index }, - { 7476, BufferDataARB_remap_index }, - { 1531, BufferSubDataARB_remap_index }, - { 32418, DeleteBuffersARB_remap_index }, - { 34855, GenBuffersARB_remap_index }, - { 18825, GetBufferParameterivARB_remap_index }, - { 17898, GetBufferPointervARB_remap_index }, - { 1484, GetBufferSubDataARB_remap_index }, - { 32080, IsBufferARB_remap_index }, - { 28052, MapBufferARB_remap_index }, - { 33073, UnmapBufferARB_remap_index }, + { 6513, CompressedTexImage1DARB_remap_index }, + { 25878, CompressedTexImage2DARB_remap_index }, + { 4350, CompressedTexImage3DARB_remap_index }, + { 19592, CompressedTexSubImage1DARB_remap_index }, + { 2187, CompressedTexSubImage2DARB_remap_index }, + { 21848, CompressedTexSubImage3DARB_remap_index }, + { 30421, GetCompressedTexImageARB_remap_index }, + { 4144, DisableVertexAttribArrayARB_remap_index }, + { 31964, EnableVertexAttribArrayARB_remap_index }, + { 33942, GetProgramEnvParameterdvARB_remap_index }, + { 25230, GetProgramEnvParameterfvARB_remap_index }, + { 29277, GetProgramLocalParameterdvARB_remap_index }, + { 8791, GetProgramLocalParameterfvARB_remap_index }, + { 19768, GetProgramStringARB_remap_index }, + { 29472, GetProgramivARB_remap_index }, + { 22043, GetVertexAttribdvARB_remap_index }, + { 17160, GetVertexAttribfvARB_remap_index }, + { 10483, GetVertexAttribivARB_remap_index }, + { 20863, ProgramEnvParameter4dARB_remap_index }, + { 26994, ProgramEnvParameter4dvARB_remap_index }, + { 18018, ProgramEnvParameter4fARB_remap_index }, + { 9666, ProgramEnvParameter4fvARB_remap_index }, + { 4313, ProgramLocalParameter4dARB_remap_index }, + { 13933, ProgramLocalParameter4dvARB_remap_index }, + { 31375, ProgramLocalParameter4fARB_remap_index }, + { 27640, ProgramLocalParameter4fvARB_remap_index }, + { 30114, ProgramStringARB_remap_index }, + { 21157, VertexAttrib1dARB_remap_index }, + { 16761, VertexAttrib1dvARB_remap_index }, + { 4509, VertexAttrib1fARB_remap_index }, + { 34968, VertexAttrib1fvARB_remap_index }, + { 7841, VertexAttrib1sARB_remap_index }, + { 2382, VertexAttrib1svARB_remap_index }, + { 16174, VertexAttrib2dARB_remap_index }, + { 18741, VertexAttrib2dvARB_remap_index }, + { 1714, VertexAttrib2fARB_remap_index }, + { 18854, VertexAttrib2fvARB_remap_index }, + { 34568, VertexAttrib2sARB_remap_index }, + { 33579, VertexAttrib2svARB_remap_index }, + { 12108, VertexAttrib3dARB_remap_index }, + { 9333, VertexAttrib3dvARB_remap_index }, + { 1801, VertexAttrib3fARB_remap_index }, + { 24221, VertexAttrib3fvARB_remap_index }, + { 29961, VertexAttrib3sARB_remap_index }, + { 21785, VertexAttrib3svARB_remap_index }, + { 5403, VertexAttrib4NbvARB_remap_index }, + { 19127, VertexAttrib4NivARB_remap_index }, + { 24176, VertexAttrib4NsvARB_remap_index }, + { 25182, VertexAttrib4NubARB_remap_index }, + { 33825, VertexAttrib4NubvARB_remap_index }, + { 20514, VertexAttrib4NuivARB_remap_index }, + { 3382, VertexAttrib4NusvARB_remap_index }, + { 11697, VertexAttrib4bvARB_remap_index }, + { 28650, VertexAttrib4dARB_remap_index }, + { 22858, VertexAttrib4dvARB_remap_index }, + { 12262, VertexAttrib4fARB_remap_index }, + { 12666, VertexAttrib4fvARB_remap_index }, + { 11047, VertexAttrib4ivARB_remap_index }, + { 18534, VertexAttrib4sARB_remap_index }, + { 33014, VertexAttrib4svARB_remap_index }, + { 17823, VertexAttrib4ubvARB_remap_index }, + { 32288, VertexAttrib4uivARB_remap_index }, + { 21596, VertexAttrib4usvARB_remap_index }, + { 23699, VertexAttribPointerARB_remap_index }, + { 34728, BindBufferARB_remap_index }, + { 7548, BufferDataARB_remap_index }, + { 1552, BufferSubDataARB_remap_index }, + { 32574, DeleteBuffersARB_remap_index }, + { 35011, GenBuffersARB_remap_index }, + { 18897, GetBufferParameterivARB_remap_index }, + { 17970, GetBufferPointervARB_remap_index }, + { 1505, GetBufferSubDataARB_remap_index }, + { 32236, IsBufferARB_remap_index }, + { 28124, MapBufferARB_remap_index }, + { 33229, UnmapBufferARB_remap_index }, { 332, BeginQueryARB_remap_index }, - { 21180, DeleteQueriesARB_remap_index }, - { 12913, EndQueryARB_remap_index }, - { 30767, GenQueriesARB_remap_index }, - { 2058, GetQueryObjectivARB_remap_index }, - { 18506, GetQueryObjectuivARB_remap_index }, - { 1837, GetQueryivARB_remap_index }, - { 21431, IsQueryARB_remap_index }, - { 8871, AttachObjectARB_remap_index }, - { 19893, CompileShaderARB_remap_index }, - { 3473, CreateProgramObjectARB_remap_index }, - { 7421, CreateShaderObjectARB_remap_index }, - { 15385, DeleteObjectARB_remap_index }, - { 25597, DetachObjectARB_remap_index }, - { 12658, GetActiveUniformARB_remap_index }, - { 10086, GetAttachedObjectsARB_remap_index }, - { 10393, GetHandleARB_remap_index }, - { 34605, GetInfoLogARB_remap_index }, - { 33740, GetObjectParameterfvARB_remap_index }, - { 29079, GetObjectParameterivARB_remap_index }, - { 30525, GetShaderSourceARB_remap_index }, - { 29749, GetUniformLocationARB_remap_index }, - { 25380, GetUniformfvARB_remap_index }, - { 13436, GetUniformivARB_remap_index }, - { 21569, LinkProgramARB_remap_index }, - { 21627, ShaderSourceARB_remap_index }, - { 8143, Uniform1fARB_remap_index }, - { 31470, Uniform1fvARB_remap_index }, - { 23575, Uniform1iARB_remap_index }, - { 22424, Uniform1ivARB_remap_index }, - { 2310, Uniform2fARB_remap_index }, - { 15221, Uniform2fvARB_remap_index }, - { 27939, Uniform2iARB_remap_index }, - { 2447, Uniform2ivARB_remap_index }, - { 20003, Uniform3fARB_remap_index }, - { 10116, Uniform3fvARB_remap_index }, - { 7032, Uniform3iARB_remap_index }, - { 18004, Uniform3ivARB_remap_index }, - { 20597, Uniform4fARB_remap_index }, - { 25244, Uniform4fvARB_remap_index }, - { 26531, Uniform4iARB_remap_index }, - { 21937, Uniform4ivARB_remap_index }, - { 8923, UniformMatrix2fvARB_remap_index }, + { 21252, DeleteQueriesARB_remap_index }, + { 12985, EndQueryARB_remap_index }, + { 30923, GenQueriesARB_remap_index }, + { 2079, GetQueryObjectivARB_remap_index }, + { 18578, GetQueryObjectuivARB_remap_index }, + { 1858, GetQueryivARB_remap_index }, + { 21503, IsQueryARB_remap_index }, + { 8943, AttachObjectARB_remap_index }, + { 19965, CompileShaderARB_remap_index }, + { 3494, CreateProgramObjectARB_remap_index }, + { 7493, CreateShaderObjectARB_remap_index }, + { 15457, DeleteObjectARB_remap_index }, + { 25669, DetachObjectARB_remap_index }, + { 12730, GetActiveUniformARB_remap_index }, + { 10158, GetAttachedObjectsARB_remap_index }, + { 10465, GetHandleARB_remap_index }, + { 34761, GetInfoLogARB_remap_index }, + { 33896, GetObjectParameterfvARB_remap_index }, + { 29151, GetObjectParameterivARB_remap_index }, + { 30681, GetShaderSourceARB_remap_index }, + { 29821, GetUniformLocationARB_remap_index }, + { 25452, GetUniformfvARB_remap_index }, + { 13508, GetUniformivARB_remap_index }, + { 21641, LinkProgramARB_remap_index }, + { 21699, ShaderSourceARB_remap_index }, + { 8215, Uniform1fARB_remap_index }, + { 31626, Uniform1fvARB_remap_index }, + { 23647, Uniform1iARB_remap_index }, + { 22496, Uniform1ivARB_remap_index }, + { 2331, Uniform2fARB_remap_index }, + { 15293, Uniform2fvARB_remap_index }, + { 28011, Uniform2iARB_remap_index }, + { 2468, Uniform2ivARB_remap_index }, + { 20075, Uniform3fARB_remap_index }, + { 10188, Uniform3fvARB_remap_index }, + { 7104, Uniform3iARB_remap_index }, + { 18076, Uniform3ivARB_remap_index }, + { 20669, Uniform4fARB_remap_index }, + { 25316, Uniform4fvARB_remap_index }, + { 26603, Uniform4iARB_remap_index }, + { 22009, Uniform4ivARB_remap_index }, + { 8995, UniformMatrix2fvARB_remap_index }, { 17, UniformMatrix3fvARB_remap_index }, - { 2883, UniformMatrix4fvARB_remap_index }, - { 27034, UseProgramObjectARB_remap_index }, - { 15790, ValidateProgramARB_remap_index }, - { 22829, BindAttribLocationARB_remap_index }, - { 5376, GetActiveAttribARB_remap_index }, - { 17618, GetAttribLocationARB_remap_index }, - { 31130, DrawBuffersARB_remap_index }, - { 30963, ClampColorARB_remap_index }, - { 19100, DrawArraysInstancedARB_remap_index }, - { 7093, DrawElementsInstancedARB_remap_index }, - { 13966, RenderbufferStorageMultisample_remap_index }, - { 14437, FramebufferTextureARB_remap_index }, - { 27470, FramebufferTextureFaceARB_remap_index }, - { 25746, ProgramParameteriARB_remap_index }, - { 6613, VertexAttribDivisorARB_remap_index }, - { 20645, FlushMappedBufferRange_remap_index }, - { 29516, MapBufferRange_remap_index }, - { 29423, TexBufferARB_remap_index }, - { 17418, BindVertexArray_remap_index }, - { 15594, GenVertexArrays_remap_index }, - { 32010, CopyBufferSubData_remap_index }, - { 32962, ClientWaitSync_remap_index }, - { 2802, DeleteSync_remap_index }, - { 7810, FenceSync_remap_index }, - { 16161, GetInteger64v_remap_index }, - { 24211, GetSynciv_remap_index }, - { 31069, IsSync_remap_index }, - { 10017, WaitSync_remap_index }, - { 4091, DrawElementsBaseVertex_remap_index }, - { 19748, DrawElementsInstancedBaseVertex_remap_index }, - { 32322, DrawRangeElementsBaseVertex_remap_index }, - { 28083, MultiDrawElementsBaseVertex_remap_index }, - { 17684, BlendEquationSeparateiARB_remap_index }, - { 18918, BlendEquationiARB_remap_index }, - { 13375, BlendFuncSeparateiARB_remap_index }, - { 10459, BlendFunciARB_remap_index }, - { 8785, BindSampler_remap_index }, - { 4467, DeleteSamplers_remap_index }, - { 21018, GenSamplers_remap_index }, - { 31001, GetSamplerParameterIiv_remap_index }, - { 20539, GetSamplerParameterIuiv_remap_index }, - { 5208, GetSamplerParameterfv_remap_index }, - { 27191, GetSamplerParameteriv_remap_index }, - { 15139, IsSampler_remap_index }, - { 17371, SamplerParameterIiv_remap_index }, - { 32361, SamplerParameterIuiv_remap_index }, - { 23884, SamplerParameterf_remap_index }, - { 17545, SamplerParameterfv_remap_index }, - { 23859, SamplerParameteri_remap_index }, - { 19294, SamplerParameteriv_remap_index }, - { 20101, ColorP3ui_remap_index }, - { 32609, ColorP3uiv_remap_index }, - { 22530, ColorP4ui_remap_index }, - { 4234, ColorP4uiv_remap_index }, - { 26733, MultiTexCoordP1ui_remap_index }, - { 13349, MultiTexCoordP1uiv_remap_index }, - { 1668, MultiTexCoordP2ui_remap_index }, - { 31782, MultiTexCoordP2uiv_remap_index }, - { 14751, MultiTexCoordP3ui_remap_index }, - { 11051, MultiTexCoordP3uiv_remap_index }, - { 23428, MultiTexCoordP4ui_remap_index }, - { 3953, MultiTexCoordP4uiv_remap_index }, - { 31428, NormalP3ui_remap_index }, - { 20277, NormalP3uiv_remap_index }, - { 26436, SecondaryColorP3ui_remap_index }, - { 20295, SecondaryColorP3uiv_remap_index }, - { 2783, TexCoordP1ui_remap_index }, - { 2550, TexCoordP1uiv_remap_index }, - { 15670, TexCoordP2ui_remap_index }, + { 2904, UniformMatrix4fvARB_remap_index }, + { 27106, UseProgramObjectARB_remap_index }, + { 15862, ValidateProgramARB_remap_index }, + { 22901, BindAttribLocationARB_remap_index }, + { 5448, GetActiveAttribARB_remap_index }, + { 17690, GetAttribLocationARB_remap_index }, + { 31286, DrawBuffersARB_remap_index }, + { 31119, ClampColorARB_remap_index }, + { 19172, DrawArraysInstancedARB_remap_index }, + { 7165, DrawElementsInstancedARB_remap_index }, + { 14038, RenderbufferStorageMultisample_remap_index }, + { 14509, FramebufferTextureARB_remap_index }, + { 27542, FramebufferTextureFaceARB_remap_index }, + { 25818, ProgramParameteriARB_remap_index }, + { 6685, VertexAttribDivisorARB_remap_index }, + { 20717, FlushMappedBufferRange_remap_index }, + { 29588, MapBufferRange_remap_index }, + { 29495, TexBufferARB_remap_index }, + { 17490, BindVertexArray_remap_index }, + { 15666, GenVertexArrays_remap_index }, + { 32166, CopyBufferSubData_remap_index }, + { 33118, ClientWaitSync_remap_index }, + { 2823, DeleteSync_remap_index }, + { 7882, FenceSync_remap_index }, + { 16233, GetInteger64v_remap_index }, + { 24283, GetSynciv_remap_index }, + { 31225, IsSync_remap_index }, + { 10089, WaitSync_remap_index }, + { 4112, DrawElementsBaseVertex_remap_index }, + { 19820, DrawElementsInstancedBaseVertex_remap_index }, + { 32478, DrawRangeElementsBaseVertex_remap_index }, + { 28155, MultiDrawElementsBaseVertex_remap_index }, + { 17756, BlendEquationSeparateiARB_remap_index }, + { 18990, BlendEquationiARB_remap_index }, + { 13447, BlendFuncSeparateiARB_remap_index }, + { 10531, BlendFunciARB_remap_index }, + { 8857, BindSampler_remap_index }, + { 4488, DeleteSamplers_remap_index }, + { 21090, GenSamplers_remap_index }, + { 31157, GetSamplerParameterIiv_remap_index }, + { 20611, GetSamplerParameterIuiv_remap_index }, + { 5280, GetSamplerParameterfv_remap_index }, + { 27263, GetSamplerParameteriv_remap_index }, + { 15211, IsSampler_remap_index }, + { 17443, SamplerParameterIiv_remap_index }, + { 32517, SamplerParameterIuiv_remap_index }, + { 23956, SamplerParameterf_remap_index }, + { 17617, SamplerParameterfv_remap_index }, + { 23931, SamplerParameteri_remap_index }, + { 19366, SamplerParameteriv_remap_index }, + { 20173, ColorP3ui_remap_index }, + { 32765, ColorP3uiv_remap_index }, + { 22602, ColorP4ui_remap_index }, + { 4255, ColorP4uiv_remap_index }, + { 26805, MultiTexCoordP1ui_remap_index }, + { 13421, MultiTexCoordP1uiv_remap_index }, + { 1689, MultiTexCoordP2ui_remap_index }, + { 31938, MultiTexCoordP2uiv_remap_index }, + { 14823, MultiTexCoordP3ui_remap_index }, + { 11123, MultiTexCoordP3uiv_remap_index }, + { 23500, MultiTexCoordP4ui_remap_index }, + { 3974, MultiTexCoordP4uiv_remap_index }, + { 31584, NormalP3ui_remap_index }, + { 20349, NormalP3uiv_remap_index }, + { 26508, SecondaryColorP3ui_remap_index }, + { 20367, SecondaryColorP3uiv_remap_index }, + { 2804, TexCoordP1ui_remap_index }, + { 2571, TexCoordP1uiv_remap_index }, + { 15742, TexCoordP2ui_remap_index }, { 216, TexCoordP2uiv_remap_index }, - { 6320, TexCoordP3ui_remap_index }, - { 23812, TexCoordP3uiv_remap_index }, - { 1966, TexCoordP4ui_remap_index }, - { 5780, TexCoordP4uiv_remap_index }, - { 10502, VertexAttribP1ui_remap_index }, - { 14938, VertexAttribP1uiv_remap_index }, - { 31445, VertexAttribP2ui_remap_index }, - { 5572, VertexAttribP2uiv_remap_index }, - { 3426, VertexAttribP3ui_remap_index }, - { 21036, VertexAttribP3uiv_remap_index }, - { 14964, VertexAttribP4ui_remap_index }, - { 16946, VertexAttribP4uiv_remap_index }, - { 5314, VertexP2ui_remap_index }, - { 16516, VertexP2uiv_remap_index }, - { 2430, VertexP3ui_remap_index }, - { 17466, VertexP3uiv_remap_index }, - { 10045, VertexP4ui_remap_index }, - { 3408, VertexP4uiv_remap_index }, - { 5598, BindTransformFeedback_remap_index }, - { 3500, DeleteTransformFeedbacks_remap_index }, - { 7065, DrawTransformFeedback_remap_index }, - { 10253, GenTransformFeedbacks_remap_index }, - { 29932, IsTransformFeedback_remap_index }, - { 27663, PauseTransformFeedback_remap_index }, - { 6081, ResumeTransformFeedback_remap_index }, - { 23149, ClearDepthf_remap_index }, - { 7369, DepthRangef_remap_index }, - { 15406, GetShaderPrecisionFormat_remap_index }, - { 10672, ReleaseShaderCompiler_remap_index }, - { 11668, ShaderBinary_remap_index }, + { 6392, TexCoordP3ui_remap_index }, + { 23884, TexCoordP3uiv_remap_index }, + { 1987, TexCoordP4ui_remap_index }, + { 5852, TexCoordP4uiv_remap_index }, + { 10574, VertexAttribP1ui_remap_index }, + { 15010, VertexAttribP1uiv_remap_index }, + { 31601, VertexAttribP2ui_remap_index }, + { 5644, VertexAttribP2uiv_remap_index }, + { 3447, VertexAttribP3ui_remap_index }, + { 21108, VertexAttribP3uiv_remap_index }, + { 15036, VertexAttribP4ui_remap_index }, + { 17018, VertexAttribP4uiv_remap_index }, + { 5386, VertexP2ui_remap_index }, + { 16588, VertexP2uiv_remap_index }, + { 2451, VertexP3ui_remap_index }, + { 17538, VertexP3uiv_remap_index }, + { 10117, VertexP4ui_remap_index }, + { 3429, VertexP4uiv_remap_index }, + { 5670, BindTransformFeedback_remap_index }, + { 3521, DeleteTransformFeedbacks_remap_index }, + { 7137, DrawTransformFeedback_remap_index }, + { 10325, GenTransformFeedbacks_remap_index }, + { 30004, IsTransformFeedback_remap_index }, + { 27735, PauseTransformFeedback_remap_index }, + { 6153, ResumeTransformFeedback_remap_index }, + { 23221, ClearDepthf_remap_index }, + { 7441, DepthRangef_remap_index }, + { 15478, GetShaderPrecisionFormat_remap_index }, + { 10744, ReleaseShaderCompiler_remap_index }, + { 11740, ShaderBinary_remap_index }, { 985, GetGraphicsResetStatusARB_remap_index }, - { 26311, GetnColorTableARB_remap_index }, - { 8554, GetnCompressedTexImageARB_remap_index }, - { 4183, GetnConvolutionFilterARB_remap_index }, - { 16732, GetnHistogramARB_remap_index }, - { 25070, GetnMapdvARB_remap_index }, - { 23606, GetnMapfvARB_remap_index }, - { 2289, GetnMapivARB_remap_index }, - { 18266, GetnMinmaxARB_remap_index }, - { 4833, GetnPixelMapfvARB_remap_index }, - { 20416, GetnPixelMapuivARB_remap_index }, - { 3153, GetnPixelMapusvARB_remap_index }, - { 1364, GetnPolygonStippleARB_remap_index }, - { 22614, GetnSeparableFilterARB_remap_index }, - { 34454, GetnTexImageARB_remap_index }, - { 19723, GetnUniformdvARB_remap_index }, - { 4905, GetnUniformfvARB_remap_index }, - { 10527, GetnUniformivARB_remap_index }, - { 24060, GetnUniformuivARB_remap_index }, - { 3067, ReadnPixelsARB_remap_index }, - { 5949, PolygonOffsetEXT_remap_index }, - { 24833, GetPixelTexGenParameterfvSGIS_remap_index }, - { 4783, GetPixelTexGenParameterivSGIS_remap_index }, - { 24566, PixelTexGenParameterfSGIS_remap_index }, + { 26383, GetnColorTableARB_remap_index }, + { 8626, GetnCompressedTexImageARB_remap_index }, + { 4204, GetnConvolutionFilterARB_remap_index }, + { 16804, GetnHistogramARB_remap_index }, + { 25142, GetnMapdvARB_remap_index }, + { 23678, GetnMapfvARB_remap_index }, + { 2310, GetnMapivARB_remap_index }, + { 18338, GetnMinmaxARB_remap_index }, + { 4876, GetnPixelMapfvARB_remap_index }, + { 20488, GetnPixelMapuivARB_remap_index }, + { 3174, GetnPixelMapusvARB_remap_index }, + { 1385, GetnPolygonStippleARB_remap_index }, + { 22686, GetnSeparableFilterARB_remap_index }, + { 34610, GetnTexImageARB_remap_index }, + { 19795, GetnUniformdvARB_remap_index }, + { 4977, GetnUniformfvARB_remap_index }, + { 10599, GetnUniformivARB_remap_index }, + { 24132, GetnUniformuivARB_remap_index }, + { 3088, ReadnPixelsARB_remap_index }, + { 1272, TexStorage1D_remap_index }, + { 4766, TexStorage2D_remap_index }, + { 30610, TexStorage3D_remap_index }, + { 4901, TextureStorage1DEXT_remap_index }, + { 30391, TextureStorage2DEXT_remap_index }, + { 30185, TextureStorage3DEXT_remap_index }, + { 6021, PolygonOffsetEXT_remap_index }, + { 24905, GetPixelTexGenParameterfvSGIS_remap_index }, + { 4826, GetPixelTexGenParameterivSGIS_remap_index }, + { 24638, PixelTexGenParameterfSGIS_remap_index }, { 644, PixelTexGenParameterfvSGIS_remap_index }, - { 13474, PixelTexGenParameteriSGIS_remap_index }, - { 14611, PixelTexGenParameterivSGIS_remap_index }, - { 19419, SampleMaskSGIS_remap_index }, - { 21371, SamplePatternSGIS_remap_index }, - { 28012, ColorPointerEXT_remap_index }, - { 18712, EdgeFlagPointerEXT_remap_index }, - { 6686, IndexPointerEXT_remap_index }, - { 6766, NormalPointerEXT_remap_index }, - { 16800, TexCoordPointerEXT_remap_index }, - { 7599, VertexPointerEXT_remap_index }, - { 3867, PointParameterfEXT_remap_index }, - { 8450, PointParameterfvEXT_remap_index }, - { 33838, LockArraysEXT_remap_index }, - { 15854, UnlockArraysEXT_remap_index }, - { 1272, SecondaryColor3bEXT_remap_index }, - { 8643, SecondaryColor3bvEXT_remap_index }, - { 11178, SecondaryColor3dEXT_remap_index }, - { 27240, SecondaryColor3dvEXT_remap_index }, - { 29798, SecondaryColor3fEXT_remap_index }, - { 19456, SecondaryColor3fvEXT_remap_index }, + { 13546, PixelTexGenParameteriSGIS_remap_index }, + { 14683, PixelTexGenParameterivSGIS_remap_index }, + { 19491, SampleMaskSGIS_remap_index }, + { 21443, SamplePatternSGIS_remap_index }, + { 28084, ColorPointerEXT_remap_index }, + { 18784, EdgeFlagPointerEXT_remap_index }, + { 6758, IndexPointerEXT_remap_index }, + { 6838, NormalPointerEXT_remap_index }, + { 16872, TexCoordPointerEXT_remap_index }, + { 7671, VertexPointerEXT_remap_index }, + { 3888, PointParameterfEXT_remap_index }, + { 8522, PointParameterfvEXT_remap_index }, + { 33994, LockArraysEXT_remap_index }, + { 15926, UnlockArraysEXT_remap_index }, + { 1293, SecondaryColor3bEXT_remap_index }, + { 8715, SecondaryColor3bvEXT_remap_index }, + { 11250, SecondaryColor3dEXT_remap_index }, + { 27312, SecondaryColor3dvEXT_remap_index }, + { 29870, SecondaryColor3fEXT_remap_index }, + { 19528, SecondaryColor3fvEXT_remap_index }, { 490, SecondaryColor3iEXT_remap_index }, - { 17136, SecondaryColor3ivEXT_remap_index }, - { 10760, SecondaryColor3sEXT_remap_index }, - { 32626, SecondaryColor3svEXT_remap_index }, - { 28915, SecondaryColor3ubEXT_remap_index }, - { 22720, SecondaryColor3ubvEXT_remap_index }, - { 13716, SecondaryColor3uiEXT_remap_index }, - { 24453, SecondaryColor3uivEXT_remap_index }, - { 27520, SecondaryColor3usEXT_remap_index }, - { 13789, SecondaryColor3usvEXT_remap_index }, - { 12537, SecondaryColorPointerEXT_remap_index }, - { 27334, MultiDrawArraysEXT_remap_index }, - { 22359, MultiDrawElementsEXT_remap_index }, - { 22570, FogCoordPointerEXT_remap_index }, - { 4956, FogCoorddEXT_remap_index }, - { 33239, FogCoorddvEXT_remap_index }, - { 5073, FogCoordfEXT_remap_index }, - { 28838, FogCoordfvEXT_remap_index }, - { 12637, PixelTexGenSGIX_remap_index }, - { 29443, BlendFuncSeparateEXT_remap_index }, - { 7511, FlushVertexArrayRangeNV_remap_index }, - { 5898, VertexArrayRangeNV_remap_index }, - { 29863, CombinerInputNV_remap_index }, - { 2232, CombinerOutputNV_remap_index }, - { 32779, CombinerParameterfNV_remap_index }, - { 5752, CombinerParameterfvNV_remap_index }, - { 23909, CombinerParameteriNV_remap_index }, - { 34254, CombinerParameterivNV_remap_index }, - { 7887, FinalCombinerInputNV_remap_index }, - { 1629, GetCombinerInputParameterfvNV_remap_index }, - { 34091, GetCombinerInputParameterivNV_remap_index }, - { 14712, GetCombinerOutputParameterfvNV_remap_index }, - { 14540, GetCombinerOutputParameterivNV_remap_index }, - { 7273, GetFinalCombinerInputParameterfvNV_remap_index }, - { 26378, GetFinalCombinerInputParameterivNV_remap_index }, - { 13327, ResizeBuffersMESA_remap_index }, - { 11863, WindowPos2dMESA_remap_index }, + { 17208, SecondaryColor3ivEXT_remap_index }, + { 10832, SecondaryColor3sEXT_remap_index }, + { 32782, SecondaryColor3svEXT_remap_index }, + { 28987, SecondaryColor3ubEXT_remap_index }, + { 22792, SecondaryColor3ubvEXT_remap_index }, + { 13788, SecondaryColor3uiEXT_remap_index }, + { 24525, SecondaryColor3uivEXT_remap_index }, + { 27592, SecondaryColor3usEXT_remap_index }, + { 13861, SecondaryColor3usvEXT_remap_index }, + { 12609, SecondaryColorPointerEXT_remap_index }, + { 27406, MultiDrawArraysEXT_remap_index }, + { 22431, MultiDrawElementsEXT_remap_index }, + { 22642, FogCoordPointerEXT_remap_index }, + { 5028, FogCoorddEXT_remap_index }, + { 33395, FogCoorddvEXT_remap_index }, + { 5145, FogCoordfEXT_remap_index }, + { 28910, FogCoordfvEXT_remap_index }, + { 12709, PixelTexGenSGIX_remap_index }, + { 29515, BlendFuncSeparateEXT_remap_index }, + { 7583, FlushVertexArrayRangeNV_remap_index }, + { 5970, VertexArrayRangeNV_remap_index }, + { 29935, CombinerInputNV_remap_index }, + { 2253, CombinerOutputNV_remap_index }, + { 32935, CombinerParameterfNV_remap_index }, + { 5824, CombinerParameterfvNV_remap_index }, + { 23981, CombinerParameteriNV_remap_index }, + { 34410, CombinerParameterivNV_remap_index }, + { 7959, FinalCombinerInputNV_remap_index }, + { 1650, GetCombinerInputParameterfvNV_remap_index }, + { 34247, GetCombinerInputParameterivNV_remap_index }, + { 14784, GetCombinerOutputParameterfvNV_remap_index }, + { 14612, GetCombinerOutputParameterivNV_remap_index }, + { 7345, GetFinalCombinerInputParameterfvNV_remap_index }, + { 26450, GetFinalCombinerInputParameterivNV_remap_index }, + { 13399, ResizeBuffersMESA_remap_index }, + { 11935, WindowPos2dMESA_remap_index }, { 1065, WindowPos2dvMESA_remap_index }, - { 35158, WindowPos2fMESA_remap_index }, - { 8588, WindowPos2fvMESA_remap_index }, - { 19366, WindowPos2iMESA_remap_index }, - { 21844, WindowPos2ivMESA_remap_index }, - { 22458, WindowPos2sMESA_remap_index }, - { 6355, WindowPos2svMESA_remap_index }, - { 8379, WindowPos3dMESA_remap_index }, - { 14883, WindowPos3dvMESA_remap_index }, + { 35314, WindowPos2fMESA_remap_index }, + { 8660, WindowPos2fvMESA_remap_index }, + { 19438, WindowPos2iMESA_remap_index }, + { 21916, WindowPos2ivMESA_remap_index }, + { 22530, WindowPos2sMESA_remap_index }, + { 6427, WindowPos2svMESA_remap_index }, + { 8451, WindowPos3dMESA_remap_index }, + { 14955, WindowPos3dvMESA_remap_index }, { 536, WindowPos3fMESA_remap_index }, - { 15915, WindowPos3fvMESA_remap_index }, - { 25639, WindowPos3iMESA_remap_index }, - { 31955, WindowPos3ivMESA_remap_index }, - { 20164, WindowPos3sMESA_remap_index }, - { 33495, WindowPos3svMESA_remap_index }, - { 11814, WindowPos4dMESA_remap_index }, - { 18142, WindowPos4dvMESA_remap_index }, - { 14842, WindowPos4fMESA_remap_index }, - { 32516, WindowPos4fvMESA_remap_index }, - { 32108, WindowPos4iMESA_remap_index }, - { 13166, WindowPos4ivMESA_remap_index }, - { 20392, WindowPos4sMESA_remap_index }, - { 3451, WindowPos4svMESA_remap_index }, - { 14579, MultiModeDrawArraysIBM_remap_index }, - { 30638, MultiModeDrawElementsIBM_remap_index }, - { 12941, DeleteFencesNV_remap_index }, - { 29710, FinishFenceNV_remap_index }, - { 4015, GenFencesNV_remap_index }, - { 18122, GetFenceivNV_remap_index }, - { 8856, IsFenceNV_remap_index }, - { 14467, SetFenceNV_remap_index }, - { 4544, TestFenceNV_remap_index }, - { 33466, AreProgramsResidentNV_remap_index }, - { 32821, BindProgramNV_remap_index }, - { 27603, DeleteProgramsNV_remap_index }, - { 22938, ExecuteProgramNV_remap_index }, - { 35051, GenProgramsNV_remap_index }, - { 24938, GetProgramParameterdvNV_remap_index }, - { 11240, GetProgramParameterfvNV_remap_index }, - { 27986, GetProgramStringNV_remap_index }, - { 26016, GetProgramivNV_remap_index }, - { 25193, GetTrackMatrixivNV_remap_index }, - { 27780, GetVertexAttribPointervNV_remap_index }, - { 10855, GetVertexAttribdvNV_remap_index }, - { 9912, GetVertexAttribfvNV_remap_index }, - { 19669, GetVertexAttribivNV_remap_index }, - { 20675, IsProgramNV_remap_index }, - { 9995, LoadProgramNV_remap_index }, - { 29539, ProgramParameters4dvNV_remap_index }, - { 25946, ProgramParameters4fvNV_remap_index }, - { 22148, RequestResidentProgramsNV_remap_index }, - { 32300, TrackMatrixNV_remap_index }, - { 34068, VertexAttrib1dNV_remap_index }, - { 14378, VertexAttrib1dvNV_remap_index }, - { 30144, VertexAttrib1fNV_remap_index }, - { 2589, VertexAttrib1fvNV_remap_index }, - { 32573, VertexAttrib1sNV_remap_index }, - { 15988, VertexAttrib1svNV_remap_index }, - { 5264, VertexAttrib2dNV_remap_index }, - { 14271, VertexAttrib2dvNV_remap_index }, - { 21603, VertexAttrib2fNV_remap_index }, - { 13837, VertexAttrib2fvNV_remap_index }, - { 6567, VertexAttrib2sNV_remap_index }, - { 20218, VertexAttrib2svNV_remap_index }, - { 12011, VertexAttrib3dNV_remap_index }, - { 33716, VertexAttrib3dvNV_remap_index }, - { 11026, VertexAttrib3fNV_remap_index }, - { 26338, VertexAttrib3fvNV_remap_index }, - { 23682, VertexAttrib3sNV_remap_index }, - { 25220, VertexAttrib3svNV_remap_index }, - { 30612, VertexAttrib4dNV_remap_index }, - { 35088, VertexAttrib4dvNV_remap_index }, - { 5692, VertexAttrib4fNV_remap_index }, - { 10062, VertexAttrib4fvNV_remap_index }, - { 28462, VertexAttrib4sNV_remap_index }, - { 1442, VertexAttrib4svNV_remap_index }, - { 5439, VertexAttrib4ubNV_remap_index }, + { 15987, WindowPos3fvMESA_remap_index }, + { 25711, WindowPos3iMESA_remap_index }, + { 32111, WindowPos3ivMESA_remap_index }, + { 20236, WindowPos3sMESA_remap_index }, + { 33651, WindowPos3svMESA_remap_index }, + { 11886, WindowPos4dMESA_remap_index }, + { 18214, WindowPos4dvMESA_remap_index }, + { 14914, WindowPos4fMESA_remap_index }, + { 32672, WindowPos4fvMESA_remap_index }, + { 32264, WindowPos4iMESA_remap_index }, + { 13238, WindowPos4ivMESA_remap_index }, + { 20464, WindowPos4sMESA_remap_index }, + { 3472, WindowPos4svMESA_remap_index }, + { 14651, MultiModeDrawArraysIBM_remap_index }, + { 30794, MultiModeDrawElementsIBM_remap_index }, + { 13013, DeleteFencesNV_remap_index }, + { 29782, FinishFenceNV_remap_index }, + { 4036, GenFencesNV_remap_index }, + { 18194, GetFenceivNV_remap_index }, + { 8928, IsFenceNV_remap_index }, + { 14539, SetFenceNV_remap_index }, + { 4565, TestFenceNV_remap_index }, + { 33622, AreProgramsResidentNV_remap_index }, + { 32977, BindProgramNV_remap_index }, + { 27675, DeleteProgramsNV_remap_index }, + { 23010, ExecuteProgramNV_remap_index }, + { 35207, GenProgramsNV_remap_index }, + { 25010, GetProgramParameterdvNV_remap_index }, + { 11312, GetProgramParameterfvNV_remap_index }, + { 28058, GetProgramStringNV_remap_index }, + { 26088, GetProgramivNV_remap_index }, + { 25265, GetTrackMatrixivNV_remap_index }, + { 27852, GetVertexAttribPointervNV_remap_index }, + { 10927, GetVertexAttribdvNV_remap_index }, + { 9984, GetVertexAttribfvNV_remap_index }, + { 19741, GetVertexAttribivNV_remap_index }, + { 20747, IsProgramNV_remap_index }, + { 10067, LoadProgramNV_remap_index }, + { 29611, ProgramParameters4dvNV_remap_index }, + { 26018, ProgramParameters4fvNV_remap_index }, + { 22220, RequestResidentProgramsNV_remap_index }, + { 32456, TrackMatrixNV_remap_index }, + { 34224, VertexAttrib1dNV_remap_index }, + { 14450, VertexAttrib1dvNV_remap_index }, + { 30247, VertexAttrib1fNV_remap_index }, + { 2610, VertexAttrib1fvNV_remap_index }, + { 32729, VertexAttrib1sNV_remap_index }, + { 16060, VertexAttrib1svNV_remap_index }, + { 5336, VertexAttrib2dNV_remap_index }, + { 14343, VertexAttrib2dvNV_remap_index }, + { 21675, VertexAttrib2fNV_remap_index }, + { 13909, VertexAttrib2fvNV_remap_index }, + { 6639, VertexAttrib2sNV_remap_index }, + { 20290, VertexAttrib2svNV_remap_index }, + { 12083, VertexAttrib3dNV_remap_index }, + { 33872, VertexAttrib3dvNV_remap_index }, + { 11098, VertexAttrib3fNV_remap_index }, + { 26410, VertexAttrib3fvNV_remap_index }, + { 23754, VertexAttrib3sNV_remap_index }, + { 25292, VertexAttrib3svNV_remap_index }, + { 30768, VertexAttrib4dNV_remap_index }, + { 35244, VertexAttrib4dvNV_remap_index }, + { 5764, VertexAttrib4fNV_remap_index }, + { 10134, VertexAttrib4fvNV_remap_index }, + { 28534, VertexAttrib4sNV_remap_index }, + { 1463, VertexAttrib4svNV_remap_index }, + { 5511, VertexAttrib4ubNV_remap_index }, { 798, VertexAttrib4ubvNV_remap_index }, - { 23118, VertexAttribPointerNV_remap_index }, - { 2404, VertexAttribs1dvNV_remap_index }, - { 27868, VertexAttribs1fvNV_remap_index }, - { 34888, VertexAttribs1svNV_remap_index }, - { 11077, VertexAttribs2dvNV_remap_index }, - { 26995, VertexAttribs2fvNV_remap_index }, - { 18738, VertexAttribs2svNV_remap_index }, - { 5800, VertexAttribs3dvNV_remap_index }, - { 2263, VertexAttribs3fvNV_remap_index }, - { 31677, VertexAttribs3svNV_remap_index }, - { 28552, VertexAttribs4dvNV_remap_index }, - { 5872, VertexAttribs4fvNV_remap_index }, - { 34675, VertexAttribs4svNV_remap_index }, - { 31383, VertexAttribs4ubvNV_remap_index }, - { 28622, GetTexBumpParameterfvATI_remap_index }, - { 34929, GetTexBumpParameterivATI_remap_index }, - { 19846, TexBumpParameterfvATI_remap_index }, - { 22019, TexBumpParameterivATI_remap_index }, - { 16552, AlphaFragmentOp1ATI_remap_index }, - { 27286, AlphaFragmentOp2ATI_remap_index }, - { 26254, AlphaFragmentOp3ATI_remap_index }, - { 31604, BeginFragmentShaderATI_remap_index }, - { 33020, BindFragmentShaderATI_remap_index }, - { 25349, ColorFragmentOp1ATI_remap_index }, - { 4711, ColorFragmentOp2ATI_remap_index }, - { 33361, ColorFragmentOp3ATI_remap_index }, - { 6038, DeleteFragmentShaderATI_remap_index }, - { 35112, EndFragmentShaderATI_remap_index }, - { 34282, GenFragmentShadersATI_remap_index }, - { 27149, PassTexCoordATI_remap_index }, - { 7579, SampleMapATI_remap_index }, - { 28733, SetFragmentShaderConstantATI_remap_index }, + { 23190, VertexAttribPointerNV_remap_index }, + { 2425, VertexAttribs1dvNV_remap_index }, + { 27940, VertexAttribs1fvNV_remap_index }, + { 35044, VertexAttribs1svNV_remap_index }, + { 11149, VertexAttribs2dvNV_remap_index }, + { 27067, VertexAttribs2fvNV_remap_index }, + { 18810, VertexAttribs2svNV_remap_index }, + { 5872, VertexAttribs3dvNV_remap_index }, + { 2284, VertexAttribs3fvNV_remap_index }, + { 31833, VertexAttribs3svNV_remap_index }, + { 28624, VertexAttribs4dvNV_remap_index }, + { 5944, VertexAttribs4fvNV_remap_index }, + { 34831, VertexAttribs4svNV_remap_index }, + { 31539, VertexAttribs4ubvNV_remap_index }, + { 28694, GetTexBumpParameterfvATI_remap_index }, + { 35085, GetTexBumpParameterivATI_remap_index }, + { 19918, TexBumpParameterfvATI_remap_index }, + { 22091, TexBumpParameterivATI_remap_index }, + { 16624, AlphaFragmentOp1ATI_remap_index }, + { 27358, AlphaFragmentOp2ATI_remap_index }, + { 26326, AlphaFragmentOp3ATI_remap_index }, + { 31760, BeginFragmentShaderATI_remap_index }, + { 33176, BindFragmentShaderATI_remap_index }, + { 25421, ColorFragmentOp1ATI_remap_index }, + { 4732, ColorFragmentOp2ATI_remap_index }, + { 33517, ColorFragmentOp3ATI_remap_index }, + { 6110, DeleteFragmentShaderATI_remap_index }, + { 35268, EndFragmentShaderATI_remap_index }, + { 34438, GenFragmentShadersATI_remap_index }, + { 27221, PassTexCoordATI_remap_index }, + { 7651, SampleMapATI_remap_index }, + { 28805, SetFragmentShaderConstantATI_remap_index }, { 383, PointParameteriNV_remap_index }, - { 15095, PointParameterivNV_remap_index }, - { 30451, ActiveStencilFaceEXT_remap_index }, - { 29179, BindVertexArrayAPPLE_remap_index }, - { 2930, DeleteVertexArraysAPPLE_remap_index }, - { 19205, GenVertexArraysAPPLE_remap_index }, - { 25003, IsVertexArrayAPPLE_remap_index }, + { 15167, PointParameterivNV_remap_index }, + { 30584, ActiveStencilFaceEXT_remap_index }, + { 29251, BindVertexArrayAPPLE_remap_index }, + { 2951, DeleteVertexArraysAPPLE_remap_index }, + { 19277, GenVertexArraysAPPLE_remap_index }, + { 25075, IsVertexArrayAPPLE_remap_index }, { 839, GetProgramNamedParameterdvNV_remap_index }, - { 3830, GetProgramNamedParameterfvNV_remap_index }, - { 28653, ProgramNamedParameter4dNV_remap_index }, - { 15469, ProgramNamedParameter4dvNV_remap_index }, - { 9528, ProgramNamedParameter4fNV_remap_index }, - { 12502, ProgramNamedParameter4fvNV_remap_index }, - { 18053, PrimitiveRestartIndexNV_remap_index }, - { 32493, PrimitiveRestartNV_remap_index }, - { 25925, DepthBoundsEXT_remap_index }, + { 3851, GetProgramNamedParameterfvNV_remap_index }, + { 28725, ProgramNamedParameter4dNV_remap_index }, + { 15541, ProgramNamedParameter4dvNV_remap_index }, + { 9600, ProgramNamedParameter4fNV_remap_index }, + { 12574, ProgramNamedParameter4fvNV_remap_index }, + { 18125, PrimitiveRestartIndexNV_remap_index }, + { 32649, PrimitiveRestartNV_remap_index }, + { 25997, DepthBoundsEXT_remap_index }, { 1164, BlendEquationSeparateEXT_remap_index }, - { 15689, BindFramebufferEXT_remap_index }, - { 27379, BindRenderbufferEXT_remap_index }, - { 10309, CheckFramebufferStatusEXT_remap_index }, - { 24254, DeleteFramebuffersEXT_remap_index }, - { 33618, DeleteRenderbuffersEXT_remap_index }, - { 14295, FramebufferRenderbufferEXT_remap_index }, - { 14484, FramebufferTexture1DEXT_remap_index }, - { 12296, FramebufferTexture2DEXT_remap_index }, - { 11916, FramebufferTexture3DEXT_remap_index }, - { 24869, GenFramebuffersEXT_remap_index }, - { 18603, GenRenderbuffersEXT_remap_index }, - { 7315, GenerateMipmapEXT_remap_index }, - { 23211, GetFramebufferAttachmentParameterivEXT_remap_index }, - { 34188, GetRenderbufferParameterivEXT_remap_index }, - { 21899, IsFramebufferEXT_remap_index }, - { 35011, IsRenderbufferEXT_remap_index }, - { 8803, RenderbufferStorageEXT_remap_index }, + { 15761, BindFramebufferEXT_remap_index }, + { 27451, BindRenderbufferEXT_remap_index }, + { 10381, CheckFramebufferStatusEXT_remap_index }, + { 24326, DeleteFramebuffersEXT_remap_index }, + { 33774, DeleteRenderbuffersEXT_remap_index }, + { 14367, FramebufferRenderbufferEXT_remap_index }, + { 14556, FramebufferTexture1DEXT_remap_index }, + { 12368, FramebufferTexture2DEXT_remap_index }, + { 11988, FramebufferTexture3DEXT_remap_index }, + { 24941, GenFramebuffersEXT_remap_index }, + { 18675, GenRenderbuffersEXT_remap_index }, + { 7387, GenerateMipmapEXT_remap_index }, + { 23283, GetFramebufferAttachmentParameterivEXT_remap_index }, + { 34344, GetRenderbufferParameterivEXT_remap_index }, + { 21971, IsFramebufferEXT_remap_index }, + { 35167, IsRenderbufferEXT_remap_index }, + { 8875, RenderbufferStorageEXT_remap_index }, { 715, BlitFramebufferEXT_remap_index }, - { 15255, BufferParameteriAPPLE_remap_index }, - { 20707, FlushMappedBufferRangeAPPLE_remap_index }, - { 1912, BindFragDataLocationEXT_remap_index }, - { 26038, GetFragDataLocationEXT_remap_index }, - { 11355, GetUniformuivEXT_remap_index }, - { 34362, GetVertexAttribIivEXT_remap_index }, - { 4561, GetVertexAttribIuivEXT_remap_index }, - { 12774, Uniform1uiEXT_remap_index }, - { 29624, Uniform1uivEXT_remap_index }, - { 23778, Uniform2uiEXT_remap_index }, - { 4675, Uniform2uivEXT_remap_index }, - { 30891, Uniform3uiEXT_remap_index }, - { 15616, Uniform3uivEXT_remap_index }, - { 3754, Uniform4uiEXT_remap_index }, - { 9304, Uniform4uivEXT_remap_index }, - { 19584, VertexAttribI1iEXT_remap_index }, - { 5466, VertexAttribI1ivEXT_remap_index }, - { 2690, VertexAttribI1uiEXT_remap_index }, - { 13565, VertexAttribI1uivEXT_remap_index }, + { 15327, BufferParameteriAPPLE_remap_index }, + { 20779, FlushMappedBufferRangeAPPLE_remap_index }, + { 1933, BindFragDataLocationEXT_remap_index }, + { 26110, GetFragDataLocationEXT_remap_index }, + { 11427, GetUniformuivEXT_remap_index }, + { 34518, GetVertexAttribIivEXT_remap_index }, + { 4582, GetVertexAttribIuivEXT_remap_index }, + { 12846, Uniform1uiEXT_remap_index }, + { 29696, Uniform1uivEXT_remap_index }, + { 23850, Uniform2uiEXT_remap_index }, + { 4696, Uniform2uivEXT_remap_index }, + { 31047, Uniform3uiEXT_remap_index }, + { 15688, Uniform3uivEXT_remap_index }, + { 3775, Uniform4uiEXT_remap_index }, + { 9376, Uniform4uivEXT_remap_index }, + { 19656, VertexAttribI1iEXT_remap_index }, + { 5538, VertexAttribI1ivEXT_remap_index }, + { 2711, VertexAttribI1uiEXT_remap_index }, + { 13637, VertexAttribI1uivEXT_remap_index }, { 81, VertexAttribI2iEXT_remap_index }, - { 25461, VertexAttribI2ivEXT_remap_index }, - { 5826, VertexAttribI2uiEXT_remap_index }, - { 5118, VertexAttribI2uivEXT_remap_index }, - { 28254, VertexAttribI3iEXT_remap_index }, - { 26688, VertexAttribI3ivEXT_remap_index }, - { 3608, VertexAttribI3uiEXT_remap_index }, - { 32196, VertexAttribI3uivEXT_remap_index }, - { 23487, VertexAttribI4bvEXT_remap_index }, - { 15548, VertexAttribI4iEXT_remap_index }, - { 33887, VertexAttribI4ivEXT_remap_index }, - { 14198, VertexAttribI4svEXT_remap_index }, - { 17571, VertexAttribI4ubvEXT_remap_index }, - { 17199, VertexAttribI4uiEXT_remap_index }, - { 5972, VertexAttribI4uivEXT_remap_index }, - { 12079, VertexAttribI4usvEXT_remap_index }, - { 19790, VertexAttribIPointerEXT_remap_index }, - { 3223, FramebufferTextureLayerEXT_remap_index }, - { 6248, ColorMaskIndexedEXT_remap_index }, - { 20242, DisableIndexedEXT_remap_index }, - { 28299, EnableIndexedEXT_remap_index }, - { 23166, GetBooleanIndexedvEXT_remap_index }, - { 11690, GetIntegerIndexedvEXT_remap_index }, - { 24330, IsEnabledIndexedEXT_remap_index }, - { 24230, ClearColorIiEXT_remap_index }, - { 3704, ClearColorIuiEXT_remap_index }, - { 10552, GetTexParameterIivEXT_remap_index }, - { 6515, GetTexParameterIuivEXT_remap_index }, - { 3179, TexParameterIivEXT_remap_index }, - { 28121, TexParameterIuivEXT_remap_index }, - { 4986, BeginConditionalRenderNV_remap_index }, - { 27099, EndConditionalRenderNV_remap_index }, - { 9939, BeginTransformFeedbackEXT_remap_index }, - { 20321, BindBufferBaseEXT_remap_index }, - { 20136, BindBufferOffsetEXT_remap_index }, - { 12991, BindBufferRangeEXT_remap_index }, - { 15170, EndTransformFeedbackEXT_remap_index }, - { 11553, GetTransformFeedbackVaryingEXT_remap_index }, - { 22204, TransformFeedbackVaryingsEXT_remap_index }, - { 31284, ProvokingVertexEXT_remap_index }, - { 11501, GetTexParameterPointervAPPLE_remap_index }, - { 5528, TextureRangeAPPLE_remap_index }, - { 12368, GetObjectParameterivAPPLE_remap_index }, - { 21326, ObjectPurgeableAPPLE_remap_index }, - { 6290, ObjectUnpurgeableAPPLE_remap_index }, - { 18425, ActiveProgramEXT_remap_index }, - { 18396, CreateShaderProgramEXT_remap_index }, - { 30236, UseShaderProgramEXT_remap_index }, - { 17524, TextureBarrierNV_remap_index }, - { 30477, StencilFuncSeparateATI_remap_index }, - { 6161, ProgramEnvParameters4fvEXT_remap_index }, - { 18290, ProgramLocalParameters4fvEXT_remap_index }, - { 15023, GetQueryObjecti64vEXT_remap_index }, - { 11103, GetQueryObjectui64vEXT_remap_index }, - { 25418, EGLImageTargetRenderbufferStorageOES_remap_index }, - { 12880, EGLImageTargetTexture2DOES_remap_index }, + { 25533, VertexAttribI2ivEXT_remap_index }, + { 5898, VertexAttribI2uiEXT_remap_index }, + { 5190, VertexAttribI2uivEXT_remap_index }, + { 28326, VertexAttribI3iEXT_remap_index }, + { 26760, VertexAttribI3ivEXT_remap_index }, + { 3629, VertexAttribI3uiEXT_remap_index }, + { 32352, VertexAttribI3uivEXT_remap_index }, + { 23559, VertexAttribI4bvEXT_remap_index }, + { 15620, VertexAttribI4iEXT_remap_index }, + { 34043, VertexAttribI4ivEXT_remap_index }, + { 14270, VertexAttribI4svEXT_remap_index }, + { 17643, VertexAttribI4ubvEXT_remap_index }, + { 17271, VertexAttribI4uiEXT_remap_index }, + { 6044, VertexAttribI4uivEXT_remap_index }, + { 12151, VertexAttribI4usvEXT_remap_index }, + { 19862, VertexAttribIPointerEXT_remap_index }, + { 3244, FramebufferTextureLayerEXT_remap_index }, + { 6320, ColorMaskIndexedEXT_remap_index }, + { 20314, DisableIndexedEXT_remap_index }, + { 28371, EnableIndexedEXT_remap_index }, + { 23238, GetBooleanIndexedvEXT_remap_index }, + { 11762, GetIntegerIndexedvEXT_remap_index }, + { 24402, IsEnabledIndexedEXT_remap_index }, + { 24302, ClearColorIiEXT_remap_index }, + { 3725, ClearColorIuiEXT_remap_index }, + { 10624, GetTexParameterIivEXT_remap_index }, + { 6587, GetTexParameterIuivEXT_remap_index }, + { 3200, TexParameterIivEXT_remap_index }, + { 28193, TexParameterIuivEXT_remap_index }, + { 5058, BeginConditionalRenderNV_remap_index }, + { 27171, EndConditionalRenderNV_remap_index }, + { 10011, BeginTransformFeedbackEXT_remap_index }, + { 20393, BindBufferBaseEXT_remap_index }, + { 20208, BindBufferOffsetEXT_remap_index }, + { 13063, BindBufferRangeEXT_remap_index }, + { 15242, EndTransformFeedbackEXT_remap_index }, + { 11625, GetTransformFeedbackVaryingEXT_remap_index }, + { 22276, TransformFeedbackVaryingsEXT_remap_index }, + { 31440, ProvokingVertexEXT_remap_index }, + { 11573, GetTexParameterPointervAPPLE_remap_index }, + { 5600, TextureRangeAPPLE_remap_index }, + { 12440, GetObjectParameterivAPPLE_remap_index }, + { 21398, ObjectPurgeableAPPLE_remap_index }, + { 6362, ObjectUnpurgeableAPPLE_remap_index }, + { 18497, ActiveProgramEXT_remap_index }, + { 18468, CreateShaderProgramEXT_remap_index }, + { 30339, UseShaderProgramEXT_remap_index }, + { 17596, TextureBarrierNV_remap_index }, + { 30633, StencilFuncSeparateATI_remap_index }, + { 6233, ProgramEnvParameters4fvEXT_remap_index }, + { 18362, ProgramLocalParameters4fvEXT_remap_index }, + { 15095, GetQueryObjecti64vEXT_remap_index }, + { 11175, GetQueryObjectui64vEXT_remap_index }, + { 25490, EGLImageTargetRenderbufferStorageOES_remap_index }, + { 12952, EGLImageTargetTexture2DOES_remap_index }, { -1, -1 } }; /* these functions are in the ABI, but have alternative names */ static const struct gl_function_remap MESA_alt_functions[] = { /* from GL_EXT_blend_color */ - { 2848, _gloffset_BlendColor }, + { 2869, _gloffset_BlendColor }, /* from GL_EXT_blend_minmax */ - { 11973, _gloffset_BlendEquation }, + { 12045, _gloffset_BlendEquation }, /* from GL_EXT_color_subtable */ - { 18164, _gloffset_ColorSubTable }, - { 33550, _gloffset_CopyColorSubTable }, + { 18236, _gloffset_ColorSubTable }, + { 33706, _gloffset_CopyColorSubTable }, /* from GL_EXT_convolution */ { 277, _gloffset_ConvolutionFilter1D }, - { 2628, _gloffset_CopyConvolutionFilter1D }, - { 4403, _gloffset_GetConvolutionParameteriv }, - { 9152, _gloffset_ConvolutionFilter2D }, - { 9354, _gloffset_ConvolutionParameteriv }, - { 9814, _gloffset_ConvolutionParameterfv }, - { 22047, _gloffset_GetSeparableFilter }, - { 25693, _gloffset_SeparableFilter2D }, - { 26581, _gloffset_ConvolutionParameteri }, - { 26774, _gloffset_ConvolutionParameterf }, - { 28488, _gloffset_GetConvolutionParameterfv }, - { 29345, _gloffset_GetConvolutionFilter }, - { 31892, _gloffset_CopyConvolutionFilter2D }, + { 2649, _gloffset_CopyConvolutionFilter1D }, + { 4424, _gloffset_GetConvolutionParameteriv }, + { 9224, _gloffset_ConvolutionFilter2D }, + { 9426, _gloffset_ConvolutionParameteriv }, + { 9886, _gloffset_ConvolutionParameterfv }, + { 22119, _gloffset_GetSeparableFilter }, + { 25765, _gloffset_SeparableFilter2D }, + { 26653, _gloffset_ConvolutionParameteri }, + { 26846, _gloffset_ConvolutionParameterf }, + { 28560, _gloffset_GetConvolutionParameterfv }, + { 29417, _gloffset_GetConvolutionFilter }, + { 32048, _gloffset_CopyConvolutionFilter2D }, /* from GL_EXT_copy_texture */ - { 16048, _gloffset_CopyTexSubImage3D }, - { 17851, _gloffset_CopyTexImage2D }, - { 26164, _gloffset_CopyTexImage1D }, - { 29026, _gloffset_CopyTexSubImage2D }, - { 31504, _gloffset_CopyTexSubImage1D }, + { 16120, _gloffset_CopyTexSubImage3D }, + { 17923, _gloffset_CopyTexImage2D }, + { 26236, _gloffset_CopyTexImage1D }, + { 29098, _gloffset_CopyTexSubImage2D }, + { 31660, _gloffset_CopyTexSubImage1D }, /* from GL_EXT_draw_range_elements */ - { 10168, _gloffset_DrawRangeElements }, + { 10240, _gloffset_DrawRangeElements }, /* from GL_EXT_histogram */ { 876, _gloffset_Histogram }, - { 3790, _gloffset_ResetHistogram }, - { 10698, _gloffset_GetMinmax }, - { 16382, _gloffset_GetHistogramParameterfv }, - { 26089, _gloffset_GetMinmaxParameteriv }, - { 28378, _gloffset_ResetMinmax }, - { 29242, _gloffset_GetHistogramParameteriv }, - { 30411, _gloffset_GetHistogram }, - { 33136, _gloffset_Minmax }, - { 34758, _gloffset_GetMinmaxParameterfv }, + { 3811, _gloffset_ResetHistogram }, + { 10770, _gloffset_GetMinmax }, + { 16454, _gloffset_GetHistogramParameterfv }, + { 26161, _gloffset_GetMinmaxParameteriv }, + { 28450, _gloffset_ResetMinmax }, + { 29314, _gloffset_GetHistogramParameteriv }, + { 30544, _gloffset_GetHistogram }, + { 33292, _gloffset_Minmax }, + { 34914, _gloffset_GetMinmaxParameterfv }, /* from GL_EXT_paletted_texture */ - { 9014, _gloffset_ColorTable }, - { 16228, _gloffset_GetColorTable }, - { 24616, _gloffset_GetColorTableParameterfv }, - { 26830, _gloffset_GetColorTableParameteriv }, + { 9086, _gloffset_ColorTable }, + { 16300, _gloffset_GetColorTable }, + { 24688, _gloffset_GetColorTableParameterfv }, + { 26902, _gloffset_GetColorTableParameteriv }, /* from GL_EXT_subtexture */ - { 7725, _gloffset_TexSubImage1D }, - { 11428, _gloffset_TexSubImage2D }, + { 7797, _gloffset_TexSubImage1D }, + { 11500, _gloffset_TexSubImage2D }, /* from GL_EXT_texture3D */ - { 1871, _gloffset_TexImage3D }, - { 24385, _gloffset_TexSubImage3D }, + { 1892, _gloffset_TexImage3D }, + { 24457, _gloffset_TexSubImage3D }, /* from GL_EXT_texture_object */ - { 3558, _gloffset_PrioritizeTextures }, - { 8174, _gloffset_AreTexturesResident }, - { 14402, _gloffset_GenTextures }, - { 16759, _gloffset_DeleteTextures }, - { 20988, _gloffset_IsTexture }, - { 31569, _gloffset_BindTexture }, + { 3579, _gloffset_PrioritizeTextures }, + { 8246, _gloffset_AreTexturesResident }, + { 14474, _gloffset_GenTextures }, + { 16831, _gloffset_DeleteTextures }, + { 21060, _gloffset_IsTexture }, + { 31725, _gloffset_BindTexture }, /* from GL_EXT_vertex_array */ - { 25865, _gloffset_ArrayElement }, - { 32724, _gloffset_GetPointerv }, - { 34309, _gloffset_DrawArrays }, + { 25937, _gloffset_ArrayElement }, + { 32880, _gloffset_GetPointerv }, + { 34465, _gloffset_DrawArrays }, /* from GL_SGI_color_table */ - { 8292, _gloffset_ColorTableParameteriv }, - { 9014, _gloffset_ColorTable }, - { 16228, _gloffset_GetColorTable }, - { 16338, _gloffset_CopyColorTable }, - { 20849, _gloffset_ColorTableParameterfv }, - { 24616, _gloffset_GetColorTableParameterfv }, - { 26830, _gloffset_GetColorTableParameteriv }, + { 8364, _gloffset_ColorTableParameteriv }, + { 9086, _gloffset_ColorTable }, + { 16300, _gloffset_GetColorTable }, + { 16410, _gloffset_CopyColorTable }, + { 20921, _gloffset_ColorTableParameterfv }, + { 24688, _gloffset_GetColorTableParameterfv }, + { 26902, _gloffset_GetColorTableParameteriv }, /* from GL_VERSION_1_3 */ { 445, _gloffset_MultiTexCoord3sARB }, { 677, _gloffset_ActiveTextureARB }, - { 4613, _gloffset_MultiTexCoord1fvARB }, - { 6791, _gloffset_MultiTexCoord3dARB }, - { 6836, _gloffset_MultiTexCoord2iARB }, - { 6960, _gloffset_MultiTexCoord2svARB }, - { 8970, _gloffset_MultiTexCoord2fARB }, - { 11133, _gloffset_MultiTexCoord3fvARB }, - { 11735, _gloffset_MultiTexCoord4sARB }, - { 12416, _gloffset_MultiTexCoord2dvARB }, - { 12823, _gloffset_MultiTexCoord1svARB }, - { 13188, _gloffset_MultiTexCoord3svARB }, - { 13249, _gloffset_MultiTexCoord4iARB }, - { 14106, _gloffset_MultiTexCoord3iARB }, - { 15052, _gloffset_MultiTexCoord1dARB }, - { 15284, _gloffset_MultiTexCoord3dvARB }, - { 16600, _gloffset_MultiTexCoord3ivARB }, - { 16645, _gloffset_MultiTexCoord2sARB }, - { 18221, _gloffset_MultiTexCoord4ivARB }, - { 20489, _gloffset_ClientActiveTextureARB }, - { 22894, _gloffset_MultiTexCoord2dARB }, - { 23331, _gloffset_MultiTexCoord4dvARB }, - { 23733, _gloffset_MultiTexCoord4fvARB }, - { 24757, _gloffset_MultiTexCoord3fARB }, - { 27424, _gloffset_MultiTexCoord4dARB }, - { 27690, _gloffset_MultiTexCoord1sARB }, - { 27894, _gloffset_MultiTexCoord1dvARB }, - { 28870, _gloffset_MultiTexCoord1ivARB }, - { 28963, _gloffset_MultiTexCoord2ivARB }, - { 29302, _gloffset_MultiTexCoord1iARB }, - { 30686, _gloffset_MultiTexCoord4svARB }, - { 31326, _gloffset_MultiTexCoord1fARB }, - { 31631, _gloffset_MultiTexCoord4fARB }, - { 34143, _gloffset_MultiTexCoord2fvARB }, + { 4634, _gloffset_MultiTexCoord1fvARB }, + { 6863, _gloffset_MultiTexCoord3dARB }, + { 6908, _gloffset_MultiTexCoord2iARB }, + { 7032, _gloffset_MultiTexCoord2svARB }, + { 9042, _gloffset_MultiTexCoord2fARB }, + { 11205, _gloffset_MultiTexCoord3fvARB }, + { 11807, _gloffset_MultiTexCoord4sARB }, + { 12488, _gloffset_MultiTexCoord2dvARB }, + { 12895, _gloffset_MultiTexCoord1svARB }, + { 13260, _gloffset_MultiTexCoord3svARB }, + { 13321, _gloffset_MultiTexCoord4iARB }, + { 14178, _gloffset_MultiTexCoord3iARB }, + { 15124, _gloffset_MultiTexCoord1dARB }, + { 15356, _gloffset_MultiTexCoord3dvARB }, + { 16672, _gloffset_MultiTexCoord3ivARB }, + { 16717, _gloffset_MultiTexCoord2sARB }, + { 18293, _gloffset_MultiTexCoord4ivARB }, + { 20561, _gloffset_ClientActiveTextureARB }, + { 22966, _gloffset_MultiTexCoord2dARB }, + { 23403, _gloffset_MultiTexCoord4dvARB }, + { 23805, _gloffset_MultiTexCoord4fvARB }, + { 24829, _gloffset_MultiTexCoord3fARB }, + { 27496, _gloffset_MultiTexCoord4dARB }, + { 27762, _gloffset_MultiTexCoord1sARB }, + { 27966, _gloffset_MultiTexCoord1dvARB }, + { 28942, _gloffset_MultiTexCoord1ivARB }, + { 29035, _gloffset_MultiTexCoord2ivARB }, + { 29374, _gloffset_MultiTexCoord1iARB }, + { 30842, _gloffset_MultiTexCoord4svARB }, + { 31482, _gloffset_MultiTexCoord1fARB }, + { 31787, _gloffset_MultiTexCoord4fARB }, + { 34299, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; diff --git a/mesalib/src/mesa/main/renderbuffer.c b/mesalib/src/mesa/main/renderbuffer.c index 70011e6b2..33bec42d9 100644 --- a/mesalib/src/mesa/main/renderbuffer.c +++ b/mesalib/src/mesa/main/renderbuffer.c @@ -1716,6 +1716,33 @@ _mesa_soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer * } +void +_mesa_map_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **out_map, + GLint *out_stride) +{ + GLubyte *map = rb->Data; + int cpp = _mesa_get_format_bytes(rb->Format); + int stride = rb->RowStride * cpp; + + ASSERT(rb->Data); + + map += y * stride; + map += x * cpp; + + *out_map = map; + *out_stride = stride; +} + +void +_mesa_unmap_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb) +{ +} + /**********************************************************************/ /**********************************************************************/ @@ -1984,7 +2011,7 @@ _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name) rb->Width = 0; rb->Height = 0; - rb->InternalFormat = GL_NONE; + rb->InternalFormat = GL_RGBA; rb->Format = MESA_FORMAT_NONE; rb->DataType = GL_NONE; diff --git a/mesalib/src/mesa/main/renderbuffer.h b/mesalib/src/mesa/main/renderbuffer.h index de471cd6b..cb0d712eb 100644 --- a/mesalib/src/mesa/main/renderbuffer.h +++ b/mesalib/src/mesa/main/renderbuffer.h @@ -46,6 +46,18 @@ _mesa_delete_renderbuffer(struct gl_renderbuffer *rb); extern struct gl_renderbuffer * _mesa_new_soft_renderbuffer(struct gl_context *ctx, GLuint name); +void +_mesa_map_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **out_map, + GLint *out_stride); + +void +_mesa_unmap_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb); + extern void _mesa_set_renderbuffer_accessors(struct gl_renderbuffer *rb); diff --git a/mesalib/src/mesa/main/shaderapi.c b/mesalib/src/mesa/main/shaderapi.c index 6868dfab0..56d955c53 100644 --- a/mesalib/src/mesa/main/shaderapi.c +++ b/mesalib/src/mesa/main/shaderapi.c @@ -152,6 +152,7 @@ _mesa_sizeof_glsl_type(GLenum type) case GL_SAMPLER_1D_ARRAY_SHADOW_EXT: case GL_SAMPLER_2D_ARRAY_SHADOW_EXT: case GL_SAMPLER_CUBE_SHADOW_EXT: + case GL_SAMPLER_EXTERNAL_OES: return 1; case GL_FLOAT_VEC2: case GL_INT_VEC2: @@ -918,6 +919,7 @@ validate_samplers(const struct gl_program *prog, char *errMsg) "TEXTURE_BUFFER", "TEXTURE_2D_ARRAY", "TEXTURE_1D_ARRAY", + "TEXTURE_EXTERNAL", "TEXTURE_CUBE", "TEXTURE_3D", "TEXTURE_RECT", diff --git a/mesalib/src/mesa/main/shared.c b/mesalib/src/mesa/main/shared.c index 8b7159db0..caa6132d4 100644 --- a/mesalib/src/mesa/main/shared.c +++ b/mesalib/src/mesa/main/shared.c @@ -108,6 +108,7 @@ _mesa_alloc_shared_state(struct gl_context *ctx) GL_TEXTURE_BUFFER, GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_1D_ARRAY_EXT, + GL_TEXTURE_EXTERNAL_OES, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_3D, GL_TEXTURE_RECTANGLE_NV, diff --git a/mesalib/src/mesa/main/texgetimage.c b/mesalib/src/mesa/main/texgetimage.c index 06e032396..31d49f2d8 100644 --- a/mesalib/src/mesa/main/texgetimage.c +++ b/mesalib/src/mesa/main/texgetimage.c @@ -50,7 +50,7 @@ * Can the given type represent negative values? */ static inline GLboolean -type_with_negative_values(GLenum type) +type_needs_clamping(GLenum type) { switch (type) { case GL_BYTE: @@ -58,9 +58,11 @@ type_with_negative_values(GLenum type) case GL_INT: case GL_FLOAT: case GL_HALF_FLOAT_ARB: - return GL_TRUE; - default: + case GL_UNSIGNED_INT_10F_11F_11F_REV: + case GL_UNSIGNED_INT_5_9_9_9_REV: return GL_FALSE; + default: + return GL_TRUE; } } @@ -219,7 +221,7 @@ get_tex_rgba(struct gl_context *ctx, GLuint dimensions, /* In general, clamping does not apply to glGetTexImage, except when * the returned type of the image can't hold negative values. */ - if (!type_with_negative_values(type)) { + if (type_needs_clamping(type)) { /* the returned image type can't have negative values */ if (dataType == GL_FLOAT || dataType == GL_SIGNED_NORMALIZED || @@ -849,6 +851,7 @@ getcompressedteximage_error_check(struct gl_context *ctx, GLenum target, _mesa_error(ctx, GL_INVALID_OPERATION, "glGetnCompressedTexImageARB(out of bounds access:" " bufSize (%d) is too small)", clientMemSize); + return GL_TRUE; } } else { /* do bounds checking on PBO write */ diff --git a/mesalib/src/mesa/main/teximage.c b/mesalib/src/mesa/main/teximage.c index acf7187fd..a84d6873d 100644 --- a/mesalib/src/mesa/main/teximage.c +++ b/mesalib/src/mesa/main/teximage.c @@ -549,7 +549,8 @@ _mesa_set_tex_image(struct gl_texture_object *tObj, ASSERT(tObj); ASSERT(texImage); - ASSERT(target != GL_TEXTURE_RECTANGLE_NV || level == 0); + if (target == GL_TEXTURE_RECTANGLE_NV || target == GL_TEXTURE_EXTERNAL_OES) + assert(level == 0); tObj->Image[face][level] = texImage; @@ -607,10 +608,11 @@ _mesa_delete_texture_image(struct gl_context *ctx, GLboolean _mesa_is_proxy_texture(GLenum target) { - /* NUM_TEXTURE_TARGETS should match number of terms below, - * except there's no proxy for GL_TEXTURE_BUFFER. + /* + * NUM_TEXTURE_TARGETS should match number of terms below, except there's no + * proxy for GL_TEXTURE_BUFFER and GL_TEXTURE_EXTERNAL_OES. */ - assert(NUM_TEXTURE_TARGETS == 8); + assert(NUM_TEXTURE_TARGETS == 7 + 2); return (target == GL_PROXY_TEXTURE_1D || target == GL_PROXY_TEXTURE_2D || @@ -723,6 +725,9 @@ _mesa_select_tex_object(struct gl_context *ctx, case GL_TEXTURE_BUFFER: return ctx->Extensions.ARB_texture_buffer_object ? texUnit->CurrentTex[TEXTURE_BUFFER_INDEX] : NULL; + case GL_TEXTURE_EXTERNAL_OES: + return ctx->Extensions.OES_EGL_image_external + ? texUnit->CurrentTex[TEXTURE_EXTERNAL_INDEX] : NULL; default: _mesa_problem(NULL, "bad target in _mesa_select_tex_object()"); return NULL; @@ -911,6 +916,7 @@ _mesa_max_texture_levels(struct gl_context *ctx, GLenum target) ctx->Extensions.EXT_texture_array) ? ctx->Const.MaxTextureLevels : 0; case GL_TEXTURE_BUFFER: + case GL_TEXTURE_EXTERNAL_OES: /* fall-through */ default: return 0; /* bad target */ @@ -942,6 +948,7 @@ _mesa_get_texture_dimensions(GLenum target) case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: case GL_TEXTURE_1D_ARRAY: case GL_PROXY_TEXTURE_1D_ARRAY: + case GL_TEXTURE_EXTERNAL_OES: return 2; case GL_TEXTURE_3D: case GL_PROXY_TEXTURE_3D: @@ -1433,6 +1440,23 @@ legal_texsubimage_target(struct gl_context *ctx, GLuint dims, GLenum target) /** + * Helper function to determine if a texture object is mutable (in terms + * of GL_ARB_texture_storage). + */ +static GLboolean +mutable_tex_object(struct gl_context *ctx, GLenum target) +{ + if (ctx->Extensions.ARB_texture_storage) { + struct gl_texture_object *texObj = + _mesa_get_current_tex_object(ctx, target); + return !texObj->Immutable; + } + return GL_TRUE; +} + + + +/** * Test the glTexImage[123]D() parameters for errors. * * \param ctx GL context. @@ -1643,6 +1667,12 @@ texture_error_check( struct gl_context *ctx, return GL_TRUE; } + if (!mutable_tex_object(ctx, target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexImage%dD(immutable texture)", dimensions); + return GL_TRUE; + } + /* if we get here, the parameters are OK */ return GL_FALSE; } @@ -1906,6 +1936,12 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, } } + if (!mutable_tex_object(ctx, target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glCopyTexImage%dD(immutable texture)", dimensions); + return GL_TRUE; + } + /* if we get here, the parameters are OK */ return GL_FALSE; } @@ -2504,13 +2540,10 @@ _mesa_EGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (!ctx->Extensions.OES_EGL_image) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glEGLImageTargetTexture2DOES(unsupported)"); - return; - } - - if (target != GL_TEXTURE_2D) { + if ((target == GL_TEXTURE_2D && + !ctx->Extensions.OES_EGL_image) || + (target == GL_TEXTURE_EXTERNAL_OES && + !ctx->Extensions.OES_EGL_image_external)) { _mesa_error(ctx, GL_INVALID_ENUM, "glEGLImageTargetTexture2D(target=%d)", target); return; @@ -3107,6 +3140,11 @@ compressed_texture_error_check(struct gl_context *ctx, GLint dimensions, return GL_INVALID_VALUE; } + if (!mutable_tex_object(ctx, target)) { + *reason = "immutable texture"; + return GL_INVALID_OPERATION; + } + return GL_NO_ERROR; } diff --git a/mesalib/src/mesa/main/texobj.c b/mesalib/src/mesa/main/texobj.c index 4d9942ba8..e2f0dc8b6 100644 --- a/mesalib/src/mesa/main/texobj.c +++ b/mesalib/src/mesa/main/texobj.c @@ -107,6 +107,7 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj, target == GL_TEXTURE_RECTANGLE_NV || target == GL_TEXTURE_1D_ARRAY_EXT || target == GL_TEXTURE_2D_ARRAY_EXT || + target == GL_TEXTURE_EXTERNAL_OES || target == GL_TEXTURE_BUFFER); memset(obj, 0, sizeof(*obj)); @@ -119,8 +120,12 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj, obj->BaseLevel = 0; obj->MaxLevel = 1000; + /* must be one; no support for (YUV) planes in separate buffers */ + obj->RequiredTextureImageUnits = 1; + /* sampler state */ - if (target == GL_TEXTURE_RECTANGLE_NV) { + if (target == GL_TEXTURE_RECTANGLE_NV || + target == GL_TEXTURE_EXTERNAL_OES) { obj->Sampler.WrapS = GL_CLAMP_TO_EDGE; obj->Sampler.WrapT = GL_CLAMP_TO_EDGE; obj->Sampler.WrapR = GL_CLAMP_TO_EDGE; @@ -161,7 +166,8 @@ finish_texture_init(struct gl_context *ctx, GLenum target, { assert(obj->Target == 0); - if (target == GL_TEXTURE_RECTANGLE_NV) { + if (target == GL_TEXTURE_RECTANGLE_NV || + target == GL_TEXTURE_EXTERNAL_OES) { /* have to init wrap and filter state here - kind of klunky */ obj->Sampler.WrapS = GL_CLAMP_TO_EDGE; obj->Sampler.WrapT = GL_CLAMP_TO_EDGE; @@ -259,6 +265,8 @@ _mesa_copy_texture_object( struct gl_texture_object *dest, dest->_Complete = src->_Complete; COPY_4V(dest->Swizzle, src->Swizzle); dest->_Swizzle = src->_Swizzle; + + dest->RequiredTextureImageUnits = src->RequiredTextureImageUnits; } @@ -306,6 +314,7 @@ valid_texture_object(const struct gl_texture_object *tex) case GL_TEXTURE_1D_ARRAY_EXT: case GL_TEXTURE_2D_ARRAY_EXT: case GL_TEXTURE_BUFFER: + case GL_TEXTURE_EXTERNAL_OES: return GL_TRUE; case 0x99: _mesa_problem(NULL, "invalid reference to a deleted texture object"); @@ -406,6 +415,10 @@ incomplete(struct gl_texture_object *t, const char *fmt, ...) * The gl_texture_object::Complete flag will be set to GL_TRUE or GL_FALSE * accordingly. * + * XXX TODO: For immutable textures (GL_ARB_texture_storage) we can skip + * many of the checks below since we know the mipmap images will have + * consistent sizes. + * * \param ctx GL context. * \param t texture object. * @@ -466,7 +479,8 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx, t->Image[0][baseLevel]->HeightLog2); maxLevels = ctx->Const.MaxCubeTextureLevels; } - else if (t->Target == GL_TEXTURE_RECTANGLE_NV) { + else if (t->Target == GL_TEXTURE_RECTANGLE_NV || + t->Target == GL_TEXTURE_EXTERNAL_OES) { maxLog2 = 0; /* not applicable */ maxLevels = 1; /* no mipmapping */ } @@ -1001,6 +1015,8 @@ target_enum_to_index(GLenum target) return TEXTURE_2D_ARRAY_INDEX; case GL_TEXTURE_BUFFER_ARB: return TEXTURE_BUFFER_INDEX; + case GL_TEXTURE_EXTERNAL_OES: + return TEXTURE_EXTERNAL_INDEX; default: return -1; } diff --git a/mesalib/src/mesa/main/texparam.c b/mesalib/src/mesa/main/texparam.c index dc5ee33a2..17eac5fc9 100644 --- a/mesalib/src/mesa/main/texparam.c +++ b/mesalib/src/mesa/main/texparam.c @@ -55,22 +55,38 @@ validate_texture_wrap_mode(struct gl_context * ctx, GLenum target, GLenum wrap) { const struct gl_extensions * const e = & ctx->Extensions; - if (wrap == GL_CLAMP || wrap == GL_CLAMP_TO_EDGE || - (wrap == GL_CLAMP_TO_BORDER && e->ARB_texture_border_clamp)) { - /* any texture target */ - return GL_TRUE; + if (target == GL_TEXTURE_RECTANGLE_NV) { + if (wrap == GL_CLAMP || wrap == GL_CLAMP_TO_EDGE || + (wrap == GL_CLAMP_TO_BORDER && e->ARB_texture_border_clamp)) + return GL_TRUE; } - else if (target != GL_TEXTURE_RECTANGLE_NV && - (wrap == GL_REPEAT || - wrap == GL_MIRRORED_REPEAT || - (wrap == GL_MIRROR_CLAMP_EXT && - (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp)) || - (wrap == GL_MIRROR_CLAMP_TO_EDGE_EXT && - (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp)) || - (wrap == GL_MIRROR_CLAMP_TO_BORDER_EXT && - (e->EXT_texture_mirror_clamp)))) { - /* non-rectangle texture */ - return GL_TRUE; + else if (target == GL_TEXTURE_EXTERNAL_OES) { + if (wrap == GL_CLAMP_TO_EDGE) + return GL_TRUE; + } + else { + switch (wrap) { + case GL_CLAMP: + case GL_REPEAT: + case GL_CLAMP_TO_EDGE: + case GL_MIRRORED_REPEAT: + return GL_TRUE; + case GL_CLAMP_TO_BORDER: + if (e->ARB_texture_border_clamp) + return GL_TRUE; + break; + case GL_MIRROR_CLAMP_EXT: + case GL_MIRROR_CLAMP_TO_EDGE_EXT: + if (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp) + return GL_TRUE; + break; + case GL_MIRROR_CLAMP_TO_BORDER_EXT: + if (e->EXT_texture_mirror_clamp) + return GL_TRUE; + break; + default: + break; + } } _mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(param=0x%x)", wrap ); @@ -127,6 +143,11 @@ get_texobj(struct gl_context *ctx, GLenum target, GLboolean get) return texUnit->CurrentTex[TEXTURE_2D_ARRAY_INDEX]; } break; + case GL_TEXTURE_EXTERNAL_OES: + if (ctx->Extensions.OES_EGL_image_external) { + return texUnit->CurrentTex[TEXTURE_EXTERNAL_INDEX]; + } + break; default: ; } @@ -226,7 +247,8 @@ set_tex_parameteri(struct gl_context *ctx, case GL_LINEAR_MIPMAP_NEAREST: case GL_NEAREST_MIPMAP_LINEAR: case GL_LINEAR_MIPMAP_LINEAR: - if (texObj->Target != GL_TEXTURE_RECTANGLE_NV) { + if (texObj->Target != GL_TEXTURE_RECTANGLE_NV && + texObj->Target != GL_TEXTURE_EXTERNAL_OES) { incomplete(ctx, texObj); texObj->Sampler.MinFilter = params[0]; return GL_TRUE; @@ -307,6 +329,8 @@ set_tex_parameteri(struct gl_context *ctx, return GL_TRUE; case GL_GENERATE_MIPMAP_SGIS: + if (params[0] && texObj->Target == GL_TEXTURE_EXTERNAL_OES) + goto invalid_param; if (texObj->GenerateMipmap != params[0]) { /* no flush() */ texObj->GenerateMipmap = params[0] ? GL_TRUE : GL_FALSE; @@ -394,12 +418,11 @@ set_tex_parameteri(struct gl_context *ctx, return GL_FALSE; } ASSERT(comp < 4); - if (swz >= 0) { - flush(ctx); - texObj->Swizzle[comp] = params[0]; - set_swizzle_component(&texObj->_Swizzle, comp, swz); - return GL_TRUE; - } + + flush(ctx); + texObj->Swizzle[comp] = params[0]; + set_swizzle_component(&texObj->_Swizzle, comp, swz); + return GL_TRUE; } goto invalid_pname; @@ -597,6 +620,17 @@ _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param) need_update = set_tex_parameteri(ctx, texObj, pname, p); } break; + case GL_TEXTURE_SWIZZLE_R_EXT: + case GL_TEXTURE_SWIZZLE_G_EXT: + case GL_TEXTURE_SWIZZLE_B_EXT: + case GL_TEXTURE_SWIZZLE_A_EXT: + { + GLint p[4]; + p[0] = (GLint) param; + p[1] = p[2] = p[3] = 0; + need_update = set_tex_parameteri(ctx, texObj, pname, p); + } + break; default: { /* this will generate an error if pname is illegal */ @@ -662,6 +696,22 @@ _mesa_TexParameterfv(GLenum target, GLenum pname, const GLfloat *params) break; #endif + case GL_TEXTURE_SWIZZLE_R_EXT: + case GL_TEXTURE_SWIZZLE_G_EXT: + case GL_TEXTURE_SWIZZLE_B_EXT: + case GL_TEXTURE_SWIZZLE_A_EXT: + case GL_TEXTURE_SWIZZLE_RGBA_EXT: + { + GLint p[4] = {0, 0, 0, 0}; + p[0] = (GLint) params[0]; + if (pname == GL_TEXTURE_SWIZZLE_RGBA_EXT) { + p[1] = (GLint) params[1]; + p[2] = (GLint) params[2]; + p[3] = (GLint) params[3]; + } + need_update = set_tex_parameteri(ctx, texObj, pname, p); + } + break; default: /* this will generate an error if pname is illegal */ need_update = set_tex_parameterf(ctx, texObj, pname, params); @@ -1204,6 +1254,12 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) *params = (GLfloat) obj->Sampler.CubeMapSeamless; break; + case GL_TEXTURE_IMMUTABLE_FORMAT: + if (!ctx->Extensions.ARB_texture_storage) + goto invalid_pname; + *params = (GLfloat) obj->Immutable; + break; + default: goto invalid_pname; } @@ -1338,6 +1394,18 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ) *params = (GLint) obj->Sampler.CubeMapSeamless; break; + case GL_TEXTURE_IMMUTABLE_FORMAT: + if (!ctx->Extensions.ARB_texture_storage) + goto invalid_pname; + *params = (GLint) obj->Immutable; + break; + + case GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES: + if (!ctx->Extensions.OES_EGL_image_external) + goto invalid_pname; + *params = obj->RequiredTextureImageUnits; + break; + default: goto invalid_pname; } diff --git a/mesalib/src/mesa/main/texstate.c b/mesalib/src/mesa/main/texstate.c index 9f14d8a0d..7cd285803 100644 --- a/mesalib/src/mesa/main/texstate.c +++ b/mesalib/src/mesa/main/texstate.c @@ -690,7 +690,8 @@ alloc_proxy_textures( struct gl_context *ctx ) GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_1D_ARRAY_EXT, GL_TEXTURE_2D_ARRAY_EXT, - GL_TEXTURE_BUFFER + GL_TEXTURE_BUFFER, + GL_TEXTURE_EXTERNAL_OES }; GLint tgt; diff --git a/mesalib/src/mesa/main/texstorage.c b/mesalib/src/mesa/main/texstorage.c new file mode 100644 index 000000000..241a940cc --- /dev/null +++ b/mesalib/src/mesa/main/texstorage.c @@ -0,0 +1,402 @@ +/* + * Mesa 3-D graphics library + * + * Copyright (C) 2011 VMware, Inc. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +/** + * \file texstorage.c + * GL_ARB_texture_storage functions + */ + + + +#include "glheader.h" +#include "context.h" +#include "enums.h" +#include "imports.h" +#include "macros.h" +#include "mfeatures.h" +#include "teximage.h" +#include "texstorage.h" +#include "mtypes.h" + + + +/** + * Check if the given texture target is a legal texture object target + * for a glTexStorage() command. + * This is a bit different than legal_teximage_target() when it comes + * to cube maps. + */ +static GLboolean +legal_texobj_target(struct gl_context *ctx, GLuint dims, GLenum target) +{ + switch (dims) { + case 1: + switch (target) { + case GL_TEXTURE_1D: + case GL_PROXY_TEXTURE_1D: + return GL_TRUE; + default: + return GL_FALSE; + } + case 2: + switch (target) { + case GL_TEXTURE_2D: + case GL_PROXY_TEXTURE_2D: + return GL_TRUE; + case GL_TEXTURE_CUBE_MAP: + case GL_PROXY_TEXTURE_CUBE_MAP: + return ctx->Extensions.ARB_texture_cube_map; + case GL_TEXTURE_RECTANGLE: + case GL_PROXY_TEXTURE_RECTANGLE: + return ctx->Extensions.NV_texture_rectangle; + case GL_TEXTURE_1D_ARRAY: + case GL_PROXY_TEXTURE_1D_ARRAY: + return (ctx->Extensions.MESA_texture_array || + ctx->Extensions.EXT_texture_array); + default: + return GL_FALSE; + } + case 3: + switch (target) { + case GL_TEXTURE_3D: + case GL_PROXY_TEXTURE_3D: + return GL_TRUE; + case GL_TEXTURE_2D_ARRAY: + case GL_PROXY_TEXTURE_2D_ARRAY: + return (ctx->Extensions.MESA_texture_array || + ctx->Extensions.EXT_texture_array); + default: + return GL_FALSE; + } + default: + _mesa_problem(ctx, "invalid dims=%u in legal_texobj_target()", dims); + return GL_FALSE; + } +} + + +/** + * Compute the size of the next mipmap level. + */ +static void +next_mipmap_level_size(GLenum target, + GLint *width, GLint *height, GLint *depth) +{ + if (*width > 1) { + *width /= 2; + } + + if ((*height > 1) && (target != GL_TEXTURE_1D_ARRAY)) { + *height /= 2; + } + + if ((*depth > 1) && (target != GL_TEXTURE_2D_ARRAY)) { + *depth /= 2; + } +} + + +/** + * Do actual memory allocation for glTexStorage1/2/3D(). + */ +static void +setup_texstorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLuint dims, + GLsizei levels, GLenum internalFormat, + GLsizei width, GLsizei height, GLsizei depth) +{ + const GLenum target = texObj->Target; + const GLuint numFaces = (target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + gl_format texFormat; + GLint level, levelWidth = width, levelHeight = height, levelDepth = depth; + GLuint face; + + assert(levels > 0); + assert(width > 0); + assert(height > 0); + assert(depth > 0); + + texFormat = _mesa_choose_texture_format(ctx, texObj, target, 0, + internalFormat, GL_NONE, GL_NONE); + + /* Set up all the texture object's gl_texture_images */ + for (level = 0; level < levels; level++) { + for (face = 0; face < numFaces; face++) { + const GLenum faceTarget = + (target == GL_TEXTURE_CUBE_MAP) + ? GL_TEXTURE_CUBE_MAP_POSITIVE_X + face : target; + struct gl_texture_image *texImage = + _mesa_get_tex_image(ctx, texObj, faceTarget, level); + + if (!texImage) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage%uD", dims); + return; + } + + _mesa_init_teximage_fields(ctx, target, texImage, + levelWidth, levelHeight, levelDepth, + 0, internalFormat, texFormat); + } + + next_mipmap_level_size(target, &levelWidth, &levelHeight, &levelDepth); + } + + assert(levelWidth > 0); + assert(levelHeight > 0); + assert(levelDepth > 0); + + if (!_mesa_is_proxy_texture(texObj->Target)) { + /* Do actual texture memory allocation */ + if (!ctx->Driver.AllocTextureStorage(ctx, texObj, levels, + width, height, depth)) { + /* Reset the texture images' info to zeros. + * Strictly speaking, we probably don't have to do this since + * generating GL_OUT_OF_MEMORY can leave things in an undefined + * state but this puts things in a consistent state. + */ + for (level = 0; level < levels; level++) { + for (face = 0; face < numFaces; face++) { + struct gl_texture_image *texImage = texObj->Image[face][level]; + if (texImage) { + _mesa_init_teximage_fields(ctx, target, texImage, + 0, 0, 0, 0, + GL_NONE, MESA_FORMAT_NONE); + } + } + } + + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexStorage%uD", dims); + + return; + } + } + + texObj->Immutable = GL_TRUE; +} + + +/** + * Clear all fields of texture object to zeros. Used for proxy texture tests. + */ +static void +clear_image_fields(struct gl_context *ctx, + GLuint dims, + struct gl_texture_object *texObj) +{ + const GLenum target = texObj->Target; + const GLuint numFaces = (target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + GLint level; + GLuint face; + + for (level = 0; level < Elements(texObj->Image[0]); level++) { + for (face = 0; face < numFaces; face++) { + const GLenum faceTarget = + (target == GL_TEXTURE_CUBE_MAP) + ? GL_TEXTURE_CUBE_MAP_POSITIVE_X + face : target; + struct gl_texture_image *texImage = + _mesa_get_tex_image(ctx, texObj, faceTarget, level); + + if (!texImage) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexStorage%uD", dims); + return; + } + + _mesa_init_teximage_fields(ctx, target, texImage, + 0, 0, 0, 0, GL_NONE, MESA_FORMAT_NONE); + } + } +} + + +/** + * Do error checking for calls to glTexStorage1/2/3D(). + * If an error is found, record it with _mesa_error(), unless the target + * is a proxy texture. + * \return GL_TRUE if any error, GL_FALSE otherwise. + */ +static GLboolean +tex_storage_error_check(struct gl_context *ctx, GLuint dims, GLenum target, + GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + const GLboolean isProxy = _mesa_is_proxy_texture(target); + struct gl_texture_object *texObj; + GLuint maxDim; + + /* size check */ + if (width < 1 || height < 1 || depth < 1) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_VALUE, + "glTexStorage%uD(width, height or depth < 1)", dims); + } + return GL_TRUE; + } + + /* levels check */ + if (levels < 1 || height < 1 || depth < 1) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_VALUE, "glTexStorage%uD(levels < 1)", + dims); + } + return GL_TRUE; + } + + /* target check */ + if (!legal_texobj_target(ctx, dims, target)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glTexStorage%uD(illegal target=%s)", + dims, _mesa_lookup_enum_by_nr(target)); + return GL_TRUE; + } + + /* check levels against maximum */ + if (levels > _mesa_max_texture_levels(ctx, target)) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexStorage%uD(levels too large)", dims); + } + return GL_TRUE; + } + + /* check levels against width/height/depth */ + maxDim = MAX3(width, height, depth); + if (levels > _mesa_logbase2(maxDim) + 1) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexStorage%uD(too many levels for max texture dimension)", + dims); + } + return GL_TRUE; + } + + /* non-default texture object check */ + texObj = _mesa_get_current_tex_object(ctx, target); + if (!texObj || (texObj->Name == 0 && !isProxy)) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexStorage%uD(texture object 0)", dims); + } + return GL_TRUE; + } + + /* Check if texObj->Immutable is set */ + if (texObj->Immutable) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glTexStorage%uD(immutable)", + dims); + } + return GL_TRUE; + } + + return GL_FALSE; +} + + +/** + * Helper used by _mesa_TexStorage1/2/3D(). + */ +static void +texstorage(GLuint dims, GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + struct gl_texture_object *texObj; + GLboolean error; + + GET_CURRENT_CONTEXT(ctx); + + texObj = _mesa_get_current_tex_object(ctx, target); + + error = tex_storage_error_check(ctx, dims, target, levels, + internalformat, width, height, depth); + if (!error) { + setup_texstorage(ctx, texObj, dims, levels, internalformat, + width, height, depth); + } + else if (_mesa_is_proxy_texture(target)) { + /* clear all image fields for [levels] */ + clear_image_fields(ctx, dims, texObj); + } +} + + +void GLAPIENTRY +_mesa_TexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width) +{ + texstorage(1, target, levels, internalformat, width, 1, 1); +} + + +void GLAPIENTRY +_mesa_TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height) +{ + texstorage(2, target, levels, internalformat, width, height, 1); +} + + +void GLAPIENTRY +_mesa_TexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + texstorage(3, target, levels, internalformat, width, height, depth); +} + + + +/* + * Note: we don't support GL_EXT_direct_state_access and the spec says + * we don't need the following functions. However, glew checks for the + * presence of all six functions and will say that GL_ARB_texture_storage + * is not supported if these functions are missing. + */ + + +void GLAPIENTRY +_mesa_TextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width) +{ + /* no-op */ +} + + +void GLAPIENTRY +_mesa_TextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height) +{ + /* no-op */ +} + + + +void GLAPIENTRY +_mesa_TextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + /* no-op */ +} diff --git a/mesalib/src/mesa/main/texstorage.h b/mesalib/src/mesa/main/texstorage.h new file mode 100644 index 000000000..99382df51 --- /dev/null +++ b/mesalib/src/mesa/main/texstorage.h @@ -0,0 +1,61 @@ +/* + * Mesa 3-D graphics library + * + * Copyright (C) 2011 VMware, Inc. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +#ifndef TEXSTORAGE_H +#define TEXSTORAGE_H + + +extern void GLAPIENTRY +_mesa_TexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width); + + +extern void GLAPIENTRY +_mesa_TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height); + + +extern void GLAPIENTRY +_mesa_TexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth); + + + +extern void GLAPIENTRY +_mesa_TextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width); + +extern void GLAPIENTRY +_mesa_TextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height); + +extern void GLAPIENTRY +_mesa_TextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth); + + +#endif /* TEXSTORAGE_H */ diff --git a/mesalib/src/mesa/main/uniforms.c b/mesalib/src/mesa/main/uniforms.c index ccaedf9f1..68e44b272 100644 --- a/mesalib/src/mesa/main/uniforms.c +++ b/mesalib/src/mesa/main/uniforms.c @@ -148,6 +148,7 @@ is_sampler_type(GLenum type) case GL_SAMPLER_2D_MULTISAMPLE_ARRAY: case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: + case GL_SAMPLER_EXTERNAL_OES: return GL_TRUE; default: return GL_FALSE; diff --git a/mesalib/src/mesa/main/varray.c b/mesalib/src/mesa/main/varray.c index 13b3405e5..f1a57c1f0 100644 --- a/mesalib/src/mesa/main/varray.c +++ b/mesalib/src/mesa/main/varray.c @@ -212,6 +212,7 @@ update_array(struct gl_context *ctx, array->Stride = stride; array->StrideB = stride ? stride : elementSize; array->Normalized = normalized; + array->Integer = integer; array->Ptr = (const GLubyte *) ptr; array->_ElementSize = elementSize; diff --git a/mesalib/src/mesa/program/ir_to_mesa.cpp b/mesalib/src/mesa/program/ir_to_mesa.cpp index 93563bdaa..3c2eb5707 100644 --- a/mesalib/src/mesa/program/ir_to_mesa.cpp +++ b/mesalib/src/mesa/program/ir_to_mesa.cpp @@ -2273,6 +2273,9 @@ ir_to_mesa_visitor::visit(ir_texture *ir) case GLSL_SAMPLER_DIM_BUF: assert(!"FINISHME: Implement ARB_texture_buffer_object"); break; + case GLSL_SAMPLER_DIM_EXTERNAL: + inst->tex_target = TEXTURE_EXTERNAL_INDEX; + break; default: assert(!"Should not get here."); } @@ -2546,7 +2549,7 @@ count_resources(struct gl_program *prog) * * XXX more checks are needed... */ -static void +static bool check_resources(const struct gl_context *ctx, struct gl_shader_program *shader_program, struct gl_program *prog) @@ -2586,6 +2589,8 @@ check_resources(const struct gl_context *ctx, default: _mesa_problem(ctx, "unexpected program type in check_resources()"); } + + return shader_program->LinkStatus; } class add_uniform_to_shader : public uniform_field_visitor { @@ -3168,9 +3173,7 @@ get_mesa_program(struct gl_context *ctx, } if (!shader_program->LinkStatus) { - free(mesa_instructions); - _mesa_reference_program(ctx, &shader->Program, NULL); - return NULL; + goto fail_exit; } set_branchtargets(&v, mesa_instructions, num_instructions); @@ -3191,10 +3194,16 @@ get_mesa_program(struct gl_context *ctx, prog->Instructions = mesa_instructions; prog->NumInstructions = num_instructions; + /* Setting this to NULL prevents a possible double free in the fail_exit + * path (far below). + */ + mesa_instructions = NULL; + do_set_program_inouts(shader->ir, prog, shader->Type == GL_FRAGMENT_SHADER); count_resources(prog); - check_resources(ctx, shader_program, prog); + if (!check_resources(ctx, shader_program, prog)) + goto fail_exit; _mesa_reference_program(ctx, &shader->Program, prog); @@ -3203,6 +3212,11 @@ get_mesa_program(struct gl_context *ctx, } return prog; + +fail_exit: + free(mesa_instructions); + _mesa_reference_program(ctx, &shader->Program, NULL); + return NULL; } extern "C" { @@ -3301,7 +3315,7 @@ _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) _mesa_reference_program(ctx, &linked_prog, NULL); } - return GL_TRUE; + return prog->LinkStatus; } diff --git a/mesalib/src/mesa/program/nvfragparse.c b/mesalib/src/mesa/program/nvfragparse.c index ce72c610d..bcc553a9b 100644 --- a/mesalib/src/mesa/program/nvfragparse.c +++ b/mesalib/src/mesa/program/nvfragparse.c @@ -568,7 +568,7 @@ Parse_VectorOrScalarConstant(struct parse_state *parseState, GLfloat *vec) */ static GLboolean Parse_TextureImageId(struct parse_state *parseState, - GLubyte *texUnit, GLubyte *texTargetBit) + GLubyte *texUnit, GLubyte *texTarget) { GLubyte imageSrc[100]; GLint unit; @@ -592,26 +592,26 @@ Parse_TextureImageId(struct parse_state *parseState, RETURN_ERROR1("Expected ,"); if (Parse_String(parseState, "1D")) { - *texTargetBit = TEXTURE_1D_BIT; + *texTarget = TEXTURE_1D_INDEX; } else if (Parse_String(parseState, "2D")) { - *texTargetBit = TEXTURE_2D_BIT; + *texTarget = TEXTURE_2D_INDEX; } else if (Parse_String(parseState, "3D")) { - *texTargetBit = TEXTURE_3D_BIT; + *texTarget = TEXTURE_3D_INDEX; } else if (Parse_String(parseState, "CUBE")) { - *texTargetBit = TEXTURE_CUBE_BIT; + *texTarget = TEXTURE_CUBE_INDEX; } else if (Parse_String(parseState, "RECT")) { - *texTargetBit = TEXTURE_RECT_BIT; + *texTarget = TEXTURE_RECT_INDEX; } else { RETURN_ERROR1("Invalid texture target token"); } /* update record of referenced texture units */ - parseState->texturesUsed[*texUnit] |= *texTargetBit; + parseState->texturesUsed[*texUnit] |= (1 << *texTarget); if (_mesa_bitcount(parseState->texturesUsed[*texUnit]) > 1) { RETURN_ERROR1("Only one texture target can be used per texture unit."); } diff --git a/mesalib/src/mesa/program/prog_instruction.h b/mesalib/src/mesa/program/prog_instruction.h index db2b594e7..09659ce9c 100644 --- a/mesalib/src/mesa/program/prog_instruction.h +++ b/mesalib/src/mesa/program/prog_instruction.h @@ -392,7 +392,7 @@ struct prog_instruction GLuint TexSrcUnit:5; /** Source texture target, one of TEXTURE_{1D,2D,3D,CUBE,RECT}_INDEX */ - GLuint TexSrcTarget:3; + GLuint TexSrcTarget:4; /** True if tex instruction should do shadow comparison */ GLuint TexShadow:1; diff --git a/mesalib/src/mesa/program/program.c b/mesalib/src/mesa/program/program.c index 736652529..582cbccf8 100644 --- a/mesalib/src/mesa/program/program.c +++ b/mesalib/src/mesa/program/program.c @@ -78,7 +78,7 @@ _mesa_init_program(struct gl_context *ctx) ASSERT(MAX_TEXTURE_UNITS <= (1 << 5)); /* If this fails, increase prog_instruction::TexSrcTarget size */ - ASSERT(NUM_TEXTURE_TARGETS <= (1 << 3)); + ASSERT(NUM_TEXTURE_TARGETS <= (1 << 4)); ctx->Program.ErrorPos = -1; ctx->Program.ErrorString = _mesa_strdup(""); diff --git a/mesalib/src/mesa/sources.mak b/mesalib/src/mesa/sources.mak index aedee3d1c..6e327a472 100644 --- a/mesalib/src/mesa/sources.mak +++ b/mesalib/src/mesa/sources.mak @@ -93,6 +93,7 @@ MAIN_SOURCES = \ main/texpal.c \ main/texparam.c \ main/texstate.c \ + main/texstorage.c \ main/texstore.c \ main/texturebarrier.c \ main/transformfeedback.c \ diff --git a/mesalib/src/mesa/state_tracker/st_cb_texture.c b/mesalib/src/mesa/state_tracker/st_cb_texture.c index f82346bc6..c58a9df56 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_texture.c +++ b/mesalib/src/mesa/state_tracker/st_cb_texture.c @@ -75,6 +75,7 @@ gl_target_to_pipe(GLenum target) case GL_TEXTURE_1D: return PIPE_TEXTURE_1D; case GL_TEXTURE_2D: + case GL_TEXTURE_EXTERNAL_OES: return PIPE_TEXTURE_2D; case GL_TEXTURE_RECTANGLE_NV: return PIPE_TEXTURE_RECT; @@ -310,6 +311,7 @@ get_texture_dims(GLenum target) case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB: case GL_TEXTURE_RECTANGLE_NV: case GL_TEXTURE_2D_ARRAY_EXT: + case GL_TEXTURE_EXTERNAL_OES: return 2; case GL_TEXTURE_3D: return 3; @@ -1842,6 +1844,66 @@ st_get_default_texture(struct st_context *st) } +/** + * Called via ctx->Driver.AllocTextureStorage() to allocate texture memory + * for a whole mipmap stack. + */ +static GLboolean +st_AllocTextureStorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth) +{ + const GLuint numFaces = (texObj->Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + struct st_context *st = st_context(ctx); + struct st_texture_object *stObj = st_texture_object(texObj); + GLuint ptWidth, ptHeight, ptDepth, ptLayers, bindings; + enum pipe_format fmt; + GLint level; + + assert(levels > 0); + + /* Save the level=0 dimensions */ + stObj->width0 = width; + stObj->height0 = height; + stObj->depth0 = depth; + stObj->lastLevel = levels - 1; + + fmt = st_mesa_format_to_pipe_format(texObj->Image[0][0]->TexFormat); + + bindings = default_bindings(st, fmt); + + st_gl_texture_dims_to_pipe_dims(texObj->Target, + width, height, depth, + &ptWidth, &ptHeight, &ptDepth, &ptLayers); + + stObj->pt = st_texture_create(st, + gl_target_to_pipe(texObj->Target), + fmt, + levels, + ptWidth, + ptHeight, + ptDepth, + ptLayers, + bindings); + if (!stObj->pt) + return GL_FALSE; + + /* Set image resource pointers */ + for (level = 0; level < levels; level++) { + GLuint face; + for (face = 0; face < numFaces; face++) { + struct st_texture_image *stImage = + st_texture_image(texObj->Image[face][level]); + pipe_resource_reference(&stImage->pt, stObj->pt); + } + } + + return GL_TRUE; +} + + + void st_init_texture_functions(struct dd_function_table *functions) { @@ -1879,4 +1941,6 @@ st_init_texture_functions(struct dd_function_table *functions) /* XXX Temporary until we can query pipe's texture sizes */ functions->TestProxyTexImage = _mesa_test_proxy_teximage; + + functions->AllocTextureStorage = st_AllocTextureStorage; } diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c index 6b9ff6b72..af8cc0476 100644 --- a/mesalib/src/mesa/state_tracker/st_extensions.c +++ b/mesalib/src/mesa/state_tracker/st_extensions.c @@ -264,6 +264,7 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_texture_env_combine = GL_TRUE; ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE; ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE; + ctx->Extensions.ARB_texture_storage = GL_TRUE; ctx->Extensions.ARB_vertex_array_object = GL_TRUE; ctx->Extensions.ARB_vertex_program = GL_TRUE; ctx->Extensions.ARB_window_pos = GL_TRUE; @@ -290,6 +291,7 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.MESA_pack_invert = GL_TRUE; ctx->Extensions.NV_blend_square = GL_TRUE; + ctx->Extensions.NV_fog_distance = GL_TRUE; ctx->Extensions.NV_texgen_reflection = GL_TRUE; ctx->Extensions.NV_texture_env_combine4 = GL_TRUE; ctx->Extensions.NV_texture_rectangle = GL_TRUE; @@ -301,6 +303,8 @@ void st_init_extensions(struct st_context *st) #if FEATURE_OES_EGL_image ctx->Extensions.OES_EGL_image = GL_TRUE; + if (ctx->API != API_OPENGL) + ctx->Extensions.OES_EGL_image_external = GL_TRUE; #endif #if FEATURE_OES_draw_texture ctx->Extensions.OES_draw_texture = GL_TRUE; diff --git a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 67a1b513b..6b841f1e9 100644 --- a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -2725,6 +2725,9 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir) case GLSL_SAMPLER_DIM_BUF: assert(!"FINISHME: Implement ARB_texture_buffer_object"); break; + case GLSL_SAMPLER_DIM_EXTERNAL: + inst->tex_target = TEXTURE_EXTERNAL_INDEX; + break; default: assert(!"Should not get here."); } diff --git a/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c b/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c index b4111b00d..27ebb1ad7 100644 --- a/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c +++ b/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c @@ -290,6 +290,7 @@ translate_texture_target( GLuint textarget, case TEXTURE_RECT_INDEX: return TGSI_TEXTURE_RECT; case TEXTURE_1D_ARRAY_INDEX: return TGSI_TEXTURE_1D_ARRAY; case TEXTURE_2D_ARRAY_INDEX: return TGSI_TEXTURE_2D_ARRAY; + case TEXTURE_EXTERNAL_INDEX: return TGSI_TEXTURE_2D; default: debug_assert( 0 ); return TGSI_TEXTURE_1D; diff --git a/mesalib/src/mesa/state_tracker/st_program.c b/mesalib/src/mesa/state_tracker/st_program.c index c419c4066..146e77f9d 100644 --- a/mesalib/src/mesa/state_tracker/st_program.c +++ b/mesalib/src/mesa/state_tracker/st_program.c @@ -416,6 +416,20 @@ st_get_vp_variant(struct st_context *st, return vpv; } +static int st_translate_interp(enum glsl_interp_qualifier glsl_qual) +{ + switch (glsl_qual) { + case INTERP_QUALIFIER_NONE: + case INTERP_QUALIFIER_SMOOTH: + return TGSI_INTERPOLATE_PERSPECTIVE; + case INTERP_QUALIFIER_FLAT: + return TGSI_INTERPOLATE_CONSTANT; + case INTERP_QUALIFIER_NOPERSPECTIVE: + return TGSI_INTERPOLATE_LINEAR; + } + assert(0); + return TGSI_INTERPOLATE_PERSPECTIVE; +} /** * Translate a Mesa fragment shader into a TGSI shader using extra info in @@ -558,7 +572,7 @@ st_translate_fragment_program(struct st_context *st, if (attr == FRAG_ATTRIB_PNTC) interpMode[slot] = TGSI_INTERPOLATE_LINEAR; else - interpMode[slot] = TGSI_INTERPOLATE_PERSPECTIVE; + interpMode[slot] = st_translate_interp(stfp->Base.InterpQualifier[attr]); break; } } diff --git a/mesalib/src/mesa/state_tracker/st_texture.c b/mesalib/src/mesa/state_tracker/st_texture.c index ca8106b52..3323bbbbe 100644 --- a/mesalib/src/mesa/state_tracker/st_texture.c +++ b/mesalib/src/mesa/state_tracker/st_texture.c @@ -133,6 +133,7 @@ st_gl_texture_dims_to_pipe_dims(GLenum texture, break; case GL_TEXTURE_2D: case GL_TEXTURE_RECTANGLE: + case GL_TEXTURE_EXTERNAL_OES: assert(depthIn == 1); *widthOut = widthIn; *heightOut = heightIn; diff --git a/mesalib/src/mesa/swrast/s_depth.c b/mesalib/src/mesa/swrast/s_depth.c index 90b9ee572..6ffa0a310 100644 --- a/mesalib/src/mesa/swrast/s_depth.c +++ b/mesalib/src/mesa/swrast/s_depth.c @@ -1,1484 +1,1401 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.2.1
- *
- * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#include "main/glheader.h"
-#include "main/context.h"
-#include "main/formats.h"
-#include "main/macros.h"
-#include "main/imports.h"
-
-#include "s_depth.h"
-#include "s_span.h"
-
-
-/**
- * Do depth test for a horizontal span of fragments.
- * Input: zbuffer - array of z values in the zbuffer
- * z - array of fragment z values
- * Return: number of fragments which pass the test.
- */
-static GLuint
-depth_test_span16( struct gl_context *ctx, GLuint n,
- GLushort zbuffer[], const GLuint z[], GLubyte mask[] )
-{
- GLuint passed = 0;
-
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- passed = n;
- }
- break;
- case GL_NEVER:
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in depth_test_span16");
- }
-
- return passed;
-}
-
-
-static GLuint
-depth_test_span32( struct gl_context *ctx, GLuint n,
- GLuint zbuffer[], const GLuint z[], GLubyte mask[] )
-{
- GLuint passed = 0;
-
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- passed = n;
- }
- break;
- case GL_NEVER:
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in depth_test_span32");
- }
-
- return passed;
-}
-
-
-
-/**
- * Clamp fragment Z values to the depth near/far range (glDepthRange()).
- * This is used when GL_ARB_depth_clamp/GL_DEPTH_CLAMP is turned on.
- * In that case, vertexes are not clipped against the near/far planes
- * so rasterization will produce fragment Z values outside the usual
- * [0,1] range.
- */
-void
-_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span )
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- const GLuint count = span->end;
- GLint *zValues = (GLint *) span->array->z; /* sign change */
- GLint min, max;
- GLfloat min_f, max_f;
- GLuint i;
-
- if (ctx->Viewport.Near < ctx->Viewport.Far) {
- min_f = ctx->Viewport.Near;
- max_f = ctx->Viewport.Far;
- } else {
- min_f = ctx->Viewport.Far;
- max_f = ctx->Viewport.Near;
- }
-
- /* Convert floating point values in [0,1] to device Z coordinates in
- * [0, DepthMax].
- * ex: If the Z buffer has 24 bits, DepthMax = 0xffffff.
- *
- * XXX this all falls apart if we have 31 or more bits of Z because
- * the triangle rasterization code produces unsigned Z values. Negative
- * vertex Z values come out as large fragment Z uints.
- */
- min = (GLint) (min_f * fb->_DepthMaxF);
- max = (GLint) (max_f * fb->_DepthMaxF);
- if (max < 0)
- max = 0x7fffffff; /* catch over flow for 30-bit z */
-
- /* Note that we do the comparisons here using signed integers.
- */
- for (i = 0; i < count; i++) {
- if (zValues[i] < min)
- zValues[i] = min;
- if (zValues[i] > max)
- zValues[i] = max;
- }
-}
-
-
-
-/*
- * Apply depth test to span of fragments.
- */
-static GLuint
-depth_test_span( struct gl_context *ctx, SWspan *span)
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- struct gl_renderbuffer *rb = fb->_DepthBuffer;
- const GLint x = span->x;
- const GLint y = span->y;
- const GLuint count = span->end;
- const GLuint *zValues = span->array->z;
- GLubyte *mask = span->array->mask;
- GLuint passed;
-
- ASSERT((span->arrayMask & SPAN_XY) == 0);
- ASSERT(span->arrayMask & SPAN_Z);
-
- if (rb->GetPointer(ctx, rb, 0, 0)) {
- /* Directly access buffer */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort *zbuffer = (GLushort *) rb->GetPointer(ctx, rb, x, y);
- passed = depth_test_span16(ctx, count, zbuffer, zValues, mask);
- }
- else {
- GLuint *zbuffer = (GLuint *) rb->GetPointer(ctx, rb, x, y);
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- passed = depth_test_span32(ctx, count, zbuffer, zValues, mask);
- }
- }
- else {
- /* read depth values from buffer, test, write back */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort zbuffer[MAX_WIDTH];
- rb->GetRow(ctx, rb, count, x, y, zbuffer);
- passed = depth_test_span16(ctx, count, zbuffer, zValues, mask);
- rb->PutRow(ctx, rb, count, x, y, zbuffer, mask);
- }
- else {
- GLuint zbuffer[MAX_WIDTH];
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- rb->GetRow(ctx, rb, count, x, y, zbuffer);
- passed = depth_test_span32(ctx, count, zbuffer, zValues, mask);
- rb->PutRow(ctx, rb, count, x, y, zbuffer, mask);
- }
- }
-
- if (passed < count) {
- span->writeAll = GL_FALSE;
- }
- return passed;
-}
-
-
-
-#define Z_ADDRESS(X, Y) (zStart + (Y) * stride + (X))
-
-
-/*
- * Do depth testing for an array of fragments at assorted locations.
- */
-static void
-direct_depth_test_pixels16(struct gl_context *ctx, GLushort *zStart, GLuint stride,
- GLuint n, const GLint x[], const GLint y[],
- const GLuint z[], GLubyte mask[] )
-{
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- *zptr = z[i];
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- }
- break;
- case GL_NEVER:
- /* depth test never passes */
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels");
- }
-}
-
-
-
-/*
- * Do depth testing for an array of fragments with direct access to zbuffer.
- */
-static void
-direct_depth_test_pixels32(struct gl_context *ctx, GLuint *zStart, GLuint stride,
- GLuint n, const GLint x[], const GLint y[],
- const GLuint z[], GLubyte mask[] )
-{
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- *zptr = z[i];
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- }
- break;
- case GL_NEVER:
- /* depth test never passes */
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels");
- }
-}
-
-
-
-
-static GLuint
-depth_test_pixels( struct gl_context *ctx, SWspan *span )
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- struct gl_renderbuffer *rb = fb->_DepthBuffer;
- const GLuint count = span->end;
- const GLint *x = span->array->x;
- const GLint *y = span->array->y;
- const GLuint *z = span->array->z;
- GLubyte *mask = span->array->mask;
-
- if (rb->GetPointer(ctx, rb, 0, 0)) {
- /* Directly access values */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort *zStart = (GLushort *) rb->Data;
- GLuint stride = rb->Width;
- direct_depth_test_pixels16(ctx, zStart, stride, count, x, y, z, mask);
- }
- else {
- GLuint *zStart = (GLuint *) rb->Data;
- GLuint stride = rb->Width;
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- direct_depth_test_pixels32(ctx, zStart, stride, count, x, y, z, mask);
- }
- }
- else {
- /* read depth values from buffer, test, write back */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort zbuffer[MAX_WIDTH];
- _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLushort));
- depth_test_span16(ctx, count, zbuffer, z, mask);
- rb->PutValues(ctx, rb, count, x, y, zbuffer, mask);
- }
- else {
- GLuint zbuffer[MAX_WIDTH];
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLuint));
- depth_test_span32(ctx, count, zbuffer, z, mask);
- rb->PutValues(ctx, rb, count, x, y, zbuffer, mask);
- }
- }
-
- return count; /* not really correct, but OK */
-}
-
-
-/**
- * Apply depth (Z) buffer testing to the span.
- * \return approx number of pixels that passed (only zero is reliable)
- */
-GLuint
-_swrast_depth_test_span( struct gl_context *ctx, SWspan *span)
-{
- if (span->arrayMask & SPAN_XY)
- return depth_test_pixels(ctx, span);
- else
- return depth_test_span(ctx, span);
-}
-
-
-/**
- * GL_EXT_depth_bounds_test extension.
- * Discard fragments depending on whether the corresponding Z-buffer
- * values are outside the depth bounds test range.
- * Note: we test the Z buffer values, not the fragment Z values!
- * \return GL_TRUE if any fragments pass, GL_FALSE if no fragments pass
- */
-GLboolean
-_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span )
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- struct gl_renderbuffer *rb = fb->_DepthBuffer;
- GLuint zMin = (GLuint) (ctx->Depth.BoundsMin * fb->_DepthMaxF + 0.5F);
- GLuint zMax = (GLuint) (ctx->Depth.BoundsMax * fb->_DepthMaxF + 0.5F);
- GLubyte *mask = span->array->mask;
- const GLuint count = span->end;
- GLuint i;
- GLboolean anyPass = GL_FALSE;
-
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- /* get 16-bit values */
- GLushort zbuffer16[MAX_WIDTH], *zbuffer;
- if (span->arrayMask & SPAN_XY) {
- _swrast_get_values(ctx, rb, count, span->array->x, span->array->y,
- zbuffer16, sizeof(GLushort));
- zbuffer = zbuffer16;
- }
- else {
- zbuffer = (GLushort*) rb->GetPointer(ctx, rb, span->x, span->y);
- if (!zbuffer) {
- rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer16);
- zbuffer = zbuffer16;
- }
- }
- assert(zbuffer);
-
- /* Now do the tests */
- for (i = 0; i < count; i++) {
- if (mask[i]) {
- if (zbuffer[i] < zMin || zbuffer[i] > zMax)
- mask[i] = GL_FALSE;
- else
- anyPass = GL_TRUE;
- }
- }
- }
- else {
- /* get 32-bit values */
- GLuint zbuffer32[MAX_WIDTH], *zbuffer;
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- if (span->arrayMask & SPAN_XY) {
- _swrast_get_values(ctx, rb, count, span->array->x, span->array->y,
- zbuffer32, sizeof(GLuint));
- zbuffer = zbuffer32;
- }
- else {
- zbuffer = (GLuint*) rb->GetPointer(ctx, rb, span->x, span->y);
- if (!zbuffer) {
- rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer32);
- zbuffer = zbuffer32;
- }
- }
- assert(zbuffer);
-
- /* Now do the tests */
- for (i = 0; i < count; i++) {
- if (mask[i]) {
- if (zbuffer[i] < zMin || zbuffer[i] > zMax)
- mask[i] = GL_FALSE;
- else
- anyPass = GL_TRUE;
- }
- }
- }
-
- return anyPass;
-}
-
-
-
-/**********************************************************************/
-/***** Read Depth Buffer *****/
-/**********************************************************************/
-
-
-/**
- * Read a span of depth values from the given depth renderbuffer, returning
- * the values as GLfloats.
- * This function does clipping to prevent reading outside the depth buffer's
- * bounds. Though the clipping is redundant when we're called from
- * _swrast_ReadPixels.
- */
-void
-_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLfloat depth[] )
-{
- const GLfloat scale = 1.0F / ctx->DrawBuffer->_DepthMaxF;
-
- if (!rb) {
- /* really only doing this to prevent FP exceptions later */
- memset(depth, 0, n * sizeof(GLfloat));
- return;
- }
-
- ASSERT(rb->_BaseFormat == GL_DEPTH_COMPONENT);
-
- if (y < 0 || y >= (GLint) rb->Height ||
- x + n <= 0 || x >= (GLint) rb->Width) {
- /* span is completely outside framebuffer */
- memset(depth, 0, n * sizeof(GLfloat));
- return;
- }
-
- if (x < 0) {
- GLint dx = -x;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[i] = 0.0;
- x = 0;
- n -= dx;
- depth += dx;
- }
- if (x + n > (GLint) rb->Width) {
- GLint dx = x + n - (GLint) rb->Width;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[n - i - 1] = 0.0;
- n -= dx;
- }
- if (n <= 0) {
- return;
- }
-
- if (rb->DataType == GL_UNSIGNED_INT) {
- GLuint temp[MAX_WIDTH];
- GLint i;
- rb->GetRow(ctx, rb, n, x, y, temp);
- for (i = 0; i < n; i++) {
- depth[i] = temp[i] * scale;
- }
- }
- else if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort temp[MAX_WIDTH];
- GLint i;
- rb->GetRow(ctx, rb, n, x, y, temp);
- for (i = 0; i < n; i++) {
- depth[i] = temp[i] * scale;
- }
- }
- else {
- _mesa_problem(ctx, "Invalid depth renderbuffer data type");
- }
-}
-
-
-/**
- * As above, but return 32-bit GLuint values.
- */
-void
-_swrast_read_depth_span_uint( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLuint depth[] )
-{
- GLuint depthBits;
-
- if (!rb) {
- /* really only doing this to prevent FP exceptions later */
- memset(depth, 0, n * sizeof(GLuint));
- return;
- }
-
- depthBits = _mesa_get_format_bits(rb->Format, GL_DEPTH_BITS);
-
- ASSERT(rb->_BaseFormat == GL_DEPTH_COMPONENT);
-
- if (y < 0 || y >= (GLint) rb->Height ||
- x + n <= 0 || x >= (GLint) rb->Width) {
- /* span is completely outside framebuffer */
- memset(depth, 0, n * sizeof(GLfloat));
- return;
- }
-
- if (x < 0) {
- GLint dx = -x;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[i] = 0;
- x = 0;
- n -= dx;
- depth += dx;
- }
- if (x + n > (GLint) rb->Width) {
- GLint dx = x + n - (GLint) rb->Width;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[n - i - 1] = 0;
- n -= dx;
- }
- if (n <= 0) {
- return;
- }
-
- if (rb->DataType == GL_UNSIGNED_INT) {
- rb->GetRow(ctx, rb, n, x, y, depth);
- if (depthBits < 32) {
- GLuint shift = 32 - depthBits;
- GLint i;
- for (i = 0; i < n; i++) {
- GLuint z = depth[i];
- depth[i] = z << shift; /* XXX lsb bits? */
- }
- }
- }
- else if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort temp[MAX_WIDTH];
- GLint i;
- rb->GetRow(ctx, rb, n, x, y, temp);
- if (depthBits == 16) {
- for (i = 0; i < n; i++) {
- GLuint z = temp[i];
- depth[i] = (z << 16) | z;
- }
- }
- else {
- GLuint shift = 16 - depthBits;
- for (i = 0; i < n; i++) {
- GLuint z = temp[i];
- depth[i] = (z << (shift + 16)) | (z << shift); /* XXX lsb bits? */
- }
- }
- }
- else {
- _mesa_problem(ctx, "Invalid depth renderbuffer data type");
- }
-}
-
-
-
-/**
- * Clear the given z/depth renderbuffer.
- */
-void
-_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb )
-{
- GLuint clearValue;
- GLint x, y, width, height;
-
- if (!rb || !ctx->Depth.Mask) {
- /* no depth buffer, or writing to it is disabled */
- return;
- }
-
- /* compute integer clearing value */
- if (ctx->Depth.Clear == 1.0) {
- clearValue = ctx->DrawBuffer->_DepthMax;
- }
- else {
- clearValue = (GLuint) (ctx->Depth.Clear * ctx->DrawBuffer->_DepthMaxF);
- }
-
- assert(rb->_BaseFormat == GL_DEPTH_COMPONENT);
-
- /* compute region to clear */
- x = ctx->DrawBuffer->_Xmin;
- y = ctx->DrawBuffer->_Ymin;
- width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin;
- height = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin;
-
- if (rb->GetPointer(ctx, rb, 0, 0)) {
- /* Direct buffer access is possible. Either this is just malloc'd
- * memory, or perhaps the driver mmap'd the zbuffer memory.
- */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- if ((clearValue & 0xff) == ((clearValue >> 8) & 0xff) &&
- ((GLushort *) rb->GetPointer(ctx, rb, 0, 0) + width ==
- (GLushort *) rb->GetPointer(ctx, rb, 0, 1))) {
- /* optimized case */
- GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y);
- GLuint len = width * height * sizeof(GLushort);
- memset(dst, (clearValue & 0xff), len);
- }
- else {
- /* general case */
- GLint i, j;
- for (i = 0; i < height; i++) {
- GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y + i);
- for (j = 0; j < width; j++) {
- dst[j] = clearValue;
- }
- }
- }
- }
- else {
- GLint i, j;
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- for (i = 0; i < height; i++) {
- GLuint *dst = (GLuint *) rb->GetPointer(ctx, rb, x, y + i);
- for (j = 0; j < width; j++) {
- dst[j] = clearValue;
- }
- }
- }
- }
- else {
- /* Direct access not possible. Use PutRow to write new values. */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort clearVal16 = (GLushort) (clearValue & 0xffff);
- GLint i;
- for (i = 0; i < height; i++) {
- rb->PutMonoRow(ctx, rb, width, x, y + i, &clearVal16, NULL);
- }
- }
- else if (rb->DataType == GL_UNSIGNED_INT) {
- GLint i;
- ASSERT(sizeof(clearValue) == sizeof(GLuint));
- for (i = 0; i < height; i++) {
- rb->PutMonoRow(ctx, rb, width, x, y + i, &clearValue, NULL);
- }
- }
- else {
- _mesa_problem(ctx, "bad depth renderbuffer DataType");
- }
- }
-}
+/* + * Mesa 3-D graphics library + * Version: 7.2.1 + * + * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +#include "main/glheader.h" +#include "main/context.h" +#include "main/formats.h" +#include "main/macros.h" +#include "main/imports.h" + +#include "s_depth.h" +#include "s_span.h" + + +/** + * Do depth test for a horizontal span of fragments. + * Input: zbuffer - array of z values in the zbuffer + * z - array of fragment z values + * Return: number of fragments which pass the test. + */ +static GLuint +depth_test_span16( struct gl_context *ctx, GLuint n, + GLushort zbuffer[], const GLuint z[], GLubyte mask[] ) +{ + GLuint passed = 0; + + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + zbuffer[i] = z[i]; + passed++; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + zbuffer[i] = z[i]; + passed++; + } + } + } + else { + /* Don't update Z buffer or mask */ + passed = n; + } + break; + case GL_NEVER: + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in depth_test_span16"); + } + + return passed; +} + + +static GLuint +depth_test_span32( struct gl_context *ctx, GLuint n, + GLuint zbuffer[], const GLuint z[], GLubyte mask[] ) +{ + GLuint passed = 0; + + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + zbuffer[i] = z[i]; + passed++; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + zbuffer[i] = z[i]; + passed++; + } + } + } + else { + /* Don't update Z buffer or mask */ + passed = n; + } + break; + case GL_NEVER: + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in depth_test_span32"); + } + + return passed; +} + + + +/** + * Clamp fragment Z values to the depth near/far range (glDepthRange()). + * This is used when GL_ARB_depth_clamp/GL_DEPTH_CLAMP is turned on. + * In that case, vertexes are not clipped against the near/far planes + * so rasterization will produce fragment Z values outside the usual + * [0,1] range. + */ +void +_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span ) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + const GLuint count = span->end; + GLint *zValues = (GLint *) span->array->z; /* sign change */ + GLint min, max; + GLfloat min_f, max_f; + GLuint i; + + if (ctx->Viewport.Near < ctx->Viewport.Far) { + min_f = ctx->Viewport.Near; + max_f = ctx->Viewport.Far; + } else { + min_f = ctx->Viewport.Far; + max_f = ctx->Viewport.Near; + } + + /* Convert floating point values in [0,1] to device Z coordinates in + * [0, DepthMax]. + * ex: If the Z buffer has 24 bits, DepthMax = 0xffffff. + * + * XXX this all falls apart if we have 31 or more bits of Z because + * the triangle rasterization code produces unsigned Z values. Negative + * vertex Z values come out as large fragment Z uints. + */ + min = (GLint) (min_f * fb->_DepthMaxF); + max = (GLint) (max_f * fb->_DepthMaxF); + if (max < 0) + max = 0x7fffffff; /* catch over flow for 30-bit z */ + + /* Note that we do the comparisons here using signed integers. + */ + for (i = 0; i < count; i++) { + if (zValues[i] < min) + zValues[i] = min; + if (zValues[i] > max) + zValues[i] = max; + } +} + + + +/* + * Apply depth test to span of fragments. + */ +static GLuint +depth_test_span( struct gl_context *ctx, SWspan *span) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct gl_renderbuffer *rb = fb->_DepthBuffer; + const GLint x = span->x; + const GLint y = span->y; + const GLuint count = span->end; + const GLuint *zValues = span->array->z; + GLubyte *mask = span->array->mask; + GLuint passed; + + ASSERT((span->arrayMask & SPAN_XY) == 0); + ASSERT(span->arrayMask & SPAN_Z); + + if (rb->GetPointer(ctx, rb, 0, 0)) { + /* Directly access buffer */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort *zbuffer = (GLushort *) rb->GetPointer(ctx, rb, x, y); + passed = depth_test_span16(ctx, count, zbuffer, zValues, mask); + } + else { + GLuint *zbuffer = (GLuint *) rb->GetPointer(ctx, rb, x, y); + ASSERT(rb->DataType == GL_UNSIGNED_INT); + passed = depth_test_span32(ctx, count, zbuffer, zValues, mask); + } + } + else { + /* read depth values from buffer, test, write back */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort zbuffer[MAX_WIDTH]; + rb->GetRow(ctx, rb, count, x, y, zbuffer); + passed = depth_test_span16(ctx, count, zbuffer, zValues, mask); + rb->PutRow(ctx, rb, count, x, y, zbuffer, mask); + } + else { + GLuint zbuffer[MAX_WIDTH]; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + rb->GetRow(ctx, rb, count, x, y, zbuffer); + passed = depth_test_span32(ctx, count, zbuffer, zValues, mask); + rb->PutRow(ctx, rb, count, x, y, zbuffer, mask); + } + } + + if (passed < count) { + span->writeAll = GL_FALSE; + } + return passed; +} + + + +#define Z_ADDRESS(X, Y) (zStart + (Y) * stride + (X)) + + +/* + * Do depth testing for an array of fragments at assorted locations. + */ +static void +direct_depth_test_pixels16(struct gl_context *ctx, GLushort *zStart, GLuint stride, + GLuint n, const GLint x[], const GLint y[], + const GLuint z[], GLubyte mask[] ) +{ + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + *zptr = z[i]; + } + } + } + else { + /* Don't update Z buffer or mask */ + } + break; + case GL_NEVER: + /* depth test never passes */ + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels"); + } +} + + + +/* + * Do depth testing for an array of fragments with direct access to zbuffer. + */ +static void +direct_depth_test_pixels32(struct gl_context *ctx, GLuint *zStart, GLuint stride, + GLuint n, const GLint x[], const GLint y[], + const GLuint z[], GLubyte mask[] ) +{ + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + *zptr = z[i]; + } + } + } + else { + /* Don't update Z buffer or mask */ + } + break; + case GL_NEVER: + /* depth test never passes */ + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels"); + } +} + + + + +static GLuint +depth_test_pixels( struct gl_context *ctx, SWspan *span ) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct gl_renderbuffer *rb = fb->_DepthBuffer; + const GLuint count = span->end; + const GLint *x = span->array->x; + const GLint *y = span->array->y; + const GLuint *z = span->array->z; + GLubyte *mask = span->array->mask; + + if (rb->GetPointer(ctx, rb, 0, 0)) { + /* Directly access values */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort *zStart = (GLushort *) rb->Data; + GLuint stride = rb->Width; + direct_depth_test_pixels16(ctx, zStart, stride, count, x, y, z, mask); + } + else { + GLuint *zStart = (GLuint *) rb->Data; + GLuint stride = rb->Width; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + direct_depth_test_pixels32(ctx, zStart, stride, count, x, y, z, mask); + } + } + else { + /* read depth values from buffer, test, write back */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort zbuffer[MAX_WIDTH]; + _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLushort)); + depth_test_span16(ctx, count, zbuffer, z, mask); + rb->PutValues(ctx, rb, count, x, y, zbuffer, mask); + } + else { + GLuint zbuffer[MAX_WIDTH]; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLuint)); + depth_test_span32(ctx, count, zbuffer, z, mask); + rb->PutValues(ctx, rb, count, x, y, zbuffer, mask); + } + } + + return count; /* not really correct, but OK */ +} + + +/** + * Apply depth (Z) buffer testing to the span. + * \return approx number of pixels that passed (only zero is reliable) + */ +GLuint +_swrast_depth_test_span( struct gl_context *ctx, SWspan *span) +{ + if (span->arrayMask & SPAN_XY) + return depth_test_pixels(ctx, span); + else + return depth_test_span(ctx, span); +} + + +/** + * GL_EXT_depth_bounds_test extension. + * Discard fragments depending on whether the corresponding Z-buffer + * values are outside the depth bounds test range. + * Note: we test the Z buffer values, not the fragment Z values! + * \return GL_TRUE if any fragments pass, GL_FALSE if no fragments pass + */ +GLboolean +_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span ) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct gl_renderbuffer *rb = fb->_DepthBuffer; + GLuint zMin = (GLuint) (ctx->Depth.BoundsMin * fb->_DepthMaxF + 0.5F); + GLuint zMax = (GLuint) (ctx->Depth.BoundsMax * fb->_DepthMaxF + 0.5F); + GLubyte *mask = span->array->mask; + const GLuint count = span->end; + GLuint i; + GLboolean anyPass = GL_FALSE; + + if (rb->DataType == GL_UNSIGNED_SHORT) { + /* get 16-bit values */ + GLushort zbuffer16[MAX_WIDTH], *zbuffer; + if (span->arrayMask & SPAN_XY) { + _swrast_get_values(ctx, rb, count, span->array->x, span->array->y, + zbuffer16, sizeof(GLushort)); + zbuffer = zbuffer16; + } + else { + zbuffer = (GLushort*) rb->GetPointer(ctx, rb, span->x, span->y); + if (!zbuffer) { + rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer16); + zbuffer = zbuffer16; + } + } + assert(zbuffer); + + /* Now do the tests */ + for (i = 0; i < count; i++) { + if (mask[i]) { + if (zbuffer[i] < zMin || zbuffer[i] > zMax) + mask[i] = GL_FALSE; + else + anyPass = GL_TRUE; + } + } + } + else { + /* get 32-bit values */ + GLuint zbuffer32[MAX_WIDTH], *zbuffer; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + if (span->arrayMask & SPAN_XY) { + _swrast_get_values(ctx, rb, count, span->array->x, span->array->y, + zbuffer32, sizeof(GLuint)); + zbuffer = zbuffer32; + } + else { + zbuffer = (GLuint*) rb->GetPointer(ctx, rb, span->x, span->y); + if (!zbuffer) { + rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer32); + zbuffer = zbuffer32; + } + } + assert(zbuffer); + + /* Now do the tests */ + for (i = 0; i < count; i++) { + if (mask[i]) { + if (zbuffer[i] < zMin || zbuffer[i] > zMax) + mask[i] = GL_FALSE; + else + anyPass = GL_TRUE; + } + } + } + + return anyPass; +} + + + +/**********************************************************************/ +/***** Read Depth Buffer *****/ +/**********************************************************************/ + + +/** + * Read a span of depth values from the given depth renderbuffer, returning + * the values as GLfloats. + * This function does clipping to prevent reading outside the depth buffer's + * bounds. Though the clipping is redundant when we're called from + * _swrast_ReadPixels. + */ +void +_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb, + GLint n, GLint x, GLint y, GLfloat depth[] ) +{ + const GLfloat scale = 1.0F / ctx->DrawBuffer->_DepthMaxF; + + if (!rb) { + /* really only doing this to prevent FP exceptions later */ + memset(depth, 0, n * sizeof(GLfloat)); + return; + } + + ASSERT(rb->_BaseFormat == GL_DEPTH_COMPONENT); + + if (y < 0 || y >= (GLint) rb->Height || + x + n <= 0 || x >= (GLint) rb->Width) { + /* span is completely outside framebuffer */ + memset(depth, 0, n * sizeof(GLfloat)); + return; + } + + if (x < 0) { + GLint dx = -x; + GLint i; + for (i = 0; i < dx; i++) + depth[i] = 0.0; + x = 0; + n -= dx; + depth += dx; + } + if (x + n > (GLint) rb->Width) { + GLint dx = x + n - (GLint) rb->Width; + GLint i; + for (i = 0; i < dx; i++) + depth[n - i - 1] = 0.0; + n -= dx; + } + if (n <= 0) { + return; + } + + if (rb->DataType == GL_UNSIGNED_INT) { + GLuint temp[MAX_WIDTH]; + GLint i; + rb->GetRow(ctx, rb, n, x, y, temp); + for (i = 0; i < n; i++) { + depth[i] = temp[i] * scale; + } + } + else if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort temp[MAX_WIDTH]; + GLint i; + rb->GetRow(ctx, rb, n, x, y, temp); + for (i = 0; i < n; i++) { + depth[i] = temp[i] * scale; + } + } + else { + _mesa_problem(ctx, "Invalid depth renderbuffer data type"); + } +} + +/** + * Clear the given z/depth renderbuffer. + */ +void +_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb ) +{ + GLuint clearValue; + GLint x, y, width, height; + + if (!rb || !ctx->Depth.Mask) { + /* no depth buffer, or writing to it is disabled */ + return; + } + + /* compute integer clearing value */ + if (ctx->Depth.Clear == 1.0) { + clearValue = ctx->DrawBuffer->_DepthMax; + } + else { + clearValue = (GLuint) (ctx->Depth.Clear * ctx->DrawBuffer->_DepthMaxF); + } + + assert(rb->_BaseFormat == GL_DEPTH_COMPONENT); + + /* compute region to clear */ + x = ctx->DrawBuffer->_Xmin; + y = ctx->DrawBuffer->_Ymin; + width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin; + height = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin; + + if (rb->GetPointer(ctx, rb, 0, 0)) { + /* Direct buffer access is possible. Either this is just malloc'd + * memory, or perhaps the driver mmap'd the zbuffer memory. + */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + if ((clearValue & 0xff) == ((clearValue >> 8) & 0xff) && + ((GLushort *) rb->GetPointer(ctx, rb, 0, 0) + width == + (GLushort *) rb->GetPointer(ctx, rb, 0, 1))) { + /* optimized case */ + GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y); + GLuint len = width * height * sizeof(GLushort); + memset(dst, (clearValue & 0xff), len); + } + else { + /* general case */ + GLint i, j; + for (i = 0; i < height; i++) { + GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y + i); + for (j = 0; j < width; j++) { + dst[j] = clearValue; + } + } + } + } + else { + GLint i, j; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + for (i = 0; i < height; i++) { + GLuint *dst = (GLuint *) rb->GetPointer(ctx, rb, x, y + i); + for (j = 0; j < width; j++) { + dst[j] = clearValue; + } + } + } + } + else { + /* Direct access not possible. Use PutRow to write new values. */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort clearVal16 = (GLushort) (clearValue & 0xffff); + GLint i; + for (i = 0; i < height; i++) { + rb->PutMonoRow(ctx, rb, width, x, y + i, &clearVal16, NULL); + } + } + else if (rb->DataType == GL_UNSIGNED_INT) { + GLint i; + ASSERT(sizeof(clearValue) == sizeof(GLuint)); + for (i = 0; i < height; i++) { + rb->PutMonoRow(ctx, rb, width, x, y + i, &clearValue, NULL); + } + } + else { + _mesa_problem(ctx, "bad depth renderbuffer DataType"); + } + } +} diff --git a/mesalib/src/mesa/swrast/s_depth.h b/mesalib/src/mesa/swrast/s_depth.h index a35ed66bc..2caea82e0 100644 --- a/mesalib/src/mesa/swrast/s_depth.h +++ b/mesalib/src/mesa/swrast/s_depth.h @@ -1,61 +1,55 @@ -/*
- * Mesa 3-D graphics library
- * Version: 6.5.1
- *
- * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#ifndef S_DEPTH_H
-#define S_DEPTH_H
-
-
-#include "main/glheader.h"
-#include "s_span.h"
-
-struct gl_context;
-struct gl_renderbuffer;
-
-
-extern GLuint
-_swrast_depth_test_span( struct gl_context *ctx, SWspan *span);
-
-extern void
-_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span );
-
-extern GLboolean
-_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span );
-
-
-extern void
-_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLfloat depth[] );
-
-
-extern void
-_swrast_read_depth_span_uint( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLuint depth[] );
-
-
-extern void
-_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb );
-
-
-#endif
+/* + * Mesa 3-D graphics library + * Version: 6.5.1 + * + * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + +#ifndef S_DEPTH_H +#define S_DEPTH_H + + +#include "main/glheader.h" +#include "s_span.h" + +struct gl_context; +struct gl_renderbuffer; + + +extern GLuint +_swrast_depth_test_span( struct gl_context *ctx, SWspan *span); + +extern void +_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span ); + +extern GLboolean +_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span ); + + +extern void +_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb, + GLint n, GLint x, GLint y, GLfloat depth[] ); + +extern void +_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb ); + + +#endif diff --git a/mesalib/src/mesa/swrast/s_readpix.c b/mesalib/src/mesa/swrast/s_readpix.c index 0d2e63f72..c36746caf 100644 --- a/mesalib/src/mesa/swrast/s_readpix.c +++ b/mesalib/src/mesa/swrast/s_readpix.c @@ -27,6 +27,7 @@ #include "main/colormac.h" #include "main/feedback.h" #include "main/formats.h" +#include "main/format_unpack.h" #include "main/image.h" #include "main/imports.h" #include "main/macros.h" @@ -39,6 +40,57 @@ #include "s_span.h" #include "s_stencil.h" +/** + * Tries to implement glReadPixels() of GL_DEPTH_COMPONENT using memcpy of the + * mapping. + */ +static GLboolean +fast_read_depth_pixels( struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum type, GLvoid *pixels, + const struct gl_pixelstore_attrib *packing ) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + GLubyte *map, *dst; + int stride, dstStride, j; + + if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) + return GL_FALSE; + + if (packing->SwapBytes) + return GL_FALSE; + + if (_mesa_get_format_datatype(rb->Format) != GL_UNSIGNED_INT) + return GL_FALSE; + + if (!((type == GL_UNSIGNED_SHORT && rb->Format == MESA_FORMAT_Z16) || + type == GL_UNSIGNED_INT)) + return GL_FALSE; + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + dstStride = _mesa_image_row_stride(packing, width, GL_DEPTH_COMPONENT, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + GL_DEPTH_COMPONENT, type, 0, 0); + + for (j = 0; j < height; j++) { + if (type == GL_UNSIGNED_INT) { + _mesa_unpack_uint_z_row(rb->Format, width, map, (GLuint *)dst); + } else { + ASSERT(type == GL_UNSIGNED_SHORT && rb->Format == MESA_FORMAT_Z16); + memcpy(dst, map, width * 2); + } + + map += stride; + dst += dstStride; + } + ctx->Driver.UnmapRenderbuffer(ctx, rb); + + return GL_TRUE; +} /** * Read pixels for format=GL_DEPTH_COMPONENT. @@ -51,9 +103,10 @@ read_depth_pixels( struct gl_context *ctx, const struct gl_pixelstore_attrib *packing ) { struct gl_framebuffer *fb = ctx->ReadBuffer; - struct gl_renderbuffer *rb = fb->_DepthBuffer; - const GLboolean biasOrScale - = ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + GLint j; + GLubyte *dst, *map; + int dstStride, stride; if (!rb) return; @@ -66,73 +119,27 @@ read_depth_pixels( struct gl_context *ctx, /* width should never be > MAX_WIDTH since we did clipping earlier */ ASSERT(width <= MAX_WIDTH); - if (type == GL_UNSIGNED_SHORT && fb->Visual.depthBits == 16 - && !biasOrScale && !packing->SwapBytes) { - /* Special case: directly read 16-bit unsigned depth values. */ - GLint j; - ASSERT(rb->Format == MESA_FORMAT_Z16); - ASSERT(rb->DataType == GL_UNSIGNED_SHORT); - for (j = 0; j < height; j++, y++) { - void *dest =_mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - rb->GetRow(ctx, rb, width, x, y, dest); - } - } - else if (type == GL_UNSIGNED_INT && fb->Visual.depthBits == 24 - && !biasOrScale && !packing->SwapBytes) { - /* Special case: directly read 24-bit unsigned depth values. */ - GLint j; - ASSERT(rb->Format == MESA_FORMAT_X8_Z24 || - rb->Format == MESA_FORMAT_S8_Z24 || - rb->Format == MESA_FORMAT_Z24_X8 || - rb->Format == MESA_FORMAT_Z24_S8); - ASSERT(rb->DataType == GL_UNSIGNED_INT || - rb->DataType == GL_UNSIGNED_INT_24_8); - for (j = 0; j < height; j++, y++) { - GLuint *dest = (GLuint *) - _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - GLint k; - rb->GetRow(ctx, rb, width, x, y, dest); - /* convert range from 24-bit to 32-bit */ - if (rb->Format == MESA_FORMAT_X8_Z24 || - rb->Format == MESA_FORMAT_S8_Z24) { - for (k = 0; k < width; k++) { - /* Note: put MSByte of 24-bit value into LSByte */ - dest[k] = (dest[k] << 8) | ((dest[k] >> 16) & 0xff); - } - } - else { - for (k = 0; k < width; k++) { - /* Note: fill in LSByte by replication */ - dest[k] = dest[k] | ((dest[k] >> 8) & 0xff); - } - } - } - } - else if (type == GL_UNSIGNED_INT && fb->Visual.depthBits == 32 - && !biasOrScale && !packing->SwapBytes) { - /* Special case: directly read 32-bit unsigned depth values. */ - GLint j; - ASSERT(rb->Format == MESA_FORMAT_Z32); - ASSERT(rb->DataType == GL_UNSIGNED_INT); - for (j = 0; j < height; j++, y++) { - void *dest = _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - rb->GetRow(ctx, rb, width, x, y, dest); - } - } - else { - /* General case (slower) */ - GLint j; - for (j = 0; j < height; j++, y++) { - GLfloat depthValues[MAX_WIDTH]; - GLvoid *dest = _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - _swrast_read_depth_span_float(ctx, rb, width, x, y, depthValues); - _mesa_pack_depth_span(ctx, width, dest, type, depthValues, packing); - } + if (fast_read_depth_pixels(ctx, x, y, width, height, type, pixels, packing)) + return; + + dstStride = _mesa_image_row_stride(packing, width, GL_DEPTH_COMPONENT, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + GL_DEPTH_COMPONENT, type, 0, 0); + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + /* General case (slower) */ + for (j = 0; j < height; j++, y++) { + GLfloat depthValues[MAX_WIDTH]; + _mesa_unpack_float_z_row(rb->Format, width, map, depthValues); + _mesa_pack_depth_span(ctx, width, dst, type, depthValues, packing); + + dst += dstStride; + map += stride; } + + ctx->Driver.UnmapRenderbuffer(ctx, rb); } @@ -147,8 +154,10 @@ read_stencil_pixels( struct gl_context *ctx, const struct gl_pixelstore_attrib *packing ) { struct gl_framebuffer *fb = ctx->ReadBuffer; - struct gl_renderbuffer *rb = fb->_StencilBuffer; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; GLint j; + GLubyte *map; + GLint stride; if (!rb) return; @@ -156,149 +165,102 @@ read_stencil_pixels( struct gl_context *ctx, /* width should never be > MAX_WIDTH since we did clipping earlier */ ASSERT(width <= MAX_WIDTH); + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + /* process image row by row */ - for (j=0;j<height;j++,y++) { + for (j = 0; j < height; j++) { GLvoid *dest; GLstencil stencil[MAX_WIDTH]; - _swrast_read_stencil_span(ctx, rb, width, x, y, stencil); - + _mesa_unpack_ubyte_stencil_row(rb->Format, width, map, stencil); dest = _mesa_image_address2d(packing, pixels, width, height, GL_STENCIL_INDEX, type, j, 0); _mesa_pack_stencil_span(ctx, width, type, dest, stencil, packing); - } -} + map += stride; + } + ctx->Driver.UnmapRenderbuffer(ctx, rb); +} -/** - * Optimized glReadPixels for particular pixel formats when pixel - * scaling, biasing, mapping, etc. are disabled. - * \return GL_TRUE if success, GL_FALSE if unable to do the readpixels - */ static GLboolean -fast_read_rgba_pixels( struct gl_context *ctx, - GLint x, GLint y, - GLsizei width, GLsizei height, - GLenum format, GLenum type, - GLvoid *pixels, - const struct gl_pixelstore_attrib *packing, - GLbitfield transferOps) +fast_read_rgba_pixels_memcpy( struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum format, GLenum type, + GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + GLbitfield transferOps ) { struct gl_renderbuffer *rb = ctx->ReadBuffer->_ColorReadBuffer; + GLubyte *dst, *map; + int dstStride, stride, j, texelBytes; - if (!rb) + if (!_mesa_format_matches_format_and_type(rb->Format, format, type)) return GL_FALSE; - ASSERT(rb->_BaseFormat == GL_RGBA || - rb->_BaseFormat == GL_RGB || - rb->_BaseFormat == GL_RG || - rb->_BaseFormat == GL_RED || - rb->_BaseFormat == GL_LUMINANCE || - rb->_BaseFormat == GL_INTENSITY || - rb->_BaseFormat == GL_LUMINANCE_ALPHA || - rb->_BaseFormat == GL_ALPHA); - - /* clipping should have already been done */ - ASSERT(x + width <= (GLint) rb->Width); - ASSERT(y + height <= (GLint) rb->Height); - /* check for things we can't handle here */ - if (transferOps || - packing->SwapBytes || + if (packing->SwapBytes || packing->LsbFirst) { return GL_FALSE; } - if (format == GL_RGBA && rb->DataType == type) { - const GLint dstStride = _mesa_image_row_stride(packing, width, - format, type); - GLubyte *dest - = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, - format, type, 0, 0); - GLint row; - ASSERT(rb->GetRow); - for (row = 0; row < height; row++) { - rb->GetRow(ctx, rb, width, x, y + row, dest); - dest += dstStride; - } - return GL_TRUE; - } + dstStride = _mesa_image_row_stride(packing, width, format, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + format, type, 0, 0); - if (format == GL_RGB && - rb->DataType == GL_UNSIGNED_BYTE && - type == GL_UNSIGNED_BYTE) { - const GLint dstStride = _mesa_image_row_stride(packing, width, - format, type); - GLubyte *dest - = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, - format, type, 0, 0); - GLint row; - ASSERT(rb->GetRow); - for (row = 0; row < height; row++) { - GLubyte tempRow[MAX_WIDTH][4]; - GLint col; - rb->GetRow(ctx, rb, width, x, y + row, tempRow); - /* convert RGBA to RGB */ - for (col = 0; col < width; col++) { - dest[col * 3 + 0] = tempRow[col][0]; - dest[col * 3 + 1] = tempRow[col][1]; - dest[col * 3 + 2] = tempRow[col][2]; - } - dest += dstStride; - } - return GL_TRUE; + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + texelBytes = _mesa_get_format_bytes(rb->Format); + for (j = 0; j < height; j++) { + memcpy(dst, map, width * texelBytes); + dst += dstStride; + map += stride; } - /* not handled */ - return GL_FALSE; -} + ctx->Driver.UnmapRenderbuffer(ctx, rb); + return GL_TRUE; +} -/** - * When we're using a low-precision color buffer (like 16-bit 5/6/5) - * we have to adjust our color values a bit to pass conformance. - * The problem is when a 5 or 6-bit color value is converted to an 8-bit - * value and then a floating point value, the floating point values don't - * increment uniformly as the 5 or 6-bit value is incremented. - * - * This function adjusts floating point values to compensate. - */ -static void -adjust_colors(const struct gl_framebuffer *fb, GLuint n, GLfloat rgba[][4]) +static GLboolean +slow_read_rgba_pixels( struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum format, GLenum type, + GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + GLbitfield transferOps ) { - const GLuint rShift = 8 - fb->Visual.redBits; - const GLuint gShift = 8 - fb->Visual.greenBits; - const GLuint bShift = 8 - fb->Visual.blueBits; - GLfloat rScale = 1.0F / (GLfloat) ((1 << fb->Visual.redBits ) - 1); - GLfloat gScale = 1.0F / (GLfloat) ((1 << fb->Visual.greenBits) - 1); - GLfloat bScale = 1.0F / (GLfloat) ((1 << fb->Visual.blueBits ) - 1); - GLuint i; - - if (fb->Visual.redBits == 0) - rScale = 0; - if (fb->Visual.greenBits == 0) - gScale = 0; - if (fb->Visual.blueBits == 0) - bScale = 0; - - for (i = 0; i < n; i++) { - GLint r, g, b; - /* convert float back to ubyte */ - CLAMPED_FLOAT_TO_UBYTE(r, rgba[i][RCOMP]); - CLAMPED_FLOAT_TO_UBYTE(g, rgba[i][GCOMP]); - CLAMPED_FLOAT_TO_UBYTE(b, rgba[i][BCOMP]); - /* using only the N most significant bits of the ubyte value, convert to - * float in [0,1]. - */ - rgba[i][RCOMP] = (GLfloat) (r >> rShift) * rScale; - rgba[i][GCOMP] = (GLfloat) (g >> gShift) * gScale; - rgba[i][BCOMP] = (GLfloat) (b >> bShift) * bScale; + struct gl_renderbuffer *rb = ctx->ReadBuffer->_ColorReadBuffer; + GLfloat rgba[MAX_WIDTH][4]; + GLubyte *dst, *map; + int dstStride, stride, j; + + dstStride = _mesa_image_row_stride(packing, width, format, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + format, type, 0, 0); + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + for (j = 0; j < height; j++) { + _mesa_unpack_rgba_row(_mesa_get_srgb_format_linear(rb->Format), + width, map, rgba); + _mesa_pack_rgba_span_float(ctx, width, rgba, format, type, dst, + packing, transferOps); + + dst += dstStride; + map += stride; } -} + ctx->Driver.UnmapRenderbuffer(ctx, rb); + return GL_TRUE; +} /* * Read R, G, B, A, RGB, L, or LA pixels. @@ -310,7 +272,6 @@ read_rgba_pixels( struct gl_context *ctx, GLenum format, GLenum type, GLvoid *pixels, const struct gl_pixelstore_attrib *packing ) { - SWcontext *swrast = SWRAST_CONTEXT(ctx); GLbitfield transferOps = ctx->_ImageTransferState; struct gl_framebuffer *fb = ctx->ReadBuffer; struct gl_renderbuffer *rb = fb->_ColorReadBuffer; @@ -323,43 +284,142 @@ read_rgba_pixels( struct gl_context *ctx, transferOps |= IMAGE_CLAMP_BIT; } - /* Try the optimized path first. */ - if (fast_read_rgba_pixels(ctx, x, y, width, height, - format, type, pixels, packing, transferOps)) { - return; /* done! */ + if (!transferOps) { + /* Try the optimized paths first. */ + if (fast_read_rgba_pixels_memcpy(ctx, x, y, width, height, + format, type, pixels, packing, + transferOps)) { + return; + } } - /* width should never be > MAX_WIDTH since we did clipping earlier */ - ASSERT(width <= MAX_WIDTH); + slow_read_rgba_pixels(ctx, x, y, width, height, + format, type, pixels, packing, transferOps); +} - { - const GLint dstStride - = _mesa_image_row_stride(packing, width, format, type); - GLfloat (*rgba)[4] = swrast->SpanArrays->attribs[FRAG_ATTRIB_COL0]; - GLint row; - GLubyte *dst - = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, - format, type, 0, 0); - - for (row = 0; row < height; row++, y++) { - - /* Get float rgba pixels */ - _swrast_read_rgba_span(ctx, rb, width, x, y, GL_FLOAT, rgba); - - /* apply fudge factor for shallow color buffers */ - if ((fb->Visual.redBits < 8 && fb->Visual.redBits != 0) || - (fb->Visual.greenBits < 8 && fb->Visual.greenBits != 0) || - (fb->Visual.blueBits < 8 && fb->Visual.blueBits != 0)) { - adjust_colors(fb, width, rgba); - } +/** + * For a packed depth/stencil buffer being read as depth/stencil, just memcpy the + * data (possibly swapping 8/24 vs 24/8 as we go). + */ +static GLboolean +fast_read_depth_stencil_pixels(struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLvoid *dst, int dstStride) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + struct gl_renderbuffer *stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; + GLubyte *map; + int stride, i; + + if (rb != stencilRb) + return GL_FALSE; + + if (rb->Format != MESA_FORMAT_Z24_S8 && + rb->Format != MESA_FORMAT_S8_Z24) + return GL_FALSE; + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + for (i = 0; i < height; i++) { + _mesa_unpack_uint_24_8_depth_stencil_row(rb->Format, width, + map, (GLuint *)dst); + map += stride; + dst += dstStride; + } + + ctx->Driver.UnmapRenderbuffer(ctx, rb); + + return GL_TRUE; +} + + +/** + * For non-float-depth and stencil buffers being read as 24/8 depth/stencil, + * copy the integer data directly instead of converting depth to float and + * re-packing. + */ +static GLboolean +fast_read_depth_stencil_pixels_separate(struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + uint32_t *dst, int dstStride) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + struct gl_renderbuffer *stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; + GLubyte *depthMap, *stencilMap; + int depthStride, stencilStride, i, j; + + if (_mesa_get_format_datatype(depthRb->Format) != GL_UNSIGNED_INT) + return GL_FALSE; + + ctx->Driver.MapRenderbuffer(ctx, depthRb, x, y, width, height, + GL_MAP_READ_BIT, &depthMap, &depthStride); + ctx->Driver.MapRenderbuffer(ctx, stencilRb, x, y, width, height, + GL_MAP_READ_BIT, &stencilMap, &stencilStride); + + for (j = 0; j < height; j++) { + GLstencil stencilVals[MAX_WIDTH]; - /* pack the row of RGBA pixels into user's buffer */ - _mesa_pack_rgba_span_float(ctx, width, rgba, format, type, dst, - packing, transferOps); + _mesa_unpack_uint_z_row(depthRb->Format, width, depthMap, dst); + _mesa_unpack_ubyte_stencil_row(stencilRb->Format, width, + stencilMap, stencilVals); - dst += dstStride; + for (i = 0; i < width; i++) { + dst[i] = (dst[i] & 0xffffff00) | stencilVals[i]; } + + depthMap += depthStride; + stencilMap += stencilStride; + dst += dstStride / 4; } + + ctx->Driver.UnmapRenderbuffer(ctx, depthRb); + ctx->Driver.UnmapRenderbuffer(ctx, stencilRb); + + return GL_TRUE; +} + +static void +slow_read_depth_stencil_pixels_separate(struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum type, + const struct gl_pixelstore_attrib *packing, + GLubyte *dst, int dstStride) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + struct gl_renderbuffer *stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; + GLubyte *depthMap, *stencilMap; + int depthStride, stencilStride, j; + + ctx->Driver.MapRenderbuffer(ctx, depthRb, x, y, width, height, + GL_MAP_READ_BIT, &depthMap, &depthStride); + ctx->Driver.MapRenderbuffer(ctx, stencilRb, x, y, width, height, + GL_MAP_READ_BIT, &stencilMap, &stencilStride); + + for (j = 0; j < height; j++) { + GLstencil stencilVals[MAX_WIDTH]; + GLfloat depthVals[MAX_WIDTH]; + + _mesa_unpack_float_z_row(depthRb->Format, width, depthMap, depthVals); + _mesa_unpack_ubyte_stencil_row(stencilRb->Format, width, + stencilMap, stencilVals); + + _mesa_pack_depth_stencil_span(ctx, width, type, (GLuint *)dst, + depthVals, stencilVals, packing); + + depthMap += depthStride; + stencilMap += stencilStride; + dst += dstStride; + } + + ctx->Driver.UnmapRenderbuffer(ctx, depthRb); + ctx->Driver.UnmapRenderbuffer(ctx, stencilRb); } @@ -379,81 +439,31 @@ read_depth_stencil_pixels(struct gl_context *ctx, = ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0; const GLboolean stencilTransfer = ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset || ctx->Pixel.MapStencilFlag; - struct gl_renderbuffer *depthRb, *stencilRb; - - depthRb = ctx->ReadBuffer->_DepthBuffer; - stencilRb = ctx->ReadBuffer->_StencilBuffer; - - if (!depthRb || !stencilRb) - return; - - depthRb = ctx->ReadBuffer->Attachment[BUFFER_DEPTH].Renderbuffer; - stencilRb = ctx->ReadBuffer->Attachment[BUFFER_STENCIL].Renderbuffer; - - if (depthRb->_BaseFormat == GL_DEPTH_STENCIL_EXT && - depthRb->Format == MESA_FORMAT_Z24_S8 && - type == GL_UNSIGNED_INT_24_8 && - depthRb == stencilRb && - depthRb->GetRow && /* May be null if depthRb is a wrapper around - * separate depth and stencil buffers. */ - !scaleOrBias && - !stencilTransfer) { - /* This is the ideal case. - * Reading GL_DEPTH_STENCIL pixels from combined depth/stencil buffer. - * Plus, no pixel transfer ops to worry about! - */ - GLint i; - GLint dstStride = _mesa_image_row_stride(packing, width, - GL_DEPTH_STENCIL_EXT, type); - GLubyte *dst = (GLubyte *) _mesa_image_address2d(packing, pixels, - width, height, - GL_DEPTH_STENCIL_EXT, - type, 0, 0); - for (i = 0; i < height; i++) { - depthRb->GetRow(ctx, depthRb, width, x, y + i, dst); - dst += dstStride; - } - } - else { - /* Reading GL_DEPTH_STENCIL pixels from separate depth/stencil buffers, - * or we need pixel transfer. - */ - GLint i; - depthRb = ctx->ReadBuffer->_DepthBuffer; - stencilRb = ctx->ReadBuffer->_StencilBuffer; - - for (i = 0; i < height; i++) { - GLstencil stencilVals[MAX_WIDTH]; - - GLuint *depthStencilDst = (GLuint *) - _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_STENCIL_EXT, type, i, 0); - - _swrast_read_stencil_span(ctx, stencilRb, width, - x, y + i, stencilVals); - - if (!scaleOrBias && !stencilTransfer - && ctx->ReadBuffer->Visual.depthBits == 24) { - /* ideal case */ - GLuint zVals[MAX_WIDTH]; /* 24-bit values! */ - GLint j; - ASSERT(depthRb->DataType == GL_UNSIGNED_INT); - /* note, we've already been clipped */ - depthRb->GetRow(ctx, depthRb, width, x, y + i, zVals); - for (j = 0; j < width; j++) { - depthStencilDst[j] = (zVals[j] << 8) | (stencilVals[j] & 0xff); - } - } - else { - /* general case */ - GLfloat depthVals[MAX_WIDTH]; - _swrast_read_depth_span_float(ctx, depthRb, width, x, y + i, - depthVals); - _mesa_pack_depth_stencil_span(ctx, width, type, depthStencilDst, - depthVals, stencilVals, packing); - } - } + GLubyte *dst; + int dstStride; + + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, + width, height, + GL_DEPTH_STENCIL_EXT, + type, 0, 0); + dstStride = _mesa_image_row_stride(packing, width, + GL_DEPTH_STENCIL_EXT, type); + + /* Fast 24/8 reads. */ + if (type == GL_UNSIGNED_INT_24_8 && + !scaleOrBias && !stencilTransfer && !packing->SwapBytes) { + if (fast_read_depth_stencil_pixels(ctx, x, y, width, height, + dst, dstStride)) + return; + + if (fast_read_depth_stencil_pixels_separate(ctx, x, y, width, height, + (uint32_t *)dst, dstStride)) + return; } + + slow_read_depth_stencil_pixels_separate(ctx, x, y, width, height, + type, packing, + dst, dstStride); } @@ -469,21 +479,11 @@ _swrast_ReadPixels( struct gl_context *ctx, const struct gl_pixelstore_attrib *packing, GLvoid *pixels ) { - SWcontext *swrast = SWRAST_CONTEXT(ctx); struct gl_pixelstore_attrib clippedPacking = *packing; if (ctx->NewState) _mesa_update_state(ctx); - /* Need to do swrast_render_start() before clipping or anything else - * since this is where a driver may grab the hw lock and get an updated - * window size. - */ - swrast_render_start(ctx); - - if (swrast->NewState) - _swrast_validate_derived( ctx ); - /* Do all needed clipping here, so that we can forget about it later */ if (_mesa_clip_readpixels(ctx, &x, &y, &width, &height, &clippedPacking)) { @@ -512,6 +512,4 @@ _swrast_ReadPixels( struct gl_context *ctx, _mesa_unmap_pbo_dest(ctx, &clippedPacking); } } - - swrast_render_finish(ctx); } diff --git a/mesalib/src/mesa/swrast/s_texfilter.c b/mesalib/src/mesa/swrast/s_texfilter.c index 9de5c0276..566262557 100644 --- a/mesalib/src/mesa/swrast/s_texfilter.c +++ b/mesalib/src/mesa/swrast/s_texfilter.c @@ -3647,25 +3647,21 @@ _swrast_choose_texture_sample_func( struct gl_context *ctx, const struct gl_texture_image *img = t->Image[0][t->BaseLevel]; const struct swrast_texture_image *swImg = swrast_texture_image_const(img); + texture_sample_func func; ASSERT(t->Sampler.MinFilter == GL_NEAREST); + func = &sample_nearest_2d; if (t->Sampler.WrapS == GL_REPEAT && t->Sampler.WrapT == GL_REPEAT && swImg->_IsPowerOfTwo && - img->Border == 0 && - img->TexFormat == MESA_FORMAT_RGB888) { - return &opt_sample_rgb_2d; - } - else if (t->Sampler.WrapS == GL_REPEAT && - t->Sampler.WrapT == GL_REPEAT && - swImg->_IsPowerOfTwo && - img->Border == 0 && - img->TexFormat == MESA_FORMAT_RGBA8888) { - return &opt_sample_rgba_2d; - } - else { - return &sample_nearest_2d; + img->Border == 0) { + if (img->TexFormat == MESA_FORMAT_RGB888) + func = &opt_sample_rgb_2d; + else if (img->TexFormat == MESA_FORMAT_RGBA8888) + func = &opt_sample_rgba_2d; } + + return func; } case GL_TEXTURE_3D: if (needLambda) { diff --git a/mesalib/src/mesa/swrast/s_texrender.c b/mesalib/src/mesa/swrast/s_texrender.c index e2b921512..83e7a6a03 100644 --- a/mesalib/src/mesa/swrast/s_texrender.c +++ b/mesalib/src/mesa/swrast/s_texrender.c @@ -563,6 +563,7 @@ update_wrapper(struct gl_context *ctx, struct gl_renderbuffer_attachment *att) trb->Base.Width = trb->TexImage->Base.Width; trb->Base.Height = trb->TexImage->Base.Height; + trb->Base.RowStride = trb->TexImage->RowStride; trb->Base.InternalFormat = trb->TexImage->Base.InternalFormat; trb->Base.Format = trb->TexImage->Base.TexFormat; diff --git a/mesalib/src/mesa/swrast/s_texture.c b/mesalib/src/mesa/swrast/s_texture.c index fb1edb318..ba67c6fa4 100644 --- a/mesalib/src/mesa/swrast/s_texture.c +++ b/mesalib/src/mesa/swrast/s_texture.c @@ -359,3 +359,35 @@ _swrast_unmap_renderbuffers(struct gl_context *ctx) if (ctx->ReadBuffer != ctx->DrawBuffer) map_unmap_renderbuffers(ctx, ctx->ReadBuffer, GL_FALSE); } + + + +/** + * Called via ctx->Driver.AllocTextureStorage() + * Just have to allocate memory for the texture images. + */ +GLboolean +_swrast_AllocTextureStorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth) +{ + const GLint numFaces = (texObj->Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + GLint face, level; + + for (face = 0; face < numFaces; face++) { + for (level = 0; level < levels; level++) { + struct gl_texture_image *texImage = texObj->Image[face][level]; + if (!_swrast_alloc_texture_image_buffer(ctx, texImage, + texImage->TexFormat, + texImage->Width, + texImage->Height, + texImage->Depth)) { + return GL_FALSE; + } + } + } + + return GL_TRUE; +} + diff --git a/mesalib/src/mesa/swrast/swrast.h b/mesalib/src/mesa/swrast/swrast.h index 06cc65158..08d565ba0 100644 --- a/mesalib/src/mesa/swrast/swrast.h +++ b/mesalib/src/mesa/swrast/swrast.h @@ -249,6 +249,13 @@ _swrast_finish_render_texture(struct gl_context *ctx, +extern GLboolean +_swrast_AllocTextureStorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth); + + /** * The driver interface for the software rasterizer. * XXX this may go away. diff --git a/mesalib/src/mesa/vbo/vbo_split_copy.c b/mesalib/src/mesa/vbo/vbo_split_copy.c index 40906e389..4dcf71ef5 100644 --- a/mesalib/src/mesa/vbo/vbo_split_copy.c +++ b/mesalib/src/mesa/vbo/vbo_split_copy.c @@ -518,6 +518,7 @@ replay_init( struct copy_context *copy ) dst->Ptr = copy->dstbuf + offset; dst->Enabled = GL_TRUE; dst->Normalized = src->Normalized; + dst->Integer = src->Integer; dst->BufferObj = ctx->Shared->NullBufferObj; dst->_ElementSize = src->_ElementSize; dst->_MaxElement = copy->dstbuf_size; /* may be less! */ diff --git a/pixman/configure.ac b/pixman/configure.ac index 6c88c84f5..eb783ac7e 100644 --- a/pixman/configure.ac +++ b/pixman/configure.ac @@ -54,7 +54,7 @@ AC_PREREQ([2.57]) m4_define([pixman_major], 0) m4_define([pixman_minor], 23) -m4_define([pixman_micro], 7) +m4_define([pixman_micro], 9) m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro]) diff --git a/pixman/pixman/pixman-compiler.h b/pixman/pixman/pixman-compiler.h index 0a9a9699f..257056499 100644 --- a/pixman/pixman/pixman-compiler.h +++ b/pixman/pixman/pixman-compiler.h @@ -48,6 +48,15 @@ # define UINT32_MAX (4294967295U) #endif +#ifndef INT64_MIN +# define INT64_MIN (-9223372036854775807-1) +#endif + +#ifndef INT64_MAX +# define INT64_MAX (9223372036854775807) +#endif + + #ifndef M_PI # define M_PI 3.14159265358979323846 #endif diff --git a/pixman/pixman/pixman-noop.c b/pixman/pixman/pixman-noop.c index 906a491f5..f4012d85b 100644 --- a/pixman/pixman/pixman-noop.c +++ b/pixman/pixman/pixman-noop.c @@ -76,12 +76,12 @@ noop_src_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter) { iter->get_scanline = _pixman_iter_get_scanline_noop; } - else if ((iter->flags & ITER_NARROW) && + else if (image->common.extended_format_code == PIXMAN_a8r8g8b8 && + (iter->flags & ITER_NARROW) && (image->common.flags & FLAGS) == FLAGS && iter->x >= 0 && iter->y >= 0 && iter->x + iter->width <= image->bits.width && - iter->y + iter->height <= image->bits.height && - image->common.extended_format_code == PIXMAN_a8r8g8b8) + iter->y + iter->height <= image->bits.height) { iter->buffer = image->bits.bits + iter->y * image->bits.rowstride + iter->x; diff --git a/pixman/pixman/pixman-sse2.c b/pixman/pixman/pixman-sse2.c index a183f937d..107aa3ff3 100644 --- a/pixman/pixman/pixman-sse2.c +++ b/pixman/pixman/pixman-sse2.c @@ -5982,7 +5982,7 @@ sse2_src_iter_init (pixman_implementation_t *imp, pixman_iter_t *iter) int height = iter->height; #define FLAGS \ - (FAST_PATH_STANDARD_FLAGS | FAST_PATH_ID_TRANSFORM) + (FAST_PATH_STANDARD_FLAGS | FAST_PATH_ID_TRANSFORM | FAST_PATH_BITS_IMAGE) if ((iter->flags & ITER_NARROW) && (image->common.flags & FLAGS) == FLAGS && diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c index c8ae230cd..d8ba82faa 100644 --- a/xorg-server/dix/devices.c +++ b/xorg-server/dix/devices.c @@ -616,6 +616,7 @@ CorePointerProc(DeviceIntPtr pDev, int what) int i = 0; Atom btn_labels[NBUTTONS] = {0}; Atom axes_labels[NAXES] = {0}; + ScreenPtr scr = screenInfo.screens[0]; switch (what) { case DEVICE_INIT: @@ -642,10 +643,11 @@ CorePointerProc(DeviceIntPtr pDev, int what) pDev->name); return BadAlloc; /* IPDS only fails on allocs */ } - pDev->valuator->axisVal[0] = screenInfo.screens[0]->width / 2; - pDev->last.valuators[0] = pDev->valuator->axisVal[0]; - pDev->valuator->axisVal[1] = screenInfo.screens[0]->height / 2; - pDev->last.valuators[1] = pDev->valuator->axisVal[1]; + /* axisVal is per-screen, last.valuators is desktop-wide */ + pDev->valuator->axisVal[0] = scr->width / 2; + pDev->last.valuators[0] = pDev->valuator->axisVal[0] + scr->x; + pDev->valuator->axisVal[1] = scr->height / 2; + pDev->last.valuators[1] = pDev->valuator->axisVal[1] + scr->y; break; case DEVICE_CLOSE: @@ -989,6 +991,8 @@ CloseDownDevices(void) { DeviceIntPtr dev; + OsBlockSignals(); + /* Float all SDs before closing them. Note that at this point resources * (e.g. cursors) have been freed already, so we can't just call * AttachDevice(NULL, dev, NULL). Instead, we have to forcibly set master @@ -1015,6 +1019,8 @@ CloseDownDevices(void) inputInfo.keyboard = NULL; inputInfo.pointer = NULL; XkbDeleteRulesDflts(); + + OsReleaseSignals(); } /** diff --git a/xorg-server/dix/dispatch.c b/xorg-server/dix/dispatch.c index b305e68e1..16fe27246 100644 --- a/xorg-server/dix/dispatch.c +++ b/xorg-server/dix/dispatch.c @@ -2070,6 +2070,14 @@ DoGetImage(ClientPtr client, int format, Drawable drawable, if (!pWin->viewable) return BadMatch; + /* If the drawable is a window, the rectangle must be contained within + * its bounds (including the border). */ + if (x < -wBorderWidth(pWin) || + x + width > wBorderWidth(pWin) + (int)pDraw->width || + y < -wBorderWidth(pWin) || + y + height > wBorderWidth(pWin) + (int)pDraw->height) + return BadMatch; + relx += pDraw->x; rely += pDraw->y; @@ -3939,6 +3947,8 @@ AddScreen( return -1; } + update_desktop_dimensions(); + dixRegisterScreenPrivateKey(&cursorScreenDevPriv, pScreen, PRIVATE_CURSOR, 0); return i; diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c index 226d5cd43..e69460d72 100644 --- a/xorg-server/dix/getevents.c +++ b/xorg-server/dix/getevents.c @@ -272,10 +272,10 @@ CreateClassesChangedEvent(InternalEvent* event, */ static double rescaleValuatorAxis(double coord, AxisInfoPtr from, AxisInfoPtr to, - double defmax) + double defmin, double defmax) { - double fmin = 0.0, fmax = defmax; - double tmin = 0.0, tmax = defmax; + double fmin = defmin, fmax = defmax; + double tmin = defmin, tmax = defmax; if (from && from->min_value < from->max_value) { fmin = from->min_value; @@ -310,7 +310,7 @@ updateSlaveDeviceCoords(DeviceIntPtr master, DeviceIntPtr pDev) int i; DeviceIntPtr lastSlave; - /* master->last.valuators[0]/[1] is in screen coords and the actual + /* master->last.valuators[0]/[1] is in desktop-wide coords and the actual * position of the pointer */ pDev->last.valuators[0] = master->last.valuators[0]; pDev->last.valuators[1] = master->last.valuators[1]; @@ -324,14 +324,14 @@ updateSlaveDeviceCoords(DeviceIntPtr master, DeviceIntPtr pDev) pDev->last.valuators[0] = rescaleValuatorAxis(pDev->last.valuators[0], NULL, pDev->valuator->axes + 0, - scr->width); + 0, scr->width); } if(pDev->valuator->numAxes > 1) { pDev->last.valuators[1] = rescaleValuatorAxis(pDev->last.valuators[1], NULL, pDev->valuator->axes + 1, - scr->height); + 0, scr->height); } /* calculate the other axis as well based on info from the old @@ -348,7 +348,7 @@ updateSlaveDeviceCoords(DeviceIntPtr master, DeviceIntPtr pDev) { double val = pDev->last.valuators[i]; val = rescaleValuatorAxis(val, lastSlave->valuator->axes + i, - pDev->valuator->axes + i, 0); + pDev->valuator->axes + i, 0, 0); pDev->last.valuators[i] = val; } } @@ -460,7 +460,7 @@ GetMotionHistory(DeviceIntPtr pDev, xTimecoord **buff, unsigned long start, /* scale to screen coords */ to = &core_axis; to->max_value = pScreen->width; - coord = rescaleValuatorAxis(coord, &from, to, pScreen->width); + coord = rescaleValuatorAxis(coord, &from, to, 0, pScreen->width); memcpy(corebuf, &coord, sizeof(INT16)); corebuf++; @@ -471,7 +471,7 @@ GetMotionHistory(DeviceIntPtr pDev, xTimecoord **buff, unsigned long start, memcpy(&coord, icbuf++, sizeof(INT32)); to->max_value = pScreen->height; - coord = rescaleValuatorAxis(coord, &from, to, pScreen->height); + coord = rescaleValuatorAxis(coord, &from, to, 0, pScreen->height); memcpy(corebuf, &coord, sizeof(INT16)); } else if (IsMaster(pDev)) @@ -499,7 +499,7 @@ GetMotionHistory(DeviceIntPtr pDev, xTimecoord **buff, unsigned long start, from.max_value = pScreen->height; /* scale from stored range into current range */ - coord = rescaleValuatorAxis(coord, &from, to, 0); + coord = rescaleValuatorAxis(coord, &from, to, 0, 0); memcpy(ocbuf, &coord, sizeof(INT32)); ocbuf++; } @@ -772,8 +772,8 @@ accelPointer(DeviceIntPtr dev, ValuatorMask* valuators, CARD32 ms) * device's coordinate range. * * @param dev The device to scale for. - * @param[in, out] mask The mask in sceen coordinates, modified in place to - * contain device coordinate range. + * @param[in, out] mask The mask in desktop coordinates, modified in place + * to contain device coordinate range. */ static void scale_from_screen(DeviceIntPtr dev, ValuatorMask *mask) @@ -783,16 +783,18 @@ scale_from_screen(DeviceIntPtr dev, ValuatorMask *mask) if (valuator_mask_isset(mask, 0)) { - scaled = rescaleValuatorAxis(valuator_mask_get_double(mask, 0), + scaled = valuator_mask_get_double(mask, 0) + scr->x; + scaled = rescaleValuatorAxis(scaled, NULL, dev->valuator->axes + 0, - scr->width); + 0, scr->width); valuator_mask_set_double(mask, 0, scaled); } if (valuator_mask_isset(mask, 1)) { - scaled = rescaleValuatorAxis(valuator_mask_get_double(mask, 1), + scaled = valuator_mask_get_double(mask, 1) + scr->y; + scaled = rescaleValuatorAxis(scaled, NULL, dev->valuator->axes + 1, - scr->height); + 0, scr->height); valuator_mask_set_double(mask, 1, scaled); } } @@ -808,16 +810,21 @@ scale_from_screen(DeviceIntPtr dev, ValuatorMask *mask) * * The coordinates provided are always absolute. The parameter mode * specifies whether it was relative or absolute movement that landed us at - * those coordinates. + * those coordinates. see fill_pointer_events for information on coordinate + * systems. * * @param dev The device to be moved. * @param mode Movement mode (Absolute or Relative) - * @param mask Mask of axis values for this event - * @param screenx Screen x coordinate the sprite is on after the update. - * @param screeny Screen y coordinate the sprite is on after the update. + * @param[in,out] mask Mask of axis values for this event, returns the + * per-screen device coordinates after confinement + * @param[out] devx x desktop-wide coordinate in device coordinate system + * @param[out] devy y desktop-wide coordinate in device coordinate system + * @param[out] screenx x coordinate in desktop coordinate system + * @param[out] screeny y coordinate in desktop coordinate system */ static ScreenPtr positionSprite(DeviceIntPtr dev, int mode, ValuatorMask *mask, + double *devx, double *devy, double *screenx, double *screeny) { double x, y; @@ -836,16 +843,20 @@ positionSprite(DeviceIntPtr dev, int mode, ValuatorMask *mask, else y = dev->last.valuators[1]; - /* scale x&y to screen */ + /* scale x&y to desktop coordinates */ *screenx = rescaleValuatorAxis(x, dev->valuator->axes + 0, NULL, - scr->width); + screenInfo.x, screenInfo.width); *screeny = rescaleValuatorAxis(y, dev->valuator->axes + 1, NULL, - scr->height); + screenInfo.y, screenInfo.height); tmpx = *screenx; tmpy = *screeny; + *devx = x; + *devy = y; + /* miPointerSetPosition takes care of crossing screens for us, as well as - * clipping to the current screen. */ + * clipping to the current screen. Coordinates returned are in desktop + * coord system */ scr = miPointerSetPosition(dev, mode, screenx, screeny); /* If we were constrained, rescale x/y from the screen coordinates so @@ -853,17 +864,24 @@ positionSprite(DeviceIntPtr dev, int mode, ValuatorMask *mask, * crossing this doesn't matter much, the coords would be 0 or max. */ if (tmpx != *screenx) - x = rescaleValuatorAxis(*screenx, NULL, dev->valuator->axes + 0, - scr->width); - if (tmpy != *screeny) - y = rescaleValuatorAxis(*screeny, NULL, dev->valuator->axes + 1, - scr->height); + *devx = rescaleValuatorAxis(*screenx, NULL, dev->valuator->axes + 0, + screenInfo.x, screenInfo.width); + if (tmpy != *screeny) + *devy = rescaleValuatorAxis(*screeny, NULL, dev->valuator->axes + 1, + screenInfo.y, screenInfo.height); - if (valuator_mask_isset(mask, 0)) + /* Recalculate the per-screen device coordinates */ + if (valuator_mask_isset(mask, 0)) { + x = rescaleValuatorAxis(*screenx - scr->x, NULL, dev->valuator->axes + 0, + 0, scr->width); valuator_mask_set_double(mask, 0, x); - if (valuator_mask_isset(mask, 1)) + } + if (valuator_mask_isset(mask, 1)) { + y = rescaleValuatorAxis(*screeny - scr->y, NULL, dev->valuator->axes + 1, + 0, scr->height); valuator_mask_set_double(mask, 1, y); + } return scr; } @@ -1126,6 +1144,38 @@ QueuePointerEvents(DeviceIntPtr device, int type, * * Should not be called by anyone other than GetPointerEvents. * + * We use several different coordinate systems and need to switch between + * the three in fill_pointer_events, positionSprite and + * miPointerSetPosition. "desktop" refers to the width/height of all + * screenInfo.screens[n]->width/height added up. "screen" is ScreenRec, not + * output. + * + * Coordinate systems: + * - relative events have a mask_in in relative coordinates, mapped to + * pixels. These events are mapped to the current position±delta. + * - absolute events have a mask_in in absolute device coordinates in + * device-specific range. This range is mapped to the desktop. + * - POINTER_SCREEN absolute events (x86WarpCursor) are in screen-relative + * screen coordinate range. + * - rootx/rooty in events must be be relative to the current screen's + * origin (screen coordinate system) + * - XI2 valuators must be relative to the current screen's origin. On + * the protocol the device min/max range maps to the current screen. + * + * For screen switching we need to get the desktop coordinates for each + * event, then map that to the respective position on each screen and + * position the cursor there. + * The device's last.valuator[] stores the last position in desktop-wide + * coordinates (in device range for slave devices, desktop range for master + * devices). + * + * screen-relative device coordinates requires scaling: A device coordinate + * x/y of range [n..m] that maps to positions Sx/Sy on Screen S must be + * rescaled to match Sx/Sy for [n..m]. In the simplest example, x of (m/2-1) + * is the last coordinate on the first screen and must be rescaled for the + * event to be m. XI2 clients that do their own coordinate mapping would + * otherwise interpret the position of the device elsewere to the cursor. + * * @return the number of events written into events. */ static int @@ -1136,8 +1186,10 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, int num_events = 1, i; DeviceEvent *event; RawDeviceEvent *raw; - double screenx = 0.0, screeny = 0.0; + double screenx = 0.0, screeny = 0.0; /* desktop coordinate system */ + double devx = 0.0, devy = 0.0; /* desktop-wide in device coords */ ValuatorMask mask; + ScreenPtr scr; switch (type) { @@ -1176,6 +1228,8 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, set_raw_valuators(raw, &mask, raw->valuators.data_raw); } + /* valuators are in driver-native format (rel or abs) */ + if (flags & POINTER_ABSOLUTE) { if (flags & POINTER_SCREEN) /* valuators are in screen coords */ @@ -1189,22 +1243,34 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, moveRelative(pDev, &mask); } + /* valuators are in device coordinate system in absolute coordinates */ + if ((flags & POINTER_NORAW) == 0) set_raw_valuators(raw, &mask, raw->valuators.data); - positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative, - &mask, &screenx, &screeny); + scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative, + &mask, &devx, &devy, &screenx, &screeny); + + /* screenx, screeny are in desktop coordinates, + mask is in device coordinates per-screen (the event data) + devx/devy is in device coordinate desktop-wide */ updateHistory(pDev, &mask, ms); clipValuators(pDev, &mask); - for (i = 0; i < valuator_mask_size(&mask); i++) + /* store desktop-wide in last.valuators */ + if (valuator_mask_isset(&mask, 0)) + pDev->last.valuators[0] = devx; + if (valuator_mask_isset(&mask, 1)) + pDev->last.valuators[1] = devy; + + for (i = 2; i < valuator_mask_size(&mask); i++) { if (valuator_mask_isset(&mask, i)) pDev->last.valuators[i] = valuator_mask_get_double(&mask, i); } - /* Update the MD's co-ordinates, which are always in screen space. */ + /* Update the MD's co-ordinates, which are always in desktop space. */ if (!IsMaster(pDev) || !IsFloating(pDev)) { DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER); master->last.valuators[0] = screenx; @@ -1230,8 +1296,8 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, event->detail.button = buttons; } - /* root_x and root_y must be in screen co-ordinates */ - event_set_root_coordinates(event, screenx, screeny); + /* root_x and root_y must be in per-screen co-ordinates */ + event_set_root_coordinates(event, screenx - scr->x, screeny - scr->y); if (flags & POINTER_EMULATED) { raw->flags = XIPointerEmulated; diff --git a/xorg-server/dix/inpututils.c b/xorg-server/dix/inpututils.c index 5797f9256..c152b2d8b 100644 --- a/xorg-server/dix/inpututils.c +++ b/xorg-server/dix/inpututils.c @@ -665,6 +665,30 @@ point_on_screen(ScreenPtr pScreen, int x, int y) } /** + * Update desktop dimensions on the screenInfo struct. + */ +void +update_desktop_dimensions(void) +{ + int i; + int x1 = INT_MAX, y1 = INT_MAX; /* top-left */ + int x2 = INT_MIN, y2 = INT_MIN; /* bottom-right */ + + for (i = 0; i < screenInfo.numScreens; i++) { + ScreenPtr screen = screenInfo.screens[i]; + x1 = min(x1, screen->x); + y1 = min(y1, screen->y); + x2 = max(x2, screen->x + screen->width); + y2 = max(y2, screen->y + screen->height); + } + + screenInfo.x = x1; + screenInfo.y = y1; + screenInfo.width = x2 - x1; + screenInfo.height = y2 - y1; +} + +/* * Delete the element with the key from the list, freeing all memory * associated with the element.. */ diff --git a/xorg-server/hw/dmx/doc/dmx.xml b/xorg-server/hw/dmx/doc/dmx.xml index ce472c2bf..845eec97a 100644 --- a/xorg-server/hw/dmx/doc/dmx.xml +++ b/xorg-server/hw/dmx/doc/dmx.xml @@ -967,17 +967,10 @@ event queue. It is simply passed the event to be queued. </para> <para>The cursor position should be updated when motion events are -enqueued, by calling either miPointerAbsoluteCursor() or -miPointerDeltaCursor(): +enqueued by calling miPointerDeltaCursor(): <variablelist> <varlistentry> -<term>miPointerAbsoluteCursor()</term> -<listitem> -<para>This MI function is used to move the -cursor to the absolute coordinates provided. -</para></listitem></varlistentry> -<varlistentry> <term>miPointerDeltaCursor()</term> <listitem> <para>This MI function is used to move the cursor diff --git a/xorg-server/hw/xfree86/common/xf86Cursor.c b/xorg-server/hw/xfree86/common/xf86Cursor.c index 929f047cc..6f5d726f0 100644 --- a/xorg-server/hw/xfree86/common/xf86Cursor.c +++ b/xorg-server/hw/xfree86/common/xf86Cursor.c @@ -838,6 +838,8 @@ xf86InitOrigins(void) FillOutEdge(pLayout->down, pScreen->width); } } + + update_desktop_dimensions(); } void diff --git a/xorg-server/hw/xfree86/common/xf86RandR.c b/xorg-server/hw/xfree86/common/xf86RandR.c index 4663d0366..d0e47841e 100644 --- a/xorg-server/hw/xfree86/common/xf86RandR.c +++ b/xorg-server/hw/xfree86/common/xf86RandR.c @@ -313,6 +313,9 @@ xf86RandRSetConfig (ScreenPtr pScreen, return FALSE; } + + update_desktop_dimensions(); + /* * Move the cursor back where it belongs; SwitchMode repositions it * FIXME: duplicated code, see modes/xf86RandR12.c diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.c b/xorg-server/hw/xfree86/common/xf86Xinput.c index 425b35957..c3ffc27d0 100644 --- a/xorg-server/hw/xfree86/common/xf86Xinput.c +++ b/xorg-server/hw/xfree86/common/xf86Xinput.c @@ -910,35 +910,38 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs, return BadAlloc; nt_list_for_each_entry(option, options, list.next) { - if (strcasecmp(input_option_get_key(option), "driver") == 0) { + const char *key = input_option_get_key(option); + const char *value = input_option_get_value(option); + + if (strcasecmp(key, "driver") == 0) { if (pInfo->driver) { rval = BadRequest; goto unwind; } - pInfo->driver = xstrdup(input_option_get_value(option)); + pInfo->driver = xstrdup(value); if (!pInfo->driver) { rval = BadAlloc; goto unwind; } } - if (strcasecmp(input_option_get_key(option), "name") == 0 || - strcasecmp(input_option_get_key(option), "identifier") == 0) { + if (strcasecmp(key, "name") == 0 || + strcasecmp(key, "identifier") == 0) { if (pInfo->name) { rval = BadRequest; goto unwind; } - pInfo->name = xstrdup(input_option_get_value(option)); + pInfo->name = xstrdup(value); if (!pInfo->name) { rval = BadAlloc; goto unwind; } } - if (strcmp(input_option_get_key(option), "_source") == 0 && - (strcmp(input_option_get_value(option), "server/hal") == 0 || - strcmp(input_option_get_value(option), "server/udev") == 0 || - strcmp(input_option_get_value(option), "server/wscons") == 0)) { + if (strcmp(key, "_source") == 0 && + (strcmp(value, "server/hal") == 0 || + strcmp(value, "server/udev") == 0 || + strcmp(value, "server/wscons") == 0)) { is_auto = 1; if (!xf86Info.autoAddDevices) { rval = BadMatch; @@ -1346,25 +1349,6 @@ xf86ScaleAxis(int Cx, return X; } -/* - * This function checks the given screen against the current screen and - * makes changes if appropriate. It should be called from an XInput driver's - * ReadInput function before any events are posted, if the device is screen - * specific like a touch screen. - */ -void -xf86XInputSetScreen(InputInfoPtr pInfo, - int screen_number, - int x, - int y) -{ - if (miPointerGetScreen(pInfo->dev) != - screenInfo.screens[screen_number]) { - miPointerSetScreen(pInfo->dev, screen_number, x, y); - } -} - - Bool xf86InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval, int maxval, int resolution, int min_res, int max_res, int mode) diff --git a/xorg-server/hw/xfree86/common/xf86Xinput.h b/xorg-server/hw/xfree86/common/xf86Xinput.h index 189f7abaf..909fb57d6 100644 --- a/xorg-server/hw/xfree86/common/xf86Xinput.h +++ b/xorg-server/hw/xfree86/common/xf86Xinput.h @@ -143,7 +143,6 @@ extern _X_EXPORT void xf86PostKeyboardEvent(DeviceIntPtr device, unsigned int ke int is_down); extern _X_EXPORT InputInfoPtr xf86FirstLocalDevice(void); extern _X_EXPORT int xf86ScaleAxis(int Cx, int to_max, int to_min, int from_max, int from_min); -extern _X_EXPORT void xf86XInputSetScreen(InputInfoPtr pInfo, int screen_number, int x, int y); extern _X_EXPORT void xf86ProcessCommonOptions(InputInfoPtr pInfo, XF86OptionPtr options); extern _X_EXPORT Bool xf86InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, Atom label, int minval, int maxval, int resolution, int min_res, diff --git a/xorg-server/hw/xfree86/common/xf86pciBus.c b/xorg-server/hw/xfree86/common/xf86pciBus.c index eb5323cf0..bc09bd20c 100644 --- a/xorg-server/hw/xfree86/common/xf86pciBus.c +++ b/xorg-server/hw/xfree86/common/xf86pciBus.c @@ -1116,7 +1116,15 @@ videoPtrToDriverList(struct pci_device *dev, break; case 0x102b: driverList[0] = "mga"; break; case 0x10c8: driverList[0] = "neomagic"; break; - case 0x10de: case 0x12d2: driverList[0] = "nv"; break; + case 0x10de: case 0x12d2: + { + int idx = 0; +#ifdef __linux__ + driverList[idx++] = "nouveau"; +#endif + driverList[idx++] = "nv"; + break; + } case 0x1106: driverList[0] = "openchrome"; break; case 0x1b36: driverList[0] = "qxl"; break; case 0x1163: driverList[0] = "rendition"; break; diff --git a/xorg-server/hw/xfree86/modes/xf86RandR12.c b/xorg-server/hw/xfree86/modes/xf86RandR12.c index cb20d1c35..d5031a2f1 100644 --- a/xorg-server/hw/xfree86/modes/xf86RandR12.c +++ b/xorg-server/hw/xfree86/modes/xf86RandR12.c @@ -736,6 +736,8 @@ xf86RandR12ScreenSetSize (ScreenPtr pScreen, xf86SetViewport (pScreen, 0, 0); finish: + update_desktop_dimensions(); + if (pRoot && pScrn->vtSema) (*pScrn->EnableDisableFBAccess) (pScreen->myNum, TRUE); #if RANDR_12_INTERFACE diff --git a/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c b/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c index 15eb2a422..882fb3b46 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/alpha_video.c @@ -33,12 +33,10 @@ #include <sys/param.h> #ifndef __NetBSD__ -# include <sys/sysctl.h> -# if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) -# include <machine/sysarch.h> -# endif -# else -# include <machine/sysarch.h> +#include <sys/sysctl.h> +#endif +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) +#include <machine/sysarch.h> #endif #include "xf86Axp.h" @@ -52,10 +50,6 @@ #define MAP_FLAGS (MAP_FILE | MAP_SHARED) #endif -#ifndef MAP_FAILED -#define MAP_FAILED ((caddr_t)-1) -#endif - axpDevice bsdGetAXP(void); #ifndef __NetBSD__ @@ -64,8 +58,6 @@ extern unsigned long dense_base(void); static int axpSystem = -1; static unsigned long hae_thresh; static unsigned long hae_mask; -static unsigned long bus_base; -static unsigned long sparse_size; static unsigned long memory_base(void) @@ -197,7 +189,6 @@ static int devMemFd = -1; #ifdef HAS_APERTURE_DRV #define DEV_APERTURE "/dev/xf86" #endif -#define DEV_MEM "/dev/mem" static pointer mapVidMem(int, unsigned long, unsigned long, int); static void unmapVidMem(int, pointer, unsigned long); @@ -297,7 +288,6 @@ xf86OSInitVidMem(VidMemInfoPtr pVidMem) axpSystem = bsdGetAXP(); hae_thresh = xf86AXPParams[axpSystem].hae_thresh; hae_mask = xf86AXPParams[axpSystem].hae_mask; - sparse_size = xf86AXPParams[axpSystem].size; #endif /* __NetBSD__ */ } pVidMem->initialised = TRUE; @@ -440,7 +430,6 @@ xf86DisableIO() #define vuip volatile unsigned int * -static unsigned long msb_set = 0; static pointer memSBase = 0; static pointer memBase = 0; @@ -478,29 +467,25 @@ writeSparse32(int Value, pointer Base, register unsigned long Offset); #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) extern int sysarch(int, void *); -#endif struct parms { u_int64_t hae; }; -#ifndef __NetBSD__ -static int +static void sethae(u_int64_t hae) { -#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #ifndef ALPHA_SETHAE #define ALPHA_SETHAE 0 #endif - struct parms p; - p.hae = hae; - return (sysarch(ALPHA_SETHAE, (char *)&p)); -#endif -#ifdef __OpenBSD__ - return -1; -#endif + static struct parms p; + + if (p.hae != hae) { + p.hae = hae; + sysarch(ALPHA_SETHAE, (char *)&p); + } } -#endif /* __NetBSD__ */ +#endif static pointer mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags) @@ -555,12 +540,9 @@ readSparse8(pointer Base, register unsigned long Offset) if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; - if (msb_set != msb) { -#ifndef __NetBSD__ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) sethae(msb); #endif - msb_set = msb; - } } result = *(vuip) ((unsigned long)memSBase + (Offset << 5)); result >>= shift; @@ -579,12 +561,9 @@ readSparse16(pointer Base, register unsigned long Offset) if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; - if (msb_set != msb) { -#ifndef __NetBSD__ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) sethae(msb); #endif - msb_set = msb; - } } result = *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))); result >>= shift; @@ -609,12 +588,9 @@ writeSparse8(int Value, pointer Base, register unsigned long Offset) if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; - if (msb_set != msb) { -#ifndef __NetBSD__ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) sethae(msb); #endif - msb_set = msb; - } } *(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101; } @@ -630,12 +606,9 @@ writeSparse16(int Value, pointer Base, register unsigned long Offset) if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; - if (msb_set != msb) { -#ifndef __NetBSD__ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) sethae(msb); #endif - msb_set = msb; - } } *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) = w * 0x00010001; @@ -660,12 +633,9 @@ writeSparseNB8(int Value, pointer Base, register unsigned long Offset) if (Offset >= (hae_thresh)) { msb = Offset & hae_mask; Offset -= msb; - if (msb_set != msb) { -#ifndef __NetBSD__ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) sethae(msb); #endif - msb_set = msb; - } } *(vuip) ((unsigned long)memSBase + (Offset << 5)) = b * 0x01010101; } @@ -680,12 +650,9 @@ writeSparseNB16(int Value, pointer Base, register unsigned long Offset) if (Offset >= (hae_thresh)) { msb = Offset & hae_mask ; Offset -= msb; - if (msb_set != msb) { -#ifndef __NetBSD__ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) sethae(msb); #endif - msb_set = msb; - } } *(vuip)((unsigned long)memSBase+(Offset<<5)+(1<<(5-2))) = w * 0x00010001; diff --git a/xorg-server/hw/xfree86/os-support/bsd/arm_video.c b/xorg-server/hw/xfree86/os-support/bsd/arm_video.c index eb631a7f3..1de6c87d6 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/arm_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/arm_video.c @@ -97,11 +97,6 @@ struct memAccess ioMemInfo = { CONSOLE_GET_IO_INFO, NULL, NULL, #define MAP_FLAGS (MAP_FILE | MAP_SHARED) #endif -#ifndef MAP_FAILED -#define MAP_FAILED ((caddr_t)-1) -#endif - - #define BUS_BASE 0L #define BUS_BASE_BWX 0L @@ -113,8 +108,6 @@ struct memAccess ioMemInfo = { CONSOLE_GET_IO_INFO, NULL, NULL, static Bool useDevMem = FALSE; static int devMemFd = -1; -#define DEV_MEM "/dev/mem" - static pointer mapVidMem(int, unsigned long, unsigned long, int); static void unmapVidMem(int, pointer, unsigned long); diff --git a/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c b/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c index 844617980..b58d6a790 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c +++ b/xorg-server/hw/xfree86/os-support/bsd/bsd_init.c @@ -710,7 +710,6 @@ xf86UseMsg() { #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) ErrorF("vtXX use the specified VT number (1-12)\n"); - ErrorF("-sharevts share VTs with another X server\n"); #endif /* SYSCONS_SUPPORT || PCVT_SUPPORT */ ErrorF("-keeptty "); ErrorF("don't detach controlling tty (for debugging only)\n"); diff --git a/xorg-server/hw/xfree86/os-support/bsd/i386_video.c b/xorg-server/hw/xfree86/os-support/bsd/i386_video.c index 20dbde86a..35e00fce7 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/i386_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/i386_video.c @@ -64,10 +64,6 @@ #define MAP_FLAGS (MAP_FILE | MAP_SHARED) #endif -#ifndef MAP_FAILED -#define MAP_FAILED ((caddr_t)-1) -#endif - #ifdef __OpenBSD__ #define SYSCTL_MSG "\tCheck that you have set 'machdep.allowaperture=1'\n"\ "\tin /etc/sysctl.conf and reboot your machine\n" \ @@ -88,7 +84,6 @@ static int devMemFd = -1; #ifdef HAS_APERTURE_DRV #define DEV_APERTURE "/dev/xf86" #endif -#define DEV_MEM "/dev/mem" static pointer mapVidMem(int, unsigned long, unsigned long, int); static void unmapVidMem(int, pointer, unsigned long); diff --git a/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c b/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c index aeaf18305..e5d832eed 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/ppc_video.c @@ -36,18 +36,11 @@ #include "bus/Pci.h" -#ifndef MAP_FAILED -#define MAP_FAILED ((caddr_t)-1) -#endif - - /***************************************************************************/ /* Video Memory Mapping section */ /***************************************************************************/ -#ifndef __OpenBSD__ -#define DEV_MEM "/dev/mem" -#else +#ifdef __OpenBSD__ #define DEV_MEM "/dev/xf86" #endif diff --git a/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c b/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c index a2a30c9d7..960c850a8 100644 --- a/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c +++ b/xorg-server/hw/xfree86/os-support/bsd/sparc64_video.c @@ -34,10 +34,6 @@ #include "xf86_OSlib.h" #include "xf86OSpriv.h" -#ifndef MAP_FAILED -#define MAP_FAILED ((caddr_t)-1) -#endif - /***************************************************************************/ /* Video Memory Mapping section */ /***************************************************************************/ diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_video.c b/xorg-server/hw/xfree86/os-support/linux/lnx_video.c index 697c9fe30..e711784e7 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_video.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_video.c @@ -1,881 +1,877 @@ -/*
- * Copyright 1992 by Orest Zborowski <obz@Kodak.com>
- * Copyright 1993 by David Wexelblat <dwex@goblin.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the names of Orest Zborowski and David Wexelblat
- * not be used in advertising or publicity pertaining to distribution of
- * the software without specific, written prior permission. Orest Zborowski
- * and David Wexelblat make no representations about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * OREST ZBOROWSKI AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD
- * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID WEXELBLAT BE LIABLE
- * FOR ANY SPECIAL, 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.
- *
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <errno.h>
-#include <string.h>
-
-#include <X11/X.h>
-#include "input.h"
-#include "scrnintstr.h"
-
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86_OSlib.h"
-#include "xf86OSpriv.h"
-#ifdef __alpha__
-#include "shared/xf86Axp.h"
-#endif
-
-#ifdef HAS_MTRR_SUPPORT
-#include <asm/mtrr.h>
-#endif
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *)-1)
-#endif
-
-static Bool ExtendedEnabled = FALSE;
-
-#ifdef __ia64__
-
-#include "compiler.h"
-#include <sys/io.h>
-
-#elif !defined(__powerpc__) && \
- !defined(__mc68000__) && \
- !defined(__sparc__) && \
- !defined(__mips__) && \
- !defined(__nds32__) && \
- !defined(__arm__)
-
-/*
- * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
- * these.
- */
-extern int ioperm(unsigned long __from, unsigned long __num, int __turn_on);
-extern int iopl(int __level);
-
-#endif
-
-#ifdef __alpha__
-# define BUS_BASE bus_base
-#else
-#define BUS_BASE (0)
-#endif /* __alpha__ */
-
-/***************************************************************************/
-/* Video Memory Mapping section */
-/***************************************************************************/
-
-static pointer mapVidMem(int, unsigned long, unsigned long, int);
-static void unmapVidMem(int, pointer, unsigned long);
-#if defined (__alpha__)
-extern void sethae(unsigned long hae);
-extern unsigned long _bus_base __P ((void)) __attribute__ ((const));
-extern unsigned long _bus_base_sparse __P ((void)) __attribute__ ((const));
-
-static pointer mapVidMemSparse(int, unsigned long, unsigned long, int);
-extern axpDevice lnxGetAXP(void);
-static void unmapVidMemSparse(int, pointer, unsigned long);
-static axpDevice axpSystem = -1;
-static Bool needSparse;
-static unsigned long hae_thresh;
-static unsigned long hae_mask;
-static unsigned long bus_base;
-#endif
-
-#ifdef HAS_MTRR_SUPPORT
-
-#define SPLIT_WC_REGIONS 1
-
-static pointer setWC(int, unsigned long, unsigned long, Bool, MessageType);
-static void undoWC(int, pointer);
-
-/* The file desc for /proc/mtrr. Once opened, left opened, and the mtrr
- driver will clean up when we exit. */
-#define MTRR_FD_UNOPENED (-1) /* We have yet to open /proc/mtrr */
-#define MTRR_FD_PROBLEM (-2) /* We tried to open /proc/mtrr, but had
- a problem. */
-static int mtrr_fd = MTRR_FD_UNOPENED;
-
-/* Open /proc/mtrr. FALSE on failure. Will always fail on Linux 2.0,
- and will fail on Linux 2.2 with MTRR support configured out,
- so verbosity should be chosen appropriately. */
-static Bool
-mtrr_open(int verbosity)
-{
- /* Only report absence of /proc/mtrr once. */
- static Bool warned = FALSE;
-
- if (mtrr_fd == MTRR_FD_UNOPENED) {
- mtrr_fd = open("/proc/mtrr", O_WRONLY);
-
- if (mtrr_fd < 0)
- mtrr_fd = MTRR_FD_PROBLEM;
- }
-
- if (mtrr_fd == MTRR_FD_PROBLEM) {
- /* To make sure we only ever warn once, need to check
- verbosity outside xf86MsgVerb */
- if (!warned && verbosity <= xf86GetVerbosity()) {
- xf86MsgVerb(X_WARNING, verbosity,
- "System lacks support for changing MTRRs\n");
- warned = TRUE;
- }
-
- return FALSE;
- }
- else
- return TRUE;
-}
-
-/*
- * We maintain a list of WC regions for each physical mapping so they can
- * be undone when unmapping.
- */
-
-struct mtrr_wc_region {
- struct mtrr_sentry sentry;
- Bool added; /* added WC or removed it */
- struct mtrr_wc_region * next;
-};
-
-
-static struct mtrr_wc_region *
-mtrr_cull_wc_region(int screenNum, unsigned long base, unsigned long size,
- MessageType from)
-{
- /* Some BIOS writers thought that setting wc over the mmio
- region of a graphics devices was a good idea. Try to fix
- it. */
-
- struct mtrr_gentry gent;
- struct mtrr_wc_region *wcreturn = NULL, *wcr;
- int count, ret=0;
-
- /* Linux 2.0 users should not get a warning without -verbose */
- if (!mtrr_open(2))
- return NULL;
-
- for (gent.regnum = 0;
- ioctl(mtrr_fd, MTRRIOC_GET_ENTRY, &gent) >= 0;
- gent.regnum++) {
- if (gent.type != MTRR_TYPE_WRCOMB
- || gent.base + gent.size <= base
- || base + size <= gent.base)
- continue;
-
- /* Found an overlapping region. Delete it. */
-
- wcr = malloc(sizeof(*wcr));
- if (!wcr)
- return NULL;
- wcr->sentry.base = gent.base;
- wcr->sentry.size = gent.size;
- wcr->sentry.type = MTRR_TYPE_WRCOMB;
- wcr->added = FALSE;
-
- count = 3;
- while (count-- &&
- (ret = ioctl(mtrr_fd, MTRRIOC_KILL_ENTRY, &(wcr->sentry))) < 0);
-
- if (ret >= 0) {
- xf86DrvMsg(screenNum, from,
- "Removed MMIO write-combining range "
- "(0x%lx,0x%lx)\n",
- (unsigned long) gent.base, (unsigned long) gent.size);
- wcr->next = wcreturn;
- wcreturn = wcr;
- gent.regnum--;
- } else {
- free(wcr);
- xf86DrvMsgVerb(screenNum, X_WARNING, 0,
- "Failed to remove MMIO "
- "write-combining range (0x%lx,0x%lx)\n",
- gent.base, (unsigned long) gent.size);
- }
- }
- return wcreturn;
-}
-
-
-static struct mtrr_wc_region *
-mtrr_remove_offending(int screenNum, unsigned long base, unsigned long size,
- MessageType from)
-{
- struct mtrr_gentry gent;
- struct mtrr_wc_region *wcreturn = NULL, **wcr;
-
- if (!mtrr_open(2))
- return NULL;
-
- wcr = &wcreturn;
- for (gent.regnum = 0;
- ioctl(mtrr_fd, MTRRIOC_GET_ENTRY, &gent) >= 0; gent.regnum++ ) {
- if (gent.type == MTRR_TYPE_WRCOMB
- && ((gent.base >= base && gent.base + gent.size < base + size) ||
- (gent.base > base && gent.base + gent.size <= base + size))) {
- *wcr = mtrr_cull_wc_region(screenNum, gent.base, gent.size, from);
- if (*wcr) gent.regnum--;
- while(*wcr) {
- wcr = &((*wcr)->next);
- }
- }
- }
- return wcreturn;
-}
-
-
-static struct mtrr_wc_region *
-mtrr_add_wc_region(int screenNum, unsigned long base, unsigned long size,
- MessageType from)
-{
- struct mtrr_wc_region **wcr, *wcreturn, *curwcr;
-
- /*
- * There can be only one....
- */
-
- wcreturn = mtrr_remove_offending(screenNum, base, size, from);
- wcr = &wcreturn;
- while (*wcr) {
- wcr = &((*wcr)->next);
- }
-
- /* Linux 2.0 should not warn, unless the user explicitly asks for
- WC. */
-
- if (!mtrr_open(from == X_CONFIG ? 0 : 2))
- return wcreturn;
-
- *wcr = curwcr = malloc(sizeof(**wcr));
- if (!curwcr)
- return wcreturn;
-
- curwcr->sentry.base = base;
- curwcr->sentry.size = size;
- curwcr->sentry.type = MTRR_TYPE_WRCOMB;
- curwcr->added = TRUE;
- curwcr->next = NULL;
-
-#if SPLIT_WC_REGIONS
- /*
- * Splits up the write-combining region if it is not aligned on a
- * size boundary.
- */
-
- {
- unsigned long lbase, d_size = 1;
- unsigned long n_size = size;
- unsigned long n_base = base;
-
- for (lbase = n_base, d_size = 1; !(lbase & 1);
- lbase = lbase >> 1, d_size <<= 1);
- while (d_size > n_size)
- d_size = d_size >> 1;
- DebugF("WC_BASE: 0x%lx WC_END: 0x%lx\n",base,base+d_size-1);
- n_base += d_size;
- n_size -= d_size;
- if (n_size) {
- xf86DrvMsgVerb(screenNum,X_INFO,3,"Splitting WC range: "
- "base: 0x%lx, size: 0x%lx\n",base,size);
- curwcr->next = mtrr_add_wc_region(screenNum, n_base, n_size,from);
- }
- curwcr->sentry.size = d_size;
- }
-
- /*****************************************************************/
-#endif /* SPLIT_WC_REGIONS */
-
- if (ioctl(mtrr_fd, MTRRIOC_ADD_ENTRY, &curwcr->sentry) >= 0) {
- /* Avoid printing on every VT switch */
- if (xf86ServerIsInitialising()) {
- xf86DrvMsg(screenNum, from,
- "Write-combining range (0x%lx,0x%lx)\n",
- base, size);
- }
- return wcreturn;
- }
- else {
- *wcr = curwcr->next;
- free(curwcr);
-
- /* Don't complain about the VGA region: MTRR fixed
- regions aren't currently supported, but might be in
- the future. */
- if ((unsigned long)base >= 0x100000) {
- xf86DrvMsgVerb(screenNum, X_WARNING, 0,
- "Failed to set up write-combining range "
- "(0x%lx,0x%lx)\n", base, size);
- }
- return wcreturn;
- }
-}
-
-static void
-mtrr_undo_wc_region(int screenNum, struct mtrr_wc_region *wcr)
-{
- struct mtrr_wc_region *p, *prev;
-
- if (mtrr_fd >= 0) {
- p = wcr;
- while (p) {
- if (p->added)
- ioctl(mtrr_fd, MTRRIOC_DEL_ENTRY, &p->sentry);
- prev = p;
- p = p->next;
- free(prev);
- }
- }
-}
-
-static pointer
-setWC(int screenNum, unsigned long base, unsigned long size, Bool enable,
- MessageType from)
-{
- if (enable)
- return mtrr_add_wc_region(screenNum, base, size, from);
- else
- return mtrr_cull_wc_region(screenNum, base, size, from);
-}
-
-static void
-undoWC(int screenNum, pointer regioninfo)
-{
- mtrr_undo_wc_region(screenNum, regioninfo);
-}
-
-#endif /* HAS_MTRR_SUPPORT */
-
-void
-xf86OSInitVidMem(VidMemInfoPtr pVidMem)
-{
- pVidMem->linearSupported = TRUE;
-#ifdef __alpha__
- if (axpSystem == -1) {
- axpSystem = lnxGetAXP();
- if ((needSparse = (_bus_base_sparse() > 0))) {
- hae_thresh = xf86AXPParams[axpSystem].hae_thresh;
- hae_mask = xf86AXPParams[axpSystem].hae_mask;
- }
- bus_base = _bus_base();
- }
- if (needSparse) {
- xf86Msg(X_INFO,"Machine needs sparse mapping\n");
- pVidMem->mapMem = mapVidMemSparse;
- pVidMem->unmapMem = unmapVidMemSparse;
- } else {
- xf86Msg(X_INFO,"Machine type has 8/16 bit access\n");
- pVidMem->mapMem = mapVidMem;
- pVidMem->unmapMem = unmapVidMem;
- }
-#else
- pVidMem->mapMem = mapVidMem;
- pVidMem->unmapMem = unmapVidMem;
-#endif /* __alpha__ */
-
-
-#ifdef HAS_MTRR_SUPPORT
- pVidMem->setWC = setWC;
- pVidMem->undoWC = undoWC;
-#endif
- pVidMem->initialised = TRUE;
-}
-
-#ifdef __sparc__
-/* Basically, you simply cannot do this on Sparc. You have to do something portable
- * like use /dev/fb* or mmap() on /proc/bus/pci/X/Y nodes. -DaveM
- */
-static pointer mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
-{
- return NULL;
-}
-#else
-static pointer
-mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
-{
- pointer base;
- int fd;
- int mapflags = MAP_SHARED;
- int prot;
- memType realBase, alignOff;
-
- realBase = Base & ~(getpagesize() - 1);
- alignOff = Base - realBase;
- DebugF("base: %lx, realBase: %lx, alignOff: %lx \n",
- Base,realBase,alignOff);
-
-#if defined(__ia64__) || defined(__arm__) || defined(__s390__)
-#ifndef MAP_WRITECOMBINED
-#define MAP_WRITECOMBINED 0x00010000
-#endif
-#ifndef MAP_NONCACHED
-#define MAP_NONCACHED 0x00020000
-#endif
- if(flags & VIDMEM_FRAMEBUFFER)
- mapflags |= MAP_WRITECOMBINED;
- else
- mapflags |= MAP_NONCACHED;
-#endif
-
-#if 0
- /* this will disappear when people upgrade their kernels */
- fd = open(DEV_MEM,
- ((flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR) | O_SYNC);
-#else
- fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR);
-#endif
- if (fd < 0)
- {
- FatalError("xf86MapVidMem: failed to open " DEV_MEM " (%s)\n",
- strerror(errno));
- }
-
- if (flags & VIDMEM_READONLY)
- prot = PROT_READ;
- else
- prot = PROT_READ | PROT_WRITE;
-
- /* This requires linux-0.99.pl10 or above */
- base = mmap((caddr_t)0, Size + alignOff, prot, mapflags, fd,
- (off_t)realBase + BUS_BASE);
- close(fd);
- if (base == MAP_FAILED) {
- FatalError("xf86MapVidMem: Could not mmap framebuffer"
- " (0x%08lx,0x%lx) (%s)\n", Base, Size,
- strerror(errno));
- }
- DebugF("base: %lx aligned base: %lx\n",base, (char *)base + alignOff);
- return (char *)base + alignOff;
-}
-#endif /* !(__sparc__) */
-
-static void
-unmapVidMem(int ScreenNum, pointer Base, unsigned long Size)
-{
- memType alignOff = (memType)Base
- - ((memType)Base & ~(getpagesize() - 1));
-
- DebugF("alignment offset: %lx\n",alignOff);
- munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff));
-}
-
-
-/***************************************************************************/
-/* I/O Permissions section */
-/***************************************************************************/
-
-#if defined(__powerpc__)
-volatile unsigned char *ioBase = NULL;
-
-#ifndef __NR_pciconfig_iobase
-#define __NR_pciconfig_iobase 200
-#endif
-
-#endif
-
-Bool
-xf86EnableIO(void)
-{
-#if defined(__powerpc__)
- int fd;
- unsigned int ioBase_phys;
-#endif
-
- if (ExtendedEnabled)
- return TRUE;
-
-#if defined(__powerpc__)
- ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0);
-
- fd = open("/dev/mem", O_RDWR);
- if (ioBase == NULL) {
- ioBase = (volatile unsigned char *)mmap(0, 0x20000,
- PROT_READ | PROT_WRITE, MAP_SHARED, fd,
- ioBase_phys);
-/* Should this be fatal or just a warning? */
-#if 0
- if (ioBase == MAP_FAILED) {
- xf86Msg(X_WARNING,
- "xf86EnableIOPorts: Failed to map iobase (%s)\n",
- strerror(errno));
- return FALSE;
- }
-#endif
- }
- close(fd);
-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) && !defined(__nds32__)
- if (ioperm(0, 1024, 1) || iopl(3)) {
- if (errno == ENODEV)
- ErrorF("xf86EnableIOPorts: no I/O ports found\n");
- else
- FatalError("xf86EnableIOPorts: failed to set IOPL"
- " for I/O (%s)\n", strerror(errno));
- return FALSE;
- }
-# if !defined(__alpha__)
- /* XXX: this is actually not trapping anything because of iopl(3)
- * above */
- ioperm(0x40,4,0); /* trap access to the timer chip */
- ioperm(0x60,4,0); /* trap access to the keyboard controller */
-# endif
-#endif
- ExtendedEnabled = TRUE;
-
- return TRUE;
-}
-
-void
-xf86DisableIO(void)
-{
- if (!ExtendedEnabled)
- return;
-#if defined(__powerpc__)
- munmap(ioBase, 0x20000);
- ioBase = NULL;
-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__) && !defined(__nds32__)
- iopl(0);
- ioperm(0, 1024, 0);
-#endif
- ExtendedEnabled = FALSE;
-
- return;
-}
-
-#if defined (__alpha__)
-
-#define vuip volatile unsigned int *
-
-extern int readDense8(pointer Base, register unsigned long Offset);
-extern int readDense16(pointer Base, register unsigned long Offset);
-extern int readDense32(pointer Base, register unsigned long Offset);
-extern void
-writeDenseNB8(int Value, pointer Base, register unsigned long Offset);
-extern void
-writeDenseNB16(int Value, pointer Base, register unsigned long Offset);
-extern void
-writeDenseNB32(int Value, pointer Base, register unsigned long Offset);
-extern void
-writeDense8(int Value, pointer Base, register unsigned long Offset);
-extern void
-writeDense16(int Value, pointer Base, register unsigned long Offset);
-extern void
-writeDense32(int Value, pointer Base, register unsigned long Offset);
-
-static int readSparse8(pointer Base, register unsigned long Offset);
-static int readSparse16(pointer Base, register unsigned long Offset);
-static int readSparse32(pointer Base, register unsigned long Offset);
-static void
-writeSparseNB8(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparseNB16(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparseNB32(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparse8(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparse16(int Value, pointer Base, register unsigned long Offset);
-static void
-writeSparse32(int Value, pointer Base, register unsigned long Offset);
-
-#define DENSE_BASE 0x2ff00000000UL
-#define SPARSE_BASE 0x30000000000UL
-
-static unsigned long msb_set = 0;
-
-static pointer
-mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
-{
- int fd, prot;
- unsigned long ret, rets = 0;
-
- static Bool was_here = FALSE;
-
- if (!was_here) {
- was_here = TRUE;
-
- xf86WriteMmio8 = writeSparse8;
- xf86WriteMmio16 = writeSparse16;
- xf86WriteMmio32 = writeSparse32;
- xf86WriteMmioNB8 = writeSparseNB8;
- xf86WriteMmioNB16 = writeSparseNB16;
- xf86WriteMmioNB32 = writeSparseNB32;
- xf86ReadMmio8 = readSparse8;
- xf86ReadMmio16 = readSparse16;
- xf86ReadMmio32 = readSparse32;
- }
-
- fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR);
- if (fd < 0) {
- FatalError("xf86MapVidMem: failed to open " DEV_MEM " (%s)\n",
- strerror(errno));
- }
-
-#if 0
- xf86Msg(X_INFO,"mapVidMemSparse: try Base 0x%lx size 0x%lx flags 0x%x\n",
- Base, Size, flags);
-#endif
-
- if (flags & VIDMEM_READONLY)
- prot = PROT_READ;
- else
- prot = PROT_READ | PROT_WRITE;
-
- /* This requirers linux-0.99.pl10 or above */
-
- /*
- * Always do DENSE mmap, since read32/write32 currently require it.
- */
- ret = (unsigned long)mmap((caddr_t)(DENSE_BASE + Base), Size,
- prot, MAP_SHARED, fd,
- (off_t) (bus_base + Base));
-
- /*
- * Do SPARSE mmap only when MMIO and not MMIO_32BIT, or FRAMEBUFFER
- * and SPARSE (which should require the use of read/write macros).
- *
- * By not SPARSE mmapping an 8MB framebuffer, we can save approx. 256K
- * bytes worth of pagetable (32 pages).
- */
- if (((flags & VIDMEM_MMIO) && !(flags & VIDMEM_MMIO_32BIT)) ||
- ((flags & VIDMEM_FRAMEBUFFER) && (flags & VIDMEM_SPARSE)))
- {
- rets = (unsigned long)mmap((caddr_t)(SPARSE_BASE + (Base << 5)),
- Size << 5, prot, MAP_SHARED, fd,
- (off_t) _bus_base_sparse() + (Base << 5));
- }
-
- close(fd);
-
- if (ret == (unsigned long)MAP_FAILED) {
- FatalError("xf86MapVidMemSparse: Could not (dense) mmap fb (%s)\n",
- strerror(errno));
- }
-
- if (((flags & VIDMEM_MMIO) && !(flags & VIDMEM_MMIO_32BIT)) ||
- ((flags & VIDMEM_FRAMEBUFFER) && (flags & VIDMEM_SPARSE)))
- {
- if (rets == (unsigned long)MAP_FAILED ||
- rets != (SPARSE_BASE + (Base << 5)))
- {
- FatalError("mapVidMemSparse: Could not (sparse) mmap fb (%s)\n",
- strerror(errno));
- }
- }
-
-#if 1
- if (rets)
- xf86Msg(X_INFO,"mapVidMemSparse: mapped Base 0x%lx size 0x%lx"
- " to DENSE at 0x%lx and SPARSE at 0x%lx\n",
- Base, Size, ret, rets);
- else
- xf86Msg(X_INFO,"mapVidMemSparse: mapped Base 0x%lx size 0x%lx"
- " to DENSE only at 0x%lx\n",
- Base, Size, ret);
-
-#endif
- return (pointer) ret;
-}
-
-static void
-unmapVidMemSparse(int ScreenNum, pointer Base, unsigned long Size)
-{
- unsigned long Offset = (unsigned long)Base - DENSE_BASE;
-#if 1
- xf86Msg(X_INFO,"unmapVidMemSparse: unmapping Base 0x%lx Size 0x%lx\n",
- Base, Size);
-#endif
- /* Unmap DENSE always. */
- munmap((caddr_t)Base, Size);
-
- /* Unmap SPARSE always, and ignore error in case we did not map it. */
- munmap((caddr_t)(SPARSE_BASE + (Offset << 5)), Size << 5);
-}
-
-static int
-readSparse8(pointer Base, register unsigned long Offset)
-{
- register unsigned long result, shift;
- register unsigned long msb;
-
- mem_barrier();
- Offset += (unsigned long)Base - DENSE_BASE;
- shift = (Offset & 0x3) << 3;
- if (Offset >= (hae_thresh)) {
- msb = Offset & hae_mask;
- Offset -= msb;
- if (msb_set != msb) {
- sethae(msb);
- msb_set = msb;
- }
- }
-
- mem_barrier();
- result = *(vuip) (SPARSE_BASE + (Offset << 5));
- result >>= shift;
- return 0xffUL & result;
-}
-
-static int
-readSparse16(pointer Base, register unsigned long Offset)
-{
- register unsigned long result, shift;
- register unsigned long msb;
-
- mem_barrier();
- Offset += (unsigned long)Base - DENSE_BASE;
- shift = (Offset & 0x2) << 3;
- if (Offset >= hae_thresh) {
- msb = Offset & hae_mask;
- Offset -= msb;
- if (msb_set != msb) {
- sethae(msb);
- msb_set = msb;
- }
- }
-
- mem_barrier();
- result = *(vuip)(SPARSE_BASE + (Offset<<5) + (1<<(5-2)));
- result >>= shift;
- return 0xffffUL & result;
-}
-
-static int
-readSparse32(pointer Base, register unsigned long Offset)
-{
- /* NOTE: this is really using DENSE. */
- mem_barrier();
- return *(vuip)((unsigned long)Base+(Offset));
-}
-
-static void
-writeSparse8(int Value, pointer Base, register unsigned long Offset)
-{
- register unsigned long msb;
- register unsigned int b = Value & 0xffU;
-
- write_mem_barrier();
- Offset += (unsigned long)Base - DENSE_BASE;
- if (Offset >= hae_thresh) {
- msb = Offset & hae_mask;
- Offset -= msb;
- if (msb_set != msb) {
- sethae(msb);
- msb_set = msb;
- }
- }
-
- write_mem_barrier();
- *(vuip) (SPARSE_BASE + (Offset << 5)) = b * 0x01010101;
-}
-
-static void
-writeSparse16(int Value, pointer Base, register unsigned long Offset)
-{
- register unsigned long msb;
- register unsigned int w = Value & 0xffffU;
-
- write_mem_barrier();
- Offset += (unsigned long)Base - DENSE_BASE;
- if (Offset >= hae_thresh) {
- msb = Offset & hae_mask;
- Offset -= msb;
- if (msb_set != msb) {
- sethae(msb);
- msb_set = msb;
- }
- }
-
- write_mem_barrier();
- *(vuip)(SPARSE_BASE + (Offset<<5) + (1<<(5-2))) = w * 0x00010001;
-}
-
-static void
-writeSparse32(int Value, pointer Base, register unsigned long Offset)
-{
- /* NOTE: this is really using DENSE. */
- write_mem_barrier();
- *(vuip)((unsigned long)Base + (Offset)) = Value;
- return;
-}
-
-static void
-writeSparseNB8(int Value, pointer Base, register unsigned long Offset)
-{
- register unsigned long msb;
- register unsigned int b = Value & 0xffU;
-
- Offset += (unsigned long)Base - DENSE_BASE;
- if (Offset >= hae_thresh) {
- msb = Offset & hae_mask;
- Offset -= msb;
- if (msb_set != msb) {
- sethae(msb);
- msb_set = msb;
- }
- }
- *(vuip) (SPARSE_BASE + (Offset << 5)) = b * 0x01010101;
-}
-
-static void
-writeSparseNB16(int Value, pointer Base, register unsigned long Offset)
-{
- register unsigned long msb;
- register unsigned int w = Value & 0xffffU;
-
- Offset += (unsigned long)Base - DENSE_BASE;
- if (Offset >= hae_thresh) {
- msb = Offset & hae_mask;
- Offset -= msb;
- if (msb_set != msb) {
- sethae(msb);
- msb_set = msb;
- }
- }
- *(vuip)(SPARSE_BASE+(Offset<<5)+(1<<(5-2))) = w * 0x00010001;
-}
-
-static void
-writeSparseNB32(int Value, pointer Base, register unsigned long Offset)
-{
- /* NOTE: this is really using DENSE. */
- *(vuip)((unsigned long)Base + (Offset)) = Value;
- return;
-}
-
-void (*xf86WriteMmio8)(int Value, pointer Base, unsigned long Offset)
- = writeDense8;
-void (*xf86WriteMmio16)(int Value, pointer Base, unsigned long Offset)
- = writeDense16;
-void (*xf86WriteMmio32)(int Value, pointer Base, unsigned long Offset)
- = writeDense32;
-void (*xf86WriteMmioNB8)(int Value, pointer Base, unsigned long Offset)
- = writeDenseNB8;
-void (*xf86WriteMmioNB16)(int Value, pointer Base, unsigned long Offset)
- = writeDenseNB16;
-void (*xf86WriteMmioNB32)(int Value, pointer Base, unsigned long Offset)
- = writeDenseNB32;
-int (*xf86ReadMmio8)(pointer Base, unsigned long Offset)
- = readDense8;
-int (*xf86ReadMmio16)(pointer Base, unsigned long Offset)
- = readDense16;
-int (*xf86ReadMmio32)(pointer Base, unsigned long Offset)
- = readDense32;
-
-#endif /* __alpha__ */
+/* + * Copyright 1992 by Orest Zborowski <obz@Kodak.com> + * Copyright 1993 by David Wexelblat <dwex@goblin.org> + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the names of Orest Zborowski and David Wexelblat + * not be used in advertising or publicity pertaining to distribution of + * the software without specific, written prior permission. Orest Zborowski + * and David Wexelblat make no representations about the suitability of this + * software for any purpose. It is provided "as is" without express or + * implied warranty. + * + * OREST ZBOROWSKI AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD + * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS, IN NO EVENT SHALL OREST ZBOROWSKI OR DAVID WEXELBLAT BE LIABLE + * FOR ANY SPECIAL, 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. + * + */ + +#ifdef HAVE_XORG_CONFIG_H +#include <xorg-config.h> +#endif + +#include <errno.h> +#include <string.h> + +#include <X11/X.h> +#include "input.h" +#include "scrnintstr.h" + +#include "xf86.h" +#include "xf86Priv.h" +#include "xf86_OSlib.h" +#include "xf86OSpriv.h" +#ifdef __alpha__ +#include "shared/xf86Axp.h" +#endif + +#ifdef HAS_MTRR_SUPPORT +#include <asm/mtrr.h> +#endif + +static Bool ExtendedEnabled = FALSE; + +#ifdef __ia64__ + +#include "compiler.h" +#include <sys/io.h> + +#elif !defined(__powerpc__) && \ + !defined(__mc68000__) && \ + !defined(__sparc__) && \ + !defined(__mips__) && \ + !defined(__nds32__) && \ + !defined(__arm__) + +/* + * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare + * these. + */ +extern int ioperm(unsigned long __from, unsigned long __num, int __turn_on); +extern int iopl(int __level); + +#endif + +#ifdef __alpha__ +# define BUS_BASE bus_base +#else +#define BUS_BASE (0) +#endif /* __alpha__ */ + +/***************************************************************************/ +/* Video Memory Mapping section */ +/***************************************************************************/ + +static pointer mapVidMem(int, unsigned long, unsigned long, int); +static void unmapVidMem(int, pointer, unsigned long); +#if defined (__alpha__) +extern void sethae(unsigned long hae); +extern unsigned long _bus_base __P ((void)) __attribute__ ((const)); +extern unsigned long _bus_base_sparse __P ((void)) __attribute__ ((const)); + +static pointer mapVidMemSparse(int, unsigned long, unsigned long, int); +extern axpDevice lnxGetAXP(void); +static void unmapVidMemSparse(int, pointer, unsigned long); +static axpDevice axpSystem = -1; +static Bool needSparse; +static unsigned long hae_thresh; +static unsigned long hae_mask; +static unsigned long bus_base; +#endif + +#ifdef HAS_MTRR_SUPPORT + +#define SPLIT_WC_REGIONS 1 + +static pointer setWC(int, unsigned long, unsigned long, Bool, MessageType); +static void undoWC(int, pointer); + +/* The file desc for /proc/mtrr. Once opened, left opened, and the mtrr + driver will clean up when we exit. */ +#define MTRR_FD_UNOPENED (-1) /* We have yet to open /proc/mtrr */ +#define MTRR_FD_PROBLEM (-2) /* We tried to open /proc/mtrr, but had + a problem. */ +static int mtrr_fd = MTRR_FD_UNOPENED; + +/* Open /proc/mtrr. FALSE on failure. Will always fail on Linux 2.0, + and will fail on Linux 2.2 with MTRR support configured out, + so verbosity should be chosen appropriately. */ +static Bool +mtrr_open(int verbosity) +{ + /* Only report absence of /proc/mtrr once. */ + static Bool warned = FALSE; + + if (mtrr_fd == MTRR_FD_UNOPENED) { + mtrr_fd = open("/proc/mtrr", O_WRONLY); + + if (mtrr_fd < 0) + mtrr_fd = MTRR_FD_PROBLEM; + } + + if (mtrr_fd == MTRR_FD_PROBLEM) { + /* To make sure we only ever warn once, need to check + verbosity outside xf86MsgVerb */ + if (!warned && verbosity <= xf86GetVerbosity()) { + xf86MsgVerb(X_WARNING, verbosity, + "System lacks support for changing MTRRs\n"); + warned = TRUE; + } + + return FALSE; + } + else + return TRUE; +} + +/* + * We maintain a list of WC regions for each physical mapping so they can + * be undone when unmapping. + */ + +struct mtrr_wc_region { + struct mtrr_sentry sentry; + Bool added; /* added WC or removed it */ + struct mtrr_wc_region * next; +}; + + +static struct mtrr_wc_region * +mtrr_cull_wc_region(int screenNum, unsigned long base, unsigned long size, + MessageType from) +{ + /* Some BIOS writers thought that setting wc over the mmio + region of a graphics devices was a good idea. Try to fix + it. */ + + struct mtrr_gentry gent; + struct mtrr_wc_region *wcreturn = NULL, *wcr; + int count, ret=0; + + /* Linux 2.0 users should not get a warning without -verbose */ + if (!mtrr_open(2)) + return NULL; + + for (gent.regnum = 0; + ioctl(mtrr_fd, MTRRIOC_GET_ENTRY, &gent) >= 0; + gent.regnum++) { + if (gent.type != MTRR_TYPE_WRCOMB + || gent.base + gent.size <= base + || base + size <= gent.base) + continue; + + /* Found an overlapping region. Delete it. */ + + wcr = malloc(sizeof(*wcr)); + if (!wcr) + return NULL; + wcr->sentry.base = gent.base; + wcr->sentry.size = gent.size; + wcr->sentry.type = MTRR_TYPE_WRCOMB; + wcr->added = FALSE; + + count = 3; + while (count-- && + (ret = ioctl(mtrr_fd, MTRRIOC_KILL_ENTRY, &(wcr->sentry))) < 0); + + if (ret >= 0) { + xf86DrvMsg(screenNum, from, + "Removed MMIO write-combining range " + "(0x%lx,0x%lx)\n", + (unsigned long) gent.base, (unsigned long) gent.size); + wcr->next = wcreturn; + wcreturn = wcr; + gent.regnum--; + } else { + free(wcr); + xf86DrvMsgVerb(screenNum, X_WARNING, 0, + "Failed to remove MMIO " + "write-combining range (0x%lx,0x%lx)\n", + gent.base, (unsigned long) gent.size); + } + } + return wcreturn; +} + + +static struct mtrr_wc_region * +mtrr_remove_offending(int screenNum, unsigned long base, unsigned long size, + MessageType from) +{ + struct mtrr_gentry gent; + struct mtrr_wc_region *wcreturn = NULL, **wcr; + + if (!mtrr_open(2)) + return NULL; + + wcr = &wcreturn; + for (gent.regnum = 0; + ioctl(mtrr_fd, MTRRIOC_GET_ENTRY, &gent) >= 0; gent.regnum++ ) { + if (gent.type == MTRR_TYPE_WRCOMB + && ((gent.base >= base && gent.base + gent.size < base + size) || + (gent.base > base && gent.base + gent.size <= base + size))) { + *wcr = mtrr_cull_wc_region(screenNum, gent.base, gent.size, from); + if (*wcr) gent.regnum--; + while(*wcr) { + wcr = &((*wcr)->next); + } + } + } + return wcreturn; +} + + +static struct mtrr_wc_region * +mtrr_add_wc_region(int screenNum, unsigned long base, unsigned long size, + MessageType from) +{ + struct mtrr_wc_region **wcr, *wcreturn, *curwcr; + + /* + * There can be only one.... + */ + + wcreturn = mtrr_remove_offending(screenNum, base, size, from); + wcr = &wcreturn; + while (*wcr) { + wcr = &((*wcr)->next); + } + + /* Linux 2.0 should not warn, unless the user explicitly asks for + WC. */ + + if (!mtrr_open(from == X_CONFIG ? 0 : 2)) + return wcreturn; + + *wcr = curwcr = malloc(sizeof(**wcr)); + if (!curwcr) + return wcreturn; + + curwcr->sentry.base = base; + curwcr->sentry.size = size; + curwcr->sentry.type = MTRR_TYPE_WRCOMB; + curwcr->added = TRUE; + curwcr->next = NULL; + +#if SPLIT_WC_REGIONS + /* + * Splits up the write-combining region if it is not aligned on a + * size boundary. + */ + + { + unsigned long lbase, d_size = 1; + unsigned long n_size = size; + unsigned long n_base = base; + + for (lbase = n_base, d_size = 1; !(lbase & 1); + lbase = lbase >> 1, d_size <<= 1); + while (d_size > n_size) + d_size = d_size >> 1; + DebugF("WC_BASE: 0x%lx WC_END: 0x%lx\n",base,base+d_size-1); + n_base += d_size; + n_size -= d_size; + if (n_size) { + xf86DrvMsgVerb(screenNum,X_INFO,3,"Splitting WC range: " + "base: 0x%lx, size: 0x%lx\n",base,size); + curwcr->next = mtrr_add_wc_region(screenNum, n_base, n_size,from); + } + curwcr->sentry.size = d_size; + } + + /*****************************************************************/ +#endif /* SPLIT_WC_REGIONS */ + + if (ioctl(mtrr_fd, MTRRIOC_ADD_ENTRY, &curwcr->sentry) >= 0) { + /* Avoid printing on every VT switch */ + if (xf86ServerIsInitialising()) { + xf86DrvMsg(screenNum, from, + "Write-combining range (0x%lx,0x%lx)\n", + base, size); + } + return wcreturn; + } + else { + *wcr = curwcr->next; + free(curwcr); + + /* Don't complain about the VGA region: MTRR fixed + regions aren't currently supported, but might be in + the future. */ + if ((unsigned long)base >= 0x100000) { + xf86DrvMsgVerb(screenNum, X_WARNING, 0, + "Failed to set up write-combining range " + "(0x%lx,0x%lx)\n", base, size); + } + return wcreturn; + } +} + +static void +mtrr_undo_wc_region(int screenNum, struct mtrr_wc_region *wcr) +{ + struct mtrr_wc_region *p, *prev; + + if (mtrr_fd >= 0) { + p = wcr; + while (p) { + if (p->added) + ioctl(mtrr_fd, MTRRIOC_DEL_ENTRY, &p->sentry); + prev = p; + p = p->next; + free(prev); + } + } +} + +static pointer +setWC(int screenNum, unsigned long base, unsigned long size, Bool enable, + MessageType from) +{ + if (enable) + return mtrr_add_wc_region(screenNum, base, size, from); + else + return mtrr_cull_wc_region(screenNum, base, size, from); +} + +static void +undoWC(int screenNum, pointer regioninfo) +{ + mtrr_undo_wc_region(screenNum, regioninfo); +} + +#endif /* HAS_MTRR_SUPPORT */ + +void +xf86OSInitVidMem(VidMemInfoPtr pVidMem) +{ + pVidMem->linearSupported = TRUE; +#ifdef __alpha__ + if (axpSystem == -1) { + axpSystem = lnxGetAXP(); + if ((needSparse = (_bus_base_sparse() > 0))) { + hae_thresh = xf86AXPParams[axpSystem].hae_thresh; + hae_mask = xf86AXPParams[axpSystem].hae_mask; + } + bus_base = _bus_base(); + } + if (needSparse) { + xf86Msg(X_INFO,"Machine needs sparse mapping\n"); + pVidMem->mapMem = mapVidMemSparse; + pVidMem->unmapMem = unmapVidMemSparse; + } else { + xf86Msg(X_INFO,"Machine type has 8/16 bit access\n"); + pVidMem->mapMem = mapVidMem; + pVidMem->unmapMem = unmapVidMem; + } +#else + pVidMem->mapMem = mapVidMem; + pVidMem->unmapMem = unmapVidMem; +#endif /* __alpha__ */ + + +#ifdef HAS_MTRR_SUPPORT + pVidMem->setWC = setWC; + pVidMem->undoWC = undoWC; +#endif + pVidMem->initialised = TRUE; +} + +#ifdef __sparc__ +/* Basically, you simply cannot do this on Sparc. You have to do something portable + * like use /dev/fb* or mmap() on /proc/bus/pci/X/Y nodes. -DaveM + */ +static pointer mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) +{ + return NULL; +} +#else +static pointer +mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) +{ + pointer base; + int fd; + int mapflags = MAP_SHARED; + int prot; + memType realBase, alignOff; + + realBase = Base & ~(getpagesize() - 1); + alignOff = Base - realBase; + DebugF("base: %lx, realBase: %lx, alignOff: %lx \n", + Base,realBase,alignOff); + +#if defined(__ia64__) || defined(__arm__) || defined(__s390__) +#ifndef MAP_WRITECOMBINED +#define MAP_WRITECOMBINED 0x00010000 +#endif +#ifndef MAP_NONCACHED +#define MAP_NONCACHED 0x00020000 +#endif + if(flags & VIDMEM_FRAMEBUFFER) + mapflags |= MAP_WRITECOMBINED; + else + mapflags |= MAP_NONCACHED; +#endif + +#if 0 + /* this will disappear when people upgrade their kernels */ + fd = open(DEV_MEM, + ((flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR) | O_SYNC); +#else + fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR); +#endif + if (fd < 0) + { + FatalError("xf86MapVidMem: failed to open " DEV_MEM " (%s)\n", + strerror(errno)); + } + + if (flags & VIDMEM_READONLY) + prot = PROT_READ; + else + prot = PROT_READ | PROT_WRITE; + + /* This requires linux-0.99.pl10 or above */ + base = mmap((caddr_t)0, Size + alignOff, prot, mapflags, fd, + (off_t)realBase + BUS_BASE); + close(fd); + if (base == MAP_FAILED) { + FatalError("xf86MapVidMem: Could not mmap framebuffer" + " (0x%08lx,0x%lx) (%s)\n", Base, Size, + strerror(errno)); + } + DebugF("base: %lx aligned base: %lx\n",base, (char *)base + alignOff); + return (char *)base + alignOff; +} +#endif /* !(__sparc__) */ + +static void +unmapVidMem(int ScreenNum, pointer Base, unsigned long Size) +{ + memType alignOff = (memType)Base + - ((memType)Base & ~(getpagesize() - 1)); + + DebugF("alignment offset: %lx\n",alignOff); + munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff)); +} + + +/***************************************************************************/ +/* I/O Permissions section */ +/***************************************************************************/ + +#if defined(__powerpc__) +volatile unsigned char *ioBase = NULL; + +#ifndef __NR_pciconfig_iobase +#define __NR_pciconfig_iobase 200 +#endif + +#endif + +Bool +xf86EnableIO(void) +{ +#if defined(__powerpc__) + int fd; + unsigned int ioBase_phys; +#endif + + if (ExtendedEnabled) + return TRUE; + +#if defined(__powerpc__) + ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0); + + fd = open("/dev/mem", O_RDWR); + if (ioBase == NULL) { + ioBase = (volatile unsigned char *)mmap(0, 0x20000, + PROT_READ | PROT_WRITE, MAP_SHARED, fd, + ioBase_phys); +/* Should this be fatal or just a warning? */ +#if 0 + if (ioBase == MAP_FAILED) { + xf86Msg(X_WARNING, + "xf86EnableIOPorts: Failed to map iobase (%s)\n", + strerror(errno)); + return FALSE; + } +#endif + } + close(fd); +#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) && !defined(__nds32__) + if (ioperm(0, 1024, 1) || iopl(3)) { + if (errno == ENODEV) + ErrorF("xf86EnableIOPorts: no I/O ports found\n"); + else + FatalError("xf86EnableIOPorts: failed to set IOPL" + " for I/O (%s)\n", strerror(errno)); + return FALSE; + } +# if !defined(__alpha__) + /* XXX: this is actually not trapping anything because of iopl(3) + * above */ + ioperm(0x40,4,0); /* trap access to the timer chip */ + ioperm(0x60,4,0); /* trap access to the keyboard controller */ +# endif +#endif + ExtendedEnabled = TRUE; + + return TRUE; +} + +void +xf86DisableIO(void) +{ + if (!ExtendedEnabled) + return; +#if defined(__powerpc__) + munmap(ioBase, 0x20000); + ioBase = NULL; +#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__arm__) && !defined(__s390__) && !defined(__m32r__) && !defined(__nds32__) + iopl(0); + ioperm(0, 1024, 0); +#endif + ExtendedEnabled = FALSE; + + return; +} + +#if defined (__alpha__) + +#define vuip volatile unsigned int * + +extern int readDense8(pointer Base, register unsigned long Offset); +extern int readDense16(pointer Base, register unsigned long Offset); +extern int readDense32(pointer Base, register unsigned long Offset); +extern void +writeDenseNB8(int Value, pointer Base, register unsigned long Offset); +extern void +writeDenseNB16(int Value, pointer Base, register unsigned long Offset); +extern void +writeDenseNB32(int Value, pointer Base, register unsigned long Offset); +extern void +writeDense8(int Value, pointer Base, register unsigned long Offset); +extern void +writeDense16(int Value, pointer Base, register unsigned long Offset); +extern void +writeDense32(int Value, pointer Base, register unsigned long Offset); + +static int readSparse8(pointer Base, register unsigned long Offset); +static int readSparse16(pointer Base, register unsigned long Offset); +static int readSparse32(pointer Base, register unsigned long Offset); +static void +writeSparseNB8(int Value, pointer Base, register unsigned long Offset); +static void +writeSparseNB16(int Value, pointer Base, register unsigned long Offset); +static void +writeSparseNB32(int Value, pointer Base, register unsigned long Offset); +static void +writeSparse8(int Value, pointer Base, register unsigned long Offset); +static void +writeSparse16(int Value, pointer Base, register unsigned long Offset); +static void +writeSparse32(int Value, pointer Base, register unsigned long Offset); + +#define DENSE_BASE 0x2ff00000000UL +#define SPARSE_BASE 0x30000000000UL + +static unsigned long msb_set = 0; + +static pointer +mapVidMemSparse(int ScreenNum, unsigned long Base, unsigned long Size, int flags) +{ + int fd, prot; + unsigned long ret, rets = 0; + + static Bool was_here = FALSE; + + if (!was_here) { + was_here = TRUE; + + xf86WriteMmio8 = writeSparse8; + xf86WriteMmio16 = writeSparse16; + xf86WriteMmio32 = writeSparse32; + xf86WriteMmioNB8 = writeSparseNB8; + xf86WriteMmioNB16 = writeSparseNB16; + xf86WriteMmioNB32 = writeSparseNB32; + xf86ReadMmio8 = readSparse8; + xf86ReadMmio16 = readSparse16; + xf86ReadMmio32 = readSparse32; + } + + fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR); + if (fd < 0) { + FatalError("xf86MapVidMem: failed to open " DEV_MEM " (%s)\n", + strerror(errno)); + } + +#if 0 + xf86Msg(X_INFO,"mapVidMemSparse: try Base 0x%lx size 0x%lx flags 0x%x\n", + Base, Size, flags); +#endif + + if (flags & VIDMEM_READONLY) + prot = PROT_READ; + else + prot = PROT_READ | PROT_WRITE; + + /* This requirers linux-0.99.pl10 or above */ + + /* + * Always do DENSE mmap, since read32/write32 currently require it. + */ + ret = (unsigned long)mmap((caddr_t)(DENSE_BASE + Base), Size, + prot, MAP_SHARED, fd, + (off_t) (bus_base + Base)); + + /* + * Do SPARSE mmap only when MMIO and not MMIO_32BIT, or FRAMEBUFFER + * and SPARSE (which should require the use of read/write macros). + * + * By not SPARSE mmapping an 8MB framebuffer, we can save approx. 256K + * bytes worth of pagetable (32 pages). + */ + if (((flags & VIDMEM_MMIO) && !(flags & VIDMEM_MMIO_32BIT)) || + ((flags & VIDMEM_FRAMEBUFFER) && (flags & VIDMEM_SPARSE))) + { + rets = (unsigned long)mmap((caddr_t)(SPARSE_BASE + (Base << 5)), + Size << 5, prot, MAP_SHARED, fd, + (off_t) _bus_base_sparse() + (Base << 5)); + } + + close(fd); + + if (ret == (unsigned long)MAP_FAILED) { + FatalError("xf86MapVidMemSparse: Could not (dense) mmap fb (%s)\n", + strerror(errno)); + } + + if (((flags & VIDMEM_MMIO) && !(flags & VIDMEM_MMIO_32BIT)) || + ((flags & VIDMEM_FRAMEBUFFER) && (flags & VIDMEM_SPARSE))) + { + if (rets == (unsigned long)MAP_FAILED || + rets != (SPARSE_BASE + (Base << 5))) + { + FatalError("mapVidMemSparse: Could not (sparse) mmap fb (%s)\n", + strerror(errno)); + } + } + +#if 1 + if (rets) + xf86Msg(X_INFO,"mapVidMemSparse: mapped Base 0x%lx size 0x%lx" + " to DENSE at 0x%lx and SPARSE at 0x%lx\n", + Base, Size, ret, rets); + else + xf86Msg(X_INFO,"mapVidMemSparse: mapped Base 0x%lx size 0x%lx" + " to DENSE only at 0x%lx\n", + Base, Size, ret); + +#endif + return (pointer) ret; +} + +static void +unmapVidMemSparse(int ScreenNum, pointer Base, unsigned long Size) +{ + unsigned long Offset = (unsigned long)Base - DENSE_BASE; +#if 1 + xf86Msg(X_INFO,"unmapVidMemSparse: unmapping Base 0x%lx Size 0x%lx\n", + Base, Size); +#endif + /* Unmap DENSE always. */ + munmap((caddr_t)Base, Size); + + /* Unmap SPARSE always, and ignore error in case we did not map it. */ + munmap((caddr_t)(SPARSE_BASE + (Offset << 5)), Size << 5); +} + +static int +readSparse8(pointer Base, register unsigned long Offset) +{ + register unsigned long result, shift; + register unsigned long msb; + + mem_barrier(); + Offset += (unsigned long)Base - DENSE_BASE; + shift = (Offset & 0x3) << 3; + if (Offset >= (hae_thresh)) { + msb = Offset & hae_mask; + Offset -= msb; + if (msb_set != msb) { + sethae(msb); + msb_set = msb; + } + } + + mem_barrier(); + result = *(vuip) (SPARSE_BASE + (Offset << 5)); + result >>= shift; + return 0xffUL & result; +} + +static int +readSparse16(pointer Base, register unsigned long Offset) +{ + register unsigned long result, shift; + register unsigned long msb; + + mem_barrier(); + Offset += (unsigned long)Base - DENSE_BASE; + shift = (Offset & 0x2) << 3; + if (Offset >= hae_thresh) { + msb = Offset & hae_mask; + Offset -= msb; + if (msb_set != msb) { + sethae(msb); + msb_set = msb; + } + } + + mem_barrier(); + result = *(vuip)(SPARSE_BASE + (Offset<<5) + (1<<(5-2))); + result >>= shift; + return 0xffffUL & result; +} + +static int +readSparse32(pointer Base, register unsigned long Offset) +{ + /* NOTE: this is really using DENSE. */ + mem_barrier(); + return *(vuip)((unsigned long)Base+(Offset)); +} + +static void +writeSparse8(int Value, pointer Base, register unsigned long Offset) +{ + register unsigned long msb; + register unsigned int b = Value & 0xffU; + + write_mem_barrier(); + Offset += (unsigned long)Base - DENSE_BASE; + if (Offset >= hae_thresh) { + msb = Offset & hae_mask; + Offset -= msb; + if (msb_set != msb) { + sethae(msb); + msb_set = msb; + } + } + + write_mem_barrier(); + *(vuip) (SPARSE_BASE + (Offset << 5)) = b * 0x01010101; +} + +static void +writeSparse16(int Value, pointer Base, register unsigned long Offset) +{ + register unsigned long msb; + register unsigned int w = Value & 0xffffU; + + write_mem_barrier(); + Offset += (unsigned long)Base - DENSE_BASE; + if (Offset >= hae_thresh) { + msb = Offset & hae_mask; + Offset -= msb; + if (msb_set != msb) { + sethae(msb); + msb_set = msb; + } + } + + write_mem_barrier(); + *(vuip)(SPARSE_BASE + (Offset<<5) + (1<<(5-2))) = w * 0x00010001; +} + +static void +writeSparse32(int Value, pointer Base, register unsigned long Offset) +{ + /* NOTE: this is really using DENSE. */ + write_mem_barrier(); + *(vuip)((unsigned long)Base + (Offset)) = Value; + return; +} + +static void +writeSparseNB8(int Value, pointer Base, register unsigned long Offset) +{ + register unsigned long msb; + register unsigned int b = Value & 0xffU; + + Offset += (unsigned long)Base - DENSE_BASE; + if (Offset >= hae_thresh) { + msb = Offset & hae_mask; + Offset -= msb; + if (msb_set != msb) { + sethae(msb); + msb_set = msb; + } + } + *(vuip) (SPARSE_BASE + (Offset << 5)) = b * 0x01010101; +} + +static void +writeSparseNB16(int Value, pointer Base, register unsigned long Offset) +{ + register unsigned long msb; + register unsigned int w = Value & 0xffffU; + + Offset += (unsigned long)Base - DENSE_BASE; + if (Offset >= hae_thresh) { + msb = Offset & hae_mask; + Offset -= msb; + if (msb_set != msb) { + sethae(msb); + msb_set = msb; + } + } + *(vuip)(SPARSE_BASE+(Offset<<5)+(1<<(5-2))) = w * 0x00010001; +} + +static void +writeSparseNB32(int Value, pointer Base, register unsigned long Offset) +{ + /* NOTE: this is really using DENSE. */ + *(vuip)((unsigned long)Base + (Offset)) = Value; + return; +} + +void (*xf86WriteMmio8)(int Value, pointer Base, unsigned long Offset) + = writeDense8; +void (*xf86WriteMmio16)(int Value, pointer Base, unsigned long Offset) + = writeDense16; +void (*xf86WriteMmio32)(int Value, pointer Base, unsigned long Offset) + = writeDense32; +void (*xf86WriteMmioNB8)(int Value, pointer Base, unsigned long Offset) + = writeDenseNB8; +void (*xf86WriteMmioNB16)(int Value, pointer Base, unsigned long Offset) + = writeDenseNB16; +void (*xf86WriteMmioNB32)(int Value, pointer Base, unsigned long Offset) + = writeDenseNB32; +int (*xf86ReadMmio8)(pointer Base, unsigned long Offset) + = readDense8; +int (*xf86ReadMmio16)(pointer Base, unsigned long Offset) + = readDense16; +int (*xf86ReadMmio32)(pointer Base, unsigned long Offset) + = readDense32; + +#endif /* __alpha__ */ diff --git a/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c b/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c index a5887f578..b7b35d9db 100644 --- a/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c +++ b/xorg-server/hw/xfree86/os-support/shared/bios_mmap.c @@ -1,141 +1,137 @@ -/*
- * Copyright 1993 by David Wexelblat <dwex@goblin.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of David Wexelblat not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. David Wexelblat makes no representations
- * about the suitability of this software for any purpose. It is provided
- * "as is" without express or implied warranty.
- *
- * DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL DAVID WEXELBLAT BE LIABLE FOR ANY SPECIAL, 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.
- *
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <X11/X.h>
-
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86_OSlib.h"
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *)-1)
-#endif
-
-/*
- * Read BIOS via mmap()ing DEV_MEM
- */
-
-#ifndef __alpha__
-int
-xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
- int Len)
-{
- int fd;
- unsigned char *ptr;
- int psize;
- int mlen;
-
- if ((fd = open(DEV_MEM, O_RDONLY)) < 0)
- {
- xf86Msg(X_WARNING, "xf86ReadBIOS: Failed to open %s (%s)\n",
- DEV_MEM, strerror(errno));
- return -1;
- }
- psize = getpagesize();
- Offset += Base & (psize - 1);
- Base &= ~(psize - 1);
- mlen = (Offset + Len + psize - 1) & ~(psize - 1);
- ptr = (unsigned char *)mmap((caddr_t)0, mlen, PROT_READ,
- MAP_SHARED, fd, (off_t)Base);
- if (ptr == MAP_FAILED)
- {
- xf86Msg(X_WARNING, "xf86ReadBIOS: %s mmap failed (%s)\n",
- DEV_MEM, strerror(errno));
- close(fd);
- return -1;
- }
- DebugF("xf86ReadBIOS: BIOS at 0x%08x has signature 0x%04x\n",
- Base, ptr[0] | (ptr[1] << 8));
- (void)memcpy(Buf, (void *)(ptr + Offset), Len);
- (void)munmap((caddr_t)ptr, mlen);
- (void)close(fd);
- return Len;
-}
-
-#else /* __alpha__ */
-
- /*
- * We trick "mmap" into mapping BUS memory for us via BUS_BASE,
- * which is the KSEG address of the start of the DENSE memory
- * area.
- */
-
- /*
- * NOTE: there prolly ought to be more validity checks and all
- * re: boundaries and sizes and such...
- */
-
-#ifdef linux
-
-extern unsigned long _bus_base(void);
-#define BUS_BASE _bus_base()
-
-#else
-
-extern u_int64_t dense_base(void);
-#define BUS_BASE dense_base()
-
-#endif
-
-int
-xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
- int Len)
-{
- caddr_t base;
- int fd;
- int psize;
- int mlen;
-
- if ((fd = open(DEV_MEM, O_RDONLY)) < 0)
- {
- xf86Msg(X_WARNING, "xf86ReadBIOS: Failed to open %s (%s)\n",
- DEV_MEM, strerror(errno));
- return -1;
- }
-
- psize = getpagesize();
- Offset += Base & (psize - 1);
- Base &= ~(psize - 1);
- mlen = (Offset + Len + psize - 1) & ~(psize - 1);
- base = mmap((caddr_t)0, mlen, PROT_READ,
- MAP_SHARED, fd, (off_t)(Base + BUS_BASE));
-
- if (base == MAP_FAILED)
- {
- xf86Msg(X_WARNING, "xf86ReadBIOS: Failed to mmap %s (%s)\n",
- DEV_MEM, strerror(errno));
- return -1;
- }
-
- xf86SlowBCopyFromBus((unsigned char *)(base+Offset), Buf, Len);
-
- munmap((caddr_t)base, mlen);
- close(fd);
- return Len;
-}
-
-#endif /* __alpha__ */
+/* + * Copyright 1993 by David Wexelblat <dwex@goblin.org> + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of David Wexelblat not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. David Wexelblat makes no representations + * about the suitability of this software for any purpose. It is provided + * "as is" without express or implied warranty. + * + * DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL DAVID WEXELBLAT BE LIABLE FOR ANY SPECIAL, 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. + * + */ + +#ifdef HAVE_XORG_CONFIG_H +#include <xorg-config.h> +#endif + +#include <X11/X.h> + +#include "xf86.h" +#include "xf86Priv.h" +#include "xf86_OSlib.h" + +/* + * Read BIOS via mmap()ing DEV_MEM + */ + +#ifndef __alpha__ +int +xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, + int Len) +{ + int fd; + unsigned char *ptr; + int psize; + int mlen; + + if ((fd = open(DEV_MEM, O_RDONLY)) < 0) + { + xf86Msg(X_WARNING, "xf86ReadBIOS: Failed to open %s (%s)\n", + DEV_MEM, strerror(errno)); + return -1; + } + psize = getpagesize(); + Offset += Base & (psize - 1); + Base &= ~(psize - 1); + mlen = (Offset + Len + psize - 1) & ~(psize - 1); + ptr = (unsigned char *)mmap((caddr_t)0, mlen, PROT_READ, + MAP_SHARED, fd, (off_t)Base); + if (ptr == MAP_FAILED) + { + xf86Msg(X_WARNING, "xf86ReadBIOS: %s mmap failed (%s)\n", + DEV_MEM, strerror(errno)); + close(fd); + return -1; + } + DebugF("xf86ReadBIOS: BIOS at 0x%08x has signature 0x%04x\n", + Base, ptr[0] | (ptr[1] << 8)); + (void)memcpy(Buf, (void *)(ptr + Offset), Len); + (void)munmap((caddr_t)ptr, mlen); + (void)close(fd); + return Len; +} + +#else /* __alpha__ */ + + /* + * We trick "mmap" into mapping BUS memory for us via BUS_BASE, + * which is the KSEG address of the start of the DENSE memory + * area. + */ + + /* + * NOTE: there prolly ought to be more validity checks and all + * re: boundaries and sizes and such... + */ + +#ifdef linux + +extern unsigned long _bus_base(void); +#define BUS_BASE _bus_base() + +#else + +extern u_int64_t dense_base(void); +#define BUS_BASE dense_base() + +#endif + +int +xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf, + int Len) +{ + caddr_t base; + int fd; + int psize; + int mlen; + + if ((fd = open(DEV_MEM, O_RDONLY)) < 0) + { + xf86Msg(X_WARNING, "xf86ReadBIOS: Failed to open %s (%s)\n", + DEV_MEM, strerror(errno)); + return -1; + } + + psize = getpagesize(); + Offset += Base & (psize - 1); + Base &= ~(psize - 1); + mlen = (Offset + Len + psize - 1) & ~(psize - 1); + base = mmap((caddr_t)0, mlen, PROT_READ, + MAP_SHARED, fd, (off_t)(Base + BUS_BASE)); + + if (base == MAP_FAILED) + { + xf86Msg(X_WARNING, "xf86ReadBIOS: Failed to mmap %s (%s)\n", + DEV_MEM, strerror(errno)); + return -1; + } + + xf86SlowBCopyFromBus((unsigned char *)(base+Offset), Buf, Len); + + munmap((caddr_t)base, mlen); + close(fd); + return Len; +} + +#endif /* __alpha__ */ diff --git a/xorg-server/hw/xfree86/os-support/xf86_OSlib.h b/xorg-server/hw/xfree86/os-support/xf86_OSlib.h index 1d5906084..0a5861f49 100644 --- a/xorg-server/hw/xfree86/os-support/xf86_OSlib.h +++ b/xorg-server/hw/xfree86/os-support/xf86_OSlib.h @@ -230,20 +230,13 @@ # include <sys/mman.h> # include <sys/stat.h> -# if defined(__bsdi__) -# include <sys/param.h> -# if (_BSDI_VERSION < 199510) -# include <i386/isa/vgaioctl.h> -# endif -# endif /* __bsdi__ */ - #endif /* CSRG_BASED */ /**************************************************************************/ /* Kernel of *BSD */ /**************************************************************************/ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \ - defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__) + defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) # include <sys/param.h> # if defined(__FreeBSD_version) && !defined(__FreeBSD_kernel_version) @@ -252,12 +245,6 @@ # if !defined(LINKKIT) /* Don't need this stuff for the Link Kit */ -# if defined(__bsdi__) -# include <i386/isa/pcconsioctl.h> -# define CONSOLE_X_MODE_ON PCCONIOCRAW -# define CONSOLE_X_MODE_OFF PCCONIOCCOOK -# define CONSOLE_X_BELL PCCONIOCBEEP -# else /* __bsdi__ */ # ifdef SYSCONS_SUPPORT # define COMPAT_SYSCONS # if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) @@ -328,7 +315,6 @@ #ifndef CONSOLE_GET_MEM_INFO # define CONSOLE_GET_MEM_INFO _IOR('t',159,struct map_info) #endif -# endif /* __bsdi__ */ # endif /* !LINKKIT */ #if defined(USE_I386_IOPL) || defined(USE_AMD64_IOPL) @@ -337,8 +323,7 @@ # define CLEARDTR_SUPPORT -#endif -/* __FreeBSD_kernel__ || __NetBSD__ || __OpenBSD__ || __bsdi__ */ +#endif /* __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__ */ /**************************************************************************/ /* IRIX */ @@ -378,8 +363,8 @@ #define DEV_MEM "/dev/mem" #endif -#ifndef VT_SYSREQ_DEFAULT -#define VT_SYSREQ_DEFAULT FALSE +#ifndef MAP_FAILED +#define MAP_FAILED ((void *)-1) #endif #define SYSCALL(call) while(((call) == -1) && (errno == EINTR)) diff --git a/xorg-server/hw/xfree86/parser/scan.c b/xorg-server/hw/xfree86/parser/scan.c index b36e58e0f..99b325717 100644 --- a/xorg-server/hw/xfree86/parser/scan.c +++ b/xorg-server/hw/xfree86/parser/scan.c @@ -1,1167 +1,1176 @@ -/*
- * Copyright (c) 1997 Metro Link Incorporated
- *
- * 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 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Except as contained in this notice, the name of the Metro Link shall not be
- * used in advertising or otherwise to promote the sale, use or other dealings
- * in this Software without prior written authorization from Metro Link.
- *
- */
-/*
- * Copyright (c) 1997-2003 by The XFree86 Project, 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 COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name of the copyright holder(s)
- * and author(s) shall not be used in advertising or otherwise to promote
- * the sale, use or other dealings in this Software without prior written
- * authorization from the copyright holder(s) and author(s).
- */
-
-
-/* View/edit this file with tab stops set to 4 */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <unistd.h>
-#include <stdarg.h>
-#include <X11/Xdefs.h>
-#include <X11/Xfuncproto.h>
-
-#if defined(_POSIX_SOURCE)
-#include <limits.h>
-#else
-#define _POSIX_SOURCE
-#include <limits.h>
-#undef _POSIX_SOURCE
-#endif /* _POSIX_SOURCE */
-
-#if !defined(MAXHOSTNAMELEN)
-#define MAXHOSTNAMELEN 32
-#endif /* !MAXHOSTNAMELEN */
-
-/* For PATH_MAX */
-#include "misc.h"
-
-#include "Configint.h"
-#include "xf86tokens.h"
-
-#define CONFIG_BUF_LEN 1024
-#define CONFIG_MAX_FILES 64
-
-static int StringToToken (char *, xf86ConfigSymTabRec *);
-
-static struct {
- FILE *file;
- char *path;
-} configFiles[CONFIG_MAX_FILES];
-static const char **builtinConfig = NULL;
-static int builtinIndex = 0;
-static int configPos = 0; /* current readers position */
-static int configLineNo = 0; /* linenumber */
-static char *configBuf, *configRBuf; /* buffer for lines */
-static char *configPath; /* path to config file */
-static char *configDirPath; /* path to config dir */
-static char *configSection = NULL; /* name of current section being parsed */
-static int numFiles = 0; /* number of config files */
-static int curFileIndex = 0; /* index of current config file */
-static int pushToken = LOCK_TOKEN;
-static int eol_seen = 0; /* private state to handle comments */
-LexRec val;
-
-/*
- * xf86getNextLine --
- *
- * read from the configFiles FILE stream until we encounter a new
- * line; this is effectively just a big wrapper for fgets(3).
- *
- * xf86getToken() assumes that we will read up to the next
- * newline; we need to grow configBuf and configRBuf as needed to
- * support that.
- */
-
-static char*
-xf86getNextLine(void)
-{
- static int configBufLen = CONFIG_BUF_LEN;
- char *tmpConfigBuf, *tmpConfigRBuf;
- int c, i, pos = 0, eolFound = 0;
- char *ret = NULL;
-
- /*
- * reallocate the string if it was grown last time (i.e., is no
- * longer CONFIG_BUF_LEN); we malloc the new strings first, so
- * that if either of the mallocs fail, we can fall back on the
- * existing buffer allocations
- */
-
- if (configBufLen != CONFIG_BUF_LEN) {
-
- tmpConfigBuf = malloc(CONFIG_BUF_LEN);
- tmpConfigRBuf = malloc(CONFIG_BUF_LEN);
-
- if (!tmpConfigBuf || !tmpConfigRBuf) {
-
- /*
- * at least one of the mallocs failed; keep the old buffers
- * and free any partial allocations
- */
-
- free(tmpConfigBuf);
- free(tmpConfigRBuf);
-
- } else {
-
- /*
- * malloc succeeded; free the old buffers and use the new
- * buffers
- */
-
- configBufLen = CONFIG_BUF_LEN;
-
- free(configBuf);
- free(configRBuf);
-
- configBuf = tmpConfigBuf;
- configRBuf = tmpConfigRBuf;
- }
- }
-
- /* read in another block of chars */
-
- do {
- ret = fgets(configBuf + pos, configBufLen - pos - 1,
- configFiles[curFileIndex].file);
-
- if (!ret) {
- /*
- * if the file doesn't end in a newline, add one
- * and trigger another read
- */
- if (pos != 0) {
- strcpy(&configBuf[pos], "\n");
- ret = configBuf;
- } else
- break;
- }
-
- /* search for EOL in the new block of chars */
-
- for (i = pos; i < (configBufLen - 1); i++) {
- c = configBuf[i];
-
- if (c == '\0') break;
-
- if ((c == '\n') || (c == '\r')) {
- eolFound = 1;
- break;
- }
- }
-
- /*
- * if we didn't find EOL, then grow the string and
- * read in more
- */
-
- if (!eolFound) {
-
- tmpConfigBuf = realloc(configBuf, configBufLen + CONFIG_BUF_LEN);
- tmpConfigRBuf = realloc(configRBuf, configBufLen + CONFIG_BUF_LEN);
-
- if (!tmpConfigBuf || !tmpConfigRBuf) {
-
- /*
- * at least one of the reallocations failed; use the
- * new allocation that succeeded, but we have to
- * fallback to the previous configBufLen size and use
- * the string we have, even though we don't have an
- * EOL
- */
-
- if (tmpConfigBuf) configBuf = tmpConfigBuf;
- if (tmpConfigRBuf) configRBuf = tmpConfigRBuf;
-
- break;
-
- } else {
-
- /* reallocation succeeded */
-
- configBuf = tmpConfigBuf;
- configRBuf = tmpConfigRBuf;
- pos = i;
- configBufLen += CONFIG_BUF_LEN;
- }
- }
-
- } while (!eolFound);
-
- return ret;
-}
-
-/*
- * xf86getToken --
- * Read next Token from the config file. Handle the global variable
- * pushToken.
- */
-int
-xf86getToken (xf86ConfigSymTabRec * tab)
-{
- int c, i;
-
- /*
- * First check whether pushToken has a different value than LOCK_TOKEN.
- * In this case rBuf[] contains a valid STRING/TOKEN/NUMBER. But in the
- * oth * case the next token must be read from the input.
- */
- if (pushToken == EOF_TOKEN)
- return EOF_TOKEN;
- else if (pushToken == LOCK_TOKEN)
- {
- /*
- * eol_seen is only set for the first token after a newline.
- */
- eol_seen = 0;
-
- c = configBuf[configPos];
-
- /*
- * Get start of next Token. EOF is handled,
- * whitespaces are skipped.
- */
-
-again:
- if (!c)
- {
- char *ret;
- if (numFiles > 0)
- ret = xf86getNextLine();
- else {
- if (builtinConfig[builtinIndex] == NULL)
- ret = NULL;
- else {
- ret = strncpy(configBuf, builtinConfig[builtinIndex],
- CONFIG_BUF_LEN);
- builtinIndex++;
- }
- }
- if (ret == NULL)
- {
- /*
- * if necessary, move to the next file and
- * read the first line
- */
- if (curFileIndex + 1 < numFiles) {
- curFileIndex++;
- configLineNo = 0;
- goto again;
- }
- else
- return pushToken = EOF_TOKEN;
- }
- configLineNo++;
- configPos = 0;
- eol_seen = 1;
- }
-
- i = 0;
- for (;;) {
- c = configBuf[configPos++];
- configRBuf[i++] = c;
- switch (c) {
- case ' ':
- case '\t':
- case '\r':
- continue;
- case '\n':
- i = 0;
- continue;
- }
- break;
- }
- if (c == '\0')
- goto again;
-
- if (c == '#')
- {
- do
- {
- configRBuf[i++] = (c = configBuf[configPos++]);
- }
- while ((c != '\n') && (c != '\r') && (c != '\0'));
- configRBuf[i] = '\0';
- /* XXX no private copy.
- * Use xf86addComment when setting a comment.
- */
- val.str = configRBuf;
- return COMMENT;
- }
-
- /* GJA -- handle '-' and ',' * Be careful: "-hsync" is a keyword. */
- else if ((c == ',') && !isalpha (configBuf[configPos]))
- {
- return COMMA;
- }
- else if ((c == '-') && !isalpha (configBuf[configPos]))
- {
- return DASH;
- }
-
- /*
- * Numbers are returned immediately ...
- */
- if (isdigit (c))
- {
- int base;
-
- if (c == '0')
- if ((configBuf[configPos] == 'x') ||
- (configBuf[configPos] == 'X'))
- {
- base = 16;
- val.numType = PARSE_HEX;
- }
- else
- {
- base = 8;
- val.numType = PARSE_OCTAL;
- }
- else
- {
- base = 10;
- val.numType = PARSE_DECIMAL;
- }
-
- configRBuf[0] = c;
- i = 1;
- while (isdigit (c = configBuf[configPos++]) ||
- (c == '.') || (c == 'x') || (c == 'X') ||
- ((base == 16) && (((c >= 'a') && (c <= 'f')) ||
- ((c >= 'A') && (c <= 'F')))))
- configRBuf[i++] = c;
- configPos--; /* GJA -- one too far */
- configRBuf[i] = '\0';
- val.num = strtoul (configRBuf, NULL, 0);
- val.realnum = atof (configRBuf);
- return NUMBER;
- }
-
- /*
- * All Strings START with a \" ...
- */
- else if (c == '\"')
- {
- i = -1;
- do
- {
- configRBuf[++i] = (c = configBuf[configPos++]);
- }
- while ((c != '\"') && (c != '\n') && (c != '\r') && (c != '\0'));
- configRBuf[i] = '\0';
- val.str = malloc (strlen (configRBuf) + 1);
- strcpy (val.str, configRBuf); /* private copy ! */
- return STRING;
- }
-
- /*
- * ... and now we MUST have a valid token. The search is
- * handled later along with the pushed tokens.
- */
- else
- {
- configRBuf[0] = c;
- i = 0;
- do
- {
- configRBuf[++i] = (c = configBuf[configPos++]);
- }
- while ((c != ' ') && (c != '\t') && (c != '\n') && (c != '\r') && (c != '\0') && (c != '#'));
- --configPos;
- configRBuf[i] = '\0';
- i = 0;
- }
-
- }
- else
- {
-
- /*
- * Here we deal with pushed tokens. Reinitialize pushToken again. If
- * the pushed token was NUMBER || STRING return them again ...
- */
- int temp = pushToken;
- pushToken = LOCK_TOKEN;
-
- if (temp == COMMA || temp == DASH)
- return temp;
- if (temp == NUMBER || temp == STRING)
- return temp;
- }
-
- /*
- * Joop, at last we have to lookup the token ...
- */
- if (tab)
- {
- i = 0;
- while (tab[i].token != -1)
- if (xf86nameCompare (configRBuf, tab[i].name) == 0)
- return tab[i].token;
- else
- i++;
- }
-
- return ERROR_TOKEN; /* Error catcher */
-}
-
-int
-xf86getSubToken (char **comment)
-{
- int token;
-
- for (;;) {
- token = xf86getToken(NULL);
- if (token == COMMENT) {
- if (comment)
- *comment = xf86addComment(*comment, val.str);
- }
- else
- return token;
- }
- /*NOTREACHED*/
-}
-
-int
-xf86getSubTokenWithTab (char **comment, xf86ConfigSymTabRec *tab)
-{
- int token;
-
- for (;;) {
- token = xf86getToken(tab);
- if (token == COMMENT) {
- if (comment)
- *comment = xf86addComment(*comment, val.str);
- }
- else
- return token;
- }
- /*NOTREACHED*/
-}
-
-void
-xf86unGetToken (int token)
-{
- pushToken = token;
-}
-
-char *
-xf86tokenString (void)
-{
- return configRBuf;
-}
-
-int
-xf86pathIsAbsolute(const char *path)
-{
- if (path && path[0] == '/')
- return 1;
- return 0;
-}
-
-/* A path is "safe" if it is relative and if it contains no ".." elements. */
-int
-xf86pathIsSafe(const char *path)
-{
- if (xf86pathIsAbsolute(path))
- return 0;
-
- /* Compare with ".." */
- if (!strcmp(path, ".."))
- return 0;
-
- /* Look for leading "../" */
- if (!strncmp(path, "../", 3))
- return 0;
-
- /* Look for trailing "/.." */
- if ((strlen(path) > 3) && !strcmp(path + strlen(path) - 3, "/.."))
- return 0;
-
- /* Look for "/../" */
- if (strstr(path, "/../"))
- return 0;
-
- return 1;
-}
-
-/*
- * This function substitutes the following escape sequences:
- *
- * %A cmdline argument as an absolute path (must be absolute to match)
- * %R cmdline argument as a relative path
- * %S cmdline argument as a "safe" path (relative, and no ".." elements)
- * %X default config file name ("xorg.conf")
- * %H hostname
- * %E config file environment ($XORGCONFIG) as an absolute path
- * %F config file environment ($XORGCONFIG) as a relative path
- * %G config file environment ($XORGCONFIG) as a safe path
- * %P projroot
- * %C sysconfdir
- * %D datadir
- * %% %
- */
-
-#ifndef XCONFIGFILE
-#define XCONFIGFILE "xorg.conf"
-#endif
-#ifndef XCONFIGDIR
-#define XCONFIGDIR "xorg.conf.d"
-#endif
-#ifndef XCONFIGSUFFIX
-#define XCONFIGSUFFIX ".conf"
-#endif
-#ifndef PROJECTROOT
-#define PROJECTROOT "/usr/X11R6"
-#endif
-#ifndef SYSCONFDIR
-#define SYSCONFDIR PROJECTROOT "/etc"
-#endif
-#ifndef DATADIR
-#define DATADIR PROJECTROOT "/share"
-#endif
-#ifndef XCONFENV
-#define XCONFENV "XORGCONFIG"
-#endif
-
-#define BAIL_OUT do { \
- free(result); \
- return NULL; \
- } while (0)
-
-#define CHECK_LENGTH do { \
- if (l > PATH_MAX) { \
- BAIL_OUT; \
- } \
- } while (0)
-
-#define APPEND_STR(s) do { \
- if (strlen(s) + l > PATH_MAX) { \
- BAIL_OUT; \
- } else { \
- strcpy(result + l, s); \
- l += strlen(s); \
- } \
- } while (0)
-
-static char *
-DoSubstitution(const char *template, const char *cmdline, const char *projroot,
- int *cmdlineUsed, int *envUsed,
- const char *XConfigFile)
-{
- char *result;
- int i, l;
- static const char *env = NULL;
- static char *hostname = NULL;
-
- if (!template)
- return NULL;
-
- if (cmdlineUsed)
- *cmdlineUsed = 0;
- if (envUsed)
- *envUsed = 0;
-
- result = malloc(PATH_MAX + 1);
- l = 0;
- for (i = 0; template[i]; i++) {
- if (template[i] != '%') {
- result[l++] = template[i];
- CHECK_LENGTH;
- } else {
- switch (template[++i]) {
- case 'A':
- if (cmdline && xf86pathIsAbsolute(cmdline)) {
- APPEND_STR(cmdline);
- if (cmdlineUsed)
- *cmdlineUsed = 1;
- } else
- BAIL_OUT;
- break;
- case 'R':
- if (cmdline && !xf86pathIsAbsolute(cmdline)) {
- APPEND_STR(cmdline);
- if (cmdlineUsed)
- *cmdlineUsed = 1;
- } else
- BAIL_OUT;
- break;
- case 'S':
- if (cmdline && xf86pathIsSafe(cmdline)) {
- APPEND_STR(cmdline);
- if (cmdlineUsed)
- *cmdlineUsed = 1;
- } else
- BAIL_OUT;
- break;
- case 'X':
- APPEND_STR(XConfigFile);
- break;
- case 'H':
- if (!hostname) {
- if ((hostname = malloc(MAXHOSTNAMELEN + 1))) {
- if (gethostname(hostname, MAXHOSTNAMELEN) == 0) {
- hostname[MAXHOSTNAMELEN] = '\0';
- } else {
- free(hostname);
- hostname = NULL;
- }
- }
- }
- if (hostname)
- APPEND_STR(hostname);
- break;
- case 'E':
- if (!env)
- env = getenv(XCONFENV);
- if (env && xf86pathIsAbsolute(env)) {
- APPEND_STR(env);
- if (envUsed)
- *envUsed = 1;
- } else
- BAIL_OUT;
- break;
- case 'F':
- if (!env)
- env = getenv(XCONFENV);
- if (env && !xf86pathIsAbsolute(env)) {
- APPEND_STR(env);
- if (envUsed)
- *envUsed = 1;
- } else
- BAIL_OUT;
- break;
- case 'G':
- if (!env)
- env = getenv(XCONFENV);
- if (env && xf86pathIsSafe(env)) {
- APPEND_STR(env);
- if (envUsed)
- *envUsed = 1;
- } else
- BAIL_OUT;
- break;
- case 'P':
- if (projroot && xf86pathIsAbsolute(projroot))
- APPEND_STR(projroot);
- else
- BAIL_OUT;
- break;
- case 'C':
- APPEND_STR(SYSCONFDIR);
- break;
- case 'D':
- APPEND_STR(DATADIR);
- break;
- case '%':
- result[l++] = '%';
- CHECK_LENGTH;
- break;
- default:
- fprintf(stderr, "invalid escape %%%c found in path template\n",
- template[i]);
- BAIL_OUT;
- break;
- }
- }
- }
-#ifdef DEBUG
- fprintf(stderr, "Converted `%s' to `%s'\n", template, result);
-#endif
- return result;
-}
-
-/*
- * Given some searching parameters, locate and open the xorg config file.
- */
-static char *
-OpenConfigFile(const char *path, const char *cmdline, const char *projroot,
- const char *confname)
-{
- char *filepath = NULL;
- char *pathcopy;
- const char *template;
- int cmdlineUsed = 0;
- FILE *file = NULL;
-
- pathcopy = strdup(path);
- for (template = strtok(pathcopy, ","); template && !file;
- template = strtok(NULL, ",")) {
- filepath = DoSubstitution(template, cmdline, projroot,
- &cmdlineUsed, NULL, confname);
- if (!filepath)
- continue;
- if (cmdline && !cmdlineUsed) {
- free(filepath);
- filepath = NULL;
- continue;
- }
- file = fopen(filepath, "r");
- if (!file) {
- free(filepath);
- filepath = NULL;
- }
- }
-
- free(pathcopy);
- if (file) {
- configFiles[numFiles].file = file;
- configFiles[numFiles].path = strdup(filepath);
- numFiles++;
- }
- return filepath;
-}
-
-/*
- * Match non-hidden files in the xorg config directory with a .conf
- * suffix. This filter is passed to scandir(3).
- */
-static int
-ConfigFilter(const struct dirent *de)
-{
- const char *name = de->d_name;
- size_t len;
- size_t suflen = strlen(XCONFIGSUFFIX);
-
- if (!name || name[0] == '.')
- return 0;
- len = strlen(name);
- if(len <= suflen)
- return 0;
- if (strcmp(&name[len-suflen], XCONFIGSUFFIX) != 0)
- return 0;
- return 1;
-}
-
-static Bool
-AddConfigDirFiles(const char *dirpath, struct dirent **list, int num)
-{
- int i;
- Bool openedFile = FALSE;
- Bool warnOnce = FALSE;
-
- for (i = 0; i < num; i++) {
- char *path;
- FILE *file;
-
- if (numFiles >= CONFIG_MAX_FILES) {
- if (!warnOnce) {
- ErrorF("Maximum number of configuration "
- "files opened\n");
- warnOnce = TRUE;
- }
- free(list[i]);
- continue;
- }
-
- path = malloc(PATH_MAX + 1);
- snprintf(path, PATH_MAX + 1, "%s/%s", dirpath,
- list[i]->d_name);
- free(list[i]);
- file = fopen(path, "r");
- if (!file) {
- free(path);
- continue;
- }
- openedFile = TRUE;
-
- configFiles[numFiles].file = file;
- configFiles[numFiles].path = path;
- numFiles++;
- }
-
- return openedFile;
-}
-
-/*
- * Given some searching parameters, locate and open the xorg config
- * directory. The directory does not need to contain config files.
- */
-static char *
-OpenConfigDir(const char *path, const char *cmdline, const char *projroot,
- const char *confname)
-{
- char *dirpath, *pathcopy;
- const char *template;
- Bool found = FALSE;
- int cmdlineUsed = 0;
-
- pathcopy = strdup(path);
- for (template = strtok(pathcopy, ","); template && !found;
- template = strtok(NULL, ",")) {
- struct dirent **list = NULL;
- int num;
-
- dirpath = DoSubstitution(template, cmdline, projroot,
- &cmdlineUsed, NULL, confname);
- if (!dirpath)
- continue;
- if (cmdline && !cmdlineUsed) {
- free(dirpath);
- dirpath = NULL;
- continue;
- }
-
- /* match files named *.conf */
- num = scandir(dirpath, &list, ConfigFilter, alphasort);
- found = AddConfigDirFiles(dirpath, list, num);
- if (!found) {
- free(dirpath);
- dirpath = NULL;
- free(list);
- }
- }
-
- free(pathcopy);
- return dirpath;
-}
-
-/*
- * xf86initConfigFiles -- Setup global variables and buffers.
- */
-void
-xf86initConfigFiles(void)
-{
- curFileIndex = 0;
- configPos = 0;
- configLineNo = 0;
- pushToken = LOCK_TOKEN;
-
- configBuf = malloc(CONFIG_BUF_LEN);
- configRBuf = malloc(CONFIG_BUF_LEN);
- configBuf[0] = '\0'; /* sanity ... */
-}
-
-/*
- * xf86openConfigFile --
- *
- * This function take a config file search path (optional), a command-line
- * specified file name (optional) and the ProjectRoot path (optional) and
- * locates and opens a config file based on that information. If a
- * command-line file name is specified, then this function fails if none
- * of the located files.
- *
- * The return value is a pointer to the actual name of the file that was
- * opened. When no file is found, the return value is NULL.
- *
- * The escape sequences allowed in the search path are defined above.
- *
- */
-
-#ifndef DEFAULT_CONF_PATH
-#define DEFAULT_CONF_PATH "/etc/X11/%S," \
- "%P/etc/X11/%S," \
- "/etc/X11/%G," \
- "%P/etc/X11/%G," \
- "/etc/X11/%X-%M," \
- "/etc/X11/%X," \
- "/etc/%X," \
- "%P/etc/X11/%X.%H," \
- "%P/etc/X11/%X-%M," \
- "%P/etc/X11/%X," \
- "%P/lib/X11/%X.%H," \
- "%P/lib/X11/%X-%M," \
- "%P/lib/X11/%X"
-#endif
-
-const char *
-xf86openConfigFile(const char *path, const char *cmdline, const char *projroot)
-{
- if (!path || !path[0])
- path = DEFAULT_CONF_PATH;
- if (!projroot || !projroot[0])
- projroot = PROJECTROOT;
-
- /* Search for a config file */
- configPath = OpenConfigFile(path, cmdline, projroot, XCONFIGFILE);
- return configPath;
-}
-
-/*
- * xf86openConfigDirFiles --
- *
- * This function take a config directory search path (optional), a
- * command-line specified directory name (optional) and the ProjectRoot path
- * (optional) and locates and opens a config directory based on that
- * information. If a command-line name is specified, then this function
- * fails if it is not found.
- *
- * The return value is a pointer to the actual name of the direcoty that was
- * opened. When no directory is found, the return value is NULL.
- *
- * The escape sequences allowed in the search path are defined above.
- *
- */
-const char *
-xf86openConfigDirFiles(const char *path, const char *cmdline,
- const char *projroot)
-{
- if (!path || !path[0])
- path = DEFAULT_CONF_PATH;
- if (!projroot || !projroot[0])
- projroot = PROJECTROOT;
-
- /* Search for the multiconf directory */
- configDirPath = OpenConfigDir(path, cmdline, projroot, XCONFIGDIR);
- return configDirPath;
-}
-
-void
-xf86closeConfigFile (void)
-{
- int i;
-
- free (configPath);
- configPath = NULL;
- free (configDirPath);
- configDirPath = NULL;
- free (configRBuf);
- configRBuf = NULL;
- free (configBuf);
- configBuf = NULL;
-
- if (numFiles == 0) {
- builtinConfig = NULL;
- builtinIndex = 0;
- }
- for (i = 0; i < numFiles; i++) {
- fclose(configFiles[i].file);
- configFiles[i].file = NULL;
- free(configFiles[i].path);
- configFiles[i].path = NULL;
- }
- numFiles = 0;
-}
-
-void
-xf86setBuiltinConfig(const char *config[])
-{
- builtinConfig = config;
-}
-
-void
-xf86parseError (char *format,...)
-{
- va_list ap;
- char *filename = numFiles ? configFiles[curFileIndex].path :
- "<builtin configuration>";
-
- ErrorF ("Parse error on line %d of section %s in file %s\n\t",
- configLineNo, configSection, filename);
- va_start (ap, format);
- VErrorF (format, ap);
- va_end (ap);
-
- ErrorF ("\n");
-}
-
-void
-xf86validationError (char *format,...)
-{
- va_list ap;
- char *filename = numFiles ? configFiles[curFileIndex].path :
- "<builtin configuration>";
-
- ErrorF ("Data incomplete in file %s\n\t", filename);
- va_start (ap, format);
- VErrorF (format, ap);
- va_end (ap);
-
- ErrorF ("\n");
-}
-
-void
-xf86setSection (char *section)
-{
- free(configSection);
- configSection = strdup(section);
-}
-
-/*
- * xf86getToken --
- * Lookup a string if it is actually a token in disguise.
- */
-int
-xf86getStringToken (xf86ConfigSymTabRec * tab)
-{
- return StringToToken (val.str, tab);
-}
-
-static int
-StringToToken (char *str, xf86ConfigSymTabRec * tab)
-{
- int i;
-
- for (i = 0; tab[i].token != -1; i++)
- {
- if (!xf86nameCompare (tab[i].name, str))
- return tab[i].token;
- }
- return ERROR_TOKEN;
-}
-
-
-/*
- * Compare two names. The characters '_', ' ', and '\t' are ignored
- * in the comparison.
- */
-int
-xf86nameCompare (const char *s1, const char *s2)
-{
- char c1, c2;
-
- if (!s1 || *s1 == 0) {
- if (!s2 || *s2 == 0)
- return 0;
- else
- return 1;
- }
-
- while (*s1 == '_' || *s1 == ' ' || *s1 == '\t')
- s1++;
- while (*s2 == '_' || *s2 == ' ' || *s2 == '\t')
- s2++;
- c1 = (isupper (*s1) ? tolower (*s1) : *s1);
- c2 = (isupper (*s2) ? tolower (*s2) : *s2);
- while (c1 == c2)
- {
- if (c1 == '\0')
- return 0;
- s1++;
- s2++;
- while (*s1 == '_' || *s1 == ' ' || *s1 == '\t')
- s1++;
- while (*s2 == '_' || *s2 == ' ' || *s2 == '\t')
- s2++;
- c1 = (isupper (*s1) ? tolower (*s1) : *s1);
- c2 = (isupper (*s2) ? tolower (*s2) : *s2);
- }
- return c1 - c2;
-}
-
-char *
-xf86addComment(char *cur, char *add)
-{
- char *str;
- int len, curlen, iscomment, hasnewline = 0, endnewline;
-
- if (add == NULL || add[0] == '\0')
- return cur;
-
- if (cur) {
- curlen = strlen(cur);
- if (curlen)
- hasnewline = cur[curlen - 1] == '\n';
- eol_seen = 0;
- }
- else
- curlen = 0;
-
- str = add;
- iscomment = 0;
- while (*str) {
- if (*str != ' ' && *str != '\t')
- break;
- ++str;
- }
- iscomment = (*str == '#');
-
- len = strlen(add);
- endnewline = add[len - 1] == '\n';
- len += 1 + iscomment + (!hasnewline) + (!endnewline) + eol_seen;
-
- if ((str = realloc(cur, len + curlen)) == NULL)
- return cur;
-
- cur = str;
-
- if (eol_seen || (curlen && !hasnewline))
- cur[curlen++] = '\n';
- if (!iscomment)
- cur[curlen++] = '#';
- strcpy(cur + curlen, add);
- if (!endnewline)
- strcat(cur, "\n");
-
- return cur;
-}
-
-Bool
-xf86getBoolValue(Bool *val, const char *str)
-{
- if (!val || !str)
- return FALSE;
- if (*str == '\0') {
- *val = TRUE;
- } else {
- if (xf86nameCompare(str, "1") == 0)
- *val = TRUE;
- else if (xf86nameCompare(str, "on") == 0)
- *val = TRUE;
- else if (xf86nameCompare(str, "true") == 0)
- *val = TRUE;
- else if (xf86nameCompare(str, "yes") == 0)
- *val = TRUE;
- else if (xf86nameCompare(str, "0") == 0)
- *val = FALSE;
- else if (xf86nameCompare(str, "off") == 0)
- *val = FALSE;
- else if (xf86nameCompare(str, "false") == 0)
- *val = FALSE;
- else if (xf86nameCompare(str, "no") == 0)
- *val = FALSE;
- else
- return FALSE;
- }
- return TRUE;
-}
+/* + * Copyright (c) 1997 Metro Link Incorporated + * + * 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 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Except as contained in this notice, the name of the Metro Link shall not be + * used in advertising or otherwise to promote the sale, use or other dealings + * in this Software without prior written authorization from Metro Link. + * + */ +/* + * Copyright (c) 1997-2003 by The XFree86 Project, 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 COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Except as contained in this notice, the name of the copyright holder(s) + * and author(s) shall not be used in advertising or otherwise to promote + * the sale, use or other dealings in this Software without prior written + * authorization from the copyright holder(s) and author(s). + */ + + +/* View/edit this file with tab stops set to 4 */ + +#ifdef HAVE_XORG_CONFIG_H +#include <xorg-config.h> +#endif + +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <dirent.h> +#include <unistd.h> +#include <stdarg.h> +#include <X11/Xdefs.h> +#include <X11/Xfuncproto.h> + +#if defined(_POSIX_SOURCE) +#include <limits.h> +#else +#define _POSIX_SOURCE +#include <limits.h> +#undef _POSIX_SOURCE +#endif /* _POSIX_SOURCE */ + +#if !defined(MAXHOSTNAMELEN) +#define MAXHOSTNAMELEN 32 +#endif /* !MAXHOSTNAMELEN */ + +/* For PATH_MAX */ +#include "misc.h" + +#include "Configint.h" +#include "xf86tokens.h" + +#define CONFIG_BUF_LEN 1024 +#define CONFIG_MAX_FILES 64 + +static int StringToToken (char *, xf86ConfigSymTabRec *); + +static struct { + FILE *file; + char *path; +} configFiles[CONFIG_MAX_FILES]; +static const char **builtinConfig = NULL; +static int builtinIndex = 0; +static int configPos = 0; /* current readers position */ +static int configLineNo = 0; /* linenumber */ +static char *configBuf, *configRBuf; /* buffer for lines */ +static char *configPath; /* path to config file */ +static char *configDirPath; /* path to config dir */ +static char *configSection = NULL; /* name of current section being parsed */ +static int numFiles = 0; /* number of config files */ +static int curFileIndex = 0; /* index of current config file */ +static int pushToken = LOCK_TOKEN; +static int eol_seen = 0; /* private state to handle comments */ +LexRec val; + +/* + * xf86getNextLine -- + * + * read from the configFiles FILE stream until we encounter a new + * line; this is effectively just a big wrapper for fgets(3). + * + * xf86getToken() assumes that we will read up to the next + * newline; we need to grow configBuf and configRBuf as needed to + * support that. + */ + +static char* +xf86getNextLine(void) +{ + static int configBufLen = CONFIG_BUF_LEN; + char *tmpConfigBuf, *tmpConfigRBuf; + int c, i, pos = 0, eolFound = 0; + char *ret = NULL; + + /* + * reallocate the string if it was grown last time (i.e., is no + * longer CONFIG_BUF_LEN); we malloc the new strings first, so + * that if either of the mallocs fail, we can fall back on the + * existing buffer allocations + */ + + if (configBufLen != CONFIG_BUF_LEN) { + + tmpConfigBuf = malloc(CONFIG_BUF_LEN); + tmpConfigRBuf = malloc(CONFIG_BUF_LEN); + + if (!tmpConfigBuf || !tmpConfigRBuf) { + + /* + * at least one of the mallocs failed; keep the old buffers + * and free any partial allocations + */ + + free(tmpConfigBuf); + free(tmpConfigRBuf); + + } else { + + /* + * malloc succeeded; free the old buffers and use the new + * buffers + */ + + configBufLen = CONFIG_BUF_LEN; + + free(configBuf); + free(configRBuf); + + configBuf = tmpConfigBuf; + configRBuf = tmpConfigRBuf; + } + } + + /* read in another block of chars */ + + do { + ret = fgets(configBuf + pos, configBufLen - pos - 1, + configFiles[curFileIndex].file); + + if (!ret) { + /* + * if the file doesn't end in a newline, add one + * and trigger another read + */ + if (pos != 0) { + strcpy(&configBuf[pos], "\n"); + ret = configBuf; + } else + break; + } + + /* search for EOL in the new block of chars */ + + for (i = pos; i < (configBufLen - 1); i++) { + c = configBuf[i]; + + if (c == '\0') break; + + if ((c == '\n') || (c == '\r')) { + eolFound = 1; + break; + } + } + + /* + * if we didn't find EOL, then grow the string and + * read in more + */ + + if (!eolFound) { + + tmpConfigBuf = realloc(configBuf, configBufLen + CONFIG_BUF_LEN); + tmpConfigRBuf = realloc(configRBuf, configBufLen + CONFIG_BUF_LEN); + + if (!tmpConfigBuf || !tmpConfigRBuf) { + + /* + * at least one of the reallocations failed; use the + * new allocation that succeeded, but we have to + * fallback to the previous configBufLen size and use + * the string we have, even though we don't have an + * EOL + */ + + if (tmpConfigBuf) configBuf = tmpConfigBuf; + if (tmpConfigRBuf) configRBuf = tmpConfigRBuf; + + break; + + } else { + + /* reallocation succeeded */ + + configBuf = tmpConfigBuf; + configRBuf = tmpConfigRBuf; + pos = i; + configBufLen += CONFIG_BUF_LEN; + } + } + + } while (!eolFound); + + return ret; +} + +/* + * xf86getToken -- + * Read next Token from the config file. Handle the global variable + * pushToken. + */ +int +xf86getToken (xf86ConfigSymTabRec * tab) +{ + int c, i; + + /* + * First check whether pushToken has a different value than LOCK_TOKEN. + * In this case rBuf[] contains a valid STRING/TOKEN/NUMBER. But in the + * oth * case the next token must be read from the input. + */ + if (pushToken == EOF_TOKEN) + return EOF_TOKEN; + else if (pushToken == LOCK_TOKEN) + { + /* + * eol_seen is only set for the first token after a newline. + */ + eol_seen = 0; + + c = configBuf[configPos]; + + /* + * Get start of next Token. EOF is handled, + * whitespaces are skipped. + */ + +again: + if (!c) + { + char *ret; + if (numFiles > 0) + ret = xf86getNextLine(); + else { + if (builtinConfig[builtinIndex] == NULL) + ret = NULL; + else { + ret = strncpy(configBuf, builtinConfig[builtinIndex], + CONFIG_BUF_LEN); + builtinIndex++; + } + } + if (ret == NULL) + { + /* + * if necessary, move to the next file and + * read the first line + */ + if (curFileIndex + 1 < numFiles) { + curFileIndex++; + configLineNo = 0; + goto again; + } + else + return pushToken = EOF_TOKEN; + } + configLineNo++; + configPos = 0; + eol_seen = 1; + } + + i = 0; + for (;;) { + c = configBuf[configPos++]; + configRBuf[i++] = c; + switch (c) { + case ' ': + case '\t': + case '\r': + continue; + case '\n': + i = 0; + continue; + } + break; + } + if (c == '\0') + goto again; + + if (c == '#') + { + do + { + configRBuf[i++] = (c = configBuf[configPos++]); + } + while ((c != '\n') && (c != '\r') && (c != '\0')); + configRBuf[i] = '\0'; + /* XXX no private copy. + * Use xf86addComment when setting a comment. + */ + val.str = configRBuf; + return COMMENT; + } + + /* GJA -- handle '-' and ',' * Be careful: "-hsync" is a keyword. */ + else if ((c == ',') && !isalpha (configBuf[configPos])) + { + return COMMA; + } + else if ((c == '-') && !isalpha (configBuf[configPos])) + { + return DASH; + } + + /* + * Numbers are returned immediately ... + */ + if (isdigit (c)) + { + int base; + + if (c == '0') + if ((configBuf[configPos] == 'x') || + (configBuf[configPos] == 'X')) + { + base = 16; + val.numType = PARSE_HEX; + } + else + { + base = 8; + val.numType = PARSE_OCTAL; + } + else + { + base = 10; + val.numType = PARSE_DECIMAL; + } + + configRBuf[0] = c; + i = 1; + while (isdigit (c = configBuf[configPos++]) || + (c == '.') || (c == 'x') || (c == 'X') || + ((base == 16) && (((c >= 'a') && (c <= 'f')) || + ((c >= 'A') && (c <= 'F'))))) + configRBuf[i++] = c; + configPos--; /* GJA -- one too far */ + configRBuf[i] = '\0'; + val.num = strtoul (configRBuf, NULL, 0); + val.realnum = atof (configRBuf); + return NUMBER; + } + + /* + * All Strings START with a \" ... + */ + else if (c == '\"') + { + i = -1; + do + { + configRBuf[++i] = (c = configBuf[configPos++]); + } + while ((c != '\"') && (c != '\n') && (c != '\r') && (c != '\0')); + configRBuf[i] = '\0'; + val.str = malloc (strlen (configRBuf) + 1); + strcpy (val.str, configRBuf); /* private copy ! */ + return STRING; + } + + /* + * ... and now we MUST have a valid token. The search is + * handled later along with the pushed tokens. + */ + else + { + configRBuf[0] = c; + i = 0; + do + { + configRBuf[++i] = (c = configBuf[configPos++]); + } + while ((c != ' ') && (c != '\t') && (c != '\n') && (c != '\r') && (c != '\0') && (c != '#')); + --configPos; + configRBuf[i] = '\0'; + i = 0; + } + + } + else + { + + /* + * Here we deal with pushed tokens. Reinitialize pushToken again. If + * the pushed token was NUMBER || STRING return them again ... + */ + int temp = pushToken; + pushToken = LOCK_TOKEN; + + if (temp == COMMA || temp == DASH) + return temp; + if (temp == NUMBER || temp == STRING) + return temp; + } + + /* + * Joop, at last we have to lookup the token ... + */ + if (tab) + { + i = 0; + while (tab[i].token != -1) + if (xf86nameCompare (configRBuf, tab[i].name) == 0) + return tab[i].token; + else + i++; + } + + return ERROR_TOKEN; /* Error catcher */ +} + +int +xf86getSubToken (char **comment) +{ + int token; + + for (;;) { + token = xf86getToken(NULL); + if (token == COMMENT) { + if (comment) + *comment = xf86addComment(*comment, val.str); + } + else + return token; + } + /*NOTREACHED*/ +} + +int +xf86getSubTokenWithTab (char **comment, xf86ConfigSymTabRec *tab) +{ + int token; + + for (;;) { + token = xf86getToken(tab); + if (token == COMMENT) { + if (comment) + *comment = xf86addComment(*comment, val.str); + } + else + return token; + } + /*NOTREACHED*/ +} + +void +xf86unGetToken (int token) +{ + pushToken = token; +} + +char * +xf86tokenString (void) +{ + return configRBuf; +} + +int +xf86pathIsAbsolute(const char *path) +{ + if (path && path[0] == '/') + return 1; + return 0; +} + +/* A path is "safe" if it is relative and if it contains no ".." elements. */ +int +xf86pathIsSafe(const char *path) +{ + if (xf86pathIsAbsolute(path)) + return 0; + + /* Compare with ".." */ + if (!strcmp(path, "..")) + return 0; + + /* Look for leading "../" */ + if (!strncmp(path, "../", 3)) + return 0; + + /* Look for trailing "/.." */ + if ((strlen(path) > 3) && !strcmp(path + strlen(path) - 3, "/..")) + return 0; + + /* Look for "/../" */ + if (strstr(path, "/../")) + return 0; + + return 1; +} + +/* + * This function substitutes the following escape sequences: + * + * %A cmdline argument as an absolute path (must be absolute to match) + * %R cmdline argument as a relative path + * %S cmdline argument as a "safe" path (relative, and no ".." elements) + * %X default config file name ("xorg.conf") + * %H hostname + * %E config file environment ($XORGCONFIG) as an absolute path + * %F config file environment ($XORGCONFIG) as a relative path + * %G config file environment ($XORGCONFIG) as a safe path + * %P projroot + * %C sysconfdir + * %D datadir + * %% % + */ + +#ifndef XCONFIGFILE +#define XCONFIGFILE "xorg.conf" +#endif +#ifndef XCONFIGDIR +#define XCONFIGDIR "xorg.conf.d" +#endif +#ifndef XCONFIGSUFFIX +#define XCONFIGSUFFIX ".conf" +#endif +#ifndef PROJECTROOT +#define PROJECTROOT "/usr/X11R6" +#endif +#ifndef SYSCONFDIR +#define SYSCONFDIR PROJECTROOT "/etc" +#endif +#ifndef DATADIR +#define DATADIR PROJECTROOT "/share" +#endif +#ifndef XCONFENV +#define XCONFENV "XORGCONFIG" +#endif + +#define BAIL_OUT do { \ + free(result); \ + return NULL; \ + } while (0) + +#define CHECK_LENGTH do { \ + if (l > PATH_MAX) { \ + BAIL_OUT; \ + } \ + } while (0) + +#define APPEND_STR(s) do { \ + if (strlen(s) + l > PATH_MAX) { \ + BAIL_OUT; \ + } else { \ + strcpy(result + l, s); \ + l += strlen(s); \ + } \ + } while (0) + +static char * +DoSubstitution(const char *template, const char *cmdline, const char *projroot, + int *cmdlineUsed, int *envUsed, + const char *XConfigFile) +{ + char *result; + int i, l; + static const char *env = NULL; + static char *hostname = NULL; + + if (!template) + return NULL; + + if (cmdlineUsed) + *cmdlineUsed = 0; + if (envUsed) + *envUsed = 0; + + result = malloc(PATH_MAX + 1); + l = 0; + for (i = 0; template[i]; i++) { + if (template[i] != '%') { + result[l++] = template[i]; + CHECK_LENGTH; + } else { + switch (template[++i]) { + case 'A': + if (cmdline && xf86pathIsAbsolute(cmdline)) { + APPEND_STR(cmdline); + if (cmdlineUsed) + *cmdlineUsed = 1; + } else + BAIL_OUT; + break; + case 'R': + if (cmdline && !xf86pathIsAbsolute(cmdline)) { + APPEND_STR(cmdline); + if (cmdlineUsed) + *cmdlineUsed = 1; + } else + BAIL_OUT; + break; + case 'S': + if (cmdline && xf86pathIsSafe(cmdline)) { + APPEND_STR(cmdline); + if (cmdlineUsed) + *cmdlineUsed = 1; + } else + BAIL_OUT; + break; + case 'X': + APPEND_STR(XConfigFile); + break; + case 'H': + if (!hostname) { + if ((hostname = malloc(MAXHOSTNAMELEN + 1))) { + if (gethostname(hostname, MAXHOSTNAMELEN) == 0) { + hostname[MAXHOSTNAMELEN] = '\0'; + } else { + free(hostname); + hostname = NULL; + } + } + } + if (hostname) + APPEND_STR(hostname); + break; + case 'E': + if (!env) + env = getenv(XCONFENV); + if (env && xf86pathIsAbsolute(env)) { + APPEND_STR(env); + if (envUsed) + *envUsed = 1; + } else + BAIL_OUT; + break; + case 'F': + if (!env) + env = getenv(XCONFENV); + if (env && !xf86pathIsAbsolute(env)) { + APPEND_STR(env); + if (envUsed) + *envUsed = 1; + } else + BAIL_OUT; + break; + case 'G': + if (!env) + env = getenv(XCONFENV); + if (env && xf86pathIsSafe(env)) { + APPEND_STR(env); + if (envUsed) + *envUsed = 1; + } else + BAIL_OUT; + break; + case 'P': + if (projroot && xf86pathIsAbsolute(projroot)) + APPEND_STR(projroot); + else + BAIL_OUT; + break; + case 'C': + APPEND_STR(SYSCONFDIR); + break; + case 'D': + APPEND_STR(DATADIR); + break; + case '%': + result[l++] = '%'; + CHECK_LENGTH; + break; + default: + fprintf(stderr, "invalid escape %%%c found in path template\n", + template[i]); + BAIL_OUT; + break; + } + } + } +#ifdef DEBUG + fprintf(stderr, "Converted `%s' to `%s'\n", template, result); +#endif + return result; +} + +/* + * Given some searching parameters, locate and open the xorg config file. + */ +static char * +OpenConfigFile(const char *path, const char *cmdline, const char *projroot, + const char *confname) +{ + char *filepath = NULL; + char *pathcopy; + const char *template; + int cmdlineUsed = 0; + FILE *file = NULL; + + pathcopy = strdup(path); + for (template = strtok(pathcopy, ","); template && !file; + template = strtok(NULL, ",")) { + filepath = DoSubstitution(template, cmdline, projroot, + &cmdlineUsed, NULL, confname); + if (!filepath) + continue; + if (cmdline && !cmdlineUsed) { + free(filepath); + filepath = NULL; + continue; + } + file = fopen(filepath, "r"); + if (!file) { + free(filepath); + filepath = NULL; + } + } + + free(pathcopy); + if (file) { + configFiles[numFiles].file = file; + configFiles[numFiles].path = strdup(filepath); + numFiles++; + } + return filepath; +} + +/* + * Match non-hidden files in the xorg config directory with a .conf + * suffix. This filter is passed to scandir(3). + */ +static int +ConfigFilter(const struct dirent *de) +{ + const char *name = de->d_name; + size_t len; + size_t suflen = strlen(XCONFIGSUFFIX); + + if (!name || name[0] == '.') + return 0; + len = strlen(name); + if(len <= suflen) + return 0; + if (strcmp(&name[len-suflen], XCONFIGSUFFIX) != 0) + return 0; + return 1; +} + +static Bool +AddConfigDirFiles(const char *dirpath, struct dirent **list, int num) +{ + int i; + Bool openedFile = FALSE; + Bool warnOnce = FALSE; + + for (i = 0; i < num; i++) { + char *path; + FILE *file; + + if (numFiles >= CONFIG_MAX_FILES) { + if (!warnOnce) { + ErrorF("Maximum number of configuration " + "files opened\n"); + warnOnce = TRUE; + } + free(list[i]); + continue; + } + + path = malloc(PATH_MAX + 1); + snprintf(path, PATH_MAX + 1, "%s/%s", dirpath, + list[i]->d_name); + free(list[i]); + file = fopen(path, "r"); + if (!file) { + free(path); + continue; + } + openedFile = TRUE; + + configFiles[numFiles].file = file; + configFiles[numFiles].path = path; + numFiles++; + } + + return openedFile; +} + +/* + * Given some searching parameters, locate and open the xorg config + * directory. The directory does not need to contain config files. + */ +static char * +OpenConfigDir(const char *path, const char *cmdline, const char *projroot, + const char *confname) +{ + char *dirpath, *pathcopy; + const char *template; + Bool found = FALSE; + int cmdlineUsed = 0; + + pathcopy = strdup(path); + for (template = strtok(pathcopy, ","); template && !found; + template = strtok(NULL, ",")) { + struct dirent **list = NULL; + int num; + + dirpath = DoSubstitution(template, cmdline, projroot, + &cmdlineUsed, NULL, confname); + if (!dirpath) + continue; + if (cmdline && !cmdlineUsed) { + free(dirpath); + dirpath = NULL; + continue; + } + + /* match files named *.conf */ + num = scandir(dirpath, &list, ConfigFilter, alphasort); + found = AddConfigDirFiles(dirpath, list, num); + if (!found) { + free(dirpath); + dirpath = NULL; + free(list); + } + } + + free(pathcopy); + return dirpath; +} + +/* + * xf86initConfigFiles -- Setup global variables and buffers. + */ +void +xf86initConfigFiles(void) +{ + curFileIndex = 0; + configPos = 0; + configLineNo = 0; + pushToken = LOCK_TOKEN; + + configBuf = malloc(CONFIG_BUF_LEN); + configRBuf = malloc(CONFIG_BUF_LEN); + configBuf[0] = '\0'; /* sanity ... */ +} + +/* + * xf86openConfigFile -- + * + * This function take a config file search path (optional), a command-line + * specified file name (optional) and the ProjectRoot path (optional) and + * locates and opens a config file based on that information. If a + * command-line file name is specified, then this function fails if none + * of the located files. + * + * The return value is a pointer to the actual name of the file that was + * opened. When no file is found, the return value is NULL. + * + * The escape sequences allowed in the search path are defined above. + * + */ + +#ifndef DEFAULT_CONF_PATH +#define DEFAULT_CONF_PATH "/etc/X11/%S," \ + "%P/etc/X11/%S," \ + "/etc/X11/%G," \ + "%P/etc/X11/%G," \ + "/etc/X11/%X-%M," \ + "/etc/X11/%X," \ + "/etc/%X," \ + "%P/etc/X11/%X.%H," \ + "%P/etc/X11/%X-%M," \ + "%P/etc/X11/%X," \ + "%P/lib/X11/%X.%H," \ + "%P/lib/X11/%X-%M," \ + "%P/lib/X11/%X" +#endif + +const char * +xf86openConfigFile(const char *path, const char *cmdline, const char *projroot) +{ + if (!path || !path[0]) + path = DEFAULT_CONF_PATH; + if (!projroot || !projroot[0]) + projroot = PROJECTROOT; + + /* Search for a config file */ + configPath = OpenConfigFile(path, cmdline, projroot, XCONFIGFILE); + return configPath; +} + +/* + * xf86openConfigDirFiles -- + * + * This function take a config directory search path (optional), a + * command-line specified directory name (optional) and the ProjectRoot path + * (optional) and locates and opens a config directory based on that + * information. If a command-line name is specified, then this function + * fails if it is not found. + * + * The return value is a pointer to the actual name of the direcoty that was + * opened. When no directory is found, the return value is NULL. + * + * The escape sequences allowed in the search path are defined above. + * + */ +const char * +xf86openConfigDirFiles(const char *path, const char *cmdline, + const char *projroot) +{ + if (!path || !path[0]) + path = DEFAULT_CONF_PATH; + if (!projroot || !projroot[0]) + projroot = PROJECTROOT; + + /* Search for the multiconf directory */ + configDirPath = OpenConfigDir(path, cmdline, projroot, XCONFIGDIR); + return configDirPath; +} + +void +xf86closeConfigFile (void) +{ + int i; + + free (configPath); + configPath = NULL; + free (configDirPath); + configDirPath = NULL; + free (configRBuf); + configRBuf = NULL; + free (configBuf); + configBuf = NULL; + + if (numFiles == 0) { + builtinConfig = NULL; + builtinIndex = 0; + } + for (i = 0; i < numFiles; i++) { + fclose(configFiles[i].file); + configFiles[i].file = NULL; + free(configFiles[i].path); + configFiles[i].path = NULL; + } + numFiles = 0; +} + +void +xf86setBuiltinConfig(const char *config[]) +{ + builtinConfig = config; +} + +void +xf86parseError (char *format,...) +{ + va_list ap; + char *filename = numFiles ? configFiles[curFileIndex].path : + "<builtin configuration>"; + + ErrorF ("Parse error on line %d of section %s in file %s\n\t", + configLineNo, configSection, filename); + va_start (ap, format); + VErrorF (format, ap); + va_end (ap); + + ErrorF ("\n"); +} + +void +xf86validationError (char *format,...) +{ + va_list ap; + char *filename = numFiles ? configFiles[curFileIndex].path : + "<builtin configuration>"; + + ErrorF ("Data incomplete in file %s\n\t", filename); + va_start (ap, format); + VErrorF (format, ap); + va_end (ap); + + ErrorF ("\n"); +} + +void +xf86setSection (char *section) +{ + free(configSection); + configSection = strdup(section); +} + +/* + * xf86getToken -- + * Lookup a string if it is actually a token in disguise. + */ +int +xf86getStringToken (xf86ConfigSymTabRec * tab) +{ + return StringToToken (val.str, tab); +} + +static int +StringToToken (char *str, xf86ConfigSymTabRec * tab) +{ + int i; + + for (i = 0; tab[i].token != -1; i++) + { + if (!xf86nameCompare (tab[i].name, str)) + return tab[i].token; + } + return ERROR_TOKEN; +} + + +/* + * Compare two names. The characters '_', ' ', and '\t' are ignored + * in the comparison. + */ +int +xf86nameCompare (const char *s1, const char *s2) +{ + char c1, c2; + + if (!s1 || *s1 == 0) { + if (!s2 || *s2 == 0) + return 0; + else + return 1; + } + + while (*s1 == '_' || *s1 == ' ' || *s1 == '\t') + s1++; + while (*s2 == '_' || *s2 == ' ' || *s2 == '\t') + s2++; + c1 = (isupper (*s1) ? tolower (*s1) : *s1); + c2 = (isupper (*s2) ? tolower (*s2) : *s2); + while (c1 == c2) + { + if (c1 == '\0') + return 0; + s1++; + s2++; + while (*s1 == '_' || *s1 == ' ' || *s1 == '\t') + s1++; + while (*s2 == '_' || *s2 == ' ' || *s2 == '\t') + s2++; + c1 = (isupper (*s1) ? tolower (*s1) : *s1); + c2 = (isupper (*s2) ? tolower (*s2) : *s2); + } + return c1 - c2; +} + +char * +xf86addComment(char *cur, char *add) +{ + char *str; + int len, curlen, iscomment, hasnewline = 0, insnewline, endnewline; + + if (add == NULL || add[0] == '\0') + return cur; + + if (cur) { + curlen = strlen(cur); + if (curlen) + hasnewline = cur[curlen - 1] == '\n'; + eol_seen = 0; + } + else + curlen = 0; + + str = add; + iscomment = 0; + while (*str) { + if (*str != ' ' && *str != '\t') + break; + ++str; + } + iscomment = (*str == '#'); + + len = strlen(add); + endnewline = add[len - 1] == '\n'; + + insnewline = eol_seen || (curlen && !hasnewline); + if (insnewline) + len++; + if (!iscomment) + len++; + if (!endnewline) + len++; + + /* Allocate + 1 char for '\0' terminator. */ + str = realloc(cur, curlen + len + 1); + if (!str) + return cur; + + cur = str; + + if (insnewline) + cur[curlen++] = '\n'; + if (!iscomment) + cur[curlen++] = '#'; + strcpy(cur + curlen, add); + if (!endnewline) + strcat(cur, "\n"); + + return cur; +} + +Bool +xf86getBoolValue(Bool *val, const char *str) +{ + if (!val || !str) + return FALSE; + if (*str == '\0') { + *val = TRUE; + } else { + if (xf86nameCompare(str, "1") == 0) + *val = TRUE; + else if (xf86nameCompare(str, "on") == 0) + *val = TRUE; + else if (xf86nameCompare(str, "true") == 0) + *val = TRUE; + else if (xf86nameCompare(str, "yes") == 0) + *val = TRUE; + else if (xf86nameCompare(str, "0") == 0) + *val = FALSE; + else if (xf86nameCompare(str, "off") == 0) + *val = FALSE; + else if (xf86nameCompare(str, "false") == 0) + *val = FALSE; + else if (xf86nameCompare(str, "no") == 0) + *val = FALSE; + else + return FALSE; + } + return TRUE; +} diff --git a/xorg-server/hw/xquartz/applewm.c b/xorg-server/hw/xquartz/applewm.c index 27fb125d3..55976c454 100644 --- a/xorg-server/hw/xquartz/applewm.c +++ b/xorg-server/hw/xquartz/applewm.c @@ -725,10 +725,12 @@ AppleWMExtensionInit( NULL, StandardMinorOpcode))) { + size_t i; WMReqCode = (unsigned char)extEntry->base; WMErrorBase = extEntry->errorBase; WMEventBase = extEntry->eventBase; - EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent; + for (i=0; i < AppleWMNumberEvents; i++) + EventSwapVector[WMEventBase + i] = (EventSwapPtr) SNotifyEvent; appleWMProcs = procsPtr; } } diff --git a/xorg-server/hw/xquartz/xpr/appledri.c b/xorg-server/hw/xquartz/xpr/appledri.c index 6b4a8a383..44c132abc 100644 --- a/xorg-server/hw/xquartz/xpr/appledri.c +++ b/xorg-server/hw/xquartz/xpr/appledri.c @@ -529,9 +529,11 @@ AppleDRIExtensionInit(void) SProcAppleDRIDispatch, AppleDRIResetProc, StandardMinorOpcode))) { + size_t i; DRIReqCode = (unsigned char)extEntry->base; DRIErrorBase = extEntry->errorBase; DRIEventBase = extEntry->eventBase; - EventSwapVector[DRIEventBase] = (EventSwapPtr) SNotifyEvent; + for (i=0; i < AppleDRINumberEvents; i++) + EventSwapVector[DRIEventBase + i] = (EventSwapPtr) SNotifyEvent; } } diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c index 41e6a57c0..5941a2116 100644 --- a/xorg-server/hw/xwin/InitOutput.c +++ b/xorg-server/hw/xwin/InitOutput.c @@ -69,12 +69,6 @@ extern HWND g_hwndClipboard; extern Bool g_fClipboard; #endif - -/* - module handle for dynamically loaded comctl32 library -*/ -static HMODULE g_hmodCommonControls = NULL; - /* * Function prototypes */ @@ -219,14 +213,6 @@ ddxGiveUp (enum ExitCode error) * we are guaranteed to not need the DirectDraw functions. */ winReleaseDDProcAddresses(); - - /* Unload our TrackMouseEvent function pointer */ - if (g_hmodCommonControls != NULL) - { - FreeLibrary (g_hmodCommonControls); - g_hmodCommonControls = NULL; - g_fpTrackMouseEvent = (FARPROC) (void (*)(void))NoopDDA; - } /* Free concatenated command line */ free(g_pszCommandLine); @@ -604,34 +590,17 @@ winFixupPaths (void) } if (getenv("HOME") == NULL) { - HMODULE shfolder; - SHGETFOLDERPATHPROC shgetfolderpath = NULL; char buffer[MAX_PATH + 5]; strncpy(buffer, "HOME=", 5); - /* Try to load SHGetFolderPath from shfolder.dll and shell32.dll */ - - shfolder = LoadLibrary("shfolder.dll"); - /* fallback to shell32.dll */ - if (shfolder == NULL) - shfolder = LoadLibrary("shell32.dll"); - - /* resolve SHGetFolderPath */ - if (shfolder != NULL) - shgetfolderpath = (SHGETFOLDERPATHPROC)GetProcAddress(shfolder, "SHGetFolderPathA"); - /* query appdata directory */ - if (shgetfolderpath && - shgetfolderpath(NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE, NULL, 0, - buffer + 5) == 0) - { + if (SHGetFolderPathA(NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE, NULL, 0, buffer + 5) == 0) + { putenv(buffer); } else { ErrorF ("Can not determine HOME directory\n"); - } - if (shfolder != NULL) - FreeLibrary(shfolder); + } } if (!g_fLogFileChanged) { static char buffer[MAX_PATH]; @@ -846,10 +815,10 @@ winUseMsg (void) "\theight and initial position for that screen. Additionally\n" "\ta monitor number can be specified to start the server on,\n" "\tat which point, all coordinates become relative to that\n" - "\tmonitor (Not for Windows NT4 and 95). Examples:\n" - "\t -screen 0 800x600+100+100@2 ; 2nd monitor offset 100,100 size 800x600\n" - "\t -screen 0 1024x768@3 ; 3rd monitor size 1024x768\n" - "\t -screen 0 @1 ; on 1st monitor using its full resolution (the default)\n"); + "\tmonitor. Examples:\n" + "\t -screen 0 800x600+100+100@2 ; 2nd monitor offset 100,100 size 800x600\n" + "\t -screen 0 1024x768@3 ; 3rd monitor size 1024x768\n" + "\t -screen 0 @1 ; on 1st monitor using its full resolution (the default)\n"); ErrorF ("-silent-dup-error\n" "\tIf another instance of " EXECUTABLE_NAME " with the same display number is running\n" @@ -982,27 +951,6 @@ InitOutput (ScreenInfo *screenInfo, int argc, char *argv[]) /* Detect supported engines */ winDetectSupportedEngines (); - /* Load common controls library */ - g_hmodCommonControls = LoadLibraryEx ("comctl32.dll", NULL, 0); - - /* Load TrackMouseEvent function pointer */ - g_fpTrackMouseEvent = GetProcAddress (g_hmodCommonControls, - "_TrackMouseEvent"); - if (g_fpTrackMouseEvent == NULL) - { - ErrorF ("InitOutput - Could not get pointer to function\n" - "\t_TrackMouseEvent in comctl32.dll. Try installing\n" - "\tInternet Explorer 3.0 or greater if you have not\n" - "\talready.\n"); - - /* Free the library since we won't need it */ - FreeLibrary (g_hmodCommonControls); - g_hmodCommonControls = NULL; - - /* Set function pointer to point to no operation function */ - g_fpTrackMouseEvent = (FARPROC) (void (*)(void))NoopDDA; - } - /* Store the instance handle */ g_hInstance = GetModuleHandle (NULL); diff --git a/xorg-server/hw/xwin/XWin.exe.manifest b/xorg-server/hw/xwin/XWin.exe.manifest index 5668383a9..a0d4d7dae 100644 --- a/xorg-server/hw/xwin/XWin.exe.manifest +++ b/xorg-server/hw/xwin/XWin.exe.manifest @@ -1,16 +1,21 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <description>The XWin X Windows server for Cygwin.</description>
- <dependency>
- <dependentAssembly>
- <assemblyIdentity
- type="win32"
- name="Microsoft.Windows.Common-Controls"
- version="6.0.0.0"
- processorArchitecture="X86"
- publicKeyToken="6595b64144ccf1df"
- language="*"
- />
- </dependentAssembly>
- </dependency>
-</assembly>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <description>The XWin X Windows server for Cygwin.</description> + <dependency> + <dependentAssembly> + <assemblyIdentity + type="win32" + name="Microsoft.Windows.Common-Controls" + version="6.0.0.0" + processorArchitecture="X86" + publicKeyToken="6595b64144ccf1df" + language="*" + /> + </dependentAssembly> + </dependency> + <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> + <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> + <dpiAware>true</dpiAware> + </asmv3:windowsSettings> + </asmv3:application> +</assembly> diff --git a/xorg-server/hw/xwin/win.h b/xorg-server/hw/xwin/win.h index a71635d67..d05a024a0 100644 --- a/xorg-server/hw/xwin/win.h +++ b/xorg-server/hw/xwin/win.h @@ -59,7 +59,7 @@ #define WIN_DEFAULT_BLACKPIXEL 0 #define WIN_DEFAULT_LINEBIAS 0 #define WIN_DEFAULT_E3B_TIME 50 /* milliseconds */ -#define WIN_DEFAULT_DPI 75 +#define WIN_DEFAULT_DPI 96 #define WIN_DEFAULT_REFRESH 0 #define WIN_DEFAULT_WIN_KILL TRUE #define WIN_DEFAULT_UNIX_KILL FALSE @@ -637,7 +637,6 @@ extern DeviceIntPtr g_pwinKeyboard; extern FARPROC g_fpDirectDrawCreate; extern FARPROC g_fpDirectDrawCreateClipper; -extern FARPROC g_fpTrackMouseEvent; /* diff --git a/xorg-server/hw/xwin/winclipboardwndproc.c b/xorg-server/hw/xwin/winclipboardwndproc.c index 1dbee9b6f..e410dd6d9 100644 --- a/xorg-server/hw/xwin/winclipboardwndproc.c +++ b/xorg-server/hw/xwin/winclipboardwndproc.c @@ -58,8 +58,6 @@ extern void *g_pClipboardDisplay; extern Window g_iClipboardWindow; extern Atom g_atomLastOwnedSelection; extern Bool g_fClipboardStarted; -/* BPS - g_hwndClipboard needed for X app->Windows paste fix */ -extern HWND g_hwndClipboard; extern Bool g_fClipboardPrimary; /* diff --git a/xorg-server/hw/xwin/winglobals.c b/xorg-server/hw/xwin/winglobals.c index 044cbb1cd..0bf658293 100644 --- a/xorg-server/hw/xwin/winglobals.c +++ b/xorg-server/hw/xwin/winglobals.c @@ -1,130 +1,123 @@ -/*
- *Copyright (C) 2003-2004 Harold L Hunt II All Rights Reserved.
- *Copyright (C) Colin Harrison 2005-2008
- *
- *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 HAROLD L HUNT II BE LIABLE FOR
- *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- *Except as contained in this notice, the name of Harold L Hunt II
- *shall not be used in advertising or otherwise to promote the sale, use
- *or other dealings in this Software without prior written authorization
- *from Harold L Hunt II.
- *
- * Authors: Harold L Hunt II
- * Colin Harrison
- */
-
-#ifdef HAVE_XWIN_CONFIG_H
-#include <xwin-config.h>
-#endif
-#include "win.h"
-
-
-/*
- * General global variables
- */
-
-int g_iNumScreens = 0;
-winScreenInfo * g_ScreenInfo = 0;
-#ifdef HAS_DEVWINDOWS
-int g_fdMessageQueue = WIN_FD_INVALID;
-#endif
-DevPrivateKeyRec g_iScreenPrivateKeyRec;
-DevPrivateKeyRec g_iCmapPrivateKeyRec;
-DevPrivateKeyRec g_iGCPrivateKeyRec;
-DevPrivateKeyRec g_iPixmapPrivateKeyRec;
-DevPrivateKeyRec g_iWindowPrivateKeyRec;
-unsigned long g_ulServerGeneration = 0;
-DWORD g_dwEnginesSupported = 0;
-HINSTANCE g_hInstance = 0;
-HWND g_hDlgDepthChange = NULL;
-HWND g_hDlgExit = NULL;
-HWND g_hDlgAbout = NULL;
-const char * g_pszQueryHost = NULL;
-Bool g_fXdmcpEnabled = FALSE;
-Bool g_fAuthEnabled = FALSE;
-HICON g_hIconX = NULL;
-HICON g_hSmallIconX = NULL;
-#ifndef RELOCATE_PROJECTROOT
-const char * g_pszLogFile = DEFAULT_LOGDIR "/XWin.%s.log";
-#else
-const char * g_pszLogFile = "XWin.log";
-Bool g_fLogFileChanged = FALSE;
-#endif
-int g_iLogVerbose = 2;
-Bool g_fLogInited = FALSE;
-char * g_pszCommandLine = NULL;
-Bool g_fSilentFatalError = FALSE;
-DWORD g_dwCurrentThreadID = 0;
-Bool g_fKeyboardHookLL = FALSE;
-Bool g_fNoHelpMessageBox = FALSE;
-Bool g_fSoftwareCursor = FALSE;
-Bool g_fSilentDupError = FALSE;
-Bool g_fNativeGl = FALSE;
-Bool g_fswrastwgl = FALSE;
-
-/*
- * Global variables for dynamically loaded libraries and
- * their function pointers
- */
-
-FARPROC g_fpTrackMouseEvent = (FARPROC) (void (*)(void))NoopDDA;
-
-
-#ifdef XWIN_CLIPBOARD
-/*
- * Wrapped DIX functions
- */
-winDispatchProcPtr winProcEstablishConnectionOrig = NULL;
-winDispatchProcPtr winProcSetSelectionOwnerOrig = NULL;
-
-
-/*
- * Clipboard variables
- */
-
-Bool g_fUnicodeClipboard = TRUE;
-Bool g_fClipboard = TRUE;
-Bool g_fClipboardPrimary = TRUE;
-Bool g_fClipboardLaunched = FALSE;
-Bool g_fClipboardStarted = FALSE;
-pthread_t g_ptClipboardProc;
-HWND g_hwndClipboard = NULL;
-void *g_pClipboardDisplay = NULL;
-Window g_iClipboardWindow = None;
-Atom g_atomLastOwnedSelection = None;
-#endif
-
-
-/*
- * Re-initialize global variables that are invalidated
- * by a server reset.
- */
-
-void
-winInitializeGlobals (void)
-{
- g_dwCurrentThreadID = GetCurrentThreadId ();
-#ifdef XWIN_CLIPBOARD
- g_iClipboardWindow = None;
- g_pClipboardDisplay = NULL;
- g_atomLastOwnedSelection = None;
- g_hwndClipboard = NULL;
-#endif
-}
+/* + *Copyright (C) 2003-2004 Harold L Hunt II All Rights Reserved. + *Copyright (C) Colin Harrison 2005-2008 + * + *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 HAROLD L HUNT II BE LIABLE FOR + *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + *Except as contained in this notice, the name of Harold L Hunt II + *shall not be used in advertising or otherwise to promote the sale, use + *or other dealings in this Software without prior written authorization + *from Harold L Hunt II. + * + * Authors: Harold L Hunt II + * Colin Harrison + */ + +#ifdef HAVE_XWIN_CONFIG_H +#include <xwin-config.h> +#endif +#include "win.h" + + +/* + * General global variables + */ + +int g_iNumScreens = 0; +winScreenInfo * g_ScreenInfo = 0; +#ifdef HAS_DEVWINDOWS +int g_fdMessageQueue = WIN_FD_INVALID; +#endif +DevPrivateKeyRec g_iScreenPrivateKeyRec; +DevPrivateKeyRec g_iCmapPrivateKeyRec; +DevPrivateKeyRec g_iGCPrivateKeyRec; +DevPrivateKeyRec g_iPixmapPrivateKeyRec; +DevPrivateKeyRec g_iWindowPrivateKeyRec; +unsigned long g_ulServerGeneration = 0; +DWORD g_dwEnginesSupported = 0; +HINSTANCE g_hInstance = 0; +HWND g_hDlgDepthChange = NULL; +HWND g_hDlgExit = NULL; +HWND g_hDlgAbout = NULL; +const char * g_pszQueryHost = NULL; +Bool g_fXdmcpEnabled = FALSE; +Bool g_fAuthEnabled = FALSE; +HICON g_hIconX = NULL; +HICON g_hSmallIconX = NULL; +#ifndef RELOCATE_PROJECTROOT +const char * g_pszLogFile = DEFAULT_LOGDIR "/XWin.%s.log"; +#else +const char * g_pszLogFile = "XWin.log"; +Bool g_fLogFileChanged = FALSE; +#endif +int g_iLogVerbose = 2; +Bool g_fLogInited = FALSE; +char * g_pszCommandLine = NULL; +Bool g_fSilentFatalError = FALSE; +DWORD g_dwCurrentThreadID = 0; +Bool g_fKeyboardHookLL = FALSE; +Bool g_fNoHelpMessageBox = FALSE; +Bool g_fSoftwareCursor = FALSE; +Bool g_fSilentDupError = FALSE; +Bool g_fNativeGl = FALSE; +Bool g_fswrastwgl = FALSE; + + +#ifdef XWIN_CLIPBOARD +/* + * Wrapped DIX functions + */ +winDispatchProcPtr winProcEstablishConnectionOrig = NULL; +winDispatchProcPtr winProcSetSelectionOwnerOrig = NULL; + + +/* + * Clipboard variables + */ + +Bool g_fUnicodeClipboard = TRUE; +Bool g_fClipboard = TRUE; +Bool g_fClipboardPrimary = TRUE; +Bool g_fClipboardLaunched = FALSE; +Bool g_fClipboardStarted = FALSE; +pthread_t g_ptClipboardProc; +HWND g_hwndClipboard = NULL; +void *g_pClipboardDisplay = NULL; +Window g_iClipboardWindow = None; +Atom g_atomLastOwnedSelection = None; +#endif + + +/* + * Re-initialize global variables that are invalidated + * by a server reset. + */ + +void +winInitializeGlobals (void) +{ + g_dwCurrentThreadID = GetCurrentThreadId (); +#ifdef XWIN_CLIPBOARD + g_iClipboardWindow = None; + g_pClipboardDisplay = NULL; + g_atomLastOwnedSelection = None; + g_hwndClipboard = NULL; +#endif +} diff --git a/xorg-server/hw/xwin/winmonitors.c b/xorg-server/hw/xwin/winmonitors.c index 876d23437..7b9bdc09e 100644 --- a/xorg-server/hw/xwin/winmonitors.c +++ b/xorg-server/hw/xwin/winmonitors.c @@ -67,7 +67,5 @@ Bool QueryMonitor(int index, struct GetMonitorInfoData *data) data->requestedMonitor = index; /* query information */ - xEnumDisplayMonitors(NULL, NULL, getMonitorInfo, (LPARAM) data); - - return TRUE; + return EnumDisplayMonitors(NULL, NULL, getMonitorInfo, (LPARAM) data); } diff --git a/xorg-server/hw/xwin/winmultiwindowwndproc.c b/xorg-server/hw/xwin/winmultiwindowwndproc.c index 8ff7422b2..4e836fa06 100644 --- a/xorg-server/hw/xwin/winmultiwindowwndproc.c +++ b/xorg-server/hw/xwin/winmultiwindowwndproc.c @@ -528,8 +528,8 @@ winTopLevelWindowProc (HWND hwnd, UINT message, tme.hwndTrack = hwnd; /* Call the tracking function */ - if (!(*g_fpTrackMouseEvent) (&tme)) - ErrorF ("winTopLevelWindowProc - _TrackMouseEvent failed\n"); + if (!TrackMouseEvent(&tme)) + ErrorF ("winTopLevelWindowProc - TrackMouseEvent failed\n"); /* Flag that we are tracking now */ s_fTracking = TRUE; diff --git a/xorg-server/hw/xwin/winprocarg.c b/xorg-server/hw/xwin/winprocarg.c index 306dce79f..683605ad7 100644 --- a/xorg-server/hw/xwin/winprocarg.c +++ b/xorg-server/hw/xwin/winprocarg.c @@ -89,12 +89,27 @@ winInitializeScreenDefaults(void) dwWidth = GetSystemMetrics (SM_CXSCREEN); dwHeight = GetSystemMetrics (SM_CYSCREEN); - winDebug ("winInitializeScreenDefaults - w %d h %d\n", - (int) dwWidth, (int) dwHeight); + winDebug ("winInitializeScreenDefaults - primary monitor w %d h %d\n", (int) dwWidth, (int) dwHeight); - /* Set a default DPI, if no parameter was passed */ + /* Set a default DPI, if no '-dpi' option was used */ if (monitorResolution == 0) - monitorResolution = WIN_DEFAULT_DPI; + { + HDC hdc = GetDC(NULL); + if (hdc) + { + int dpiX = GetDeviceCaps(hdc, LOGPIXELSX); + int dpiY = GetDeviceCaps(hdc, LOGPIXELSY); + + winErrorFVerb(2, "winInitializeDefaultScreens - native DPI x %d y %d\n", dpiX, dpiY); + monitorResolution = dpiY; + ReleaseDC(NULL, hdc); + } + else + { + winErrorFVerb(1, "winInitializeDefaultScreens - Failed to retrieve native DPI, falling back to default of %d DPI\n", WIN_DEFAULT_DPI); + monitorResolution = WIN_DEFAULT_DPI; + } + } defaultScreenInfo.iMonitor = 1; defaultScreenInfo.dwWidth = dwWidth; @@ -310,8 +325,7 @@ ddxProcessArgument (int argc, char *argv[], int i) struct GetMonitorInfoData data; if (!QueryMonitor(iMonitor, &data)) { - ErrorF ("ddxProcessArgument - screen - " - "Querying monitors is not supported on NT4 and Win95\n"); + ErrorF ("ddxProcessArgument - screen - Querying monitors failed\n"); } else if (data.bMonitorSpecifiedExists == TRUE) { winDebug("ddxProcessArgument - screen - Found Valid ``@Monitor'' = %d arg\n", iMonitor); @@ -367,8 +381,7 @@ ddxProcessArgument (int argc, char *argv[], int i) struct GetMonitorInfoData data; if (!QueryMonitor(iMonitor, &data)) { - ErrorF ("ddxProcessArgument - screen - " - "Querying monitors is not supported on NT4 and Win95\n"); + ErrorF ("ddxProcessArgument - screen - Querying monitors failed\n"); } else if (data.bMonitorSpecifiedExists == TRUE) { g_ScreenInfo[nScreenNum].iMonitor = iMonitor; @@ -395,8 +408,7 @@ ddxProcessArgument (int argc, char *argv[], int i) struct GetMonitorInfoData data; if (!QueryMonitor(iMonitor, &data)) { - ErrorF ("ddxProcessArgument - screen - " - "Querying monitors is not supported on NT4 and Win95\n"); + ErrorF ("ddxProcessArgument - screen - Querying monitors failed\n"); } else if (data.bMonitorSpecifiedExists == TRUE) { winDebug ("ddxProcessArgument - screen - Found Valid ``@Monitor'' = %d arg\n", iMonitor); diff --git a/xorg-server/hw/xwin/winwin32rootlesswndproc.c b/xorg-server/hw/xwin/winwin32rootlesswndproc.c index c8a6e66c3..c47719701 100644 --- a/xorg-server/hw/xwin/winwin32rootlesswndproc.c +++ b/xorg-server/hw/xwin/winwin32rootlesswndproc.c @@ -1,1325 +1,1325 @@ -/*
- *Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
- *
- *Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- *"Software"), to deal in the Software without restriction, including
- *without limitation the rights to use, copy, modify, merge, publish,
- *distribute, sublicense, and/or sell copies of the Software, and to
- *permit persons to whom the Software is furnished to do so, subject to
- *the following conditions:
- *
- *The above copyright notice and this permission notice shall be
- *included in all copies or substantial portions of the Software.
- *
- *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- *NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
- *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- *Except as contained in this notice, the name of the XFree86 Project
- *shall not be used in advertising or otherwise to promote the sale, use
- *or other dealings in this Software without prior written authorization
- *from the XFree86 Project.
- *
- * Authors: Kensuke Matsuzaki
- * Earle F. Philhower, III
- * Harold L Hunt II
- */
-#ifdef HAVE_XWIN_CONFIG_H
-#include <xwin-config.h>
-#endif
-#include "win.h"
-#include <winuser.h>
-#define _WINDOWSWM_SERVER_
-#include <X11/extensions/windowswmstr.h>
-#include "dixevents.h"
-#include "propertyst.h"
-#include <X11/Xatom.h>
-#include "winmultiwindowclass.h"
-#include "winmsg.h"
-#include "inputstr.h"
-
-
-/*
- * Constant defines
- */
-
-#define MOUSE_ACTIVATE_DEFAULT TRUE
-#define RAISE_ON_CLICK_DEFAULT FALSE
-
-
-/*
- * Local globals
- */
-
-static UINT_PTR g_uipMousePollingTimerID = 0;
-
-
-/*
- * Local function
- */
-
-DEFINE_ATOM_HELPER(AtmWindowsWmRaiseOnClick, WINDOWSWM_RAISE_ON_CLICK)
-DEFINE_ATOM_HELPER(AtmWindowsWMMouseActivate, WINDOWSWM_MOUSE_ACTIVATE)
-/* DEFINE_ATOM_HELPER(AtmWindowsWMClientWindow, WINDOWSWM_CLIENT_WINDOW) */
-
-/*
- * ConstrainSize - Taken from TWM sources - Respects hints for sizing
- */
-#define makemult(a,b) ((b==1) ? (a) : (((int)((a)/(b))) * (b)) )
-static void
-ConstrainSize (WinXSizeHints hints, int *widthp, int *heightp)
-{
- int minWidth, minHeight, maxWidth, maxHeight, xinc, yinc, delta;
- int baseWidth, baseHeight;
- int dwidth = *widthp, dheight = *heightp;
-
- if (hints.flags & PMinSize)
- {
- minWidth = hints.min_width;
- minHeight = hints.min_height;
- }
- else if (hints.flags & PBaseSize)
- {
- minWidth = hints.base_width;
- minHeight = hints.base_height;
- }
- else
- minWidth = minHeight = 1;
-
- if (hints.flags & PBaseSize)
- {
- baseWidth = hints.base_width;
- baseHeight = hints.base_height;
- }
- else if (hints.flags & PMinSize)
- {
- baseWidth = hints.min_width;
- baseHeight = hints.min_height;
- }
- else
- baseWidth = baseHeight = 0;
-
- if (hints.flags & PMaxSize)
- {
- maxWidth = hints.max_width;
- maxHeight = hints.max_height;
- }
- else
- {
- maxWidth = MAXINT;
- maxHeight = MAXINT;
- }
-
- if (hints.flags & PResizeInc)
- {
- xinc = hints.width_inc;
- yinc = hints.height_inc;
- }
- else
- xinc = yinc = 1;
-
- /*
- * First, clamp to min and max values
- */
- if (dwidth < minWidth)
- dwidth = minWidth;
- if (dheight < minHeight)
- dheight = minHeight;
-
- if (dwidth > maxWidth)
- dwidth = maxWidth;
- if (dheight > maxHeight)
- dheight = maxHeight;
-
- /*
- * Second, fit to base + N * inc
- */
- dwidth = ((dwidth - baseWidth) / xinc * xinc) + baseWidth;
- dheight = ((dheight - baseHeight) / yinc * yinc) + baseHeight;
-
- /*
- * Third, adjust for aspect ratio
- */
-
- /*
- * The math looks like this:
- *
- * minAspectX dwidth maxAspectX
- * ---------- <= ------- <= ----------
- * minAspectY dheight maxAspectY
- *
- * If that is multiplied out, then the width and height are
- * invalid in the following situations:
- *
- * minAspectX * dheight > minAspectY * dwidth
- * maxAspectX * dheight < maxAspectY * dwidth
- *
- */
-
- if (hints.flags & PAspect)
- {
- if (hints.min_aspect.x * dheight > hints.min_aspect.y * dwidth)
- {
- delta = makemult(hints.min_aspect.x * dheight / hints.min_aspect.y - dwidth, xinc);
- if (dwidth + delta <= maxWidth)
- dwidth += delta;
- else
- {
- delta = makemult(dheight - dwidth*hints.min_aspect.y/hints.min_aspect.x, yinc);
- if (dheight - delta >= minHeight)
- dheight -= delta;
- }
- }
-
- if (hints.max_aspect.x * dheight < hints.max_aspect.y * dwidth)
- {
- delta = makemult(dwidth * hints.max_aspect.y / hints.max_aspect.x - dheight, yinc);
- if (dheight + delta <= maxHeight)
- dheight += delta;
- else
- {
- delta = makemult(dwidth - hints.max_aspect.x*dheight/hints.max_aspect.y, xinc);
- if (dwidth - delta >= minWidth)
- dwidth -= delta;
- }
- }
- }
-
- /* Return computed values */
- *widthp = dwidth;
- *heightp = dheight;
-}
-#undef makemult
-
-
-
-/*
- * ValidateSizing - Ensures size request respects hints
- */
-static int
-ValidateSizing (HWND hwnd, WindowPtr pWin,
- WPARAM wParam, LPARAM lParam)
-{
- WinXSizeHints sizeHints;
- RECT *rect;
- int iWidth, iHeight, iTopBorder;
- POINT pt;
-
- /* Invalid input checking */
- if (pWin==NULL || lParam==0)
- {
- ErrorF ("Invalid input checking\n");
- return FALSE;
- }
-
- /* No size hints, no checking */
- if (!winMultiWindowGetWMNormalHints (pWin, &sizeHints))
- {
- ErrorF ("No size hints, no checking\n");
- return FALSE;
- }
-
- /* Avoid divide-by-zero */
- if (sizeHints.flags & PResizeInc)
- {
- if (sizeHints.width_inc == 0) sizeHints.width_inc = 1;
- if (sizeHints.height_inc == 0) sizeHints.height_inc = 1;
- }
-
- rect = (RECT*)lParam;
-
- iWidth = rect->right - rect->left;
- iHeight = rect->bottom - rect->top;
-
- /* Get title bar height, there must be an easier way?! */
- pt.x = pt.y = 0;
- ClientToScreen(hwnd, &pt);
- iTopBorder = pt.y - rect->top;
-
- /* Now remove size of any borders */
- iWidth -= 2 * GetSystemMetrics(SM_CXSIZEFRAME);
- iHeight -= GetSystemMetrics(SM_CYSIZEFRAME) + iTopBorder;
-
- /* Constrain the size to legal values */
- ConstrainSize (sizeHints, &iWidth, &iHeight);
-
- /* Add back the borders */
- iWidth += 2 * GetSystemMetrics(SM_CXSIZEFRAME);
- iHeight += GetSystemMetrics(SM_CYSIZEFRAME) + iTopBorder;
-
- /* Adjust size according to where we're dragging from */
- switch(wParam) {
- case WMSZ_TOP:
- case WMSZ_TOPRIGHT:
- case WMSZ_BOTTOM:
- case WMSZ_BOTTOMRIGHT:
- case WMSZ_RIGHT:
- rect->right = rect->left + iWidth;
- break;
- default:
- rect->left = rect->right - iWidth;
- break;
- }
- switch(wParam) {
- case WMSZ_BOTTOM:
- case WMSZ_BOTTOMRIGHT:
- case WMSZ_BOTTOMLEFT:
- case WMSZ_RIGHT:
- case WMSZ_LEFT:
- rect->bottom = rect->top + iHeight;
- break;
- default:
- rect->top = rect->bottom - iHeight;
- break;
- }
- return TRUE;
-}
-
-
-/*
- * IsRaiseOnClick
- */
-
-static Bool
-IsRaiseOnClick (WindowPtr pWin)
-{
-
- struct _Window *pwin;
- struct _Property *prop;
- /* XXX We're getting inputInfo.poniter here, but this might be really wrong.
- * Which pointer's current window do we want? */
- WindowPtr pRoot = GetCurrentRootWindow (inputInfo.pointer);
-
- if (!pWin)
- {
- ErrorF ("IsRaiseOnClick - no prop use default value:%d\n",
- RAISE_ON_CLICK_DEFAULT);
- return RAISE_ON_CLICK_DEFAULT;
- }
-
- pwin = (struct _Window*) pWin;
-
- if (pwin->optional)
- prop = (struct _Property *) pwin->optional->userProps;
- else
- prop = NULL;
-
- while (prop)
- {
- if (prop->propertyName == AtmWindowsWmRaiseOnClick ()
- && prop->type == XA_INTEGER
- && prop->format == 32)
- {
- return *(int*)prop->data;
- }
- else
- prop = prop->next;
- }
-
- if (pWin != pRoot)
- {
- return IsRaiseOnClick (pRoot);
- }
- else
- {
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("IsRaiseOnClick - no prop use default value:%d\n",
- RAISE_ON_CLICK_DEFAULT);
-#endif
- return RAISE_ON_CLICK_DEFAULT;
- }
-}
-
-
-/*
- * IsMouseActive
- */
-
-static Bool
-IsMouseActive (WindowPtr pWin)
-{
-
- struct _Window *pwin;
- struct _Property *prop;
- /* XXX We're getting inputInfo.poniter here, but this might be really wrong.
- * Which pointer's current window do we want? */
- WindowPtr pRoot = GetCurrentRootWindow (inputInfo.pointer);
-
- if (!pWin)
- {
- ErrorF ("IsMouseActive - pWin was NULL use default value:%d\n",
- MOUSE_ACTIVATE_DEFAULT);
- return MOUSE_ACTIVATE_DEFAULT;
- }
-
- pwin = (struct _Window*) pWin;
-
- if (pwin->optional)
- prop = (struct _Property *) pwin->optional->userProps;
- else
- prop = NULL;
-
- while (prop)
- {
- if (prop->propertyName == AtmWindowsWMMouseActivate ()
- && prop->type == XA_INTEGER
- && prop->format == 32)
- {
- return *(int*)prop->data;
- }
- else
- prop = prop->next;
- }
-
- if (pWin != pRoot)
- {
- return IsMouseActive (pRoot);
- }
- else
- {
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("IsMouseActive - no prop use default value:%d\n",
- MOUSE_ACTIVATE_DEFAULT);
-#endif
- return MOUSE_ACTIVATE_DEFAULT;
- }
-}
-
-
-/*
- * winMWExtWMWindowProc - Window procedure
- */
-
-LRESULT CALLBACK
-winMWExtWMWindowProc (HWND hwnd, UINT message,
- WPARAM wParam, LPARAM lParam)
-{
- WindowPtr pWin = NULL;
- win32RootlessWindowPtr pRLWinPriv = NULL;
- ScreenPtr pScreen = NULL;
- winPrivScreenPtr pScreenPriv = NULL;
- winScreenInfo *pScreenInfo = NULL;
- HWND hwndScreen = NULL;
- POINT ptMouse;
- static Bool s_fTracking = FALSE;
- HDC hdcUpdate;
- PAINTSTRUCT ps;
- LPWINDOWPOS pWinPos = NULL;
- RECT rcClient;
- winWMMessageRec wmMsg;
- Bool fWMMsgInitialized = FALSE;
-
- /* Check if the Windows window property for our X window pointer is valid */
- if ((pRLWinPriv = (win32RootlessWindowPtr)GetProp (hwnd, WIN_WINDOW_PROP)) != NULL)
- {
- pWin = pRLWinPriv->pFrame->win;
- pScreen = pWin->drawable.pScreen;
- if (pScreen) pScreenPriv = winGetScreenPriv(pScreen);
- if (pScreenPriv) pScreenInfo = pScreenPriv->pScreenInfo;
- if (pScreenPriv) hwndScreen = pScreenPriv->hwndScreen;
-
- wmMsg.msg = 0;
- wmMsg.hwndWindow = hwnd;
- wmMsg.iWindow = (Window)pWin->drawable.id;
-
- wmMsg.iX = pRLWinPriv->pFrame->x;
- wmMsg.iY = pRLWinPriv->pFrame->y;
- wmMsg.iWidth = pRLWinPriv->pFrame->width;
- wmMsg.iHeight = pRLWinPriv->pFrame->height;
-
- fWMMsgInitialized = TRUE;
- winDebugWin32Message("winMWExtWMWindowProc", hwnd, message, wParam, lParam);
-
- winDebug ("\thWnd %08X\n", hwnd);
- winDebug ("\tpScreenPriv %08X\n", pScreenPriv);
- winDebug ("\tpScreenInfo %08X\n", pScreenInfo);
- winDebug ("\thwndScreen %08X\n", hwndScreen);
- winDebug ("winMWExtWMWindowProc (%08x) %08x %08x %08x\n",
- pRLWinPriv, message, wParam, lParam);
- }
- /* Branch on message type */
- switch (message)
- {
- case WM_CREATE:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_CREATE\n");
-#endif
- /* */
- SetProp (hwnd,
- WIN_WINDOW_PROP,
- (HANDLE)((LPCREATESTRUCT) lParam)->lpCreateParams);
- return 0;
-
- case WM_CLOSE:
- winDebug ("winMWExtWMWindowProc - WM_CLOSE %d\n", pRLWinPriv->fClose);
-
- /* Tell window-manager to close window */
- if (pRLWinPriv->fClose)
- {
- DestroyWindow (hwnd);
- }
- else
- {
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- {
- /* Tell our Window Manager thread to kill the window */
- wmMsg.msg = WM_WM_KILL;
- if (fWMMsgInitialized)
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
- }
-#endif
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMCloseWindow,
- pWin->drawable.id,
- 0, 0, 0, 0);
- }
- return 0;
-
- case WM_DESTROY:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_DESTROY\n");
-#endif
- /* Free the shaodw DC; which allows the bitmap to be freed */
- DeleteDC (pRLWinPriv->hdcShadow);
- pRLWinPriv->hdcShadow = NULL;
-
- /* Free the shadow bitmap */
- DeleteObject (pRLWinPriv->hbmpShadow);
- pRLWinPriv->hbmpShadow = NULL;
-
- /* Free the screen DC */
- ReleaseDC (pRLWinPriv->hWnd, pRLWinPriv->hdcScreen);
- pRLWinPriv->hdcScreen = NULL;
-
- /* Free shadow buffer info header */
- free (pRLWinPriv->pbmihShadow);
- pRLWinPriv->pbmihShadow = NULL;
-
- pRLWinPriv->fResized = FALSE;
- pRLWinPriv->pfb = NULL;
- free (pRLWinPriv);
- RemoveProp (hwnd, WIN_WINDOW_PROP);
- break;
-
- case WM_MOUSEMOVE:
-#if CYGMULTIWINDOW_DEBUG && 0
- winDebug ("winMWExtWMWindowProc - WM_MOUSEMOVE\n");
-#endif
- /* Unpack the client area mouse coordinates */
- ptMouse.x = GET_X_LPARAM(lParam);
- ptMouse.y = GET_Y_LPARAM(lParam);
-
- /* Translate the client area mouse coordinates to screen coordinates */
- ClientToScreen (hwnd, &ptMouse);
-
- /* Screen Coords from (-X, -Y) -> Root Window (0, 0) */
- ptMouse.x -= GetSystemMetrics (SM_XVIRTUALSCREEN);
- ptMouse.y -= GetSystemMetrics (SM_YVIRTUALSCREEN);
-
- /* We can't do anything without privates */
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
-
- /* Has the mouse pointer crossed screens? */
- if (pScreen != miPointerGetScreen(inputInfo.pointer))
- miPointerSetScreen (inputInfo.pointer, pScreenInfo->dwScreen,
- ptMouse.x - pScreenInfo->dwXOffset,
- ptMouse.y - pScreenInfo->dwYOffset);
-
- /* Are we tracking yet? */
- if (!s_fTracking)
- {
- TRACKMOUSEEVENT tme;
-
- /* Setup data structure */
- ZeroMemory (&tme, sizeof (tme));
- tme.cbSize = sizeof (tme);
- tme.dwFlags = TME_LEAVE;
- tme.hwndTrack = hwnd;
-
- /* Call the tracking function */
- if (!(*g_fpTrackMouseEvent) (&tme))
- ErrorF ("winMWExtWMWindowProc - _TrackMouseEvent failed\n");
-
- /* Flag that we are tracking now */
- s_fTracking = TRUE;
- }
-
- /* Kill the timer used to poll mouse events */
- if (g_uipMousePollingTimerID != 0)
- {
- KillTimer (pScreenPriv->hwndScreen, WIN_POLLING_MOUSE_TIMER_ID);
- g_uipMousePollingTimerID = 0;
- }
-
- /* Deliver absolute cursor position to X Server */
- winEnqueueMotion(ptMouse.x - pScreenInfo->dwXOffset,
- ptMouse.y - pScreenInfo->dwYOffset);
-
- return 0;
-
- case WM_NCMOUSEMOVE:
-#if CYGMULTIWINDOW_DEBUG && 0
- winDebug ("winMWExtWMWindowProc - WM_NCMOUSEMOVE\n");
-#endif
- /*
- * We break instead of returning 0 since we need to call
- * DefWindowProc to get the mouse cursor changes
- * and min/max/close button highlighting in Windows XP.
- * The Platform SDK says that you should return 0 if you
- * process this message, but it fails to mention that you
- * will give up any default functionality if you do return 0.
- */
-
- /* We can't do anything without privates */
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
-
- /*
- * Timer to poll mouse events. This is needed to make
- * programs like xeyes follow the mouse properly.
- */
- if (g_uipMousePollingTimerID == 0)
- g_uipMousePollingTimerID = SetTimer (pScreenPriv->hwndScreen,
- WIN_POLLING_MOUSE_TIMER_ID,
- MOUSE_POLLING_INTERVAL,
- NULL);
- break;
-
- case WM_MOUSELEAVE:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_MOUSELEAVE\n");
-#endif
- /* Mouse has left our client area */
-
- /* Flag that we are no longer tracking */
- s_fTracking = FALSE;
-
- /*
- * Timer to poll mouse events. This is needed to make
- * programs like xeyes follow the mouse properly.
- */
- if (g_uipMousePollingTimerID == 0)
- g_uipMousePollingTimerID = SetTimer (pScreenPriv->hwndScreen,
- WIN_POLLING_MOUSE_TIMER_ID,
- MOUSE_POLLING_INTERVAL,
- NULL);
- return 0;
-
- case WM_LBUTTONDBLCLK:
- case WM_LBUTTONDOWN:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_LBUTTONDBLCLK\n");
-#endif
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- SetCapture (hwnd);
- return winMouseButtonsHandle (pScreen, ButtonPress, Button1, wParam);
-
- case WM_LBUTTONUP:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_LBUTTONUP\n");
-#endif
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- ReleaseCapture ();
- return winMouseButtonsHandle (pScreen, ButtonRelease, Button1, wParam);
-
- case WM_MBUTTONDBLCLK:
- case WM_MBUTTONDOWN:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_MBUTTONDBLCLK\n");
-#endif
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- SetCapture (hwnd);
- return winMouseButtonsHandle (pScreen, ButtonPress, Button2, wParam);
-
- case WM_MBUTTONUP:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_MBUTTONUP\n");
-#endif
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- ReleaseCapture ();
- return winMouseButtonsHandle (pScreen, ButtonRelease, Button2, wParam);
-
- case WM_RBUTTONDBLCLK:
- case WM_RBUTTONDOWN:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_RBUTTONDBLCLK\n");
-#endif
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- SetCapture (hwnd);
- return winMouseButtonsHandle (pScreen, ButtonPress, Button3, wParam);
-
- case WM_RBUTTONUP:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_RBUTTONUP\n");
-#endif
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- ReleaseCapture ();
- return winMouseButtonsHandle (pScreen, ButtonRelease, Button3, wParam);
-
- case WM_XBUTTONDBLCLK:
- case WM_XBUTTONDOWN:
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- SetCapture (hwnd);
- return winMouseButtonsHandle (pScreen, ButtonPress, HIWORD(wParam) + 5, wParam);
- case WM_XBUTTONUP:
- if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput)
- break;
- ReleaseCapture ();
- return winMouseButtonsHandle (pScreen, ButtonRelease, HIWORD(wParam) + 5, wParam);
-
- case WM_MOUSEWHEEL:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_MOUSEWHEEL\n");
-#endif
-
- /* Pass the message to the root window */
- SendMessage (hwndScreen, message, wParam, lParam);
- return 0;
-
- case WM_MOUSEACTIVATE:
- winDebug ("winMWExtWMWindowProc - WM_MOUSEACTIVATE\n");
-
-#ifdef XWIN_MULTIWINDOWINTWM
- /* Check if this window needs to be made active when clicked */
- if (winIsInternalWMRunning(pScreenInfo) && pWin->overrideRedirect)
- {
- winDebug ("winMWExtWMWindowProc - WM_MOUSEACTIVATE - "
- "MA_NOACTIVATE\n");
-
- /* */
- return MA_NOACTIVATE;
- }
-#endif
- if (
-#ifdef XWIN_MULTIWINDOWINTWM
- !winIsInternalWMRunning(pScreenInfo) &&
-#endif
- !IsMouseActive (pWin))
- return MA_NOACTIVATE;
-
- break;
-
- case WM_KILLFOCUS:
- /* Pop any pressed keys since we are losing keyboard focus */
- winKeybdReleaseKeys ();
- return 0;
-
- case WM_SYSDEADCHAR:
- case WM_DEADCHAR:
- /*
- * NOTE: We do nothing with WM_*CHAR messages,
- * nor does the root window, so we can just toss these messages.
- */
- return 0;
-
- case WM_SYSKEYDOWN:
- case WM_KEYDOWN:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_*KEYDOWN\n");
-#endif
-
- /*
- * Don't pass Alt-F4 key combo to root window,
- * let Windows translate to WM_CLOSE and close this top-level window.
- *
- * NOTE: We purposely don't check the fUseWinKillKey setting because
- * it should only apply to the key handling for the root window,
- * not for top-level window-manager windows.
- *
- * ALSO NOTE: We do pass Ctrl-Alt-Backspace to the root window
- * because that is a key combo that no X app should be expecting to
- * receive, since it has historically been used to shutdown the X server.
- * Passing Ctrl-Alt-Backspace to the root window preserves that
- * behavior, assuming that -unixkill has been passed as a parameter.
- */
- if (wParam == VK_F4 && (GetKeyState (VK_MENU) & 0x8000))
- break;
-
- /* Pass the message to the root window */
- SendMessage (hwndScreen, message, wParam, lParam);
- return 0;
-
- case WM_SYSKEYUP:
- case WM_KEYUP:
-
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_*KEYUP\n");
-#endif
-
- /* Pass the message to the root window */
- SendMessage (hwndScreen, message, wParam, lParam);
- return 0;
-
- case WM_HOTKEY:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_HOTKEY\n");
-#endif
-
- /* Pass the message to the root window */
- SendMessage (hwndScreen, message, wParam, lParam);
- return 0;
-
- case WM_ERASEBKGND:
- winDebug ("winMWExtWMWindowProc - WM_ERASEBKGND\n");
- /*
- * Pretend that we did erase the background but we don't care,
- * since we repaint the entire region anyhow
- * This avoids some flickering when resizing.
- */
- return TRUE;
-
- case WM_PAINT:
-
- /* BeginPaint gives us an hdc that clips to the invalidated region */
- hdcUpdate = BeginPaint (hwnd, &ps);
-
- /* Try to copy from the shadow buffer */
- if (!BitBlt (hdcUpdate,
- ps.rcPaint.left, ps.rcPaint.top,
- ps.rcPaint.right - ps.rcPaint.left,
- ps.rcPaint.bottom - ps.rcPaint.top,
- pRLWinPriv->hdcShadow,
- ps.rcPaint.left, ps.rcPaint.top,
- SRCCOPY))
- {
- LPVOID lpMsgBuf;
-
- /* Display a fancy error message */
- FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- GetLastError (),
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (LPTSTR) &lpMsgBuf,
- 0, NULL);
-
- ErrorF ("winMWExtWMWindowProc - BitBlt failed: %s\n",
- (LPSTR)lpMsgBuf);
- LocalFree (lpMsgBuf);
- }
-
- /* EndPaint frees the DC */
- EndPaint (hwnd, &ps);
- break;
-
- case WM_ACTIVATE:
- winDebug ("winMWExtWMWindowProc - WM_ACTIVATE\n");
- if (LOWORD(wParam) != WA_INACTIVE)
- {
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- {
-#if 0
- /* Raise the window to the top in Z order */
- wmMsg.msg = WM_WM_RAISE;
- if (fWMMsgInitialized)
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
-#endif
- /* Tell our Window Manager thread to activate the window */
- wmMsg.msg = WM_WM_ACTIVATE;
- if (fWMMsgInitialized)
- if (!pWin || !pWin->overrideRedirect) /* for OOo menus */
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
- }
-#endif
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMActivateWindow,
- pWin->drawable.id,
- 0, 0,
- 0, 0);
- }
- return 0;
-
-#if 1
- case WM_WINDOWPOSCHANGING:
- pWinPos = (LPWINDOWPOS)lParam;
- if (!(pWinPos->flags & SWP_NOZORDER))
- {
- if (pRLWinPriv->fRestackingNow || pScreenPriv->fRestacking)
- {
- winDebug ("Win %08x is now restacking.\n", (unsigned int)pRLWinPriv);
- break;
- }
-
- if (
-#ifdef XWIN_MULTIWINDOWINTWM
- winIsInternalWMRunning(pScreenInfo) ||
-#endif
- IsRaiseOnClick (pWin))
- {
- winDebug ("Win %08x has WINDOWSWM_RAISE_ON_CLICK.\n", (unsigned int)pRLWinPriv);
- break;
- }
-
- winDebug ("Win %08x forbid to change z order (%08x).\n",
- (unsigned int)pRLWinPriv, (unsigned int)pWinPos->hwndInsertAfter);
-
- pWinPos->flags |= SWP_NOZORDER;
- }
- break;
-#endif
-
- case WM_MOVE:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_MOVE - %d ms\n",
- (unsigned int)GetTickCount ());
-#endif
- if (g_fNoConfigureWindow) break;
-#if 0
- /* Bail if Windows window is not actually moving */
- if (pRLWinPriv->dwX == (short) LOWORD(lParam)
- && pRLWinPriv->dwY == (short) HIWORD(lParam))
- break;
-
- /* Also bail if we're maximizing, we'll do the whole thing in WM_SIZE */
- {
- WINDOWPLACEMENT windPlace;
- windPlace.length = sizeof (WINDOWPLACEMENT);
-
- /* Get current window placement */
- GetWindowPlacement (hwnd, &windPlace);
-
- /* Bail if maximizing */
- if (windPlace.showCmd == SW_MAXIMIZE
- || windPlace.showCmd == SW_SHOWMAXIMIZED)
- break;
- }
-#endif
-
- winDebug ("\t(%d, %d)\n", (short) LOWORD(lParam), (short) HIWORD(lParam));
-
- if (!pRLWinPriv->fMovingOrSizing)
- {
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- winAdjustXWindow (pWin, hwnd);
-#endif
- winMWExtWMMoveXWindow (pWin,
- (LOWORD(lParam) - wBorderWidth (pWin)
- - GetSystemMetrics (SM_XVIRTUALSCREEN)),
- (HIWORD(lParam) - wBorderWidth (pWin)
- - GetSystemMetrics (SM_YVIRTUALSCREEN)));
- }
- return 0;
-
- case WM_SHOWWINDOW:
- winDebug ("winMWExtWMWindowProc - WM_SHOWWINDOW - %d ms\n",
- (unsigned int)GetTickCount ());
-
- /* Bail out if the window is being hidden */
- if (!wParam)
- return 0;
-
-#ifdef XWIN_MULTIWINDOWINTWM
- if (!pScreenInfo->fInternalWM)//XXXX
- return 0;
-
- winMWExtWMUpdateWindowDecoration (pRLWinPriv, pScreenInfo);
-
- if (winIsInternalWMRunning(pScreenInfo))
- {
- winDebug ("\tMapWindow\n");
-
- /* Tell X to map the window */
- MapWindow (pWin, wClient(pWin));
-
- if (!pRLWinPriv->pFrame->win->overrideRedirect)
- /* Bring the Windows window to the foreground */
- SetForegroundWindow (hwnd);
-
- /* Setup the Window Manager message */
- wmMsg.msg = WM_WM_MAP;
- wmMsg.iWidth = pRLWinPriv->pFrame->width;
- wmMsg.iHeight = pRLWinPriv->pFrame->height;
-
- /* Tell our Window Manager thread to map the window */
- if (fWMMsgInitialized)
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
- }
-#else
- return 0;
-#endif
- break;
-
- case WM_SIZING:
- /* Need to legalize the size according to WM_NORMAL_HINTS */
- /* for applications like xterm */
- return ValidateSizing (hwnd, pWin, wParam, lParam);
-
- case WM_WINDOWPOSCHANGED:
- {
- pWinPos = (LPWINDOWPOS) lParam;
-#ifdef _DEBUG
- winDebug("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED\n");
- winDebug("\tflags: %s%s%s%s%s%s%s%s%s%s%s%s\n",
- (pWinPos->flags & SWP_DRAWFRAME)?"SWP_DRAWFRAME ":"",
- (pWinPos->flags & SWP_FRAMECHANGED)?"SWP_FRAMECHANGED ":"",
- (pWinPos->flags & SWP_HIDEWINDOW)?"SWP_HIDEWINDOW ":"",
- (pWinPos->flags & SWP_NOACTIVATE)?"SWP_NOACTIVATE ":"",
- (pWinPos->flags & SWP_NOCOPYBITS)?"SWP_NOCOPYBITS ":"",
- (pWinPos->flags & SWP_NOMOVE)?"SWP_NOMOVE ":"",
- (pWinPos->flags & SWP_NOOWNERZORDER)?"SWP_NOOWNERZORDER ":"",
- (pWinPos->flags & SWP_NOSIZE)?"SWP_NOSIZE ":"",
- (pWinPos->flags & SWP_NOREDRAW)?"SWP_NOREDRAW ":"",
- (pWinPos->flags & SWP_NOSENDCHANGING)?"SWP_NOSENDCHANGING ":"",
- (pWinPos->flags & SWP_NOZORDER)?"SWP_NOZORDER ":"",
- (pWinPos->flags & SWP_SHOWWINDOW)?"SWP_SHOWWINDOW ":"");
- winDebug("\tno_configure: %s\n", (g_fNoConfigureWindow?"Yes":"No"));
- winDebug("\textend: (%d, %d, %d, %d)\n",
- pWinPos->x, pWinPos->y, pWinPos->cx, pWinPos->cy);
-
-#endif
- if (pWinPos->flags & SWP_HIDEWINDOW) break;
-
-#ifdef XWIN_MULTIWINDOWINTWM
- /* Reorder if window z order was changed */
- if ((pScreenPriv != NULL)
- && !(pWinPos->flags & SWP_NOZORDER)
- && !(pWinPos->flags & SWP_SHOWWINDOW)
- && winIsInternalWMRunning(pScreenInfo))
- {
- winDebug ("\twindow z order was changed\n");
-
- if (pWinPos->hwndInsertAfter == HWND_TOP
- ||pWinPos->hwndInsertAfter == HWND_TOPMOST
- ||pWinPos->hwndInsertAfter == HWND_NOTOPMOST)
- {
- winDebug ("\traise to top\n");
-
- /* Raise the window to the top in Z order */
- wmMsg.msg = WM_WM_RAISE;
- if (fWMMsgInitialized)
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
- }
-#if 1
- else if (pWinPos->hwndInsertAfter == HWND_BOTTOM)
- {
- }
- else
- {
- /* Check if this window is top of X windows. */
- HWND hWndAbove = NULL;
- DWORD dwCurrentProcessID = GetCurrentProcessId ();
- DWORD dwWindowProcessID = 0;
-
- for (hWndAbove = pWinPos->hwndInsertAfter;
- hWndAbove != NULL;
- hWndAbove = GetNextWindow (hWndAbove, GW_HWNDPREV))
- {
- /* Ignore other XWin process's window */
- GetWindowThreadProcessId (hWndAbove, &dwWindowProcessID);
-
- if ((dwWindowProcessID == dwCurrentProcessID)
- && GetProp (hWndAbove, WIN_WINDOW_PROP)
- && !IsWindowVisible (hWndAbove)
- && !IsIconic (hWndAbove) ) /* ignore minimized windows */
- break;
- }
- /* If this is top of X windows in Windows stack,
- raise it in X stack. */
- if (hWndAbove == NULL)
- {
- winDebug ("\traise to top\n");
-
- /* Raise the window to the top in Z order */
- wmMsg.msg = WM_WM_RAISE;
- if (fWMMsgInitialized)
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
- }
- }
-#endif
- }
-#endif
-
- if (!(pWinPos->flags & SWP_NOSIZE)) {
- if (IsIconic(hwnd)){
- winDebug ("\tIconic -> MINIMIZED\n");
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- {
- /* Raise the window to the top in Z order */
- wmMsg.msg = WM_WM_LOWER;
- if (fWMMsgInitialized)
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
- }
-#endif
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMMinimizeWindow,
- pWin->drawable.id,
- 0, 0, 0, 0);
- } else if (IsZoomed(hwnd)){
- winDebug ("\tZoomed -> MAXIMIZED\n");
-
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMMaximizeWindow,
- pWin->drawable.id,
- 0, 0, 0, 0);
- } else {
- winDebug ("\tnone -> RESTORED\n");
-
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMRestoreWindow,
- pWin->drawable.id,
- 0, 0, 0, 0);
- }
- }
- if (!g_fNoConfigureWindow ) {
-
- if (!pRLWinPriv->fMovingOrSizing
- /*&& (pWinPos->flags & SWP_SHOWWINDOW)*/) {
- GetClientRect (hwnd, &rcClient);
- MapWindowPoints (hwnd, HWND_DESKTOP, (LPPOINT)&rcClient, 2);
-
- if (!(pWinPos->flags & SWP_NOMOVE)
- &&!(pWinPos->flags & SWP_NOSIZE)) {
- winDebug ("\tmove & resize\n");
-
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- winAdjustXWindow (pWin, hwnd);
-#endif
- winMWExtWMMoveResizeXWindow (pWin,
- rcClient.left - wBorderWidth (pWin)
- - GetSystemMetrics (SM_XVIRTUALSCREEN),
- rcClient.top - wBorderWidth (pWin)
- - GetSystemMetrics (SM_YVIRTUALSCREEN),
- rcClient.right - rcClient.left
- - wBorderWidth (pWin)*2,
- rcClient.bottom - rcClient.top
- - wBorderWidth (pWin)*2);
- } else if (!(pWinPos->flags & SWP_NOMOVE)) {
- winDebug ("\tmove\n");
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- winAdjustXWindow (pWin, hwnd);
-#endif
- winMWExtWMMoveResizeXWindow (pWin,
- rcClient.left - wBorderWidth (pWin)
- - GetSystemMetrics (SM_XVIRTUALSCREEN),
- rcClient.top - wBorderWidth (pWin)
- - GetSystemMetrics (SM_YVIRTUALSCREEN),
- rcClient.right - rcClient.left
- - wBorderWidth (pWin)*2,
- rcClient.bottom - rcClient.top
- - wBorderWidth (pWin)*2);
- } else if (!(pWinPos->flags & SWP_NOMOVE)) {
- winDebug ("\tmove\n");
-
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- winAdjustXWindow (pWin, hwnd);
-#endif
- winMWExtWMMoveXWindow (pWin,
- rcClient.left - wBorderWidth (pWin)
- - GetSystemMetrics (SM_XVIRTUALSCREEN),
- rcClient.top - wBorderWidth (pWin)
- - GetSystemMetrics (SM_YVIRTUALSCREEN));
- } else if (!(pWinPos->flags & SWP_NOSIZE)) {
- winDebug ("\tresize\n");
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- winAdjustXWindow (pWin, hwnd);
-#endif
- winMWExtWMResizeXWindow (pWin,
- rcClient.right - rcClient.left
- - wBorderWidth (pWin)*2,
- rcClient.bottom - rcClient.top
- - wBorderWidth (pWin)*2);
- }
- }
- }
- }
- winDebug ("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED - done.\n");
-
- return 0;
-
- case WM_SIZE:
- /* see dix/window.c */
- /* FIXME: Maximize/Restore? */
- winDebug ("winMWExtWMWindowProc - WM_SIZE - %d ms\n",
- (unsigned int)GetTickCount ());
-
- winDebug ("\t(%d, %d) %d\n", (short) LOWORD(lParam), (short) HIWORD(lParam), g_fNoConfigureWindow);
-
- if (g_fNoConfigureWindow) break;
-
- /* Branch on type of resizing occurring */
- switch (wParam)
- {
- case SIZE_MINIMIZED:
- winDebug ("\tSIZE_MINIMIZED\n");
-
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- {
- /* Raise the window to the top in Z order */
- wmMsg.msg = WM_WM_LOWER;
- if (fWMMsgInitialized)
- winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg);
- }
-#endif
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMMinimizeWindow,
- pWin->drawable.id,
- 0, 0,
- LOWORD(lParam), HIWORD(lParam));
- break;
-
- case SIZE_RESTORED:
- winDebug ("\tSIZE_RESTORED\n");
-
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMRestoreWindow,
- pWin->drawable.id,
- 0, 0,
- LOWORD(lParam), HIWORD(lParam));
- break;
-
- case SIZE_MAXIMIZED:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("\tSIZE_MAXIMIZED\n");
-#endif
- winWindowsWMSendEvent(WindowsWMControllerNotify,
- WindowsWMControllerNotifyMask,
- 1,
- WindowsWMMaximizeWindow,
- pWin->drawable.id,
- 0, 0,
- LOWORD(lParam), HIWORD(lParam));
- break;
- }
-
- /* Perform the resize and notify the X client */
- if (!pRLWinPriv->fMovingOrSizing)
- {
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- winAdjustXWindow (pWin, hwnd);
-#endif
- winMWExtWMResizeXWindow (pWin,
- (short) LOWORD(lParam)
- - wBorderWidth (pWin)*2,
- (short) HIWORD(lParam)
- - wBorderWidth (pWin)*2);
- }
- break;
-
- case WM_ACTIVATEAPP:
-#if CYGMULTIWINDOW_DEBUG
- winDebug ("winMWExtWMWindowProc - WM_ACTIVATEAPP - %d ms\n",
- (unsigned int)GetTickCount ());
-#endif
- if (wParam)
- {
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- {
- }
- else
- {
- }
-#endif
- winWindowsWMSendEvent(WindowsWMActivationNotify,
- WindowsWMActivationNotifyMask,
- 1,
- WindowsWMIsActive,
- pWin->drawable.id,
- 0, 0,
- 0, 0);
- }
- else
- {
- winWindowsWMSendEvent(WindowsWMActivationNotify,
- WindowsWMActivationNotifyMask,
- 1,
- WindowsWMIsInactive,
- pWin->drawable.id,
- 0, 0,
- 0, 0);
- }
- break;
-
- case WM_SETCURSOR:
- if (LOWORD(lParam) == HTCLIENT)
- {
- if (!g_fSoftwareCursor) SetCursor (pScreenPriv->cursor.handle);
- return TRUE;
- }
- break;
-
- case WM_ENTERSIZEMOVE:
- winDebug ("winMWExtWMWindowProc - WM_ENTERSIZEMOVE - %d ms\n",
- (unsigned int)GetTickCount ());
-
- pRLWinPriv->fMovingOrSizing = TRUE;
- break;
-
- case WM_EXITSIZEMOVE:
- winDebug ("winMWExtWMWindowProc - WM_EXITSIZEMOVE - %d ms\n",
- (unsigned int)GetTickCount ());
-
- pRLWinPriv->fMovingOrSizing = FALSE;
-
- GetClientRect (hwnd, &rcClient);
-
- MapWindowPoints (hwnd, HWND_DESKTOP, (LPPOINT)&rcClient, 2);
-
-#ifdef XWIN_MULTIWINDOWINTWM
- if (winIsInternalWMRunning(pScreenInfo))
- winAdjustXWindow (pWin, hwnd);
-#endif
-
- winMWExtWMMoveResizeXWindow (pWin,
- rcClient.left - wBorderWidth (pWin)
- - GetSystemMetrics (SM_XVIRTUALSCREEN),
- rcClient.top - wBorderWidth (pWin)
- - GetSystemMetrics (SM_YVIRTUALSCREEN),
- rcClient.right - rcClient.left
- - wBorderWidth (pWin)*2,
- rcClient.bottom - rcClient.top
- - wBorderWidth (pWin)*2);
- break;
-
- case WM_MANAGE:
- winDebug ("winMWExtWMWindowProc - WM_MANAGE\n");
- break;
-
- case WM_UNMANAGE:
- winDebug ("winMWExtWMWindowProc - WM_UNMANAGE\n");
- break;
-
- default:
- break;
- }
-
- return DefWindowProc (hwnd, message, wParam, lParam);
-}
+/* + *Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved. + * + *Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + *"Software"), to deal in the Software without restriction, including + *without limitation the rights to use, copy, modify, merge, publish, + *distribute, sublicense, and/or sell copies of the Software, and to + *permit persons to whom the Software is furnished to do so, subject to + *the following conditions: + * + *The above copyright notice and this permission notice shall be + *included in all copies or substantial portions of the Software. + * + *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + *NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR + *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + *Except as contained in this notice, the name of the XFree86 Project + *shall not be used in advertising or otherwise to promote the sale, use + *or other dealings in this Software without prior written authorization + *from the XFree86 Project. + * + * Authors: Kensuke Matsuzaki + * Earle F. Philhower, III + * Harold L Hunt II + */ +#ifdef HAVE_XWIN_CONFIG_H +#include <xwin-config.h> +#endif +#include "win.h" +#include <winuser.h> +#define _WINDOWSWM_SERVER_ +#include <X11/extensions/windowswmstr.h> +#include "dixevents.h" +#include "propertyst.h" +#include <X11/Xatom.h> +#include "winmultiwindowclass.h" +#include "winmsg.h" +#include "inputstr.h" + + +/* + * Constant defines + */ + +#define MOUSE_ACTIVATE_DEFAULT TRUE +#define RAISE_ON_CLICK_DEFAULT FALSE + + +/* + * Local globals + */ + +static UINT_PTR g_uipMousePollingTimerID = 0; + + +/* + * Local function + */ + +DEFINE_ATOM_HELPER(AtmWindowsWmRaiseOnClick, WINDOWSWM_RAISE_ON_CLICK) +DEFINE_ATOM_HELPER(AtmWindowsWMMouseActivate, WINDOWSWM_MOUSE_ACTIVATE) +/* DEFINE_ATOM_HELPER(AtmWindowsWMClientWindow, WINDOWSWM_CLIENT_WINDOW) */ + +/* + * ConstrainSize - Taken from TWM sources - Respects hints for sizing + */ +#define makemult(a,b) ((b==1) ? (a) : (((int)((a)/(b))) * (b)) ) +static void +ConstrainSize (WinXSizeHints hints, int *widthp, int *heightp) +{ + int minWidth, minHeight, maxWidth, maxHeight, xinc, yinc, delta; + int baseWidth, baseHeight; + int dwidth = *widthp, dheight = *heightp; + + if (hints.flags & PMinSize) + { + minWidth = hints.min_width; + minHeight = hints.min_height; + } + else if (hints.flags & PBaseSize) + { + minWidth = hints.base_width; + minHeight = hints.base_height; + } + else + minWidth = minHeight = 1; + + if (hints.flags & PBaseSize) + { + baseWidth = hints.base_width; + baseHeight = hints.base_height; + } + else if (hints.flags & PMinSize) + { + baseWidth = hints.min_width; + baseHeight = hints.min_height; + } + else + baseWidth = baseHeight = 0; + + if (hints.flags & PMaxSize) + { + maxWidth = hints.max_width; + maxHeight = hints.max_height; + } + else + { + maxWidth = MAXINT; + maxHeight = MAXINT; + } + + if (hints.flags & PResizeInc) + { + xinc = hints.width_inc; + yinc = hints.height_inc; + } + else + xinc = yinc = 1; + + /* + * First, clamp to min and max values + */ + if (dwidth < minWidth) + dwidth = minWidth; + if (dheight < minHeight) + dheight = minHeight; + + if (dwidth > maxWidth) + dwidth = maxWidth; + if (dheight > maxHeight) + dheight = maxHeight; + + /* + * Second, fit to base + N * inc + */ + dwidth = ((dwidth - baseWidth) / xinc * xinc) + baseWidth; + dheight = ((dheight - baseHeight) / yinc * yinc) + baseHeight; + + /* + * Third, adjust for aspect ratio + */ + + /* + * The math looks like this: + * + * minAspectX dwidth maxAspectX + * ---------- <= ------- <= ---------- + * minAspectY dheight maxAspectY + * + * If that is multiplied out, then the width and height are + * invalid in the following situations: + * + * minAspectX * dheight > minAspectY * dwidth + * maxAspectX * dheight < maxAspectY * dwidth + * + */ + + if (hints.flags & PAspect) + { + if (hints.min_aspect.x * dheight > hints.min_aspect.y * dwidth) + { + delta = makemult(hints.min_aspect.x * dheight / hints.min_aspect.y - dwidth, xinc); + if (dwidth + delta <= maxWidth) + dwidth += delta; + else + { + delta = makemult(dheight - dwidth*hints.min_aspect.y/hints.min_aspect.x, yinc); + if (dheight - delta >= minHeight) + dheight -= delta; + } + } + + if (hints.max_aspect.x * dheight < hints.max_aspect.y * dwidth) + { + delta = makemult(dwidth * hints.max_aspect.y / hints.max_aspect.x - dheight, yinc); + if (dheight + delta <= maxHeight) + dheight += delta; + else + { + delta = makemult(dwidth - hints.max_aspect.x*dheight/hints.max_aspect.y, xinc); + if (dwidth - delta >= minWidth) + dwidth -= delta; + } + } + } + + /* Return computed values */ + *widthp = dwidth; + *heightp = dheight; +} +#undef makemult + + + +/* + * ValidateSizing - Ensures size request respects hints + */ +static int +ValidateSizing (HWND hwnd, WindowPtr pWin, + WPARAM wParam, LPARAM lParam) +{ + WinXSizeHints sizeHints; + RECT *rect; + int iWidth, iHeight, iTopBorder; + POINT pt; + + /* Invalid input checking */ + if (pWin==NULL || lParam==0) + { + ErrorF ("Invalid input checking\n"); + return FALSE; + } + + /* No size hints, no checking */ + if (!winMultiWindowGetWMNormalHints (pWin, &sizeHints)) + { + ErrorF ("No size hints, no checking\n"); + return FALSE; + } + + /* Avoid divide-by-zero */ + if (sizeHints.flags & PResizeInc) + { + if (sizeHints.width_inc == 0) sizeHints.width_inc = 1; + if (sizeHints.height_inc == 0) sizeHints.height_inc = 1; + } + + rect = (RECT*)lParam; + + iWidth = rect->right - rect->left; + iHeight = rect->bottom - rect->top; + + /* Get title bar height, there must be an easier way?! */ + pt.x = pt.y = 0; + ClientToScreen(hwnd, &pt); + iTopBorder = pt.y - rect->top; + + /* Now remove size of any borders */ + iWidth -= 2 * GetSystemMetrics(SM_CXSIZEFRAME); + iHeight -= GetSystemMetrics(SM_CYSIZEFRAME) + iTopBorder; + + /* Constrain the size to legal values */ + ConstrainSize (sizeHints, &iWidth, &iHeight); + + /* Add back the borders */ + iWidth += 2 * GetSystemMetrics(SM_CXSIZEFRAME); + iHeight += GetSystemMetrics(SM_CYSIZEFRAME) + iTopBorder; + + /* Adjust size according to where we're dragging from */ + switch(wParam) { + case WMSZ_TOP: + case WMSZ_TOPRIGHT: + case WMSZ_BOTTOM: + case WMSZ_BOTTOMRIGHT: + case WMSZ_RIGHT: + rect->right = rect->left + iWidth; + break; + default: + rect->left = rect->right - iWidth; + break; + } + switch(wParam) { + case WMSZ_BOTTOM: + case WMSZ_BOTTOMRIGHT: + case WMSZ_BOTTOMLEFT: + case WMSZ_RIGHT: + case WMSZ_LEFT: + rect->bottom = rect->top + iHeight; + break; + default: + rect->top = rect->bottom - iHeight; + break; + } + return TRUE; +} + + +/* + * IsRaiseOnClick + */ + +static Bool +IsRaiseOnClick (WindowPtr pWin) +{ + + struct _Window *pwin; + struct _Property *prop; + /* XXX We're getting inputInfo.poniter here, but this might be really wrong. + * Which pointer's current window do we want? */ + WindowPtr pRoot = GetCurrentRootWindow (inputInfo.pointer); + + if (!pWin) + { + ErrorF ("IsRaiseOnClick - no prop use default value:%d\n", + RAISE_ON_CLICK_DEFAULT); + return RAISE_ON_CLICK_DEFAULT; + } + + pwin = (struct _Window*) pWin; + + if (pwin->optional) + prop = (struct _Property *) pwin->optional->userProps; + else + prop = NULL; + + while (prop) + { + if (prop->propertyName == AtmWindowsWmRaiseOnClick () + && prop->type == XA_INTEGER + && prop->format == 32) + { + return *(int*)prop->data; + } + else + prop = prop->next; + } + + if (pWin != pRoot) + { + return IsRaiseOnClick (pRoot); + } + else + { +#if CYGMULTIWINDOW_DEBUG + winDebug ("IsRaiseOnClick - no prop use default value:%d\n", + RAISE_ON_CLICK_DEFAULT); +#endif + return RAISE_ON_CLICK_DEFAULT; + } +} + + +/* + * IsMouseActive + */ + +static Bool +IsMouseActive (WindowPtr pWin) +{ + + struct _Window *pwin; + struct _Property *prop; + /* XXX We're getting inputInfo.poniter here, but this might be really wrong. + * Which pointer's current window do we want? */ + WindowPtr pRoot = GetCurrentRootWindow (inputInfo.pointer); + + if (!pWin) + { + ErrorF ("IsMouseActive - pWin was NULL use default value:%d\n", + MOUSE_ACTIVATE_DEFAULT); + return MOUSE_ACTIVATE_DEFAULT; + } + + pwin = (struct _Window*) pWin; + + if (pwin->optional) + prop = (struct _Property *) pwin->optional->userProps; + else + prop = NULL; + + while (prop) + { + if (prop->propertyName == AtmWindowsWMMouseActivate () + && prop->type == XA_INTEGER + && prop->format == 32) + { + return *(int*)prop->data; + } + else + prop = prop->next; + } + + if (pWin != pRoot) + { + return IsMouseActive (pRoot); + } + else + { +#if CYGMULTIWINDOW_DEBUG + winDebug ("IsMouseActive - no prop use default value:%d\n", + MOUSE_ACTIVATE_DEFAULT); +#endif + return MOUSE_ACTIVATE_DEFAULT; + } +} + + +/* + * winMWExtWMWindowProc - Window procedure + */ + +LRESULT CALLBACK +winMWExtWMWindowProc (HWND hwnd, UINT message, + WPARAM wParam, LPARAM lParam) +{ + WindowPtr pWin = NULL; + win32RootlessWindowPtr pRLWinPriv = NULL; + ScreenPtr pScreen = NULL; + winPrivScreenPtr pScreenPriv = NULL; + winScreenInfo *pScreenInfo = NULL; + HWND hwndScreen = NULL; + POINT ptMouse; + static Bool s_fTracking = FALSE; + HDC hdcUpdate; + PAINTSTRUCT ps; + LPWINDOWPOS pWinPos = NULL; + RECT rcClient; + winWMMessageRec wmMsg; + Bool fWMMsgInitialized = FALSE; + + /* Check if the Windows window property for our X window pointer is valid */ + if ((pRLWinPriv = (win32RootlessWindowPtr)GetProp (hwnd, WIN_WINDOW_PROP)) != NULL) + { + pWin = pRLWinPriv->pFrame->win; + pScreen = pWin->drawable.pScreen; + if (pScreen) pScreenPriv = winGetScreenPriv(pScreen); + if (pScreenPriv) pScreenInfo = pScreenPriv->pScreenInfo; + if (pScreenPriv) hwndScreen = pScreenPriv->hwndScreen; + + wmMsg.msg = 0; + wmMsg.hwndWindow = hwnd; + wmMsg.iWindow = (Window)pWin->drawable.id; + + wmMsg.iX = pRLWinPriv->pFrame->x; + wmMsg.iY = pRLWinPriv->pFrame->y; + wmMsg.iWidth = pRLWinPriv->pFrame->width; + wmMsg.iHeight = pRLWinPriv->pFrame->height; + + fWMMsgInitialized = TRUE; + winDebugWin32Message("winMWExtWMWindowProc", hwnd, message, wParam, lParam); + + winDebug ("\thWnd %08X\n", hwnd); + winDebug ("\tpScreenPriv %08X\n", pScreenPriv); + winDebug ("\tpScreenInfo %08X\n", pScreenInfo); + winDebug ("\thwndScreen %08X\n", hwndScreen); + winDebug ("winMWExtWMWindowProc (%08x) %08x %08x %08x\n", + pRLWinPriv, message, wParam, lParam); + } + /* Branch on message type */ + switch (message) + { + case WM_CREATE: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_CREATE\n"); +#endif + /* */ + SetProp (hwnd, + WIN_WINDOW_PROP, + (HANDLE)((LPCREATESTRUCT) lParam)->lpCreateParams); + return 0; + + case WM_CLOSE: + winDebug ("winMWExtWMWindowProc - WM_CLOSE %d\n", pRLWinPriv->fClose); + + /* Tell window-manager to close window */ + if (pRLWinPriv->fClose) + { + DestroyWindow (hwnd); + } + else + { +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + { + /* Tell our Window Manager thread to kill the window */ + wmMsg.msg = WM_WM_KILL; + if (fWMMsgInitialized) + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); + } +#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMCloseWindow, + pWin->drawable.id, + 0, 0, 0, 0); + } + return 0; + + case WM_DESTROY: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_DESTROY\n"); +#endif + /* Free the shaodw DC; which allows the bitmap to be freed */ + DeleteDC (pRLWinPriv->hdcShadow); + pRLWinPriv->hdcShadow = NULL; + + /* Free the shadow bitmap */ + DeleteObject (pRLWinPriv->hbmpShadow); + pRLWinPriv->hbmpShadow = NULL; + + /* Free the screen DC */ + ReleaseDC (pRLWinPriv->hWnd, pRLWinPriv->hdcScreen); + pRLWinPriv->hdcScreen = NULL; + + /* Free shadow buffer info header */ + free (pRLWinPriv->pbmihShadow); + pRLWinPriv->pbmihShadow = NULL; + + pRLWinPriv->fResized = FALSE; + pRLWinPriv->pfb = NULL; + free (pRLWinPriv); + RemoveProp (hwnd, WIN_WINDOW_PROP); + break; + + case WM_MOUSEMOVE: +#if CYGMULTIWINDOW_DEBUG && 0 + winDebug ("winMWExtWMWindowProc - WM_MOUSEMOVE\n"); +#endif + /* Unpack the client area mouse coordinates */ + ptMouse.x = GET_X_LPARAM(lParam); + ptMouse.y = GET_Y_LPARAM(lParam); + + /* Translate the client area mouse coordinates to screen coordinates */ + ClientToScreen (hwnd, &ptMouse); + + /* Screen Coords from (-X, -Y) -> Root Window (0, 0) */ + ptMouse.x -= GetSystemMetrics (SM_XVIRTUALSCREEN); + ptMouse.y -= GetSystemMetrics (SM_YVIRTUALSCREEN); + + /* We can't do anything without privates */ + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + + /* Has the mouse pointer crossed screens? */ + if (pScreen != miPointerGetScreen(inputInfo.pointer)) + miPointerSetScreen (inputInfo.pointer, pScreenInfo->dwScreen, + ptMouse.x - pScreenInfo->dwXOffset, + ptMouse.y - pScreenInfo->dwYOffset); + + /* Are we tracking yet? */ + if (!s_fTracking) + { + TRACKMOUSEEVENT tme; + + /* Setup data structure */ + ZeroMemory (&tme, sizeof (tme)); + tme.cbSize = sizeof (tme); + tme.dwFlags = TME_LEAVE; + tme.hwndTrack = hwnd; + + /* Call the tracking function */ + if (!TrackMouseEvent(&tme)) + ErrorF ("winMWExtWMWindowProc - TrackMouseEvent failed\n"); + + /* Flag that we are tracking now */ + s_fTracking = TRUE; + } + + /* Kill the timer used to poll mouse events */ + if (g_uipMousePollingTimerID != 0) + { + KillTimer (pScreenPriv->hwndScreen, WIN_POLLING_MOUSE_TIMER_ID); + g_uipMousePollingTimerID = 0; + } + + /* Deliver absolute cursor position to X Server */ + winEnqueueMotion(ptMouse.x - pScreenInfo->dwXOffset, + ptMouse.y - pScreenInfo->dwYOffset); + + return 0; + + case WM_NCMOUSEMOVE: +#if CYGMULTIWINDOW_DEBUG && 0 + winDebug ("winMWExtWMWindowProc - WM_NCMOUSEMOVE\n"); +#endif + /* + * We break instead of returning 0 since we need to call + * DefWindowProc to get the mouse cursor changes + * and min/max/close button highlighting in Windows XP. + * The Platform SDK says that you should return 0 if you + * process this message, but it fails to mention that you + * will give up any default functionality if you do return 0. + */ + + /* We can't do anything without privates */ + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + + /* + * Timer to poll mouse events. This is needed to make + * programs like xeyes follow the mouse properly. + */ + if (g_uipMousePollingTimerID == 0) + g_uipMousePollingTimerID = SetTimer (pScreenPriv->hwndScreen, + WIN_POLLING_MOUSE_TIMER_ID, + MOUSE_POLLING_INTERVAL, + NULL); + break; + + case WM_MOUSELEAVE: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_MOUSELEAVE\n"); +#endif + /* Mouse has left our client area */ + + /* Flag that we are no longer tracking */ + s_fTracking = FALSE; + + /* + * Timer to poll mouse events. This is needed to make + * programs like xeyes follow the mouse properly. + */ + if (g_uipMousePollingTimerID == 0) + g_uipMousePollingTimerID = SetTimer (pScreenPriv->hwndScreen, + WIN_POLLING_MOUSE_TIMER_ID, + MOUSE_POLLING_INTERVAL, + NULL); + return 0; + + case WM_LBUTTONDBLCLK: + case WM_LBUTTONDOWN: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_LBUTTONDBLCLK\n"); +#endif + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + SetCapture (hwnd); + return winMouseButtonsHandle (pScreen, ButtonPress, Button1, wParam); + + case WM_LBUTTONUP: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_LBUTTONUP\n"); +#endif + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + ReleaseCapture (); + return winMouseButtonsHandle (pScreen, ButtonRelease, Button1, wParam); + + case WM_MBUTTONDBLCLK: + case WM_MBUTTONDOWN: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_MBUTTONDBLCLK\n"); +#endif + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + SetCapture (hwnd); + return winMouseButtonsHandle (pScreen, ButtonPress, Button2, wParam); + + case WM_MBUTTONUP: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_MBUTTONUP\n"); +#endif + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + ReleaseCapture (); + return winMouseButtonsHandle (pScreen, ButtonRelease, Button2, wParam); + + case WM_RBUTTONDBLCLK: + case WM_RBUTTONDOWN: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_RBUTTONDBLCLK\n"); +#endif + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + SetCapture (hwnd); + return winMouseButtonsHandle (pScreen, ButtonPress, Button3, wParam); + + case WM_RBUTTONUP: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_RBUTTONUP\n"); +#endif + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + ReleaseCapture (); + return winMouseButtonsHandle (pScreen, ButtonRelease, Button3, wParam); + + case WM_XBUTTONDBLCLK: + case WM_XBUTTONDOWN: + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + SetCapture (hwnd); + return winMouseButtonsHandle (pScreen, ButtonPress, HIWORD(wParam) + 5, wParam); + case WM_XBUTTONUP: + if (pScreenPriv == NULL || pScreenInfo->fIgnoreInput) + break; + ReleaseCapture (); + return winMouseButtonsHandle (pScreen, ButtonRelease, HIWORD(wParam) + 5, wParam); + + case WM_MOUSEWHEEL: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_MOUSEWHEEL\n"); +#endif + + /* Pass the message to the root window */ + SendMessage (hwndScreen, message, wParam, lParam); + return 0; + + case WM_MOUSEACTIVATE: + winDebug ("winMWExtWMWindowProc - WM_MOUSEACTIVATE\n"); + +#ifdef XWIN_MULTIWINDOWINTWM + /* Check if this window needs to be made active when clicked */ + if (winIsInternalWMRunning(pScreenInfo) && pWin->overrideRedirect) + { + winDebug ("winMWExtWMWindowProc - WM_MOUSEACTIVATE - " + "MA_NOACTIVATE\n"); + + /* */ + return MA_NOACTIVATE; + } +#endif + if ( +#ifdef XWIN_MULTIWINDOWINTWM + !winIsInternalWMRunning(pScreenInfo) && +#endif + !IsMouseActive (pWin)) + return MA_NOACTIVATE; + + break; + + case WM_KILLFOCUS: + /* Pop any pressed keys since we are losing keyboard focus */ + winKeybdReleaseKeys (); + return 0; + + case WM_SYSDEADCHAR: + case WM_DEADCHAR: + /* + * NOTE: We do nothing with WM_*CHAR messages, + * nor does the root window, so we can just toss these messages. + */ + return 0; + + case WM_SYSKEYDOWN: + case WM_KEYDOWN: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_*KEYDOWN\n"); +#endif + + /* + * Don't pass Alt-F4 key combo to root window, + * let Windows translate to WM_CLOSE and close this top-level window. + * + * NOTE: We purposely don't check the fUseWinKillKey setting because + * it should only apply to the key handling for the root window, + * not for top-level window-manager windows. + * + * ALSO NOTE: We do pass Ctrl-Alt-Backspace to the root window + * because that is a key combo that no X app should be expecting to + * receive, since it has historically been used to shutdown the X server. + * Passing Ctrl-Alt-Backspace to the root window preserves that + * behavior, assuming that -unixkill has been passed as a parameter. + */ + if (wParam == VK_F4 && (GetKeyState (VK_MENU) & 0x8000)) + break; + + /* Pass the message to the root window */ + SendMessage (hwndScreen, message, wParam, lParam); + return 0; + + case WM_SYSKEYUP: + case WM_KEYUP: + +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_*KEYUP\n"); +#endif + + /* Pass the message to the root window */ + SendMessage (hwndScreen, message, wParam, lParam); + return 0; + + case WM_HOTKEY: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_HOTKEY\n"); +#endif + + /* Pass the message to the root window */ + SendMessage (hwndScreen, message, wParam, lParam); + return 0; + + case WM_ERASEBKGND: + winDebug ("winMWExtWMWindowProc - WM_ERASEBKGND\n"); + /* + * Pretend that we did erase the background but we don't care, + * since we repaint the entire region anyhow + * This avoids some flickering when resizing. + */ + return TRUE; + + case WM_PAINT: + + /* BeginPaint gives us an hdc that clips to the invalidated region */ + hdcUpdate = BeginPaint (hwnd, &ps); + + /* Try to copy from the shadow buffer */ + if (!BitBlt (hdcUpdate, + ps.rcPaint.left, ps.rcPaint.top, + ps.rcPaint.right - ps.rcPaint.left, + ps.rcPaint.bottom - ps.rcPaint.top, + pRLWinPriv->hdcShadow, + ps.rcPaint.left, ps.rcPaint.top, + SRCCOPY)) + { + LPVOID lpMsgBuf; + + /* Display a fancy error message */ + FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + GetLastError (), + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &lpMsgBuf, + 0, NULL); + + ErrorF ("winMWExtWMWindowProc - BitBlt failed: %s\n", + (LPSTR)lpMsgBuf); + LocalFree (lpMsgBuf); + } + + /* EndPaint frees the DC */ + EndPaint (hwnd, &ps); + break; + + case WM_ACTIVATE: + winDebug ("winMWExtWMWindowProc - WM_ACTIVATE\n"); + if (LOWORD(wParam) != WA_INACTIVE) + { +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + { +#if 0 + /* Raise the window to the top in Z order */ + wmMsg.msg = WM_WM_RAISE; + if (fWMMsgInitialized) + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); +#endif + /* Tell our Window Manager thread to activate the window */ + wmMsg.msg = WM_WM_ACTIVATE; + if (fWMMsgInitialized) + if (!pWin || !pWin->overrideRedirect) /* for OOo menus */ + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); + } +#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMActivateWindow, + pWin->drawable.id, + 0, 0, + 0, 0); + } + return 0; + +#if 1 + case WM_WINDOWPOSCHANGING: + pWinPos = (LPWINDOWPOS)lParam; + if (!(pWinPos->flags & SWP_NOZORDER)) + { + if (pRLWinPriv->fRestackingNow || pScreenPriv->fRestacking) + { + winDebug ("Win %08x is now restacking.\n", (unsigned int)pRLWinPriv); + break; + } + + if ( +#ifdef XWIN_MULTIWINDOWINTWM + winIsInternalWMRunning(pScreenInfo) || +#endif + IsRaiseOnClick (pWin)) + { + winDebug ("Win %08x has WINDOWSWM_RAISE_ON_CLICK.\n", (unsigned int)pRLWinPriv); + break; + } + + winDebug ("Win %08x forbid to change z order (%08x).\n", + (unsigned int)pRLWinPriv, (unsigned int)pWinPos->hwndInsertAfter); + + pWinPos->flags |= SWP_NOZORDER; + } + break; +#endif + + case WM_MOVE: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_MOVE - %d ms\n", + (unsigned int)GetTickCount ()); +#endif + if (g_fNoConfigureWindow) break; +#if 0 + /* Bail if Windows window is not actually moving */ + if (pRLWinPriv->dwX == (short) LOWORD(lParam) + && pRLWinPriv->dwY == (short) HIWORD(lParam)) + break; + + /* Also bail if we're maximizing, we'll do the whole thing in WM_SIZE */ + { + WINDOWPLACEMENT windPlace; + windPlace.length = sizeof (WINDOWPLACEMENT); + + /* Get current window placement */ + GetWindowPlacement (hwnd, &windPlace); + + /* Bail if maximizing */ + if (windPlace.showCmd == SW_MAXIMIZE + || windPlace.showCmd == SW_SHOWMAXIMIZED) + break; + } +#endif + + winDebug ("\t(%d, %d)\n", (short) LOWORD(lParam), (short) HIWORD(lParam)); + + if (!pRLWinPriv->fMovingOrSizing) + { +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + winAdjustXWindow (pWin, hwnd); +#endif + winMWExtWMMoveXWindow (pWin, + (LOWORD(lParam) - wBorderWidth (pWin) + - GetSystemMetrics (SM_XVIRTUALSCREEN)), + (HIWORD(lParam) - wBorderWidth (pWin) + - GetSystemMetrics (SM_YVIRTUALSCREEN))); + } + return 0; + + case WM_SHOWWINDOW: + winDebug ("winMWExtWMWindowProc - WM_SHOWWINDOW - %d ms\n", + (unsigned int)GetTickCount ()); + + /* Bail out if the window is being hidden */ + if (!wParam) + return 0; + +#ifdef XWIN_MULTIWINDOWINTWM + if (!pScreenInfo->fInternalWM)//XXXX + return 0; + + winMWExtWMUpdateWindowDecoration (pRLWinPriv, pScreenInfo); + + if (winIsInternalWMRunning(pScreenInfo)) + { + winDebug ("\tMapWindow\n"); + + /* Tell X to map the window */ + MapWindow (pWin, wClient(pWin)); + + if (!pRLWinPriv->pFrame->win->overrideRedirect) + /* Bring the Windows window to the foreground */ + SetForegroundWindow (hwnd); + + /* Setup the Window Manager message */ + wmMsg.msg = WM_WM_MAP; + wmMsg.iWidth = pRLWinPriv->pFrame->width; + wmMsg.iHeight = pRLWinPriv->pFrame->height; + + /* Tell our Window Manager thread to map the window */ + if (fWMMsgInitialized) + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); + } +#else + return 0; +#endif + break; + + case WM_SIZING: + /* Need to legalize the size according to WM_NORMAL_HINTS */ + /* for applications like xterm */ + return ValidateSizing (hwnd, pWin, wParam, lParam); + + case WM_WINDOWPOSCHANGED: + { + pWinPos = (LPWINDOWPOS) lParam; +#ifdef _DEBUG + winDebug("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED\n"); + winDebug("\tflags: %s%s%s%s%s%s%s%s%s%s%s%s\n", + (pWinPos->flags & SWP_DRAWFRAME)?"SWP_DRAWFRAME ":"", + (pWinPos->flags & SWP_FRAMECHANGED)?"SWP_FRAMECHANGED ":"", + (pWinPos->flags & SWP_HIDEWINDOW)?"SWP_HIDEWINDOW ":"", + (pWinPos->flags & SWP_NOACTIVATE)?"SWP_NOACTIVATE ":"", + (pWinPos->flags & SWP_NOCOPYBITS)?"SWP_NOCOPYBITS ":"", + (pWinPos->flags & SWP_NOMOVE)?"SWP_NOMOVE ":"", + (pWinPos->flags & SWP_NOOWNERZORDER)?"SWP_NOOWNERZORDER ":"", + (pWinPos->flags & SWP_NOSIZE)?"SWP_NOSIZE ":"", + (pWinPos->flags & SWP_NOREDRAW)?"SWP_NOREDRAW ":"", + (pWinPos->flags & SWP_NOSENDCHANGING)?"SWP_NOSENDCHANGING ":"", + (pWinPos->flags & SWP_NOZORDER)?"SWP_NOZORDER ":"", + (pWinPos->flags & SWP_SHOWWINDOW)?"SWP_SHOWWINDOW ":""); + winDebug("\tno_configure: %s\n", (g_fNoConfigureWindow?"Yes":"No")); + winDebug("\textend: (%d, %d, %d, %d)\n", + pWinPos->x, pWinPos->y, pWinPos->cx, pWinPos->cy); + +#endif + if (pWinPos->flags & SWP_HIDEWINDOW) break; + +#ifdef XWIN_MULTIWINDOWINTWM + /* Reorder if window z order was changed */ + if ((pScreenPriv != NULL) + && !(pWinPos->flags & SWP_NOZORDER) + && !(pWinPos->flags & SWP_SHOWWINDOW) + && winIsInternalWMRunning(pScreenInfo)) + { + winDebug ("\twindow z order was changed\n"); + + if (pWinPos->hwndInsertAfter == HWND_TOP + ||pWinPos->hwndInsertAfter == HWND_TOPMOST + ||pWinPos->hwndInsertAfter == HWND_NOTOPMOST) + { + winDebug ("\traise to top\n"); + + /* Raise the window to the top in Z order */ + wmMsg.msg = WM_WM_RAISE; + if (fWMMsgInitialized) + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); + } +#if 1 + else if (pWinPos->hwndInsertAfter == HWND_BOTTOM) + { + } + else + { + /* Check if this window is top of X windows. */ + HWND hWndAbove = NULL; + DWORD dwCurrentProcessID = GetCurrentProcessId (); + DWORD dwWindowProcessID = 0; + + for (hWndAbove = pWinPos->hwndInsertAfter; + hWndAbove != NULL; + hWndAbove = GetNextWindow (hWndAbove, GW_HWNDPREV)) + { + /* Ignore other XWin process's window */ + GetWindowThreadProcessId (hWndAbove, &dwWindowProcessID); + + if ((dwWindowProcessID == dwCurrentProcessID) + && GetProp (hWndAbove, WIN_WINDOW_PROP) + && !IsWindowVisible (hWndAbove) + && !IsIconic (hWndAbove) ) /* ignore minimized windows */ + break; + } + /* If this is top of X windows in Windows stack, + raise it in X stack. */ + if (hWndAbove == NULL) + { + winDebug ("\traise to top\n"); + + /* Raise the window to the top in Z order */ + wmMsg.msg = WM_WM_RAISE; + if (fWMMsgInitialized) + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); + } + } +#endif + } +#endif + + if (!(pWinPos->flags & SWP_NOSIZE)) { + if (IsIconic(hwnd)){ + winDebug ("\tIconic -> MINIMIZED\n"); +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + { + /* Raise the window to the top in Z order */ + wmMsg.msg = WM_WM_LOWER; + if (fWMMsgInitialized) + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); + } +#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMMinimizeWindow, + pWin->drawable.id, + 0, 0, 0, 0); + } else if (IsZoomed(hwnd)){ + winDebug ("\tZoomed -> MAXIMIZED\n"); + + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMMaximizeWindow, + pWin->drawable.id, + 0, 0, 0, 0); + } else { + winDebug ("\tnone -> RESTORED\n"); + + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMRestoreWindow, + pWin->drawable.id, + 0, 0, 0, 0); + } + } + if (!g_fNoConfigureWindow ) { + + if (!pRLWinPriv->fMovingOrSizing + /*&& (pWinPos->flags & SWP_SHOWWINDOW)*/) { + GetClientRect (hwnd, &rcClient); + MapWindowPoints (hwnd, HWND_DESKTOP, (LPPOINT)&rcClient, 2); + + if (!(pWinPos->flags & SWP_NOMOVE) + &&!(pWinPos->flags & SWP_NOSIZE)) { + winDebug ("\tmove & resize\n"); + +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + winAdjustXWindow (pWin, hwnd); +#endif + winMWExtWMMoveResizeXWindow (pWin, + rcClient.left - wBorderWidth (pWin) + - GetSystemMetrics (SM_XVIRTUALSCREEN), + rcClient.top - wBorderWidth (pWin) + - GetSystemMetrics (SM_YVIRTUALSCREEN), + rcClient.right - rcClient.left + - wBorderWidth (pWin)*2, + rcClient.bottom - rcClient.top + - wBorderWidth (pWin)*2); + } else if (!(pWinPos->flags & SWP_NOMOVE)) { + winDebug ("\tmove\n"); +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + winAdjustXWindow (pWin, hwnd); +#endif + winMWExtWMMoveResizeXWindow (pWin, + rcClient.left - wBorderWidth (pWin) + - GetSystemMetrics (SM_XVIRTUALSCREEN), + rcClient.top - wBorderWidth (pWin) + - GetSystemMetrics (SM_YVIRTUALSCREEN), + rcClient.right - rcClient.left + - wBorderWidth (pWin)*2, + rcClient.bottom - rcClient.top + - wBorderWidth (pWin)*2); + } else if (!(pWinPos->flags & SWP_NOMOVE)) { + winDebug ("\tmove\n"); + +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + winAdjustXWindow (pWin, hwnd); +#endif + winMWExtWMMoveXWindow (pWin, + rcClient.left - wBorderWidth (pWin) + - GetSystemMetrics (SM_XVIRTUALSCREEN), + rcClient.top - wBorderWidth (pWin) + - GetSystemMetrics (SM_YVIRTUALSCREEN)); + } else if (!(pWinPos->flags & SWP_NOSIZE)) { + winDebug ("\tresize\n"); +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + winAdjustXWindow (pWin, hwnd); +#endif + winMWExtWMResizeXWindow (pWin, + rcClient.right - rcClient.left + - wBorderWidth (pWin)*2, + rcClient.bottom - rcClient.top + - wBorderWidth (pWin)*2); + } + } + } + } + winDebug ("winMWExtWMWindowProc - WM_WINDOWPOSCHANGED - done.\n"); + + return 0; + + case WM_SIZE: + /* see dix/window.c */ + /* FIXME: Maximize/Restore? */ + winDebug ("winMWExtWMWindowProc - WM_SIZE - %d ms\n", + (unsigned int)GetTickCount ()); + + winDebug ("\t(%d, %d) %d\n", (short) LOWORD(lParam), (short) HIWORD(lParam), g_fNoConfigureWindow); + + if (g_fNoConfigureWindow) break; + + /* Branch on type of resizing occurring */ + switch (wParam) + { + case SIZE_MINIMIZED: + winDebug ("\tSIZE_MINIMIZED\n"); + +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + { + /* Raise the window to the top in Z order */ + wmMsg.msg = WM_WM_LOWER; + if (fWMMsgInitialized) + winSendMessageToWM (pScreenPriv->pWMInfo, &wmMsg); + } +#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMMinimizeWindow, + pWin->drawable.id, + 0, 0, + LOWORD(lParam), HIWORD(lParam)); + break; + + case SIZE_RESTORED: + winDebug ("\tSIZE_RESTORED\n"); + + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMRestoreWindow, + pWin->drawable.id, + 0, 0, + LOWORD(lParam), HIWORD(lParam)); + break; + + case SIZE_MAXIMIZED: +#if CYGMULTIWINDOW_DEBUG + winDebug ("\tSIZE_MAXIMIZED\n"); +#endif + winWindowsWMSendEvent(WindowsWMControllerNotify, + WindowsWMControllerNotifyMask, + 1, + WindowsWMMaximizeWindow, + pWin->drawable.id, + 0, 0, + LOWORD(lParam), HIWORD(lParam)); + break; + } + + /* Perform the resize and notify the X client */ + if (!pRLWinPriv->fMovingOrSizing) + { +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + winAdjustXWindow (pWin, hwnd); +#endif + winMWExtWMResizeXWindow (pWin, + (short) LOWORD(lParam) + - wBorderWidth (pWin)*2, + (short) HIWORD(lParam) + - wBorderWidth (pWin)*2); + } + break; + + case WM_ACTIVATEAPP: +#if CYGMULTIWINDOW_DEBUG + winDebug ("winMWExtWMWindowProc - WM_ACTIVATEAPP - %d ms\n", + (unsigned int)GetTickCount ()); +#endif + if (wParam) + { +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + { + } + else + { + } +#endif + winWindowsWMSendEvent(WindowsWMActivationNotify, + WindowsWMActivationNotifyMask, + 1, + WindowsWMIsActive, + pWin->drawable.id, + 0, 0, + 0, 0); + } + else + { + winWindowsWMSendEvent(WindowsWMActivationNotify, + WindowsWMActivationNotifyMask, + 1, + WindowsWMIsInactive, + pWin->drawable.id, + 0, 0, + 0, 0); + } + break; + + case WM_SETCURSOR: + if (LOWORD(lParam) == HTCLIENT) + { + if (!g_fSoftwareCursor) SetCursor (pScreenPriv->cursor.handle); + return TRUE; + } + break; + + case WM_ENTERSIZEMOVE: + winDebug ("winMWExtWMWindowProc - WM_ENTERSIZEMOVE - %d ms\n", + (unsigned int)GetTickCount ()); + + pRLWinPriv->fMovingOrSizing = TRUE; + break; + + case WM_EXITSIZEMOVE: + winDebug ("winMWExtWMWindowProc - WM_EXITSIZEMOVE - %d ms\n", + (unsigned int)GetTickCount ()); + + pRLWinPriv->fMovingOrSizing = FALSE; + + GetClientRect (hwnd, &rcClient); + + MapWindowPoints (hwnd, HWND_DESKTOP, (LPPOINT)&rcClient, 2); + +#ifdef XWIN_MULTIWINDOWINTWM + if (winIsInternalWMRunning(pScreenInfo)) + winAdjustXWindow (pWin, hwnd); +#endif + + winMWExtWMMoveResizeXWindow (pWin, + rcClient.left - wBorderWidth (pWin) + - GetSystemMetrics (SM_XVIRTUALSCREEN), + rcClient.top - wBorderWidth (pWin) + - GetSystemMetrics (SM_YVIRTUALSCREEN), + rcClient.right - rcClient.left + - wBorderWidth (pWin)*2, + rcClient.bottom - rcClient.top + - wBorderWidth (pWin)*2); + break; + + case WM_MANAGE: + winDebug ("winMWExtWMWindowProc - WM_MANAGE\n"); + break; + + case WM_UNMANAGE: + winDebug ("winMWExtWMWindowProc - WM_UNMANAGE\n"); + break; + + default: + break; + } + + return DefWindowProc (hwnd, message, wParam, lParam); +} diff --git a/xorg-server/hw/xwin/winwindowswm.c b/xorg-server/hw/xwin/winwindowswm.c index 07e928874..05879eb9d 100644 --- a/xorg-server/hw/xwin/winwindowswm.c +++ b/xorg-server/hw/xwin/winwindowswm.c @@ -604,9 +604,11 @@ winWindowsWMExtensionInit (void) NULL, StandardMinorOpcode))) { + size_t i; WMReqCode = (unsigned char)extEntry->base; WMErrorBase = extEntry->errorBase; WMEventBase = extEntry->eventBase; - EventSwapVector[WMEventBase] = (EventSwapPtr) SNotifyEvent; + for (i=0; i < WindowsWMNumberEvents; i++) + EventSwapVector[WMEventBase + i] = (EventSwapPtr) SNotifyEvent; } } diff --git a/xorg-server/hw/xwin/winwndproc.c b/xorg-server/hw/xwin/winwndproc.c index f83717637..1f91eedae 100644 --- a/xorg-server/hw/xwin/winwndproc.c +++ b/xorg-server/hw/xwin/winwndproc.c @@ -777,8 +777,8 @@ winWindowProc (HWND hwnd, UINT message, tme.hwndTrack = hwnd; /* Call the tracking function */ - if (!(*g_fpTrackMouseEvent) (&tme)) - ErrorF ("winWindowProc - _TrackMouseEvent failed\n"); + if (!TrackMouseEvent(&tme)) + ErrorF ("winWindowProc - TrackMouseEvent failed\n"); /* Flag that we are tracking now */ s_fTracking = TRUE; diff --git a/xorg-server/include/dix.h b/xorg-server/include/dix.h index b1bf9ed82..34661f3b6 100644 --- a/xorg-server/include/dix.h +++ b/xorg-server/include/dix.h @@ -571,8 +571,8 @@ typedef struct { extern int XItoCoreType(int xi_type); extern Bool DevHasCursor(DeviceIntPtr pDev); -extern Bool _X_EXPORT IsPointerDevice( DeviceIntPtr dev); -extern Bool _X_EXPORT IsKeyboardDevice(DeviceIntPtr dev); +extern _X_EXPORT Bool IsPointerDevice(DeviceIntPtr dev); +extern _X_EXPORT Bool IsKeyboardDevice(DeviceIntPtr dev); extern Bool IsPointerEvent(InternalEvent *event); extern _X_EXPORT Bool IsMaster(DeviceIntPtr dev); extern _X_EXPORT Bool IsFloating(DeviceIntPtr dev); diff --git a/xorg-server/include/input.h b/xorg-server/include/input.h index 4eee47ce4..5dd5c1bcf 100644 --- a/xorg-server/include/input.h +++ b/xorg-server/include/input.h @@ -614,5 +614,6 @@ extern _X_EXPORT void input_option_set_key(InputOption *opt, const char* key); extern _X_EXPORT void input_option_set_value(InputOption *opt, const char* value); extern _X_HIDDEN Bool point_on_screen(ScreenPtr pScreen, int x, int y); +extern _X_HIDDEN void update_desktop_dimensions(void); #endif /* INPUT_H */ diff --git a/xorg-server/include/inputstr.h b/xorg-server/include/inputstr.h index 7a1554075..0a2128732 100644 --- a/xorg-server/include/inputstr.h +++ b/xorg-server/include/inputstr.h @@ -534,8 +534,9 @@ typedef struct _DeviceIntRec { DeviceIntPtr lastSlave; /* last slave device used */ /* last valuator values recorded, not posted to client; - * for slave devices, valuators is in device coordinates - * for master devices, valuators is in screen coordinates + * for slave devices, valuators is in device coordinates, mapped to the + * desktop + * for master devices, valuators is in desktop coordinates. * see dix/getevents.c * remainder supports acceleration */ diff --git a/xorg-server/include/scrnintstr.h b/xorg-server/include/scrnintstr.h index a373acd27..d327b7e43 100644 --- a/xorg-server/include/scrnintstr.h +++ b/xorg-server/include/scrnintstr.h @@ -1,577 +1,581 @@ -/***********************************************************
-
-Copyright 1987, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-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
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
-
-
-Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
-
- All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation, and that the name of Digital not be
-used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
-
-DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
-DIGITAL BE LIABLE FOR ANY SPECIAL, 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.
-
-******************************************************************/
-
-#ifndef SCREENINTSTRUCT_H
-#define SCREENINTSTRUCT_H
-
-#include "screenint.h"
-#include "regionstr.h"
-#include "colormap.h"
-#include "cursor.h"
-#include "validate.h"
-#include <X11/Xproto.h>
-#include "dix.h"
-#include "privates.h"
-
-typedef struct _PixmapFormat {
- unsigned char depth;
- unsigned char bitsPerPixel;
- unsigned char scanlinePad;
- } PixmapFormatRec;
-
-typedef struct _Visual {
- VisualID vid;
- short class;
- short bitsPerRGBValue;
- long ColormapEntries;
- short nplanes;/* = log2 (ColormapEntries). This does not
- * imply that the screen has this many planes.
- * it may have more or fewer */
- unsigned long redMask, greenMask, blueMask;
- int offsetRed, offsetGreen, offsetBlue;
- } VisualRec;
-
-typedef struct _Depth {
- unsigned char depth;
- short numVids;
- VisualID *vids; /* block of visual ids for this depth */
- } DepthRec;
-
-typedef struct _ScreenSaverStuff {
- WindowPtr pWindow;
- XID wid;
- char blanked;
- Bool (*ExternalScreenSaver)(
- ScreenPtr /*pScreen*/,
- int /*xstate*/,
- Bool /*force*/);
-} ScreenSaverStuffRec;
-
-
-/*
- * There is a typedef for each screen function pointer so that code that
- * needs to declare a screen function pointer (e.g. in a screen private
- * or as a local variable) can easily do so and retain full type checking.
- */
-
-typedef Bool (* CloseScreenProcPtr)(
- int /*index*/,
- ScreenPtr /*pScreen*/);
-
-typedef void (* QueryBestSizeProcPtr)(
- int /*class*/,
- unsigned short * /*pwidth*/,
- unsigned short * /*pheight*/,
- ScreenPtr /*pScreen*/);
-
-typedef Bool (* SaveScreenProcPtr)(
- ScreenPtr /*pScreen*/,
- int /*on*/);
-
-typedef void (* GetImageProcPtr)(
- DrawablePtr /*pDrawable*/,
- int /*sx*/,
- int /*sy*/,
- int /*w*/,
- int /*h*/,
- unsigned int /*format*/,
- unsigned long /*planeMask*/,
- char * /*pdstLine*/);
-
-typedef void (* GetSpansProcPtr)(
- DrawablePtr /*pDrawable*/,
- int /*wMax*/,
- DDXPointPtr /*ppt*/,
- int* /*pwidth*/,
- int /*nspans*/,
- char * /*pdstStart*/);
-
-typedef void (* SourceValidateProcPtr)(
- DrawablePtr /*pDrawable*/,
- int /*x*/,
- int /*y*/,
- int /*width*/,
- int /*height*/,
- unsigned int /*subWindowMode*/);
-
-typedef Bool (* CreateWindowProcPtr)(
- WindowPtr /*pWindow*/);
-
-typedef Bool (* DestroyWindowProcPtr)(
- WindowPtr /*pWindow*/);
-
-typedef Bool (* PositionWindowProcPtr)(
- WindowPtr /*pWindow*/,
- int /*x*/,
- int /*y*/);
-
-typedef Bool (* ChangeWindowAttributesProcPtr)(
- WindowPtr /*pWindow*/,
- unsigned long /*mask*/);
-
-typedef Bool (* RealizeWindowProcPtr)(
- WindowPtr /*pWindow*/);
-
-typedef Bool (* UnrealizeWindowProcPtr)(
- WindowPtr /*pWindow*/);
-
-typedef void (* RestackWindowProcPtr)(
- WindowPtr /*pWindow*/,
- WindowPtr /*pOldNextSib*/);
-
-typedef int (* ValidateTreeProcPtr)(
- WindowPtr /*pParent*/,
- WindowPtr /*pChild*/,
- VTKind /*kind*/);
-
-typedef void (* PostValidateTreeProcPtr)(
- WindowPtr /*pParent*/,
- WindowPtr /*pChild*/,
- VTKind /*kind*/);
-
-typedef void (* WindowExposuresProcPtr)(
- WindowPtr /*pWindow*/,
- RegionPtr /*prgn*/,
- RegionPtr /*other_exposed*/);
-
-typedef void (* CopyWindowProcPtr)(
- WindowPtr /*pWindow*/,
- DDXPointRec /*ptOldOrg*/,
- RegionPtr /*prgnSrc*/);
-
-typedef void (* ClearToBackgroundProcPtr)(
- WindowPtr /*pWindow*/,
- int /*x*/,
- int /*y*/,
- int /*w*/,
- int /*h*/,
- Bool /*generateExposures*/);
-
-typedef void (* ClipNotifyProcPtr)(
- WindowPtr /*pWindow*/,
- int /*dx*/,
- int /*dy*/);
-
-/* pixmap will exist only for the duration of the current rendering operation */
-#define CREATE_PIXMAP_USAGE_SCRATCH 1
-/* pixmap will be the backing pixmap for a redirected window */
-#define CREATE_PIXMAP_USAGE_BACKING_PIXMAP 2
-/* pixmap will contain a glyph */
-#define CREATE_PIXMAP_USAGE_GLYPH_PICTURE 3
-
-typedef PixmapPtr (* CreatePixmapProcPtr)(
- ScreenPtr /*pScreen*/,
- int /*width*/,
- int /*height*/,
- int /*depth*/,
- unsigned /*usage_hint*/);
-
-typedef Bool (* DestroyPixmapProcPtr)(
- PixmapPtr /*pPixmap*/);
-
-typedef Bool (* RealizeFontProcPtr)(
- ScreenPtr /*pScreen*/,
- FontPtr /*pFont*/);
-
-typedef Bool (* UnrealizeFontProcPtr)(
- ScreenPtr /*pScreen*/,
- FontPtr /*pFont*/);
-
-typedef void (* ConstrainCursorProcPtr)(
- DeviceIntPtr /*pDev*/,
- ScreenPtr /*pScreen*/,
- BoxPtr /*pBox*/);
-
-typedef void (* CursorLimitsProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /*pScreen*/,
- CursorPtr /*pCursor*/,
- BoxPtr /*pHotBox*/,
- BoxPtr /*pTopLeftBox*/);
-
-typedef Bool (* DisplayCursorProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /*pScreen*/,
- CursorPtr /*pCursor*/);
-
-typedef Bool (* RealizeCursorProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /*pScreen*/,
- CursorPtr /*pCursor*/);
-
-typedef Bool (* UnrealizeCursorProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /*pScreen*/,
- CursorPtr /*pCursor*/);
-
-typedef void (* RecolorCursorProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /*pScreen*/,
- CursorPtr /*pCursor*/,
- Bool /*displayed*/);
-
-typedef Bool (* SetCursorPositionProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /*pScreen*/,
- int /*x*/,
- int /*y*/,
- Bool /*generateEvent*/);
-
-typedef Bool (* CreateGCProcPtr)(
- GCPtr /*pGC*/);
-
-typedef Bool (* CreateColormapProcPtr)(
- ColormapPtr /*pColormap*/);
-
-typedef void (* DestroyColormapProcPtr)(
- ColormapPtr /*pColormap*/);
-
-typedef void (* InstallColormapProcPtr)(
- ColormapPtr /*pColormap*/);
-
-typedef void (* UninstallColormapProcPtr)(
- ColormapPtr /*pColormap*/);
-
-typedef int (* ListInstalledColormapsProcPtr) (
- ScreenPtr /*pScreen*/,
- XID* /*pmaps */);
-
-typedef void (* StoreColorsProcPtr)(
- ColormapPtr /*pColormap*/,
- int /*ndef*/,
- xColorItem * /*pdef*/);
-
-typedef void (* ResolveColorProcPtr)(
- unsigned short* /*pred*/,
- unsigned short* /*pgreen*/,
- unsigned short* /*pblue*/,
- VisualPtr /*pVisual*/);
-
-typedef RegionPtr (* BitmapToRegionProcPtr)(
- PixmapPtr /*pPix*/);
-
-typedef void (* SendGraphicsExposeProcPtr)(
- ClientPtr /*client*/,
- RegionPtr /*pRgn*/,
- XID /*drawable*/,
- int /*major*/,
- int /*minor*/);
-
-typedef void (* ScreenBlockHandlerProcPtr)(
- int /*screenNum*/,
- pointer /*blockData*/,
- pointer /*pTimeout*/,
- pointer /*pReadmask*/);
-
-typedef void (* ScreenWakeupHandlerProcPtr)(
- int /*screenNum*/,
- pointer /*wakeupData*/,
- unsigned long /*result*/,
- pointer /*pReadMask*/);
-
-typedef Bool (* CreateScreenResourcesProcPtr)(
- ScreenPtr /*pScreen*/);
-
-typedef Bool (* ModifyPixmapHeaderProcPtr)(
- PixmapPtr /*pPixmap*/,
- int /*width*/,
- int /*height*/,
- int /*depth*/,
- int /*bitsPerPixel*/,
- int /*devKind*/,
- pointer /*pPixData*/);
-
-typedef PixmapPtr (* GetWindowPixmapProcPtr)(
- WindowPtr /*pWin*/);
-
-typedef void (* SetWindowPixmapProcPtr)(
- WindowPtr /*pWin*/,
- PixmapPtr /*pPix*/);
-
-typedef PixmapPtr (* GetScreenPixmapProcPtr)(
- ScreenPtr /*pScreen*/);
-
-typedef void (* SetScreenPixmapProcPtr)(
- PixmapPtr /*pPix*/);
-
-typedef void (* MarkWindowProcPtr)(
- WindowPtr /*pWin*/);
-
-typedef Bool (* MarkOverlappedWindowsProcPtr)(
- WindowPtr /*parent*/,
- WindowPtr /*firstChild*/,
- WindowPtr * /*pLayerWin*/);
-
-typedef int (* ConfigNotifyProcPtr)(
- WindowPtr /*pWin*/,
- int /*x*/,
- int /*y*/,
- int /*w*/,
- int /*h*/,
- int /*bw*/,
- WindowPtr /*pSib*/);
-
-typedef void (* MoveWindowProcPtr)(
- WindowPtr /*pWin*/,
- int /*x*/,
- int /*y*/,
- WindowPtr /*pSib*/,
- VTKind /*kind*/);
-
-typedef void (* ResizeWindowProcPtr)(
- WindowPtr /*pWin*/,
- int /*x*/,
- int /*y*/,
- unsigned int /*w*/,
- unsigned int /*h*/,
- WindowPtr /*pSib*/
-);
-
-typedef WindowPtr (* GetLayerWindowProcPtr)(
- WindowPtr /*pWin*/
-);
-
-typedef void (* HandleExposuresProcPtr)(
- WindowPtr /*pWin*/);
-
-typedef void (* ReparentWindowProcPtr)(
- WindowPtr /*pWin*/,
- WindowPtr /*pPriorParent*/);
-
-typedef void (* SetShapeProcPtr)(
- WindowPtr /*pWin*/,
- int /* kind */);
-
-typedef void (* ChangeBorderWidthProcPtr)(
- WindowPtr /*pWin*/,
- unsigned int /*width*/);
-
-typedef void (* MarkUnrealizedWindowProcPtr)(
- WindowPtr /*pChild*/,
- WindowPtr /*pWin*/,
- Bool /*fromConfigure*/);
-
-#ifdef CreateWindow
-#undef CreateWindow
-#endif
-
-typedef Bool (* DeviceCursorInitializeProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /* pScreen */);
-
-typedef void (* DeviceCursorCleanupProcPtr)(
- DeviceIntPtr /* pDev */,
- ScreenPtr /* pScreen */);
-
-typedef void (*ConstrainCursorHarderProcPtr)(
- DeviceIntPtr, ScreenPtr, int, int *, int *);
-
-typedef struct _Screen {
- int myNum; /* index of this instance in Screens[] */
- ATOM id;
- short x, y, width, height;
- short mmWidth, mmHeight;
- short numDepths;
- unsigned char rootDepth;
- DepthPtr allowedDepths;
- unsigned long rootVisual;
- unsigned long defColormap;
- short minInstalledCmaps, maxInstalledCmaps;
- char backingStoreSupport, saveUnderSupport;
- unsigned long whitePixel, blackPixel;
- GCPtr GCperDepth[MAXFORMATS+1];
- /* next field is a stipple to use as default in
- a GC. we don't build default tiles of all depths
- because they are likely to be of a color
- different from the default fg pixel, so
- we don't win anything by building
- a standard one.
- */
- PixmapPtr PixmapPerDepth[1];
- pointer devPrivate;
- short numVisuals;
- VisualPtr visuals;
- WindowPtr root;
- ScreenSaverStuffRec screensaver;
-
- /* Random screen procedures */
-
- CloseScreenProcPtr CloseScreen;
- QueryBestSizeProcPtr QueryBestSize;
- SaveScreenProcPtr SaveScreen;
- GetImageProcPtr GetImage;
- GetSpansProcPtr GetSpans;
- SourceValidateProcPtr SourceValidate;
-
- /* Window Procedures */
-
- CreateWindowProcPtr CreateWindow;
- DestroyWindowProcPtr DestroyWindow;
- PositionWindowProcPtr PositionWindow;
- ChangeWindowAttributesProcPtr ChangeWindowAttributes;
- RealizeWindowProcPtr RealizeWindow;
- UnrealizeWindowProcPtr UnrealizeWindow;
- ValidateTreeProcPtr ValidateTree;
- PostValidateTreeProcPtr PostValidateTree;
- WindowExposuresProcPtr WindowExposures;
- CopyWindowProcPtr CopyWindow;
- ClearToBackgroundProcPtr ClearToBackground;
- ClipNotifyProcPtr ClipNotify;
- RestackWindowProcPtr RestackWindow;
-
- /* Pixmap procedures */
-
- CreatePixmapProcPtr CreatePixmap;
- DestroyPixmapProcPtr DestroyPixmap;
-
- /* Font procedures */
-
- RealizeFontProcPtr RealizeFont;
- UnrealizeFontProcPtr UnrealizeFont;
-
- /* Cursor Procedures */
-
- ConstrainCursorProcPtr ConstrainCursor;
- ConstrainCursorHarderProcPtr ConstrainCursorHarder;
- CursorLimitsProcPtr CursorLimits;
- DisplayCursorProcPtr DisplayCursor;
- RealizeCursorProcPtr RealizeCursor;
- UnrealizeCursorProcPtr UnrealizeCursor;
- RecolorCursorProcPtr RecolorCursor;
- SetCursorPositionProcPtr SetCursorPosition;
-
- /* GC procedures */
-
- CreateGCProcPtr CreateGC;
-
- /* Colormap procedures */
-
- CreateColormapProcPtr CreateColormap;
- DestroyColormapProcPtr DestroyColormap;
- InstallColormapProcPtr InstallColormap;
- UninstallColormapProcPtr UninstallColormap;
- ListInstalledColormapsProcPtr ListInstalledColormaps;
- StoreColorsProcPtr StoreColors;
- ResolveColorProcPtr ResolveColor;
-
- /* Region procedures */
-
- BitmapToRegionProcPtr BitmapToRegion;
- SendGraphicsExposeProcPtr SendGraphicsExpose;
-
- /* os layer procedures */
-
- ScreenBlockHandlerProcPtr BlockHandler;
- ScreenWakeupHandlerProcPtr WakeupHandler;
-
- pointer blockData;
- pointer wakeupData;
-
- /* anybody can get a piece of this array */
- PrivateRec *devPrivates;
-
- CreateScreenResourcesProcPtr CreateScreenResources;
- ModifyPixmapHeaderProcPtr ModifyPixmapHeader;
-
- GetWindowPixmapProcPtr GetWindowPixmap;
- SetWindowPixmapProcPtr SetWindowPixmap;
- GetScreenPixmapProcPtr GetScreenPixmap;
- SetScreenPixmapProcPtr SetScreenPixmap;
-
- PixmapPtr pScratchPixmap; /* scratch pixmap "pool" */
-
- unsigned int totalPixmapSize;
-
- MarkWindowProcPtr MarkWindow;
- MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
- ConfigNotifyProcPtr ConfigNotify;
- MoveWindowProcPtr MoveWindow;
- ResizeWindowProcPtr ResizeWindow;
- GetLayerWindowProcPtr GetLayerWindow;
- HandleExposuresProcPtr HandleExposures;
- ReparentWindowProcPtr ReparentWindow;
-
- SetShapeProcPtr SetShape;
-
- ChangeBorderWidthProcPtr ChangeBorderWidth;
- MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
-
- /* Device cursor procedures */
- DeviceCursorInitializeProcPtr DeviceCursorInitialize;
- DeviceCursorCleanupProcPtr DeviceCursorCleanup;
-
- /* set it in driver side if X server can copy the framebuffer content.
- * Meant to be used together with '-background none' option, avoiding
- * malicious users to steal framebuffer's content if that would be the
- * default */
- Bool canDoBGNoneRoot;
-} ScreenRec;
-
-static inline RegionPtr BitmapToRegion(ScreenPtr _pScreen, PixmapPtr pPix) {
- return (*(_pScreen)->BitmapToRegion)(pPix); /* no mi version?! */
-}
-
-typedef struct _ScreenInfo {
- int imageByteOrder;
- int bitmapScanlineUnit;
- int bitmapScanlinePad;
- int bitmapBitOrder;
- int numPixmapFormats;
- PixmapFormatRec
- formats[MAXFORMATS];
- int numScreens;
- ScreenPtr screens[MAXSCREENS];
-} ScreenInfo;
-
-extern _X_EXPORT ScreenInfo screenInfo;
-
-extern _X_EXPORT void InitOutput(
- ScreenInfo * /*pScreenInfo*/,
- int /*argc*/,
- char ** /*argv*/);
-
-#endif /* SCREENINTSTRUCT_H */
+/*********************************************************** + +Copyright 1987, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, 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. + +******************************************************************/ + +#ifndef SCREENINTSTRUCT_H +#define SCREENINTSTRUCT_H + +#include "screenint.h" +#include "regionstr.h" +#include "colormap.h" +#include "cursor.h" +#include "validate.h" +#include <X11/Xproto.h> +#include "dix.h" +#include "privates.h" + +typedef struct _PixmapFormat { + unsigned char depth; + unsigned char bitsPerPixel; + unsigned char scanlinePad; + } PixmapFormatRec; + +typedef struct _Visual { + VisualID vid; + short class; + short bitsPerRGBValue; + long ColormapEntries; + short nplanes;/* = log2 (ColormapEntries). This does not + * imply that the screen has this many planes. + * it may have more or fewer */ + unsigned long redMask, greenMask, blueMask; + int offsetRed, offsetGreen, offsetBlue; + } VisualRec; + +typedef struct _Depth { + unsigned char depth; + short numVids; + VisualID *vids; /* block of visual ids for this depth */ + } DepthRec; + +typedef struct _ScreenSaverStuff { + WindowPtr pWindow; + XID wid; + char blanked; + Bool (*ExternalScreenSaver)( + ScreenPtr /*pScreen*/, + int /*xstate*/, + Bool /*force*/); +} ScreenSaverStuffRec; + + +/* + * There is a typedef for each screen function pointer so that code that + * needs to declare a screen function pointer (e.g. in a screen private + * or as a local variable) can easily do so and retain full type checking. + */ + +typedef Bool (* CloseScreenProcPtr)( + int /*index*/, + ScreenPtr /*pScreen*/); + +typedef void (* QueryBestSizeProcPtr)( + int /*class*/, + unsigned short * /*pwidth*/, + unsigned short * /*pheight*/, + ScreenPtr /*pScreen*/); + +typedef Bool (* SaveScreenProcPtr)( + ScreenPtr /*pScreen*/, + int /*on*/); + +typedef void (* GetImageProcPtr)( + DrawablePtr /*pDrawable*/, + int /*sx*/, + int /*sy*/, + int /*w*/, + int /*h*/, + unsigned int /*format*/, + unsigned long /*planeMask*/, + char * /*pdstLine*/); + +typedef void (* GetSpansProcPtr)( + DrawablePtr /*pDrawable*/, + int /*wMax*/, + DDXPointPtr /*ppt*/, + int* /*pwidth*/, + int /*nspans*/, + char * /*pdstStart*/); + +typedef void (* SourceValidateProcPtr)( + DrawablePtr /*pDrawable*/, + int /*x*/, + int /*y*/, + int /*width*/, + int /*height*/, + unsigned int /*subWindowMode*/); + +typedef Bool (* CreateWindowProcPtr)( + WindowPtr /*pWindow*/); + +typedef Bool (* DestroyWindowProcPtr)( + WindowPtr /*pWindow*/); + +typedef Bool (* PositionWindowProcPtr)( + WindowPtr /*pWindow*/, + int /*x*/, + int /*y*/); + +typedef Bool (* ChangeWindowAttributesProcPtr)( + WindowPtr /*pWindow*/, + unsigned long /*mask*/); + +typedef Bool (* RealizeWindowProcPtr)( + WindowPtr /*pWindow*/); + +typedef Bool (* UnrealizeWindowProcPtr)( + WindowPtr /*pWindow*/); + +typedef void (* RestackWindowProcPtr)( + WindowPtr /*pWindow*/, + WindowPtr /*pOldNextSib*/); + +typedef int (* ValidateTreeProcPtr)( + WindowPtr /*pParent*/, + WindowPtr /*pChild*/, + VTKind /*kind*/); + +typedef void (* PostValidateTreeProcPtr)( + WindowPtr /*pParent*/, + WindowPtr /*pChild*/, + VTKind /*kind*/); + +typedef void (* WindowExposuresProcPtr)( + WindowPtr /*pWindow*/, + RegionPtr /*prgn*/, + RegionPtr /*other_exposed*/); + +typedef void (* CopyWindowProcPtr)( + WindowPtr /*pWindow*/, + DDXPointRec /*ptOldOrg*/, + RegionPtr /*prgnSrc*/); + +typedef void (* ClearToBackgroundProcPtr)( + WindowPtr /*pWindow*/, + int /*x*/, + int /*y*/, + int /*w*/, + int /*h*/, + Bool /*generateExposures*/); + +typedef void (* ClipNotifyProcPtr)( + WindowPtr /*pWindow*/, + int /*dx*/, + int /*dy*/); + +/* pixmap will exist only for the duration of the current rendering operation */ +#define CREATE_PIXMAP_USAGE_SCRATCH 1 +/* pixmap will be the backing pixmap for a redirected window */ +#define CREATE_PIXMAP_USAGE_BACKING_PIXMAP 2 +/* pixmap will contain a glyph */ +#define CREATE_PIXMAP_USAGE_GLYPH_PICTURE 3 + +typedef PixmapPtr (* CreatePixmapProcPtr)( + ScreenPtr /*pScreen*/, + int /*width*/, + int /*height*/, + int /*depth*/, + unsigned /*usage_hint*/); + +typedef Bool (* DestroyPixmapProcPtr)( + PixmapPtr /*pPixmap*/); + +typedef Bool (* RealizeFontProcPtr)( + ScreenPtr /*pScreen*/, + FontPtr /*pFont*/); + +typedef Bool (* UnrealizeFontProcPtr)( + ScreenPtr /*pScreen*/, + FontPtr /*pFont*/); + +typedef void (* ConstrainCursorProcPtr)( + DeviceIntPtr /*pDev*/, + ScreenPtr /*pScreen*/, + BoxPtr /*pBox*/); + +typedef void (* CursorLimitsProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /*pScreen*/, + CursorPtr /*pCursor*/, + BoxPtr /*pHotBox*/, + BoxPtr /*pTopLeftBox*/); + +typedef Bool (* DisplayCursorProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /*pScreen*/, + CursorPtr /*pCursor*/); + +typedef Bool (* RealizeCursorProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /*pScreen*/, + CursorPtr /*pCursor*/); + +typedef Bool (* UnrealizeCursorProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /*pScreen*/, + CursorPtr /*pCursor*/); + +typedef void (* RecolorCursorProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /*pScreen*/, + CursorPtr /*pCursor*/, + Bool /*displayed*/); + +typedef Bool (* SetCursorPositionProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /*pScreen*/, + int /*x*/, + int /*y*/, + Bool /*generateEvent*/); + +typedef Bool (* CreateGCProcPtr)( + GCPtr /*pGC*/); + +typedef Bool (* CreateColormapProcPtr)( + ColormapPtr /*pColormap*/); + +typedef void (* DestroyColormapProcPtr)( + ColormapPtr /*pColormap*/); + +typedef void (* InstallColormapProcPtr)( + ColormapPtr /*pColormap*/); + +typedef void (* UninstallColormapProcPtr)( + ColormapPtr /*pColormap*/); + +typedef int (* ListInstalledColormapsProcPtr) ( + ScreenPtr /*pScreen*/, + XID* /*pmaps */); + +typedef void (* StoreColorsProcPtr)( + ColormapPtr /*pColormap*/, + int /*ndef*/, + xColorItem * /*pdef*/); + +typedef void (* ResolveColorProcPtr)( + unsigned short* /*pred*/, + unsigned short* /*pgreen*/, + unsigned short* /*pblue*/, + VisualPtr /*pVisual*/); + +typedef RegionPtr (* BitmapToRegionProcPtr)( + PixmapPtr /*pPix*/); + +typedef void (* SendGraphicsExposeProcPtr)( + ClientPtr /*client*/, + RegionPtr /*pRgn*/, + XID /*drawable*/, + int /*major*/, + int /*minor*/); + +typedef void (* ScreenBlockHandlerProcPtr)( + int /*screenNum*/, + pointer /*blockData*/, + pointer /*pTimeout*/, + pointer /*pReadmask*/); + +typedef void (* ScreenWakeupHandlerProcPtr)( + int /*screenNum*/, + pointer /*wakeupData*/, + unsigned long /*result*/, + pointer /*pReadMask*/); + +typedef Bool (* CreateScreenResourcesProcPtr)( + ScreenPtr /*pScreen*/); + +typedef Bool (* ModifyPixmapHeaderProcPtr)( + PixmapPtr /*pPixmap*/, + int /*width*/, + int /*height*/, + int /*depth*/, + int /*bitsPerPixel*/, + int /*devKind*/, + pointer /*pPixData*/); + +typedef PixmapPtr (* GetWindowPixmapProcPtr)( + WindowPtr /*pWin*/); + +typedef void (* SetWindowPixmapProcPtr)( + WindowPtr /*pWin*/, + PixmapPtr /*pPix*/); + +typedef PixmapPtr (* GetScreenPixmapProcPtr)( + ScreenPtr /*pScreen*/); + +typedef void (* SetScreenPixmapProcPtr)( + PixmapPtr /*pPix*/); + +typedef void (* MarkWindowProcPtr)( + WindowPtr /*pWin*/); + +typedef Bool (* MarkOverlappedWindowsProcPtr)( + WindowPtr /*parent*/, + WindowPtr /*firstChild*/, + WindowPtr * /*pLayerWin*/); + +typedef int (* ConfigNotifyProcPtr)( + WindowPtr /*pWin*/, + int /*x*/, + int /*y*/, + int /*w*/, + int /*h*/, + int /*bw*/, + WindowPtr /*pSib*/); + +typedef void (* MoveWindowProcPtr)( + WindowPtr /*pWin*/, + int /*x*/, + int /*y*/, + WindowPtr /*pSib*/, + VTKind /*kind*/); + +typedef void (* ResizeWindowProcPtr)( + WindowPtr /*pWin*/, + int /*x*/, + int /*y*/, + unsigned int /*w*/, + unsigned int /*h*/, + WindowPtr /*pSib*/ +); + +typedef WindowPtr (* GetLayerWindowProcPtr)( + WindowPtr /*pWin*/ +); + +typedef void (* HandleExposuresProcPtr)( + WindowPtr /*pWin*/); + +typedef void (* ReparentWindowProcPtr)( + WindowPtr /*pWin*/, + WindowPtr /*pPriorParent*/); + +typedef void (* SetShapeProcPtr)( + WindowPtr /*pWin*/, + int /* kind */); + +typedef void (* ChangeBorderWidthProcPtr)( + WindowPtr /*pWin*/, + unsigned int /*width*/); + +typedef void (* MarkUnrealizedWindowProcPtr)( + WindowPtr /*pChild*/, + WindowPtr /*pWin*/, + Bool /*fromConfigure*/); + +#ifdef CreateWindow +#undef CreateWindow +#endif + +typedef Bool (* DeviceCursorInitializeProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /* pScreen */); + +typedef void (* DeviceCursorCleanupProcPtr)( + DeviceIntPtr /* pDev */, + ScreenPtr /* pScreen */); + +typedef void (*ConstrainCursorHarderProcPtr)( + DeviceIntPtr, ScreenPtr, int, int *, int *); + +typedef struct _Screen { + int myNum; /* index of this instance in Screens[] */ + ATOM id; + short x, y, width, height; + short mmWidth, mmHeight; + short numDepths; + unsigned char rootDepth; + DepthPtr allowedDepths; + unsigned long rootVisual; + unsigned long defColormap; + short minInstalledCmaps, maxInstalledCmaps; + char backingStoreSupport, saveUnderSupport; + unsigned long whitePixel, blackPixel; + GCPtr GCperDepth[MAXFORMATS+1]; + /* next field is a stipple to use as default in + a GC. we don't build default tiles of all depths + because they are likely to be of a color + different from the default fg pixel, so + we don't win anything by building + a standard one. + */ + PixmapPtr PixmapPerDepth[1]; + pointer devPrivate; + short numVisuals; + VisualPtr visuals; + WindowPtr root; + ScreenSaverStuffRec screensaver; + + /* Random screen procedures */ + + CloseScreenProcPtr CloseScreen; + QueryBestSizeProcPtr QueryBestSize; + SaveScreenProcPtr SaveScreen; + GetImageProcPtr GetImage; + GetSpansProcPtr GetSpans; + SourceValidateProcPtr SourceValidate; + + /* Window Procedures */ + + CreateWindowProcPtr CreateWindow; + DestroyWindowProcPtr DestroyWindow; + PositionWindowProcPtr PositionWindow; + ChangeWindowAttributesProcPtr ChangeWindowAttributes; + RealizeWindowProcPtr RealizeWindow; + UnrealizeWindowProcPtr UnrealizeWindow; + ValidateTreeProcPtr ValidateTree; + PostValidateTreeProcPtr PostValidateTree; + WindowExposuresProcPtr WindowExposures; + CopyWindowProcPtr CopyWindow; + ClearToBackgroundProcPtr ClearToBackground; + ClipNotifyProcPtr ClipNotify; + RestackWindowProcPtr RestackWindow; + + /* Pixmap procedures */ + + CreatePixmapProcPtr CreatePixmap; + DestroyPixmapProcPtr DestroyPixmap; + + /* Font procedures */ + + RealizeFontProcPtr RealizeFont; + UnrealizeFontProcPtr UnrealizeFont; + + /* Cursor Procedures */ + + ConstrainCursorProcPtr ConstrainCursor; + ConstrainCursorHarderProcPtr ConstrainCursorHarder; + CursorLimitsProcPtr CursorLimits; + DisplayCursorProcPtr DisplayCursor; + RealizeCursorProcPtr RealizeCursor; + UnrealizeCursorProcPtr UnrealizeCursor; + RecolorCursorProcPtr RecolorCursor; + SetCursorPositionProcPtr SetCursorPosition; + + /* GC procedures */ + + CreateGCProcPtr CreateGC; + + /* Colormap procedures */ + + CreateColormapProcPtr CreateColormap; + DestroyColormapProcPtr DestroyColormap; + InstallColormapProcPtr InstallColormap; + UninstallColormapProcPtr UninstallColormap; + ListInstalledColormapsProcPtr ListInstalledColormaps; + StoreColorsProcPtr StoreColors; + ResolveColorProcPtr ResolveColor; + + /* Region procedures */ + + BitmapToRegionProcPtr BitmapToRegion; + SendGraphicsExposeProcPtr SendGraphicsExpose; + + /* os layer procedures */ + + ScreenBlockHandlerProcPtr BlockHandler; + ScreenWakeupHandlerProcPtr WakeupHandler; + + pointer blockData; + pointer wakeupData; + + /* anybody can get a piece of this array */ + PrivateRec *devPrivates; + + CreateScreenResourcesProcPtr CreateScreenResources; + ModifyPixmapHeaderProcPtr ModifyPixmapHeader; + + GetWindowPixmapProcPtr GetWindowPixmap; + SetWindowPixmapProcPtr SetWindowPixmap; + GetScreenPixmapProcPtr GetScreenPixmap; + SetScreenPixmapProcPtr SetScreenPixmap; + + PixmapPtr pScratchPixmap; /* scratch pixmap "pool" */ + + unsigned int totalPixmapSize; + + MarkWindowProcPtr MarkWindow; + MarkOverlappedWindowsProcPtr MarkOverlappedWindows; + ConfigNotifyProcPtr ConfigNotify; + MoveWindowProcPtr MoveWindow; + ResizeWindowProcPtr ResizeWindow; + GetLayerWindowProcPtr GetLayerWindow; + HandleExposuresProcPtr HandleExposures; + ReparentWindowProcPtr ReparentWindow; + + SetShapeProcPtr SetShape; + + ChangeBorderWidthProcPtr ChangeBorderWidth; + MarkUnrealizedWindowProcPtr MarkUnrealizedWindow; + + /* Device cursor procedures */ + DeviceCursorInitializeProcPtr DeviceCursorInitialize; + DeviceCursorCleanupProcPtr DeviceCursorCleanup; + + /* set it in driver side if X server can copy the framebuffer content. + * Meant to be used together with '-background none' option, avoiding + * malicious users to steal framebuffer's content if that would be the + * default */ + Bool canDoBGNoneRoot; +} ScreenRec; + +static inline RegionPtr BitmapToRegion(ScreenPtr _pScreen, PixmapPtr pPix) { + return (*(_pScreen)->BitmapToRegion)(pPix); /* no mi version?! */ +} + +typedef struct _ScreenInfo { + int imageByteOrder; + int bitmapScanlineUnit; + int bitmapScanlinePad; + int bitmapBitOrder; + int numPixmapFormats; + PixmapFormatRec + formats[MAXFORMATS]; + int numScreens; + ScreenPtr screens[MAXSCREENS]; + int x; /* origin */ + int y; /* origin */ + int width; /* total width of all screens together */ + int height; /* total height of all screens together */ +} ScreenInfo; + +extern _X_EXPORT ScreenInfo screenInfo; + +extern _X_EXPORT void InitOutput( + ScreenInfo * /*pScreenInfo*/, + int /*argc*/, + char ** /*argv*/); + +#endif /* SCREENINTSTRUCT_H */ diff --git a/xorg-server/mi/mipointer.c b/xorg-server/mi/mipointer.c index 55e4081f2..998c86c15 100644 --- a/xorg-server/mi/mipointer.c +++ b/xorg-server/mi/mipointer.c @@ -569,8 +569,8 @@ miPointerMoveNoEvent (DeviceIntPtr pDev, ScreenPtr pScreen, * * @param pDev The device to move * @param mode Movement mode (Absolute or Relative) - * @param[in,out] screenx The x coordinate in screen coordinates - * @param[in,out] screeny The y coordinate in screen coordinates + * @param[in,out] screenx The x coordinate in desktop coordinates + * @param[in,out] screeny The y coordinate in desktop coordinates */ ScreenPtr miPointerSetPosition(DeviceIntPtr pDev, int mode, double *screenx, double *screeny) @@ -579,6 +579,7 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, double *screenx, double *scree ScreenPtr pScreen; ScreenPtr newScreen; int x, y; + Bool switch_screen = FALSE; miPointerPtr pPointer; @@ -593,7 +594,14 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, double *screenx, double *scree x = trunc(*screenx); y = trunc(*screeny); - if (x < 0 || x >= pScreen->width || y < 0 || y >= pScreen->height) + switch_screen = !point_on_screen(pScreen, x, y); + + /* Switch to per-screen coordinates for CursorOffScreen and + * Pointer->limits */ + x -= pScreen->x; + y -= pScreen->y; + + if (switch_screen) { pScreenPriv = GetScreenPrivate (pScreen); if (!pPointer->confined) @@ -628,6 +636,10 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, double *screenx, double *scree pPointer->pScreen != pScreen) miPointerMoveNoEvent(pDev, pScreen, x, y); + /* Convert to desktop coordinates again */ + x += pScreen->x; + y += pScreen->y; + /* In the event we actually change screen or we get confined, we just * drop the float component on the floor * FIXME: only drop remainder for ConstrainCursorHarder, not for screen diff --git a/xorg-server/randr/rrcrtc.c b/xorg-server/randr/rrcrtc.c index e6a38ae60..13dd7da7c 100644 --- a/xorg-server/randr/rrcrtc.c +++ b/xorg-server/randr/rrcrtc.c @@ -1459,7 +1459,7 @@ RRConstrainCursorHarder(DeviceIntPtr pDev, ScreenPtr pScreen, int mode, int *x, crtc_bounds(crtc, &left, &right, &top, &bottom); - if ((*x >= left) && (*x <= right) && (*y >= top) && (*y <= bottom)) + if ((*x >= left) && (*x < right) && (*y >= top) && (*y < bottom)) return; } @@ -1475,24 +1475,15 @@ RRConstrainCursorHarder(DeviceIntPtr pDev, ScreenPtr pScreen, int mode, int *x, crtc_bounds(crtc, &left, &right, &top, &bottom); miPointerGetPosition(pDev, &nx, &ny); - if ((nx >= left) && (nx <= right) && (ny >= top) && (ny <= bottom)) { - if ((*x <= left) || (*x >= right)) { - int dx = *x - nx; - - if (dx > 0) - *x = right; - else if (dx < 0) - *x = left; - } - - if ((*y <= top) || (*y >= bottom)) { - int dy = *y - ny; - - if (dy > 0) - *y = bottom; - else if (dy < 0) - *y = top; - } + if ((nx >= left) && (nx < right) && (ny >= top) && (ny < bottom)) { + if (*x < left) + *x = left; + if (*x >= right) + *x = right - 1; + if (*y < top) + *y = top; + if (*y >= bottom) + *y = bottom - 1; return; } diff --git a/xorg-server/test/misc.c b/xorg-server/test/misc.c index 3d3b1a1e3..d98449ba0 100644 --- a/xorg-server/test/misc.c +++ b/xorg-server/test/misc.c @@ -27,6 +27,9 @@ #include <stdint.h> #include "misc.h" +#include "scrnintstr.h" + +ScreenInfo screenInfo; static void dix_version_compare(void) { @@ -54,9 +57,110 @@ static void dix_version_compare(void) assert(rc < 0); } +static void dix_update_desktop_dimensions(void) +{ + int i; + int x, y, w, h; + int w2, h2; + ScreenRec screens[MAXSCREENS]; + + for (i = 0; i < MAXSCREENS; i++) + screenInfo.screens[i] = &screens[i]; + + x = 0; + y = 0; + w = 10; + h = 5; + w2 = 35; + h2 = 25; + +#define assert_dimensions(_x, _y, _w, _h) \ + update_desktop_dimensions(); \ + printf("%d %d %d %d\n", screenInfo.x, screenInfo.y, screenInfo.width, screenInfo.height); \ + assert(screenInfo.x == _x); \ + assert(screenInfo.y == _y); \ + assert(screenInfo.width == _w); \ + assert(screenInfo.height == _h); + +#define set_screen(idx, _x, _y, _w, _h) \ + screenInfo.screens[idx]->x = _x; \ + screenInfo.screens[idx]->y = _y; \ + screenInfo.screens[idx]->width = _w; \ + screenInfo.screens[idx]->height = _h; \ + + printf("Testing\n"); + + /* single screen */ + screenInfo.numScreens = 1; + set_screen(0, x, y, w, h); + assert_dimensions(x, y, w, h); + + /* dualhead rightof */ + screenInfo.numScreens = 2; + set_screen(1, w, 0, w2, h2); + assert_dimensions(x, y, w + w2, h2); + + /* dualhead belowof */ + screenInfo.numScreens = 2; + set_screen(1, 0, h, w2, h2); + assert_dimensions(x, y, w2, h + h2); + + /* triplehead L shape */ + screenInfo.numScreens = 3; + set_screen(1, 0, h, w2, h2); + set_screen(2, w2, h2, w, h); + assert_dimensions(x, y, w + w2, h + h2); + + /* quadhead 2x2 */ + screenInfo.numScreens = 4; + set_screen(1, 0, h, w, h); + set_screen(2, w, h, w, h2); + set_screen(3, w, 0, w2, h); + assert_dimensions(x, y, w + w2, h + h2); + + /* quadhead horiz line */ + screenInfo.numScreens = 4; + set_screen(1, w, 0, w, h); + set_screen(2, 2 * w, 0, w, h); + set_screen(3, 3 * w, 0, w, h); + assert_dimensions(x, y, 4 * w, h); + + /* quadhead vert line */ + screenInfo.numScreens = 4; + set_screen(1, 0, h, w, h); + set_screen(2, 0, 2 * h, w, h); + set_screen(3, 0, 3 * h, w, h); + assert_dimensions(x, y, w, 4 * h); + + + /* x overlap */ + screenInfo.numScreens = 2; + set_screen(0, 0, 0, w2, h2); + set_screen(1, w, 0, w2, h2); + assert_dimensions(x, y, w2 + w, h2); + + /* y overlap */ + screenInfo.numScreens = 2; + set_screen(0, 0, 0, w2, h2); + set_screen(1, 0, h, w2, h2); + assert_dimensions(x, y, w2, h2 + h); + + /* negative origin */ + screenInfo.numScreens = 1; + set_screen(0, -w2, -h2, w, h); + assert_dimensions(-w2, -h2, w, h); + + /* dualhead negative origin, overlap */ + screenInfo.numScreens = 2; + set_screen(0, -w2, -h2, w2, h2); + set_screen(1, -w, -h, w, h); + assert_dimensions(-w2, -h2, w2, h2); +} + int main(int argc, char** argv) { dix_version_compare(); + dix_update_desktop_dimensions(); return 0; } diff --git a/xorg-server/test/xfree86.c b/xorg-server/test/xfree86.c index 7012e90c3..448aa915e 100644 --- a/xorg-server/test/xfree86.c +++ b/xorg-server/test/xfree86.c @@ -29,6 +29,7 @@ #include "xf86.h" +#include "xf86Parser.h" static void xfree86_option_list_duplicate(void) @@ -73,9 +74,34 @@ xfree86_option_list_duplicate(void) assert(a && b); } +static void +xfree86_add_comment(void) +{ + char *current = NULL, *comment; + char compare[1024] = {0}; + + comment = "# foo"; + current = xf86addComment(current, comment); + strcpy(compare, comment); + strcat(compare, "\n"); + + assert(!strcmp(current, compare)); + + /* this used to overflow */ + strcpy(current, "\n"); + comment = "foobar\n"; + current = xf86addComment(current, comment); + strcpy(compare, "\n#"); + strcat(compare, comment); + assert(!strcmp(current, compare)); + + free(current); +} + int main(int argc, char** argv) { xfree86_option_list_duplicate(); + xfree86_add_comment(); return 0; } diff --git a/xorg-server/test/xi2/protocol-common.c b/xorg-server/test/xi2/protocol-common.c index 56d6bd268..27edfe516 100644 --- a/xorg-server/test/xi2/protocol-common.c +++ b/xorg-server/test/xi2/protocol-common.c @@ -108,6 +108,7 @@ TestPointerProc(DeviceIntPtr pDev, int what) pDev->valuator->axisVal[1] = screenInfo.screens[0]->height / 2; pDev->last.valuators[1] = pDev->valuator->axisVal[1]; + /* protocol-xiquerydevice.c relies on these increment */ SetScrollValuator(pDev, 2, SCROLL_TYPE_VERTICAL, 2.4, SCROLL_FLAG_NONE); SetScrollValuator(pDev, 3, SCROLL_TYPE_HORIZONTAL, 3.5, SCROLL_FLAG_PREFERRED); break; diff --git a/xorg-server/test/xi2/protocol-eventconvert.c b/xorg-server/test/xi2/protocol-eventconvert.c index ba2d96ad1..dce1c50c4 100644 --- a/xorg-server/test/xi2/protocol-eventconvert.c +++ b/xorg-server/test/xi2/protocol-eventconvert.c @@ -389,9 +389,7 @@ static void test_values_XIDeviceEvent(DeviceEvent *in, xXIDeviceEvent *out, { FP3232 vi, vo; - vi.integral = trunc(in->valuators.data[i]); - vi.frac = (in->valuators.data[i] - vi.integral) * (1UL << 32); - + vi = double_to_fp3232(in->valuators.data[i]); vo = *values; if (swap) diff --git a/xorg-server/test/xi2/protocol-xiquerydevice.c b/xorg-server/test/xi2/protocol-xiquerydevice.c index 63d725f28..569aea93a 100644 --- a/xorg-server/test/xi2/protocol-xiquerydevice.c +++ b/xorg-server/test/xi2/protocol-xiquerydevice.c @@ -213,9 +213,9 @@ static void reply_XIQueryDevice_data(ClientPtr client, int len, char *data, void } assert(si->increment.integral == si->number); - /* FIXME: frac testing with float/FP issues? */ - assert(si->increment.frac > 0.3 * (1UL << 32)); - assert(si->increment.frac < 0.6 * (1UL << 32)); + /* protocol-common.c sets up increments of 2.4 and 3.5 */ + assert(si->increment.frac > 0.3 * (1ULL << 32)); + assert(si->increment.frac < 0.6 * (1ULL << 32)); } } diff --git a/xorg-server/xkb/ddxList.c b/xorg-server/xkb/ddxList.c index 9e67d71e4..e599f9169 100644 --- a/xorg-server/xkb/ddxList.c +++ b/xorg-server/xkb/ddxList.c @@ -44,7 +44,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #ifdef WIN32 /* from ddxLoad.c */ -extern const char* Win32TempDir(); +extern const char* Win32TempDir(void); extern int Win32System(const char *cmdline); #undef System #define System Win32System @@ -126,10 +126,11 @@ XkbDDXListComponent( DeviceIntPtr dev, char *file,*map,*tmp,*buf=NULL; FILE *in; Status status; -int rval; Bool haveDir; #ifdef WIN32 char tmpname[PATH_MAX]; +#else +int rval; #endif if ((list->pattern[what]==NULL)||(list->pattern[what][0]=='\0')) @@ -224,9 +225,9 @@ char tmpname[PATH_MAX]; if (!buf) { fclose(in); #ifdef WIN32 - unlink(tmpname); + unlink(tmpname); #endif - return BadAlloc; + return BadAlloc; } while ((status==Success)&&((tmp=fgets(buf,PATH_MAX,in))!=NULL)) { unsigned flags; diff --git a/xorg-server/xkb/ddxLoad.c b/xorg-server/xkb/ddxLoad.c index ee442d492..219d39c9a 100644 --- a/xorg-server/xkb/ddxLoad.c +++ b/xorg-server/xkb/ddxLoad.c @@ -268,8 +268,7 @@ XkbDDXCompileKeymapByNames( XkbDescPtr xkb, } free(buf); #ifdef WIN32 - /* remove the temporary file */ - unlink(tmpname); + unlink(tmpname); #endif return TRUE; } |