From fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb Mon Sep 17 00:00:00 2001 From: pepp Date: Tue, 12 Apr 2011 17:42:02 +0200 Subject: st/mesa: assign renderbuffer's format field when allocating storage See http://bugs.freedesktop.org/show_bug.cgi?id=36173 NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Brian Paul --- src/mesa/state_tracker/st_cb_fbo.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index e632d816542..755b6bcf967 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -90,6 +90,7 @@ st_renderbuffer_alloc_storage(struct gl_context * ctx, strb->Base.Format = st_pipe_format_to_mesa_format(format); strb->Base._BaseFormat = _mesa_base_fbo_format(ctx, internalFormat); strb->Base.DataType = st_format_datatype(format); + strb->format = format; strb->defined = GL_FALSE; /* undefined contents now */ -- cgit v1.2.3 From b522eb0717986bc7d8ca46ac1dd93a865e211345 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sun, 22 May 2011 07:09:53 -0700 Subject: i965: Remove comments about pre-965 hardware. They're irrelevant for this driver. Signed-off-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_tex_layout.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c index 9ac0713a1d3..92e5d0fff66 100644 --- a/src/mesa/drivers/dri/i965/brw_tex_layout.c +++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c @@ -152,9 +152,6 @@ GLboolean brw_miptree_layout(struct intel_context *intel, * in the texture surfaces run, so they may be "vertical" through * memory. As a result, the docs say in Surface Padding Requirements: * Sampling Engine Surfaces that two extra rows of padding are required. - * We don't know of similar requirements for pre-965, but given that - * those docs are silent on padding requirements in general, let's play - * it safe. */ if (mt->target == GL_TEXTURE_CUBE_MAP) mt->total_height += 2; -- cgit v1.2.3 From d0c6d24a9ebe31b3a805e8f5845fc7e6fa552a98 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 21 May 2011 22:51:42 -0700 Subject: i965/gen7: Fix miptree layout for cube surfaces. Volume 1a section 8.20.4.7.3 gives new equations which multiply by 12 instead of 11. Fixes 8 piglit tests: - fbo-cubemap - texCube - glsl-fs-texturecube - glsl-fs-texturecube-2 - glsl-fs-texturecube-2-bias - glsl-fs-texturecube-bias - arb_seamless_cubemap - cubemap Signed-off-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_tex_layout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c index 92e5d0fff66..4a3a2bfada2 100644 --- a/src/mesa/drivers/dri/i965/brw_tex_layout.c +++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c @@ -61,7 +61,7 @@ GLboolean brw_miptree_layout(struct intel_context *intel, */ h0 = ALIGN(mt->height0, align_h); h1 = ALIGN(minify(h0), align_h); - qpitch = (h0 + h1 + 11 * align_h); + qpitch = (h0 + h1 + (intel->gen >= 7 ? 12 : 11) * align_h); if (mt->compressed) qpitch /= 4; -- cgit v1.2.3 From e8b1c6d6f55f5be3bef25084fdd8b6127517e137 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 20 May 2011 18:21:15 -0400 Subject: mesa: Fix return type of _mesa_get_format_bytes() (#37351) Despite that negative values aren't sensible here, making this unsigned is dangerous. Consider get_pointer_generic, which computes a value of the form: void *base + (int x * int stride + int y) * unsigned bpp The usual arithmetic conversions will coerce the (x*stride + y) subexpression to unsigned. Since stride can be negative, this is disastrous. Fixes at least the following piglit tests on Ironlake: fbo/fbo-blit-d24s8 spec/ARB_depth_texture/fbo-clear-formats spec/EXT_packed_depth_stencil/fbo-clear-formats NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Chad Versace Signed-off-by: Adam Jackson --- src/mesa/main/formats.c | 4 +++- src/mesa/main/formats.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c index 60e8ae390a5..e88ba43971b 100644 --- a/src/mesa/main/formats.c +++ b/src/mesa/main/formats.c @@ -1118,8 +1118,10 @@ _mesa_get_format_name(gl_format format) * Return bytes needed to store a block of pixels in the given format. * Normally, a block is 1x1 (a single pixel). But for compressed formats * a block may be 4x4 or 8x4, etc. + * + * Note: not GLuint, so as not to coerce math to unsigned. cf. fdo #37351 */ -GLuint +GLint _mesa_get_format_bytes(gl_format format) { const struct gl_format_info *info = _mesa_get_format_info(format); diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h index df9ed70a3e0..0640bbc4af1 100644 --- a/src/mesa/main/formats.h +++ b/src/mesa/main/formats.h @@ -216,7 +216,7 @@ typedef enum extern const char * _mesa_get_format_name(gl_format format); -extern GLuint +extern GLint _mesa_get_format_bytes(gl_format format); extern GLint -- cgit v1.2.3 From 5af46e836073d2112b147b524e441bdb808cc128 Mon Sep 17 00:00:00 2001 From: Thierry Reding Date: Sun, 22 May 2011 14:07:22 +0200 Subject: mesa: Fix remap_table setup. Since the SET_xxx and GET_xxx macros used to initialize the remap_table have been replaced by inline functions, the missing late macro expansion leads to driDispatchRemapTable not being redefined to remap_table, which in turn causes the remap_table not to be setup properly. This commit fixes the issue by moving the table redefinition after the definition of driDispatchRemapTable but in front of the inline function definitions. --- src/mapi/glapi/gen/gl_table.py | 5 +++++ src/mesa/main/es_generator.py | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mapi/glapi/gen/gl_table.py b/src/mapi/glapi/gen/gl_table.py index 7183052f193..c3cc6164f2c 100644 --- a/src/mapi/glapi/gen/gl_table.py +++ b/src/mapi/glapi/gen/gl_table.py @@ -152,6 +152,11 @@ class PrintRemapTable(gl_XML.gl_print_base): print '#define driDispatchRemapTable_size %u' % (count) print 'extern int driDispatchRemapTable[ driDispatchRemapTable_size ];' print '' + print '#if FEATURE_remap_table' + print '#define driDispatchRemapTable remap_table' + print 'static int remap_table[driDispatchRemapTable_size];' + print '#endif' + print '' for f, index in functions: print '#define %s_remap_index %u' % (f.name, index) diff --git a/src/mesa/main/es_generator.py b/src/mesa/main/es_generator.py index a56debe0170..87d8bd31682 100644 --- a/src/mesa/main/es_generator.py +++ b/src/mesa/main/es_generator.py @@ -687,10 +687,6 @@ print """ #define need_MESA_remap_table #include "%sapi/main/remap_helper.h" -/* force SET_* macros to use the local remap table */ -#define driDispatchRemapTable remap_table -static int remap_table[driDispatchRemapTable_size]; - static void init_remap_table(void) { -- cgit v1.2.3 From c3c1976f522a67be6a0619e938a90cf186ad42e6 Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Mon, 23 May 2011 20:38:41 +0100 Subject: wgl: Don't hold on to user supplied HDC. Certain applications (e.g., Bernina My Label, and the Windows implementation of Processing language) destroy the device context used when creating the frame-buffer, causing presents to fail because we were still referring to the old device context internally. This change ensures we always use the same HDC passed to the ICD entry-points when available, or our own HDC when not available (necessary only when flushing on single buffered visuals). --- src/gallium/state_trackers/wgl/stw_framebuffer.c | 30 ++++++++++-------------- src/gallium/state_trackers/wgl/stw_st.c | 11 +++++---- src/gallium/state_trackers/wgl/stw_st.h | 4 +++- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/gallium/state_trackers/wgl/stw_framebuffer.c b/src/gallium/state_trackers/wgl/stw_framebuffer.c index 7a689f9977d..f595efe03f4 100644 --- a/src/gallium/state_trackers/wgl/stw_framebuffer.c +++ b/src/gallium/state_trackers/wgl/stw_framebuffer.c @@ -92,6 +92,8 @@ stw_framebuffer_destroy_locked( stw_st_destroy_framebuffer_locked(fb->stfb); + ReleaseDC(fb->hWnd, fb->hDC); + pipe_mutex_unlock( fb->mutex ); pipe_mutex_destroy( fb->mutex ); @@ -168,6 +170,7 @@ stw_framebuffer_get_size( struct stw_framebuffer *fb ) #if 0 debug_printf("\n"); + debug_printf("%s: hwnd = %p\n", __FUNCTION__, fb->hWnd); debug_printf("%s: client_position = (%li, %li)\n", __FUNCTION__, client_pos.x, client_pos.y); debug_printf("%s: window_rect = (%li, %li) - (%li, %li)\n", @@ -251,7 +254,11 @@ stw_framebuffer_create( if (fb == NULL) return NULL; - fb->hDC = hdc; + /* Applications use, create, destroy device contexts, so the hdc passed is. We create our own DC + * because we need one for single buffered visuals. + */ + fb->hDC = GetDC(hWnd); + fb->hWnd = hWnd; fb->iPixelFormat = iPixelFormat; @@ -378,24 +385,13 @@ stw_framebuffer_from_hdc_locked( HDC hdc ) { HWND hwnd; - struct stw_framebuffer *fb; - /* - * Some applications create and use several HDCs for the same window, so - * looking up the framebuffer by the HDC is not reliable. Use HWND whenever - * possible. - */ hwnd = WindowFromDC(hdc); - if(hwnd) - return stw_framebuffer_from_hwnd_locked(hwnd); - - for (fb = stw_dev->fb_head; fb != NULL; fb = fb->next) - if (fb->hDC == hdc) { - pipe_mutex_lock(fb->mutex); - break; - } + if (!hwnd) { + return NULL; + } - return fb; + return stw_framebuffer_from_hwnd_locked(hwnd); } @@ -607,7 +603,7 @@ DrvSwapBuffers( stw_flush_current_locked(fb); - return stw_st_swap_framebuffer_locked(fb->stfb); + return stw_st_swap_framebuffer_locked(hdc, fb->stfb); } diff --git a/src/gallium/state_trackers/wgl/stw_st.c b/src/gallium/state_trackers/wgl/stw_st.c index b58d91673b7..9174533fc06 100644 --- a/src/gallium/state_trackers/wgl/stw_st.c +++ b/src/gallium/state_trackers/wgl/stw_st.c @@ -154,7 +154,8 @@ stw_st_framebuffer_validate(struct st_framebuffer_iface *stfb, * Present an attachment of the framebuffer. */ static boolean -stw_st_framebuffer_present_locked(struct st_framebuffer_iface *stfb, +stw_st_framebuffer_present_locked(HDC hdc, + struct st_framebuffer_iface *stfb, enum st_attachment_type statt) { struct stw_st_framebuffer *stwfb = stw_st_framebuffer(stfb); @@ -162,7 +163,7 @@ stw_st_framebuffer_present_locked(struct st_framebuffer_iface *stfb, resource = stwfb->textures[statt]; if (resource) { - stw_framebuffer_present_locked(stwfb->fb->hDC, stwfb->fb, resource); + stw_framebuffer_present_locked(hdc, stwfb->fb, resource); } return TRUE; @@ -176,7 +177,7 @@ stw_st_framebuffer_flush_front(struct st_framebuffer_iface *stfb, pipe_mutex_lock(stwfb->fb->mutex); - return stw_st_framebuffer_present_locked(&stwfb->base, statt); + return stw_st_framebuffer_present_locked(stwfb->fb->hDC, &stwfb->base, statt); } /** @@ -220,7 +221,7 @@ stw_st_destroy_framebuffer_locked(struct st_framebuffer_iface *stfb) * Swap the buffers of the given framebuffer. */ boolean -stw_st_swap_framebuffer_locked(struct st_framebuffer_iface *stfb) +stw_st_swap_framebuffer_locked(HDC hdc, struct st_framebuffer_iface *stfb) { struct stw_st_framebuffer *stwfb = stw_st_framebuffer(stfb); unsigned front = ST_ATTACHMENT_FRONT_LEFT, back = ST_ATTACHMENT_BACK_LEFT; @@ -245,7 +246,7 @@ stw_st_swap_framebuffer_locked(struct st_framebuffer_iface *stfb) stwfb->texture_mask = mask; front = ST_ATTACHMENT_FRONT_LEFT; - return stw_st_framebuffer_present_locked(&stwfb->base, front); + return stw_st_framebuffer_present_locked(hdc, &stwfb->base, front); } /** diff --git a/src/gallium/state_trackers/wgl/stw_st.h b/src/gallium/state_trackers/wgl/stw_st.h index 23771d8bef6..945d3508b48 100644 --- a/src/gallium/state_trackers/wgl/stw_st.h +++ b/src/gallium/state_trackers/wgl/stw_st.h @@ -28,6 +28,8 @@ #ifndef STW_ST_H #define STW_ST_H +#include + #include "state_tracker/st_api.h" struct stw_framebuffer; @@ -42,6 +44,6 @@ void stw_st_destroy_framebuffer_locked(struct st_framebuffer_iface *stfb); boolean -stw_st_swap_framebuffer_locked(struct st_framebuffer_iface *stfb); +stw_st_swap_framebuffer_locked(HDC hdc, struct st_framebuffer_iface *stfb); #endif /* STW_ST_H */ -- cgit v1.2.3 From d57e95f22af1a1b2d9013db7a15524717bd29579 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 21 May 2011 10:43:49 -0600 Subject: st/mesa: rewrite st_choose_format() to be table driven Instead of using a giant switch statement with lots of code, use a table to convert GL format enums to pipe formats. Tested by running the old code next to the new and asserting that the return value was the same for piglit tests. We're doing a linear search, but if that ever appears to be too slow the table could easily be sorted or hashed. --- src/mesa/state_tracker/st_format.c | 1454 ++++++++++++++---------------------- 1 file changed, 549 insertions(+), 905 deletions(-) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index b1362108f0a..6ebe721bfd6 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -562,19 +562,546 @@ st_pipe_format_to_mesa_format(enum pipe_format format) } +/** + * Map GL texture formats to Gallium pipe formats. + */ +struct format_mapping +{ + GLenum glFormats[18]; /**< list of GLenum formats, 0-terminated */ + enum pipe_format pipeFormats[10]; /**< list of pipe formats, 0-terminated */ +}; + + +#define DEFAULT_RGBA_FORMATS \ + PIPE_FORMAT_B8G8R8A8_UNORM, \ + PIPE_FORMAT_A8R8G8B8_UNORM, \ + PIPE_FORMAT_A8B8G8R8_UNORM, \ + PIPE_FORMAT_B5G6R5_UNORM, \ + 0 + +#define DEFAULT_RGB_FORMATS \ + PIPE_FORMAT_B8G8R8X8_UNORM, \ + PIPE_FORMAT_X8R8G8B8_UNORM, \ + PIPE_FORMAT_X8B8G8R8_UNORM, \ + PIPE_FORMAT_B8G8R8A8_UNORM, \ + PIPE_FORMAT_A8R8G8B8_UNORM, \ + PIPE_FORMAT_A8B8G8R8_UNORM, \ + PIPE_FORMAT_B5G6R5_UNORM, \ + 0 + +#define DEFAULT_SRGBA_FORMATS \ + PIPE_FORMAT_B8G8R8A8_SRGB, \ + PIPE_FORMAT_A8R8G8B8_SRGB, \ + PIPE_FORMAT_A8B8G8R8_SRGB, \ + 0 + +/** + * This table maps OpenGL texture format enums to Gallium pipe_format enums. + * Multiple GL enums might map to multiple pipe_formats. + * The first pipe format in the list that's supported is the one that's chosen. + */ +static struct format_mapping format_map[] = { + /* Basic RGB, RGBA formats */ + { + { GL_RGB10, GL_RGB10_A2, 0 }, + { PIPE_FORMAT_B10G10R10A2_UNORM, 0 } + }, + { + { 4, GL_RGBA, GL_RGBA8, 0 }, + { DEFAULT_RGBA_FORMATS, 0 } + }, + { + { GL_BGRA, 0 }, + { PIPE_FORMAT_B8G8R8A8_UNORM, DEFAULT_RGB_FORMATS, 0 } + }, + { + { 3, GL_RGB, GL_RGB8, 0 }, + { DEFAULT_RGB_FORMATS, 0 } + }, + { + { GL_RGB12, GL_RGB16, GL_RGBA12, GL_RGBA16, 0 }, + { PIPE_FORMAT_R16G16B16A16_UNORM, DEFAULT_RGB_FORMATS, 0 } + }, + { + { GL_RGBA4, GL_RGBA2, 0 }, + { PIPE_FORMAT_B4G4R4A4_UNORM, DEFAULT_RGBA_FORMATS } + }, + { + { GL_RGB5_A1, 0 }, + { PIPE_FORMAT_B5G5R5A1_UNORM, DEFAULT_RGBA_FORMATS, 0 } + }, + { + { GL_R3_G3_B2, 0 }, + { PIPE_FORMAT_B2G3R3_UNORM, PIPE_FORMAT_B5G6R5_UNORM, + PIPE_FORMAT_B5G5R5A1_UNORM, DEFAULT_RGBA_FORMATS } + }, + { + { GL_RGB5, GL_RGB4 }, + { PIPE_FORMAT_B5G6R5_UNORM, PIPE_FORMAT_B5G5R5A1_UNORM, + DEFAULT_RGBA_FORMATS } + }, + + /* basic Alpha formats */ + { + { GL_ALPHA12, GL_ALPHA16, 0 }, + { PIPE_FORMAT_A16_UNORM, PIPE_FORMAT_A8_UNORM, + DEFAULT_RGBA_FORMATS } + }, + { + { GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_COMPRESSED_ALPHA, 0 }, + { PIPE_FORMAT_A8_UNORM, DEFAULT_RGBA_FORMATS } + }, + + /* basic Luminance formats */ + { + { GL_LUMINANCE12, GL_LUMINANCE16, 0 }, + { PIPE_FORMAT_L16_UNORM, PIPE_FORMAT_L8_UNORM, DEFAULT_RGBA_FORMATS, 0 } + }, + { + { 1, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, 0 }, + { PIPE_FORMAT_L8_UNORM, DEFAULT_RGBA_FORMATS } + }, + + /* basic Luminance/Alpha formats */ + { + { GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, + GL_LUMINANCE16_ALPHA16, 0}, + { PIPE_FORMAT_L16A16_UNORM, PIPE_FORMAT_L8A8_UNORM, + PIPE_FORMAT_L8A8_UNORM, DEFAULT_RGBA_FORMATS } + }, + { + { 2, GL_LUMINANCE_ALPHA, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, 0 }, + { PIPE_FORMAT_L8A8_UNORM, DEFAULT_RGBA_FORMATS } + }, + { + { GL_LUMINANCE4_ALPHA4, 0 }, + { PIPE_FORMAT_L4A4_UNORM, PIPE_FORMAT_L4A4_UNORM, + DEFAULT_RGBA_FORMATS } + }, + + /* basic Intensity formats */ + { + { GL_INTENSITY12, GL_INTENSITY16, 0 }, + { PIPE_FORMAT_I16_UNORM, PIPE_FORMAT_I8_UNORM, DEFAULT_RGBA_FORMATS } + }, + { + { GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, + GL_COMPRESSED_INTENSITY, 0 }, + { PIPE_FORMAT_I8_UNORM, DEFAULT_RGBA_FORMATS } + }, + + /* YCbCr */ + { + { GL_YCBCR_MESA, 0 }, + { PIPE_FORMAT_UYVY, PIPE_FORMAT_YUYV, 0 } + }, + + /* compressed formats */ /* XXX PIPE_BIND_SAMPLER_VIEW only */ + { + { GL_COMPRESSED_RGB, 0 }, + { PIPE_FORMAT_DXT1_RGB, 0 } + }, + { + { GL_COMPRESSED_RGBA, 0 }, + { PIPE_FORMAT_DXT5_RGBA, 0 } + }, + { + { GL_RGB_S3TC, GL_RGB4_S3TC, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, 0 }, + { PIPE_FORMAT_DXT1_RGB, 0 } + }, + { + { GL_COMPRESSED_RGBA_S3TC_DXT1_EXT, 0 }, + { PIPE_FORMAT_DXT1_RGBA, 0 } + }, + { + { GL_RGBA_S3TC, GL_RGBA4_S3TC, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT, 0 }, + { PIPE_FORMAT_DXT3_RGBA, 0 } + }, + { + { GL_COMPRESSED_RGBA_S3TC_DXT5_EXT, 0 }, + { PIPE_FORMAT_DXT5_RGBA, 0 } + }, + +#if 0 + { + { GL_COMPRESSED_RGB_FXT1_3DFX, 0 }, + { PIPE_FORMAT_RGB_FXT1, 0 } + }, + { + { GL_COMPRESSED_RGBA_FXT1_3DFX, 0 }, + { PIPE_FORMAT_RGB_FXT1, 0 } + }, +#endif + + /* Depth formats */ + { + { GL_DEPTH_COMPONENT16, 0 }, + { PIPE_FORMAT_Z16_UNORM, PIPE_FORMAT_Z24_UNORM_S8_USCALED, + PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_FORMAT_Z32_UNORM, 0 } + }, + { + { GL_DEPTH_COMPONENT24, 0 }, + { PIPE_FORMAT_Z24_UNORM_S8_USCALED, + PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_FORMAT_Z32_UNORM, 0 } + }, + { + { GL_DEPTH_COMPONENT32, 0 }, + { PIPE_FORMAT_Z32_UNORM, 0 } + }, + { + { GL_DEPTH_COMPONENT, 0 }, + { PIPE_FORMAT_Z32_UNORM, PIPE_FORMAT_Z24_UNORM_S8_USCALED, + PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_FORMAT_Z16_UNORM, 0 } + }, + + /* stencil formats */ + { + { GL_STENCIL_INDEX, GL_STENCIL_INDEX1_EXT, GL_STENCIL_INDEX4_EXT, + GL_STENCIL_INDEX8_EXT, GL_STENCIL_INDEX16_EXT, 0 }, + { + PIPE_FORMAT_S8_USCALED, PIPE_FORMAT_Z24_UNORM_S8_USCALED, + PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 + } + }, + + /* Depth / Stencil formats */ + { + { GL_DEPTH_STENCIL_EXT, GL_DEPTH24_STENCIL8_EXT, 0 }, + { PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 } + }, + + /* sRGB formats */ + { + { GL_SRGB_EXT, GL_SRGB8_EXT, GL_SRGB_ALPHA_EXT, GL_SRGB8_ALPHA8_EXT, 0 }, + { DEFAULT_SRGBA_FORMATS } + }, + { + { GL_COMPRESSED_SRGB_EXT, GL_COMPRESSED_SRGB_S3TC_DXT1_EXT, 0 }, + { PIPE_FORMAT_DXT1_SRGB, DEFAULT_SRGBA_FORMATS } + }, + { + { GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT, 0 }, + { PIPE_FORMAT_DXT1_SRGBA, 0 } + }, + { + { GL_COMPRESSED_SRGB_ALPHA_EXT, + GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT, 0 }, + { PIPE_FORMAT_DXT3_SRGBA, DEFAULT_SRGBA_FORMATS } + }, + { + { GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT, 0 }, + { PIPE_FORMAT_DXT5_SRGBA, 0 } + }, + { + { GL_SLUMINANCE_ALPHA_EXT, GL_SLUMINANCE8_ALPHA8_EXT, + GL_COMPRESSED_SLUMINANCE_EXT, GL_COMPRESSED_SLUMINANCE_ALPHA_EXT, 0 }, + { PIPE_FORMAT_L8A8_SRGB, DEFAULT_SRGBA_FORMATS } + }, + { + { GL_SLUMINANCE_EXT, GL_SLUMINANCE8_EXT, 0 }, + { PIPE_FORMAT_L8_SRGB, DEFAULT_SRGBA_FORMATS } + }, + + /* 16-bit float formats */ + { + { GL_RGBA16F_ARB, 0 }, + { PIPE_FORMAT_R16G16B16A16_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + { + { GL_RGB16F_ARB, 0 }, + { PIPE_FORMAT_R16G16B16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, + PIPE_FORMAT_R32G32B32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + { + { GL_LUMINANCE_ALPHA16F_ARB, 0 }, + { PIPE_FORMAT_L16A16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, + PIPE_FORMAT_L32A32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + { + { GL_ALPHA16F_ARB, 0 }, + { PIPE_FORMAT_A16_FLOAT, PIPE_FORMAT_L16A16_FLOAT, + PIPE_FORMAT_A32_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, + PIPE_FORMAT_L32A32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + { + { GL_INTENSITY16F_ARB, 0 }, + { PIPE_FORMAT_I16_FLOAT, PIPE_FORMAT_L16A16_FLOAT, + PIPE_FORMAT_I32_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, + PIPE_FORMAT_L32A32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + { + { GL_LUMINANCE16F_ARB, 0 }, + { PIPE_FORMAT_L16_FLOAT, PIPE_FORMAT_L16A16_FLOAT, + PIPE_FORMAT_L32_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, + PIPE_FORMAT_L32A32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + { + { GL_R16F, 0 }, + { PIPE_FORMAT_R16_FLOAT, PIPE_FORMAT_R16G16_FLOAT, + PIPE_FORMAT_R32_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, + PIPE_FORMAT_R32G32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + { + { GL_RG16F, 0 }, + { PIPE_FORMAT_R16G16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, + PIPE_FORMAT_R32G32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } + }, + + /* 32-bit float formats */ + { + { GL_RGBA32F_ARB, 0 }, + { PIPE_FORMAT_R32G32B32A32_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + { + { GL_RGB32F_ARB, 0 }, + { PIPE_FORMAT_R32G32B32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, + PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + { + { GL_LUMINANCE_ALPHA32F_ARB, 0 }, + { PIPE_FORMAT_L32A32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, + PIPE_FORMAT_L16A16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + { + { GL_ALPHA32F_ARB, 0 }, + { PIPE_FORMAT_A32_FLOAT, PIPE_FORMAT_L32A32_FLOAT, + PIPE_FORMAT_R32G32B32A32_FLOAT, PIPE_FORMAT_A16_FLOAT, + PIPE_FORMAT_L16A16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + { + { GL_INTENSITY32F_ARB, 0 }, + { PIPE_FORMAT_I32_FLOAT, PIPE_FORMAT_L32A32_FLOAT, + PIPE_FORMAT_R32G32B32A32_FLOAT, PIPE_FORMAT_I16_FLOAT, + PIPE_FORMAT_L16A16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + { + { GL_LUMINANCE32F_ARB, 0 }, + { PIPE_FORMAT_L32_FLOAT, PIPE_FORMAT_L32A32_FLOAT, + PIPE_FORMAT_R32G32B32A32_FLOAT, PIPE_FORMAT_L16_FLOAT, + PIPE_FORMAT_L16A16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + { + { GL_R32F, 0 }, + { PIPE_FORMAT_R32_FLOAT, PIPE_FORMAT_R32G32_FLOAT, + PIPE_FORMAT_R32G32B32A32_FLOAT, PIPE_FORMAT_R16_FLOAT, + PIPE_FORMAT_R16G16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + { + { GL_RG32F, 0 }, + { PIPE_FORMAT_R32G32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, + PIPE_FORMAT_R16G16_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, 0 } + }, + + /* R, RG formats */ + { + { GL_RED, GL_R8, 0 }, + { PIPE_FORMAT_R8_UNORM, 0 } + }, + { + { GL_RG, GL_RG8, 0 }, + { PIPE_FORMAT_R8G8_UNORM, 0 } + }, + { + { GL_R16, 0 }, + { PIPE_FORMAT_R16_UNORM, 0 } + }, + { + { GL_RG16, 0 }, + { PIPE_FORMAT_R16G16_UNORM, 0 } + }, + + /* compressed R, RG formats */ + { + { GL_COMPRESSED_RED, GL_COMPRESSED_RED_RGTC1, 0 }, + { PIPE_FORMAT_RGTC1_UNORM, PIPE_FORMAT_R8_UNORM, 0 } + }, + { + { GL_COMPRESSED_SIGNED_RED_RGTC1, 0 }, + { PIPE_FORMAT_RGTC1_SNORM, 0 } + }, + { + { GL_COMPRESSED_RG, GL_COMPRESSED_RG_RGTC2, 0 }, + { PIPE_FORMAT_RGTC2_UNORM, PIPE_FORMAT_R8G8_UNORM, 0 } + }, + { + { GL_COMPRESSED_SIGNED_RG_RGTC2, 0 }, + { PIPE_FORMAT_RGTC2_SNORM, 0 } + }, + { + { GL_COMPRESSED_LUMINANCE, GL_COMPRESSED_LUMINANCE_LATC1_EXT, 0 }, + { PIPE_FORMAT_LATC1_UNORM, PIPE_FORMAT_L8_UNORM, 0 } + }, + { + { GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT, 0 }, + { PIPE_FORMAT_LATC1_SNORM, 0 } + }, + { + { GL_COMPRESSED_LUMINANCE_ALPHA, GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT, + GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI, 0 }, + { PIPE_FORMAT_LATC2_UNORM, PIPE_FORMAT_L8A8_UNORM, 0 } + }, + { + { GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT, 0 }, + { PIPE_FORMAT_LATC2_SNORM, 0 } + }, + + /* signed/unsigned integer formats. + * XXX Mesa only has formats for RGBA signed/unsigned integer formats. + * If/when new formats are added this code should be updated. + */ + { + { GL_RED_INTEGER_EXT, + GL_GREEN_INTEGER_EXT, + GL_BLUE_INTEGER_EXT, + GL_ALPHA_INTEGER_EXT, + GL_RGB_INTEGER_EXT, + GL_RGBA_INTEGER_EXT, + GL_BGR_INTEGER_EXT, + GL_BGRA_INTEGER_EXT, + GL_LUMINANCE_INTEGER_EXT, + GL_LUMINANCE_ALPHA_INTEGER_EXT, + GL_RGBA8I_EXT, + GL_RGB8I_EXT, + GL_ALPHA8I_EXT, + GL_INTENSITY8I_EXT, + GL_LUMINANCE8I_EXT, + GL_LUMINANCE_ALPHA8I_EXT, 0 }, + { PIPE_FORMAT_R8G8B8A8_SSCALED, 0 } + }, + { + { + GL_RGBA16I_EXT, + GL_RGB16I_EXT, + GL_ALPHA16I_EXT, + GL_INTENSITY16I_EXT, + GL_LUMINANCE16I_EXT, + GL_LUMINANCE_ALPHA16I_EXT, 0 }, + { PIPE_FORMAT_R16G16B16A16_SSCALED, 0 }, + }, + { + { + GL_RGBA32I_EXT, + GL_RGB32I_EXT, + GL_ALPHA32I_EXT, + GL_INTENSITY32I_EXT, + GL_LUMINANCE32I_EXT, + GL_LUMINANCE_ALPHA32I_EXT, 0 }, + { PIPE_FORMAT_R32G32B32A32_SSCALED, 0 } + }, + { + { + GL_RGBA8UI_EXT, + GL_RGB8UI_EXT, + GL_ALPHA8UI_EXT, + GL_INTENSITY8UI_EXT, + GL_LUMINANCE8UI_EXT, + GL_LUMINANCE_ALPHA8UI_EXT, 0 }, + { PIPE_FORMAT_R8G8B8A8_USCALED, 0 } + }, + { + { + GL_RGBA16UI_EXT, + GL_RGB16UI_EXT, + GL_ALPHA16UI_EXT, + GL_INTENSITY16UI_EXT, + GL_LUMINANCE16UI_EXT, + GL_LUMINANCE_ALPHA16UI_EXT, 0 }, + { PIPE_FORMAT_R16G16B16A16_USCALED, 0 } + }, + { + { + GL_RGBA32UI_EXT, + GL_RGB32UI_EXT, + GL_ALPHA32UI_EXT, + GL_INTENSITY32UI_EXT, + GL_LUMINANCE32UI_EXT, + GL_LUMINANCE_ALPHA32UI_EXT, 0 }, + { PIPE_FORMAT_R32G32B32A32_USCALED, 0 } + }, + + /* signed normalized formats */ + { + { GL_RED_SNORM, GL_R8_SNORM, 0 }, + { PIPE_FORMAT_R8_SNORM, PIPE_FORMAT_R8G8_SNORM, + PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_R16_SNORM, 0 }, + { PIPE_FORMAT_R16_SNORM, + PIPE_FORMAT_R16G16_SNORM, + PIPE_FORMAT_R16G16B16A16_SNORM, + PIPE_FORMAT_R8_SNORM, + PIPE_FORMAT_R8G8_SNORM, + PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_RG_SNORM, GL_RG8_SNORM, 0 }, + { PIPE_FORMAT_R8G8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_RG16_SNORM, 0 }, + { PIPE_FORMAT_R16G16_SNORM, PIPE_FORMAT_R16G16B16A16_SNORM, + PIPE_FORMAT_R8G8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_RGB_SNORM, GL_RGB8_SNORM, GL_RGBA_SNORM, GL_RGBA8_SNORM, 0 }, + { PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_RGB16_SNORM, GL_RGBA16_SNORM, 0 }, + { PIPE_FORMAT_R16G16B16A16_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_ALPHA_SNORM, GL_ALPHA8_SNORM, 0 }, + { PIPE_FORMAT_A8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_ALPHA16_SNORM, 0 }, + { PIPE_FORMAT_A16_SNORM, PIPE_FORMAT_R16G16B16A16_SNORM, + PIPE_FORMAT_A8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_LUMINANCE_SNORM, GL_LUMINANCE8_SNORM, 0 }, + { PIPE_FORMAT_L8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_LUMINANCE16_SNORM, 0 }, + { PIPE_FORMAT_L16_SNORM, PIPE_FORMAT_R16G16B16A16_SNORM, + PIPE_FORMAT_L8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_LUMINANCE_ALPHA_SNORM, GL_LUMINANCE8_ALPHA8_SNORM, 0 }, + { PIPE_FORMAT_L8A8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_LUMINANCE16_ALPHA16_SNORM, 0 }, + { PIPE_FORMAT_L16A16_SNORM, PIPE_FORMAT_R16G16B16A16_SNORM, + PIPE_FORMAT_L8A8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_INTENSITY_SNORM, GL_INTENSITY8_SNORM, 0 }, + { PIPE_FORMAT_I8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_INTENSITY16_SNORM, 0 }, + { PIPE_FORMAT_I16_SNORM, PIPE_FORMAT_R16G16B16A16_SNORM, + PIPE_FORMAT_I8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + } +}; + + /** * Return first supported format from the given list. */ static enum pipe_format find_supported_format(struct pipe_screen *screen, const enum pipe_format formats[], - uint num_formats, enum pipe_texture_target target, unsigned sample_count, unsigned tex_usage) { uint i; - for (i = 0; i < num_formats; i++) { + for (i = 0; formats[i]; i++) { if (screen->is_format_supported(screen, formats[i], target, sample_count, tex_usage)) { return formats[i]; @@ -584,67 +1111,6 @@ find_supported_format(struct pipe_screen *screen, } -/** - * Find an RGBA format supported by the context/winsys. - */ -static enum pipe_format -default_rgba_format(struct pipe_screen *screen, - enum pipe_texture_target target, - unsigned sample_count, - unsigned tex_usage) -{ - static const enum pipe_format colorFormats[] = { - PIPE_FORMAT_B8G8R8A8_UNORM, - PIPE_FORMAT_A8R8G8B8_UNORM, - PIPE_FORMAT_A8B8G8R8_UNORM, - PIPE_FORMAT_B5G6R5_UNORM - }; - return find_supported_format(screen, colorFormats, Elements(colorFormats), - target, sample_count, tex_usage); -} - - -/** - * Find an RGB format supported by the context/winsys. - */ -static enum pipe_format -default_rgb_format(struct pipe_screen *screen, - enum pipe_texture_target target, - unsigned sample_count, - unsigned tex_usage) -{ - static const enum pipe_format colorFormats[] = { - PIPE_FORMAT_B8G8R8X8_UNORM, - PIPE_FORMAT_X8R8G8B8_UNORM, - PIPE_FORMAT_X8B8G8R8_UNORM, - PIPE_FORMAT_B8G8R8A8_UNORM, - PIPE_FORMAT_A8R8G8B8_UNORM, - PIPE_FORMAT_A8B8G8R8_UNORM, - PIPE_FORMAT_B5G6R5_UNORM - }; - return find_supported_format(screen, colorFormats, Elements(colorFormats), - target, sample_count, tex_usage); -} - -/** - * Find an sRGBA format supported by the context/winsys. - */ -static enum pipe_format -default_srgba_format(struct pipe_screen *screen, - enum pipe_texture_target target, - unsigned sample_count, - unsigned tex_usage) -{ - static const enum pipe_format colorFormats[] = { - PIPE_FORMAT_B8G8R8A8_SRGB, - PIPE_FORMAT_A8R8G8B8_SRGB, - PIPE_FORMAT_A8B8G8R8_SRGB, - }; - return find_supported_format(screen, colorFormats, Elements(colorFormats), - target, sample_count, tex_usage); -} - - /** * Given an OpenGL internalFormat value for a texture or surface, return * the best matching PIPE_FORMAT_x, or PIPE_FORMAT_NONE if there's no match. @@ -663,853 +1129,31 @@ st_choose_format(struct pipe_screen *screen, GLenum internalFormat, enum pipe_texture_target target, unsigned sample_count, unsigned bindings) { + GET_CURRENT_CONTEXT(ctx); /* XXX this should be a function parameter */ + int i, j; - switch (internalFormat) { - case GL_RGB10: - case GL_RGB10_A2: - if (screen->is_format_supported( screen, PIPE_FORMAT_B10G10R10A2_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_B10G10R10A2_UNORM; - /* Pass through. */ - case 4: - case GL_RGBA: - case GL_RGBA8: - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_BGRA: - if (screen->is_format_supported( screen, PIPE_FORMAT_B8G8R8A8_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_B8G8R8A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case 3: - case GL_RGB: - case GL_RGB8: - return default_rgb_format( screen, target, sample_count, bindings); - - case GL_RGB12: - case GL_RGB16: - case GL_RGBA12: - case GL_RGBA16: - if (screen->is_format_supported( screen, PIPE_FORMAT_R16G16B16A16_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_R16G16B16A16_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_RGBA4: - case GL_RGBA2: - if (screen->is_format_supported( screen, PIPE_FORMAT_B4G4R4A4_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_B4G4R4A4_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_RGB5_A1: - if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_B5G5R5A1_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_R3_G3_B2: - if (screen->is_format_supported( screen, PIPE_FORMAT_B2G3R3_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_B2G3R3_UNORM; - /* Pass through. */ - case GL_RGB5: - case GL_RGB4: - if (screen->is_format_supported( screen, PIPE_FORMAT_B5G6R5_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_B5G6R5_UNORM; - if (screen->is_format_supported( screen, PIPE_FORMAT_B5G5R5A1_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_B5G5R5A1_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_ALPHA12: - case GL_ALPHA16: - if (screen->is_format_supported( screen, PIPE_FORMAT_A16_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_A16_UNORM; - /* Pass through. */ - case GL_ALPHA: - case GL_ALPHA4: - case GL_ALPHA8: - case GL_COMPRESSED_ALPHA: - if (screen->is_format_supported( screen, PIPE_FORMAT_A8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_LUMINANCE12: - case GL_LUMINANCE16: - if (screen->is_format_supported( screen, PIPE_FORMAT_L16_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L16_UNORM; - /* Pass through. */ - case 1: - case GL_LUMINANCE: - case GL_LUMINANCE4: - case GL_LUMINANCE8: - if (screen->is_format_supported( screen, PIPE_FORMAT_L8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_LUMINANCE12_ALPHA4: - case GL_LUMINANCE12_ALPHA12: - case GL_LUMINANCE16_ALPHA16: - if (screen->is_format_supported( screen, PIPE_FORMAT_L16A16_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L16A16_UNORM; - /* Pass through. */ - case 2: - case GL_LUMINANCE_ALPHA: - case GL_LUMINANCE6_ALPHA2: - case GL_LUMINANCE8_ALPHA8: - if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L8A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_LUMINANCE4_ALPHA4: - if (screen->is_format_supported( screen, PIPE_FORMAT_L4A4_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L4A4_UNORM; - if (screen->is_format_supported( screen, PIPE_FORMAT_L8A8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L8A8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_INTENSITY12: - case GL_INTENSITY16: - if (screen->is_format_supported( screen, PIPE_FORMAT_I16_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_I16_UNORM; - /* Pass through. */ - case GL_INTENSITY: - case GL_INTENSITY4: - case GL_INTENSITY8: - case GL_COMPRESSED_INTENSITY: - if (screen->is_format_supported( screen, PIPE_FORMAT_I8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_I8_UNORM; - return default_rgba_format( screen, target, sample_count, bindings); - - case GL_YCBCR_MESA: - if (screen->is_format_supported(screen, PIPE_FORMAT_UYVY, target, - sample_count, bindings)) { - return PIPE_FORMAT_UYVY; - } - if (screen->is_format_supported(screen, PIPE_FORMAT_YUYV, target, - sample_count, bindings)) { - return PIPE_FORMAT_YUYV; - } - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_RGB: - /* can only sample from compressed formats */ - if (bindings & ~PIPE_BIND_SAMPLER_VIEW) - return PIPE_FORMAT_NONE; - else if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_RGB, - target, sample_count, bindings)) - return PIPE_FORMAT_DXT1_RGB; - else - return default_rgb_format(screen, target, sample_count, bindings); - - case GL_COMPRESSED_RGBA: - /* can only sample from compressed formats */ - if (bindings & ~PIPE_BIND_SAMPLER_VIEW) - return PIPE_FORMAT_NONE; - else if (screen->is_format_supported(screen, PIPE_FORMAT_DXT3_RGBA, - target, sample_count, bindings)) - return PIPE_FORMAT_DXT3_RGBA; - else - return default_rgba_format(screen, target, sample_count, bindings); - - case GL_RGB_S3TC: - case GL_RGB4_S3TC: - case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_RGB, - target, sample_count, bindings)) - return PIPE_FORMAT_DXT1_RGB; - else - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_RGBA, - target, sample_count, bindings)) - return PIPE_FORMAT_DXT1_RGBA; - else - return PIPE_FORMAT_NONE; - - case GL_RGBA_S3TC: - case GL_RGBA4_S3TC: - case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_DXT3_RGBA, - target, sample_count, bindings)) - return PIPE_FORMAT_DXT3_RGBA; - else - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_DXT5_RGBA, - target, sample_count, bindings)) - return PIPE_FORMAT_DXT5_RGBA; - else - return PIPE_FORMAT_NONE; - -#if 0 - case GL_COMPRESSED_RGB_FXT1_3DFX: - return PIPE_FORMAT_RGB_FXT1; - case GL_COMPRESSED_RGBA_FXT1_3DFX: - return PIPE_FORMAT_RGB_FXT1; -#endif - - case GL_DEPTH_COMPONENT16: - if (screen->is_format_supported(screen, PIPE_FORMAT_Z16_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_Z16_UNORM; - /* fall-through */ - case GL_DEPTH_COMPONENT24: - if (screen->is_format_supported(screen, PIPE_FORMAT_Z24_UNORM_S8_USCALED, - target, sample_count, bindings)) - return PIPE_FORMAT_Z24_UNORM_S8_USCALED; - if (screen->is_format_supported(screen, PIPE_FORMAT_S8_USCALED_Z24_UNORM, - target, sample_count, bindings)) - return PIPE_FORMAT_S8_USCALED_Z24_UNORM; - /* fall-through */ - case GL_DEPTH_COMPONENT32: - if (screen->is_format_supported(screen, PIPE_FORMAT_Z32_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_Z32_UNORM; - /* fall-through */ - case GL_DEPTH_COMPONENT: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_Z32_UNORM, - PIPE_FORMAT_Z24_UNORM_S8_USCALED, - PIPE_FORMAT_S8_USCALED_Z24_UNORM, - PIPE_FORMAT_Z16_UNORM - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_STENCIL_INDEX: - case GL_STENCIL_INDEX1_EXT: - case GL_STENCIL_INDEX4_EXT: - case GL_STENCIL_INDEX8_EXT: - case GL_STENCIL_INDEX16_EXT: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_S8_USCALED, - PIPE_FORMAT_Z24_UNORM_S8_USCALED, - PIPE_FORMAT_S8_USCALED_Z24_UNORM - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_DEPTH_STENCIL_EXT: - case GL_DEPTH24_STENCIL8_EXT: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_Z24_UNORM_S8_USCALED, - PIPE_FORMAT_S8_USCALED_Z24_UNORM - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_SRGB_EXT: - case GL_SRGB8_EXT: - case GL_SRGB_ALPHA_EXT: - case GL_SRGB8_ALPHA8_EXT: - return default_srgba_format( screen, target, sample_count, bindings); - - case GL_COMPRESSED_SRGB_EXT: - case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_DXT1_SRGB, target, - sample_count, bindings)) - return PIPE_FORMAT_DXT1_SRGB; - return default_srgba_format( screen, target, sample_count, bindings); - - case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: - return PIPE_FORMAT_DXT1_SRGBA; - - case GL_COMPRESSED_SRGB_ALPHA_EXT: - case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_DXT3_SRGBA, target, - sample_count, bindings)) - return PIPE_FORMAT_DXT3_SRGBA; - return default_srgba_format( screen, target, sample_count, bindings); - - case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: - return PIPE_FORMAT_DXT5_SRGBA; - - case GL_SLUMINANCE_ALPHA_EXT: - case GL_SLUMINANCE8_ALPHA8_EXT: - case GL_COMPRESSED_SLUMINANCE_EXT: - case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_L8A8_SRGB, target, - sample_count, bindings)) - return PIPE_FORMAT_L8A8_SRGB; - return default_srgba_format( screen, target, sample_count, bindings); - - case GL_SLUMINANCE_EXT: - case GL_SLUMINANCE8_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_L8_SRGB, target, - sample_count, bindings)) - return PIPE_FORMAT_L8_SRGB; - return default_srgba_format( screen, target, sample_count, bindings); - - /* prefer formats in order of data size, choosing 16-bit ones if equal sized */ - case GL_RGBA16F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_RGB16F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R16G16B16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_R32G32B32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_LUMINANCE_ALPHA16F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_ALPHA16F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_A16_FLOAT, - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_A32_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_INTENSITY16F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_I16_FLOAT, - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_I32_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_LUMINANCE16F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L16_FLOAT, - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_L32_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_R16F: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R16_FLOAT, - PIPE_FORMAT_R16G16_FLOAT, - PIPE_FORMAT_R32_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_R32G32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_RG16F: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R16G16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT, - PIPE_FORMAT_R32G32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - /* try a 32-bit format if available, otherwise fallback to a 16-bit one */ - case GL_RGBA32F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_RGB32F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R32G32B32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_LUMINANCE_ALPHA32F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_ALPHA32F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_A32_FLOAT, - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_A16_FLOAT, - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_INTENSITY32F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_I32_FLOAT, - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_I16_FLOAT, - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_LUMINANCE32F_ARB: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L32_FLOAT, - PIPE_FORMAT_L32A32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_L16_FLOAT, - PIPE_FORMAT_L16A16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_R32F: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R32_FLOAT, - PIPE_FORMAT_R32G32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_R16_FLOAT, - PIPE_FORMAT_R16G16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - case GL_RG32F: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R32G32_FLOAT, - PIPE_FORMAT_R32G32B32A32_FLOAT, - PIPE_FORMAT_R16G16_FLOAT, - PIPE_FORMAT_R16G16B16A16_FLOAT - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_RED: - case GL_R8: - if (screen->is_format_supported(screen, PIPE_FORMAT_R8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_R8_UNORM; - return PIPE_FORMAT_NONE; - case GL_RG: - case GL_RG8: - if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_R8G8_UNORM; - return PIPE_FORMAT_NONE; - - case GL_R16: - if (screen->is_format_supported(screen, PIPE_FORMAT_R16_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_R16_UNORM; - return PIPE_FORMAT_NONE; - - case GL_RG16: - if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_R16G16_UNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_RED: - case GL_COMPRESSED_RED_RGTC1: - if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC1_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_RGTC1_UNORM; - if (screen->is_format_supported(screen, PIPE_FORMAT_R8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_R8_UNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_SIGNED_RED_RGTC1: - if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC1_SNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_RGTC1_SNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_RG: - case GL_COMPRESSED_RG_RGTC2: - if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC2_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_RGTC2_UNORM; - if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_R8G8_UNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_SIGNED_RG_RGTC2: - if (screen->is_format_supported(screen, PIPE_FORMAT_RGTC2_SNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_RGTC2_SNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_LUMINANCE: - case GL_COMPRESSED_LUMINANCE_LATC1_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_LATC1_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_LATC1_UNORM; - if (screen->is_format_supported(screen, PIPE_FORMAT_L8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L8_UNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_LATC1_SNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_LATC1_SNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_LUMINANCE_ALPHA: - case GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT: - case GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI: - if (screen->is_format_supported(screen, PIPE_FORMAT_LATC2_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_LATC2_UNORM; - if (screen->is_format_supported(screen, PIPE_FORMAT_L8A8_UNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_L8A8_UNORM; - return PIPE_FORMAT_NONE; - - case GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_LATC2_SNORM, target, - sample_count, bindings)) - return PIPE_FORMAT_LATC2_SNORM; - return PIPE_FORMAT_NONE; - - /* signed/unsigned integer formats. - * XXX Mesa only has formats for RGBA signed/unsigned integer formats. - * If/when new formats are added this code should be updated. - */ - case GL_RED_INTEGER_EXT: - case GL_GREEN_INTEGER_EXT: - case GL_BLUE_INTEGER_EXT: - case GL_ALPHA_INTEGER_EXT: - case GL_RGB_INTEGER_EXT: - case GL_RGBA_INTEGER_EXT: - case GL_BGR_INTEGER_EXT: - case GL_BGRA_INTEGER_EXT: - case GL_LUMINANCE_INTEGER_EXT: - case GL_LUMINANCE_ALPHA_INTEGER_EXT: - /* fall-through */ - case GL_RGBA8I_EXT: - case GL_RGB8I_EXT: - case GL_ALPHA8I_EXT: - case GL_INTENSITY8I_EXT: - case GL_LUMINANCE8I_EXT: - case GL_LUMINANCE_ALPHA8I_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SSCALED, - target, - sample_count, bindings)) - return PIPE_FORMAT_R8G8B8A8_SSCALED; - return PIPE_FORMAT_NONE; - case GL_RGBA16I_EXT: - case GL_RGB16I_EXT: - case GL_ALPHA16I_EXT: - case GL_INTENSITY16I_EXT: - case GL_LUMINANCE16I_EXT: - case GL_LUMINANCE_ALPHA16I_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16B16A16_SSCALED, - target, - sample_count, bindings)) - return PIPE_FORMAT_R16G16B16A16_SSCALED; - return PIPE_FORMAT_NONE; - case GL_RGBA32I_EXT: - case GL_RGB32I_EXT: - case GL_ALPHA32I_EXT: - case GL_INTENSITY32I_EXT: - case GL_LUMINANCE32I_EXT: - case GL_LUMINANCE_ALPHA32I_EXT: - /* xxx */ - if (screen->is_format_supported(screen, PIPE_FORMAT_R32G32B32A32_SSCALED, - target, - sample_count, bindings)) - return PIPE_FORMAT_R32G32B32A32_SSCALED; - return PIPE_FORMAT_NONE; - - case GL_RGBA8UI_EXT: - case GL_RGB8UI_EXT: - case GL_ALPHA8UI_EXT: - case GL_INTENSITY8UI_EXT: - case GL_LUMINANCE8UI_EXT: - case GL_LUMINANCE_ALPHA8UI_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_USCALED, - target, - sample_count, bindings)) - return PIPE_FORMAT_R8G8B8A8_USCALED; - return PIPE_FORMAT_NONE; - - case GL_RGBA16UI_EXT: - case GL_RGB16UI_EXT: - case GL_ALPHA16UI_EXT: - case GL_INTENSITY16UI_EXT: - case GL_LUMINANCE16UI_EXT: - case GL_LUMINANCE_ALPHA16UI_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_R16G16B16A16_USCALED, - target, - sample_count, bindings)) - return PIPE_FORMAT_R16G16B16A16_USCALED; - return PIPE_FORMAT_NONE; - - case GL_RGBA32UI_EXT: - case GL_RGB32UI_EXT: - case GL_ALPHA32UI_EXT: - case GL_INTENSITY32UI_EXT: - case GL_LUMINANCE32UI_EXT: - case GL_LUMINANCE_ALPHA32UI_EXT: - if (screen->is_format_supported(screen, PIPE_FORMAT_R32G32B32A32_USCALED, - target, - sample_count, bindings)) - return PIPE_FORMAT_R32G32B32A32_USCALED; - return PIPE_FORMAT_NONE; - - /* signed normalized formats */ - case GL_RED_SNORM: - case GL_R8_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R8_SNORM, - PIPE_FORMAT_R8G8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_R16_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R16_SNORM, - PIPE_FORMAT_R16G16_SNORM, - PIPE_FORMAT_R16G16B16A16_SNORM, - PIPE_FORMAT_R8_SNORM, - PIPE_FORMAT_R8G8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_RG_SNORM: - case GL_RG8_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R8G8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_RG16_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R16G16_SNORM, - PIPE_FORMAT_R16G16B16A16_SNORM, - PIPE_FORMAT_R8G8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_RGB_SNORM: - case GL_RGB8_SNORM: - case GL_RGBA_SNORM: - case GL_RGBA8_SNORM: - if (screen->is_format_supported(screen, PIPE_FORMAT_R8G8B8A8_SNORM, - target, - sample_count, bindings)) - return PIPE_FORMAT_R8G8B8A8_SNORM; - return PIPE_FORMAT_NONE; - - case GL_RGB16_SNORM: - case GL_RGBA16_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_R16G16B16A16_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - - case GL_ALPHA_SNORM: - case GL_ALPHA8_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_A8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_ALPHA16_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_A16_SNORM, - PIPE_FORMAT_R16G16B16A16_SNORM, - PIPE_FORMAT_A8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_LUMINANCE_SNORM: - case GL_LUMINANCE8_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_LUMINANCE16_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L16_SNORM, - PIPE_FORMAT_R16G16B16A16_SNORM, - PIPE_FORMAT_L8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_LUMINANCE_ALPHA_SNORM: - case GL_LUMINANCE8_ALPHA8_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L8A8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_LUMINANCE16_ALPHA16_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_L16A16_SNORM, - PIPE_FORMAT_R16G16B16A16_SNORM, - PIPE_FORMAT_L8A8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_INTENSITY_SNORM: - case GL_INTENSITY8_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_I8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_INTENSITY16_SNORM: - { - static const enum pipe_format formats[] = { - PIPE_FORMAT_I16_SNORM, - PIPE_FORMAT_R16G16B16A16_SNORM, - PIPE_FORMAT_I8_SNORM, - PIPE_FORMAT_R8G8B8A8_SNORM, - }; - return find_supported_format(screen, formats, Elements(formats), - target, sample_count, bindings); - } - - case GL_RGB9_E5: - if (screen->is_format_supported(screen, PIPE_FORMAT_R9G9B9E5_FLOAT, target, - sample_count, bindings)) { - return PIPE_FORMAT_R9G9B9E5_FLOAT; - } + /* can't render to compressed formats at this time */ + if (_mesa_is_compressed_format(ctx, internalFormat) + && (bindings & ~PIPE_BIND_SAMPLER_VIEW)) { return PIPE_FORMAT_NONE; + } - case GL_R11F_G11F_B10F: - if (screen->is_format_supported(screen, PIPE_FORMAT_R11G11B10_FLOAT, target, - sample_count, bindings)) { - return PIPE_FORMAT_R11G11B10_FLOAT; + /* search table for internalFormat */ + for (i = 0; i < Elements(format_map); i++) { + const struct format_mapping *mapping = &format_map[i]; + for (j = 0; mapping->glFormats[j]; j++) { + if (mapping->glFormats[j] == internalFormat) { + /* Found the desired internal format. Find first pipe format + * which is supported by the driver. + */ + return find_supported_format(screen, mapping->pipeFormats, + target, sample_count, bindings); + } } - return PIPE_FORMAT_NONE; - - default: - return PIPE_FORMAT_NONE; } + + _mesa_problem(NULL, "unhandled format!\n"); + return PIPE_FORMAT_NONE; } -- cgit v1.2.3 From cd5417aac72ae1de85dd6bca3d53d2e2f2d7e546 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 24 May 2011 08:59:09 -0600 Subject: st/mesa: prefer formats without stencil for DEPTH_COMPONENT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit for fast Z clears to be used more often. Original patch by Marek Olšák. Rebased to table-driven st_choose_format() by Brian Paul. --- src/mesa/state_tracker/st_format.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 6ebe721bfd6..de30b4fc610 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -741,8 +741,9 @@ static struct format_mapping format_map[] = { }, { { GL_DEPTH_COMPONENT24, 0 }, - { PIPE_FORMAT_Z24_UNORM_S8_USCALED, - PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_FORMAT_Z32_UNORM, 0 } + { PIPE_FORMAT_Z24X8_UNORM, PIPE_FORMAT_X8Z24_UNORM, + PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, + PIPE_FORMAT_Z32_UNORM, 0 } }, { { GL_DEPTH_COMPONENT32, 0 }, @@ -750,8 +751,9 @@ static struct format_mapping format_map[] = { }, { { GL_DEPTH_COMPONENT, 0 }, - { PIPE_FORMAT_Z32_UNORM, PIPE_FORMAT_Z24_UNORM_S8_USCALED, - PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_FORMAT_Z16_UNORM, 0 } + { PIPE_FORMAT_Z24X8_UNORM, PIPE_FORMAT_X8Z24_UNORM, + PIPE_FORMAT_Z32_UNORM, PIPE_FORMAT_Z16_UNORM, + PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 } }, /* stencil formats */ -- cgit v1.2.3 From d3b6e8a2b8e3581e07a6dd7277d4d4c6c0407760 Mon Sep 17 00:00:00 2001 From: Mike Kaplinskiy Date: Sat, 21 May 2011 19:05:29 -0400 Subject: mesa: fix glGetTexImage for cases when srgb decode is skipped See http://bugs.freedesktop.org/show_bug.cgi?id=37150 Signed-off-by: Brian Paul --- src/mesa/main/texgetimage.c | 120 +++++++------------------------------------- 1 file changed, 19 insertions(+), 101 deletions(-) diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index b23317c46a0..97d10122541 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -40,6 +40,7 @@ #include "pack.h" #include "pbo.h" #include "texgetimage.h" +#include "texfetch.h" #include "teximage.h" @@ -220,110 +221,14 @@ get_tex_ycbcr(struct gl_context *ctx, GLuint dimensions, } -#if FEATURE_EXT_texture_sRGB - - -/** - * Convert a float value from linear space to a - * non-linear sRGB value in [0, 255]. - * Not terribly efficient. - */ -static INLINE GLfloat -linear_to_nonlinear(GLfloat cl) -{ - /* can't have values outside [0, 1] */ - GLfloat cs; - if (cl < 0.0031308f) { - cs = 12.92f * cl; - } - else { - cs = (GLfloat)(1.055 * pow(cl, 0.41666) - 0.055); - } - return cs; -} - - -/** - * glGetTexImagefor sRGB pixels; - */ -static void -get_tex_srgb(struct gl_context *ctx, GLuint dimensions, - GLenum format, GLenum type, GLvoid *pixels, - const struct gl_texture_image *texImage) -{ - const GLint width = texImage->Width; - const GLint height = texImage->Height; - const GLint depth = texImage->Depth; - const GLbitfield transferOps = 0x0; - GLint img, row; - GLfloat (*rgba)[4] = (GLfloat (*)[4]) malloc(4 * width * sizeof(GLfloat)); - - if (!rgba) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glGetTexImage"); - return; - } - - for (img = 0; img < depth; img++) { - for (row = 0; row < height; row++) { - void *dest = _mesa_image_address(dimensions, &ctx->Pack, pixels, - width, height, format, type, - img, row, 0); - - GLint col; - - /* convert row to RGBA format */ - for (col = 0; col < width; col++) { - texImage->FetchTexelf(texImage, col, row, img, rgba[col]); - if (texImage->_BaseFormat == GL_LUMINANCE) { - rgba[col][RCOMP] = linear_to_nonlinear(rgba[col][RCOMP]); - rgba[col][GCOMP] = 0.0; - rgba[col][BCOMP] = 0.0; - } - else if (texImage->_BaseFormat == GL_LUMINANCE_ALPHA) { - rgba[col][RCOMP] = linear_to_nonlinear(rgba[col][RCOMP]); - rgba[col][GCOMP] = 0.0; - rgba[col][BCOMP] = 0.0; - } - else if (texImage->_BaseFormat == GL_RGB || - texImage->_BaseFormat == GL_RGBA) { - rgba[col][RCOMP] = linear_to_nonlinear(rgba[col][RCOMP]); - rgba[col][GCOMP] = linear_to_nonlinear(rgba[col][GCOMP]); - rgba[col][BCOMP] = linear_to_nonlinear(rgba[col][BCOMP]); - } - } - _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba, - format, type, dest, - &ctx->Pack, transferOps); - } - } - - free(rgba); -} - - -#else /* FEATURE_EXT_texture_sRGB */ - - -static INLINE void -get_tex_srgb(struct gl_context *ctx, GLuint dimensions, - GLenum format, GLenum type, GLvoid *pixels, - const struct gl_texture_image *texImage) -{ - ASSERT_NO_FEATURE(); -} - - -#endif /* FEATURE_EXT_texture_sRGB */ - - /** - * glGetTexImagefor RGBA, Luminance, etc. pixels. + * glGetTexImage for (s)RGBA, Luminance, etc. pixels. * This is the slow way since we use texture sampling. */ static void get_tex_rgba(struct gl_context *ctx, GLuint dimensions, GLenum format, GLenum type, GLvoid *pixels, - const struct gl_texture_image *texImage) + struct gl_texture_image *texImage) { const GLint width = texImage->Width; const GLint height = texImage->Height; @@ -334,12 +239,23 @@ get_tex_rgba(struct gl_context *ctx, GLuint dimensions, GLbitfield transferOps = 0x0; GLint img, row; GLfloat (*rgba)[4] = (GLfloat (*)[4]) malloc(4 * width * sizeof(GLfloat)); + const GLboolean is_sampler_srgb_decode = + _mesa_get_format_color_encoding(texImage->TexFormat) == GL_SRGB && + texImage->TexObject->Sampler.sRGBDecode == GL_DECODE_EXT; if (!rgba) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "glGetTexImage"); return; } + /* glGetTexImage always returns sRGB data for sRGB textures. Make sure the + * fetch functions return sRGB data without linearizing it. + */ + if (is_sampler_srgb_decode) { + texImage->TexObject->Sampler.sRGBDecode = GL_SKIP_DECODE_EXT; + _mesa_set_fetch_functions(texImage, dimensions); + } + for (img = 0; img < depth; img++) { for (row = 0; row < height; row++) { void *dest = _mesa_image_address(dimensions, &ctx->Pack, pixels, @@ -389,6 +305,11 @@ get_tex_rgba(struct gl_context *ctx, GLuint dimensions, } } + if (is_sampler_srgb_decode) { + texImage->TexObject->Sampler.sRGBDecode = GL_DECODE_EXT; + _mesa_set_fetch_functions(texImage, dimensions); + } + free(rgba); } @@ -548,9 +469,6 @@ _mesa_get_teximage(struct gl_context *ctx, GLenum target, GLint level, else if (format == GL_YCBCR_MESA) { get_tex_ycbcr(ctx, dimensions, format, type, pixels, texImage); } - else if (_mesa_get_format_color_encoding(texImage->TexFormat) == GL_SRGB) { - get_tex_srgb(ctx, dimensions, format, type, pixels, texImage); - } else { get_tex_rgba(ctx, dimensions, format, type, pixels, texImage); } -- cgit v1.2.3 From b24f291e429b94ca7de74f8b32279e3a0375cd9c Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Thu, 28 Apr 2011 15:35:30 -0400 Subject: drisw: dead store removal Signed-off-by: Adam Jackson --- src/glx/drisw_glx.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index 5c7f40cdffa..e8cc4c83e06 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -128,13 +128,11 @@ swrastGetDrawableInfo(__DRIdrawable * draw, Drawable drawable; Window root; - Status stat; unsigned uw, uh, bw, depth; drawable = pdraw->xDrawable; - stat = XGetGeometry(dpy, drawable, &root, - x, y, &uw, &uh, &bw, &depth); + XGetGeometry(dpy, drawable, &root, x, y, &uw, &uh, &bw, &depth); *w = uw; *h = uh; } -- cgit v1.2.3 From 5a6897ff0b62c6ec3ec49663a7e6a00550194bb9 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 29 Apr 2011 15:17:42 -0400 Subject: drisw: Namespace better for ease of navigation Signed-off-by: Adam Jackson --- src/glx/drisw_glx.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index e8cc4c83e06..2eaa3c59348 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -338,7 +338,7 @@ drisw_create_context(struct glx_screen *base, } static void -driDestroyDrawable(__GLXDRIdrawable * pdraw) +driswDestroyDrawable(__GLXDRIdrawable * pdraw) { struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw; struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; @@ -350,8 +350,8 @@ driDestroyDrawable(__GLXDRIdrawable * pdraw) } static __GLXDRIdrawable * -driCreateDrawable(struct glx_screen *base, XID xDrawable, - GLXDrawable drawable, struct glx_config *modes) +driswCreateDrawable(struct glx_screen *base, XID xDrawable, + GLXDrawable drawable, struct glx_config *modes) { struct drisw_drawable *pdp; __GLXDRIconfigPrivate *config = (__GLXDRIconfigPrivate *) modes; @@ -384,14 +384,14 @@ driCreateDrawable(struct glx_screen *base, XID xDrawable, return NULL; } - pdp->base.destroyDrawable = driDestroyDrawable; + pdp->base.destroyDrawable = driswDestroyDrawable; return &pdp->base; } static int64_t -driSwapBuffers(__GLXDRIdrawable * pdraw, - int64_t target_msc, int64_t divisor, int64_t remainder) +driswSwapBuffers(__GLXDRIdrawable * pdraw, + int64_t target_msc, int64_t divisor, int64_t remainder) { struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw; struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; @@ -406,7 +406,7 @@ driSwapBuffers(__GLXDRIdrawable * pdraw, } static void -driDestroyScreen(struct glx_screen *base) +driswDestroyScreen(struct glx_screen *base) { struct drisw_screen *psc = (struct drisw_screen *) base; @@ -437,7 +437,7 @@ static const struct glx_screen_vtable drisw_screen_vtable = { }; static struct glx_screen * -driCreateScreen(int screen, struct glx_display *priv) +driswCreateScreen(int screen, struct glx_display *priv) { __GLXDRIscreen *psp; const __DRIconfig **driver_configs; @@ -495,9 +495,9 @@ driCreateScreen(int screen, struct glx_display *priv) psc->base.vtable = &drisw_screen_vtable; psp = &psc->vtable; psc->base.driScreen = psp; - psp->destroyScreen = driDestroyScreen; - psp->createDrawable = driCreateDrawable; - psp->swapBuffers = driSwapBuffers; + psp->destroyScreen = driswDestroyScreen; + psp->createDrawable = driswCreateDrawable; + psp->swapBuffers = driswSwapBuffers; return &psc->base; @@ -515,7 +515,7 @@ driCreateScreen(int screen, struct glx_display *priv) /* Called from __glXFreeDisplayPrivate. */ static void -driDestroyDisplay(__GLXDRIdisplay * dpy) +driswDestroyDisplay(__GLXDRIdisplay * dpy) { Xfree(dpy); } @@ -534,8 +534,8 @@ driswCreateDisplay(Display * dpy) if (pdpyp == NULL) return NULL; - pdpyp->base.destroyDisplay = driDestroyDisplay; - pdpyp->base.createScreen = driCreateScreen; + pdpyp->base.destroyDisplay = driswDestroyDisplay; + pdpyp->base.createScreen = driswCreateScreen; return &pdpyp->base; } -- cgit v1.2.3 From a3aecd190b7c411d399350f83ee663f8744e94ac Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 29 Apr 2011 15:40:38 -0400 Subject: glx: Remove some misleading comments These functions have already been modified for direct rendering. Signed-off-by: Adam Jackson --- src/glx/glx_pbuffer.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c index ec54f1e09d6..ad05d95ccb7 100644 --- a/src/glx/glx_pbuffer.c +++ b/src/glx/glx_pbuffer.c @@ -77,9 +77,6 @@ warn_GLX_1_3(Display * dpy, const char *function_name) * \note * This function dynamically determines whether to use the SGIX_pbuffer * version of the protocol or the GLX 1.3 version of the protocol. - * - * \todo - * This function needs to be modified to work with direct-rendering drivers. */ static void ChangeDrawableAttribute(Display * dpy, GLXDrawable drawable, @@ -265,9 +262,6 @@ DestroyDRIDrawable(Display *dpy, GLXDrawable drawable, int destroy_xdrawable) * The number of attributes returned is likely to be small, probably less than * 10. Given that, this routine should try to use an array on the stack to * capture the reply rather than always calling Xmalloc. - * - * \todo - * This function needs to be modified to work with direct-rendering drivers. */ static int GetDrawableAttribute(Display * dpy, GLXDrawable drawable, @@ -372,9 +366,6 @@ GetDrawableAttribute(Display * dpy, GLXDrawable drawable, /** * Create a non-pbuffer GLX drawable. - * - * \todo - * This function needs to be modified to work with direct-rendering drivers. */ static GLXDrawable CreateDrawable(Display *dpy, struct glx_config *config, @@ -462,9 +453,6 @@ DestroyDrawable(Display * dpy, GLXDrawable drawable, CARD32 glxCode) * \note * This function dynamically determines whether to use the SGIX_pbuffer * version of the protocol or the GLX 1.3 version of the protocol. - * - * \todo - * This function needs to be modified to work with direct-rendering drivers. */ static GLXDrawable CreatePbuffer(Display * dpy, struct glx_config *config, -- cgit v1.2.3 From 3869be74afb184dbdf9d67fda3de3e3ac7e3db6c Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 29 Apr 2011 16:30:50 -0400 Subject: glx: More comment cleanup Signed-off-by: Adam Jackson --- src/glx/glxcmds.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 22bebab26bc..012cd79506e 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -200,19 +200,14 @@ glx_context_init(struct glx_context *gc, /** - * Create a new context. Exactly one of \c vis and \c fbconfig should be - * non-NULL. + * Create a new context. * - * \param use_glx_1_3 For FBConfigs, should GLX 1.3 protocol or - * SGIX_fbconfig protocol be used? * \param renderType For FBConfigs, what is the rendering type? */ static GLXContext -CreateContext(Display * dpy, int generic_id, - struct glx_config *config, - GLXContext shareList_user, - Bool allowDirect, +CreateContext(Display *dpy, int generic_id, struct glx_config *config, + GLXContext shareList_user, Bool allowDirect, unsigned code, int renderType, int screen) { struct glx_context *gc; -- cgit v1.2.3 From ece871c03876221636166ebd3f091ebeb10afbf1 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 25 May 2011 09:37:33 +1000 Subject: r600g: flush the DB dest base as well. If we do this for CB bases then we should do it for DB bases. noticed while adding cayman support. Signed-off-by: Dave Airlie --- src/gallium/winsys/r600/drm/r600_hw_context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index 7c3fd1aa206..1e29da2cf09 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -1229,7 +1229,7 @@ void r600_context_flush_dest_caches(struct r600_context *ctx) 0, cb[i]); } if (db) { - r600_context_bo_flush(ctx, S_0085F0_DB_ACTION_ENA(1), 0, db); + r600_context_bo_flush(ctx, S_0085F0_DB_ACTION_ENA(1) | S_0085F0_DB_DEST_BASE_ENA(1), 0, db); } ctx->flags &= ~R600_CONTEXT_CHECK_EVENT_FLUSH; ctx->flags &= ~R600_CONTEXT_DST_CACHES_DIRTY; -- cgit v1.2.3 From d1b8f8e8b3b41ab6092fa3f18a4891a0198f64de Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 25 May 2011 10:01:25 +1000 Subject: r600g: don't lookup a vs semantic for position/face. These don't need one, and I was seeing 0xff being returned and set in the GPU registers with some tests. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600_shader.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index 845d41ace02..a27f4950dd7 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -41,6 +41,10 @@ int r600_find_vs_semantic_index(struct r600_shader *vs, { struct r600_shader_io *input = &ps->input[id]; + /* position/face doesn't get/need a semantic index */ + if (input->name == TGSI_SEMANTIC_POSITION || input->name == TGSI_SEMANTIC_FACE) + return 0; + for (int i = 0; i < vs->noutput; i++) { if (input->name == vs->output[i].name && input->sid == vs->output[i].sid) { -- cgit v1.2.3 From 7779f6d1dffde2c0501e44adc342e52803de08d4 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 10 Mar 2011 12:54:13 +1000 Subject: r600g: add initial cayman acceleration support. Cayman is the RadeonHD 69xx series of GPUs. This adds support for 3D acceleration to the r600g driver. Major changes: Some context registers moved around - mainly MSAA and clipping/guardband related. GPR allocation is all dynamic no vertex cache - all unified in texture cache. 5-wide to 4-wide shader engines (no scalar or trans slot) - some changes to how instructions are placed into slots - removal of END_OF_PROGRAM bit in favour of END flow control clause - no vertex fetch clause - TC accepts vertex or texture Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/eg_asm.c | 10 +- src/gallium/drivers/r600/evergreen_state.c | 151 +++- src/gallium/drivers/r600/evergreend.h | 43 ++ src/gallium/drivers/r600/r600.h | 2 + src/gallium/drivers/r600/r600_asm.c | 133 +++- src/gallium/drivers/r600/r600_asm.h | 2 + src/gallium/drivers/r600/r600_opcodes.h | 42 +- src/gallium/drivers/r600/r600_pipe.c | 2 + src/gallium/drivers/r600/r600_shader.c | 837 +++++++++++++++++---- src/gallium/winsys/r600/drm/evergreen_hw_context.c | 408 +++++++++- src/gallium/winsys/r600/drm/r600_drm.c | 5 + src/gallium/winsys/r600/drm/radeon_pciid.c | 15 + 12 files changed, 1444 insertions(+), 206 deletions(-) diff --git a/src/gallium/drivers/r600/eg_asm.c b/src/gallium/drivers/r600/eg_asm.c index 3793b919dde..fb0b0f104bf 100644 --- a/src/gallium/drivers/r600/eg_asm.c +++ b/src/gallium/drivers/r600/eg_asm.c @@ -62,14 +62,17 @@ int eg_bc_cf_build(struct r600_bc *bc, struct r600_bc_cf *cf) S_SQ_CF_ALLOC_EXPORT_WORD0_ELEM_SIZE(cf->output.elem_size) | S_SQ_CF_ALLOC_EXPORT_WORD0_ARRAY_BASE(cf->output.array_base) | S_SQ_CF_ALLOC_EXPORT_WORD0_TYPE(cf->output.type); - bc->bytecode[id++] = S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(cf->output.burst_count - 1) | + bc->bytecode[id] = S_SQ_CF_ALLOC_EXPORT_WORD1_BURST_COUNT(cf->output.burst_count - 1) | S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_X(cf->output.swizzle_x) | S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Y(cf->output.swizzle_y) | S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_Z(cf->output.swizzle_z) | S_SQ_CF_ALLOC_EXPORT_WORD1_SWIZ_SEL_W(cf->output.swizzle_w) | S_SQ_CF_ALLOC_EXPORT_WORD1_BARRIER(cf->output.barrier) | - S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(cf->output.inst) | - S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->output.end_of_program); + S_SQ_CF_ALLOC_EXPORT_WORD1_CF_INST(cf->output.inst); + if (bc->chiprev == CHIPREV_EVERGREEN) /* no EOP on cayman */ + bc->bytecode[id] |= S_SQ_CF_ALLOC_EXPORT_WORD1_END_OF_PROGRAM(cf->output.end_of_program); + id++; + break; case EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMP: case EG_V_SQ_CF_WORD1_SQ_CF_INST_ELSE: @@ -80,6 +83,7 @@ int eg_bc_cf_build(struct r600_bc *bc, struct r600_bc_cf *cf) case EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK: case EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS: case EG_V_SQ_CF_WORD1_SQ_CF_INST_RETURN: + case CM_V_SQ_CF_WORD1_SQ_CF_INST_END: bc->bytecode[id++] = S_SQ_CF_WORD0_ADDR(cf->cf_addr >> 1); bc->bytecode[id++] = S_SQ_CF_WORD1_CF_INST(cf->inst) | S_SQ_CF_WORD1_BARRIER(1) | diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 187f00e1e52..dcb28065499 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -71,15 +71,19 @@ static void evergreen_set_blend_color(struct pipe_context *ctx, static void *evergreen_create_blend_state(struct pipe_context *ctx, const struct pipe_blend_state *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_blend *blend = CALLOC_STRUCT(r600_pipe_blend); struct r600_pipe_state *rstate; u32 color_control, target_mask; /* FIXME there is more then 8 framebuffer */ unsigned blend_cntl[8]; + enum radeon_family family; if (blend == NULL) { return NULL; } + + family = r600_get_family(rctx->radeon); rstate = &blend->rstate; rstate->id = R600_PIPE_STATE_BLEND; @@ -102,9 +106,16 @@ static void *evergreen_create_blend_state(struct pipe_context *ctx, } } blend->cb_target_mask = target_mask; + r600_pipe_state_add_reg(rstate, R_028808_CB_COLOR_CONTROL, color_control, 0xFFFFFFFD, NULL); - r600_pipe_state_add_reg(rstate, R_028C3C_PA_SC_AA_MASK, 0xFFFFFFFF, 0xFFFFFFFF, NULL); + + if (family != CHIP_CAYMAN) + r600_pipe_state_add_reg(rstate, R_028C3C_PA_SC_AA_MASK, 0xFFFFFFFF, 0xFFFFFFFF, NULL); + else { + r600_pipe_state_add_reg(rstate, CM_R_028C38_PA_SC_AA_MASK_X0Y0_X1Y0, 0xFFFFFFFF, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, CM_R_028C3C_PA_SC_AA_MASK_X0Y1_X1Y1, 0xFFFFFFFF, 0xFFFFFFFF, NULL); + } for (int i = 0; i < 8; i++) { /* state->rt entries > 0 only written if independent blending */ @@ -229,11 +240,15 @@ static void *evergreen_create_dsa_state(struct pipe_context *ctx, static void *evergreen_create_rs_state(struct pipe_context *ctx, const struct pipe_rasterizer_state *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_rasterizer *rs = CALLOC_STRUCT(r600_pipe_rasterizer); struct r600_pipe_state *rstate; unsigned tmp; unsigned prov_vtx = 1, polygon_dual_mode; unsigned clip_rule; + enum radeon_family family; + + family = r600_get_family(rctx->radeon); if (rs == NULL) { return NULL; @@ -290,17 +305,30 @@ static void *evergreen_create_rs_state(struct pipe_context *ctx, tmp = (unsigned)state->line_width * 8; r600_pipe_state_add_reg(rstate, R_028A08_PA_SU_LINE_CNTL, S_028A08_WIDTH(tmp), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C00_PA_SC_LINE_CNTL, 0x00000400, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C0C_PA_CL_GB_VERT_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C10_PA_CL_GB_VERT_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C14_PA_CL_GB_HORZ_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C18_PA_CL_GB_HORZ_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028B7C_PA_SU_POLY_OFFSET_CLAMP, 0x0, 0xFFFFFFFF, NULL); + if (family == CHIP_CAYMAN) { + r600_pipe_state_add_reg(rstate, CM_R_028BDC_PA_SC_LINE_CNTL, 0x00000400, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, CM_R_028BE4_PA_SU_VTX_CNTL, + S_028C08_PIX_CENTER_HALF(state->gl_rasterization_rules), + 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, CM_R_028BE8_PA_CL_GB_VERT_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, CM_R_028BEC_PA_CL_GB_VERT_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, CM_R_028BF0_PA_CL_GB_HORZ_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, CM_R_028BF4_PA_CL_GB_HORZ_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C08_PA_SU_VTX_CNTL, - S_028C08_PIX_CENTER_HALF(state->gl_rasterization_rules), - 0xFFFFFFFF, NULL); + } else { + r600_pipe_state_add_reg(rstate, R_028C00_PA_SC_LINE_CNTL, 0x00000400, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028C0C_PA_CL_GB_VERT_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028C10_PA_CL_GB_VERT_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028C14_PA_CL_GB_HORZ_CLIP_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028C18_PA_CL_GB_HORZ_DISC_ADJ, 0x3F800000, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028C08_PA_SU_VTX_CNTL, + S_028C08_PIX_CENTER_HALF(state->gl_rasterization_rules), + 0xFFFFFFFF, NULL); + } + r600_pipe_state_add_reg(rstate, R_028B7C_PA_SU_POLY_OFFSET_CLAMP, 0x0, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(rstate, R_02820C_PA_SC_CLIPRECT_RULE, clip_rule, 0xFFFFFFFF, NULL); return rstate; } @@ -832,10 +860,13 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state); u32 shader_mask, tl, br, target_mask; + enum radeon_family family; if (rstate == NULL) return; + family = r600_get_family(rctx->radeon); + evergreen_context_flush_dest_caches(&rctx->ctx); rctx->ctx.num_dest_buffers = state->nr_cbufs; @@ -898,10 +929,17 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, 0x00000000, target_mask, NULL); r600_pipe_state_add_reg(rstate, R_02823C_CB_SHADER_MASK, shader_mask, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C04_PA_SC_AA_CONFIG, - 0x00000000, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_028C1C_PA_SC_AA_SAMPLE_LOCS_MCTX, - 0x00000000, 0xFFFFFFFF, NULL); + + + if (family == CHIP_CAYMAN) { + r600_pipe_state_add_reg(rstate, CM_R_028BE0_PA_SC_AA_CONFIG, + 0x00000000, 0xFFFFFFFF, NULL); + } else { + r600_pipe_state_add_reg(rstate, R_028C04_PA_SC_AA_CONFIG, + 0x00000000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028C1C_PA_SC_AA_SAMPLE_LOCS_MCTX, + 0x00000000, 0xFFFFFFFF, NULL); + } free(rctx->states[R600_PIPE_STATE_FRAMEBUFFER]); rctx->states[R600_PIPE_STATE_FRAMEBUFFER] = rstate; @@ -968,6 +1006,85 @@ void evergreen_init_state_functions(struct r600_pipe_context *rctx) rctx->context.texture_barrier = evergreen_texture_barrier; } +static void cayman_init_config(struct r600_pipe_context *rctx) +{ + struct r600_pipe_state *rstate = &rctx->config; + unsigned tmp; + + tmp = 0x00000000; + tmp |= S_008C00_EXPORT_SRC_C(1); + r600_pipe_state_add_reg(rstate, R_008C00_SQ_CONFIG, tmp, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, CM_R_008C10_SQ_GLOBAL_GPR_RESOURCE_MGMT_1, (4 << 28), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_008D8C_SQ_DYN_GPR_CNTL_PS_FLUSH_REQ, (1 << 8), 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028A48_PA_SC_MODE_CNTL_0, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A4C_PA_SC_MODE_CNTL_1, 0x0, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028A10_VGT_OUTPUT_PATH_CNTL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A14_VGT_HOS_CNTL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A18_VGT_HOS_MAX_TESS_LEVEL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A1C_VGT_HOS_MIN_TESS_LEVEL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A20_VGT_HOS_REUSE_DEPTH, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A24_VGT_GROUP_PRIM_TYPE, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A28_VGT_GROUP_FIRST_DECR, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A2C_VGT_GROUP_DECR, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A30_VGT_GROUP_VECT_0_CNTL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A34_VGT_GROUP_VECT_1_CNTL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A38_VGT_GROUP_VECT_0_FMT_CNTL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A3C_VGT_GROUP_VECT_1_FMT_CNTL, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028A40_VGT_GS_MODE, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028B94_VGT_STRMOUT_CONFIG, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028B98_VGT_STRMOUT_BUFFER_CONFIG, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028AB4_VGT_REUSE_OFF, 0x00000000, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028AB8_VGT_VTX_CNT_EN, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_008A14_PA_CL_ENHANCE, (3 << 1) | 1, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028380_SQ_VTX_SEMANTIC_0, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028384_SQ_VTX_SEMANTIC_1, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028388_SQ_VTX_SEMANTIC_2, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_02838C_SQ_VTX_SEMANTIC_3, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028390_SQ_VTX_SEMANTIC_4, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028394_SQ_VTX_SEMANTIC_5, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_028398_SQ_VTX_SEMANTIC_6, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_02839C_SQ_VTX_SEMANTIC_7, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283A0_SQ_VTX_SEMANTIC_8, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283A4_SQ_VTX_SEMANTIC_9, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283A8_SQ_VTX_SEMANTIC_10, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283AC_SQ_VTX_SEMANTIC_11, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283B0_SQ_VTX_SEMANTIC_12, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283B4_SQ_VTX_SEMANTIC_13, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283B8_SQ_VTX_SEMANTIC_14, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283BC_SQ_VTX_SEMANTIC_15, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283C0_SQ_VTX_SEMANTIC_16, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283C4_SQ_VTX_SEMANTIC_17, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283C8_SQ_VTX_SEMANTIC_18, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283CC_SQ_VTX_SEMANTIC_19, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283D0_SQ_VTX_SEMANTIC_20, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283D4_SQ_VTX_SEMANTIC_21, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283D8_SQ_VTX_SEMANTIC_22, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283DC_SQ_VTX_SEMANTIC_23, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283E0_SQ_VTX_SEMANTIC_24, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283E4_SQ_VTX_SEMANTIC_25, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283E8_SQ_VTX_SEMANTIC_26, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283EC_SQ_VTX_SEMANTIC_27, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283F0_SQ_VTX_SEMANTIC_28, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283F4_SQ_VTX_SEMANTIC_29, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283F8_SQ_VTX_SEMANTIC_30, 0x0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(rstate, R_0283FC_SQ_VTX_SEMANTIC_31, 0x0, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, R_028810_PA_CL_CLIP_CNTL, 0x0, 0xFFFFFFFF, NULL); + + r600_pipe_state_add_reg(rstate, CM_R_028BD4_PA_SC_CENTROID_PRIORITY_0, 0x76543210, 0xffffffff, 0); + r600_pipe_state_add_reg(rstate, CM_R_028BD8_PA_SC_CENTROID_PRIORITY_1, 0xfedcba98, 0xffffffff, 0); + + r600_pipe_state_add_reg(rstate, CM_R_0288E8_SQ_LDS_ALLOC, 0, 0xffffffff, NULL); + r600_pipe_state_add_reg(rstate, R_0288EC_SQ_LDS_ALLOC_PS, 0, 0xffffffff, NULL); + + r600_pipe_state_add_reg(rstate, CM_R_028804_DB_EQAA, 0x110000, 0xffffffff, NULL); + r600_context_pipe_state_set(&rctx->ctx, rstate); +} + void evergreen_init_config(struct r600_pipe_context *rctx) { struct r600_pipe_state *rstate = &rctx->config; @@ -999,6 +1116,12 @@ void evergreen_init_config(struct r600_pipe_context *rctx) unsigned tmp; family = r600_get_family(rctx->radeon); + + if (family == CHIP_CAYMAN) { + cayman_init_config(rctx); + return; + } + ps_prio = 0; vs_prio = 1; gs_prio = 2; diff --git a/src/gallium/drivers/r600/evergreend.h b/src/gallium/drivers/r600/evergreend.h index 3e878106bea..ee0c7c9ed9b 100644 --- a/src/gallium/drivers/r600/evergreend.h +++ b/src/gallium/drivers/r600/evergreend.h @@ -33,15 +33,19 @@ #define EVERGREEN_CONTEXT_REG_END 0X00029000 #define EVERGREEN_RESOURCE_OFFSET 0x00030000 #define EVERGREEN_RESOURCE_END 0x00034000 +#define CAYMAN_RESOURCE_END 0x00038000 #define EVERGREEN_LOOP_CONST_OFFSET 0x0003A200 #define EVERGREEN_LOOP_CONST_END 0x0003A26C #define EVERGREEN_BOOL_CONST_OFFSET 0x0003A500 #define EVERGREEN_BOOL_CONST_END 0x0003A506 +#define CAYMAN_BOOL_CONST_END 0x0003A518 #define EVERGREEN_SAMPLER_OFFSET 0X0003C000 #define EVERGREEN_SAMPLER_END 0X0003CFF0 +#define CAYMAN_SAMPLER_END 0X0003C600 #define EVERGREEN_CTL_CONST_OFFSET 0x0003CFF0 #define EVERGREEN_CTL_CONST_END 0x0003E200 +#define CAYMAN_CTL_CONST_END 0x0003FF0C #define EVENT_TYPE_PS_PARTIAL_FLUSH 0x10 #define EVENT_TYPE_ZPASS_DONE 0x15 @@ -1907,4 +1911,43 @@ #define ENDIAN_8IN32 2 #define ENDIAN_8IN64 3 +#define CM_R_0288E8_SQ_LDS_ALLOC 0x000288E8 + +#define CM_R_028804_DB_EQAA 0x00028804 + +#define CM_R_028BD4_PA_SC_CENTROID_PRIORITY_0 0x00028BD4 +#define CM_R_028BD8_PA_SC_CENTROID_PRIORITY_1 0x00028BD8 +#define CM_R_028BDC_PA_SC_LINE_CNTL 0x28bdc +#define CM_R_028BE0_PA_SC_AA_CONFIG 0x28be0 +#define CM_R_028BE4_PA_SU_VTX_CNTL 0x28be4 +#define CM_R_028BE8_PA_CL_GB_VERT_CLIP_ADJ 0x28be8 +#define CM_R_028BEC_PA_CL_GB_VERT_DISC_ADJ 0x28bec +#define CM_R_028BF0_PA_CL_GB_HORZ_CLIP_ADJ 0x28bf0 +#define CM_R_028BF4_PA_CL_GB_HORZ_DISC_ADJ 0x28bf4 + +#define CM_R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0 0x28bf8 +#define CM_R_028BFC_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1 0x28bfc +#define CM_R_028C00_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2 0x28c00 +#define CM_R_028C04_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3 0x28c04 + +#define CM_R_028C08_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0 0x28c08 +#define CM_R_028C0C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1 0x28c0c +#define CM_R_028C10_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2 0x28c10 +#define CM_R_028C14_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3 0x28c14 + +#define CM_R_028C18_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0 0x28c18 +#define CM_R_028C1C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1 0x28c1c +#define CM_R_028C20_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2 0x28c20 +#define CM_R_028C24_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3 0x28c24 + +#define CM_R_028C28_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0 0x28c28 +#define CM_R_028C2C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1 0x28c2c +#define CM_R_028C30_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2 0x28c30 +#define CM_R_028C34_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3 0x28c34 + +#define CM_R_028C38_PA_SC_AA_MASK_X0Y0_X1Y0 0x28c38 +#define CM_R_028C3C_PA_SC_AA_MASK_X0Y1_X1Y1 0x28c3c + +#define CM_R_008C10_SQ_GLOBAL_GPR_RESOURCE_MGMT_1 0x00008C10 +#define CM_R_008C14_SQ_GLOBAL_GPR_RESOURCE_MGMT_2 0x00008C14 #endif diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 7b57fc80dc2..996418aa03a 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -95,6 +95,7 @@ enum radeon_family { CHIP_BARTS, CHIP_TURKS, CHIP_CAICOS, + CHIP_CAYMAN, CHIP_LAST, }; @@ -102,6 +103,7 @@ enum chip_class { R600, R700, EVERGREEN, + CAYMAN, }; struct r600_tiling_info { diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 033e84665f5..00572cbd5bd 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -94,6 +94,7 @@ static inline unsigned int r600_bc_get_num_operands(struct r600_bc *bc, struct r } break; case CHIPREV_EVERGREEN: + case CHIPREV_CAYMAN: switch (alu->inst) { case EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP: return 0; @@ -226,6 +227,9 @@ int r600_bc_init(struct r600_bc *bc, enum radeon_family family) case CHIP_CAICOS: bc->chiprev = CHIPREV_EVERGREEN; break; + case CHIP_CAYMAN: + bc->chiprev = CHIPREV_CAYMAN; + break; default: R600_ERR("unknown family %d\n", bc->family); return -EINVAL; @@ -334,6 +338,7 @@ static int is_alu_once_inst(struct r600_bc *bc, struct r600_bc_alu *alu) alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLT_PUSH_INT || alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_PRED_SETLE_PUSH_INT); case CHIPREV_EVERGREEN: + case CHIPREV_CAYMAN: default: return !alu->is_op3 && ( alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLE || @@ -384,6 +389,7 @@ static int is_alu_reduction_inst(struct r600_bc *bc, struct r600_bc_alu *alu) alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4_IEEE || alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX4); case CHIPREV_EVERGREEN: + case CHIPREV_CAYMAN: default: return !alu->is_op3 && ( alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE || @@ -401,6 +407,7 @@ static int is_alu_cube_inst(struct r600_bc *bc, struct r600_bc_alu *alu) return !alu->is_op3 && alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE; case CHIPREV_EVERGREEN: + case CHIPREV_CAYMAN: default: return !alu->is_op3 && alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_CUBE; @@ -417,6 +424,7 @@ static int is_alu_mova_inst(struct r600_bc *bc, struct r600_bc_alu *alu) alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_FLOOR || alu->inst == V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT); case CHIPREV_EVERGREEN: + case CHIPREV_CAYMAN: default: return !alu->is_op3 && ( alu->inst == EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOVA_INT); @@ -469,6 +477,7 @@ static int is_alu_trans_unit_inst(struct r600_bc *bc, struct r600_bc_alu *alu) alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M2 || alu->inst == V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MUL_LIT_M4; case CHIPREV_EVERGREEN: + case CHIPREV_CAYMAN: default: if (!alu->is_op3) /* Note that FLT_TO_INT_* instructions are vector-only instructions @@ -514,13 +523,16 @@ static int assign_alu_units(struct r600_bc *bc, struct r600_bc_alu *alu_first, { struct r600_bc_alu *alu; unsigned i, chan, trans; + int max_slots = bc->chiprev == CHIPREV_CAYMAN ? 4 : 5; - for (i = 0; i < 5; i++) + for (i = 0; i < max_slots; i++) assignment[i] = NULL; for (alu = alu_first; alu; alu = LIST_ENTRY(struct r600_bc_alu, alu->list.next, list)) { chan = alu->dst.chan; - if (is_alu_trans_unit_inst(bc, alu)) + if (max_slots == 4) + trans = 0; + else if (is_alu_trans_unit_inst(bc, alu)) trans = 1; else if (is_alu_vec_unit_inst(bc, alu)) trans = 0; @@ -719,8 +731,10 @@ static int check_and_set_bank_swizzle(struct r600_bc *bc, struct alu_bank_swizzle bs; int bank_swizzle[5]; int i, r = 0, forced = 0; - boolean scalar_only = true; - for (i = 0; i < 5; i++) { + boolean scalar_only = bc->chiprev == CHIPREV_CAYMAN ? false : true; + int max_slots = bc->chiprev == CHIPREV_CAYMAN ? 4 : 5; + + for (i = 0; i < max_slots; i++) { if (slots[i] && slots[i]->bank_swizzle_force) { slots[i]->bank_swizzle = slots[i]->bank_swizzle_force; forced = 1; @@ -737,6 +751,13 @@ static int check_and_set_bank_swizzle(struct r600_bc *bc, bank_swizzle[i] = SQ_ALU_VEC_012; bank_swizzle[4] = SQ_ALU_SCL_210; while(bank_swizzle[4] <= SQ_ALU_SCL_221) { + + if (max_slots == 4) { + for (i = 0; i < max_slots; i++) { + if (bank_swizzle[i] == SQ_ALU_VEC_210) + return -1; + } + } init_bank_swizzle(&bs); if (scalar_only == false) { for (i = 0; i < 4; i++) { @@ -749,11 +770,11 @@ static int check_and_set_bank_swizzle(struct r600_bc *bc, } else r = 0; - if (!r && slots[4]) { + if (!r && slots[4] && max_slots == 5) { r = check_scalar(bc, slots[4], &bs, bank_swizzle[4]); } if (!r) { - for (i = 0; i < 5; i++) { + for (i = 0; i < max_slots; i++) { if (slots[i]) slots[i]->bank_swizzle = bank_swizzle[i]; } @@ -763,7 +784,7 @@ static int check_and_set_bank_swizzle(struct r600_bc *bc, if (scalar_only) { bank_swizzle[4]++; } else { - for (i = 0; i < 5; i++) { + for (i = 0; i < max_slots; i++) { bank_swizzle[i]++; if (bank_swizzle[i] <= SQ_ALU_VEC_210) break; @@ -783,12 +804,13 @@ static int replace_gpr_with_pv_ps(struct r600_bc *bc, struct r600_bc_alu *prev[5]; int gpr[5], chan[5]; int i, j, r, src, num_src; + int max_slots = bc->chiprev == CHIPREV_CAYMAN ? 4 : 5; r = assign_alu_units(bc, alu_prev, prev); if (r) return r; - for (i = 0; i < 5; ++i) { + for (i = 0; i < max_slots; ++i) { if(prev[i] && prev[i]->dst.write && !prev[i]->dst.rel) { gpr[i] = prev[i]->dst.sel; /* cube writes more than PV.X */ @@ -800,7 +822,7 @@ static int replace_gpr_with_pv_ps(struct r600_bc *bc, gpr[i] = -1; } - for (i = 0; i < 5; ++i) { + for (i = 0; i < max_slots; ++i) { struct r600_bc_alu *alu = slots[i]; if(!alu) continue; @@ -810,11 +832,13 @@ static int replace_gpr_with_pv_ps(struct r600_bc *bc, if (!is_gpr(alu->src[src].sel) || alu->src[src].rel) continue; - if (alu->src[src].sel == gpr[4] && - alu->src[src].chan == chan[4]) { - alu->src[src].sel = V_SQ_ALU_SRC_PS; - alu->src[src].chan = 0; - continue; + if (bc->chiprev < CHIPREV_CAYMAN) { + if (alu->src[src].sel == gpr[4] && + alu->src[src].chan == chan[4]) { + alu->src[src].sel = V_SQ_ALU_SRC_PS; + alu->src[src].chan = 0; + continue; + } } for (j = 0; j < 4; ++j) { @@ -922,12 +946,13 @@ static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], int i, j, r, src, num_src; int num_once_inst = 0; int have_mova = 0, have_rel = 0; + int max_slots = bc->chiprev == CHIPREV_CAYMAN ? 4 : 5; r = assign_alu_units(bc, alu_prev, prev); if (r) return r; - for (i = 0; i < 5; ++i) { + for (i = 0; i < max_slots; ++i) { struct r600_bc_alu *alu; /* check number of literals */ @@ -951,7 +976,7 @@ static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], result[i] = prev[i]; continue; } else if (prev[i] && slots[i]) { - if (result[4] == NULL && prev[4] == NULL && slots[4] == NULL) { + if (max_slots == 5 && result[4] == NULL && prev[4] == NULL && slots[4] == NULL) { /* Trans unit is still free try to use it. */ if (is_alu_any_unit_inst(bc, slots[i])) { result[i] = prev[i]; @@ -991,7 +1016,7 @@ static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], if (!is_gpr(alu->src[src].sel)) continue; - for (j = 0; j < 5; ++j) { + for (j = 0; j < max_slots; ++j) { if (!prev[j] || !prev[j]->dst.write) continue; @@ -1019,7 +1044,7 @@ static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], bc->cf_last->ndw -= align(prev_nliteral, 2); /* sort instructions */ - for (i = 0; i < 5; ++i) { + for (i = 0; i < max_slots; ++i) { slots[i] = result[i]; if (result[i]) { LIST_DEL(&result[i]->list); @@ -1032,7 +1057,7 @@ static int merge_inst_groups(struct r600_bc *bc, struct r600_bc_alu *slots[5], LIST_ENTRY(struct r600_bc_alu, bc->cf_last->alu.prev, list)->last = 1; /* determine new first instruction */ - for (i = 0; i < 5; ++i) { + for (i = 0; i < max_slots; ++i) { if (result[i]) { bc->cf_last->curr_bs_head = result[i]; break; @@ -1225,6 +1250,7 @@ int r600_bc_add_alu_type(struct r600_bc *bc, const struct r600_bc_alu *alu, int uint32_t literal[4]; unsigned nliteral; struct r600_bc_alu *slots[5]; + int max_slots = bc->chiprev == CHIPREV_CAYMAN ? 4 : 5; r = assign_alu_units(bc, bc->cf_last->curr_bs_head, slots); if (r) return r; @@ -1245,7 +1271,7 @@ int r600_bc_add_alu_type(struct r600_bc *bc, const struct r600_bc_alu *alu, int if (r) return r; - for (i = 0, nliteral = 0; i < 5; i++) { + for (i = 0, nliteral = 0; i < max_slots; i++) { if (slots[i]) { r = r600_bc_alu_nliterals(bc, slots[i], literal, &nliteral); if (r) @@ -1282,6 +1308,7 @@ static unsigned r600_bc_num_tex_and_vtx_instructions(const struct r600_bc *bc) return 16; case CHIPREV_EVERGREEN: + case CHIPREV_CAYMAN: return 64; default: @@ -1290,6 +1317,19 @@ static unsigned r600_bc_num_tex_and_vtx_instructions(const struct r600_bc *bc) } } +static inline boolean last_inst_was_vtx_fetch(struct r600_bc *bc) +{ + if (bc->chiprev == CHIPREV_CAYMAN) { + if (bc->cf_last->inst != CM_V_SQ_CF_WORD1_SQ_CF_INST_TC) + return TRUE; + } else { + if (bc->cf_last->inst != V_SQ_CF_WORD1_SQ_CF_INST_VTX && + bc->cf_last->inst != V_SQ_CF_WORD1_SQ_CF_INST_VTX_TC) + return TRUE; + } + return FALSE; +} + int r600_bc_add_vtx(struct r600_bc *bc, const struct r600_bc_vtx *vtx) { struct r600_bc_vtx *nvtx = r600_bc_vtx(); @@ -1301,15 +1341,17 @@ int r600_bc_add_vtx(struct r600_bc *bc, const struct r600_bc_vtx *vtx) /* cf can contains only alu or only vtx or only tex */ if (bc->cf_last == NULL || - (bc->cf_last->inst != V_SQ_CF_WORD1_SQ_CF_INST_VTX && - bc->cf_last->inst != V_SQ_CF_WORD1_SQ_CF_INST_VTX_TC) || - bc->force_add_cf) { + last_inst_was_vtx_fetch(bc) || + bc->force_add_cf) { r = r600_bc_add_cf(bc); if (r) { free(nvtx); return r; } - bc->cf_last->inst = V_SQ_CF_WORD1_SQ_CF_INST_VTX; + if (bc->chiprev == CHIPREV_CAYMAN) + bc->cf_last->inst = CM_V_SQ_CF_WORD1_SQ_CF_INST_TC; + else + bc->cf_last->inst = V_SQ_CF_WORD1_SQ_CF_INST_VTX; } LIST_ADDTAIL(&nvtx->list, &bc->cf_last->vtx); /* each fetch use 4 dwords */ @@ -1379,14 +1421,21 @@ int r600_bc_add_cfinst(struct r600_bc *bc, int inst) return 0; } +int cm_bc_add_cf_end(struct r600_bc *bc) +{ + return r600_bc_add_cfinst(bc, CM_V_SQ_CF_WORD1_SQ_CF_INST_END); +} + /* common to all 3 families */ static int r600_bc_vtx_build(struct r600_bc *bc, struct r600_bc_vtx *vtx, unsigned id) { - bc->bytecode[id++] = S_SQ_VTX_WORD0_BUFFER_ID(vtx->buffer_id) | + bc->bytecode[id] = S_SQ_VTX_WORD0_BUFFER_ID(vtx->buffer_id) | S_SQ_VTX_WORD0_FETCH_TYPE(vtx->fetch_type) | S_SQ_VTX_WORD0_SRC_GPR(vtx->src_gpr) | - S_SQ_VTX_WORD0_SRC_SEL_X(vtx->src_sel_x) | - S_SQ_VTX_WORD0_MEGA_FETCH_COUNT(vtx->mega_fetch_count); + S_SQ_VTX_WORD0_SRC_SEL_X(vtx->src_sel_x); + if (bc->chiprev < CHIPREV_CAYMAN) + bc->bytecode[id] |= S_SQ_VTX_WORD0_MEGA_FETCH_COUNT(vtx->mega_fetch_count); + id++; bc->bytecode[id++] = S_SQ_VTX_WORD1_DST_SEL_X(vtx->dst_sel_x) | S_SQ_VTX_WORD1_DST_SEL_Y(vtx->dst_sel_y) | S_SQ_VTX_WORD1_DST_SEL_Z(vtx->dst_sel_z) | @@ -1397,9 +1446,11 @@ static int r600_bc_vtx_build(struct r600_bc *bc, struct r600_bc_vtx *vtx, unsign S_SQ_VTX_WORD1_FORMAT_COMP_ALL(vtx->format_comp_all) | S_SQ_VTX_WORD1_SRF_MODE_ALL(vtx->srf_mode_all) | S_SQ_VTX_WORD1_GPR_DST_GPR(vtx->dst_gpr); - bc->bytecode[id++] = S_SQ_VTX_WORD2_OFFSET(vtx->offset) | - S_SQ_VTX_WORD2_ENDIAN_SWAP(vtx->endian) | - S_SQ_VTX_WORD2_MEGA_FETCH(1); + bc->bytecode[id] = S_SQ_VTX_WORD2_OFFSET(vtx->offset)| + S_SQ_VTX_WORD2_ENDIAN_SWAP(vtx->endian); + if (bc->chiprev < CHIPREV_CAYMAN) + bc->bytecode[id] |= S_SQ_VTX_WORD2_MEGA_FETCH(1); + id++; bc->bytecode[id++] = 0; return 0; } @@ -1601,6 +1652,7 @@ int r600_bc_build(struct r600_bc *bc) case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK: case V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS: case V_SQ_CF_WORD1_SQ_CF_INST_RETURN: + case CM_V_SQ_CF_WORD1_SQ_CF_INST_END: break; default: R600_ERR("unsupported CF instruction (0x%X)\n", cf->inst); @@ -1616,7 +1668,7 @@ int r600_bc_build(struct r600_bc *bc) return -ENOMEM; LIST_FOR_EACH_ENTRY(cf, &bc->cf, list) { addr = cf->addr; - if (bc->chiprev == CHIPREV_EVERGREEN) + if (bc->chiprev >= CHIPREV_EVERGREEN) r = eg_bc_cf_build(bc, cf); else r = r600_bc_cf_build(bc, cf); @@ -1640,6 +1692,7 @@ int r600_bc_build(struct r600_bc *bc) break; case CHIPREV_R700: case CHIPREV_EVERGREEN: /* eg alu is same encoding as r700 */ + case CHIPREV_CAYMAN: /* eg alu is same encoding as r700 */ r = r700_bc_alu_build(bc, alu, addr); break; default: @@ -1668,6 +1721,14 @@ int r600_bc_build(struct r600_bc *bc) } break; case V_SQ_CF_WORD1_SQ_CF_INST_TEX: + if (bc->chiprev == CHIPREV_CAYMAN) { + LIST_FOR_EACH_ENTRY(vtx, &cf->vtx, list) { + r = r600_bc_vtx_build(bc, vtx, addr); + if (r) + return r; + addr += 4; + } + } LIST_FOR_EACH_ENTRY(tex, &cf->tex, list) { r = r600_bc_tex_build(bc, tex, addr); if (r) @@ -1688,6 +1749,7 @@ int r600_bc_build(struct r600_bc *bc) case V_SQ_CF_WORD1_SQ_CF_INST_POP: case V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS: case V_SQ_CF_WORD1_SQ_CF_INST_RETURN: + case CM_V_SQ_CF_WORD1_SQ_CF_INST_END: break; default: R600_ERR("unsupported CF instruction (0x%X)\n", cf->inst); @@ -1752,6 +1814,9 @@ void r600_bc_dump(struct r600_bc *bc) case 2: chip = 'E'; break; + case 3: + chip = 'C'; + break; case 0: default: chip = '6'; @@ -1818,6 +1883,7 @@ void r600_bc_dump(struct r600_bc *bc) case V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK: case V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS: case V_SQ_CF_WORD1_SQ_CF_INST_RETURN: + case CM_V_SQ_CF_WORD1_SQ_CF_INST_END: fprintf(stderr, "%04d %08X CF ", id, bc->bytecode[id]); fprintf(stderr, "ADDR:%d\n", cf->cf_addr); id++; @@ -1920,7 +1986,10 @@ void r600_bc_dump(struct r600_bc *bc) fprintf(stderr, "%04d %08X ", id, bc->bytecode[id]); fprintf(stderr, "SRC(GPR:%d ", vtx->src_gpr); fprintf(stderr, "SEL_X:%d) ", vtx->src_sel_x); - fprintf(stderr, "MEGA_FETCH_COUNT:%d ", vtx->mega_fetch_count); + if (bc->chiprev < CHIPREV_CAYMAN) + fprintf(stderr, "MEGA_FETCH_COUNT:%d ", vtx->mega_fetch_count); + else + fprintf(stderr, "SEL_Y:%d) ", 0); fprintf(stderr, "DST(GPR:%d ", vtx->dst_gpr); fprintf(stderr, "SEL_X:%d ", vtx->dst_sel_x); fprintf(stderr, "SEL_Y:%d ", vtx->dst_sel_y); diff --git a/src/gallium/drivers/r600/r600_asm.h b/src/gallium/drivers/r600/r600_asm.h index 26d337fe125..540f45bbd06 100644 --- a/src/gallium/drivers/r600/r600_asm.h +++ b/src/gallium/drivers/r600/r600_asm.h @@ -205,6 +205,8 @@ int r600_bc_add_alu_type(struct r600_bc *bc, const struct r600_bc_alu *alu, int void r600_bc_special_constants(u32 value, unsigned *sel, unsigned *neg); void r600_bc_dump(struct r600_bc *bc); +int cm_bc_add_cf_end(struct r600_bc *bc); + int r600_vertex_elements_build_fetch_shader(struct r600_pipe_context *rctx, struct r600_vertex_element *ve); /* r700_asm.c */ diff --git a/src/gallium/drivers/r600/r600_opcodes.h b/src/gallium/drivers/r600/r600_opcodes.h index a85d0bbf1e1..b19cc2b078e 100644 --- a/src/gallium/drivers/r600/r600_opcodes.h +++ b/src/gallium/drivers/r600/r600_opcodes.h @@ -171,9 +171,12 @@ #define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT 0x00000027 #define V_SQ_CF_ALLOC_EXPORT_WORD1_SQ_CF_INST_EXPORT_DONE 0x00000028 +/* cayman doesn't have VTX */ #define EG_V_SQ_CF_WORD1_SQ_CF_INST_NOP 0x00000000 #define EG_V_SQ_CF_WORD1_SQ_CF_INST_TEX 0x00000001 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_TC 0x00000001 #define EG_V_SQ_CF_WORD1_SQ_CF_INST_VTX 0x00000002 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_2 0x00000002 #define EG_V_SQ_CF_WORD1_SQ_CF_INST_GDS 0x00000003 #define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_START 0x00000004 #define EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_END 0x00000005 @@ -200,19 +203,37 @@ #define EG_V_SQ_CF_WORD1_SQ_CF_INST_WAIT_ACK 0x0000001a #define EG_V_SQ_CF_WORD1_SQ_CF_INST_TC_ACK 0x0000001b #define EG_V_SQ_CF_WORD1_SQ_CF_INST_VC_ACK 0x0000001c +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_RSVD_28 0x0000001c #define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMPTABLE 0x0000001d #define EG_V_SQ_CF_WORD1_SQ_CF_INST_GLOBAL_WAVE_SYNC 0x0000001e #define EG_V_SQ_CF_WORD1_SQ_CF_INST_HALT 0x0000001f +#define EG_V_SQ_CF_WORD1_SQ_CF_INST_HALT 0x0000001f + +/* cayman extras */ +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_END 0x00000020 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_LDS_DEALLOC 0x00000021 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_PUSH_WQM 0x00000022 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_POP_WQM 0x00000023 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_ELSE_WQM 0x00000024 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_JUMP_ANY 0x00000025 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE 0x00000026 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_REACTIVATE_WQM 0x00000027 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT 0x00000028 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_INTERRUPT_AND_SLEEP 0x00000029 +#define CM_V_SQ_CF_WORD1_SQ_CF_INST_SET_PRIORITY 0x00000030 #define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU 0x00000008 #define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_PUSH_BEFORE 0x00000009 #define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP_AFTER 0x0000000A #define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_POP2_AFTER 0x0000000B #define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_EXTENDED 0x0000000C -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE 0x0000000D -#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK 0x0000000E +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_CONTINUE 0x0000000D /* different on CAYMAN */ +#define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_BREAK 0x0000000E /* different on CAYMAN */ #define EG_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_ELSE_AFTER 0x0000000F +#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_REACTIVATE_BEFORE 0x0000000D +#define CM_V_SQ_CF_ALU_WORD1_SQ_CF_INST_ALU_VALID_PIXEL_MODE 0x0000000E + #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD 0x00000000 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL 0x00000001 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL_IEEE 0x00000002 @@ -299,11 +320,11 @@ #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADDC_UINT 0x00000052 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SUBB_UINT 0x00000053 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_BARRIER 0x00000054 -#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_SEQ_BEGIN 0x00000055 -#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_SEQ_END 0x00000056 +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_SEQ_BEGIN 0x00000055 /* not on CAYMAN */ +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_GROUP_SEQ_END 0x00000056 /* not on CAYMAN */ #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_MODE 0x00000057 -#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_CF_IDX0 0x00000058 -#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_CF_IDX1 0x00000059 +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_CF_IDX0 0x00000058 /* not on CAYMAN */ +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_CF_IDX1 0x00000059 /* not on CAYMAN */ #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SET_LDS_SIZE 0x0000005A #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE 0x00000081 @@ -322,8 +343,8 @@ #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_INT 0x00000090 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULLO_UINT 0x00000091 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MULHI_UINT 0x00000092 -#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT 0x00000093 -#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT 0x00000094 +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_INT 0x00000093 /* not on CAYMAN */ +#define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_UINT 0x00000094 /* not on CAYMAN */ #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_64 0x00000095 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_CLAMPED_64 0x00000096 #define EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_64 0x00000097 @@ -393,9 +414,10 @@ #define CHIPREV_R600 0 #define CHIPREV_R700 1 #define CHIPREV_EVERGREEN 2 +#define CHIPREV_CAYMAN 3 -#define BC_INST(bc, x) ((bc)->chiprev == CHIPREV_EVERGREEN ? EG_##x : x) +#define BC_INST(bc, x) ((bc)->chiprev >= CHIPREV_EVERGREEN ? EG_##x : x) -#define CTX_INST(x) (ctx->bc->chiprev == CHIPREV_EVERGREEN ? EG_##x : x) +#define CTX_INST(x) (ctx->bc->chiprev >= CHIPREV_EVERGREEN ? EG_##x : x) #endif diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 080180ffea3..402ccb27fe3 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -262,6 +262,7 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void case CHIP_BARTS: case CHIP_TURKS: case CHIP_CAICOS: + case CHIP_CAYMAN: evergreen_init_state_functions(rctx); if (evergreen_context_init(&rctx->ctx, rctx->radeon)) { r600_destroy_context(&rctx->context); @@ -336,6 +337,7 @@ static const char *r600_get_family_name(enum radeon_family family) case CHIP_BARTS: return "AMD BARTS"; case CHIP_TURKS: return "AMD TURKS"; case CHIP_CAICOS: return "AMD CAICOS"; + case CHIP_CAYMAN: return "AMD CAYMAN"; default: return "AMD unknown"; } } diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c index a27f4950dd7..39e6d85d7b4 100644 --- a/src/gallium/drivers/r600/r600_shader.c +++ b/src/gallium/drivers/r600/r600_shader.c @@ -36,6 +36,28 @@ #include #include +/* CAYMAN notes +Why CAYMAN got loops for lots of instructions is explained here. + +-These 8xx t-slot only ops are implemented in all vector slots. +MUL_LIT, FLT_TO_UINT, INT_TO_FLT, UINT_TO_FLT +These 8xx t-slot only opcodes become vector ops, with all four +slots expecting the arguments on sources a and b. Result is +broadcast to all channels. +MULLO_INT, MULHI_INT, MULLO_UINT, MULHI_UINT +These 8xx t-slot only opcodes become vector ops in the z, y, and +x slots. +EXP_IEEE, LOG_IEEE/CLAMPED, RECIP_IEEE/CLAMPED/FF/INT/UINT/_64/CLAMPED_64 +RECIPSQRT_IEEE/CLAMPED/FF/_64/CLAMPED_64 +SQRT_IEEE/_64 +SIN/COS +The w slot may have an independent co-issued operation, or if the +result is required to be in the w slot, the opcode above may be +issued in the w slot as well. +The compiler must issue the source argument to slots z, y, and x +*/ + + int r600_find_vs_semantic_index(struct r600_shader *vs, struct r600_shader *ps, int id) { @@ -185,7 +207,7 @@ struct r600_shader_tgsi_instruction { int (*process)(struct r600_shader_ctx *ctx); }; -static struct r600_shader_tgsi_instruction r600_shader_tgsi_instruction[], eg_shader_tgsi_instruction[]; +static struct r600_shader_tgsi_instruction r600_shader_tgsi_instruction[], eg_shader_tgsi_instruction[], cm_shader_tgsi_instruction[]; static int tgsi_helper_tempx_replicate(struct r600_shader_ctx *ctx); static int tgsi_is_supported(struct r600_shader_ctx *ctx) @@ -296,7 +318,7 @@ static int tgsi_declaration(struct r600_shader_ctx *ctx) ctx->shader->input[i].interpolate = d->Declaration.Interpolate; ctx->shader->input[i].centroid = d->Declaration.Centroid; ctx->shader->input[i].gpr = ctx->file_offset[TGSI_FILE_INPUT] + i; - if (ctx->type == TGSI_PROCESSOR_FRAGMENT && ctx->bc->chiprev == CHIPREV_EVERGREEN) { + if (ctx->type == TGSI_PROCESSOR_FRAGMENT && ctx->bc->chiprev >= CHIPREV_EVERGREEN) { /* turn input into interpolate on EG */ if (ctx->shader->input[i].name != TGSI_SEMANTIC_POSITION) { if (ctx->shader->input[i].interpolate > 0) { @@ -623,13 +645,13 @@ static int r600_shader_from_tgsi(const struct tgsi_token *tokens, struct r600_sh } if (ctx.type == TGSI_PROCESSOR_VERTEX) { ctx.file_offset[TGSI_FILE_INPUT] = 1; - if (ctx.bc->chiprev == CHIPREV_EVERGREEN) { + if (ctx.bc->chiprev >= CHIPREV_EVERGREEN) { r600_bc_add_cfinst(ctx.bc, EG_V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS); } else { r600_bc_add_cfinst(ctx.bc, V_SQ_CF_WORD1_SQ_CF_INST_CALL_FS); } } - if (ctx.type == TGSI_PROCESSOR_FRAGMENT && ctx.bc->chiprev == CHIPREV_EVERGREEN) { + if (ctx.type == TGSI_PROCESSOR_FRAGMENT && ctx.bc->chiprev >= CHIPREV_EVERGREEN) { ctx.file_offset[TGSI_FILE_INPUT] = evergreen_gpr_count(&ctx); } ctx.file_offset[TGSI_FILE_OUTPUT] = ctx.file_offset[TGSI_FILE_INPUT] + @@ -683,7 +705,9 @@ static int r600_shader_from_tgsi(const struct tgsi_token *tokens, struct r600_sh goto out_err; if ((r = tgsi_split_literal_constant(&ctx))) goto out_err; - if (ctx.bc->chiprev == CHIPREV_EVERGREEN) + if (ctx.bc->chiprev == CHIPREV_CAYMAN) + ctx.inst_info = &cm_shader_tgsi_instruction[opcode]; + else if (ctx.bc->chiprev >= CHIPREV_EVERGREEN) ctx.inst_info = &eg_shader_tgsi_instruction[opcode]; else ctx.inst_info = &r600_shader_tgsi_instruction[opcode]; @@ -804,8 +828,10 @@ static int r600_shader_from_tgsi(const struct tgsi_token *tokens, struct r600_sh } /* set export done on last export of each type */ for (i = noutput - 1, output_done = 0; i >= 0; i--) { - if (i == (noutput - 1)) { - output[i].end_of_program = 1; + if (ctx.bc->chiprev < CHIPREV_CAYMAN) { + if (i == (noutput - 1)) { + output[i].end_of_program = 1; + } } if (!(output_done & (1 << output[i].type))) { output_done |= (1 << output[i].type); @@ -818,6 +844,10 @@ static int r600_shader_from_tgsi(const struct tgsi_token *tokens, struct r600_sh if (r) goto out_err; } + /* add program end */ + if (ctx.bc->chiprev == CHIPREV_CAYMAN) + cm_bc_add_cf_end(ctx.bc); + free(ctx.literals); tgsi_parse_free(&ctx.parse); return 0; @@ -937,6 +967,31 @@ static int tgsi_op2_swap(struct r600_shader_ctx *ctx) return tgsi_op2_s(ctx, 1); } +static int cayman_emit_float_instr(struct r600_shader_ctx *ctx) +{ + struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction; + int i, j, r; + struct r600_bc_alu alu; + int last_slot = (inst->Dst[0].Register.WriteMask & 0x8) ? 4 : 3; + + for (i = 0 ; i < last_slot; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = ctx->inst_info->r600_opcode; + for (j = 0; j < inst->Instruction.NumSrcRegs; j++) { + r600_bc_src(&alu.src[j], &ctx->src[j], 0); + } + tgsi_dst(ctx, &inst->Dst[0], i, &alu.dst); + alu.dst.write = (inst->Dst[0].Register.WriteMask >> i) & 1; + + if (i == last_slot - 1) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + return 0; +} + /* * r600 - trunc to -PI..PI range * r700 - normalize by dividing by 2PI @@ -1017,6 +1072,37 @@ static int tgsi_setup_trig(struct r600_shader_ctx *ctx) return 0; } +static int cayman_trig(struct r600_shader_ctx *ctx) +{ + struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction; + struct r600_bc_alu alu; + int last_slot = (inst->Dst[0].Register.WriteMask & 0x8) ? 4 : 3; + int i, r; + + r = tgsi_setup_trig(ctx); + if (r) + return r; + + + for (i = 0; i < last_slot; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = ctx->inst_info->r600_opcode; + alu.dst.chan = i; + + tgsi_dst(ctx, &inst->Dst[0], i, &alu.dst); + alu.dst.write = (inst->Dst[0].Register.WriteMask >> i) & 1; + + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; + if (i == last_slot - 1) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + return 0; +} + static int tgsi_trig(struct r600_shader_ctx *ctx) { struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction; @@ -1064,7 +1150,7 @@ static int tgsi_scs(struct r600_shader_ctx *ctx) { struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction; struct r600_bc_alu alu; - int r; + int i, r; /* We'll only need the trig stuff if we are going to write to the * X or Y components of the destination vector. @@ -1077,30 +1163,69 @@ static int tgsi_scs(struct r600_shader_ctx *ctx) /* dst.x = COS */ if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_X) { - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS); - tgsi_dst(ctx, &inst->Dst[0], 0, &alu.dst); + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0 ; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS); + tgsi_dst(ctx, &inst->Dst[0], i, &alu.dst); + + if (i == 0) + alu.dst.write = 1; + else + alu.dst.write = 0; + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; + if (i == 2) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS); + tgsi_dst(ctx, &inst->Dst[0], 0, &alu.dst); - alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 0; - alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } } /* dst.y = SIN */ if (inst->Dst[0].Register.WriteMask & TGSI_WRITEMASK_Y) { - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN); - tgsi_dst(ctx, &inst->Dst[0], 1, &alu.dst); + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0 ; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN); + tgsi_dst(ctx, &inst->Dst[0], i, &alu.dst); + if (i == 1) + alu.dst.write = 1; + else + alu.dst.write = 0; + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; + if (i == 2) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN); + tgsi_dst(ctx, &inst->Dst[0], 1, &alu.dst); - alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 0; - alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } } /* dst.z = 0.0; */ @@ -1220,16 +1345,36 @@ static int tgsi_lit(struct r600_shader_ctx *ctx) { int chan; int sel; + int i; - /* dst.z = log(src.y) */ - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED); - r600_bc_src(&alu.src[0], &ctx->src[0], 1); - tgsi_dst(ctx, &inst->Dst[0], 2, &alu.dst); - alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + /* dst.z = log(src.y) */ + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED); + r600_bc_src(&alu.src[0], &ctx->src[0], 1); + tgsi_dst(ctx, &inst->Dst[0], i, &alu.dst); + if (i == 2) { + alu.dst.write = 1; + alu.last = 1; + } else + alu.dst.write = 0; + + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + /* dst.z = log(src.y) */ + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_CLAMPED); + r600_bc_src(&alu.src[0], &ctx->src[0], 1); + tgsi_dst(ctx, &inst->Dst[0], 2, &alu.dst); + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } chan = alu.dst.chan; sel = alu.dst.sel; @@ -1251,16 +1396,35 @@ static int tgsi_lit(struct r600_shader_ctx *ctx) if (r) return r; - /* dst.z = exp(tmp.x) */ - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); - alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 0; - tgsi_dst(ctx, &inst->Dst[0], 2, &alu.dst); - alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + /* dst.z = exp(tmp.x) */ + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; + tgsi_dst(ctx, &inst->Dst[0], i, &alu.dst); + if (i == 2) { + alu.dst.write = 1; + alu.last = 1; + } else + alu.dst.write = 0; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + /* dst.z = exp(tmp.x) */ + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; + tgsi_dst(ctx, &inst->Dst[0], 2, &alu.dst); + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } } return 0; } @@ -1336,6 +1500,56 @@ static int tgsi_trans_srcx_replicate(struct r600_shader_ctx *ctx) return tgsi_helper_tempx_replicate(ctx); } +static int cayman_pow(struct r600_shader_ctx *ctx) +{ + struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction; + int i, r; + struct r600_bc_alu alu; + int last_slot = (inst->Dst[0].Register.WriteMask & 0x8) ? 4 : 3; + + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + alu.dst.write = 1; + if (i == 2) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + + /* b * LOG2(a) */ + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL); + r600_bc_src(&alu.src[0], &ctx->src[1], 0); + alu.src[1].sel = ctx->temp_reg; + alu.dst.sel = ctx->temp_reg; + alu.dst.write = 1; + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + + for (i = 0; i < last_slot; i++) { + /* POW(a,b) = EXP2(b * LOG2(a))*/ + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + alu.src[0].sel = ctx->temp_reg; + + tgsi_dst(ctx, &inst->Dst[0], i, &alu.dst); + alu.dst.write = (inst->Dst[0].Register.WriteMask >> i) & 1; + if (i == last_slot - 1) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + return 0; +} + static int tgsi_pow(struct r600_shader_ctx *ctx) { struct r600_bc_alu alu; @@ -1554,24 +1768,46 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) src_gpr = ctx->file_offset[inst->Src[0].Register.File] + inst->Src[0].Register.Index; if (inst->Instruction.Opcode == TGSI_OPCODE_TXP) { + int out_chan; /* Add perspective divide */ - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); - r600_bc_src(&alu.src[0], &ctx->src[0], 3); + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + out_chan = 2; + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 3); - alu.dst.sel = ctx->temp_reg; - alu.dst.chan = 3; - alu.last = 1; - alu.dst.write = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 2) + alu.last = 1; + if (out_chan == i) + alu.dst.write = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + + } else { + out_chan = 3; + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 3); + + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = out_chan; + alu.last = 1; + alu.dst.write = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } for (i = 0; i < 3; i++) { memset(&alu, 0, sizeof(struct r600_bc_alu)); alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL); alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 3; + alu.src[0].chan = out_chan; r600_bc_src(&alu.src[1], &ctx->src[0], i); alu.dst.sel = ctx->temp_reg; alu.dst.chan = i; @@ -1616,18 +1852,37 @@ static int tgsi_tex(struct r600_shader_ctx *ctx) } /* tmp1.z = RCP_e(|tmp1.z|) */ - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); - alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 2; - alu.src[0].abs = 1; - alu.dst.sel = ctx->temp_reg; - alu.dst.chan = 2; - alu.dst.write = 1; - alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 2; + alu.src[0].abs = 1; + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 2) + alu.dst.write = 1; + if (i == 2) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 2; + alu.src[0].abs = 1; + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = 2; + alu.dst.write = 1; + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } /* MULADD R0.x, R0.x, PS1, (0x3FC00000, 1.5f).x * MULADD R0.y, R0.y, PS1, (0x3FC00000, 1.5f).x @@ -1962,6 +2217,7 @@ static int tgsi_exp(struct r600_shader_ctx *ctx) struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction; struct r600_bc_alu alu; int r; + int i; /* result.x = 2^floor(src); */ if (inst->Dst[0].Register.WriteMask & 1) { @@ -1978,20 +2234,38 @@ static int tgsi_exp(struct r600_shader_ctx *ctx) if (r) return r; - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); - alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 0; + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; - alu.dst.sel = ctx->temp_reg; - alu.dst.chan = 0; - alu.dst.write = 1; - alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; - } + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 0) + alu.dst.write = 1; + if (i == 2) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 0; - /* result.y = tmp - floor(tmp); */ + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = 0; + alu.dst.write = 1; + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } + + /* result.y = tmp - floor(tmp); */ if ((inst->Dst[0].Register.WriteMask >> 1) & 1) { memset(&alu, 0, sizeof(struct r600_bc_alu)); @@ -2016,19 +2290,38 @@ static int tgsi_exp(struct r600_shader_ctx *ctx) /* result.z = RoughApprox2ToX(tmp);*/ if ((inst->Dst[0].Register.WriteMask >> 2) & 0x1) { - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); - r600_bc_src(&alu.src[0], &ctx->src[0], 0); + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); - alu.dst.sel = ctx->temp_reg; - alu.dst.write = 1; - alu.dst.chan = 2; + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 2) { + alu.dst.write = 1; + alu.last = 1; + } - alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + alu.dst.sel = ctx->temp_reg; + alu.dst.write = 1; + alu.dst.chan = 2; + + alu.last = 1; + + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } } /* result.w = 1.0;*/ @@ -2055,21 +2348,42 @@ static int tgsi_log(struct r600_shader_ctx *ctx) struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction; struct r600_bc_alu alu; int r; + int i; /* result.x = floor(log2(src)); */ if (inst->Dst[0].Register.WriteMask & 1) { - memset(&alu, 0, sizeof(struct r600_bc_alu)); + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); - r600_bc_src(&alu.src[0], &ctx->src[0], 0); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); + + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 0) + alu.dst.write = 1; + if (i == 2) + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } - alu.dst.sel = ctx->temp_reg; - alu.dst.chan = 0; - alu.dst.write = 1; - alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); + + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = 0; + alu.dst.write = 1; + alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR); alu.src[0].sel = ctx->temp_reg; @@ -2087,19 +2401,40 @@ static int tgsi_log(struct r600_shader_ctx *ctx) /* result.y = src.x / (2 ^ floor(log2(src.x))); */ if ((inst->Dst[0].Register.WriteMask >> 1) & 1) { - memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); - r600_bc_src(&alu.src[0], &ctx->src[0], 0); + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.dst.sel = ctx->temp_reg; - alu.dst.chan = 1; - alu.dst.write = 1; - alu.last = 1; + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 1) + alu.dst.write = 1; + if (i == 2) + alu.last = 1; + + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); + + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = 1; + alu.dst.write = 1; + alu.last = 1; + + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } memset(&alu, 0, sizeof(struct r600_bc_alu)); @@ -2116,35 +2451,73 @@ static int tgsi_log(struct r600_shader_ctx *ctx) if (r) return r; - memset(&alu, 0, sizeof(struct r600_bc_alu)); - - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); - alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 1; + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 1; + + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 1) + alu.dst.write = 1; + if (i == 2) + alu.last = 1; - alu.dst.sel = ctx->temp_reg; - alu.dst.chan = 1; - alu.dst.write = 1; - alu.last = 1; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = 1; + alu.dst.write = 1; + alu.last = 1; - memset(&alu, 0, sizeof(struct r600_bc_alu)); + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); - alu.src[0].sel = ctx->temp_reg; - alu.src[0].chan = 1; + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 1; + + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = i; + if (i == 1) + alu.dst.write = 1; + if (i == 2) + alu.last = 1; + + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE); + alu.src[0].sel = ctx->temp_reg; + alu.src[0].chan = 1; - alu.dst.sel = ctx->temp_reg; - alu.dst.chan = 1; - alu.dst.write = 1; - alu.last = 1; + alu.dst.sel = ctx->temp_reg; + alu.dst.chan = 1; + alu.dst.write = 1; + alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } memset(&alu, 0, sizeof(struct r600_bc_alu)); @@ -2167,19 +2540,39 @@ static int tgsi_log(struct r600_shader_ctx *ctx) /* result.z = log2(src);*/ if ((inst->Dst[0].Register.WriteMask >> 2) & 1) { - memset(&alu, 0, sizeof(struct r600_bc_alu)); + if (ctx->bc->chiprev == CHIPREV_CAYMAN) { + for (i = 0; i < 3; i++) { + memset(&alu, 0, sizeof(struct r600_bc_alu)); - alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); - r600_bc_src(&alu.src[0], &ctx->src[0], 0); + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); - alu.dst.sel = ctx->temp_reg; - alu.dst.write = 1; - alu.dst.chan = 2; - alu.last = 1; + alu.dst.sel = ctx->temp_reg; + if (i == 2) + alu.dst.write = 1; + alu.dst.chan = i; + if (i == 2) + alu.last = 1; - r = r600_bc_add_alu(ctx->bc, &alu); - if (r) - return r; + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } + } else { + memset(&alu, 0, sizeof(struct r600_bc_alu)); + + alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE); + r600_bc_src(&alu.src[0], &ctx->src[0], 0); + + alu.dst.sel = ctx->temp_reg; + alu.dst.write = 1; + alu.dst.chan = 2; + alu.last = 1; + + r = r600_bc_add_alu(ctx->bc, &alu); + if (r) + return r; + } } /* result.w = 1.0; */ @@ -2950,3 +3343,161 @@ static struct r600_shader_tgsi_instruction eg_shader_tgsi_instruction[] = { {TGSI_OPCODE_ENDSWITCH, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, {TGSI_OPCODE_LAST, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, }; + +static struct r600_shader_tgsi_instruction cm_shader_tgsi_instruction[] = { + {TGSI_OPCODE_ARL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_eg_arl}, + {TGSI_OPCODE_MOV, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV, tgsi_op2}, + {TGSI_OPCODE_LIT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_lit}, + {TGSI_OPCODE_RCP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIP_IEEE, cayman_emit_float_instr}, + {TGSI_OPCODE_RSQ, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_RECIPSQRT_IEEE, cayman_emit_float_instr}, + {TGSI_OPCODE_EXP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_exp}, + {TGSI_OPCODE_LOG, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_log}, + {TGSI_OPCODE_MUL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MUL, tgsi_op2}, + {TGSI_OPCODE_ADD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD, tgsi_op2}, + {TGSI_OPCODE_DP3, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4, tgsi_dp}, + {TGSI_OPCODE_DP4, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4, tgsi_dp}, + {TGSI_OPCODE_DST, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_opdst}, + {TGSI_OPCODE_MIN, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MIN, tgsi_op2}, + {TGSI_OPCODE_MAX, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MAX, tgsi_op2}, + {TGSI_OPCODE_SLT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT, tgsi_op2_swap}, + {TGSI_OPCODE_SGE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE, tgsi_op2}, + {TGSI_OPCODE_MAD, 1, EG_V_SQ_ALU_WORD1_OP3_SQ_OP3_INST_MULADD, tgsi_op3}, + {TGSI_OPCODE_SUB, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_ADD, tgsi_op2}, + {TGSI_OPCODE_LRP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_lrp}, + {TGSI_OPCODE_CND, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + /* gap */ + {20, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_DP2A, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + /* gap */ + {22, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {23, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_FRC, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FRACT, tgsi_op2}, + {TGSI_OPCODE_CLAMP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_FLR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_FLOOR, tgsi_op2}, + {TGSI_OPCODE_ROUND, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_EX2, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_EXP_IEEE, cayman_emit_float_instr}, + {TGSI_OPCODE_LG2, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_LOG_IEEE, cayman_emit_float_instr}, + {TGSI_OPCODE_POW, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, cayman_pow}, + {TGSI_OPCODE_XPD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_xpd}, + /* gap */ + {32, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ABS, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV, tgsi_op2}, + {TGSI_OPCODE_RCC, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_DPH, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4, tgsi_dp}, + {TGSI_OPCODE_COS, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_COS, cayman_trig}, + {TGSI_OPCODE_DDX, 0, SQ_TEX_INST_GET_GRADIENTS_H, tgsi_tex}, + {TGSI_OPCODE_DDY, 0, SQ_TEX_INST_GET_GRADIENTS_V, tgsi_tex}, + {TGSI_OPCODE_KILP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT, tgsi_kill}, /* predicated kill */ + {TGSI_OPCODE_PK2H, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_PK2US, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_PK4B, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_PK4UB, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_RFL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_SEQ, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETE, tgsi_op2}, + {TGSI_OPCODE_SFL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_SGT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGT, tgsi_op2}, + {TGSI_OPCODE_SIN, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SIN, cayman_trig}, + {TGSI_OPCODE_SLE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETGE, tgsi_op2_swap}, + {TGSI_OPCODE_SNE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_SETNE, tgsi_op2}, + {TGSI_OPCODE_STR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_TEX, 0, SQ_TEX_INST_SAMPLE, tgsi_tex}, + {TGSI_OPCODE_TXD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_TXP, 0, SQ_TEX_INST_SAMPLE, tgsi_tex}, + {TGSI_OPCODE_UP2H, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UP2US, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UP4B, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UP4UB, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_X2D, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ARA, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ARR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_eg_arl}, + {TGSI_OPCODE_BRA, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_CAL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_RET, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_SSG, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_ssg}, + {TGSI_OPCODE_CMP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_cmp}, + {TGSI_OPCODE_SCS, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_scs}, + {TGSI_OPCODE_TXB, 0, SQ_TEX_INST_SAMPLE_L, tgsi_tex}, + {TGSI_OPCODE_NRM, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_DIV, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_DP2, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_DOT4, tgsi_dp}, + {TGSI_OPCODE_TXL, 0, SQ_TEX_INST_SAMPLE_L, tgsi_tex}, + {TGSI_OPCODE_BRK, 0, EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_BREAK, tgsi_loop_brk_cont}, + {TGSI_OPCODE_IF, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_if}, + /* gap */ + {75, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {76, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ELSE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_else}, + {TGSI_OPCODE_ENDIF, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_endif}, + /* gap */ + {79, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {80, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_PUSHA, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_POPA, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_CEIL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_I2F, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_NOT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_TRUNC, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_TRUNC, tgsi_op2}, + {TGSI_OPCODE_SHL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + /* gap */ + {88, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_AND, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_OR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_MOD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_XOR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_SAD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_TXF, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_TXQ, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_CONT, 0, EG_V_SQ_CF_WORD1_SQ_CF_INST_LOOP_CONTINUE, tgsi_loop_brk_cont}, + {TGSI_OPCODE_EMIT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ENDPRIM, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_BGNLOOP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_bgnloop}, + {TGSI_OPCODE_BGNSUB, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ENDLOOP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_endloop}, + {TGSI_OPCODE_ENDSUB, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + /* gap */ + {103, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {104, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {105, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {106, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_NOP, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + /* gap */ + {108, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {109, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {110, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {111, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_NRM4, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_CALLNZ, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_IFC, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_BREAKC, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_KIL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_KILLGT, tgsi_kill}, /* conditional kill */ + {TGSI_OPCODE_END, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_end}, /* aka HALT */ + /* gap */ + {118, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_F2I, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_IDIV, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_IMAX, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_IMIN, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_INEG, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ISGE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ISHR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ISLT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_F2U, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_U2F, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UADD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UDIV, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UMAD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UMAX, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UMIN, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UMOD, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_UMUL, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_USEQ, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_USGE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_USHR, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_USLT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_USNE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_SWITCH, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_CASE, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_DEFAULT, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_ENDSWITCH, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, + {TGSI_OPCODE_LAST, 0, EG_V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_NOP, tgsi_unsupported}, +}; diff --git a/src/gallium/winsys/r600/drm/evergreen_hw_context.c b/src/gallium/winsys/r600/drm/evergreen_hw_context.c index 2a2c37ff606..6fcb54fb9c7 100644 --- a/src/gallium/winsys/r600/drm/evergreen_hw_context.c +++ b/src/gallium/winsys/r600/drm/evergreen_hw_context.c @@ -57,6 +57,19 @@ static const struct r600_reg evergreen_config_reg_list[] = { {R_00913C_SPI_CONFIG_CNTL_1, 0, 0, 0}, }; + +static const struct r600_reg cayman_config_reg_list[] = { + {R_008958_VGT_PRIMITIVE_TYPE, 0, 0, 0}, + {R_008A14_PA_CL_ENHANCE, 0, 0, 0}, + {R_008C00_SQ_CONFIG, 0, 0, 0}, + {R_008C04_SQ_GPR_RESOURCE_MGMT_1, 0, 0, 0}, + {CM_R_008C10_SQ_GLOBAL_GPR_RESOURCE_MGMT_1, 0, 0, 0}, + {CM_R_008C14_SQ_GLOBAL_GPR_RESOURCE_MGMT_2, 0, 0, 0}, + {R_008D8C_SQ_DYN_GPR_CNTL_PS_FLUSH_REQ, 0, 0, 0}, + {R_009100_SPI_CONFIG_CNTL, 0, 0, 0}, + {R_00913C_SPI_CONFIG_CNTL_1, 0, 0, 0}, +}; + static const struct r600_reg evergreen_ctl_const_list[] = { {R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0, 0, 0}, {R_03CFF4_SQ_VTX_START_INST_LOC, 0, 0, 0}, @@ -421,6 +434,385 @@ static const struct r600_reg evergreen_context_reg_list[] = { {R_028EAC_CB_COLOR11_DIM, 0, 0, 0}, }; +static const struct r600_reg cayman_context_reg_list[] = { + {R_028000_DB_RENDER_CONTROL, 0, 0, 0}, + {R_028004_DB_COUNT_CONTROL, 0, 0, 0}, + {R_028008_DB_DEPTH_VIEW, 0, 0, 0}, + {R_02800C_DB_RENDER_OVERRIDE, 0, 0, 0}, + {R_028010_DB_RENDER_OVERRIDE2, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028014_DB_HTILE_DATA_BASE, REG_FLAG_NEED_BO, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028028_DB_STENCIL_CLEAR, 0, 0, 0}, + {R_02802C_DB_DEPTH_CLEAR, 0, 0, 0}, + {R_028030_PA_SC_SCREEN_SCISSOR_TL, 0, 0, 0}, + {R_028034_PA_SC_SCREEN_SCISSOR_BR, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028040_DB_Z_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028044_DB_STENCIL_INFO, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028048_DB_Z_READ_BASE, REG_FLAG_NEED_BO, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_02804C_DB_STENCIL_READ_BASE, REG_FLAG_NEED_BO, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028050_DB_Z_WRITE_BASE, REG_FLAG_NEED_BO, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028054_DB_STENCIL_WRITE_BASE, REG_FLAG_NEED_BO, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028058_DB_DEPTH_SIZE, 0, 0, 0}, + {R_02805C_DB_DEPTH_SLICE, 0, 0, 0}, + {R_028140_ALU_CONST_BUFFER_SIZE_PS_0, REG_FLAG_DIRTY_ALWAYS, 0, 0}, + {R_028180_ALU_CONST_BUFFER_SIZE_VS_0, REG_FLAG_DIRTY_ALWAYS, 0, 0}, + {R_028200_PA_SC_WINDOW_OFFSET, 0, 0, 0}, + {R_028204_PA_SC_WINDOW_SCISSOR_TL, 0, 0, 0}, + {R_028208_PA_SC_WINDOW_SCISSOR_BR, 0, 0, 0}, + {R_02820C_PA_SC_CLIPRECT_RULE, 0, 0, 0}, + {R_028210_PA_SC_CLIPRECT_0_TL, 0, 0, 0}, + {R_028214_PA_SC_CLIPRECT_0_BR, 0, 0, 0}, + {R_028218_PA_SC_CLIPRECT_1_TL, 0, 0, 0}, + {R_02821C_PA_SC_CLIPRECT_1_BR, 0, 0, 0}, + {R_028220_PA_SC_CLIPRECT_2_TL, 0, 0, 0}, + {R_028224_PA_SC_CLIPRECT_2_BR, 0, 0, 0}, + {R_028228_PA_SC_CLIPRECT_3_TL, 0, 0, 0}, + {R_02822C_PA_SC_CLIPRECT_3_BR, 0, 0, 0}, + {R_028230_PA_SC_EDGERULE, 0, 0, 0}, + {R_028234_PA_SU_HARDWARE_SCREEN_OFFSET, 0, 0, 0}, + {R_028238_CB_TARGET_MASK, 0, 0, 0}, + {R_02823C_CB_SHADER_MASK, 0, 0, 0}, + {R_028240_PA_SC_GENERIC_SCISSOR_TL, 0, 0, 0}, + {R_028244_PA_SC_GENERIC_SCISSOR_BR, 0, 0, 0}, + {R_028250_PA_SC_VPORT_SCISSOR_0_TL, 0, 0, 0}, + {R_028254_PA_SC_VPORT_SCISSOR_0_BR, 0, 0, 0}, + {R_028350_SX_MISC, 0, 0, 0}, + {R_028380_SQ_VTX_SEMANTIC_0, 0, 0, 0}, + {R_028384_SQ_VTX_SEMANTIC_1, 0, 0, 0}, + {R_028388_SQ_VTX_SEMANTIC_2, 0, 0, 0}, + {R_02838C_SQ_VTX_SEMANTIC_3, 0, 0, 0}, + {R_028390_SQ_VTX_SEMANTIC_4, 0, 0, 0}, + {R_028394_SQ_VTX_SEMANTIC_5, 0, 0, 0}, + {R_028398_SQ_VTX_SEMANTIC_6, 0, 0, 0}, + {R_02839C_SQ_VTX_SEMANTIC_7, 0, 0, 0}, + {R_0283A0_SQ_VTX_SEMANTIC_8, 0, 0, 0}, + {R_0283A4_SQ_VTX_SEMANTIC_9, 0, 0, 0}, + {R_0283A8_SQ_VTX_SEMANTIC_10, 0, 0, 0}, + {R_0283AC_SQ_VTX_SEMANTIC_11, 0, 0, 0}, + {R_0283B0_SQ_VTX_SEMANTIC_12, 0, 0, 0}, + {R_0283B4_SQ_VTX_SEMANTIC_13, 0, 0, 0}, + {R_0283B8_SQ_VTX_SEMANTIC_14, 0, 0, 0}, + {R_0283BC_SQ_VTX_SEMANTIC_15, 0, 0, 0}, + {R_0283C0_SQ_VTX_SEMANTIC_16, 0, 0, 0}, + {R_0283C4_SQ_VTX_SEMANTIC_17, 0, 0, 0}, + {R_0283C8_SQ_VTX_SEMANTIC_18, 0, 0, 0}, + {R_0283CC_SQ_VTX_SEMANTIC_19, 0, 0, 0}, + {R_0283D0_SQ_VTX_SEMANTIC_20, 0, 0, 0}, + {R_0283D4_SQ_VTX_SEMANTIC_21, 0, 0, 0}, + {R_0283D8_SQ_VTX_SEMANTIC_22, 0, 0, 0}, + {R_0283DC_SQ_VTX_SEMANTIC_23, 0, 0, 0}, + {R_0283E0_SQ_VTX_SEMANTIC_24, 0, 0, 0}, + {R_0283E4_SQ_VTX_SEMANTIC_25, 0, 0, 0}, + {R_0283E8_SQ_VTX_SEMANTIC_26, 0, 0, 0}, + {R_0283EC_SQ_VTX_SEMANTIC_27, 0, 0, 0}, + {R_0283F0_SQ_VTX_SEMANTIC_28, 0, 0, 0}, + {R_0283F4_SQ_VTX_SEMANTIC_29, 0, 0, 0}, + {R_0283F8_SQ_VTX_SEMANTIC_30, 0, 0, 0}, + {R_0283FC_SQ_VTX_SEMANTIC_31, 0, 0, 0}, + {R_0282D0_PA_SC_VPORT_ZMIN_0, 0, 0, 0}, + {R_0282D4_PA_SC_VPORT_ZMAX_0, 0, 0, 0}, + {R_028400_VGT_MAX_VTX_INDX, 0, 0, 0}, + {R_028404_VGT_MIN_VTX_INDX, 0, 0, 0}, + {R_028408_VGT_INDX_OFFSET, 0, 0, 0}, + {R_02840C_VGT_MULTI_PRIM_IB_RESET_INDX, 0, 0, 0}, + {R_028410_SX_ALPHA_TEST_CONTROL, 0, 0, 0}, + {R_028414_CB_BLEND_RED, 0, 0, 0}, + {R_028418_CB_BLEND_GREEN, 0, 0, 0}, + {R_02841C_CB_BLEND_BLUE, 0, 0, 0}, + {R_028420_CB_BLEND_ALPHA, 0, 0, 0}, + {R_028430_DB_STENCILREFMASK, 0, 0, 0}, + {R_028434_DB_STENCILREFMASK_BF, 0, 0, 0}, + {R_028438_SX_ALPHA_REF, 0, 0, 0}, + {R_02843C_PA_CL_VPORT_XSCALE_0, 0, 0, 0}, + {R_028440_PA_CL_VPORT_XOFFSET_0, 0, 0, 0}, + {R_028444_PA_CL_VPORT_YSCALE_0, 0, 0, 0}, + {R_028448_PA_CL_VPORT_YOFFSET_0, 0, 0, 0}, + {R_02844C_PA_CL_VPORT_ZSCALE_0, 0, 0, 0}, + {R_028450_PA_CL_VPORT_ZOFFSET_0, 0, 0, 0}, + {R_0285BC_PA_CL_UCP0_X, 0, 0, 0}, + {R_0285C0_PA_CL_UCP0_Y, 0, 0, 0}, + {R_0285C4_PA_CL_UCP0_Z, 0, 0, 0}, + {R_0285C8_PA_CL_UCP0_W, 0, 0, 0}, + {R_0285CC_PA_CL_UCP1_X, 0, 0, 0}, + {R_0285D0_PA_CL_UCP1_Y, 0, 0, 0}, + {R_0285D4_PA_CL_UCP1_Z, 0, 0, 0}, + {R_0285D8_PA_CL_UCP1_W, 0, 0, 0}, + {R_0285DC_PA_CL_UCP2_X, 0, 0, 0}, + {R_0285E0_PA_CL_UCP2_Y, 0, 0, 0}, + {R_0285E4_PA_CL_UCP2_Z, 0, 0, 0}, + {R_0285E8_PA_CL_UCP2_W, 0, 0, 0}, + {R_0285EC_PA_CL_UCP3_X, 0, 0, 0}, + {R_0285F0_PA_CL_UCP3_Y, 0, 0, 0}, + {R_0285F4_PA_CL_UCP3_Z, 0, 0, 0}, + {R_0285F8_PA_CL_UCP3_W, 0, 0, 0}, + {R_0285FC_PA_CL_UCP4_X, 0, 0, 0}, + {R_028600_PA_CL_UCP4_Y, 0, 0, 0}, + {R_028604_PA_CL_UCP4_Z, 0, 0, 0}, + {R_028608_PA_CL_UCP4_W, 0, 0, 0}, + {R_02860C_PA_CL_UCP5_X, 0, 0, 0}, + {R_028610_PA_CL_UCP5_Y, 0, 0, 0}, + {R_028614_PA_CL_UCP5_Z, 0, 0, 0}, + {R_028618_PA_CL_UCP5_W, 0, 0, 0}, + {R_02861C_SPI_VS_OUT_ID_0, 0, 0, 0}, + {R_028620_SPI_VS_OUT_ID_1, 0, 0, 0}, + {R_028624_SPI_VS_OUT_ID_2, 0, 0, 0}, + {R_028628_SPI_VS_OUT_ID_3, 0, 0, 0}, + {R_02862C_SPI_VS_OUT_ID_4, 0, 0, 0}, + {R_028630_SPI_VS_OUT_ID_5, 0, 0, 0}, + {R_028634_SPI_VS_OUT_ID_6, 0, 0, 0}, + {R_028638_SPI_VS_OUT_ID_7, 0, 0, 0}, + {R_02863C_SPI_VS_OUT_ID_8, 0, 0, 0}, + {R_028640_SPI_VS_OUT_ID_9, 0, 0, 0}, + {R_028644_SPI_PS_INPUT_CNTL_0, 0, 0, 0}, + {R_028648_SPI_PS_INPUT_CNTL_1, 0, 0, 0}, + {R_02864C_SPI_PS_INPUT_CNTL_2, 0, 0, 0}, + {R_028650_SPI_PS_INPUT_CNTL_3, 0, 0, 0}, + {R_028654_SPI_PS_INPUT_CNTL_4, 0, 0, 0}, + {R_028658_SPI_PS_INPUT_CNTL_5, 0, 0, 0}, + {R_02865C_SPI_PS_INPUT_CNTL_6, 0, 0, 0}, + {R_028660_SPI_PS_INPUT_CNTL_7, 0, 0, 0}, + {R_028664_SPI_PS_INPUT_CNTL_8, 0, 0, 0}, + {R_028668_SPI_PS_INPUT_CNTL_9, 0, 0, 0}, + {R_02866C_SPI_PS_INPUT_CNTL_10, 0, 0, 0}, + {R_028670_SPI_PS_INPUT_CNTL_11, 0, 0, 0}, + {R_028674_SPI_PS_INPUT_CNTL_12, 0, 0, 0}, + {R_028678_SPI_PS_INPUT_CNTL_13, 0, 0, 0}, + {R_02867C_SPI_PS_INPUT_CNTL_14, 0, 0, 0}, + {R_028680_SPI_PS_INPUT_CNTL_15, 0, 0, 0}, + {R_028684_SPI_PS_INPUT_CNTL_16, 0, 0, 0}, + {R_028688_SPI_PS_INPUT_CNTL_17, 0, 0, 0}, + {R_02868C_SPI_PS_INPUT_CNTL_18, 0, 0, 0}, + {R_028690_SPI_PS_INPUT_CNTL_19, 0, 0, 0}, + {R_028694_SPI_PS_INPUT_CNTL_20, 0, 0, 0}, + {R_028698_SPI_PS_INPUT_CNTL_21, 0, 0, 0}, + {R_02869C_SPI_PS_INPUT_CNTL_22, 0, 0, 0}, + {R_0286A0_SPI_PS_INPUT_CNTL_23, 0, 0, 0}, + {R_0286A4_SPI_PS_INPUT_CNTL_24, 0, 0, 0}, + {R_0286A8_SPI_PS_INPUT_CNTL_25, 0, 0, 0}, + {R_0286AC_SPI_PS_INPUT_CNTL_26, 0, 0, 0}, + {R_0286B0_SPI_PS_INPUT_CNTL_27, 0, 0, 0}, + {R_0286B4_SPI_PS_INPUT_CNTL_28, 0, 0, 0}, + {R_0286B8_SPI_PS_INPUT_CNTL_29, 0, 0, 0}, + {R_0286BC_SPI_PS_INPUT_CNTL_30, 0, 0, 0}, + {R_0286C0_SPI_PS_INPUT_CNTL_31, 0, 0, 0}, + {R_0286C4_SPI_VS_OUT_CONFIG, 0, 0, 0}, + {R_0286C8_SPI_THREAD_GROUPING, 0, 0, 0}, + {R_0286CC_SPI_PS_IN_CONTROL_0, 0, 0, 0}, + {R_0286D0_SPI_PS_IN_CONTROL_1, 0, 0, 0}, + {R_0286D4_SPI_INTERP_CONTROL_0, 0, 0, 0}, + {R_0286D8_SPI_INPUT_Z, 0, 0, 0}, + {R_0286DC_SPI_FOG_CNTL, 0, 0, 0}, + {R_0286E0_SPI_BARYC_CNTL, 0, 0, 0}, + {R_0286E4_SPI_PS_IN_CONTROL_2, 0, 0, 0}, + {R_0286E8_SPI_COMPUTE_INPUT_CNTL, 0, 0, 0}, + {R_028780_CB_BLEND0_CONTROL, 0, 0, 0}, + {R_028784_CB_BLEND1_CONTROL, 0, 0, 0}, + {R_028788_CB_BLEND2_CONTROL, 0, 0, 0}, + {R_02878C_CB_BLEND3_CONTROL, 0, 0, 0}, + {R_028790_CB_BLEND4_CONTROL, 0, 0, 0}, + {R_028794_CB_BLEND5_CONTROL, 0, 0, 0}, + {R_028798_CB_BLEND6_CONTROL, 0, 0, 0}, + {R_02879C_CB_BLEND7_CONTROL, 0, 0, 0}, + {R_028800_DB_DEPTH_CONTROL, 0, 0, 0}, + {CM_R_028804_DB_EQAA, 0, 0, 0}, + {R_028808_CB_COLOR_CONTROL, 0, 0, 0}, + {R_02880C_DB_SHADER_CONTROL, 0, 0, 0}, + {R_028810_PA_CL_CLIP_CNTL, 0, 0, 0}, + {R_028814_PA_SU_SC_MODE_CNTL, 0, 0, 0}, + {R_028818_PA_CL_VTE_CNTL, 0, 0, 0}, + {R_02881C_PA_CL_VS_OUT_CNTL, 0, 0, 0}, + {R_028820_PA_CL_NANINF_CNTL, 0, 0, 0}, + {R_028838_SQ_DYN_GPR_RESOURCE_LIMIT_1, 0, 0, 0}, + {R_028840_SQ_PGM_START_PS, REG_FLAG_NEED_BO, S_0085F0_SH_ACTION_ENA(1), 0xFFFFFFFF}, + {R_028844_SQ_PGM_RESOURCES_PS, 0, 0, 0}, + {R_028848_SQ_PGM_RESOURCES_2_PS, 0, 0, 0}, + {R_02884C_SQ_PGM_EXPORTS_PS, 0, 0, 0}, + {R_02885C_SQ_PGM_START_VS, REG_FLAG_NEED_BO, S_0085F0_SH_ACTION_ENA(1), 0xFFFFFFFF}, + {R_028860_SQ_PGM_RESOURCES_VS, 0, 0, 0}, + {R_028864_SQ_PGM_RESOURCES_2_VS, 0, 0, 0}, + {R_0288A4_SQ_PGM_START_FS, REG_FLAG_NEED_BO, S_0085F0_SH_ACTION_ENA(1), 0xFFFFFFFF}, + {R_0288A8_SQ_PGM_RESOURCES_FS, 0, 0, 0}, + {CM_R_0288E8_SQ_LDS_ALLOC, 0, 0, 0}, + {R_0288EC_SQ_LDS_ALLOC_PS, 0, 0, 0}, + {R_028900_SQ_ESGS_RING_ITEMSIZE, 0, 0, 0}, + {R_028904_SQ_GSVS_RING_ITEMSIZE, 0, 0, 0}, + {R_028908_SQ_ESTMP_RING_ITEMSIZE, 0, 0, 0}, + {R_02890C_SQ_GSTMP_RING_ITEMSIZE, 0, 0, 0}, + {R_028910_SQ_VSTMP_RING_ITEMSIZE, 0, 0, 0}, + {R_028914_SQ_PSTMP_RING_ITEMSIZE, 0, 0, 0}, + {R_02891C_SQ_GS_VERT_ITEMSIZE, 0, 0, 0}, + {R_028920_SQ_GS_VERT_ITEMSIZE_1, 0, 0, 0}, + {R_028924_SQ_GS_VERT_ITEMSIZE_2, 0, 0, 0}, + {R_028928_SQ_GS_VERT_ITEMSIZE_3, 0, 0, 0}, + {R_028940_ALU_CONST_CACHE_PS_0, REG_FLAG_NEED_BO, S_0085F0_SH_ACTION_ENA(1), 0xFFFFFFFF}, + {R_028980_ALU_CONST_CACHE_VS_0, REG_FLAG_NEED_BO, S_0085F0_SH_ACTION_ENA(1), 0xFFFFFFFF}, + {R_028A00_PA_SU_POINT_SIZE, 0, 0, 0}, + {R_028A04_PA_SU_POINT_MINMAX, 0, 0, 0}, + {R_028A08_PA_SU_LINE_CNTL, 0, 0, 0}, + {R_028A10_VGT_OUTPUT_PATH_CNTL, 0, 0, 0}, + {R_028A14_VGT_HOS_CNTL, 0, 0, 0}, + {R_028A18_VGT_HOS_MAX_TESS_LEVEL, 0, 0, 0}, + {R_028A1C_VGT_HOS_MIN_TESS_LEVEL, 0, 0, 0}, + {R_028A20_VGT_HOS_REUSE_DEPTH, 0, 0, 0}, + {R_028A24_VGT_GROUP_PRIM_TYPE, 0, 0, 0}, + {R_028A28_VGT_GROUP_FIRST_DECR, 0, 0, 0}, + {R_028A2C_VGT_GROUP_DECR, 0, 0, 0}, + {R_028A30_VGT_GROUP_VECT_0_CNTL, 0, 0, 0}, + {R_028A34_VGT_GROUP_VECT_1_CNTL, 0, 0, 0}, + {R_028A38_VGT_GROUP_VECT_0_FMT_CNTL, 0, 0, 0}, + {R_028A3C_VGT_GROUP_VECT_1_FMT_CNTL, 0, 0, 0}, + {R_028A40_VGT_GS_MODE, 0, 0, 0}, + {R_028A48_PA_SC_MODE_CNTL_0, 0, 0, 0}, + {R_028A4C_PA_SC_MODE_CNTL_1, 0, 0, 0}, + {R_028AB4_VGT_REUSE_OFF, 0, 0, 0}, + {R_028AB8_VGT_VTX_CNT_EN, 0, 0, 0}, + {R_028ABC_DB_HTILE_SURFACE, 0, 0, 0}, + {R_028AC0_DB_SRESULTS_COMPARE_STATE0, 0, 0, 0}, + {R_028AC4_DB_SRESULTS_COMPARE_STATE1, 0, 0, 0}, + {R_028AC8_DB_PRELOAD_CONTROL, 0, 0, 0}, + {R_028B54_VGT_SHADER_STAGES_EN, 0, 0, 0}, + {R_028B70_DB_ALPHA_TO_MASK, 0, 0, 0}, + {R_028B78_PA_SU_POLY_OFFSET_DB_FMT_CNTL, 0, 0, 0}, + {R_028B7C_PA_SU_POLY_OFFSET_CLAMP, 0, 0, 0}, + {R_028B80_PA_SU_POLY_OFFSET_FRONT_SCALE, 0, 0, 0}, + {R_028B84_PA_SU_POLY_OFFSET_FRONT_OFFSET, 0, 0, 0}, + {R_028B88_PA_SU_POLY_OFFSET_BACK_SCALE, 0, 0, 0}, + {R_028B8C_PA_SU_POLY_OFFSET_BACK_OFFSET, 0, 0, 0}, + {R_028B94_VGT_STRMOUT_CONFIG, 0, 0, 0}, + {R_028B98_VGT_STRMOUT_BUFFER_CONFIG, 0, 0, 0}, + {CM_R_028BD4_PA_SC_CENTROID_PRIORITY_0, 0, 0, 0}, + {CM_R_028BD8_PA_SC_CENTROID_PRIORITY_1, 0, 0, 0}, + {CM_R_028BDC_PA_SC_LINE_CNTL, 0, 0, 0}, + {CM_R_028BE0_PA_SC_AA_CONFIG, 0, 0, 0}, + {CM_R_028BE4_PA_SU_VTX_CNTL, 0, 0, 0}, + {CM_R_028BE8_PA_CL_GB_VERT_CLIP_ADJ, 0, 0, 0}, + {CM_R_028BEC_PA_CL_GB_VERT_DISC_ADJ, 0, 0, 0}, + {CM_R_028BF0_PA_CL_GB_HORZ_CLIP_ADJ, 0, 0, 0}, + {CM_R_028BF4_PA_CL_GB_HORZ_DISC_ADJ, 0, 0, 0}, + {CM_R_028BF8_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0, 0, 0, 0}, + {CM_R_028BFC_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1, 0, 0, 0}, + {CM_R_028C00_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2, 0, 0, 0}, + {CM_R_028C04_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3, 0, 0, 0}, + {CM_R_028C08_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0, 0, 0, 0}, + {CM_R_028C0C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1, 0, 0, 0}, + {CM_R_028C10_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2, 0, 0, 0}, + {CM_R_028C14_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3, 0, 0, 0}, + {CM_R_028C18_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0, 0, 0, 0}, + {CM_R_028C1C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1, 0, 0, 0}, + {CM_R_028C20_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2, 0, 0, 0}, + {CM_R_028C24_PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3, 0, 0, 0}, + {CM_R_028C28_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0, 0, 0, 0}, + {CM_R_028C2C_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1, 0, 0, 0}, + {CM_R_028C30_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2, 0, 0, 0}, + {CM_R_028C34_PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3, 0, 0, 0}, + {CM_R_028C38_PA_SC_AA_MASK_X0Y0_X1Y0, 0, 0, 0}, + {CM_R_028C3C_PA_SC_AA_MASK_X0Y1_X1Y1, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028C60_CB_COLOR0_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028C64_CB_COLOR0_PITCH, 0, 0, 0}, + {R_028C68_CB_COLOR0_SLICE, 0, 0, 0}, + {R_028C6C_CB_COLOR0_VIEW, 0, 0, 0}, + {R_028C70_CB_COLOR0_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028C74_CB_COLOR0_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028C78_CB_COLOR0_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028C9C_CB_COLOR1_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028CA0_CB_COLOR1_PITCH, 0, 0, 0}, + {R_028CA4_CB_COLOR1_SLICE, 0, 0, 0}, + {R_028CA8_CB_COLOR1_VIEW, 0, 0, 0}, + {R_028CAC_CB_COLOR1_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028CB0_CB_COLOR1_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028CB4_CB_COLOR1_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028CD8_CB_COLOR2_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028CDC_CB_COLOR2_PITCH, 0, 0, 0}, + {R_028CE0_CB_COLOR2_SLICE, 0, 0, 0}, + {R_028CE4_CB_COLOR2_VIEW, 0, 0, 0}, + {R_028CE8_CB_COLOR2_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028CEC_CB_COLOR2_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028CF0_CB_COLOR2_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028D14_CB_COLOR3_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028D18_CB_COLOR3_PITCH, 0, 0, 0}, + {R_028D1C_CB_COLOR3_SLICE, 0, 0, 0}, + {R_028D20_CB_COLOR3_VIEW, 0, 0, 0}, + {R_028D24_CB_COLOR3_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028D28_CB_COLOR3_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028D2C_CB_COLOR3_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028D50_CB_COLOR4_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028D54_CB_COLOR4_PITCH, 0, 0, 0}, + {R_028D58_CB_COLOR4_SLICE, 0, 0, 0}, + {R_028D5C_CB_COLOR4_VIEW, 0, 0, 0}, + {R_028D60_CB_COLOR4_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028D64_CB_COLOR4_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028D68_CB_COLOR4_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028D8C_CB_COLOR5_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028D90_CB_COLOR5_PITCH, 0, 0, 0}, + {R_028D94_CB_COLOR5_SLICE, 0, 0, 0}, + {R_028D98_CB_COLOR5_VIEW, 0, 0, 0}, + {R_028D9C_CB_COLOR5_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028DA0_CB_COLOR5_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028DA4_CB_COLOR5_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028DC8_CB_COLOR6_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028DCC_CB_COLOR6_PITCH, 0, 0, 0}, + {R_028DD0_CB_COLOR6_SLICE, 0, 0, 0}, + {R_028DD4_CB_COLOR6_VIEW, 0, 0, 0}, + {R_028DD8_CB_COLOR6_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028DDC_CB_COLOR6_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028DE0_CB_COLOR6_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028E04_CB_COLOR7_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028E08_CB_COLOR7_PITCH, 0, 0, 0}, + {R_028E0C_CB_COLOR7_SLICE, 0, 0, 0}, + {R_028E10_CB_COLOR7_VIEW, 0, 0, 0}, + {R_028E14_CB_COLOR7_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028E18_CB_COLOR7_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028E1C_CB_COLOR7_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028E40_CB_COLOR8_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028E44_CB_COLOR8_PITCH, 0, 0, 0}, + {R_028E48_CB_COLOR8_SLICE, 0, 0, 0}, + {R_028E4C_CB_COLOR8_VIEW, 0, 0, 0}, + {R_028E50_CB_COLOR8_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028E54_CB_COLOR8_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028E58_CB_COLOR8_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028E5C_CB_COLOR9_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028E60_CB_COLOR9_PITCH, 0, 0, 0}, + {R_028E64_CB_COLOR9_SLICE, 0, 0, 0}, + {R_028E68_CB_COLOR9_VIEW, 0, 0, 0}, + {R_028E6C_CB_COLOR9_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028E70_CB_COLOR9_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028E74_CB_COLOR9_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028E78_CB_COLOR10_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028E7C_CB_COLOR10_PITCH, 0, 0, 0}, + {R_028E80_CB_COLOR10_SLICE, 0, 0, 0}, + {R_028E84_CB_COLOR10_VIEW, 0, 0, 0}, + {R_028E88_CB_COLOR10_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028E8C_CB_COLOR10_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028E90_CB_COLOR10_DIM, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, + {R_028E94_CB_COLOR11_BASE, REG_FLAG_NEED_BO, 0, 0}, + {R_028E98_CB_COLOR11_PITCH, 0, 0, 0}, + {R_028E9C_CB_COLOR11_SLICE, 0, 0, 0}, + {R_028EA0_CB_COLOR11_VIEW, 0, 0, 0}, + {R_028EA4_CB_COLOR11_INFO, REG_FLAG_NEED_BO, 0, 0xFFFFFFFF}, + {R_028EA8_CB_COLOR11_ATTRIB, REG_FLAG_NEED_BO, 0, 0}, + {R_028EAC_CB_COLOR11_DIM, 0, 0, 0}, +}; + /* SHADER RESOURCE R600/R700 */ static int evergreen_state_resource_init(struct r600_context *ctx, u32 offset) { @@ -519,12 +911,20 @@ int evergreen_context_init(struct r600_context *ctx, struct radeon *radeon) } /* add blocks */ - r = r600_context_add_block(ctx, evergreen_config_reg_list, - Elements(evergreen_config_reg_list), PKT3_SET_CONFIG_REG, EVERGREEN_CONFIG_REG_OFFSET); + if (r600_get_family(radeon) == CHIP_CAYMAN) + r = r600_context_add_block(ctx, cayman_config_reg_list, + Elements(cayman_config_reg_list), PKT3_SET_CONFIG_REG, EVERGREEN_CONFIG_REG_OFFSET); + else + r = r600_context_add_block(ctx, evergreen_config_reg_list, + Elements(evergreen_config_reg_list), PKT3_SET_CONFIG_REG, EVERGREEN_CONFIG_REG_OFFSET); if (r) goto out_err; - r = r600_context_add_block(ctx, evergreen_context_reg_list, - Elements(evergreen_context_reg_list), PKT3_SET_CONTEXT_REG, EVERGREEN_CONTEXT_REG_OFFSET); + if (r600_get_family(radeon) == CHIP_CAYMAN) + r = r600_context_add_block(ctx, cayman_context_reg_list, + Elements(cayman_context_reg_list), PKT3_SET_CONTEXT_REG, EVERGREEN_CONTEXT_REG_OFFSET); + else + r = r600_context_add_block(ctx, evergreen_context_reg_list, + Elements(evergreen_context_reg_list), PKT3_SET_CONTEXT_REG, EVERGREEN_CONTEXT_REG_OFFSET); if (r) goto out_err; r = r600_context_add_block(ctx, evergreen_ctl_const_list, diff --git a/src/gallium/winsys/r600/drm/r600_drm.c b/src/gallium/winsys/r600/drm/r600_drm.c index 311324f4f71..cbed89d3abe 100644 --- a/src/gallium/winsys/r600/drm/r600_drm.c +++ b/src/gallium/winsys/r600/drm/r600_drm.c @@ -327,6 +327,11 @@ static struct radeon *radeon_new(int fd, unsigned device) /* set default group bytes, overridden by tiling info ioctl */ radeon->tiling_info.group_bytes = 512; break; + case CHIP_CAYMAN: + radeon->chip_class = CAYMAN; + /* set default group bytes, overridden by tiling info ioctl */ + radeon->tiling_info.group_bytes = 512; + break; default: fprintf(stderr, "%s unknown or unsupported chipset 0x%04X\n", __func__, radeon->device); diff --git a/src/gallium/winsys/r600/drm/radeon_pciid.c b/src/gallium/winsys/r600/drm/radeon_pciid.c index 35db37aa1fd..b999e45a8ec 100644 --- a/src/gallium/winsys/r600/drm/radeon_pciid.c +++ b/src/gallium/winsys/r600/drm/radeon_pciid.c @@ -451,6 +451,21 @@ static const struct pci_id radeon_pci_id[] = { {0x1002, 0x9805, CHIP_PALM}, {0x1002, 0x9806, CHIP_PALM}, {0x1002, 0x9807, CHIP_PALM}, + {0x1002, 0x6700, CHIP_CAYMAN}, + {0x1002, 0x6701, CHIP_CAYMAN}, + {0x1002, 0x6702, CHIP_CAYMAN}, + {0x1002, 0x6703, CHIP_CAYMAN}, + {0x1002, 0x6704, CHIP_CAYMAN}, + {0x1002, 0x6705, CHIP_CAYMAN}, + {0x1002, 0x6706, CHIP_CAYMAN}, + {0x1002, 0x6707, CHIP_CAYMAN}, + {0x1002, 0x6708, CHIP_CAYMAN}, + {0x1002, 0x6709, CHIP_CAYMAN}, + {0x1002, 0x6718, CHIP_CAYMAN}, + {0x1002, 0x6719, CHIP_CAYMAN}, + {0x1002, 0x671C, CHIP_CAYMAN}, + {0x1002, 0x671D, CHIP_CAYMAN}, + {0x1002, 0x671F, CHIP_CAYMAN}, {0x1002, 0x6720, CHIP_BARTS}, {0x1002, 0x6721, CHIP_BARTS}, {0x1002, 0x6722, CHIP_BARTS}, -- cgit v1.2.3 From 868c04205c3859a816593595aa513ee603f736ad Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 25 May 2011 09:25:03 +1000 Subject: r600g: add workaround for buggy hw scissor on eg/cayman. This is ported from the same fix to the DDX. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/evergreen_state.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index dcb28065499..adf93669513 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -861,6 +861,7 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state); u32 shader_mask, tl, br, target_mask; enum radeon_family family; + int scissor_width, scissor_height; if (rstate == NULL) return; @@ -891,8 +892,20 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, target_mask ^= 0xf << (i * 4); shader_mask |= 0xf << (i * 4); } + scissor_width = state->width; + scissor_height = state->height; + /* EG hw workaround */ + if (scissor_width == 0) + scissor_width = 1; + if (scissor_height == 0) + scissor_height = 1; + /* cayman hw workaround */ + if (family == CHIP_CAYMAN) { + if (scissor_width == 1 && scissor_height == 1) + scissor_width = 2; + } tl = S_028240_TL_X(0) | S_028240_TL_Y(0); - br = S_028244_BR_X(state->width) | S_028244_BR_Y(state->height); + br = S_028244_BR_X(scissor_width) | S_028244_BR_Y(scissor_height); r600_pipe_state_add_reg(rstate, R_028240_PA_SC_GENERIC_SCISSOR_TL, tl, -- cgit v1.2.3 From 017cd5dcc36816e7aef5a7810b8a79d5c8ef777d Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Tue, 24 May 2011 22:44:16 -0400 Subject: r600g: fix eg/cayman scissor workaround Signed-off-by: Alex Deucher --- src/gallium/drivers/r600/evergreen_state.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index adf93669513..14860af4dd3 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -861,7 +861,7 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state); u32 shader_mask, tl, br, target_mask; enum radeon_family family; - int scissor_width, scissor_height; + int tl_x, tl_y, br_x, br_y; if (rstate == NULL) return; @@ -892,20 +892,22 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, target_mask ^= 0xf << (i * 4); shader_mask |= 0xf << (i * 4); } - scissor_width = state->width; - scissor_height = state->height; + tl_x = 0; + tl_y = 0; + br_x = state->width; + br_y = state->height; /* EG hw workaround */ - if (scissor_width == 0) - scissor_width = 1; - if (scissor_height == 0) - scissor_height = 1; + if (br_x == 0) + tl_x = 1; + if (br_y == 0) + tl_y = 1; /* cayman hw workaround */ if (family == CHIP_CAYMAN) { - if (scissor_width == 1 && scissor_height == 1) - scissor_width = 2; + if (br_x == 1 && br_y == 1) + br_x = 2; } - tl = S_028240_TL_X(0) | S_028240_TL_Y(0); - br = S_028244_BR_X(scissor_width) | S_028244_BR_Y(scissor_height); + tl = S_028240_TL_X(tl_x) | S_028240_TL_Y(tl_y); + br = S_028244_BR_X(br_x) | S_028244_BR_Y(br_y); r600_pipe_state_add_reg(rstate, R_028240_PA_SC_GENERIC_SCISSOR_TL, tl, -- cgit v1.2.3 From c44dad559af88c40bb8e626fe293319966d14394 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Wed, 25 May 2011 01:27:34 -0400 Subject: egl_dri2: add new cayman pci ids Signed-off-by: Alex Deucher --- src/egl/drivers/dri2/platform_drm.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index d2be66ccc2b..215c1bdae3d 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -531,6 +531,21 @@ const int r600_chip_ids[] = { 0x9805, /* PCI_CHIP_PALM_9805 */ 0x9806, /* PCI_CHIP_PALM_9806 */ 0x9807, /* PCI_CHIP_PALM_9807 */ + 0x6700, /* PCI_CHIP_CAYMAN_6700 */ + 0x6701, /* PCI_CHIP_CAYMAN_6701 */ + 0x6702, /* PCI_CHIP_CAYMAN_6702 */ + 0x6703, /* PCI_CHIP_CAYMAN_6703 */ + 0x6704, /* PCI_CHIP_CAYMAN_6704 */ + 0x6705, /* PCI_CHIP_CAYMAN_6705 */ + 0x6706, /* PCI_CHIP_CAYMAN_6706 */ + 0x6707, /* PCI_CHIP_CAYMAN_6707 */ + 0x6708, /* PCI_CHIP_CAYMAN_6708 */ + 0x6709, /* PCI_CHIP_CAYMAN_6709 */ + 0x6718, /* PCI_CHIP_CAYMAN_6718 */ + 0x6719, /* PCI_CHIP_CAYMAN_6719 */ + 0x671C, /* PCI_CHIP_CAYMAN_671C */ + 0x671D, /* PCI_CHIP_CAYMAN_671D */ + 0x671F, /* PCI_CHIP_CAYMAN_671F */ 0x6720, /* PCI_CHIP_BARTS_6720 */ 0x6721, /* PCI_CHIP_BARTS_6721 */ 0x6722, /* PCI_CHIP_BARTS_6722 */ -- cgit v1.2.3 From a95ec18549b677b5e9912ca9e2c92df5cfef3b4e Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 25 May 2011 06:11:20 -0400 Subject: glx: Don't refer to the request buffer outside of {L,Unl}ockDisplay ... because that's not a safe thing to do. The request buffer is shared storage among all threads, and after UnlockDisplay the 'req' pointer may point into someone else's request. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Adam Jackson --- src/glx/glx_pbuffer.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c index ad05d95ccb7..5c76c74a2c1 100644 --- a/src/glx/glx_pbuffer.c +++ b/src/glx/glx_pbuffer.c @@ -375,6 +375,7 @@ CreateDrawable(Display *dpy, struct glx_config *config, CARD32 *data; unsigned int i; CARD8 opcode; + GLXDrawable xid; i = 0; if (attrib_list) { @@ -395,7 +396,7 @@ CreateDrawable(Display *dpy, struct glx_config *config, req->screen = config->screen; req->fbconfig = config->fbconfigID; req->window = drawable; - req->glxwindow = XAllocID(dpy); + req->glxwindow = xid = XAllocID(dpy); req->numAttribs = i; if (attrib_list) @@ -404,9 +405,9 @@ CreateDrawable(Display *dpy, struct glx_config *config, UnlockDisplay(dpy); SyncHandle(); - CreateDRIDrawable(dpy, config, drawable, req->glxwindow, attrib_list, i); + CreateDRIDrawable(dpy, config, drawable, xid, attrib_list, i); - return req->glxwindow; + return xid; } -- cgit v1.2.3 From 76f77cb07edf9c6a548f782c709de70aa0a41458 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:47:01 -0700 Subject: intel: Add flags to intel_context for hiz and separate stencil Add the following flags: intel_context.has_separate_stencil intel_context.must_use_separate_stencil intel_context.has_hiz The flags are currently set to false, and will be enabled for a given chipset once the feature is completely implemented. Since it may be some time before these features are completed, their values can be overridden with environment variables INTEL_HIZ and INTEL_SEPARATE_STENCIL. Valid values for these environment variables are "0" and "1". Reviewed-by: Eric Anholt Reviewed-by: Kenneth Graunke Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_context.c | 55 ++++++++++++++++++++++++++++++ src/mesa/drivers/dri/intel/intel_context.h | 3 ++ 2 files changed, 58 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 4516db20ffc..91cf5dbf44b 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -620,6 +620,53 @@ intelInitDriverFunctions(struct dd_function_table *functions) intel_init_syncobj_functions(functions); } +/** + * Override intel->has_hiz with environment variable INTEL_HIZ. + * + * Valid values for INTEL_HIZ are "0" and "1". If an invalid valid value is + * encountered, a warning is emitted and INTEL_HIZ is ignored. + */ +static void +intel_override_hiz(struct intel_context *intel) +{ + const char *s = getenv("INTEL_HIZ"); + if (!s) { + return; + } else if (!strncmp("0", s, 2)) { + intel->has_hiz = false; + } else if (!strncmp("1", s, 2)) { + intel->has_hiz = true; + } else { + _mesa_warning(&intel->ctx, + "env variable INTEL_HIZ=\"%s\" has invalid value and " + "is ignored", s); + } +} + +/** + * Override intel->has_separate_stencil with environment variable + * INTEL_SEPARATE_STENCIL. + * + * Valid values for INTEL_SEPARATE_STENCIL are "0" and "1". If an invalid + * value is encountered, a warning is emitted and INTEL_SEPARATE_STENCIL is + * ignored. + */ +static void +intel_override_separate_stencil(struct intel_context *intel) +{ + const char *s = getenv("INTEL_SEPARATE_STENCIL"); + if (!s) { + return; + } else if (!strncmp("0", s, 2)) { + intel->has_separate_stencil = false; + } else if (!strncmp("1", s, 2)) { + intel->has_separate_stencil = true; + } else { + _mesa_warning(&intel->ctx, + "env variable INTEL_SEPARATE_STENCIL=\"%s\" has invalid " + "value and is ignored", s); + } +} GLboolean intelInitContext(struct intel_context *intel, @@ -667,9 +714,14 @@ intelInitContext(struct intel_context *intel, if (IS_GEN7(intel->intelScreen->deviceID)) { intel->needs_ff_sync = GL_TRUE; intel->has_luminance_srgb = GL_TRUE; + /* FINISHME: Enable intel->has_separate_stencil on Gen7. */ + /* FINISHME: Enable intel->must_use_separate_stencil on Gen7. */ + /* FINISHME: Enable intel->has_hiz on Gen7. */ } else if (IS_GEN6(intel->intelScreen->deviceID)) { intel->needs_ff_sync = GL_TRUE; intel->has_luminance_srgb = GL_TRUE; + /* FINISHME: Enable intel->has_separate_stencil on Gen6. */ + /* FINISHME: Enable intel->has_hiz on Gen6. */ } else if (IS_GEN5(intel->intelScreen->deviceID)) { intel->needs_ff_sync = GL_TRUE; intel->has_luminance_srgb = GL_TRUE; @@ -689,6 +741,9 @@ intelInitContext(struct intel_context *intel, } } + intel_override_hiz(intel); + intel_override_separate_stencil(intel); + memset(&ctx->TextureFormatSupported, 0, sizeof(ctx->TextureFormatSupported)); ctx->TextureFormatSupported[MESA_FORMAT_ARGB8888] = GL_TRUE; diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index d3a8a659caa..007eaf9d616 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -166,6 +166,9 @@ struct intel_context GLboolean is_945; GLboolean has_luminance_srgb; GLboolean has_xrgb_textures; + GLboolean has_separate_stencil; + GLboolean must_use_separate_stencil; + GLboolean has_hiz; int urb_size; -- cgit v1.2.3 From 4e0654ec2924c941fe03f57665fbf44e1b600db8 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:47:17 -0700 Subject: mesa: Add MESA_FORMAT_X8_Z24 to _mesa_choose_tex_format Prefer MESA_FORMAT_X8_Z24 over MESA_FORMAT_S8_Z24 for textures with internal format GL_DEPTH_COMPONENT*. i965 needs MESA_FORMAT_X8_Z24 for HiZ and separate stencil. Reviewed-by: Eric Anholt Reviewed-by: Kenneth Graunke Signed-off-by: Chad Versace --- src/mesa/main/texformat.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c index 456687b0c5c..8cbb021d8b0 100644 --- a/src/mesa/main/texformat.c +++ b/src/mesa/main/texformat.c @@ -217,10 +217,12 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat, case GL_DEPTH_COMPONENT24: case GL_DEPTH_COMPONENT32: RETURN_IF_SUPPORTED(MESA_FORMAT_Z32); + RETURN_IF_SUPPORTED(MESA_FORMAT_X8_Z24); RETURN_IF_SUPPORTED(MESA_FORMAT_S8_Z24); break; case GL_DEPTH_COMPONENT16: RETURN_IF_SUPPORTED(MESA_FORMAT_Z16); + RETURN_IF_SUPPORTED(MESA_FORMAT_X8_Z24); RETURN_IF_SUPPORTED(MESA_FORMAT_S8_Z24); default: ; /* fallthrough */ -- cgit v1.2.3 From b5c847c7ca06823af3b72324056a2e478caca70b Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:47:27 -0700 Subject: intel: Change supported texture formats for separate stencil When hardware supports separate stencil, enable support for separate depth/stencil texture formats in the table intel_context.ctx.TextureFormatsSupported. If the hardware must use separate stencil, then disable support for combined depth/stencil formats. Reviewed-by: Eric Anholt Reviewed-by: Kenneth Graunke Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_context.c | 7 ++++++- src/mesa/drivers/dri/intel/intel_tex_format.c | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 91cf5dbf44b..2ea52c26106 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -758,7 +758,12 @@ intelInitContext(struct intel_context *intel, ctx->TextureFormatSupported[MESA_FORMAT_AL88] = GL_TRUE; if (intel->gen >= 4) ctx->TextureFormatSupported[MESA_FORMAT_AL1616] = GL_TRUE; - ctx->TextureFormatSupported[MESA_FORMAT_S8_Z24] = GL_TRUE; + + /* Depth and stencil */ + ctx->TextureFormatSupported[MESA_FORMAT_S8_Z24] = !intel->must_use_separate_stencil; + ctx->TextureFormatSupported[MESA_FORMAT_X8_Z24] = intel->has_separate_stencil; + ctx->TextureFormatSupported[MESA_FORMAT_S8] = intel->has_separate_stencil; + /* * This was disabled in initial FBO enabling to avoid combinations * of depth+stencil that wouldn't work together. We since decided diff --git a/src/mesa/drivers/dri/intel/intel_tex_format.c b/src/mesa/drivers/dri/intel/intel_tex_format.c index befa615d1e6..6890a690ab1 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_format.c +++ b/src/mesa/drivers/dri/intel/intel_tex_format.c @@ -22,6 +22,7 @@ intel_mesa_format_to_rb_datatype(gl_format format) case MESA_FORMAT_RGB565: case MESA_FORMAT_ARGB1555: case MESA_FORMAT_ARGB4444: + case MESA_FORMAT_S8: return GL_UNSIGNED_BYTE; case MESA_FORMAT_R16: case MESA_FORMAT_RG1616: -- cgit v1.2.3 From 1a1411e09b23fce9977f7926dba4f1f0c8f3c5ec Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:47:35 -0700 Subject: intel: Allocate region for separate stencil buffer ... in intel_alloc_renderbuffer_storage(). The stencil buffer has quirky pitch requirements, so its region allocation is a special case. Reviewed-by: Eric Anholt Reviewed-by: Kenneth Graunke Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_fbo.c | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index ad2468a3237..12beaa7cc7b 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -129,7 +129,12 @@ intel_alloc_renderbuffer_storage(struct gl_context * ctx, struct gl_renderbuffer case GL_STENCIL_INDEX8_EXT: case GL_STENCIL_INDEX16_EXT: /* These aren't actual texture formats, so force them here. */ - rb->Format = MESA_FORMAT_S8_Z24; + if (intel->has_separate_stencil) { + rb->Format = MESA_FORMAT_S8; + } else { + assert(!intel->must_use_separate_stencil); + rb->Format = MESA_FORMAT_S8_Z24; + } break; } @@ -154,14 +159,36 @@ intel_alloc_renderbuffer_storage(struct gl_context * ctx, struct gl_renderbuffer GLenum base_format = _mesa_get_format_base_format(rb->Format); if (intel->gen >= 4 && (base_format == GL_DEPTH_COMPONENT || + base_format == GL_STENCIL_INDEX || base_format == GL_DEPTH_STENCIL)) tiling = I915_TILING_Y; else tiling = I915_TILING_X; } - irb->region = intel_region_alloc(intel->intelScreen, tiling, cpp, - width, height, GL_TRUE); + if (irb->Base.Format == MESA_FORMAT_S8) { + /* + * The stencil buffer has quirky pitch requirements. From Vol 2a, + * 11.5.6.2.1 3DSTATE_STENCIL_BUFFER, field "Surface Pitch": + * The pitch must be set to 2x the value computed based on width, as + * the stencil buffer is stored with two rows interleaved. + * To accomplish this, we resort to the nasty hack of doubling the drm + * region's cpp and halving its height. + * + * If we neglect to double the pitch, then drm_intel_gem_bo_map_gtt() + * maps the memory incorrectly. + */ + irb->region = intel_region_alloc(intel->intelScreen, + I915_TILING_Y, + cpp * 2, + width, + height / 2, + GL_TRUE); + } else { + irb->region = intel_region_alloc(intel->intelScreen, tiling, cpp, + width, height, GL_TRUE); + } + if (!irb->region) return GL_FALSE; /* out of memory? */ -- cgit v1.2.3 From a9e65097855468529242f9076bd6ef2a6c8062c1 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:47:57 -0700 Subject: intel: Add is_hiz_depth_format() to intel_contex.vtbl Given a format, is_hiz_depth_format() indicates if HiZ can be enabled on a depthbuffer of that format. Reviewed-by: Eric Anholt Reviewed-by: Kenneth Graunke Signed-off-by: Chad Versace --- src/mesa/drivers/dri/i915/i915_vtbl.c | 9 +++++++++ src/mesa/drivers/dri/i965/brw_vtbl.c | 11 +++++++++++ src/mesa/drivers/dri/intel/intel_context.h | 4 ++++ 3 files changed, 24 insertions(+) diff --git a/src/mesa/drivers/dri/i915/i915_vtbl.c b/src/mesa/drivers/dri/i915/i915_vtbl.c index 89650b618e4..820feba04ba 100644 --- a/src/mesa/drivers/dri/i915/i915_vtbl.c +++ b/src/mesa/drivers/dri/i915/i915_vtbl.c @@ -687,6 +687,14 @@ i915_assert_not_dirty( struct intel_context *intel ) (void) dirty; } +/** Return false; i915 does not support HiZ. */ +static bool +i915_is_hiz_depth_format(struct intel_context *intel, + gl_format format) +{ + return false; +} + void i915InitVtbl(struct i915_context *i915) { @@ -702,4 +710,5 @@ i915InitVtbl(struct i915_context *i915) i915->intel.vtbl.assert_not_dirty = i915_assert_not_dirty; i915->intel.vtbl.finish_batch = intel_finish_vb; i915->intel.vtbl.render_target_supported = i915_render_target_supported; + i915->intel.vtbl.is_hiz_depth_format = i915_is_hiz_depth_format; } diff --git a/src/mesa/drivers/dri/i965/brw_vtbl.c b/src/mesa/drivers/dri/i965/brw_vtbl.c index 9f99ef57214..69650e1df77 100644 --- a/src/mesa/drivers/dri/i965/brw_vtbl.c +++ b/src/mesa/drivers/dri/i965/brw_vtbl.c @@ -136,6 +136,16 @@ static void brw_invalidate_state( struct intel_context *intel, GLuint new_state /* nothing */ } +/** + * \see intel_context.vtbl.is_hiz_depth_format + */ +static bool brw_is_hiz_depth_format(struct intel_context *intel, + gl_format format) +{ + /* In the future, this will support Z_FLOAT32. */ + return intel->has_hiz && (format == MESA_FORMAT_X8_Z24); +} + void brwInitVtbl( struct brw_context *brw ) { @@ -152,4 +162,5 @@ void brwInitVtbl( struct brw_context *brw ) brw->intel.vtbl.set_draw_region = brw_set_draw_region; brw->intel.vtbl.debug_batch = brw_debug_batch; brw->intel.vtbl.render_target_supported = brw_render_target_supported; + brw->intel.vtbl.is_hiz_depth_format = brw_is_hiz_depth_format; } diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index 007eaf9d616..f599861cba8 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -149,6 +149,10 @@ struct intel_context void (*debug_batch)(struct intel_context *intel); bool (*render_target_supported)(gl_format format); + + /** Can HiZ be enabled on a depthbuffer of the given format? */ + bool (*is_hiz_depth_format)(struct intel_context *intel, + gl_format format); } vtbl; GLbitfield Fallback; /**< mask of INTEL_FALLBACK_x bits */ -- cgit v1.2.3 From 7c0e6d9bbc11f7802c81df048eb721b5e15e8ece Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:48:04 -0700 Subject: intel: Add hiz_region to intel_renderbuffer A hiz surface must be supplied to the hardware when rendering to a depth buffer with hiz. There are three potential places to store that surface: 1. Allocate a larger intel_region for the depthbuffer, and let the region's tail be the hiz surface. 2. Allocate a separate intel_region for hiz, and store it as brw_context state. 3. Allocate a separate intel_region for hiz, and store it in intel_renderbuffer. We choose method 3. Method 1 has not been chosen due to future complications it might cause when requesting a DRI drawable's depth buffer attachment from X. Method 2 has not been chosen because storing the hiz region apart from the depth region makes lazy hiz/depth resolves difficult to implement. Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_fbo.c | 19 +++++++++++++++++++ src/mesa/drivers/dri/intel/intel_fbo.h | 27 +++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 12beaa7cc7b..05de2c8c6f1 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -79,6 +79,9 @@ intel_delete_renderbuffer(struct gl_renderbuffer *rb) if (intel && irb->region) { intel_region_release(&irb->region); } + if (intel && irb->hiz_region) { + intel_region_release(&irb->hiz_region); + } free(irb); } @@ -148,6 +151,9 @@ intel_alloc_renderbuffer_storage(struct gl_context * ctx, struct gl_renderbuffer if (irb->region) { intel_region_release(&irb->region); } + if (irb->hiz_region) { + intel_region_release(&irb->hiz_region); + } /* allocate new memory region/renderbuffer */ @@ -194,6 +200,19 @@ intel_alloc_renderbuffer_storage(struct gl_context * ctx, struct gl_renderbuffer ASSERT(irb->region->buffer); + if (intel->vtbl.is_hiz_depth_format(intel, rb->Format)) { + irb->hiz_region = intel_region_alloc(intel->intelScreen, + I915_TILING_Y, + irb->region->cpp, + irb->region->width, + irb->region->height, + GL_TRUE); + if (!irb->hiz_region) { + intel_region_release(&irb->region); + return GL_FALSE; + } + } + rb->Width = width; rb->Height = height; diff --git a/src/mesa/drivers/dri/intel/intel_fbo.h b/src/mesa/drivers/dri/intel/intel_fbo.h index 028f657d12d..212dd9aadc8 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.h +++ b/src/mesa/drivers/dri/intel/intel_fbo.h @@ -28,6 +28,7 @@ #ifndef INTEL_FBO_H #define INTEL_FBO_H +#include #include "main/formats.h" #include "intel_screen.h" @@ -40,6 +41,9 @@ struct intel_renderbuffer { struct gl_renderbuffer Base; struct intel_region *region; + + /** Only used by depth renderbuffers for which HiZ is enabled. */ + struct intel_region *hiz_region; }; @@ -80,6 +84,29 @@ intel_get_renderbuffer(struct gl_framebuffer *fb, int attIndex) return NULL; } +/** + * If the framebuffer has a depth buffer attached, then return its HiZ region. + * The HiZ region may be null. + */ +static INLINE struct intel_region* +intel_framebuffer_get_hiz_region(struct gl_framebuffer *fb) +{ + struct intel_renderbuffer *rb = NULL; + if (fb) + rb = intel_get_renderbuffer(fb, BUFFER_DEPTH); + + if (rb) + return rb->hiz_region; + else + return NULL; +} + +static INLINE bool +intel_framebuffer_has_hiz(struct gl_framebuffer *fb) +{ + return intel_framebuffer_get_hiz_region(fb) != NULL; +} + extern void intel_renderbuffer_set_region(struct intel_context *intel, -- cgit v1.2.3 From 6ed829fe5063f61f1ab2fcb39a441e17d89e622c Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:48:10 -0700 Subject: intel: Refactor the wrapping of textures with renderbuffers Before this commit, the renderbuffer's region was updated in intel_renderbuffer_texture(). This commit moves the update into intel_update_wrapper(), which is a more logical location for updates. This is in preparation for the next commit, which allocates and updates the texture's hiz region in intel_update_wrapper(). Having the two region updates located in the same function makes good form. Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_fbo.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 05de2c8c6f1..61aba7d580f 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -420,6 +420,8 @@ static GLboolean intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb, struct gl_texture_image *texImage) { + struct intel_texture_image *intel_image = intel_texture_image(texImage); + if (!intel_span_supports_format(texImage->TexFormat)) { DBG("Render to texture BAD FORMAT %s\n", _mesa_get_format_name(texImage->TexFormat)); @@ -438,6 +440,12 @@ intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb, irb->Base.Delete = intel_delete_renderbuffer; irb->Base.AllocStorage = intel_nop_alloc_storage; + /* Point the renderbuffer's region to the texture's region. */ + if (irb->region != intel_image->mt->region) { + intel_region_release(&irb->region); + intel_region_reference(&irb->region, intel_image->mt->region); + } + return GL_TRUE; } @@ -543,13 +551,6 @@ intel_render_texture(struct gl_context * ctx, att->Texture->Name, newImage->Width, newImage->Height, irb->Base.RefCount); - /* point the renderbufer's region to the texture image region */ - if (irb->region != intel_image->mt->region) { - if (irb->region) - intel_region_release(&irb->region); - intel_region_reference(&irb->region, intel_image->mt->region); - } - intel_set_draw_offset_for_image(intel_image, att->Zoffset); intel_image->used_as_render_target = GL_TRUE; -- cgit v1.2.3 From c270f1a628a625ccc9f6d931f2921e3d92c31818 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:48:14 -0700 Subject: intel: Add hiz_region to intel_mipmap_tree When a texture is attached to multiple FBO's, a separate renderbuffer wrapper is created for each attachment. This necessitates storing the hiz region for these renderbuffers in the texture itself instead of the renderbuffer wrapper. Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_fbo.c | 21 +++++++++++++++++++++ src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 1 + src/mesa/drivers/dri/intel/intel_mipmap_tree.h | 14 ++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 61aba7d580f..18675ab16a5 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -420,6 +420,7 @@ static GLboolean intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb, struct gl_texture_image *texImage) { + struct intel_context *intel = intel_context(ctx); struct intel_texture_image *intel_image = intel_texture_image(texImage); if (!intel_span_supports_format(texImage->TexFormat)) { @@ -446,6 +447,26 @@ intel_update_wrapper(struct gl_context *ctx, struct intel_renderbuffer *irb, intel_region_reference(&irb->region, intel_image->mt->region); } + /* Allocate the texture's hiz region if necessary. */ + if (intel->vtbl.is_hiz_depth_format(intel, texImage->TexFormat) + && !intel_image->mt->hiz_region) { + intel_image->mt->hiz_region = + intel_region_alloc(intel->intelScreen, + I915_TILING_Y, + _mesa_get_format_bytes(texImage->TexFormat), + texImage->Width, + texImage->Height, + GL_TRUE); + if (!intel_image->mt->hiz_region) + return GL_FALSE; + } + + /* Point the renderbuffer's hiz region to the texture's hiz region. */ + if (irb->hiz_region != intel_image->mt->hiz_region) { + intel_region_release(&irb->hiz_region); + intel_region_reference(&irb->hiz_region, intel_image->mt->hiz_region); + } + return GL_TRUE; } diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index a3409274fb7..e62905de7c3 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -200,6 +200,7 @@ intel_miptree_release(struct intel_context *intel, DBG("%s deleting %p\n", __FUNCTION__, *mt); intel_region_release(&((*mt)->region)); + intel_region_release(&((*mt)->hiz_region)); for (i = 0; i < MAX_TEXTURE_LEVELS; i++) { free((*mt)->level[i].x_offset); diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h index 760a8bce601..325e3916981 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.h +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.h @@ -113,6 +113,20 @@ struct intel_mipmap_tree */ struct intel_region *region; + /** + * This points to an auxillary hiz region if all of the following hold: + * 1. The texture has been attached to an FBO as a depthbuffer. + * 2. The texture format is hiz compatible. + * 3. The intel context supports hiz. + * + * When a texture is attached to multiple FBO's, a separate renderbuffer + * wrapper is created for each attachment. This necessitates storing the + * hiz region in the texture itself instead of the renderbuffer wrapper. + * + * \see intel_fbo.c:intel_wrap_texture() + */ + struct intel_region *hiz_region; + /* These are also refcounted: */ GLuint refcount; -- cgit v1.2.3 From ce8fdf666fc14aa5b9672be1711dfc1c0039efd0 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:47:42 -0700 Subject: intel: Fix intel_draw_buffer() to accomodate hiz and separate stencil The logic of intel_draw_buffers() expected that stencil buffers were always combined depth/stencil. Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_buffers.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_buffers.c b/src/mesa/drivers/dri/intel/intel_buffers.c index ee551ef60d4..a0fa0915c91 100644 --- a/src/mesa/drivers/dri/intel/intel_buffers.c +++ b/src/mesa/drivers/dri/intel/intel_buffers.c @@ -93,6 +93,7 @@ intel_draw_buffer(struct gl_context * ctx, struct gl_framebuffer *fb) struct intel_context *intel = intel_context(ctx); struct intel_region *colorRegions[MAX_DRAW_BUFFERS], *depthRegion = NULL; struct intel_renderbuffer *irbDepth = NULL, *irbStencil = NULL; + bool fb_has_hiz = intel_framebuffer_has_hiz(fb); if (!fb) { /* this can happen during the initial context initialization */ @@ -166,11 +167,11 @@ intel_draw_buffer(struct gl_context * ctx, struct gl_framebuffer *fb) /*** *** Get depth buffer region and check if we need a software fallback. - *** Note that the depth buffer is usually a DEPTH_STENCIL buffer. ***/ if (fb->_DepthBuffer && fb->_DepthBuffer->Wrapped) { irbDepth = intel_renderbuffer(fb->_DepthBuffer->Wrapped); if (irbDepth && irbDepth->region) { + assert(!fb_has_hiz || irbDepth->Base.Format != MESA_FORMAT_S8_Z24); FALLBACK(intel, INTEL_FALLBACK_DEPTH_BUFFER, GL_FALSE); depthRegion = irbDepth->region; } @@ -187,13 +188,16 @@ intel_draw_buffer(struct gl_context * ctx, struct gl_framebuffer *fb) /*** *** Stencil buffer - *** This can only be hardware accelerated if we're using a - *** combined DEPTH_STENCIL buffer. ***/ if (fb->_StencilBuffer && fb->_StencilBuffer->Wrapped) { irbStencil = intel_renderbuffer(fb->_StencilBuffer->Wrapped); if (irbStencil && irbStencil->region) { - ASSERT(irbStencil->Base.Format == MESA_FORMAT_S8_Z24); + if (!intel->has_separate_stencil) + assert(irbStencil->Base.Format == MESA_FORMAT_S8_Z24); + if (fb_has_hiz || intel->must_use_separate_stencil) + assert(irbStencil->Base.Format == MESA_FORMAT_S8); + if (irbStencil->Base.Format == MESA_FORMAT_S8) + assert(intel->has_separate_stencil); FALLBACK(intel, INTEL_FALLBACK_STENCIL_BUFFER, GL_FALSE); } else { @@ -208,8 +212,10 @@ intel_draw_buffer(struct gl_context * ctx, struct gl_framebuffer *fb) /* If we have a (packed) stencil buffer attached but no depth buffer, * we still need to set up the shared depth/stencil state so we can use it. */ - if (depthRegion == NULL && irbStencil && irbStencil->region) + if (depthRegion == NULL && irbStencil && irbStencil->region + && irbStencil->Base.Format == MESA_FORMAT_S8_Z24) { depthRegion = irbStencil->region; + } /* * Update depth and stencil test state -- cgit v1.2.3 From e7bcfadc2255e3417e03676837d248f4976419e2 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 23 May 2011 13:48:18 -0700 Subject: intel: Change FBO validation criteria to accomodate hiz and seprate stencil Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_fbo.c | 42 ++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c b/src/mesa/drivers/dri/intel/intel_fbo.c index 18675ab16a5..7434e0efff6 100644 --- a/src/mesa/drivers/dri/intel/intel_fbo.c +++ b/src/mesa/drivers/dri/intel/intel_fbo.c @@ -665,21 +665,33 @@ intel_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb) intel_get_renderbuffer(fb, BUFFER_STENCIL); int i; - if (depthRb && stencilRb && stencilRb != depthRb) { - if (fb->Attachment[BUFFER_DEPTH].Type == GL_TEXTURE && - fb->Attachment[BUFFER_STENCIL].Type == GL_TEXTURE && - (fb->Attachment[BUFFER_DEPTH].Texture->Name == - fb->Attachment[BUFFER_STENCIL].Texture->Name)) { - /* OK */ - } else { - /* we only support combined depth/stencil buffers, not separate - * stencil buffers. - */ - DBG("Only supports combined depth/stencil (found %s, %s)\n", - depthRb ? _mesa_get_format_name(depthRb->Base.Format): "NULL", - stencilRb ? _mesa_get_format_name(stencilRb->Base.Format): "NULL"); - fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT; - } + /* + * The depth and stencil renderbuffers are the same renderbuffer or wrap + * the same texture. + */ + bool depth_stencil_are_same; + if (depthRb && stencilRb && depthRb == stencilRb) + depth_stencil_are_same = true; + else if (depthRb && stencilRb && depthRb != stencilRb + && (fb->Attachment[BUFFER_DEPTH].Type == GL_TEXTURE) + && (fb->Attachment[BUFFER_STENCIL].Type == GL_TEXTURE) + && (fb->Attachment[BUFFER_DEPTH].Texture->Name + == fb->Attachment[BUFFER_STENCIL].Texture->Name)) + depth_stencil_are_same = true; + else + depth_stencil_are_same = false; + + bool fb_has_combined_depth_stencil_format = + (depthRb && depthRb->Base.Format == MESA_FORMAT_S8_Z24) || + (stencilRb && stencilRb->Base.Format == MESA_FORMAT_S8_Z24); + + bool fb_has_hiz = intel_framebuffer_has_hiz(fb); + + if ((intel->must_use_separate_stencil || fb_has_hiz) + && (depth_stencil_are_same || fb_has_combined_depth_stencil_format)) { + fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT; + } else if (!intel->has_separate_stencil && depthRb && stencilRb && !depth_stencil_are_same) { + fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT; } for (i = 0; i < Elements(fb->Attachment); i++) { -- cgit v1.2.3 From 5ed7a7b7205b5680d617b77a8cf228b80cf15f5e Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Wed, 25 May 2011 11:04:25 -0400 Subject: r600g: remove duplicate opcode in r600_opcodes.h V_SQ_CF_WORD1_SQ_CF_INST_HALT is 0x1f on both evergreen and cayman. Reported-by: Gustaw Smolarczyk Signed-off-by: Alex Deucher --- src/gallium/drivers/r600/r600_opcodes.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gallium/drivers/r600/r600_opcodes.h b/src/gallium/drivers/r600/r600_opcodes.h index b19cc2b078e..184f32c9960 100644 --- a/src/gallium/drivers/r600/r600_opcodes.h +++ b/src/gallium/drivers/r600/r600_opcodes.h @@ -207,7 +207,6 @@ #define EG_V_SQ_CF_WORD1_SQ_CF_INST_JUMPTABLE 0x0000001d #define EG_V_SQ_CF_WORD1_SQ_CF_INST_GLOBAL_WAVE_SYNC 0x0000001e #define EG_V_SQ_CF_WORD1_SQ_CF_INST_HALT 0x0000001f -#define EG_V_SQ_CF_WORD1_SQ_CF_INST_HALT 0x0000001f /* cayman extras */ #define CM_V_SQ_CF_WORD1_SQ_CF_INST_END 0x00000020 -- cgit v1.2.3 From fa42de5ad7ebbc0b81ce6ba0553742f0413690a7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 24 May 2011 12:36:50 -0700 Subject: i965: Fix assertion failures in unused brw_reg setup by deleting it. I was using undefined values to create an unused value. Go me. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37366 Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_fs.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 6d545afab64..a4adb179543 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2743,7 +2743,6 @@ fs_visitor::generate_discard(fs_inst *inst) brw_pop_insn_state(p); } else { struct brw_reg g0 = retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UW); - struct brw_reg mask = brw_uw1_reg(mask.file, mask.nr, 0); brw_push_insn_state(p); brw_set_mask_control(p, BRW_MASK_DISABLE); -- cgit v1.2.3 From b5846865deb20c54e88c7c1a7c732d29e9c47975 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 23 May 2011 09:26:42 -0700 Subject: i965: Warnings cleanup. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_eu_emit.c | 3 --- src/mesa/drivers/dri/i965/gen7_vs_state.c | 1 - 2 files changed, 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 2d41302d15a..e7370f36064 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -93,8 +93,6 @@ static void brw_set_dest(struct brw_compile *p, struct brw_instruction *insn, struct brw_reg dest) { - struct intel_context *intel = &p->brw->intel; - if (dest.file != BRW_ARCHITECTURE_REGISTER_FILE && dest.file != BRW_MESSAGE_REGISTER_FILE) assert(dest.nr < 128); @@ -1254,7 +1252,6 @@ struct brw_instruction *gen6_CONT(struct brw_compile *p, struct brw_instruction *do_insn) { struct brw_instruction *insn; - int br = 2; insn = next_insn(p, BRW_OPCODE_CONTINUE); brw_set_dest(p, insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); diff --git a/src/mesa/drivers/dri/i965/gen7_vs_state.c b/src/mesa/drivers/dri/i965/gen7_vs_state.c index 6a7add8e562..ae7a1d6c35c 100644 --- a/src/mesa/drivers/dri/i965/gen7_vs_state.c +++ b/src/mesa/drivers/dri/i965/gen7_vs_state.c @@ -33,7 +33,6 @@ static void upload_vs_state(struct brw_context *brw) { struct intel_context *intel = &brw->intel; - struct gl_context *ctx = &intel->ctx; BEGIN_BATCH(2); OUT_BATCH(_3DSTATE_BINDING_TABLE_POINTERS_VS << 16 | (2 - 2)); -- cgit v1.2.3 From 1697dac64294aab73052541dab6763d660d088dc Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Wed, 25 May 2011 22:00:09 +0200 Subject: i915g: Bump texture sizes Spotted and tested by Christopher Egert. Signed-off-by: Jakob Bornecrantz --- src/gallium/drivers/i915/i915_resource.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/i915/i915_resource.h b/src/gallium/drivers/i915/i915_resource.h index 86620e6a123..c15ecdfc22a 100644 --- a/src/gallium/drivers/i915/i915_resource.h +++ b/src/gallium/drivers/i915/i915_resource.h @@ -45,8 +45,8 @@ struct i915_buffer { boolean free_on_destroy; }; -#define I915_MAX_TEXTURE_2D_LEVELS 11 /* max 1024x1024 */ -#define I915_MAX_TEXTURE_3D_LEVELS 8 /* max 128x128x128 */ +#define I915_MAX_TEXTURE_2D_LEVELS 12 /* max 2048x2048 */ +#define I915_MAX_TEXTURE_3D_LEVELS 9 /* max 256x256x256 */ struct offset_pair { -- cgit v1.2.3 From bf14ab417c6638afd19206e11ee69bdb9fb93d9e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 18:07:33 -0600 Subject: st/mesa: fix incorrect texture level/face/slice accesses If we use FBOs to access mipmap levels with glRead/Draw/CopyPixels() we need to be sure to access the correct mipmap level/face/slice. Before, we were just passing zero in quite a few places. This fixes the new piglit fbo-mipmap-copypix test. NOTE: This is a candidate for the 7.10 branch. --- src/mesa/state_tracker/st_cb_drawpixels.c | 24 +++++++++++++++--------- src/mesa/state_tracker/st_cb_readpixels.c | 9 ++++++--- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index 9948f8d2bc5..94bede73daf 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -793,9 +793,10 @@ draw_stencil_pixels(struct gl_context *ctx, GLint x, GLint y, else usage = PIPE_TRANSFER_WRITE; - pt = pipe_get_transfer(st_context(ctx)->pipe, strb->texture, 0, 0, - usage, x, y, - width, height); + pt = pipe_get_transfer(st_context(ctx)->pipe, strb->texture, + strb->rtt_level, strb->rtt_face + strb->rtt_slice, + usage, x, y, + width, height); stmap = pipe_transfer_map(pipe, pt); @@ -1131,7 +1132,9 @@ copy_stencil_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, } ptDraw = pipe_get_transfer(st_context(ctx)->pipe, - rbDraw->texture, 0, 0, + rbDraw->texture, + rbDraw->rtt_level, + rbDraw->rtt_face + rbDraw->rtt_slice, usage, dstx, dsty, width, height); @@ -1291,8 +1294,10 @@ blit_copy_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, u_box_2d(readX, readY, readW, readH, &srcBox); pipe->resource_copy_region(pipe, - rbDraw->texture, 0, drawX, drawY, 0, - rbRead->texture, 0, &srcBox); + rbDraw->texture, + rbDraw->rtt_level, drawX, drawY, 0, + rbRead->texture, + rbRead->rtt_level, &srcBox); return GL_TRUE; } } @@ -1444,10 +1449,10 @@ st_CopyPixels(struct gl_context *ctx, GLint srcx, GLint srcy, /* copy source framebuffer surface into mipmap/texture */ pipe->resource_copy_region(pipe, pt, /* dest tex */ - 0, + 0, /* dest lvl */ pack.SkipPixels, pack.SkipRows, 0, /* dest pos */ rbRead->texture, /* src tex */ - 0, + rbRead->rtt_level, /* src lvl */ &src_box); } @@ -1455,7 +1460,8 @@ st_CopyPixels(struct gl_context *ctx, GLint srcx, GLint srcy, /* CPU-based fallback/conversion */ struct pipe_transfer *ptRead = pipe_get_transfer(st->pipe, rbRead->texture, - 0, 0, /* level, layer */ + rbRead->rtt_level, + rbRead->rtt_face + rbRead->rtt_slice, PIPE_TRANSFER_READ, readX, readY, readW, readH); struct pipe_transfer *ptTex; diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c index 2a63799bdbc..67926e39297 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -82,7 +82,8 @@ st_read_stencil_pixels(struct gl_context *ctx, GLint x, GLint y, /* Create a read transfer from the renderbuffer's texture */ pt = pipe_get_transfer(pipe, strb->texture, - 0, 0, + strb->rtt_level, + strb->rtt_face + strb->rtt_slice, PIPE_TRANSFER_READ, x, y, width, height); @@ -250,7 +251,8 @@ st_fast_readpixels(struct gl_context *ctx, struct st_renderbuffer *strb, } trans = pipe_get_transfer(pipe, strb->texture, - 0, 0, + strb->rtt_level, + strb->rtt_face + strb->rtt_slice, PIPE_TRANSFER_READ, x, y, width, height); if (!trans) { @@ -445,7 +447,8 @@ st_readpixels(struct gl_context *ctx, GLint x, GLint y, GLsizei width, GLsizei h /* Create a read transfer from the renderbuffer's texture */ trans = pipe_get_transfer(pipe, strb->texture, - 0, 0, + strb->rtt_level, /* level */ + strb->rtt_face + strb->rtt_slice, /* layer */ PIPE_TRANSFER_READ, x, y, width, height); -- cgit v1.2.3 From 3e06803c2c6cf83009708b23d3ebafc0ea3dc525 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 18:16:03 -0600 Subject: st/mesa: simplify some st_context(ctx)->pipe code --- src/mesa/state_tracker/st_atom_pixeltransfer.c | 2 +- src/mesa/state_tracker/st_cb_accum.c | 2 +- src/mesa/state_tracker/st_cb_bufferobjects.c | 3 +-- src/mesa/state_tracker/st_cb_drawpixels.c | 4 ++-- src/mesa/state_tracker/st_cb_texture.c | 4 ++-- src/mesa/state_tracker/st_gen_mipmap.c | 4 ++-- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/mesa/state_tracker/st_atom_pixeltransfer.c b/src/mesa/state_tracker/st_atom_pixeltransfer.c index 57430b36f8d..95b706cb96c 100644 --- a/src/mesa/state_tracker/st_atom_pixeltransfer.c +++ b/src/mesa/state_tracker/st_atom_pixeltransfer.c @@ -121,7 +121,7 @@ load_color_map_texture(struct gl_context *ctx, struct pipe_resource *pt) uint *dest; uint i, j; - transfer = pipe_get_transfer(st_context(ctx)->pipe, + transfer = pipe_get_transfer(pipe, pt, 0, 0, PIPE_TRANSFER_WRITE, 0, 0, texSize, texSize); dest = (uint *) pipe_transfer_map(pipe, transfer); diff --git a/src/mesa/state_tracker/st_cb_accum.c b/src/mesa/state_tracker/st_cb_accum.c index 3e01c440bda..3e3659d1571 100644 --- a/src/mesa/state_tracker/st_cb_accum.c +++ b/src/mesa/state_tracker/st_cb_accum.c @@ -248,7 +248,7 @@ accum_return(struct gl_context *ctx, GLfloat value, else usage = PIPE_TRANSFER_WRITE; - color_trans = pipe_get_transfer(st_context(ctx)->pipe, + color_trans = pipe_get_transfer(pipe, color_strb->texture, 0, 0, usage, xpos, ypos, diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c index 1e489b29d93..7374bb0acc5 100644 --- a/src/mesa/state_tracker/st_cb_bufferobjects.c +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c @@ -222,8 +222,7 @@ st_bufferobj_data(struct gl_context *ctx, } if (data) - pipe_buffer_write(st_context(ctx)->pipe, st_obj->buffer, 0, - size, data); + pipe_buffer_write(pipe, st_obj->buffer, 0, size, data); return GL_TRUE; } diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index 94bede73daf..29c1df4ae5c 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -793,7 +793,7 @@ draw_stencil_pixels(struct gl_context *ctx, GLint x, GLint y, else usage = PIPE_TRANSFER_WRITE; - pt = pipe_get_transfer(st_context(ctx)->pipe, strb->texture, + pt = pipe_get_transfer(pipe, strb->texture, strb->rtt_level, strb->rtt_face + strb->rtt_slice, usage, x, y, width, height); @@ -1131,7 +1131,7 @@ copy_stencil_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, dsty = rbDraw->Base.Height - dsty - height; } - ptDraw = pipe_get_transfer(st_context(ctx)->pipe, + ptDraw = pipe_get_transfer(pipe, rbDraw->texture, rbDraw->rtt_level, rbDraw->rtt_face + rbDraw->rtt_slice, diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index a27c30e51fe..9d824b46c23 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -807,7 +807,7 @@ decompress_with_blit(struct gl_context * ctx, GLenum target, GLint level, PIPE_TEX_MIPFILTER_NEAREST); /* map the dst_surface so we can read from it */ - tex_xfer = pipe_get_transfer(st_context(ctx)->pipe, + tex_xfer = pipe_get_transfer(pipe, dst_texture, 0, 0, PIPE_TRANSFER_READ, 0, 0, width, height); @@ -1228,7 +1228,7 @@ fallback_copy_texsubimage(struct gl_context *ctx, GLenum target, GLint level, srcY = strb->Base.Height - srcY - height; } - src_trans = pipe_get_transfer(st_context(ctx)->pipe, + src_trans = pipe_get_transfer(pipe, strb->texture, 0, 0, PIPE_TRANSFER_READ, diff --git a/src/mesa/state_tracker/st_gen_mipmap.c b/src/mesa/state_tracker/st_gen_mipmap.c index aea69c1b434..b34794f1b24 100644 --- a/src/mesa/state_tracker/st_gen_mipmap.c +++ b/src/mesa/state_tracker/st_gen_mipmap.c @@ -229,12 +229,12 @@ fallback_generate_mipmap(struct gl_context *ctx, GLenum target, ubyte *dstData; int srcStride, dstStride; - srcTrans = pipe_get_transfer(st_context(ctx)->pipe, pt, srcLevel, + srcTrans = pipe_get_transfer(pipe, pt, srcLevel, face, PIPE_TRANSFER_READ, 0, 0, srcWidth, srcHeight); - dstTrans = pipe_get_transfer(st_context(ctx)->pipe, pt, dstLevel, + dstTrans = pipe_get_transfer(pipe, pt, dstLevel, face, PIPE_TRANSFER_WRITE, 0, 0, dstWidth, dstHeight); -- cgit v1.2.3 From 8f7c815568ece6804e626255b74e9f729b74a0e6 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 20:20:22 -0600 Subject: mesa: fill in missing sampler object display list functions --- src/mesa/main/dlist.c | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 2aba82fc016..9d96c8d527d 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -57,6 +57,7 @@ #include "pack.h" #include "pbo.h" #include "queryobj.h" +#include "samplerobj.h" #include "teximage.h" #include "mtypes.h" #include "varray.h" @@ -440,6 +441,10 @@ typedef enum /* GL_ARB_sampler_object */ OPCODE_BIND_SAMPLER, + OPCODE_SAMPLER_PARAMETERIV, + OPCODE_SAMPLER_PARAMETERFV, + OPCODE_SAMPLER_PARAMETERIIV, + OPCODE_SAMPLER_PARAMETERUIV, /* The following three are meta instructions */ OPCODE_ERROR, /* raise compiled-in error */ @@ -7087,6 +7092,117 @@ save_BindSampler(GLuint unit, GLuint sampler) } } +static void GLAPIENTRY +save_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERIV, 6); + if (n) { + n[1].ui = sampler; + n[2].e = pname; + n[3].i = params[0]; + if (pname == GL_TEXTURE_BORDER_COLOR) { + n[4].i = params[1]; + n[5].i = params[2]; + n[6].i = params[3]; + } + else { + n[4].i = n[5].i = n[6].i = 0; + } + } + if (ctx->ExecuteFlag) { + CALL_SamplerParameteriv(ctx->Exec, (sampler, pname, params)); + } +} + +static void GLAPIENTRY +save_SamplerParameteri(GLuint sampler, GLenum pname, GLint param) +{ + save_SamplerParameteriv(sampler, pname, ¶m); +} + +static void GLAPIENTRY +save_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERFV, 6); + if (n) { + n[1].ui = sampler; + n[2].e = pname; + n[3].f = params[0]; + if (pname == GL_TEXTURE_BORDER_COLOR) { + n[4].f = params[1]; + n[5].f = params[2]; + n[6].f = params[3]; + } + else { + n[4].f = n[5].f = n[6].f = 0.0F; + } + } + if (ctx->ExecuteFlag) { + CALL_SamplerParameterfv(ctx->Exec, (sampler, pname, params)); + } +} + +static void GLAPIENTRY +save_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) +{ + save_SamplerParameterfv(sampler, pname, ¶m); +} + +static void GLAPIENTRY +save_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERIIV, 6); + if (n) { + n[1].ui = sampler; + n[2].e = pname; + n[3].i = params[0]; + if (pname == GL_TEXTURE_BORDER_COLOR) { + n[4].i = params[1]; + n[5].i = params[2]; + n[6].i = params[3]; + } + else { + n[4].i = n[5].i = n[6].i = 0; + } + } + if (ctx->ExecuteFlag) { + CALL_SamplerParameterIiv(ctx->Exec, (sampler, pname, params)); + } +} + +static void GLAPIENTRY +save_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_SAMPLER_PARAMETERUIV, 6); + if (n) { + n[1].ui = sampler; + n[2].e = pname; + n[3].ui = params[0]; + if (pname == GL_TEXTURE_BORDER_COLOR) { + n[4].ui = params[1]; + n[5].ui = params[2]; + n[6].ui = params[3]; + } + else { + n[4].ui = n[5].ui = n[6].ui = 0; + } + } + if (ctx->ExecuteFlag) { + CALL_SamplerParameterIuiv(ctx->Exec, (sampler, pname, params)); + } +} /** * Save an error-generating command into display list. @@ -8274,6 +8390,46 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_BIND_SAMPLER: CALL_BindSampler(ctx->Exec, (n[1].ui, n[2].ui)); break; + case OPCODE_SAMPLER_PARAMETERIV: + { + GLint params[4]; + params[0] = n[3].i; + params[1] = n[4].i; + params[2] = n[5].i; + params[3] = n[6].i; + CALL_SamplerParameteriv(ctx->Exec, (n[1].ui, n[2].e, params)); + } + break; + case OPCODE_SAMPLER_PARAMETERFV: + { + GLfloat params[4]; + params[0] = n[3].f; + params[1] = n[4].f; + params[2] = n[5].f; + params[3] = n[6].f; + CALL_SamplerParameterfv(ctx->Exec, (n[1].ui, n[2].e, params)); + } + break; + case OPCODE_SAMPLER_PARAMETERIIV: + { + GLint params[4]; + params[0] = n[3].i; + params[1] = n[4].i; + params[2] = n[5].i; + params[3] = n[6].i; + CALL_SamplerParameterIiv(ctx->Exec, (n[1].ui, n[2].e, params)); + } + break; + case OPCODE_SAMPLER_PARAMETERUIV: + { + GLuint params[4]; + params[0] = n[3].ui; + params[1] = n[4].ui; + params[2] = n[5].ui; + params[3] = n[6].ui; + CALL_SamplerParameterIuiv(ctx->Exec, (n[1].ui, n[2].e, params)); + } + break; case OPCODE_CONTINUE: n = (Node *) n[1].next; @@ -9957,7 +10113,14 @@ _mesa_create_save_table(void) SET_TextureBarrierNV(table, save_TextureBarrierNV); /* GL_ARB_sampler_objects */ + _mesa_init_sampler_object_dispatch(table); /* plug in Gen/Get/etc functions */ SET_BindSampler(table, save_BindSampler); + SET_SamplerParameteri(table, save_SamplerParameteri); + SET_SamplerParameterf(table, save_SamplerParameterf); + SET_SamplerParameteriv(table, save_SamplerParameteriv); + SET_SamplerParameterfv(table, save_SamplerParameterfv); + SET_SamplerParameterIiv(table, save_SamplerParameterIiv); + SET_SamplerParameterIuiv(table, save_SamplerParameterIuiv); /* GL_ARB_draw_buffer_blend */ SET_BlendFunciARB(table, save_BlendFunci); -- cgit v1.2.3 From 4535c98cdb2ccb11dbf5af8662eed8f9a08fbca6 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 20:27:44 -0600 Subject: mesa: plug in GL 3.0 ClearBuffer() display list functions --- src/mesa/main/dlist.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 9d96c8d527d..2f5dfa03629 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -10078,11 +10078,11 @@ _mesa_create_save_table(void) SET_ClampColor(table, save_ClampColorARB); /* GL 3.0 */ -#if 0 SET_ClearBufferiv(table, save_ClearBufferiv); SET_ClearBufferuiv(table, save_ClearBufferuiv); SET_ClearBufferfv(table, save_ClearBufferfv); SET_ClearBufferfi(table, save_ClearBufferfi); +#if 0 SET_Uniform1ui(table, save_Uniform1ui); SET_Uniform2ui(table, save_Uniform2ui); SET_Uniform3ui(table, save_Uniform3ui); @@ -10092,10 +10092,6 @@ _mesa_create_save_table(void) SET_Uniform3uiv(table, save_Uniform3uiv); SET_Uniform4uiv(table, save_Uniform4uiv); #else - (void) save_ClearBufferiv; - (void) save_ClearBufferuiv; - (void) save_ClearBufferfv; - (void) save_ClearBufferfi; (void) save_Uniform1ui; (void) save_Uniform2ui; (void) save_Uniform3ui; -- cgit v1.2.3 From 001aa6c979f7795d8e48344c662a0546ae555f95 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 20:39:08 -0600 Subject: mesa: plug shader object functions into display list dispatch --- src/mesa/main/dlist.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 2f5dfa03629..4bfcb6bc80d 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -58,6 +58,7 @@ #include "pbo.h" #include "queryobj.h" #include "samplerobj.h" +#include "shaderapi.h" #include "teximage.h" #include "mtypes.h" #include "varray.h" @@ -9995,6 +9996,7 @@ _mesa_create_save_table(void) #endif /* GL_ARB_shader_objects */ + _mesa_init_shader_dispatch(table); /* Plug in glCreate/Delete/Get, etc */ SET_UseProgramObjectARB(table, save_UseProgramObjectARB); SET_Uniform1fARB(table, save_Uniform1fARB); SET_Uniform2fARB(table, save_Uniform2fARB); -- cgit v1.2.3 From 95fa22c8640abd2f5694631aaa079ce815cef7d1 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 20:44:35 -0600 Subject: mesa: display list support for glProgramParameteriARB() --- src/mesa/main/dlist.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 4bfcb6bc80d..2532e166d16 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -447,6 +447,9 @@ typedef enum OPCODE_SAMPLER_PARAMETERIIV, OPCODE_SAMPLER_PARAMETERUIV, + /* GL_ARB_geometry_shader4 */ + OPCODE_PROGRAM_PARAMETERI, + /* The following three are meta instructions */ OPCODE_ERROR, /* raise compiled-in error */ OPCODE_CONTINUE, @@ -7205,6 +7208,25 @@ save_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params) } } +/* GL_ARB_geometry_shader4 */ +static void GLAPIENTRY +save_ProgramParameteri(GLuint program, GLenum pname, GLint value) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_PROGRAM_PARAMETERI, 3); + if (n) { + n[1].ui = program; + n[2].e = pname; + n[3].i = value; + } + if (ctx->ExecuteFlag) { + CALL_ProgramParameteriARB(ctx->Exec, (program, pname, value)); + } +} + + /** * Save an error-generating command into display list. * @@ -8432,6 +8454,11 @@ execute_list(struct gl_context *ctx, GLuint list) } break; + /* GL_ARB_geometry_shader4 */ + case OPCODE_PROGRAM_PARAMETERI: + CALL_ProgramParameteriARB(ctx->Exec, (n[1].ui, n[2].e, n[3].i)); + break; + case OPCODE_CONTINUE: n = (Node *) n[1].next; break; @@ -10126,6 +10153,9 @@ _mesa_create_save_table(void) SET_BlendEquationiARB(table, save_BlendEquationi); SET_BlendEquationSeparateiARB(table, save_BlendEquationSeparatei); + /* GL_ARB_geometry_shader4 */ + SET_ProgramParameteriARB(table, save_ProgramParameteri); + return table; } -- cgit v1.2.3 From f84be846ca6c9ce9f8dc6c9bdd9ca5815e9a8e2e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 20:45:48 -0600 Subject: mesa: plug in sync object display list functions Most just dispatch through to the immediate mode functions, except for glWaitSync(), per the extension spec. --- src/mesa/main/dlist.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 2532e166d16..deb30ed5cc0 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -59,6 +59,7 @@ #include "queryobj.h" #include "samplerobj.h" #include "shaderapi.h" +#include "syncobj.h" #include "teximage.h" #include "mtypes.h" #include "varray.h" @@ -450,6 +451,9 @@ typedef enum /* GL_ARB_geometry_shader4 */ OPCODE_PROGRAM_PARAMETERI, + /* GL_ARB_sync */ + OPCODE_WAIT_SYNC, + /* The following three are meta instructions */ OPCODE_ERROR, /* raise compiled-in error */ OPCODE_CONTINUE, @@ -490,6 +494,17 @@ union gl_dlist_node typedef union gl_dlist_node Node; +/** + * Used to store a 64-bit uint in a pair of "Nodes" for the sake of 32-bit + * environment. In 64-bit env, sizeof(Node)==8 anyway. + */ +union uint64_pair +{ + GLuint64 uint64; + GLuint uint32[2]; +}; + + /** * How many nodes to allocate at a time. * @@ -7227,6 +7242,27 @@ save_ProgramParameteri(GLuint program, GLenum pname, GLint value) } +static void GLAPIENTRY +save_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_WAIT_SYNC, 4); + if (n) { + union uint64_pair p; + p.uint64 = timeout; + n[1].data = sync; + n[2].e = flags; + n[3].ui = p.uint32[0]; + n[4].ui = p.uint32[1]; + } + if (ctx->ExecuteFlag) { + CALL_WaitSync(ctx->Exec, (sync, flags, timeout)); + } +} + + /** * Save an error-generating command into display list. * @@ -8459,6 +8495,16 @@ execute_list(struct gl_context *ctx, GLuint list) CALL_ProgramParameteriARB(ctx->Exec, (n[1].ui, n[2].e, n[3].i)); break; + /* GL_ARB_sync */ + case OPCODE_WAIT_SYNC: + { + union uint64_pair p; + p.uint32[0] = n[3].ui; + p.uint32[1] = n[4].ui; + CALL_WaitSync(ctx->Exec, (n[1].data, n[2].bf, p.uint64)); + } + break; + case OPCODE_CONTINUE: n = (Node *) n[1].next; break; @@ -10156,6 +10202,10 @@ _mesa_create_save_table(void) /* GL_ARB_geometry_shader4 */ SET_ProgramParameteriARB(table, save_ProgramParameteri); + /* GL_ARB_sync */ + _mesa_init_sync_dispatch(table); + SET_WaitSync(table, save_WaitSync); + return table; } -- cgit v1.2.3 From 179a88d52c00970a450c98bc7bc6179c32432a08 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 25 May 2011 21:05:23 -0600 Subject: mesa: minor whitespace fixes --- src/mesa/main/shaderapi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 514eed5d0b1..03155b7ac04 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -1519,7 +1519,8 @@ _mesa_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count, for (i = 0; i < count; i++) { if (string[i] == NULL) { free((GLvoid *) offsets); - _mesa_error(ctx, GL_INVALID_OPERATION, "glShaderSourceARB(null string)"); + _mesa_error(ctx, GL_INVALID_OPERATION, + "glShaderSourceARB(null string)"); return; } if (length == NULL || length[i] < 0) @@ -1570,7 +1571,7 @@ _mesa_ShaderSourceARB(GLhandleARB shaderObj, GLsizei count, free(source); source = newSource; } - } + } shader_source(ctx, shaderObj, source); @@ -1709,8 +1710,7 @@ _mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, #if FEATURE_ARB_geometry_shader4 void GLAPIENTRY -_mesa_ProgramParameteriARB(GLuint program, GLenum pname, - GLint value) +_mesa_ProgramParameteriARB(GLuint program, GLenum pname, GLint value) { struct gl_shader_program *shProg; GET_CURRENT_CONTEXT(ctx); -- cgit v1.2.3 From f73ff463a2175039c5a54a9a15d65a9a2d1fae25 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 May 2011 13:43:02 -0700 Subject: mesa: Trigger FBO validation on DrawBuffers change in non-ES2 mode. glDrawBuffers pointing at an unattached buffer is supposed to be incomplete without ARB_ES2_compatibility. The testcase to catch the bug of not implementing that bit of the spec was tricked by this missing piece of state update. Reviewed-by: Brian Paul --- src/mesa/main/buffers.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c index 96ee1ace728..ef6ca9f96e7 100644 --- a/src/mesa/main/buffers.c +++ b/src/mesa/main/buffers.c @@ -340,6 +340,26 @@ _mesa_DrawBuffersARB(GLsizei n, const GLenum *buffers) ctx->Driver.DrawBuffer(ctx, n > 0 ? buffers[0] : GL_NONE); } +/** + * Performs necessary state updates when _mesa_drawbuffers makes an + * actual change. + */ +static void +updated_drawbuffers(struct gl_context *ctx) +{ + FLUSH_VERTICES(ctx, _NEW_BUFFERS); + +#if FEATURE_GL + if (ctx->API == API_OPENGL) { + struct gl_framebuffer *fb = ctx->DrawBuffer; + + /* Flag the FBO as requiring validation. */ + if (fb->Name != 0) { + fb->_Status = 0; + } + } +#endif +} /** * Helper function to set the GL_DRAW_BUFFER state in the context and @@ -361,7 +381,6 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, { struct gl_framebuffer *fb = ctx->DrawBuffer; GLbitfield mask[MAX_DRAW_BUFFERS]; - GLboolean newState = GL_FALSE; if (!destMask) { /* compute destMask values now */ @@ -385,7 +404,7 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, GLint bufIndex = _mesa_ffs(destMask0) - 1; if (fb->_ColorDrawBufferIndexes[count] != bufIndex) { fb->_ColorDrawBufferIndexes[count] = bufIndex; - newState = GL_TRUE; + updated_drawbuffers(ctx); } count++; destMask0 &= ~(1 << bufIndex); @@ -393,7 +412,7 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, fb->ColorDrawBuffer[0] = buffers[0]; if (fb->_NumColorDrawBuffers != count) { fb->_NumColorDrawBuffers = count; - newState = GL_TRUE; + updated_drawbuffers(ctx); } } else { @@ -405,14 +424,14 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, ASSERT(_mesa_bitcount(destMask[buf]) == 1); if (fb->_ColorDrawBufferIndexes[buf] != bufIndex) { fb->_ColorDrawBufferIndexes[buf] = bufIndex; - newState = GL_TRUE; + updated_drawbuffers(ctx); } count = buf + 1; } else { if (fb->_ColorDrawBufferIndexes[buf] != -1) { fb->_ColorDrawBufferIndexes[buf] = -1; - newState = GL_TRUE; + updated_drawbuffers(ctx); } } fb->ColorDrawBuffer[buf] = buffers[buf]; @@ -421,7 +440,7 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, while (buf < ctx->Const.MaxDrawBuffers) { if (fb->_ColorDrawBufferIndexes[buf] != -1) { fb->_ColorDrawBufferIndexes[buf] = -1; - newState = GL_TRUE; + updated_drawbuffers(ctx); } fb->ColorDrawBuffer[buf] = GL_NONE; buf++; @@ -435,13 +454,10 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, for (buf = 0; buf < ctx->Const.MaxDrawBuffers; buf++) { if (ctx->Color.DrawBuffer[buf] != fb->ColorDrawBuffer[buf]) { ctx->Color.DrawBuffer[buf] = fb->ColorDrawBuffer[buf]; - newState = GL_TRUE; + updated_drawbuffers(ctx); } } } - - if (newState) - FLUSH_VERTICES(ctx, _NEW_BUFFERS); } -- cgit v1.2.3 From d3451f7f9c095204105259bb989428709fc1fdf0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 May 2011 13:51:26 -0700 Subject: mesa: Allow NULL read/draw in complete FBOs in ARB_ES2_compatibility. From the ARB_ES2_compatibility spec: "(8) How should we handle draw buffer completeness? RESOLVED: Remove draw/readbuffer completeness checks, and treat drawbuffers referring to missing attachments as if they were NONE." Fixes arb_es2_compatibility-drawbuffers when the short-circuit for ARB_ES2_compatibility in the previous commit is dropped. Reviewed-by: Brian Paul --- src/mesa/main/fbobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 67df53b889c..739d03e931d 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -795,7 +795,7 @@ _mesa_test_framebuffer_completeness(struct gl_context *ctx, } #if FEATURE_GL - if (ctx->API == API_OPENGL) { + if (ctx->API == API_OPENGL && !ctx->Extensions.ARB_ES2_compatibility) { /* Check that all DrawBuffers are present */ for (j = 0; j < ctx->Const.MaxDrawBuffers; j++) { if (fb->ColorDrawBuffer[j] != GL_NONE) { -- cgit v1.2.3 From 6d4b974e89ca8c803e2a0033005ad95eab537fe6 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 May 2011 13:46:47 -0700 Subject: mesa: Flush vertices before updating drawbuffer computed state. Otherwise, the driver is likely to draw the flushed vertices to the new drawbuffer instead of the old one, missing the point of the flush. Reviewed-by: Brian Paul --- src/mesa/main/buffers.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c index ef6ca9f96e7..63f53e2b080 100644 --- a/src/mesa/main/buffers.c +++ b/src/mesa/main/buffers.c @@ -350,7 +350,7 @@ updated_drawbuffers(struct gl_context *ctx) FLUSH_VERTICES(ctx, _NEW_BUFFERS); #if FEATURE_GL - if (ctx->API == API_OPENGL) { + if (ctx->API == API_OPENGL && !ctx->Extensions.ARB_ES2_compatibility) { struct gl_framebuffer *fb = ctx->DrawBuffer; /* Flag the FBO as requiring validation. */ @@ -403,16 +403,16 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, while (destMask0) { GLint bufIndex = _mesa_ffs(destMask0) - 1; if (fb->_ColorDrawBufferIndexes[count] != bufIndex) { - fb->_ColorDrawBufferIndexes[count] = bufIndex; updated_drawbuffers(ctx); + fb->_ColorDrawBufferIndexes[count] = bufIndex; } count++; destMask0 &= ~(1 << bufIndex); } fb->ColorDrawBuffer[0] = buffers[0]; if (fb->_NumColorDrawBuffers != count) { - fb->_NumColorDrawBuffers = count; updated_drawbuffers(ctx); + fb->_NumColorDrawBuffers = count; } } else { @@ -423,15 +423,15 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, /* only one bit should be set in the destMask[buf] field */ ASSERT(_mesa_bitcount(destMask[buf]) == 1); if (fb->_ColorDrawBufferIndexes[buf] != bufIndex) { - fb->_ColorDrawBufferIndexes[buf] = bufIndex; updated_drawbuffers(ctx); + fb->_ColorDrawBufferIndexes[buf] = bufIndex; } count = buf + 1; } else { if (fb->_ColorDrawBufferIndexes[buf] != -1) { - fb->_ColorDrawBufferIndexes[buf] = -1; updated_drawbuffers(ctx); + fb->_ColorDrawBufferIndexes[buf] = -1; } } fb->ColorDrawBuffer[buf] = buffers[buf]; @@ -439,8 +439,8 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, /* set remaining outputs to -1 (GL_NONE) */ while (buf < ctx->Const.MaxDrawBuffers) { if (fb->_ColorDrawBufferIndexes[buf] != -1) { - fb->_ColorDrawBufferIndexes[buf] = -1; updated_drawbuffers(ctx); + fb->_ColorDrawBufferIndexes[buf] = -1; } fb->ColorDrawBuffer[buf] = GL_NONE; buf++; @@ -453,8 +453,8 @@ _mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers, GLuint buf; for (buf = 0; buf < ctx->Const.MaxDrawBuffers; buf++) { if (ctx->Color.DrawBuffer[buf] != fb->ColorDrawBuffer[buf]) { - ctx->Color.DrawBuffer[buf] = fb->ColorDrawBuffer[buf]; updated_drawbuffers(ctx); + ctx->Color.DrawBuffer[buf] = fb->ColorDrawBuffer[buf]; } } } -- cgit v1.2.3 From c095335fa54498ec54e4587b5f84ad6afd8f1857 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 May 2011 13:56:04 -0700 Subject: intel: Drop doubly irrelevant code in intelReadBuffers. First, FBO read/draw == NULL validation happens in mesa core not intelReadBuffers -> intel_draw_buffers. Second, that condition is no longer tested for in our driver since ARB_ES2_compatibility was added. Reviewed-by: Brian Paul --- src/mesa/drivers/dri/intel/intel_buffers.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_buffers.c b/src/mesa/drivers/dri/intel/intel_buffers.c index a0fa0915c91..7eb50edc6b4 100644 --- a/src/mesa/drivers/dri/intel/intel_buffers.c +++ b/src/mesa/drivers/dri/intel/intel_buffers.c @@ -308,18 +308,6 @@ intelReadBuffer(struct gl_context * ctx, GLenum mode) if (!was_front_buffer_reading && intel->is_front_buffer_reading) dri2InvalidateDrawable(intel->driContext->driReadablePriv); } - - if (ctx->ReadBuffer == ctx->DrawBuffer) { - /* This will update FBO completeness status. - * A framebuffer will be incomplete if the GL_READ_BUFFER setting - * refers to a missing renderbuffer. Calling glReadBuffer can set - * that straight and can make the drawing buffer complete. - */ - intel_draw_buffer(ctx, ctx->DrawBuffer); - } - /* Generally, functions which read pixels (glReadPixels, glCopyPixels, etc) - * reference ctx->ReadBuffer and do appropriate state checks. - */ } -- cgit v1.2.3 From f147599ef4b0d14c25a7e0d3f9f1c9b0229bb6fc Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 19 May 2011 08:48:42 -0700 Subject: i965: Remove linear_color for GL_PERSPECTIVE_CORRECTION_HINT. From the GL 2.1 spec: "Required perspective-correct interpolation for all fragment attributes except depth in sections 3.4.1 and 3.5.1, effectively making GL PERSPECTIVE CORRECT HINT a no-op." Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +- src/mesa/drivers/dri/i965/brw_sf.c | 3 --- src/mesa/drivers/dri/i965/brw_sf.h | 1 - src/mesa/drivers/dri/i965/brw_sf_emit.c | 2 +- src/mesa/drivers/dri/i965/brw_wm.c | 4 ---- src/mesa/drivers/dri/i965/brw_wm.h | 1 - src/mesa/drivers/dri/i965/brw_wm_fp.c | 27 ++++++++------------------- 7 files changed, 10 insertions(+), 30 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index a4adb179543..c02237850e2 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -584,7 +584,7 @@ fs_visitor::emit_general_interpolation(ir_variable *ir) attr.reg_offset++; } - if (intel->gen < 6 && !(is_gl_Color && c->key.linear_color)) { + if (intel->gen < 6) { attr.reg_offset -= type->vector_elements; for (unsigned int k = 0; k < type->vector_elements; k++) { emit(BRW_OPCODE_MUL, attr, attr, this->pixel_w); diff --git a/src/mesa/drivers/dri/i965/brw_sf.c b/src/mesa/drivers/dri/i965/brw_sf.c index 9b82fe159f9..c2227777cfb 100644 --- a/src/mesa/drivers/dri/i965/brw_sf.c +++ b/src/mesa/drivers/dri/i965/brw_sf.c @@ -181,9 +181,6 @@ static void upload_sf_prog(struct brw_context *brw) key.do_flat_shading = (ctx->Light.ShadeModel == GL_FLAT); key.do_twoside_color = (ctx->Light.Enabled && ctx->Light.Model.TwoSide); - /* _NEW_HINT */ - key.linear_color = (ctx->Hint.PerspectiveCorrection == GL_FASTEST); - /* _NEW_POLYGON */ if (key.do_twoside_color) { /* If we're rendering to a FBO, we have to invert the polygon diff --git a/src/mesa/drivers/dri/i965/brw_sf.h b/src/mesa/drivers/dri/i965/brw_sf.h index e525c730d3f..be32085c697 100644 --- a/src/mesa/drivers/dri/i965/brw_sf.h +++ b/src/mesa/drivers/dri/i965/brw_sf.h @@ -52,7 +52,6 @@ struct brw_sf_prog_key { GLuint do_flat_shading:1; GLuint frontface_ccw:1; GLuint do_point_sprite:1; - GLuint linear_color:1; /**< linear interp vs. perspective interp */ GLuint sprite_origin_lower_left:1; GLuint pad:24; }; diff --git a/src/mesa/drivers/dri/i965/brw_sf_emit.c b/src/mesa/drivers/dri/i965/brw_sf_emit.c index 4b2e26cbed7..52a3fb3893d 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_emit.c +++ b/src/mesa/drivers/dri/i965/brw_sf_emit.c @@ -316,7 +316,7 @@ static GLboolean calculate_masks( struct brw_sf_compile *c, GLbitfield64 persp_mask; GLbitfield64 linear_mask; - if (c->key.do_flat_shading || c->key.linear_color) + if (c->key.do_flat_shading) persp_mask = c->key.attrs & ~(FRAG_BIT_WPOS | FRAG_BIT_COL0 | FRAG_BIT_COL1); diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 907976295ab..61b2262cfa6 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -355,9 +355,6 @@ static void brw_wm_populate_key( struct brw_context *brw, /* _NEW_LIGHT */ key->flat_shade = (ctx->Light.ShadeModel == GL_FLAT); - /* _NEW_HINT */ - key->linear_color = (ctx->Hint.PerspectiveCorrection == GL_FASTEST); - /* _NEW_FRAG_CLAMP | _NEW_BUFFERS */ key->clamp_fragment_color = ctx->Color._ClampFragmentColor; @@ -489,7 +486,6 @@ const struct brw_tracked_state brw_wm_prog = { .dirty = { .mesa = (_NEW_COLOR | _NEW_DEPTH | - _NEW_HINT | _NEW_STENCIL | _NEW_POLYGON | _NEW_LINE | diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 8ab531bdf87..e5f7a79a197 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -61,7 +61,6 @@ struct brw_wm_prog_key { GLuint stats_wm:1; GLuint flat_shade:1; - GLuint linear_color:1; /**< linear interpolation vs perspective interp */ GLuint nr_color_regions:5; GLuint render_to_fbo:1; GLuint alpha_test:1; diff --git a/src/mesa/drivers/dri/i965/brw_wm_fp.c b/src/mesa/drivers/dri/i965/brw_wm_fp.c index 9ddbee2edf4..59dcda7b414 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_fp.c +++ b/src/mesa/drivers/dri/i965/brw_wm_fp.c @@ -417,25 +417,14 @@ static void emit_interp( struct brw_wm_compile *c, src_undef()); } else { - if (c->key.linear_color) { - emit_op(c, - WM_LINTERP, - dst, - 0, - interp, - deltas, - src_undef()); - } - else { - /* perspective-corrected color interpolation */ - emit_op(c, - WM_PINTERP, - dst, - 0, - interp, - deltas, - get_pixel_w(c)); - } + /* perspective-corrected color interpolation */ + emit_op(c, + WM_PINTERP, + dst, + 0, + interp, + deltas, + get_pixel_w(c)); } break; case FRAG_ATTRIB_FOGC: -- cgit v1.2.3 From 9a729ab4b273f503747209a9c58dbb664adca838 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 19 May 2011 09:54:07 -0700 Subject: i965: Remove dead shadowtex_mask entry in the WM key. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_wm.c | 3 --- src/mesa/drivers/dri/i965/brw_wm.h | 1 - 2 files changed, 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 61b2262cfa6..578890872f0 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -423,9 +423,6 @@ static void brw_wm_populate_key( struct brw_context *brw, } } - /* Shadow */ - key->shadowtex_mask = fp->program.Base.ShadowSamplers; - /* _NEW_BUFFERS */ /* * Include the draw buffer origin and height so that we can calculate diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index e5f7a79a197..ccadb72db1c 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -67,7 +67,6 @@ struct brw_wm_prog_key { GLuint clamp_fragment_color:1; GLbitfield proj_attrib_mask; /**< one bit per fragment program attribute */ - GLuint shadowtex_mask:16; GLuint yuvtex_mask:16; GLuint yuvtex_swap_mask:16; /* UV swaped */ uint16_t gl_clamp_mask[3]; -- cgit v1.2.3 From f7b3f40b70dc7dd602897d364011089047583c5d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 19 May 2011 09:56:27 -0700 Subject: i965: Pack the lookup and line_aa bits into the first dword of the key. They were occupying whole 32-bit words, despite being only 10 or so bits. Reduces code size slightly (80/3300 bytes). Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_wm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index ccadb72db1c..3010e315811 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -59,12 +59,14 @@ #define AA_ALWAYS 2 struct brw_wm_prog_key { + uint8_t iz_lookup; GLuint stats_wm:1; GLuint flat_shade:1; GLuint nr_color_regions:5; GLuint render_to_fbo:1; GLuint alpha_test:1; GLuint clamp_fragment_color:1; + GLuint line_aa:2; GLbitfield proj_attrib_mask; /**< one bit per fragment program attribute */ GLuint yuvtex_mask:16; @@ -74,8 +76,6 @@ struct brw_wm_prog_key { GLushort tex_swizzles[BRW_MAX_TEX_UNIT]; GLushort drawable_height; GLbitfield64 vp_outputs_written; - GLuint iz_lookup; - GLuint line_aa; GLuint program_string_id:32; }; -- cgit v1.2.3 From 848bcd2e8c0232b7ab50da75059cd1dacbdb3db3 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2011 19:25:44 -0600 Subject: mesa: simplify query object display list dispatch setup --- src/mesa/main/dlist.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index deb30ed5cc0..226bb6837b0 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -10053,15 +10053,11 @@ _mesa_create_save_table(void) #endif #if FEATURE_queryobj + _mesa_init_queryobj_dispatch(table); /* glGetQuery, etc */ SET_BeginQueryARB(table, save_BeginQueryARB); SET_EndQueryARB(table, save_EndQueryARB); - SET_GenQueriesARB(table, _mesa_GenQueriesARB); - SET_DeleteQueriesARB(table, _mesa_DeleteQueriesARB); - SET_IsQueryARB(table, _mesa_IsQueryARB); - SET_GetQueryivARB(table, _mesa_GetQueryivARB); - SET_GetQueryObjectivARB(table, _mesa_GetQueryObjectivARB); - SET_GetQueryObjectuivARB(table, _mesa_GetQueryObjectuivARB); #endif + SET_DrawBuffersARB(table, save_DrawBuffersARB); #if FEATURE_EXT_framebuffer_blit -- cgit v1.2.3 From 919e260bff53b9ea79347c4a3b88b373443494bf Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2011 19:25:44 -0600 Subject: mesa: make query object API functions static Only directly referenced by the _mesa_init_queryobj_dispatch() function. --- src/mesa/main/queryobj.c | 12 ++++++------ src/mesa/main/queryobj.h | 18 ------------------ 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index e9cf5f64d08..f0a9a7922b2 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -173,7 +173,7 @@ get_query_binding_point(struct gl_context *ctx, GLenum target) } -void GLAPIENTRY +static void GLAPIENTRY _mesa_GenQueriesARB(GLsizei n, GLuint *ids) { GLuint first; @@ -212,7 +212,7 @@ _mesa_GenQueriesARB(GLsizei n, GLuint *ids) } -void GLAPIENTRY +static void GLAPIENTRY _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids) { GLint i; @@ -248,7 +248,7 @@ _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids) } -GLboolean GLAPIENTRY +static GLboolean GLAPIENTRY _mesa_IsQueryARB(GLuint id) { GET_CURRENT_CONTEXT(ctx); @@ -352,7 +352,7 @@ _mesa_EndQueryARB(GLenum target) } -void GLAPIENTRY +static void GLAPIENTRY _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params) { struct gl_query_object *q, **bindpt; @@ -386,7 +386,7 @@ _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params) } -void GLAPIENTRY +static void GLAPIENTRY _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params) { struct gl_query_object *q = NULL; @@ -437,7 +437,7 @@ _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params) } -void GLAPIENTRY +static void GLAPIENTRY _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params) { struct gl_query_object *q = NULL; diff --git a/src/mesa/main/queryobj.h b/src/mesa/main/queryobj.h index e4ad96ba5a3..16962e55a1b 100644 --- a/src/mesa/main/queryobj.h +++ b/src/mesa/main/queryobj.h @@ -42,24 +42,6 @@ _mesa_lookup_query_object(struct gl_context *ctx, GLuint id) } -extern void GLAPIENTRY -_mesa_GenQueriesARB(GLsizei n, GLuint *ids); - -extern void GLAPIENTRY -_mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids); - -extern GLboolean GLAPIENTRY -_mesa_IsQueryARB(GLuint id); - -extern void GLAPIENTRY -_mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params); - -extern void GLAPIENTRY -_mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params); - -extern void GLAPIENTRY -_mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params); - extern void _mesa_init_query_object_functions(struct dd_function_table *driver); -- cgit v1.2.3 From 3b0f4318207d393ce586bd7dccc1c92eee13eaa1 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2011 19:25:44 -0600 Subject: mesa: more transform feedback display list functions --- src/mesa/main/dlist.c | 110 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 98 insertions(+), 12 deletions(-) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 226bb6837b0..80a3c950df9 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -424,6 +424,10 @@ typedef enum /* GL_EXT_transform_feedback */ OPCODE_BEGIN_TRANSFORM_FEEDBACK, OPCODE_END_TRANSFORM_FEEDBACK, + OPCODE_BIND_TRANSFORM_FEEDBACK, + OPCODE_PAUSE_TRANSFORM_FEEDBACK, + OPCODE_RESUME_TRANSFORM_FEEDBACK, + OPCODE_DRAW_TRANSFORM_FEEDBACK, /* GL_EXT_texture_integer */ OPCODE_CLEARCOLOR_I, @@ -6287,6 +6291,69 @@ save_EndTransformFeedback(void) } } +static void GLAPIENTRY +save_TransformFeedbackVaryings(GLuint program, GLsizei count, + const GLchar **varyings, GLenum bufferMode) +{ + GET_CURRENT_CONTEXT(ctx); + _mesa_problem(ctx, + "glTransformFeedbackVarying() display list support not done"); +} + +static void GLAPIENTRY +save_BindTransformFeedback(GLenum target, GLuint name) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_BIND_TRANSFORM_FEEDBACK, 2); + if (n) { + n[1].e = target; + n[2].ui = name; + } + if (ctx->ExecuteFlag) { + CALL_BindTransformFeedback(ctx->Exec, (target, name)); + } +} + +static void GLAPIENTRY +save_PauseTransformFeedback(void) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + (void) alloc_instruction(ctx, OPCODE_PAUSE_TRANSFORM_FEEDBACK, 0); + if (ctx->ExecuteFlag) { + CALL_PauseTransformFeedback(ctx->Exec, ()); + } +} + +static void GLAPIENTRY +save_ResumeTransformFeedback(void) +{ + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + (void) alloc_instruction(ctx, OPCODE_RESUME_TRANSFORM_FEEDBACK, 0); + if (ctx->ExecuteFlag) { + CALL_ResumeTransformFeedback(ctx->Exec, ()); + } +} + +static void GLAPIENTRY +save_DrawTransformFeedback(GLenum mode, GLuint name) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_DRAW_TRANSFORM_FEEDBACK, 2); + if (n) { + n[1].e = mode; + n[2].ui = name; + } + if (ctx->ExecuteFlag) { + CALL_DrawTransformFeedback(ctx->Exec, (mode, name)); + } +} + /* aka UseProgram() */ static void GLAPIENTRY @@ -7890,12 +7957,6 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_PROVOKING_VERTEX: CALL_ProvokingVertexEXT(ctx->Exec, (n[1].e)); break; - case OPCODE_BEGIN_TRANSFORM_FEEDBACK: - CALL_BeginTransformFeedbackEXT(ctx->Exec, (n[1].e)); - break; - case OPCODE_END_TRANSFORM_FEEDBACK: - CALL_EndTransformFeedbackEXT(ctx->Exec, ()); - break; case OPCODE_STENCIL_FUNC: CALL_StencilFunc(ctx->Exec, (n[1].e, n[2].i, n[3].ui)); break; @@ -8446,6 +8507,27 @@ execute_list(struct gl_context *ctx, GLuint list) CALL_TextureBarrierNV(ctx->Exec, ()); break; + /* GL_EXT/ARB_transform_feedback */ + case OPCODE_BEGIN_TRANSFORM_FEEDBACK: + CALL_BeginTransformFeedbackEXT(ctx->Exec, (n[1].e)); + break; + case OPCODE_END_TRANSFORM_FEEDBACK: + CALL_EndTransformFeedbackEXT(ctx->Exec, ()); + break; + case OPCODE_BIND_TRANSFORM_FEEDBACK: + CALL_BindTransformFeedback(ctx->Exec, (n[1].e, n[2].ui)); + break; + case OPCODE_PAUSE_TRANSFORM_FEEDBACK: + CALL_PauseTransformFeedback(ctx->Exec, ()); + break; + case OPCODE_RESUME_TRANSFORM_FEEDBACK: + CALL_ResumeTransformFeedback(ctx->Exec, ()); + break; + case OPCODE_DRAW_TRANSFORM_FEEDBACK: + CALL_DrawTransformFeedback(ctx->Exec, (n[1].e, n[2].ui)); + break; + + case OPCODE_BIND_SAMPLER: CALL_BindSampler(ctx->Exec, (n[1].ui, n[2].ui)); break; @@ -10117,12 +10199,6 @@ _mesa_create_save_table(void) /* ARB 59. GL_ARB_copy_buffer */ SET_CopyBufferSubData(table, _mesa_CopyBufferSubData); /* no dlist save */ - /* 352. GL_EXT_transform_feedback */ -#if FEATURE_EXT_transform_feedback - SET_BeginTransformFeedbackEXT(table, save_BeginTransformFeedback); - SET_EndTransformFeedbackEXT(table, save_EndTransformFeedback); -#endif - /* 364. GL_EXT_provoking_vertex */ SET_ProvokingVertexEXT(table, save_ProvokingVertexEXT); @@ -10173,6 +10249,16 @@ _mesa_create_save_table(void) (void) save_Uniform4uiv; #endif +#if FEATURE_EXT_transform_feedback + SET_BeginTransformFeedbackEXT(table, save_BeginTransformFeedback); + SET_EndTransformFeedbackEXT(table, save_EndTransformFeedback); + SET_TransformFeedbackVaryingsEXT(table, save_TransformFeedbackVaryings); + SET_BindTransformFeedback(table, save_BindTransformFeedback); + SET_PauseTransformFeedback(table, save_PauseTransformFeedback); + SET_ResumeTransformFeedback(table, save_ResumeTransformFeedback); + SET_DrawTransformFeedback(table, save_DrawTransformFeedback); +#endif + /* GL_ARB_instanced_arrays */ SET_VertexAttribDivisorARB(table, save_VertexAttribDivisor); -- cgit v1.2.3 From e00481586c6fe87c5bf8753f9502d220ea46763a Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2011 19:25:44 -0600 Subject: mesa: more geometry shader display list functions --- src/mesa/main/dlist.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 80a3c950df9..c2cd96e5fa0 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -454,6 +454,8 @@ typedef enum /* GL_ARB_geometry_shader4 */ OPCODE_PROGRAM_PARAMETERI, + OPCODE_FRAMEBUFFER_TEXTURE, + OPCODE_FRAMEBUFFER_TEXTURE_FACE, /* GL_ARB_sync */ OPCODE_WAIT_SYNC, @@ -7308,6 +7310,47 @@ save_ProgramParameteri(GLuint program, GLenum pname, GLint value) } } +static void GLAPIENTRY +save_FramebufferTexture(GLenum target, GLenum attachment, + GLuint texture, GLint level) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_FRAMEBUFFER_TEXTURE, 4); + if (n) { + n[1].e = target; + n[2].e = attachment; + n[3].ui = texture; + n[4].i = level; + } + if (ctx->ExecuteFlag) { + CALL_FramebufferTextureARB(ctx->Exec, (target, attachment, texture, level)); + } +} + +static void GLAPIENTRY +save_FramebufferTextureFace(GLenum target, GLenum attachment, + GLuint texture, GLint level, GLenum face) +{ + Node *n; + GET_CURRENT_CONTEXT(ctx); + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + n = alloc_instruction(ctx, OPCODE_FRAMEBUFFER_TEXTURE_FACE, 5); + if (n) { + n[1].e = target; + n[2].e = attachment; + n[3].ui = texture; + n[4].i = level; + n[5].e = face; + } + if (ctx->ExecuteFlag) { + CALL_FramebufferTextureFaceARB(ctx->Exec, (target, attachment, texture, + level, face)); + } +} + + static void GLAPIENTRY save_WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) @@ -8576,6 +8619,14 @@ execute_list(struct gl_context *ctx, GLuint list) case OPCODE_PROGRAM_PARAMETERI: CALL_ProgramParameteriARB(ctx->Exec, (n[1].ui, n[2].e, n[3].i)); break; + case OPCODE_FRAMEBUFFER_TEXTURE: + CALL_FramebufferTextureARB(ctx->Exec, (n[1].e, n[2].e, + n[3].ui, n[4].i)); + break; + case OPCODE_FRAMEBUFFER_TEXTURE_FACE: + CALL_FramebufferTextureFaceARB(ctx->Exec, (n[1].e, n[2].e, + n[3].ui, n[4].i, n[5].e)); + break; /* GL_ARB_sync */ case OPCODE_WAIT_SYNC: @@ -10283,6 +10334,8 @@ _mesa_create_save_table(void) /* GL_ARB_geometry_shader4 */ SET_ProgramParameteriARB(table, save_ProgramParameteri); + SET_FramebufferTextureARB(table, save_FramebufferTexture); + SET_FramebufferTextureFaceARB(table, save_FramebufferTextureFace); /* GL_ARB_sync */ _mesa_init_sync_dispatch(table); -- cgit v1.2.3 From 6126d50e75f1d8ef2e65c5df844e50a1b7f415f9 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2011 19:25:44 -0600 Subject: mesa: plug in GL_ARB_vertex_array_object display list functions --- src/mesa/main/dlist.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index c2cd96e5fa0..5acbb7ace9d 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -10104,6 +10104,10 @@ _mesa_create_save_table(void) SET_GenVertexArraysAPPLE(table, _mesa_GenVertexArraysAPPLE); SET_IsVertexArrayAPPLE(table, _mesa_IsVertexArrayAPPLE); + /* GL_ARB_vertex_array_object */ + SET_BindVertexArray(table, _mesa_BindVertexArray); + SET_GenVertexArrays(table, _mesa_GenVertexArrays); + /* ???. GL_EXT_depth_bounds_test */ SET_DepthBoundsEXT(table, save_DepthBoundsEXT); -- cgit v1.2.3 From e401c1f57fc0640f0eba32f91703b1c5383f2364 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2011 19:25:44 -0600 Subject: mesa: plug _mesa_GetObjectParameterivAPPLE into display list dispatch table --- src/mesa/main/dlist.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 5acbb7ace9d..c23593bc30d 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -10261,6 +10261,7 @@ _mesa_create_save_table(void) #if FEATURE_APPLE_object_purgeable SET_ObjectPurgeableAPPLE(table, _mesa_ObjectPurgeableAPPLE); SET_ObjectUnpurgeableAPPLE(table, _mesa_ObjectUnpurgeableAPPLE); + SET_GetObjectParameterivAPPLE(table, _mesa_GetObjectParameterivAPPLE); #endif /* GL_EXT_texture_integer */ -- cgit v1.2.3 From 4609e80288bacf19af99b0ed7656eef9bb280912 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 26 May 2011 19:25:44 -0600 Subject: mesa: s/height/depth/ in texsubimage() Fixes http://bugs.freedesktop.org/show_bug.cgi?id=37648 --- src/mesa/main/teximage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 8fb54c693e0..4ea9a483c92 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2693,7 +2693,7 @@ texsubimage(struct gl_context *ctx, GLuint dims, GLenum target, GLint level, format, type, texImage)) { /* error was recorded */ } - else if (width > 0 && height > 0 && height > 0) { + else if (width > 0 && height > 0 && depth > 0) { /* If we have a border, offset=-1 is legal. Bias by border width. */ switch (dims) { case 3: -- cgit v1.2.3 From 828b26b7ebe7e4c756a6cfde04646e8a112166ac Mon Sep 17 00:00:00 2001 From: Trevor Davenport Date: Fri, 27 May 2011 10:25:40 +0200 Subject: nv50: fix emit_add_a16 to emit correct source reg emit_add_a16 was using the incorrect source. This caused adds in the form of: add u16 $a0 s32 $a1 u32 0x00000200 to have a source AREG of $a0 instead of $a1. Fixes World of Warcraft in OpenGL and D3D without GLSL. --- src/gallium/drivers/nv50/nv50_pc_emit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nv50/nv50_pc_emit.c b/src/gallium/drivers/nv50/nv50_pc_emit.c index 252c58dd8ff..600850da011 100644 --- a/src/gallium/drivers/nv50/nv50_pc_emit.c +++ b/src/gallium/drivers/nv50/nv50_pc_emit.c @@ -744,8 +744,8 @@ emit_add_a16(struct nv_pc *pc, struct nv_instruction *i) set_pred(pc, i); - if (i->src[1]) - set_a16_bits(pc, SREG(i->src[1])->id + 1); + if (s && i->src[0]) + set_a16_bits(pc, SREG(i->src[0])->id); } static void -- cgit v1.2.3 From 40540cc517480720e509a63f213ab33d66409bf8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 20 May 2011 14:13:59 -0700 Subject: i965/fs: Add a helper function for add_dep(before, after, before->latency). This lets us avoid a bunch of before==NULL checks in the callers. Reviewed-by: Kenneth Graunke --- .../dri/i965/brw_fs_schedule_instructions.cpp | 50 ++++++++-------------- 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp index fb1192c810a..ed88aa689d0 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp @@ -140,6 +140,7 @@ public: } void add_barrier_deps(schedule_node *n); void add_dep(schedule_node *before, schedule_node *after, int latency); + void add_dep(schedule_node *before, schedule_node *after); void add_inst(fs_inst *inst); void calculate_deps(); @@ -210,6 +211,15 @@ instruction_scheduler::add_dep(schedule_node *before, schedule_node *after, after->parent_count++; } +void +instruction_scheduler::add_dep(schedule_node *before, schedule_node *after) +{ + if (!before) + return; + + add_dep(before, after, before->latency); +} + /** * Sometimes we really want this node to execute after everything that * was before it and before everything that followed it. This adds @@ -274,10 +284,7 @@ instruction_scheduler::calculate_deps() /* read-after-write deps. */ for (int i = 0; i < 3; i++) { if (inst->src[i].file == GRF) { - if (last_grf_write[inst->src[i].reg]) { - add_dep(last_grf_write[inst->src[i].reg], n, - last_grf_write[inst->src[i].reg]->latency); - } + add_dep(last_grf_write[inst->src[i].reg], n); } else if (inst->src[i].file != BAD_FILE && inst->src[i].file != IMM && inst->src[i].file != UNIFORM) { @@ -291,41 +298,29 @@ instruction_scheduler::calculate_deps() * instruction once it's sent, not when the result comes * back. */ - if (last_mrf_write[inst->base_mrf + i]) { - add_dep(last_mrf_write[inst->base_mrf + i], n, - last_mrf_write[inst->base_mrf + i]->latency); - } + add_dep(last_mrf_write[inst->base_mrf + i], n); } if (inst->predicated) { assert(last_conditional_mod); - add_dep(last_conditional_mod, n, last_conditional_mod->latency); + add_dep(last_conditional_mod, n); } /* write-after-write deps. */ if (inst->dst.file == GRF) { - if (last_grf_write[inst->dst.reg]) { - add_dep(last_grf_write[inst->dst.reg], n, - last_grf_write[inst->dst.reg]->latency); - } + add_dep(last_grf_write[inst->dst.reg], n); last_grf_write[inst->dst.reg] = n; } else if (inst->dst.file == MRF) { int reg = inst->dst.hw_reg & ~BRW_MRF_COMPR4; - if (last_mrf_write[reg]) { - add_dep(last_mrf_write[reg], n, - last_mrf_write[reg]->latency); - } + add_dep(last_mrf_write[reg], n); last_mrf_write[reg] = n; if (is_compressed(inst)) { if (inst->dst.hw_reg & BRW_MRF_COMPR4) reg += 4; else reg++; - if (last_mrf_write[reg]) { - add_dep(last_mrf_write[reg], n, - last_mrf_write[reg]->latency); - } + add_dep(last_mrf_write[reg], n); last_mrf_write[reg] = n; } } else if (inst->dst.file != BAD_FILE) { @@ -334,10 +329,7 @@ instruction_scheduler::calculate_deps() if (inst->mlen > 0) { for (int i = 0; i < v->implied_mrf_writes(inst); i++) { - if (last_mrf_write[inst->base_mrf + i]) { - add_dep(last_mrf_write[inst->base_mrf + i], n, - last_mrf_write[inst->base_mrf + i]->latency); - } + add_dep(last_mrf_write[inst->base_mrf + i], n); last_mrf_write[inst->base_mrf + i] = n; } } @@ -364,9 +356,7 @@ instruction_scheduler::calculate_deps() /* write-after-read deps. */ for (int i = 0; i < 3; i++) { if (inst->src[i].file == GRF) { - if (last_grf_write[inst->src[i].reg]) { - add_dep(n, last_grf_write[inst->src[i].reg], n->latency); - } + add_dep(n, last_grf_write[inst->src[i].reg]); } else if (inst->src[i].file != BAD_FILE && inst->src[i].file != IMM && inst->src[i].file != UNIFORM) { @@ -384,9 +374,7 @@ instruction_scheduler::calculate_deps() } if (inst->predicated) { - if (last_conditional_mod) { - add_dep(n, last_conditional_mod, n->latency); - } + add_dep(n, last_conditional_mod); } /* Update the things this instruction wrote, so earlier reads -- cgit v1.2.3 From 615117ce4efd041459f7d4b0c77aa8e248345e66 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 23 May 2011 09:12:07 -0700 Subject: i965/fs: Track fixed GRF regs separate from allocated GRF file in scheduling. There's an assumption here that fixed GRFs will never intersect with the allocated GRFs. That's true today, though it might change some day if we decide to register-allocate the regs containing push constants once they're dead. This fixes a regression in 0f7325b89038937bd428f7c89ed9859189a0ab0b in Lightsmark from the texture instructions now containing g0 references instead of having that be implied. Performance is improved 15.2% +/- 3.6% (n=3). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34968 --- src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +- .../dri/i965/brw_fs_schedule_instructions.cpp | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index c02237850e2..1cee37cfdb2 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1570,7 +1570,7 @@ fs_visitor::visit(ir_texture *ir) * use the null register. Otherwise, we want an implied move from g0. */ if (ir->offset != NULL || !inst->header_present) - inst->src[0] = fs_reg(brw_null_reg()); + inst->src[0] = reg_undef; else inst->src[0] = fs_reg(retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW)); diff --git a/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp index ed88aa689d0..d8218c26edb 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_schedule_instructions.cpp @@ -263,6 +263,12 @@ instruction_scheduler::calculate_deps() schedule_node *last_grf_write[virtual_grf_count]; schedule_node *last_mrf_write[BRW_MAX_MRF]; schedule_node *last_conditional_mod = NULL; + /* Fixed HW registers are assumed to be separate from the virtual + * GRFs, so they can be tracked separately. We don't really write + * to fixed GRFs much, so don't bother tracking them on a more + * granular level. + */ + schedule_node *last_fixed_grf_write = NULL; /* The last instruction always needs to still be the last * instruction. Either it's flow control (IF, ELSE, ENDIF, DO, @@ -285,6 +291,10 @@ instruction_scheduler::calculate_deps() for (int i = 0; i < 3; i++) { if (inst->src[i].file == GRF) { add_dep(last_grf_write[inst->src[i].reg], n); + } else if (inst->src[i].file == FIXED_HW_REG && + (inst->src[i].fixed_hw_reg.file == + BRW_GENERAL_REGISTER_FILE)) { + add_dep(last_fixed_grf_write, n); } else if (inst->src[i].file != BAD_FILE && inst->src[i].file != IMM && inst->src[i].file != UNIFORM) { @@ -323,6 +333,9 @@ instruction_scheduler::calculate_deps() add_dep(last_mrf_write[reg], n); last_mrf_write[reg] = n; } + } else if (inst->dst.file == FIXED_HW_REG && + inst->dst.fixed_hw_reg.file == BRW_GENERAL_REGISTER_FILE) { + last_fixed_grf_write = n; } else if (inst->dst.file != BAD_FILE) { add_barrier_deps(n); } @@ -344,6 +357,7 @@ instruction_scheduler::calculate_deps() memset(last_grf_write, 0, sizeof(last_grf_write)); memset(last_mrf_write, 0, sizeof(last_mrf_write)); last_conditional_mod = NULL; + last_fixed_grf_write = NULL; exec_node *node; exec_node *prev; @@ -357,6 +371,10 @@ instruction_scheduler::calculate_deps() for (int i = 0; i < 3; i++) { if (inst->src[i].file == GRF) { add_dep(n, last_grf_write[inst->src[i].reg]); + } else if (inst->src[i].file == FIXED_HW_REG && + (inst->src[i].fixed_hw_reg.file == + BRW_GENERAL_REGISTER_FILE)) { + add_dep(n, last_fixed_grf_write); } else if (inst->src[i].file != BAD_FILE && inst->src[i].file != IMM && inst->src[i].file != UNIFORM) { @@ -395,6 +413,9 @@ instruction_scheduler::calculate_deps() last_mrf_write[reg] = n; } + } else if (inst->dst.file == FIXED_HW_REG && + inst->dst.fixed_hw_reg.file == BRW_GENERAL_REGISTER_FILE) { + last_fixed_grf_write = n; } else if (inst->dst.file != BAD_FILE) { add_barrier_deps(n); } -- cgit v1.2.3 From 1791857d7d950d3d2834bbb09b495f51f43ef7c1 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 May 2011 08:55:11 -0700 Subject: i965/fs: Move the computation of register block count from unit to compile. No net code size change, but unit update is down 0.8% code size pre-gen6. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_context.h | 15 +++++++++++++-- src/mesa/drivers/dri/i965/brw_fs.cpp | 4 ++-- src/mesa/drivers/dri/i965/brw_wm.c | 2 +- src/mesa/drivers/dri/i965/brw_wm_state.c | 4 ++-- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 1d2ef066db2..621b6f8990b 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -231,8 +231,8 @@ struct brw_wm_prog_data { GLuint first_curbe_grf; GLuint first_curbe_grf_16; - GLuint total_grf; - GLuint total_grf_16; + GLuint reg_blocks; + GLuint reg_blocks_16; GLuint total_scratch; GLuint nr_params; /**< number of float params/constants */ @@ -863,6 +863,17 @@ float convert_param(enum param_conversion conversion, float param) } } +/** + * Pre-gen6, the register file of the EUs was shared between threads, + * and each thread used some subset allocated on a 16-register block + * granularity. The unit states wanted these block counts. + */ +static inline int +brw_register_blocks(int reg_count) +{ + return ALIGN(reg_count, 16) / 16 - 1; +} + GLboolean brw_do_cubemap_normalize(struct exec_list *instructions); #endif diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 1cee37cfdb2..49a4c4dcb04 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -4170,9 +4170,9 @@ fs_visitor::run() generate_code(); if (c->dispatch_width == 8) { - c->prog_data.total_grf = grf_used; + c->prog_data.reg_blocks = brw_register_blocks(grf_used); } else { - c->prog_data.total_grf_16 = grf_used; + c->prog_data.reg_blocks_16 = brw_register_blocks(grf_used); c->prog_data.prog_offset_16 = prog_offset_16; /* Make sure we didn't try to sneak in an extra uniform */ diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 578890872f0..0f17c50c4f9 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -115,7 +115,7 @@ brw_wm_non_glsl_emit(struct brw_context *brw, struct brw_wm_compile *c) brw_wm_pass2(c); /* how many general-purpose registers are used */ - c->prog_data.total_grf = c->max_wm_grf; + c->prog_data.reg_blocks = brw_register_blocks(c->max_wm_grf); /* Emit GEN4 code. */ diff --git a/src/mesa/drivers/dri/i965/brw_wm_state.c b/src/mesa/drivers/dri/i965/brw_wm_state.c index a356711470a..ef98f8126dc 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_state.c @@ -91,8 +91,8 @@ brw_prepare_wm_unit(struct brw_context *brw) } /* CACHE_NEW_WM_PROG */ - wm->thread0.grf_reg_count = ALIGN(brw->wm.prog_data->total_grf, 16) / 16 - 1; - wm->wm9.grf_reg_count_2 = ALIGN(brw->wm.prog_data->total_grf_16, 16) / 16 - 1; + wm->thread0.grf_reg_count = brw->wm.prog_data->reg_blocks; + wm->wm9.grf_reg_count_2 = brw->wm.prog_data->reg_blocks_16; wm->thread0.kernel_start_pointer = brw->wm.prog_bo->offset >> 6; /* reloc */ /* reloc */ wm->wm9.kernel_start_pointer_2 = (brw->wm.prog_bo->offset + -- cgit v1.2.3 From 53c89c67f33639afef951e178f93f4e29acc5d53 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Apr 2011 17:58:04 -0700 Subject: i965: Avoid generating MOVs for assignments of expressions. No statistically significant difference measured in 3dbenchmark egypt/pro. It does reduce fragment shader instructions across shader-db by 0.3%. --- src/mesa/drivers/dri/i965/brw_fs.cpp | 82 +++++++++++++++++++++++++++++++----- src/mesa/drivers/dri/i965/brw_fs.h | 5 ++- 2 files changed, 75 insertions(+), 12 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 49a4c4dcb04..af70d922bac 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -818,6 +818,7 @@ fs_visitor::try_emit_saturate(ir_expression *ir) if (!sat_val) return false; + this->result = reg_undef; sat_val->accept(this); fs_reg src = this->result; @@ -864,7 +865,11 @@ fs_visitor::visit(ir_expression *ir) if (try_emit_saturate(ir)) return; + /* This is where our caller would like us to put the result, if possible. */ + fs_reg saved_result_storage = this->result; + for (operand = 0; operand < ir->get_num_operands(); operand++) { + this->result = reg_undef; ir->operands[operand]->accept(this); if (this->result.file == BAD_FILE) { ir_print_visitor v; @@ -882,10 +887,14 @@ fs_visitor::visit(ir_expression *ir) assert(!ir->operands[operand]->type->is_vector()); } - /* Storage for our result. If our result goes into an assignment, it will - * just get copy-propagated out, so no worries. + /* Inherit storage from our parent if possible, and otherwise we + * alloc a temporary. */ - this->result = fs_reg(this, ir->type); + if (saved_result_storage.file == BAD_FILE) { + this->result = fs_reg(this, ir->type); + } else { + this->result = saved_result_storage; + } switch (ir->operation) { case ir_unop_logic_not: @@ -906,6 +915,9 @@ fs_visitor::visit(ir_expression *ir) case ir_unop_sign: temp = fs_reg(this, ir->type); + /* Unalias the destination. (imagine a = sign(a)) */ + this->result = fs_reg(this, ir->type); + emit(BRW_OPCODE_MOV, this->result, fs_reg(0.0f)); inst = emit(BRW_OPCODE_CMP, reg_null_f, op[0], fs_reg(0.0f)); @@ -1054,6 +1066,9 @@ fs_visitor::visit(ir_expression *ir) break; case ir_binop_min: + /* Unalias the destination */ + this->result = fs_reg(this, ir->type); + inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); inst->conditional_mod = BRW_CONDITIONAL_L; @@ -1061,6 +1076,9 @@ fs_visitor::visit(ir_expression *ir) inst->predicated = true; break; case ir_binop_max: + /* Unalias the destination */ + this->result = fs_reg(this, ir->type); + inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); inst->conditional_mod = BRW_CONDITIONAL_G; @@ -1106,8 +1124,10 @@ fs_visitor::emit_assignment_writes(fs_reg &l, fs_reg &r, l.type = brw_type_for_base_type(type); r.type = brw_type_for_base_type(type); - fs_inst *inst = emit(BRW_OPCODE_MOV, l, r); - inst->predicated = predicated; + if (predicated || !l.equals(&r)) { + fs_inst *inst = emit(BRW_OPCODE_MOV, l, r); + inst->predicated = predicated; + } l.reg_offset++; r.reg_offset++; @@ -1142,9 +1162,21 @@ fs_visitor::visit(ir_assignment *ir) fs_inst *inst; /* FINISHME: arrays on the lhs */ + this->result = reg_undef; ir->lhs->accept(this); l = this->result; + /* If we're doing a direct assignment, an RHS expression could + * drop its result right into our destination. Otherwise, tell it + * not to. + */ + if (ir->condition || + !(ir->lhs->type->is_scalar() || + (ir->lhs->type->is_vector() && + ir->write_mask == (1 << ir->lhs->type->vector_elements) - 1))) { + this->result = reg_undef; + } + ir->rhs->accept(this); r = this->result; @@ -1159,9 +1191,13 @@ fs_visitor::visit(ir_assignment *ir) ir->lhs->type->is_vector()) { for (int i = 0; i < ir->lhs->type->vector_elements; i++) { if (ir->write_mask & (1 << i)) { - inst = emit(BRW_OPCODE_MOV, l, r); - if (ir->condition) + if (ir->condition) { + inst = emit(BRW_OPCODE_MOV, l, r); inst->predicated = true; + } else if (!l.equals(&r)) { + inst = emit(BRW_OPCODE_MOV, l, r); + } + r.reg_offset++; } l.reg_offset++; @@ -1202,16 +1238,19 @@ fs_visitor::emit_texture_gen4(ir_texture *ir, fs_reg dst, fs_reg coordinate, emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), fs_reg(0.0f)); mlen++; } else if (ir->op == ir_txb) { + this->result = reg_undef; ir->lod_info.bias->accept(this); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); mlen++; } else { assert(ir->op == ir_txl); + this->result = reg_undef; ir->lod_info.lod->accept(this); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); mlen++; } + this->result = reg_undef; ir->shadow_comparitor->accept(this); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); mlen++; @@ -1246,10 +1285,12 @@ fs_visitor::emit_texture_gen4(ir_texture *ir, fs_reg dst, fs_reg coordinate, mlen += 6; if (ir->op == ir_txb) { + this->result = reg_undef; ir->lod_info.bias->accept(this); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); mlen++; } else { + this->result = reg_undef; ir->lod_info.lod->accept(this); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); mlen++; @@ -1341,6 +1382,7 @@ fs_visitor::emit_texture_gen5(ir_texture *ir, fs_reg dst, fs_reg coordinate, if (ir->shadow_comparitor) { mlen = MAX2(mlen, header_present + 4 * reg_width); + this->result = reg_undef; ir->shadow_comparitor->accept(this); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); mlen += reg_width; @@ -1352,6 +1394,7 @@ fs_visitor::emit_texture_gen5(ir_texture *ir, fs_reg dst, fs_reg coordinate, inst = emit(FS_OPCODE_TEX, dst); break; case ir_txb: + this->result = reg_undef; ir->lod_info.bias->accept(this); mlen = MAX2(mlen, header_present + 4 * reg_width); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); @@ -1361,6 +1404,7 @@ fs_visitor::emit_texture_gen5(ir_texture *ir, fs_reg dst, fs_reg coordinate, break; case ir_txl: + this->result = reg_undef; ir->lod_info.lod->accept(this); mlen = MAX2(mlen, header_present + 4 * reg_width); emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); @@ -1464,6 +1508,7 @@ fs_visitor::visit(ir_texture *ir) int sampler; fs_inst *inst = NULL; + this->result = reg_undef; ir->coordinate->accept(this); fs_reg coordinate = this->result; @@ -1609,6 +1654,7 @@ fs_visitor::visit(ir_texture *ir) void fs_visitor::visit(ir_swizzle *ir) { + this->result = reg_undef; ir->val->accept(this); fs_reg val = this->result; @@ -1671,6 +1717,7 @@ fs_visitor::visit(ir_constant *ir) const unsigned size = type_size(ir->type->fields.array); for (unsigned i = 0; i < ir->type->length; i++) { + this->result = reg_undef; ir->array_elements[i]->accept(this); fs_reg src_reg = this->result; @@ -1686,6 +1733,7 @@ fs_visitor::visit(ir_constant *ir) ir_instruction *const field = (ir_instruction *) node; const unsigned size = type_size(field->type); + this->result = reg_undef; field->accept(this); fs_reg src_reg = this->result; @@ -1736,6 +1784,7 @@ fs_visitor::emit_bool_to_cond_code(ir_rvalue *ir) for (unsigned int i = 0; i < expr->get_num_operands(); i++) { assert(expr->operands[i]->type->is_scalar()); + this->result = reg_undef; expr->operands[i]->accept(this); op[i] = this->result; } @@ -1800,6 +1849,7 @@ fs_visitor::emit_bool_to_cond_code(ir_rvalue *ir) return; } + this->result = reg_undef; ir->accept(this); if (intel->gen >= 6) { @@ -1829,6 +1879,7 @@ fs_visitor::emit_if_gen6(ir_if *ir) for (unsigned int i = 0; i < expr->get_num_operands(); i++) { assert(expr->operands[i]->type->is_scalar()); + this->result = reg_undef; expr->operands[i]->accept(this); op[i] = this->result; } @@ -1890,6 +1941,7 @@ fs_visitor::emit_if_gen6(ir_if *ir) return; } + this->result = reg_undef; ir->condition->accept(this); fs_inst *inst = emit(BRW_OPCODE_IF, reg_null_d, this->result, fs_reg(0)); @@ -1922,7 +1974,7 @@ fs_visitor::visit(ir_if *ir) foreach_iter(exec_list_iterator, iter, ir->then_instructions) { ir_instruction *ir = (ir_instruction *)iter.get(); this->base_ir = ir; - + this->result = reg_undef; ir->accept(this); } @@ -1932,7 +1984,7 @@ fs_visitor::visit(ir_if *ir) foreach_iter(exec_list_iterator, iter, ir->else_instructions) { ir_instruction *ir = (ir_instruction *)iter.get(); this->base_ir = ir; - + this->result = reg_undef; ir->accept(this); } } @@ -1955,10 +2007,14 @@ fs_visitor::visit(ir_loop *ir) counter = *(variable_storage(ir->counter)); if (ir->from) { + this->result = counter; + this->base_ir = ir->from; + this->result = counter; ir->from->accept(this); - emit(BRW_OPCODE_MOV, counter, this->result); + if (!this->result.equals(&counter)) + emit(BRW_OPCODE_MOV, counter, this->result); } } @@ -1966,6 +2022,7 @@ fs_visitor::visit(ir_loop *ir) if (ir->to) { this->base_ir = ir->to; + this->result = reg_undef; ir->to->accept(this); fs_inst *inst = emit(BRW_OPCODE_CMP, reg_null_cmp, counter, this->result); @@ -1979,11 +2036,13 @@ fs_visitor::visit(ir_loop *ir) ir_instruction *ir = (ir_instruction *)iter.get(); this->base_ir = ir; + this->result = reg_undef; ir->accept(this); } if (ir->increment) { this->base_ir = ir->increment; + this->result = reg_undef; ir->increment->accept(this); emit(BRW_OPCODE_ADD, counter, counter, this->result); } @@ -2033,7 +2092,7 @@ fs_visitor::visit(ir_function *ir) foreach_iter(exec_list_iterator, iter, sig->body) { ir_instruction *ir = (ir_instruction *)iter.get(); this->base_ir = ir; - + this->result = reg_undef; ir->accept(this); } } @@ -4117,6 +4176,7 @@ fs_visitor::run() foreach_iter(exec_list_iterator, iter, *shader->ir) { ir_instruction *ir = (ir_instruction *)iter.get(); base_ir = ir; + this->result = reg_undef; ir->accept(this); } diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 4b355c979eb..41e5004f37b 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -571,7 +571,10 @@ public: bool failed; - /* Result of last visit() method. */ + /* On entry to a visit() method, this is the storage for the + * result. On exit, the visit() called may have changed it, in + * which case the parent must use the new storage instead. + */ fs_reg result; fs_reg pixel_x; -- cgit v1.2.3 From 14b86f3c9131c1b26b01e07679cc899df0885b23 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 26 May 2011 09:57:36 -0700 Subject: i965: Move non-FS-specific shader support to brw_shader.cpp. These only existed in brw_fs.cpp because it was the only .cpp file in the area when I wrote them. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/Makefile | 3 +- src/mesa/drivers/dri/i965/brw_fs.cpp | 99 ------------------------ src/mesa/drivers/dri/i965/brw_shader.cpp | 127 +++++++++++++++++++++++++++++++ 3 files changed, 129 insertions(+), 100 deletions(-) create mode 100644 src/mesa/drivers/dri/i965/brw_shader.cpp diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile index b96f42bfe88..32e96165994 100644 --- a/src/mesa/drivers/dri/i965/Makefile +++ b/src/mesa/drivers/dri/i965/Makefile @@ -119,7 +119,8 @@ CXX_SOURCES = \ brw_fs_channel_expressions.cpp \ brw_fs_reg_allocate.cpp \ brw_fs_schedule_instructions.cpp \ - brw_fs_vector_splitting.cpp + brw_fs_vector_splitting.cpp \ + brw_shader.cpp ASM_SOURCES = diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index af70d922bac..89803cd9f24 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -34,7 +34,6 @@ extern "C" { #include "main/uniforms.h" #include "program/prog_parameter.h" #include "program/prog_print.h" -#include "program/prog_optimize.h" #include "program/register_allocate.h" #include "program/sampler.h" #include "program/hash_table.h" @@ -44,109 +43,11 @@ extern "C" { } #include "brw_fs.h" #include "../glsl/glsl_types.h" -#include "../glsl/ir_optimization.h" #include "../glsl/ir_print_visitor.h" #define MAX_INSTRUCTION (1 << 30) static struct brw_reg brw_reg_from_fs_reg(class fs_reg *reg); -struct gl_shader * -brw_new_shader(struct gl_context *ctx, GLuint name, GLuint type) -{ - struct brw_shader *shader; - - shader = rzalloc(NULL, struct brw_shader); - if (shader) { - shader->base.Type = type; - shader->base.Name = name; - _mesa_init_shader(ctx, &shader->base); - } - - return &shader->base; -} - -struct gl_shader_program * -brw_new_shader_program(struct gl_context *ctx, GLuint name) -{ - struct brw_shader_program *prog; - prog = rzalloc(NULL, struct brw_shader_program); - if (prog) { - prog->base.Name = name; - _mesa_init_shader_program(ctx, &prog->base); - } - return &prog->base; -} - -GLboolean -brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) -{ - struct brw_context *brw = brw_context(ctx); - struct intel_context *intel = &brw->intel; - - struct brw_shader *shader = - (struct brw_shader *)prog->_LinkedShaders[MESA_SHADER_FRAGMENT]; - if (shader != NULL) { - void *mem_ctx = ralloc_context(NULL); - bool progress; - - if (shader->ir) - ralloc_free(shader->ir); - shader->ir = new(shader) exec_list; - clone_ir_list(mem_ctx, shader->ir, shader->base.ir); - - do_mat_op_to_vec(shader->ir); - lower_instructions(shader->ir, - MOD_TO_FRACT | - DIV_TO_MUL_RCP | - SUB_TO_ADD_NEG | - EXP_TO_EXP2 | - LOG_TO_LOG2); - - /* Pre-gen6 HW can only nest if-statements 16 deep. Beyond this, - * if-statements need to be flattened. - */ - if (intel->gen < 6) - lower_if_to_cond_assign(shader->ir, 16); - - do_lower_texture_projection(shader->ir); - do_vec_index_to_cond_assign(shader->ir); - brw_do_cubemap_normalize(shader->ir); - lower_noise(shader->ir); - lower_quadop_vector(shader->ir, false); - lower_variable_index_to_cond_assign(shader->ir, - GL_TRUE, /* input */ - GL_TRUE, /* output */ - GL_TRUE, /* temp */ - GL_TRUE /* uniform */ - ); - - do { - progress = false; - - brw_do_channel_expressions(shader->ir); - brw_do_vector_splitting(shader->ir); - - progress = do_lower_jumps(shader->ir, true, true, - true, /* main return */ - false, /* continue */ - false /* loops */ - ) || progress; - - progress = do_common_optimization(shader->ir, true, 32) || progress; - } while (progress); - - validate_ir_tree(shader->ir); - - reparent_ir(shader->ir, shader->ir); - ralloc_free(mem_ctx); - } - - if (!_mesa_ir_link_shader(ctx, prog)) - return GL_FALSE; - - return GL_TRUE; -} - static int type_size(const struct glsl_type *type) { diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp new file mode 100644 index 00000000000..51dce6b40d1 --- /dev/null +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -0,0 +1,127 @@ +/* + * Copyright © 2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +extern "C" { +#include "main/macros.h" +#include "brw_context.h" +} +#include "brw_fs.h" +#include "../glsl/ir_optimization.h" +#include "../glsl/ir_print_visitor.h" + +struct gl_shader * +brw_new_shader(struct gl_context *ctx, GLuint name, GLuint type) +{ + struct brw_shader *shader; + + shader = rzalloc(NULL, struct brw_shader); + if (shader) { + shader->base.Type = type; + shader->base.Name = name; + _mesa_init_shader(ctx, &shader->base); + } + + return &shader->base; +} + +struct gl_shader_program * +brw_new_shader_program(struct gl_context *ctx, GLuint name) +{ + struct brw_shader_program *prog; + prog = rzalloc(NULL, struct brw_shader_program); + if (prog) { + prog->base.Name = name; + _mesa_init_shader_program(ctx, &prog->base); + } + return &prog->base; +} + +GLboolean +brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) +{ + struct brw_context *brw = brw_context(ctx); + struct intel_context *intel = &brw->intel; + + struct brw_shader *shader = + (struct brw_shader *)prog->_LinkedShaders[MESA_SHADER_FRAGMENT]; + if (shader != NULL) { + void *mem_ctx = ralloc_context(NULL); + bool progress; + + if (shader->ir) + ralloc_free(shader->ir); + shader->ir = new(shader) exec_list; + clone_ir_list(mem_ctx, shader->ir, shader->base.ir); + + do_mat_op_to_vec(shader->ir); + lower_instructions(shader->ir, + MOD_TO_FRACT | + DIV_TO_MUL_RCP | + SUB_TO_ADD_NEG | + EXP_TO_EXP2 | + LOG_TO_LOG2); + + /* Pre-gen6 HW can only nest if-statements 16 deep. Beyond this, + * if-statements need to be flattened. + */ + if (intel->gen < 6) + lower_if_to_cond_assign(shader->ir, 16); + + do_lower_texture_projection(shader->ir); + do_vec_index_to_cond_assign(shader->ir); + brw_do_cubemap_normalize(shader->ir); + lower_noise(shader->ir); + lower_quadop_vector(shader->ir, false); + lower_variable_index_to_cond_assign(shader->ir, + GL_TRUE, /* input */ + GL_TRUE, /* output */ + GL_TRUE, /* temp */ + GL_TRUE /* uniform */ + ); + + do { + progress = false; + + brw_do_channel_expressions(shader->ir); + brw_do_vector_splitting(shader->ir); + + progress = do_lower_jumps(shader->ir, true, true, + true, /* main return */ + false, /* continue */ + false /* loops */ + ) || progress; + + progress = do_common_optimization(shader->ir, true, 32) || progress; + } while (progress); + + validate_ir_tree(shader->ir); + + reparent_ir(shader->ir, shader->ir); + ralloc_free(mem_ctx); + } + + if (!_mesa_ir_link_shader(ctx, prog)) + return GL_FALSE; + + return GL_TRUE; +} -- cgit v1.2.3 From b7b700aeb0eab2cae26a01d9db42feea969333c7 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 26 May 2011 10:01:10 -0700 Subject: i965: Move a couple of GLSL IR -> BRW helper functions to brw_shader.cpp. These will be used by the VS backend as well. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_fs.cpp | 50 +------------------------------- src/mesa/drivers/dri/i965/brw_shader.cpp | 50 ++++++++++++++++++++++++++++++++ src/mesa/drivers/dri/i965/brw_shader.h | 25 ++++++++++++++++ 3 files changed, 76 insertions(+), 49 deletions(-) create mode 100644 src/mesa/drivers/dri/i965/brw_shader.h diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 89803cd9f24..cac5f48cc0c 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -41,6 +41,7 @@ extern "C" { #include "brw_eu.h" #include "brw_wm.h" } +#include "brw_shader.h" #include "brw_fs.h" #include "../glsl/glsl_types.h" #include "../glsl/ir_print_visitor.h" @@ -198,31 +199,6 @@ fs_reg::fs_reg(enum register_file file, int hw_reg, uint32_t type) this->type = type; } -int -brw_type_for_base_type(const struct glsl_type *type) -{ - switch (type->base_type) { - case GLSL_TYPE_FLOAT: - return BRW_REGISTER_TYPE_F; - case GLSL_TYPE_INT: - case GLSL_TYPE_BOOL: - return BRW_REGISTER_TYPE_D; - case GLSL_TYPE_UINT: - return BRW_REGISTER_TYPE_UD; - case GLSL_TYPE_ARRAY: - case GLSL_TYPE_STRUCT: - case GLSL_TYPE_SAMPLER: - /* These should be overridden with the type of the member when - * dereferenced into. BRW_REGISTER_TYPE_UD seems like a likely - * way to trip up if we don't. - */ - return BRW_REGISTER_TYPE_UD; - default: - assert(!"not reached"); - return BRW_REGISTER_TYPE_F; - } -} - /** Automatic reg constructor. */ fs_reg::fs_reg(class fs_visitor *v, const struct glsl_type *type) { @@ -730,30 +706,6 @@ fs_visitor::try_emit_saturate(ir_expression *ir) return true; } -static uint32_t -brw_conditional_for_comparison(unsigned int op) -{ - switch (op) { - case ir_binop_less: - return BRW_CONDITIONAL_L; - case ir_binop_greater: - return BRW_CONDITIONAL_G; - case ir_binop_lequal: - return BRW_CONDITIONAL_LE; - case ir_binop_gequal: - return BRW_CONDITIONAL_GE; - case ir_binop_equal: - case ir_binop_all_equal: /* same as equal for scalars */ - return BRW_CONDITIONAL_Z; - case ir_binop_nequal: - case ir_binop_any_nequal: /* same as nequal for scalars */ - return BRW_CONDITIONAL_NZ; - default: - assert(!"not reached: bad operation for comparison"); - return BRW_CONDITIONAL_NZ; - } -} - void fs_visitor::visit(ir_expression *ir) { diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 51dce6b40d1..8516c9f8c73 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -125,3 +125,53 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) return GL_TRUE; } + + +int +brw_type_for_base_type(const struct glsl_type *type) +{ + switch (type->base_type) { + case GLSL_TYPE_FLOAT: + return BRW_REGISTER_TYPE_F; + case GLSL_TYPE_INT: + case GLSL_TYPE_BOOL: + return BRW_REGISTER_TYPE_D; + case GLSL_TYPE_UINT: + return BRW_REGISTER_TYPE_UD; + case GLSL_TYPE_ARRAY: + case GLSL_TYPE_STRUCT: + case GLSL_TYPE_SAMPLER: + /* These should be overridden with the type of the member when + * dereferenced into. BRW_REGISTER_TYPE_UD seems like a likely + * way to trip up if we don't. + */ + return BRW_REGISTER_TYPE_UD; + default: + assert(!"not reached"); + return BRW_REGISTER_TYPE_F; + } +} + +uint32_t +brw_conditional_for_comparison(unsigned int op) +{ + switch (op) { + case ir_binop_less: + return BRW_CONDITIONAL_L; + case ir_binop_greater: + return BRW_CONDITIONAL_G; + case ir_binop_lequal: + return BRW_CONDITIONAL_LE; + case ir_binop_gequal: + return BRW_CONDITIONAL_GE; + case ir_binop_equal: + case ir_binop_all_equal: /* same as equal for scalars */ + return BRW_CONDITIONAL_Z; + case ir_binop_nequal: + case ir_binop_any_nequal: /* same as nequal for scalars */ + return BRW_CONDITIONAL_NZ; + default: + assert(!"not reached: bad operation for comparison"); + return BRW_CONDITIONAL_NZ; + } +} diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h new file mode 100644 index 00000000000..4c568a26caa --- /dev/null +++ b/src/mesa/drivers/dri/i965/brw_shader.h @@ -0,0 +1,25 @@ +/* + * Copyright © 2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +int brw_type_for_base_type(const struct glsl_type *type); +uint32_t brw_conditional_for_comparison(unsigned int op); -- cgit v1.2.3 From 11dd9e9c0fcf9985b90ff4b63b2833345fece027 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 24 May 2011 16:34:27 -0700 Subject: i965/fs: Split the BRW native code emit to brw_fs_emit.cpp This is all separate from the visitor and the optimization passes which feed into it. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/Makefile | 1 + src/mesa/drivers/dri/i965/brw_fs.cpp | 839 ---------------------------- src/mesa/drivers/dri/i965/brw_fs_emit.cpp | 875 ++++++++++++++++++++++++++++++ 3 files changed, 876 insertions(+), 839 deletions(-) create mode 100644 src/mesa/drivers/dri/i965/brw_fs_emit.cpp diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile index 32e96165994..9f27b8f98ec 100644 --- a/src/mesa/drivers/dri/i965/Makefile +++ b/src/mesa/drivers/dri/i965/Makefile @@ -116,6 +116,7 @@ C_SOURCES = \ CXX_SOURCES = \ brw_cubemap_normalize.cpp \ brw_fs.cpp \ + brw_fs_emit.cpp \ brw_fs_channel_expressions.cpp \ brw_fs_reg_allocate.cpp \ brw_fs_schedule_instructions.cpp \ diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index cac5f48cc0c..9bc7b444657 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -47,7 +47,6 @@ extern "C" { #include "../glsl/ir_print_visitor.h" #define MAX_INSTRUCTION (1 << 30) -static struct brw_reg brw_reg_from_fs_reg(class fs_reg *reg); static int type_size(const struct glsl_type *type) @@ -2256,495 +2255,6 @@ fs_visitor::emit_fb_writes() this->current_annotation = NULL; } -void -fs_visitor::generate_fb_write(fs_inst *inst) -{ - GLboolean eot = inst->eot; - struct brw_reg implied_header; - - /* Header is 2 regs, g0 and g1 are the contents. g0 will be implied - * move, here's g1. - */ - brw_push_insn_state(p); - brw_set_mask_control(p, BRW_MASK_DISABLE); - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - - if (inst->header_present) { - if (intel->gen >= 6) { - brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); - brw_MOV(p, - retype(brw_message_reg(inst->base_mrf), BRW_REGISTER_TYPE_UD), - retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UD)); - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - - if (inst->target > 0) { - /* Set the render target index for choosing BLEND_STATE. */ - brw_MOV(p, retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, 0, 2), - BRW_REGISTER_TYPE_UD), - brw_imm_ud(inst->target)); - } - - implied_header = brw_null_reg(); - } else { - implied_header = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW); - - brw_MOV(p, - brw_message_reg(inst->base_mrf + 1), - brw_vec8_grf(1, 0)); - } - } else { - implied_header = brw_null_reg(); - } - - brw_pop_insn_state(p); - - brw_fb_WRITE(p, - c->dispatch_width, - inst->base_mrf, - implied_header, - inst->target, - inst->mlen, - 0, - eot, - inst->header_present); -} - -/* Computes the integer pixel x,y values from the origin. - * - * This is the basis of gl_FragCoord computation, but is also used - * pre-gen6 for computing the deltas from v0 for computing - * interpolation. - */ -void -fs_visitor::generate_pixel_xy(struct brw_reg dst, bool is_x) -{ - struct brw_reg g1_uw = retype(brw_vec1_grf(1, 0), BRW_REGISTER_TYPE_UW); - struct brw_reg src; - struct brw_reg deltas; - - if (is_x) { - src = stride(suboffset(g1_uw, 4), 2, 4, 0); - deltas = brw_imm_v(0x10101010); - } else { - src = stride(suboffset(g1_uw, 5), 2, 4, 0); - deltas = brw_imm_v(0x11001100); - } - - if (c->dispatch_width == 16) { - dst = vec16(dst); - } - - /* We do this 8 or 16-wide, but since the destination is UW we - * don't do compression in the 16-wide case. - */ - brw_push_insn_state(p); - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - brw_ADD(p, dst, src, deltas); - brw_pop_insn_state(p); -} - -void -fs_visitor::generate_linterp(fs_inst *inst, - struct brw_reg dst, struct brw_reg *src) -{ - struct brw_reg delta_x = src[0]; - struct brw_reg delta_y = src[1]; - struct brw_reg interp = src[2]; - - if (brw->has_pln && - delta_y.nr == delta_x.nr + 1 && - (intel->gen >= 6 || (delta_x.nr & 1) == 0)) { - brw_PLN(p, dst, interp, delta_x); - } else { - brw_LINE(p, brw_null_reg(), interp, delta_x); - brw_MAC(p, dst, suboffset(interp, 1), delta_y); - } -} - -void -fs_visitor::generate_math(fs_inst *inst, - struct brw_reg dst, struct brw_reg *src) -{ - int op; - - switch (inst->opcode) { - case FS_OPCODE_RCP: - op = BRW_MATH_FUNCTION_INV; - break; - case FS_OPCODE_RSQ: - op = BRW_MATH_FUNCTION_RSQ; - break; - case FS_OPCODE_SQRT: - op = BRW_MATH_FUNCTION_SQRT; - break; - case FS_OPCODE_EXP2: - op = BRW_MATH_FUNCTION_EXP; - break; - case FS_OPCODE_LOG2: - op = BRW_MATH_FUNCTION_LOG; - break; - case FS_OPCODE_POW: - op = BRW_MATH_FUNCTION_POW; - break; - case FS_OPCODE_SIN: - op = BRW_MATH_FUNCTION_SIN; - break; - case FS_OPCODE_COS: - op = BRW_MATH_FUNCTION_COS; - break; - default: - assert(!"not reached: unknown math function"); - op = 0; - break; - } - - if (intel->gen >= 6) { - assert(inst->mlen == 0); - - if (inst->opcode == FS_OPCODE_POW) { - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - brw_math2(p, dst, op, src[0], src[1]); - - if (c->dispatch_width == 16) { - brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); - brw_math2(p, sechalf(dst), op, sechalf(src[0]), sechalf(src[1])); - brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); - } - } else { - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - brw_math(p, dst, - op, - inst->saturate ? BRW_MATH_SATURATE_SATURATE : - BRW_MATH_SATURATE_NONE, - 0, src[0], - BRW_MATH_DATA_VECTOR, - BRW_MATH_PRECISION_FULL); - - if (c->dispatch_width == 16) { - brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); - brw_math(p, sechalf(dst), - op, - inst->saturate ? BRW_MATH_SATURATE_SATURATE : - BRW_MATH_SATURATE_NONE, - 0, sechalf(src[0]), - BRW_MATH_DATA_VECTOR, - BRW_MATH_PRECISION_FULL); - brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); - } - } - } else /* gen <= 5 */{ - assert(inst->mlen >= 1); - - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - brw_math(p, dst, - op, - inst->saturate ? BRW_MATH_SATURATE_SATURATE : - BRW_MATH_SATURATE_NONE, - inst->base_mrf, src[0], - BRW_MATH_DATA_VECTOR, - BRW_MATH_PRECISION_FULL); - - if (c->dispatch_width == 16) { - brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); - brw_math(p, sechalf(dst), - op, - inst->saturate ? BRW_MATH_SATURATE_SATURATE : - BRW_MATH_SATURATE_NONE, - inst->base_mrf + 1, sechalf(src[0]), - BRW_MATH_DATA_VECTOR, - BRW_MATH_PRECISION_FULL); - - brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); - } - } -} - -void -fs_visitor::generate_tex(fs_inst *inst, struct brw_reg dst, struct brw_reg src) -{ - int msg_type = -1; - int rlen = 4; - uint32_t simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD8; - - if (c->dispatch_width == 16) - simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD16; - - if (intel->gen >= 5) { - switch (inst->opcode) { - case FS_OPCODE_TEX: - if (inst->shadow_compare) { - msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_COMPARE; - } else { - msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE; - } - break; - case FS_OPCODE_TXB: - if (inst->shadow_compare) { - msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE; - } else { - msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS; - } - break; - case FS_OPCODE_TXL: - if (inst->shadow_compare) { - msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE; - } else { - msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_LOD; - } - break; - case FS_OPCODE_TXD: - assert(!"TXD isn't supported on gen5+ yet."); - break; - } - } else { - switch (inst->opcode) { - case FS_OPCODE_TEX: - /* Note that G45 and older determines shadow compare and dispatch width - * from message length for most messages. - */ - assert(c->dispatch_width == 8); - msg_type = BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE; - if (inst->shadow_compare) { - assert(inst->mlen == 6); - } else { - assert(inst->mlen <= 4); - } - break; - case FS_OPCODE_TXB: - if (inst->shadow_compare) { - assert(inst->mlen == 6); - msg_type = BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_BIAS_COMPARE; - } else { - assert(inst->mlen == 9); - msg_type = BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_BIAS; - simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD16; - } - break; - case FS_OPCODE_TXL: - if (inst->shadow_compare) { - assert(inst->mlen == 6); - msg_type = BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_LOD_COMPARE; - } else { - assert(inst->mlen == 9); - msg_type = BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_LOD; - simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD16; - } - break; - case FS_OPCODE_TXD: - assert(!"TXD isn't supported on gen4 yet."); - break; - } - } - assert(msg_type != -1); - - if (simd_mode == BRW_SAMPLER_SIMD_MODE_SIMD16) { - rlen = 8; - dst = vec16(dst); - } - - brw_SAMPLE(p, - retype(dst, BRW_REGISTER_TYPE_UW), - inst->base_mrf, - src, - SURF_INDEX_TEXTURE(inst->sampler), - inst->sampler, - WRITEMASK_XYZW, - msg_type, - rlen, - inst->mlen, - 0, - inst->header_present, - simd_mode); -} - - -/* For OPCODE_DDX and OPCODE_DDY, per channel of output we've got input - * looking like: - * - * arg0: ss0.tl ss0.tr ss0.bl ss0.br ss1.tl ss1.tr ss1.bl ss1.br - * - * and we're trying to produce: - * - * DDX DDY - * dst: (ss0.tr - ss0.tl) (ss0.tl - ss0.bl) - * (ss0.tr - ss0.tl) (ss0.tr - ss0.br) - * (ss0.br - ss0.bl) (ss0.tl - ss0.bl) - * (ss0.br - ss0.bl) (ss0.tr - ss0.br) - * (ss1.tr - ss1.tl) (ss1.tl - ss1.bl) - * (ss1.tr - ss1.tl) (ss1.tr - ss1.br) - * (ss1.br - ss1.bl) (ss1.tl - ss1.bl) - * (ss1.br - ss1.bl) (ss1.tr - ss1.br) - * - * and add another set of two more subspans if in 16-pixel dispatch mode. - * - * For DDX, it ends up being easy: width = 2, horiz=0 gets us the same result - * for each pair, and vertstride = 2 jumps us 2 elements after processing a - * pair. But for DDY, it's harder, as we want to produce the pairs swizzled - * between each other. We could probably do it like ddx and swizzle the right - * order later, but bail for now and just produce - * ((ss0.tl - ss0.bl)x4 (ss1.tl - ss1.bl)x4) - */ -void -fs_visitor::generate_ddx(fs_inst *inst, struct brw_reg dst, struct brw_reg src) -{ - struct brw_reg src0 = brw_reg(src.file, src.nr, 1, - BRW_REGISTER_TYPE_F, - BRW_VERTICAL_STRIDE_2, - BRW_WIDTH_2, - BRW_HORIZONTAL_STRIDE_0, - BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); - struct brw_reg src1 = brw_reg(src.file, src.nr, 0, - BRW_REGISTER_TYPE_F, - BRW_VERTICAL_STRIDE_2, - BRW_WIDTH_2, - BRW_HORIZONTAL_STRIDE_0, - BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); - brw_ADD(p, dst, src0, negate(src1)); -} - -void -fs_visitor::generate_ddy(fs_inst *inst, struct brw_reg dst, struct brw_reg src) -{ - struct brw_reg src0 = brw_reg(src.file, src.nr, 0, - BRW_REGISTER_TYPE_F, - BRW_VERTICAL_STRIDE_4, - BRW_WIDTH_4, - BRW_HORIZONTAL_STRIDE_0, - BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); - struct brw_reg src1 = brw_reg(src.file, src.nr, 2, - BRW_REGISTER_TYPE_F, - BRW_VERTICAL_STRIDE_4, - BRW_WIDTH_4, - BRW_HORIZONTAL_STRIDE_0, - BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); - brw_ADD(p, dst, src0, negate(src1)); -} - -void -fs_visitor::generate_discard(fs_inst *inst) -{ - struct brw_reg f0 = brw_flag_reg(); - - if (intel->gen >= 6) { - struct brw_reg g1 = retype(brw_vec1_grf(1, 7), BRW_REGISTER_TYPE_UW); - struct brw_reg some_register; - - /* As of gen6, we no longer have the mask register to look at, - * so life gets a bit more complicated. - */ - - /* Load the flag register with all ones. */ - brw_push_insn_state(p); - brw_set_mask_control(p, BRW_MASK_DISABLE); - brw_MOV(p, f0, brw_imm_uw(0xffff)); - brw_pop_insn_state(p); - - /* Do a comparison that should always fail, to produce 0s in the flag - * reg where we have active channels. - */ - some_register = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW); - brw_CMP(p, retype(brw_null_reg(), BRW_REGISTER_TYPE_UD), - BRW_CONDITIONAL_NZ, some_register, some_register); - - /* Undo CMP's whacking of predication*/ - brw_set_predicate_control(p, BRW_PREDICATE_NONE); - - brw_push_insn_state(p); - brw_set_mask_control(p, BRW_MASK_DISABLE); - brw_AND(p, g1, f0, g1); - brw_pop_insn_state(p); - } else { - struct brw_reg g0 = retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UW); - - brw_push_insn_state(p); - brw_set_mask_control(p, BRW_MASK_DISABLE); - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - - /* Unlike the 965, we have the mask reg, so we just need - * somewhere to invert that (containing channels to be disabled) - * so it can be ANDed with the mask of pixels still to be - * written. Use the flag reg for consistency with gen6+. - */ - brw_NOT(p, f0, brw_mask_reg(1)); /* IMASK */ - brw_AND(p, g0, f0, g0); - - brw_pop_insn_state(p); - } -} - -void -fs_visitor::generate_spill(fs_inst *inst, struct brw_reg src) -{ - assert(inst->mlen != 0); - - brw_MOV(p, - retype(brw_message_reg(inst->base_mrf + 1), BRW_REGISTER_TYPE_UD), - retype(src, BRW_REGISTER_TYPE_UD)); - brw_oword_block_write_scratch(p, brw_message_reg(inst->base_mrf), 1, - inst->offset); -} - -void -fs_visitor::generate_unspill(fs_inst *inst, struct brw_reg dst) -{ - assert(inst->mlen != 0); - - /* Clear any post destination dependencies that would be ignored by - * the block read. See the B-Spec for pre-gen5 send instruction. - * - * This could use a better solution, since texture sampling and - * math reads could potentially run into it as well -- anywhere - * that we have a SEND with a destination that is a register that - * was written but not read within the last N instructions (what's - * N? unsure). This is rare because of dead code elimination, but - * not impossible. - */ - if (intel->gen == 4 && !intel->is_g4x) - brw_MOV(p, brw_null_reg(), dst); - - brw_oword_block_read_scratch(p, dst, brw_message_reg(inst->base_mrf), 1, - inst->offset); - - if (intel->gen == 4 && !intel->is_g4x) { - /* gen4 errata: destination from a send can't be used as a - * destination until it's been read. Just read it so we don't - * have to worry. - */ - brw_MOV(p, brw_null_reg(), dst); - } -} - - -void -fs_visitor::generate_pull_constant_load(fs_inst *inst, struct brw_reg dst) -{ - assert(inst->mlen != 0); - - /* Clear any post destination dependencies that would be ignored by - * the block read. See the B-Spec for pre-gen5 send instruction. - * - * This could use a better solution, since texture sampling and - * math reads could potentially run into it as well -- anywhere - * that we have a SEND with a destination that is a register that - * was written but not read within the last N instructions (what's - * N? unsure). This is rare because of dead code elimination, but - * not impossible. - */ - if (intel->gen == 4 && !intel->is_g4x) - brw_MOV(p, brw_null_reg(), dst); - - brw_oword_block_read(p, dst, brw_message_reg(inst->base_mrf), - inst->offset, SURF_INDEX_FRAG_CONST_BUFFER); - - if (intel->gen == 4 && !intel->is_g4x) { - /* gen4 errata: destination from a send can't be used as a - * destination until it's been read. Just read it so we don't - * have to worry. - */ - brw_MOV(p, brw_null_reg(), dst); - } -} - /** * To be called after the last _mesa_add_state_reference() call, to * set up prog_data.param[] for assign_curb_setup() and @@ -3645,355 +3155,6 @@ fs_visitor::virtual_grf_interferes(int a, int b) return start < end; } -static struct brw_reg brw_reg_from_fs_reg(fs_reg *reg) -{ - struct brw_reg brw_reg; - - switch (reg->file) { - case GRF: - case ARF: - case MRF: - if (reg->smear == -1) { - brw_reg = brw_vec8_reg(reg->file, - reg->hw_reg, 0); - } else { - brw_reg = brw_vec1_reg(reg->file, - reg->hw_reg, reg->smear); - } - brw_reg = retype(brw_reg, reg->type); - if (reg->sechalf) - brw_reg = sechalf(brw_reg); - break; - case IMM: - switch (reg->type) { - case BRW_REGISTER_TYPE_F: - brw_reg = brw_imm_f(reg->imm.f); - break; - case BRW_REGISTER_TYPE_D: - brw_reg = brw_imm_d(reg->imm.i); - break; - case BRW_REGISTER_TYPE_UD: - brw_reg = brw_imm_ud(reg->imm.u); - break; - default: - assert(!"not reached"); - brw_reg = brw_null_reg(); - break; - } - break; - case FIXED_HW_REG: - brw_reg = reg->fixed_hw_reg; - break; - case BAD_FILE: - /* Probably unused. */ - brw_reg = brw_null_reg(); - break; - case UNIFORM: - assert(!"not reached"); - brw_reg = brw_null_reg(); - break; - default: - assert(!"not reached"); - brw_reg = brw_null_reg(); - break; - } - if (reg->abs) - brw_reg = brw_abs(brw_reg); - if (reg->negate) - brw_reg = negate(brw_reg); - - return brw_reg; -} - -void -fs_visitor::generate_code() -{ - int last_native_inst = p->nr_insn; - const char *last_annotation_string = NULL; - ir_instruction *last_annotation_ir = NULL; - - int loop_stack_array_size = 16; - int loop_stack_depth = 0; - brw_instruction **loop_stack = - rzalloc_array(this->mem_ctx, brw_instruction *, loop_stack_array_size); - int *if_depth_in_loop = - rzalloc_array(this->mem_ctx, int, loop_stack_array_size); - - - if (unlikely(INTEL_DEBUG & DEBUG_WM)) { - printf("Native code for fragment shader %d (%d-wide dispatch):\n", - ctx->Shader.CurrentFragmentProgram->Name, c->dispatch_width); - } - - foreach_iter(exec_list_iterator, iter, this->instructions) { - fs_inst *inst = (fs_inst *)iter.get(); - struct brw_reg src[3], dst; - - if (unlikely(INTEL_DEBUG & DEBUG_WM)) { - if (last_annotation_ir != inst->ir) { - last_annotation_ir = inst->ir; - if (last_annotation_ir) { - printf(" "); - last_annotation_ir->print(); - printf("\n"); - } - } - if (last_annotation_string != inst->annotation) { - last_annotation_string = inst->annotation; - if (last_annotation_string) - printf(" %s\n", last_annotation_string); - } - } - - for (unsigned int i = 0; i < 3; i++) { - src[i] = brw_reg_from_fs_reg(&inst->src[i]); - } - dst = brw_reg_from_fs_reg(&inst->dst); - - brw_set_conditionalmod(p, inst->conditional_mod); - brw_set_predicate_control(p, inst->predicated); - brw_set_predicate_inverse(p, inst->predicate_inverse); - brw_set_saturate(p, inst->saturate); - - if (inst->force_uncompressed || c->dispatch_width == 8) { - brw_set_compression_control(p, BRW_COMPRESSION_NONE); - } else if (inst->force_sechalf) { - brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); - } else { - brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); - } - - switch (inst->opcode) { - case BRW_OPCODE_MOV: - brw_MOV(p, dst, src[0]); - break; - case BRW_OPCODE_ADD: - brw_ADD(p, dst, src[0], src[1]); - break; - case BRW_OPCODE_MUL: - brw_MUL(p, dst, src[0], src[1]); - break; - - case BRW_OPCODE_FRC: - brw_FRC(p, dst, src[0]); - break; - case BRW_OPCODE_RNDD: - brw_RNDD(p, dst, src[0]); - break; - case BRW_OPCODE_RNDE: - brw_RNDE(p, dst, src[0]); - break; - case BRW_OPCODE_RNDZ: - brw_RNDZ(p, dst, src[0]); - break; - - case BRW_OPCODE_AND: - brw_AND(p, dst, src[0], src[1]); - break; - case BRW_OPCODE_OR: - brw_OR(p, dst, src[0], src[1]); - break; - case BRW_OPCODE_XOR: - brw_XOR(p, dst, src[0], src[1]); - break; - case BRW_OPCODE_NOT: - brw_NOT(p, dst, src[0]); - break; - case BRW_OPCODE_ASR: - brw_ASR(p, dst, src[0], src[1]); - break; - case BRW_OPCODE_SHR: - brw_SHR(p, dst, src[0], src[1]); - break; - case BRW_OPCODE_SHL: - brw_SHL(p, dst, src[0], src[1]); - break; - - case BRW_OPCODE_CMP: - brw_CMP(p, dst, inst->conditional_mod, src[0], src[1]); - break; - case BRW_OPCODE_SEL: - brw_SEL(p, dst, src[0], src[1]); - break; - - case BRW_OPCODE_IF: - if (inst->src[0].file != BAD_FILE) { - /* The instruction has an embedded compare (only allowed on gen6) */ - assert(intel->gen == 6); - gen6_IF(p, inst->conditional_mod, src[0], src[1]); - } else { - brw_IF(p, c->dispatch_width == 16 ? BRW_EXECUTE_16 : BRW_EXECUTE_8); - } - if_depth_in_loop[loop_stack_depth]++; - break; - - case BRW_OPCODE_ELSE: - brw_ELSE(p); - break; - case BRW_OPCODE_ENDIF: - brw_ENDIF(p); - if_depth_in_loop[loop_stack_depth]--; - break; - - case BRW_OPCODE_DO: - loop_stack[loop_stack_depth++] = brw_DO(p, BRW_EXECUTE_8); - if (loop_stack_array_size <= loop_stack_depth) { - loop_stack_array_size *= 2; - loop_stack = reralloc(this->mem_ctx, loop_stack, brw_instruction *, - loop_stack_array_size); - if_depth_in_loop = reralloc(this->mem_ctx, if_depth_in_loop, int, - loop_stack_array_size); - } - if_depth_in_loop[loop_stack_depth] = 0; - break; - - case BRW_OPCODE_BREAK: - brw_BREAK(p, if_depth_in_loop[loop_stack_depth]); - brw_set_predicate_control(p, BRW_PREDICATE_NONE); - break; - case BRW_OPCODE_CONTINUE: - /* FINISHME: We need to write the loop instruction support still. */ - if (intel->gen >= 6) - gen6_CONT(p, loop_stack[loop_stack_depth - 1]); - else - brw_CONT(p, if_depth_in_loop[loop_stack_depth]); - brw_set_predicate_control(p, BRW_PREDICATE_NONE); - break; - - case BRW_OPCODE_WHILE: { - struct brw_instruction *inst0, *inst1; - GLuint br = 1; - - if (intel->gen >= 5) - br = 2; - - assert(loop_stack_depth > 0); - loop_stack_depth--; - inst0 = inst1 = brw_WHILE(p, loop_stack[loop_stack_depth]); - if (intel->gen < 6) { - /* patch all the BREAK/CONT instructions from last BGNLOOP */ - while (inst0 > loop_stack[loop_stack_depth]) { - inst0--; - if (inst0->header.opcode == BRW_OPCODE_BREAK && - inst0->bits3.if_else.jump_count == 0) { - inst0->bits3.if_else.jump_count = br * (inst1 - inst0 + 1); - } - else if (inst0->header.opcode == BRW_OPCODE_CONTINUE && - inst0->bits3.if_else.jump_count == 0) { - inst0->bits3.if_else.jump_count = br * (inst1 - inst0); - } - } - } - } - break; - - case FS_OPCODE_RCP: - case FS_OPCODE_RSQ: - case FS_OPCODE_SQRT: - case FS_OPCODE_EXP2: - case FS_OPCODE_LOG2: - case FS_OPCODE_POW: - case FS_OPCODE_SIN: - case FS_OPCODE_COS: - generate_math(inst, dst, src); - break; - case FS_OPCODE_PIXEL_X: - generate_pixel_xy(dst, true); - break; - case FS_OPCODE_PIXEL_Y: - generate_pixel_xy(dst, false); - break; - case FS_OPCODE_CINTERP: - brw_MOV(p, dst, src[0]); - break; - case FS_OPCODE_LINTERP: - generate_linterp(inst, dst, src); - break; - case FS_OPCODE_TEX: - case FS_OPCODE_TXB: - case FS_OPCODE_TXD: - case FS_OPCODE_TXL: - generate_tex(inst, dst, src[0]); - break; - case FS_OPCODE_DISCARD: - generate_discard(inst); - break; - case FS_OPCODE_DDX: - generate_ddx(inst, dst, src[0]); - break; - case FS_OPCODE_DDY: - generate_ddy(inst, dst, src[0]); - break; - - case FS_OPCODE_SPILL: - generate_spill(inst, src[0]); - break; - - case FS_OPCODE_UNSPILL: - generate_unspill(inst, dst); - break; - - case FS_OPCODE_PULL_CONSTANT_LOAD: - generate_pull_constant_load(inst, dst); - break; - - case FS_OPCODE_FB_WRITE: - generate_fb_write(inst); - break; - default: - if (inst->opcode < (int)ARRAY_SIZE(brw_opcodes)) { - _mesa_problem(ctx, "Unsupported opcode `%s' in FS", - brw_opcodes[inst->opcode].name); - } else { - _mesa_problem(ctx, "Unsupported opcode %d in FS", inst->opcode); - } - fail("unsupported opcode in FS\n"); - } - - if (unlikely(INTEL_DEBUG & DEBUG_WM)) { - for (unsigned int i = last_native_inst; i < p->nr_insn; i++) { - if (0) { - printf("0x%08x 0x%08x 0x%08x 0x%08x ", - ((uint32_t *)&p->store[i])[3], - ((uint32_t *)&p->store[i])[2], - ((uint32_t *)&p->store[i])[1], - ((uint32_t *)&p->store[i])[0]); - } - brw_disasm(stdout, &p->store[i], intel->gen); - } - } - - last_native_inst = p->nr_insn; - } - - if (unlikely(INTEL_DEBUG & DEBUG_WM)) { - printf("\n"); - } - - ralloc_free(loop_stack); - ralloc_free(if_depth_in_loop); - - brw_set_uip_jip(p); - - /* OK, while the INTEL_DEBUG=wm above is very nice for debugging FS - * emit issues, it doesn't get the jump distances into the output, - * which is often something we want to debug. So this is here in - * case you're doing that. - */ - if (0) { - if (unlikely(INTEL_DEBUG & DEBUG_WM)) { - for (unsigned int i = 0; i < p->nr_insn; i++) { - printf("0x%08x 0x%08x 0x%08x 0x%08x ", - ((uint32_t *)&p->store[i])[3], - ((uint32_t *)&p->store[i])[2], - ((uint32_t *)&p->store[i])[1], - ((uint32_t *)&p->store[i])[0]); - brw_disasm(stdout, &p->store[i], intel->gen); - } - } - } -} - bool fs_visitor::run() { diff --git a/src/mesa/drivers/dri/i965/brw_fs_emit.cpp b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp new file mode 100644 index 00000000000..8958aeb8153 --- /dev/null +++ b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp @@ -0,0 +1,875 @@ +/* + * Copyright © 2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +/** @file brw_fs_emit.cpp + * + * This file supports emitting code from the FS LIR to the actual + * native instructions. + */ + +extern "C" { +#include "main/macros.h" +#include "brw_context.h" +#include "brw_eu.h" +} /* extern "C" */ + +#include "brw_fs.h" +#include "../glsl/ir_print_visitor.h" + +void +fs_visitor::generate_fb_write(fs_inst *inst) +{ + GLboolean eot = inst->eot; + struct brw_reg implied_header; + + /* Header is 2 regs, g0 and g1 are the contents. g0 will be implied + * move, here's g1. + */ + brw_push_insn_state(p); + brw_set_mask_control(p, BRW_MASK_DISABLE); + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + + if (inst->header_present) { + if (intel->gen >= 6) { + brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); + brw_MOV(p, + retype(brw_message_reg(inst->base_mrf), BRW_REGISTER_TYPE_UD), + retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UD)); + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + + if (inst->target > 0) { + /* Set the render target index for choosing BLEND_STATE. */ + brw_MOV(p, retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, 0, 2), + BRW_REGISTER_TYPE_UD), + brw_imm_ud(inst->target)); + } + + implied_header = brw_null_reg(); + } else { + implied_header = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW); + + brw_MOV(p, + brw_message_reg(inst->base_mrf + 1), + brw_vec8_grf(1, 0)); + } + } else { + implied_header = brw_null_reg(); + } + + brw_pop_insn_state(p); + + brw_fb_WRITE(p, + c->dispatch_width, + inst->base_mrf, + implied_header, + inst->target, + inst->mlen, + 0, + eot, + inst->header_present); +} + +/* Computes the integer pixel x,y values from the origin. + * + * This is the basis of gl_FragCoord computation, but is also used + * pre-gen6 for computing the deltas from v0 for computing + * interpolation. + */ +void +fs_visitor::generate_pixel_xy(struct brw_reg dst, bool is_x) +{ + struct brw_reg g1_uw = retype(brw_vec1_grf(1, 0), BRW_REGISTER_TYPE_UW); + struct brw_reg src; + struct brw_reg deltas; + + if (is_x) { + src = stride(suboffset(g1_uw, 4), 2, 4, 0); + deltas = brw_imm_v(0x10101010); + } else { + src = stride(suboffset(g1_uw, 5), 2, 4, 0); + deltas = brw_imm_v(0x11001100); + } + + if (c->dispatch_width == 16) { + dst = vec16(dst); + } + + /* We do this 8 or 16-wide, but since the destination is UW we + * don't do compression in the 16-wide case. + */ + brw_push_insn_state(p); + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + brw_ADD(p, dst, src, deltas); + brw_pop_insn_state(p); +} + +void +fs_visitor::generate_linterp(fs_inst *inst, + struct brw_reg dst, struct brw_reg *src) +{ + struct brw_reg delta_x = src[0]; + struct brw_reg delta_y = src[1]; + struct brw_reg interp = src[2]; + + if (brw->has_pln && + delta_y.nr == delta_x.nr + 1 && + (intel->gen >= 6 || (delta_x.nr & 1) == 0)) { + brw_PLN(p, dst, interp, delta_x); + } else { + brw_LINE(p, brw_null_reg(), interp, delta_x); + brw_MAC(p, dst, suboffset(interp, 1), delta_y); + } +} + +void +fs_visitor::generate_math(fs_inst *inst, + struct brw_reg dst, struct brw_reg *src) +{ + int op; + + switch (inst->opcode) { + case FS_OPCODE_RCP: + op = BRW_MATH_FUNCTION_INV; + break; + case FS_OPCODE_RSQ: + op = BRW_MATH_FUNCTION_RSQ; + break; + case FS_OPCODE_SQRT: + op = BRW_MATH_FUNCTION_SQRT; + break; + case FS_OPCODE_EXP2: + op = BRW_MATH_FUNCTION_EXP; + break; + case FS_OPCODE_LOG2: + op = BRW_MATH_FUNCTION_LOG; + break; + case FS_OPCODE_POW: + op = BRW_MATH_FUNCTION_POW; + break; + case FS_OPCODE_SIN: + op = BRW_MATH_FUNCTION_SIN; + break; + case FS_OPCODE_COS: + op = BRW_MATH_FUNCTION_COS; + break; + default: + assert(!"not reached: unknown math function"); + op = 0; + break; + } + + if (intel->gen >= 6) { + assert(inst->mlen == 0); + + if (inst->opcode == FS_OPCODE_POW) { + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + brw_math2(p, dst, op, src[0], src[1]); + + if (c->dispatch_width == 16) { + brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); + brw_math2(p, sechalf(dst), op, sechalf(src[0]), sechalf(src[1])); + brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); + } + } else { + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + brw_math(p, dst, + op, + inst->saturate ? BRW_MATH_SATURATE_SATURATE : + BRW_MATH_SATURATE_NONE, + 0, src[0], + BRW_MATH_DATA_VECTOR, + BRW_MATH_PRECISION_FULL); + + if (c->dispatch_width == 16) { + brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); + brw_math(p, sechalf(dst), + op, + inst->saturate ? BRW_MATH_SATURATE_SATURATE : + BRW_MATH_SATURATE_NONE, + 0, sechalf(src[0]), + BRW_MATH_DATA_VECTOR, + BRW_MATH_PRECISION_FULL); + brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); + } + } + } else /* gen <= 5 */{ + assert(inst->mlen >= 1); + + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + brw_math(p, dst, + op, + inst->saturate ? BRW_MATH_SATURATE_SATURATE : + BRW_MATH_SATURATE_NONE, + inst->base_mrf, src[0], + BRW_MATH_DATA_VECTOR, + BRW_MATH_PRECISION_FULL); + + if (c->dispatch_width == 16) { + brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); + brw_math(p, sechalf(dst), + op, + inst->saturate ? BRW_MATH_SATURATE_SATURATE : + BRW_MATH_SATURATE_NONE, + inst->base_mrf + 1, sechalf(src[0]), + BRW_MATH_DATA_VECTOR, + BRW_MATH_PRECISION_FULL); + + brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); + } + } +} + +void +fs_visitor::generate_tex(fs_inst *inst, struct brw_reg dst, struct brw_reg src) +{ + int msg_type = -1; + int rlen = 4; + uint32_t simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD8; + + if (c->dispatch_width == 16) + simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD16; + + if (intel->gen >= 5) { + switch (inst->opcode) { + case FS_OPCODE_TEX: + if (inst->shadow_compare) { + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_COMPARE; + } else { + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE; + } + break; + case FS_OPCODE_TXB: + if (inst->shadow_compare) { + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS_COMPARE; + } else { + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_BIAS; + } + break; + case FS_OPCODE_TXL: + if (inst->shadow_compare) { + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_LOD_COMPARE; + } else { + msg_type = GEN5_SAMPLER_MESSAGE_SAMPLE_LOD; + } + break; + case FS_OPCODE_TXD: + assert(!"TXD isn't supported on gen5+ yet."); + break; + } + } else { + switch (inst->opcode) { + case FS_OPCODE_TEX: + /* Note that G45 and older determines shadow compare and dispatch width + * from message length for most messages. + */ + assert(c->dispatch_width == 8); + msg_type = BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE; + if (inst->shadow_compare) { + assert(inst->mlen == 6); + } else { + assert(inst->mlen <= 4); + } + break; + case FS_OPCODE_TXB: + if (inst->shadow_compare) { + assert(inst->mlen == 6); + msg_type = BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_BIAS_COMPARE; + } else { + assert(inst->mlen == 9); + msg_type = BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_BIAS; + simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD16; + } + break; + case FS_OPCODE_TXL: + if (inst->shadow_compare) { + assert(inst->mlen == 6); + msg_type = BRW_SAMPLER_MESSAGE_SIMD8_SAMPLE_LOD_COMPARE; + } else { + assert(inst->mlen == 9); + msg_type = BRW_SAMPLER_MESSAGE_SIMD16_SAMPLE_LOD; + simd_mode = BRW_SAMPLER_SIMD_MODE_SIMD16; + } + break; + case FS_OPCODE_TXD: + assert(!"TXD isn't supported on gen4 yet."); + break; + } + } + assert(msg_type != -1); + + if (simd_mode == BRW_SAMPLER_SIMD_MODE_SIMD16) { + rlen = 8; + dst = vec16(dst); + } + + brw_SAMPLE(p, + retype(dst, BRW_REGISTER_TYPE_UW), + inst->base_mrf, + src, + SURF_INDEX_TEXTURE(inst->sampler), + inst->sampler, + WRITEMASK_XYZW, + msg_type, + rlen, + inst->mlen, + 0, + inst->header_present, + simd_mode); +} + + +/* For OPCODE_DDX and OPCODE_DDY, per channel of output we've got input + * looking like: + * + * arg0: ss0.tl ss0.tr ss0.bl ss0.br ss1.tl ss1.tr ss1.bl ss1.br + * + * and we're trying to produce: + * + * DDX DDY + * dst: (ss0.tr - ss0.tl) (ss0.tl - ss0.bl) + * (ss0.tr - ss0.tl) (ss0.tr - ss0.br) + * (ss0.br - ss0.bl) (ss0.tl - ss0.bl) + * (ss0.br - ss0.bl) (ss0.tr - ss0.br) + * (ss1.tr - ss1.tl) (ss1.tl - ss1.bl) + * (ss1.tr - ss1.tl) (ss1.tr - ss1.br) + * (ss1.br - ss1.bl) (ss1.tl - ss1.bl) + * (ss1.br - ss1.bl) (ss1.tr - ss1.br) + * + * and add another set of two more subspans if in 16-pixel dispatch mode. + * + * For DDX, it ends up being easy: width = 2, horiz=0 gets us the same result + * for each pair, and vertstride = 2 jumps us 2 elements after processing a + * pair. But for DDY, it's harder, as we want to produce the pairs swizzled + * between each other. We could probably do it like ddx and swizzle the right + * order later, but bail for now and just produce + * ((ss0.tl - ss0.bl)x4 (ss1.tl - ss1.bl)x4) + */ +void +fs_visitor::generate_ddx(fs_inst *inst, struct brw_reg dst, struct brw_reg src) +{ + struct brw_reg src0 = brw_reg(src.file, src.nr, 1, + BRW_REGISTER_TYPE_F, + BRW_VERTICAL_STRIDE_2, + BRW_WIDTH_2, + BRW_HORIZONTAL_STRIDE_0, + BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); + struct brw_reg src1 = brw_reg(src.file, src.nr, 0, + BRW_REGISTER_TYPE_F, + BRW_VERTICAL_STRIDE_2, + BRW_WIDTH_2, + BRW_HORIZONTAL_STRIDE_0, + BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); + brw_ADD(p, dst, src0, negate(src1)); +} + +void +fs_visitor::generate_ddy(fs_inst *inst, struct brw_reg dst, struct brw_reg src) +{ + struct brw_reg src0 = brw_reg(src.file, src.nr, 0, + BRW_REGISTER_TYPE_F, + BRW_VERTICAL_STRIDE_4, + BRW_WIDTH_4, + BRW_HORIZONTAL_STRIDE_0, + BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); + struct brw_reg src1 = brw_reg(src.file, src.nr, 2, + BRW_REGISTER_TYPE_F, + BRW_VERTICAL_STRIDE_4, + BRW_WIDTH_4, + BRW_HORIZONTAL_STRIDE_0, + BRW_SWIZZLE_XYZW, WRITEMASK_XYZW); + brw_ADD(p, dst, src0, negate(src1)); +} + +void +fs_visitor::generate_discard(fs_inst *inst) +{ + struct brw_reg f0 = brw_flag_reg(); + + if (intel->gen >= 6) { + struct brw_reg g1 = retype(brw_vec1_grf(1, 7), BRW_REGISTER_TYPE_UW); + struct brw_reg some_register; + + /* As of gen6, we no longer have the mask register to look at, + * so life gets a bit more complicated. + */ + + /* Load the flag register with all ones. */ + brw_push_insn_state(p); + brw_set_mask_control(p, BRW_MASK_DISABLE); + brw_MOV(p, f0, brw_imm_uw(0xffff)); + brw_pop_insn_state(p); + + /* Do a comparison that should always fail, to produce 0s in the flag + * reg where we have active channels. + */ + some_register = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW); + brw_CMP(p, retype(brw_null_reg(), BRW_REGISTER_TYPE_UD), + BRW_CONDITIONAL_NZ, some_register, some_register); + + /* Undo CMP's whacking of predication*/ + brw_set_predicate_control(p, BRW_PREDICATE_NONE); + + brw_push_insn_state(p); + brw_set_mask_control(p, BRW_MASK_DISABLE); + brw_AND(p, g1, f0, g1); + brw_pop_insn_state(p); + } else { + struct brw_reg g0 = retype(brw_vec1_grf(0, 0), BRW_REGISTER_TYPE_UW); + + brw_push_insn_state(p); + brw_set_mask_control(p, BRW_MASK_DISABLE); + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + + /* Unlike the 965, we have the mask reg, so we just need + * somewhere to invert that (containing channels to be disabled) + * so it can be ANDed with the mask of pixels still to be + * written. Use the flag reg for consistency with gen6+. + */ + brw_NOT(p, f0, brw_mask_reg(1)); /* IMASK */ + brw_AND(p, g0, f0, g0); + + brw_pop_insn_state(p); + } +} + +void +fs_visitor::generate_spill(fs_inst *inst, struct brw_reg src) +{ + assert(inst->mlen != 0); + + brw_MOV(p, + retype(brw_message_reg(inst->base_mrf + 1), BRW_REGISTER_TYPE_UD), + retype(src, BRW_REGISTER_TYPE_UD)); + brw_oword_block_write_scratch(p, brw_message_reg(inst->base_mrf), 1, + inst->offset); +} + +void +fs_visitor::generate_unspill(fs_inst *inst, struct brw_reg dst) +{ + assert(inst->mlen != 0); + + /* Clear any post destination dependencies that would be ignored by + * the block read. See the B-Spec for pre-gen5 send instruction. + * + * This could use a better solution, since texture sampling and + * math reads could potentially run into it as well -- anywhere + * that we have a SEND with a destination that is a register that + * was written but not read within the last N instructions (what's + * N? unsure). This is rare because of dead code elimination, but + * not impossible. + */ + if (intel->gen == 4 && !intel->is_g4x) + brw_MOV(p, brw_null_reg(), dst); + + brw_oword_block_read_scratch(p, dst, brw_message_reg(inst->base_mrf), 1, + inst->offset); + + if (intel->gen == 4 && !intel->is_g4x) { + /* gen4 errata: destination from a send can't be used as a + * destination until it's been read. Just read it so we don't + * have to worry. + */ + brw_MOV(p, brw_null_reg(), dst); + } +} + +void +fs_visitor::generate_pull_constant_load(fs_inst *inst, struct brw_reg dst) +{ + assert(inst->mlen != 0); + + /* Clear any post destination dependencies that would be ignored by + * the block read. See the B-Spec for pre-gen5 send instruction. + * + * This could use a better solution, since texture sampling and + * math reads could potentially run into it as well -- anywhere + * that we have a SEND with a destination that is a register that + * was written but not read within the last N instructions (what's + * N? unsure). This is rare because of dead code elimination, but + * not impossible. + */ + if (intel->gen == 4 && !intel->is_g4x) + brw_MOV(p, brw_null_reg(), dst); + + brw_oword_block_read(p, dst, brw_message_reg(inst->base_mrf), + inst->offset, SURF_INDEX_FRAG_CONST_BUFFER); + + if (intel->gen == 4 && !intel->is_g4x) { + /* gen4 errata: destination from a send can't be used as a + * destination until it's been read. Just read it so we don't + * have to worry. + */ + brw_MOV(p, brw_null_reg(), dst); + } +} + +static struct brw_reg +brw_reg_from_fs_reg(fs_reg *reg) +{ + struct brw_reg brw_reg; + + switch (reg->file) { + case GRF: + case ARF: + case MRF: + if (reg->smear == -1) { + brw_reg = brw_vec8_reg(reg->file, + reg->hw_reg, 0); + } else { + brw_reg = brw_vec1_reg(reg->file, + reg->hw_reg, reg->smear); + } + brw_reg = retype(brw_reg, reg->type); + if (reg->sechalf) + brw_reg = sechalf(brw_reg); + break; + case IMM: + switch (reg->type) { + case BRW_REGISTER_TYPE_F: + brw_reg = brw_imm_f(reg->imm.f); + break; + case BRW_REGISTER_TYPE_D: + brw_reg = brw_imm_d(reg->imm.i); + break; + case BRW_REGISTER_TYPE_UD: + brw_reg = brw_imm_ud(reg->imm.u); + break; + default: + assert(!"not reached"); + brw_reg = brw_null_reg(); + break; + } + break; + case FIXED_HW_REG: + brw_reg = reg->fixed_hw_reg; + break; + case BAD_FILE: + /* Probably unused. */ + brw_reg = brw_null_reg(); + break; + case UNIFORM: + assert(!"not reached"); + brw_reg = brw_null_reg(); + break; + default: + assert(!"not reached"); + brw_reg = brw_null_reg(); + break; + } + if (reg->abs) + brw_reg = brw_abs(brw_reg); + if (reg->negate) + brw_reg = negate(brw_reg); + + return brw_reg; +} + +void +fs_visitor::generate_code() +{ + int last_native_inst = p->nr_insn; + const char *last_annotation_string = NULL; + ir_instruction *last_annotation_ir = NULL; + + int loop_stack_array_size = 16; + int loop_stack_depth = 0; + brw_instruction **loop_stack = + rzalloc_array(this->mem_ctx, brw_instruction *, loop_stack_array_size); + int *if_depth_in_loop = + rzalloc_array(this->mem_ctx, int, loop_stack_array_size); + + + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { + printf("Native code for fragment shader %d (%d-wide dispatch):\n", + ctx->Shader.CurrentFragmentProgram->Name, c->dispatch_width); + } + + foreach_iter(exec_list_iterator, iter, this->instructions) { + fs_inst *inst = (fs_inst *)iter.get(); + struct brw_reg src[3], dst; + + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { + if (last_annotation_ir != inst->ir) { + last_annotation_ir = inst->ir; + if (last_annotation_ir) { + printf(" "); + last_annotation_ir->print(); + printf("\n"); + } + } + if (last_annotation_string != inst->annotation) { + last_annotation_string = inst->annotation; + if (last_annotation_string) + printf(" %s\n", last_annotation_string); + } + } + + for (unsigned int i = 0; i < 3; i++) { + src[i] = brw_reg_from_fs_reg(&inst->src[i]); + } + dst = brw_reg_from_fs_reg(&inst->dst); + + brw_set_conditionalmod(p, inst->conditional_mod); + brw_set_predicate_control(p, inst->predicated); + brw_set_predicate_inverse(p, inst->predicate_inverse); + brw_set_saturate(p, inst->saturate); + + if (inst->force_uncompressed || c->dispatch_width == 8) { + brw_set_compression_control(p, BRW_COMPRESSION_NONE); + } else if (inst->force_sechalf) { + brw_set_compression_control(p, BRW_COMPRESSION_2NDHALF); + } else { + brw_set_compression_control(p, BRW_COMPRESSION_COMPRESSED); + } + + switch (inst->opcode) { + case BRW_OPCODE_MOV: + brw_MOV(p, dst, src[0]); + break; + case BRW_OPCODE_ADD: + brw_ADD(p, dst, src[0], src[1]); + break; + case BRW_OPCODE_MUL: + brw_MUL(p, dst, src[0], src[1]); + break; + + case BRW_OPCODE_FRC: + brw_FRC(p, dst, src[0]); + break; + case BRW_OPCODE_RNDD: + brw_RNDD(p, dst, src[0]); + break; + case BRW_OPCODE_RNDE: + brw_RNDE(p, dst, src[0]); + break; + case BRW_OPCODE_RNDZ: + brw_RNDZ(p, dst, src[0]); + break; + + case BRW_OPCODE_AND: + brw_AND(p, dst, src[0], src[1]); + break; + case BRW_OPCODE_OR: + brw_OR(p, dst, src[0], src[1]); + break; + case BRW_OPCODE_XOR: + brw_XOR(p, dst, src[0], src[1]); + break; + case BRW_OPCODE_NOT: + brw_NOT(p, dst, src[0]); + break; + case BRW_OPCODE_ASR: + brw_ASR(p, dst, src[0], src[1]); + break; + case BRW_OPCODE_SHR: + brw_SHR(p, dst, src[0], src[1]); + break; + case BRW_OPCODE_SHL: + brw_SHL(p, dst, src[0], src[1]); + break; + + case BRW_OPCODE_CMP: + brw_CMP(p, dst, inst->conditional_mod, src[0], src[1]); + break; + case BRW_OPCODE_SEL: + brw_SEL(p, dst, src[0], src[1]); + break; + + case BRW_OPCODE_IF: + if (inst->src[0].file != BAD_FILE) { + /* The instruction has an embedded compare (only allowed on gen6) */ + assert(intel->gen == 6); + gen6_IF(p, inst->conditional_mod, src[0], src[1]); + } else { + brw_IF(p, c->dispatch_width == 16 ? BRW_EXECUTE_16 : BRW_EXECUTE_8); + } + if_depth_in_loop[loop_stack_depth]++; + break; + + case BRW_OPCODE_ELSE: + brw_ELSE(p); + break; + case BRW_OPCODE_ENDIF: + brw_ENDIF(p); + if_depth_in_loop[loop_stack_depth]--; + break; + + case BRW_OPCODE_DO: + loop_stack[loop_stack_depth++] = brw_DO(p, BRW_EXECUTE_8); + if (loop_stack_array_size <= loop_stack_depth) { + loop_stack_array_size *= 2; + loop_stack = reralloc(this->mem_ctx, loop_stack, brw_instruction *, + loop_stack_array_size); + if_depth_in_loop = reralloc(this->mem_ctx, if_depth_in_loop, int, + loop_stack_array_size); + } + if_depth_in_loop[loop_stack_depth] = 0; + break; + + case BRW_OPCODE_BREAK: + brw_BREAK(p, if_depth_in_loop[loop_stack_depth]); + brw_set_predicate_control(p, BRW_PREDICATE_NONE); + break; + case BRW_OPCODE_CONTINUE: + /* FINISHME: We need to write the loop instruction support still. */ + if (intel->gen >= 6) + gen6_CONT(p, loop_stack[loop_stack_depth - 1]); + else + brw_CONT(p, if_depth_in_loop[loop_stack_depth]); + brw_set_predicate_control(p, BRW_PREDICATE_NONE); + break; + + case BRW_OPCODE_WHILE: { + struct brw_instruction *inst0, *inst1; + GLuint br = 1; + + if (intel->gen >= 5) + br = 2; + + assert(loop_stack_depth > 0); + loop_stack_depth--; + inst0 = inst1 = brw_WHILE(p, loop_stack[loop_stack_depth]); + if (intel->gen < 6) { + /* patch all the BREAK/CONT instructions from last BGNLOOP */ + while (inst0 > loop_stack[loop_stack_depth]) { + inst0--; + if (inst0->header.opcode == BRW_OPCODE_BREAK && + inst0->bits3.if_else.jump_count == 0) { + inst0->bits3.if_else.jump_count = br * (inst1 - inst0 + 1); + } + else if (inst0->header.opcode == BRW_OPCODE_CONTINUE && + inst0->bits3.if_else.jump_count == 0) { + inst0->bits3.if_else.jump_count = br * (inst1 - inst0); + } + } + } + } + break; + + case FS_OPCODE_RCP: + case FS_OPCODE_RSQ: + case FS_OPCODE_SQRT: + case FS_OPCODE_EXP2: + case FS_OPCODE_LOG2: + case FS_OPCODE_POW: + case FS_OPCODE_SIN: + case FS_OPCODE_COS: + generate_math(inst, dst, src); + break; + case FS_OPCODE_PIXEL_X: + generate_pixel_xy(dst, true); + break; + case FS_OPCODE_PIXEL_Y: + generate_pixel_xy(dst, false); + break; + case FS_OPCODE_CINTERP: + brw_MOV(p, dst, src[0]); + break; + case FS_OPCODE_LINTERP: + generate_linterp(inst, dst, src); + break; + case FS_OPCODE_TEX: + case FS_OPCODE_TXB: + case FS_OPCODE_TXD: + case FS_OPCODE_TXL: + generate_tex(inst, dst, src[0]); + break; + case FS_OPCODE_DISCARD: + generate_discard(inst); + break; + case FS_OPCODE_DDX: + generate_ddx(inst, dst, src[0]); + break; + case FS_OPCODE_DDY: + generate_ddy(inst, dst, src[0]); + break; + + case FS_OPCODE_SPILL: + generate_spill(inst, src[0]); + break; + + case FS_OPCODE_UNSPILL: + generate_unspill(inst, dst); + break; + + case FS_OPCODE_PULL_CONSTANT_LOAD: + generate_pull_constant_load(inst, dst); + break; + + case FS_OPCODE_FB_WRITE: + generate_fb_write(inst); + break; + default: + if (inst->opcode < (int)ARRAY_SIZE(brw_opcodes)) { + _mesa_problem(ctx, "Unsupported opcode `%s' in FS", + brw_opcodes[inst->opcode].name); + } else { + _mesa_problem(ctx, "Unsupported opcode %d in FS", inst->opcode); + } + fail("unsupported opcode in FS\n"); + } + + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { + for (unsigned int i = last_native_inst; i < p->nr_insn; i++) { + if (0) { + printf("0x%08x 0x%08x 0x%08x 0x%08x ", + ((uint32_t *)&p->store[i])[3], + ((uint32_t *)&p->store[i])[2], + ((uint32_t *)&p->store[i])[1], + ((uint32_t *)&p->store[i])[0]); + } + brw_disasm(stdout, &p->store[i], intel->gen); + } + } + + last_native_inst = p->nr_insn; + } + + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { + printf("\n"); + } + + ralloc_free(loop_stack); + ralloc_free(if_depth_in_loop); + + brw_set_uip_jip(p); + + /* OK, while the INTEL_DEBUG=wm above is very nice for debugging FS + * emit issues, it doesn't get the jump distances into the output, + * which is often something we want to debug. So this is here in + * case you're doing that. + */ + if (0) { + if (unlikely(INTEL_DEBUG & DEBUG_WM)) { + for (unsigned int i = 0; i < p->nr_insn; i++) { + printf("0x%08x 0x%08x 0x%08x 0x%08x ", + ((uint32_t *)&p->store[i])[3], + ((uint32_t *)&p->store[i])[2], + ((uint32_t *)&p->store[i])[1], + ((uint32_t *)&p->store[i])[0]); + brw_disasm(stdout, &p->store[i], intel->gen); + } + } + } +} -- cgit v1.2.3 From d1f70a8a6c6ec7007bad22d3d6013415be2d243a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 24 May 2011 16:45:17 -0700 Subject: i965/fs: Split the GLSL IR -> FS LIR visitor to brw_fs_visitor.cpp. We now have: brw_fs.cpp handles calling out to everything and optimization. brw_fs_visitor.cpp handles translating to our LIR. brw_fs_emit.cpp handles emitting from our LIR to native code. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/Makefile | 1 + src/mesa/drivers/dri/i965/brw_fs.cpp | 1688 +------------------------ src/mesa/drivers/dri/i965/brw_fs.h | 2 + src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 1724 ++++++++++++++++++++++++++ 4 files changed, 1736 insertions(+), 1679 deletions(-) create mode 100644 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile index 9f27b8f98ec..d80628b1e77 100644 --- a/src/mesa/drivers/dri/i965/Makefile +++ b/src/mesa/drivers/dri/i965/Makefile @@ -117,6 +117,7 @@ CXX_SOURCES = \ brw_cubemap_normalize.cpp \ brw_fs.cpp \ brw_fs_emit.cpp \ + brw_fs_visitor.cpp \ brw_fs_channel_expressions.cpp \ brw_fs_reg_allocate.cpp \ brw_fs_schedule_instructions.cpp \ diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 9bc7b444657..bec43b43947 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -19,10 +19,13 @@ * 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 brw_fs.cpp * - * Authors: - * Eric Anholt - * + * This file drives the GLSL IR -> LIR translation, contains the + * optimizations on the LIR, and drives the generation of native code + * from the LIR. */ extern "C" { @@ -48,8 +51,8 @@ extern "C" { #define MAX_INSTRUCTION (1 << 30) -static int -type_size(const struct glsl_type *type) +int +fs_visitor::type_size(const struct glsl_type *type) { unsigned int size, i; @@ -204,7 +207,7 @@ fs_reg::fs_reg(class fs_visitor *v, const struct glsl_type *type) init(); this->file = GRF; - this->reg = v->virtual_grf_alloc(type_size(type)); + this->reg = v->virtual_grf_alloc(v->type_size(type)); this->reg_offset = 0; this->type = brw_type_for_base_type(type); } @@ -582,1679 +585,6 @@ fs_visitor::emit_math(fs_opcodes opcode, fs_reg dst, fs_reg src0, fs_reg src1) return inst; } -void -fs_visitor::visit(ir_variable *ir) -{ - fs_reg *reg = NULL; - - if (variable_storage(ir)) - return; - - if (strcmp(ir->name, "gl_FragColor") == 0) { - this->frag_color = ir; - } else if (strcmp(ir->name, "gl_FragData") == 0) { - this->frag_data = ir; - } else if (strcmp(ir->name, "gl_FragDepth") == 0) { - this->frag_depth = ir; - } - - if (ir->mode == ir_var_in) { - if (!strcmp(ir->name, "gl_FragCoord")) { - reg = emit_fragcoord_interpolation(ir); - } else if (!strcmp(ir->name, "gl_FrontFacing")) { - reg = emit_frontfacing_interpolation(ir); - } else { - reg = emit_general_interpolation(ir); - } - assert(reg); - hash_table_insert(this->variable_ht, reg, ir); - return; - } - - if (ir->mode == ir_var_uniform) { - int param_index = c->prog_data.nr_params; - - if (c->dispatch_width == 16) { - if (!variable_storage(ir)) { - fail("Failed to find uniform '%s' in 16-wide\n", ir->name); - } - return; - } - - if (!strncmp(ir->name, "gl_", 3)) { - setup_builtin_uniform_values(ir); - } else { - setup_uniform_values(ir->location, ir->type); - } - - reg = new(this->mem_ctx) fs_reg(UNIFORM, param_index); - reg->type = brw_type_for_base_type(ir->type); - } - - if (!reg) - reg = new(this->mem_ctx) fs_reg(this, ir->type); - - hash_table_insert(this->variable_ht, reg, ir); -} - -void -fs_visitor::visit(ir_dereference_variable *ir) -{ - fs_reg *reg = variable_storage(ir->var); - this->result = *reg; -} - -void -fs_visitor::visit(ir_dereference_record *ir) -{ - const glsl_type *struct_type = ir->record->type; - - ir->record->accept(this); - - unsigned int offset = 0; - for (unsigned int i = 0; i < struct_type->length; i++) { - if (strcmp(struct_type->fields.structure[i].name, ir->field) == 0) - break; - offset += type_size(struct_type->fields.structure[i].type); - } - this->result.reg_offset += offset; - this->result.type = brw_type_for_base_type(ir->type); -} - -void -fs_visitor::visit(ir_dereference_array *ir) -{ - ir_constant *index; - int element_size; - - ir->array->accept(this); - index = ir->array_index->as_constant(); - - element_size = type_size(ir->type); - this->result.type = brw_type_for_base_type(ir->type); - - if (index) { - assert(this->result.file == UNIFORM || - (this->result.file == GRF && - this->result.reg != 0)); - this->result.reg_offset += index->value.i[0] * element_size; - } else { - assert(!"FINISHME: non-constant array element"); - } -} - -/* Instruction selection: Produce a MOV.sat instead of - * MIN(MAX(val, 0), 1) when possible. - */ -bool -fs_visitor::try_emit_saturate(ir_expression *ir) -{ - ir_rvalue *sat_val = ir->as_rvalue_to_saturate(); - - if (!sat_val) - return false; - - this->result = reg_undef; - sat_val->accept(this); - fs_reg src = this->result; - - this->result = fs_reg(this, ir->type); - fs_inst *inst = emit(BRW_OPCODE_MOV, this->result, src); - inst->saturate = true; - - return true; -} - -void -fs_visitor::visit(ir_expression *ir) -{ - unsigned int operand; - fs_reg op[2], temp; - fs_inst *inst; - - assert(ir->get_num_operands() <= 2); - - if (try_emit_saturate(ir)) - return; - - /* This is where our caller would like us to put the result, if possible. */ - fs_reg saved_result_storage = this->result; - - for (operand = 0; operand < ir->get_num_operands(); operand++) { - this->result = reg_undef; - ir->operands[operand]->accept(this); - if (this->result.file == BAD_FILE) { - ir_print_visitor v; - fail("Failed to get tree for expression operand:\n"); - ir->operands[operand]->accept(&v); - } - op[operand] = this->result; - - /* Matrix expression operands should have been broken down to vector - * operations already. - */ - assert(!ir->operands[operand]->type->is_matrix()); - /* And then those vector operands should have been broken down to scalar. - */ - assert(!ir->operands[operand]->type->is_vector()); - } - - /* Inherit storage from our parent if possible, and otherwise we - * alloc a temporary. - */ - if (saved_result_storage.file == BAD_FILE) { - this->result = fs_reg(this, ir->type); - } else { - this->result = saved_result_storage; - } - - switch (ir->operation) { - case ir_unop_logic_not: - /* Note that BRW_OPCODE_NOT is not appropriate here, since it is - * ones complement of the whole register, not just bit 0. - */ - emit(BRW_OPCODE_XOR, this->result, op[0], fs_reg(1)); - break; - case ir_unop_neg: - op[0].negate = !op[0].negate; - this->result = op[0]; - break; - case ir_unop_abs: - op[0].abs = true; - op[0].negate = false; - this->result = op[0]; - break; - case ir_unop_sign: - temp = fs_reg(this, ir->type); - - /* Unalias the destination. (imagine a = sign(a)) */ - this->result = fs_reg(this, ir->type); - - emit(BRW_OPCODE_MOV, this->result, fs_reg(0.0f)); - - inst = emit(BRW_OPCODE_CMP, reg_null_f, op[0], fs_reg(0.0f)); - inst->conditional_mod = BRW_CONDITIONAL_G; - inst = emit(BRW_OPCODE_MOV, this->result, fs_reg(1.0f)); - inst->predicated = true; - - inst = emit(BRW_OPCODE_CMP, reg_null_f, op[0], fs_reg(0.0f)); - inst->conditional_mod = BRW_CONDITIONAL_L; - inst = emit(BRW_OPCODE_MOV, this->result, fs_reg(-1.0f)); - inst->predicated = true; - - break; - case ir_unop_rcp: - emit_math(FS_OPCODE_RCP, this->result, op[0]); - break; - - case ir_unop_exp2: - emit_math(FS_OPCODE_EXP2, this->result, op[0]); - break; - case ir_unop_log2: - emit_math(FS_OPCODE_LOG2, this->result, op[0]); - break; - case ir_unop_exp: - case ir_unop_log: - assert(!"not reached: should be handled by ir_explog_to_explog2"); - break; - case ir_unop_sin: - case ir_unop_sin_reduced: - emit_math(FS_OPCODE_SIN, this->result, op[0]); - break; - case ir_unop_cos: - case ir_unop_cos_reduced: - emit_math(FS_OPCODE_COS, this->result, op[0]); - break; - - case ir_unop_dFdx: - emit(FS_OPCODE_DDX, this->result, op[0]); - break; - case ir_unop_dFdy: - emit(FS_OPCODE_DDY, this->result, op[0]); - break; - - case ir_binop_add: - emit(BRW_OPCODE_ADD, this->result, op[0], op[1]); - break; - case ir_binop_sub: - assert(!"not reached: should be handled by ir_sub_to_add_neg"); - break; - - case ir_binop_mul: - emit(BRW_OPCODE_MUL, this->result, op[0], op[1]); - break; - case ir_binop_div: - assert(!"not reached: should be handled by ir_div_to_mul_rcp"); - break; - case ir_binop_mod: - assert(!"ir_binop_mod should have been converted to b * fract(a/b)"); - break; - - case ir_binop_less: - case ir_binop_greater: - case ir_binop_lequal: - case ir_binop_gequal: - case ir_binop_equal: - case ir_binop_all_equal: - case ir_binop_nequal: - case ir_binop_any_nequal: - temp = this->result; - /* original gen4 does implicit conversion before comparison. */ - if (intel->gen < 5) - temp.type = op[0].type; - - inst = emit(BRW_OPCODE_CMP, temp, op[0], op[1]); - inst->conditional_mod = brw_conditional_for_comparison(ir->operation); - emit(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)); - break; - - case ir_binop_logic_xor: - emit(BRW_OPCODE_XOR, this->result, op[0], op[1]); - break; - - case ir_binop_logic_or: - emit(BRW_OPCODE_OR, this->result, op[0], op[1]); - break; - - case ir_binop_logic_and: - emit(BRW_OPCODE_AND, this->result, op[0], op[1]); - break; - - case ir_binop_dot: - case ir_unop_any: - assert(!"not reached: should be handled by brw_fs_channel_expressions"); - break; - - case ir_unop_noise: - assert(!"not reached: should be handled by lower_noise"); - break; - - case ir_quadop_vector: - assert(!"not reached: should be handled by lower_quadop_vector"); - break; - - case ir_unop_sqrt: - emit_math(FS_OPCODE_SQRT, this->result, op[0]); - break; - - case ir_unop_rsq: - emit_math(FS_OPCODE_RSQ, this->result, op[0]); - break; - - case ir_unop_i2f: - case ir_unop_b2f: - case ir_unop_b2i: - case ir_unop_f2i: - emit(BRW_OPCODE_MOV, this->result, op[0]); - break; - case ir_unop_f2b: - case ir_unop_i2b: - temp = this->result; - /* original gen4 does implicit conversion before comparison. */ - if (intel->gen < 5) - temp.type = op[0].type; - - inst = emit(BRW_OPCODE_CMP, temp, op[0], fs_reg(0.0f)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - inst = emit(BRW_OPCODE_AND, this->result, this->result, fs_reg(1)); - break; - - case ir_unop_trunc: - emit(BRW_OPCODE_RNDZ, this->result, op[0]); - break; - case ir_unop_ceil: - op[0].negate = !op[0].negate; - inst = emit(BRW_OPCODE_RNDD, this->result, op[0]); - this->result.negate = true; - break; - case ir_unop_floor: - inst = emit(BRW_OPCODE_RNDD, this->result, op[0]); - break; - case ir_unop_fract: - inst = emit(BRW_OPCODE_FRC, this->result, op[0]); - break; - case ir_unop_round_even: - emit(BRW_OPCODE_RNDE, this->result, op[0]); - break; - - case ir_binop_min: - /* Unalias the destination */ - this->result = fs_reg(this, ir->type); - - inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_L; - - inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); - inst->predicated = true; - break; - case ir_binop_max: - /* Unalias the destination */ - this->result = fs_reg(this, ir->type); - - inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_G; - - inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); - inst->predicated = true; - break; - - case ir_binop_pow: - emit_math(FS_OPCODE_POW, this->result, op[0], op[1]); - break; - - case ir_unop_bit_not: - inst = emit(BRW_OPCODE_NOT, this->result, op[0]); - break; - case ir_binop_bit_and: - inst = emit(BRW_OPCODE_AND, this->result, op[0], op[1]); - break; - case ir_binop_bit_xor: - inst = emit(BRW_OPCODE_XOR, this->result, op[0], op[1]); - break; - case ir_binop_bit_or: - inst = emit(BRW_OPCODE_OR, this->result, op[0], op[1]); - break; - - case ir_unop_u2f: - case ir_binop_lshift: - case ir_binop_rshift: - assert(!"GLSL 1.30 features unsupported"); - break; - } -} - -void -fs_visitor::emit_assignment_writes(fs_reg &l, fs_reg &r, - const glsl_type *type, bool predicated) -{ - switch (type->base_type) { - case GLSL_TYPE_FLOAT: - case GLSL_TYPE_UINT: - case GLSL_TYPE_INT: - case GLSL_TYPE_BOOL: - for (unsigned int i = 0; i < type->components(); i++) { - l.type = brw_type_for_base_type(type); - r.type = brw_type_for_base_type(type); - - if (predicated || !l.equals(&r)) { - fs_inst *inst = emit(BRW_OPCODE_MOV, l, r); - inst->predicated = predicated; - } - - l.reg_offset++; - r.reg_offset++; - } - break; - case GLSL_TYPE_ARRAY: - for (unsigned int i = 0; i < type->length; i++) { - emit_assignment_writes(l, r, type->fields.array, predicated); - } - break; - - case GLSL_TYPE_STRUCT: - for (unsigned int i = 0; i < type->length; i++) { - emit_assignment_writes(l, r, type->fields.structure[i].type, - predicated); - } - break; - - case GLSL_TYPE_SAMPLER: - break; - - default: - assert(!"not reached"); - break; - } -} - -void -fs_visitor::visit(ir_assignment *ir) -{ - struct fs_reg l, r; - fs_inst *inst; - - /* FINISHME: arrays on the lhs */ - this->result = reg_undef; - ir->lhs->accept(this); - l = this->result; - - /* If we're doing a direct assignment, an RHS expression could - * drop its result right into our destination. Otherwise, tell it - * not to. - */ - if (ir->condition || - !(ir->lhs->type->is_scalar() || - (ir->lhs->type->is_vector() && - ir->write_mask == (1 << ir->lhs->type->vector_elements) - 1))) { - this->result = reg_undef; - } - - ir->rhs->accept(this); - r = this->result; - - assert(l.file != BAD_FILE); - assert(r.file != BAD_FILE); - - if (ir->condition) { - emit_bool_to_cond_code(ir->condition); - } - - if (ir->lhs->type->is_scalar() || - ir->lhs->type->is_vector()) { - for (int i = 0; i < ir->lhs->type->vector_elements; i++) { - if (ir->write_mask & (1 << i)) { - if (ir->condition) { - inst = emit(BRW_OPCODE_MOV, l, r); - inst->predicated = true; - } else if (!l.equals(&r)) { - inst = emit(BRW_OPCODE_MOV, l, r); - } - - r.reg_offset++; - } - l.reg_offset++; - } - } else { - emit_assignment_writes(l, r, ir->lhs->type, ir->condition != NULL); - } -} - -fs_inst * -fs_visitor::emit_texture_gen4(ir_texture *ir, fs_reg dst, fs_reg coordinate, - int sampler) -{ - int mlen; - int base_mrf = 1; - bool simd16 = false; - fs_reg orig_dst; - - /* g0 header. */ - mlen = 1; - - if (ir->shadow_comparitor) { - for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { - fs_inst *inst = emit(BRW_OPCODE_MOV, - fs_reg(MRF, base_mrf + mlen + i), coordinate); - if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) - inst->saturate = true; - - coordinate.reg_offset++; - } - /* gen4's SIMD8 sampler always has the slots for u,v,r present. */ - mlen += 3; - - if (ir->op == ir_tex) { - /* There's no plain shadow compare message, so we use shadow - * compare with a bias of 0.0. - */ - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), fs_reg(0.0f)); - mlen++; - } else if (ir->op == ir_txb) { - this->result = reg_undef; - ir->lod_info.bias->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen++; - } else { - assert(ir->op == ir_txl); - this->result = reg_undef; - ir->lod_info.lod->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen++; - } - - this->result = reg_undef; - ir->shadow_comparitor->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen++; - } else if (ir->op == ir_tex) { - for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { - fs_inst *inst = emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen + i), - coordinate); - if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) - inst->saturate = true; - coordinate.reg_offset++; - } - /* gen4's SIMD8 sampler always has the slots for u,v,r present. */ - mlen += 3; - } else if (ir->op == ir_txd) { - assert(!"TXD isn't supported on gen4 yet."); - } else { - /* Oh joy. gen4 doesn't have SIMD8 non-shadow-compare bias/lod - * instructions. We'll need to do SIMD16 here. - */ - assert(ir->op == ir_txb || ir->op == ir_txl); - - for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { - fs_inst *inst = emit(BRW_OPCODE_MOV, fs_reg(MRF, - base_mrf + mlen + i * 2), - coordinate); - if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) - inst->saturate = true; - coordinate.reg_offset++; - } - - /* lod/bias appears after u/v/r. */ - mlen += 6; - - if (ir->op == ir_txb) { - this->result = reg_undef; - ir->lod_info.bias->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen++; - } else { - this->result = reg_undef; - ir->lod_info.lod->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen++; - } - - /* The unused upper half. */ - mlen++; - - /* Now, since we're doing simd16, the return is 2 interleaved - * vec4s where the odd-indexed ones are junk. We'll need to move - * this weirdness around to the expected layout. - */ - simd16 = true; - orig_dst = dst; - dst = fs_reg(this, glsl_type::get_array_instance(glsl_type::vec4_type, - 2)); - dst.type = BRW_REGISTER_TYPE_F; - } - - fs_inst *inst = NULL; - switch (ir->op) { - case ir_tex: - inst = emit(FS_OPCODE_TEX, dst); - break; - case ir_txb: - inst = emit(FS_OPCODE_TXB, dst); - break; - case ir_txl: - inst = emit(FS_OPCODE_TXL, dst); - break; - case ir_txd: - inst = emit(FS_OPCODE_TXD, dst); - break; - case ir_txf: - assert(!"GLSL 1.30 features unsupported"); - break; - } - inst->base_mrf = base_mrf; - inst->mlen = mlen; - inst->header_present = true; - - if (simd16) { - for (int i = 0; i < 4; i++) { - emit(BRW_OPCODE_MOV, orig_dst, dst); - orig_dst.reg_offset++; - dst.reg_offset += 2; - } - } - - return inst; -} - -/* gen5's sampler has slots for u, v, r, array index, then optional - * parameters like shadow comparitor or LOD bias. If optional - * parameters aren't present, those base slots are optional and don't - * need to be included in the message. - * - * We don't fill in the unnecessary slots regardless, which may look - * surprising in the disassembly. - */ -fs_inst * -fs_visitor::emit_texture_gen5(ir_texture *ir, fs_reg dst, fs_reg coordinate, - int sampler) -{ - int mlen = 0; - int base_mrf = 2; - int reg_width = c->dispatch_width / 8; - bool header_present = false; - - if (ir->offset) { - /* The offsets set up by the ir_texture visitor are in the - * m1 header, so we can't go headerless. - */ - header_present = true; - mlen++; - base_mrf--; - } - - for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { - fs_inst *inst = emit(BRW_OPCODE_MOV, - fs_reg(MRF, base_mrf + mlen + i * reg_width), - coordinate); - if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) - inst->saturate = true; - coordinate.reg_offset++; - } - mlen += ir->coordinate->type->vector_elements * reg_width; - - if (ir->shadow_comparitor) { - mlen = MAX2(mlen, header_present + 4 * reg_width); - - this->result = reg_undef; - ir->shadow_comparitor->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen += reg_width; - } - - fs_inst *inst = NULL; - switch (ir->op) { - case ir_tex: - inst = emit(FS_OPCODE_TEX, dst); - break; - case ir_txb: - this->result = reg_undef; - ir->lod_info.bias->accept(this); - mlen = MAX2(mlen, header_present + 4 * reg_width); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen += reg_width; - - inst = emit(FS_OPCODE_TXB, dst); - - break; - case ir_txl: - this->result = reg_undef; - ir->lod_info.lod->accept(this); - mlen = MAX2(mlen, header_present + 4 * reg_width); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen += reg_width; - - inst = emit(FS_OPCODE_TXL, dst); - break; - case ir_txd: - case ir_txf: - assert(!"GLSL 1.30 features unsupported"); - break; - } - inst->base_mrf = base_mrf; - inst->mlen = mlen; - inst->header_present = header_present; - - if (mlen > 11) { - fail("Message length >11 disallowed by hardware\n"); - } - - return inst; -} - -fs_inst * -fs_visitor::emit_texture_gen7(ir_texture *ir, fs_reg dst, fs_reg coordinate, - int sampler) -{ - int mlen = 0; - int base_mrf = 2; - int reg_width = c->dispatch_width / 8; - bool header_present = false; - - if (ir->offset) { - /* The offsets set up by the ir_texture visitor are in the - * m1 header, so we can't go headerless. - */ - header_present = true; - mlen++; - base_mrf--; - } - - if (ir->shadow_comparitor) { - ir->shadow_comparitor->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen += reg_width; - } - - /* Set up the LOD info */ - switch (ir->op) { - case ir_tex: - break; - case ir_txb: - ir->lod_info.bias->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen += reg_width; - break; - case ir_txl: - ir->lod_info.lod->accept(this); - emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); - mlen += reg_width; - break; - case ir_txd: - case ir_txf: - assert(!"GLSL 1.30 features unsupported"); - break; - } - - /* Set up the coordinate */ - for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { - fs_inst *inst = emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), - coordinate); - if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) - inst->saturate = true; - coordinate.reg_offset++; - mlen += reg_width; - } - - /* Generate the SEND */ - fs_inst *inst = NULL; - switch (ir->op) { - case ir_tex: inst = emit(FS_OPCODE_TEX, dst); break; - case ir_txb: inst = emit(FS_OPCODE_TXB, dst); break; - case ir_txl: inst = emit(FS_OPCODE_TXL, dst); break; - case ir_txd: inst = emit(FS_OPCODE_TXD, dst); break; - case ir_txf: assert(!"TXF unsupported."); - } - inst->base_mrf = base_mrf; - inst->mlen = mlen; - inst->header_present = header_present; - - if (mlen > 11) { - fail("Message length >11 disallowed by hardware\n"); - } - - return inst; -} - -void -fs_visitor::visit(ir_texture *ir) -{ - int sampler; - fs_inst *inst = NULL; - - this->result = reg_undef; - ir->coordinate->accept(this); - fs_reg coordinate = this->result; - - if (ir->offset != NULL) { - ir_constant *offset = ir->offset->as_constant(); - assert(offset != NULL); - - signed char offsets[3]; - for (unsigned i = 0; i < ir->offset->type->vector_elements; i++) - offsets[i] = (signed char) offset->value.i[i]; - - /* Combine all three offsets into a single unsigned dword: - * - * bits 11:8 - U Offset (X component) - * bits 7:4 - V Offset (Y component) - * bits 3:0 - R Offset (Z component) - */ - unsigned offset_bits = 0; - for (unsigned i = 0; i < ir->offset->type->vector_elements; i++) { - const unsigned shift = 4 * (2 - i); - offset_bits |= (offsets[i] << shift) & (0xF << shift); - } - - /* Explicitly set up the message header by copying g0 to msg reg m1. */ - emit(BRW_OPCODE_MOV, fs_reg(MRF, 1, BRW_REGISTER_TYPE_UD), - fs_reg(GRF, 0, BRW_REGISTER_TYPE_UD)); - - /* Then set the offset bits in DWord 2 of the message header. */ - emit(BRW_OPCODE_MOV, - fs_reg(retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, 1, 2), - BRW_REGISTER_TYPE_UD)), - fs_reg(brw_imm_uw(offset_bits))); - } - - /* Should be lowered by do_lower_texture_projection */ - assert(!ir->projector); - - sampler = _mesa_get_sampler_uniform_value(ir->sampler, - ctx->Shader.CurrentFragmentProgram, - &brw->fragment_program->Base); - sampler = c->fp->program.Base.SamplerUnits[sampler]; - - /* The 965 requires the EU to do the normalization of GL rectangle - * texture coordinates. We use the program parameter state - * tracking to get the scaling factor. - */ - if (ir->sampler->type->sampler_dimensionality == GLSL_SAMPLER_DIM_RECT) { - struct gl_program_parameter_list *params = c->fp->program.Base.Parameters; - int tokens[STATE_LENGTH] = { - STATE_INTERNAL, - STATE_TEXRECT_SCALE, - sampler, - 0, - 0 - }; - - if (c->dispatch_width == 16) { - fail("rectangle scale uniform setup not supported on 16-wide\n"); - this->result = fs_reg(this, ir->type); - return; - } - - c->prog_data.param_convert[c->prog_data.nr_params] = - PARAM_NO_CONVERT; - c->prog_data.param_convert[c->prog_data.nr_params + 1] = - PARAM_NO_CONVERT; - - fs_reg scale_x = fs_reg(UNIFORM, c->prog_data.nr_params); - fs_reg scale_y = fs_reg(UNIFORM, c->prog_data.nr_params + 1); - GLuint index = _mesa_add_state_reference(params, - (gl_state_index *)tokens); - - this->param_index[c->prog_data.nr_params] = index; - this->param_offset[c->prog_data.nr_params] = 0; - c->prog_data.nr_params++; - this->param_index[c->prog_data.nr_params] = index; - this->param_offset[c->prog_data.nr_params] = 1; - c->prog_data.nr_params++; - - fs_reg dst = fs_reg(this, ir->coordinate->type); - fs_reg src = coordinate; - coordinate = dst; - - emit(BRW_OPCODE_MUL, dst, src, scale_x); - dst.reg_offset++; - src.reg_offset++; - emit(BRW_OPCODE_MUL, dst, src, scale_y); - } - - /* Writemasking doesn't eliminate channels on SIMD8 texture - * samples, so don't worry about them. - */ - fs_reg dst = fs_reg(this, glsl_type::vec4_type); - - if (intel->gen >= 7) { - inst = emit_texture_gen7(ir, dst, coordinate, sampler); - } else if (intel->gen >= 5) { - inst = emit_texture_gen5(ir, dst, coordinate, sampler); - } else { - inst = emit_texture_gen4(ir, dst, coordinate, sampler); - } - - /* If there's an offset, we already set up m1. To avoid the implied move, - * use the null register. Otherwise, we want an implied move from g0. - */ - if (ir->offset != NULL || !inst->header_present) - inst->src[0] = reg_undef; - else - inst->src[0] = fs_reg(retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW)); - - inst->sampler = sampler; - - this->result = dst; - - if (ir->shadow_comparitor) - inst->shadow_compare = true; - - if (ir->type == glsl_type::float_type) { - /* Ignore DEPTH_TEXTURE_MODE swizzling. */ - assert(ir->sampler->type->sampler_shadow); - } else if (c->key.tex_swizzles[inst->sampler] != SWIZZLE_NOOP) { - fs_reg swizzle_dst = fs_reg(this, glsl_type::vec4_type); - - for (int i = 0; i < 4; i++) { - int swiz = GET_SWZ(c->key.tex_swizzles[inst->sampler], i); - fs_reg l = swizzle_dst; - l.reg_offset += i; - - if (swiz == SWIZZLE_ZERO) { - emit(BRW_OPCODE_MOV, l, fs_reg(0.0f)); - } else if (swiz == SWIZZLE_ONE) { - emit(BRW_OPCODE_MOV, l, fs_reg(1.0f)); - } else { - fs_reg r = dst; - r.reg_offset += GET_SWZ(c->key.tex_swizzles[inst->sampler], i); - emit(BRW_OPCODE_MOV, l, r); - } - } - this->result = swizzle_dst; - } -} - -void -fs_visitor::visit(ir_swizzle *ir) -{ - this->result = reg_undef; - ir->val->accept(this); - fs_reg val = this->result; - - if (ir->type->vector_elements == 1) { - this->result.reg_offset += ir->mask.x; - return; - } - - fs_reg result = fs_reg(this, ir->type); - this->result = result; - - for (unsigned int i = 0; i < ir->type->vector_elements; i++) { - fs_reg channel = val; - int swiz = 0; - - switch (i) { - case 0: - swiz = ir->mask.x; - break; - case 1: - swiz = ir->mask.y; - break; - case 2: - swiz = ir->mask.z; - break; - case 3: - swiz = ir->mask.w; - break; - } - - channel.reg_offset += swiz; - emit(BRW_OPCODE_MOV, result, channel); - result.reg_offset++; - } -} - -void -fs_visitor::visit(ir_discard *ir) -{ - assert(ir->condition == NULL); /* FINISHME */ - - emit(FS_OPCODE_DISCARD); - kill_emitted = true; -} - -void -fs_visitor::visit(ir_constant *ir) -{ - /* Set this->result to reg at the bottom of the function because some code - * paths will cause this visitor to be applied to other fields. This will - * cause the value stored in this->result to be modified. - * - * Make reg constant so that it doesn't get accidentally modified along the - * way. Yes, I actually had this problem. :( - */ - const fs_reg reg(this, ir->type); - fs_reg dst_reg = reg; - - if (ir->type->is_array()) { - const unsigned size = type_size(ir->type->fields.array); - - for (unsigned i = 0; i < ir->type->length; i++) { - this->result = reg_undef; - ir->array_elements[i]->accept(this); - fs_reg src_reg = this->result; - - dst_reg.type = src_reg.type; - for (unsigned j = 0; j < size; j++) { - emit(BRW_OPCODE_MOV, dst_reg, src_reg); - src_reg.reg_offset++; - dst_reg.reg_offset++; - } - } - } else if (ir->type->is_record()) { - foreach_list(node, &ir->components) { - ir_instruction *const field = (ir_instruction *) node; - const unsigned size = type_size(field->type); - - this->result = reg_undef; - field->accept(this); - fs_reg src_reg = this->result; - - dst_reg.type = src_reg.type; - for (unsigned j = 0; j < size; j++) { - emit(BRW_OPCODE_MOV, dst_reg, src_reg); - src_reg.reg_offset++; - dst_reg.reg_offset++; - } - } - } else { - const unsigned size = type_size(ir->type); - - for (unsigned i = 0; i < size; i++) { - switch (ir->type->base_type) { - case GLSL_TYPE_FLOAT: - emit(BRW_OPCODE_MOV, dst_reg, fs_reg(ir->value.f[i])); - break; - case GLSL_TYPE_UINT: - emit(BRW_OPCODE_MOV, dst_reg, fs_reg(ir->value.u[i])); - break; - case GLSL_TYPE_INT: - emit(BRW_OPCODE_MOV, dst_reg, fs_reg(ir->value.i[i])); - break; - case GLSL_TYPE_BOOL: - emit(BRW_OPCODE_MOV, dst_reg, fs_reg((int)ir->value.b[i])); - break; - default: - assert(!"Non-float/uint/int/bool constant"); - } - dst_reg.reg_offset++; - } - } - - this->result = reg; -} - -void -fs_visitor::emit_bool_to_cond_code(ir_rvalue *ir) -{ - ir_expression *expr = ir->as_expression(); - - if (expr) { - fs_reg op[2]; - fs_inst *inst; - - assert(expr->get_num_operands() <= 2); - for (unsigned int i = 0; i < expr->get_num_operands(); i++) { - assert(expr->operands[i]->type->is_scalar()); - - this->result = reg_undef; - expr->operands[i]->accept(this); - op[i] = this->result; - } - - switch (expr->operation) { - case ir_unop_logic_not: - inst = emit(BRW_OPCODE_AND, reg_null_d, op[0], fs_reg(1)); - inst->conditional_mod = BRW_CONDITIONAL_Z; - break; - - case ir_binop_logic_xor: - inst = emit(BRW_OPCODE_XOR, reg_null_d, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - break; - - case ir_binop_logic_or: - inst = emit(BRW_OPCODE_OR, reg_null_d, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - break; - - case ir_binop_logic_and: - inst = emit(BRW_OPCODE_AND, reg_null_d, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - break; - - case ir_unop_f2b: - if (intel->gen >= 6) { - inst = emit(BRW_OPCODE_CMP, reg_null_d, op[0], fs_reg(0.0f)); - } else { - inst = emit(BRW_OPCODE_MOV, reg_null_f, op[0]); - } - inst->conditional_mod = BRW_CONDITIONAL_NZ; - break; - - case ir_unop_i2b: - if (intel->gen >= 6) { - inst = emit(BRW_OPCODE_CMP, reg_null_d, op[0], fs_reg(0)); - } else { - inst = emit(BRW_OPCODE_MOV, reg_null_d, op[0]); - } - inst->conditional_mod = BRW_CONDITIONAL_NZ; - break; - - case ir_binop_greater: - case ir_binop_gequal: - case ir_binop_less: - case ir_binop_lequal: - case ir_binop_equal: - case ir_binop_all_equal: - case ir_binop_nequal: - case ir_binop_any_nequal: - inst = emit(BRW_OPCODE_CMP, reg_null_cmp, op[0], op[1]); - inst->conditional_mod = - brw_conditional_for_comparison(expr->operation); - break; - - default: - assert(!"not reached"); - fail("bad cond code\n"); - break; - } - return; - } - - this->result = reg_undef; - ir->accept(this); - - if (intel->gen >= 6) { - fs_inst *inst = emit(BRW_OPCODE_AND, reg_null_d, this->result, fs_reg(1)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - } else { - fs_inst *inst = emit(BRW_OPCODE_MOV, reg_null_d, this->result); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - } -} - -/** - * Emit a gen6 IF statement with the comparison folded into the IF - * instruction. - */ -void -fs_visitor::emit_if_gen6(ir_if *ir) -{ - ir_expression *expr = ir->condition->as_expression(); - - if (expr) { - fs_reg op[2]; - fs_inst *inst; - fs_reg temp; - - assert(expr->get_num_operands() <= 2); - for (unsigned int i = 0; i < expr->get_num_operands(); i++) { - assert(expr->operands[i]->type->is_scalar()); - - this->result = reg_undef; - expr->operands[i]->accept(this); - op[i] = this->result; - } - - switch (expr->operation) { - case ir_unop_logic_not: - inst = emit(BRW_OPCODE_IF, temp, op[0], fs_reg(0)); - inst->conditional_mod = BRW_CONDITIONAL_Z; - return; - - case ir_binop_logic_xor: - inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - return; - - case ir_binop_logic_or: - temp = fs_reg(this, glsl_type::bool_type); - emit(BRW_OPCODE_OR, temp, op[0], op[1]); - inst = emit(BRW_OPCODE_IF, reg_null_d, temp, fs_reg(0)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - return; - - case ir_binop_logic_and: - temp = fs_reg(this, glsl_type::bool_type); - emit(BRW_OPCODE_AND, temp, op[0], op[1]); - inst = emit(BRW_OPCODE_IF, reg_null_d, temp, fs_reg(0)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - return; - - case ir_unop_f2b: - inst = emit(BRW_OPCODE_IF, reg_null_f, op[0], fs_reg(0)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - return; - - case ir_unop_i2b: - inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], fs_reg(0)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - return; - - case ir_binop_greater: - case ir_binop_gequal: - case ir_binop_less: - case ir_binop_lequal: - case ir_binop_equal: - case ir_binop_all_equal: - case ir_binop_nequal: - case ir_binop_any_nequal: - inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], op[1]); - inst->conditional_mod = - brw_conditional_for_comparison(expr->operation); - return; - default: - assert(!"not reached"); - inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], fs_reg(0)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; - fail("bad condition\n"); - return; - } - return; - } - - this->result = reg_undef; - ir->condition->accept(this); - - fs_inst *inst = emit(BRW_OPCODE_IF, reg_null_d, this->result, fs_reg(0)); - inst->conditional_mod = BRW_CONDITIONAL_NZ; -} - -void -fs_visitor::visit(ir_if *ir) -{ - fs_inst *inst; - - if (intel->gen != 6 && c->dispatch_width == 16) { - fail("Can't support (non-uniform) control flow on 16-wide\n"); - } - - /* Don't point the annotation at the if statement, because then it plus - * the then and else blocks get printed. - */ - this->base_ir = ir->condition; - - if (intel->gen == 6) { - emit_if_gen6(ir); - } else { - emit_bool_to_cond_code(ir->condition); - - inst = emit(BRW_OPCODE_IF); - inst->predicated = true; - } - - foreach_iter(exec_list_iterator, iter, ir->then_instructions) { - ir_instruction *ir = (ir_instruction *)iter.get(); - this->base_ir = ir; - this->result = reg_undef; - ir->accept(this); - } - - if (!ir->else_instructions.is_empty()) { - emit(BRW_OPCODE_ELSE); - - foreach_iter(exec_list_iterator, iter, ir->else_instructions) { - ir_instruction *ir = (ir_instruction *)iter.get(); - this->base_ir = ir; - this->result = reg_undef; - ir->accept(this); - } - } - - emit(BRW_OPCODE_ENDIF); -} - -void -fs_visitor::visit(ir_loop *ir) -{ - fs_reg counter = reg_undef; - - if (c->dispatch_width == 16) { - fail("Can't support (non-uniform) control flow on 16-wide\n"); - } - - if (ir->counter) { - this->base_ir = ir->counter; - ir->counter->accept(this); - counter = *(variable_storage(ir->counter)); - - if (ir->from) { - this->result = counter; - - this->base_ir = ir->from; - this->result = counter; - ir->from->accept(this); - - if (!this->result.equals(&counter)) - emit(BRW_OPCODE_MOV, counter, this->result); - } - } - - emit(BRW_OPCODE_DO); - - if (ir->to) { - this->base_ir = ir->to; - this->result = reg_undef; - ir->to->accept(this); - - fs_inst *inst = emit(BRW_OPCODE_CMP, reg_null_cmp, counter, this->result); - inst->conditional_mod = brw_conditional_for_comparison(ir->cmp); - - inst = emit(BRW_OPCODE_BREAK); - inst->predicated = true; - } - - foreach_iter(exec_list_iterator, iter, ir->body_instructions) { - ir_instruction *ir = (ir_instruction *)iter.get(); - - this->base_ir = ir; - this->result = reg_undef; - ir->accept(this); - } - - if (ir->increment) { - this->base_ir = ir->increment; - this->result = reg_undef; - ir->increment->accept(this); - emit(BRW_OPCODE_ADD, counter, counter, this->result); - } - - emit(BRW_OPCODE_WHILE); -} - -void -fs_visitor::visit(ir_loop_jump *ir) -{ - switch (ir->mode) { - case ir_loop_jump::jump_break: - emit(BRW_OPCODE_BREAK); - break; - case ir_loop_jump::jump_continue: - emit(BRW_OPCODE_CONTINUE); - break; - } -} - -void -fs_visitor::visit(ir_call *ir) -{ - assert(!"FINISHME"); -} - -void -fs_visitor::visit(ir_return *ir) -{ - assert(!"FINISHME"); -} - -void -fs_visitor::visit(ir_function *ir) -{ - /* Ignore function bodies other than main() -- we shouldn't see calls to - * them since they should all be inlined before we get to ir_to_mesa. - */ - if (strcmp(ir->name, "main") == 0) { - const ir_function_signature *sig; - exec_list empty; - - sig = ir->matching_signature(&empty); - - assert(sig); - - foreach_iter(exec_list_iterator, iter, sig->body) { - ir_instruction *ir = (ir_instruction *)iter.get(); - this->base_ir = ir; - this->result = reg_undef; - ir->accept(this); - } - } -} - -void -fs_visitor::visit(ir_function_signature *ir) -{ - assert(!"not reached"); - (void)ir; -} - -fs_inst * -fs_visitor::emit(fs_inst inst) -{ - fs_inst *list_inst = new(mem_ctx) fs_inst; - *list_inst = inst; - - if (force_uncompressed_stack > 0) - list_inst->force_uncompressed = true; - else if (force_sechalf_stack > 0) - list_inst->force_sechalf = true; - - list_inst->annotation = this->current_annotation; - list_inst->ir = this->base_ir; - - this->instructions.push_tail(list_inst); - - return list_inst; -} - -/** Emits a dummy fragment shader consisting of magenta for bringup purposes. */ -void -fs_visitor::emit_dummy_fs() -{ - /* Everyone's favorite color. */ - emit(BRW_OPCODE_MOV, fs_reg(MRF, 2), fs_reg(1.0f)); - emit(BRW_OPCODE_MOV, fs_reg(MRF, 3), fs_reg(0.0f)); - emit(BRW_OPCODE_MOV, fs_reg(MRF, 4), fs_reg(1.0f)); - emit(BRW_OPCODE_MOV, fs_reg(MRF, 5), fs_reg(0.0f)); - - fs_inst *write; - write = emit(FS_OPCODE_FB_WRITE, fs_reg(0), fs_reg(0)); - write->base_mrf = 0; -} - -/* The register location here is relative to the start of the URB - * data. It will get adjusted to be a real location before - * generate_code() time. - */ -struct brw_reg -fs_visitor::interp_reg(int location, int channel) -{ - int regnr = urb_setup[location] * 2 + channel / 2; - int stride = (channel & 1) * 4; - - assert(urb_setup[location] != -1); - - return brw_vec1_grf(regnr, stride); -} - -/** Emits the interpolation for the varying inputs. */ -void -fs_visitor::emit_interpolation_setup_gen4() -{ - this->current_annotation = "compute pixel centers"; - this->pixel_x = fs_reg(this, glsl_type::uint_type); - this->pixel_y = fs_reg(this, glsl_type::uint_type); - this->pixel_x.type = BRW_REGISTER_TYPE_UW; - this->pixel_y.type = BRW_REGISTER_TYPE_UW; - - emit(FS_OPCODE_PIXEL_X, this->pixel_x); - emit(FS_OPCODE_PIXEL_Y, this->pixel_y); - - this->current_annotation = "compute pixel deltas from v0"; - if (brw->has_pln) { - this->delta_x = fs_reg(this, glsl_type::vec2_type); - this->delta_y = this->delta_x; - this->delta_y.reg_offset++; - } else { - this->delta_x = fs_reg(this, glsl_type::float_type); - this->delta_y = fs_reg(this, glsl_type::float_type); - } - emit(BRW_OPCODE_ADD, this->delta_x, - this->pixel_x, fs_reg(negate(brw_vec1_grf(1, 0)))); - emit(BRW_OPCODE_ADD, this->delta_y, - this->pixel_y, fs_reg(negate(brw_vec1_grf(1, 1)))); - - this->current_annotation = "compute pos.w and 1/pos.w"; - /* Compute wpos.w. It's always in our setup, since it's needed to - * interpolate the other attributes. - */ - this->wpos_w = fs_reg(this, glsl_type::float_type); - emit(FS_OPCODE_LINTERP, wpos_w, this->delta_x, this->delta_y, - interp_reg(FRAG_ATTRIB_WPOS, 3)); - /* Compute the pixel 1/W value from wpos.w. */ - this->pixel_w = fs_reg(this, glsl_type::float_type); - emit_math(FS_OPCODE_RCP, this->pixel_w, wpos_w); - this->current_annotation = NULL; -} - -/** Emits the interpolation for the varying inputs. */ -void -fs_visitor::emit_interpolation_setup_gen6() -{ - struct brw_reg g1_uw = retype(brw_vec1_grf(1, 0), BRW_REGISTER_TYPE_UW); - - /* If the pixel centers end up used, the setup is the same as for gen4. */ - this->current_annotation = "compute pixel centers"; - fs_reg int_pixel_x = fs_reg(this, glsl_type::uint_type); - fs_reg int_pixel_y = fs_reg(this, glsl_type::uint_type); - int_pixel_x.type = BRW_REGISTER_TYPE_UW; - int_pixel_y.type = BRW_REGISTER_TYPE_UW; - emit(BRW_OPCODE_ADD, - int_pixel_x, - fs_reg(stride(suboffset(g1_uw, 4), 2, 4, 0)), - fs_reg(brw_imm_v(0x10101010))); - emit(BRW_OPCODE_ADD, - int_pixel_y, - fs_reg(stride(suboffset(g1_uw, 5), 2, 4, 0)), - fs_reg(brw_imm_v(0x11001100))); - - /* As of gen6, we can no longer mix float and int sources. We have - * to turn the integer pixel centers into floats for their actual - * use. - */ - this->pixel_x = fs_reg(this, glsl_type::float_type); - this->pixel_y = fs_reg(this, glsl_type::float_type); - emit(BRW_OPCODE_MOV, this->pixel_x, int_pixel_x); - emit(BRW_OPCODE_MOV, this->pixel_y, int_pixel_y); - - this->current_annotation = "compute pos.w"; - this->pixel_w = fs_reg(brw_vec8_grf(c->source_w_reg, 0)); - this->wpos_w = fs_reg(this, glsl_type::float_type); - emit_math(FS_OPCODE_RCP, this->wpos_w, this->pixel_w); - - this->delta_x = fs_reg(brw_vec8_grf(2, 0)); - this->delta_y = fs_reg(brw_vec8_grf(3, 0)); - - this->current_annotation = NULL; -} - -void -fs_visitor::emit_color_write(int index, int first_color_mrf, fs_reg color) -{ - int reg_width = c->dispatch_width / 8; - - if (c->dispatch_width == 8 || intel->gen == 6) { - /* SIMD8 write looks like: - * m + 0: r0 - * m + 1: r1 - * m + 2: g0 - * m + 3: g1 - * - * gen6 SIMD16 DP write looks like: - * m + 0: r0 - * m + 1: r1 - * m + 2: g0 - * m + 3: g1 - * m + 4: b0 - * m + 5: b1 - * m + 6: a0 - * m + 7: a1 - */ - emit(BRW_OPCODE_MOV, fs_reg(MRF, first_color_mrf + index * reg_width), - color); - } else { - /* pre-gen6 SIMD16 single source DP write looks like: - * m + 0: r0 - * m + 1: g0 - * m + 2: b0 - * m + 3: a0 - * m + 4: r1 - * m + 5: g1 - * m + 6: b1 - * m + 7: a1 - */ - if (brw->has_compr4) { - /* By setting the high bit of the MRF register number, we - * indicate that we want COMPR4 mode - instead of doing the - * usual destination + 1 for the second half we get - * destination + 4. - */ - emit(BRW_OPCODE_MOV, - fs_reg(MRF, BRW_MRF_COMPR4 + first_color_mrf + index), color); - } else { - push_force_uncompressed(); - emit(BRW_OPCODE_MOV, fs_reg(MRF, first_color_mrf + index), color); - pop_force_uncompressed(); - - push_force_sechalf(); - color.sechalf = true; - emit(BRW_OPCODE_MOV, fs_reg(MRF, first_color_mrf + index + 4), color); - pop_force_sechalf(); - color.sechalf = false; - } - } -} - -void -fs_visitor::emit_fb_writes() -{ - this->current_annotation = "FB write header"; - GLboolean header_present = GL_TRUE; - int nr = 0; - int reg_width = c->dispatch_width / 8; - - if (intel->gen >= 6 && - !this->kill_emitted && - c->key.nr_color_regions == 1) { - header_present = false; - } - - if (header_present) { - /* m0, m1 header */ - nr += 2; - } - - if (c->aa_dest_stencil_reg) { - push_force_uncompressed(); - emit(BRW_OPCODE_MOV, fs_reg(MRF, nr++), - fs_reg(brw_vec8_grf(c->aa_dest_stencil_reg, 0))); - pop_force_uncompressed(); - } - - /* Reserve space for color. It'll be filled in per MRT below. */ - int color_mrf = nr; - nr += 4 * reg_width; - - if (c->source_depth_to_render_target) { - if (intel->gen == 6 && c->dispatch_width == 16) { - /* For outputting oDepth on gen6, SIMD8 writes have to be - * used. This would require 8-wide moves of each half to - * message regs, kind of like pre-gen5 SIMD16 FB writes. - * Just bail on doing so for now. - */ - fail("Missing support for simd16 depth writes on gen6\n"); - } - - if (c->computes_depth) { - /* Hand over gl_FragDepth. */ - assert(this->frag_depth); - fs_reg depth = *(variable_storage(this->frag_depth)); - - emit(BRW_OPCODE_MOV, fs_reg(MRF, nr), depth); - } else { - /* Pass through the payload depth. */ - emit(BRW_OPCODE_MOV, fs_reg(MRF, nr), - fs_reg(brw_vec8_grf(c->source_depth_reg, 0))); - } - nr += reg_width; - } - - if (c->dest_depth_reg) { - emit(BRW_OPCODE_MOV, fs_reg(MRF, nr), - fs_reg(brw_vec8_grf(c->dest_depth_reg, 0))); - nr += reg_width; - } - - fs_reg color = reg_undef; - if (this->frag_color) - color = *(variable_storage(this->frag_color)); - else if (this->frag_data) { - color = *(variable_storage(this->frag_data)); - color.type = BRW_REGISTER_TYPE_F; - } - - for (int target = 0; target < c->key.nr_color_regions; target++) { - this->current_annotation = ralloc_asprintf(this->mem_ctx, - "FB write target %d", - target); - if (this->frag_color || this->frag_data) { - for (int i = 0; i < 4; i++) { - emit_color_write(i, color_mrf, color); - color.reg_offset++; - } - } - - if (this->frag_color) - color.reg_offset -= 4; - - fs_inst *inst = emit(FS_OPCODE_FB_WRITE); - inst->target = target; - inst->base_mrf = 0; - inst->mlen = nr; - if (target == c->key.nr_color_regions - 1) - inst->eot = true; - inst->header_present = header_present; - } - - if (c->key.nr_color_regions == 0) { - if (c->key.alpha_test && (this->frag_color || this->frag_data)) { - /* If the alpha test is enabled but there's no color buffer, - * we still need to send alpha out the pipeline to our null - * renderbuffer. - */ - color.reg_offset += 3; - emit_color_write(3, color_mrf, color); - } - - fs_inst *inst = emit(FS_OPCODE_FB_WRITE); - inst->base_mrf = 0; - inst->mlen = nr; - inst->eot = true; - inst->header_present = header_present; - } - - this->current_annotation = NULL; -} - /** * To be called after the last _mesa_add_state_reference() call, to * set up prog_data.param[] for assign_curb_setup() and diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 41e5004f37b..d1f70ee2117 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -466,6 +466,8 @@ public: return emit(fs_inst(opcode, dst, src0, src1, src2)); } + int type_size(const struct glsl_type *type); + bool run(); void setup_paramvalues_refs(); void assign_curb_setup(); diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp new file mode 100644 index 00000000000..1445582dc00 --- /dev/null +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -0,0 +1,1724 @@ +/* + * Copyright © 2010 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +/** @file brw_fs_visitor.cpp + * + * This file supports generating the FS LIR from the GLSL IR. The LIR + * makes it easier to do backend-specific optimizations than doing so + * in the GLSL IR or in the native code. + */ +extern "C" { + +#include + +#include "main/macros.h" +#include "main/shaderobj.h" +#include "main/uniforms.h" +#include "program/prog_parameter.h" +#include "program/prog_print.h" +#include "program/prog_optimize.h" +#include "program/register_allocate.h" +#include "program/sampler.h" +#include "program/hash_table.h" +#include "brw_context.h" +#include "brw_eu.h" +#include "brw_wm.h" +} +#include "brw_shader.h" +#include "brw_fs.h" +#include "../glsl/glsl_types.h" +#include "../glsl/ir_optimization.h" +#include "../glsl/ir_print_visitor.h" + +void +fs_visitor::visit(ir_variable *ir) +{ + fs_reg *reg = NULL; + + if (variable_storage(ir)) + return; + + if (strcmp(ir->name, "gl_FragColor") == 0) { + this->frag_color = ir; + } else if (strcmp(ir->name, "gl_FragData") == 0) { + this->frag_data = ir; + } else if (strcmp(ir->name, "gl_FragDepth") == 0) { + this->frag_depth = ir; + } + + if (ir->mode == ir_var_in) { + if (!strcmp(ir->name, "gl_FragCoord")) { + reg = emit_fragcoord_interpolation(ir); + } else if (!strcmp(ir->name, "gl_FrontFacing")) { + reg = emit_frontfacing_interpolation(ir); + } else { + reg = emit_general_interpolation(ir); + } + assert(reg); + hash_table_insert(this->variable_ht, reg, ir); + return; + } + + if (ir->mode == ir_var_uniform) { + int param_index = c->prog_data.nr_params; + + if (c->dispatch_width == 16) { + if (!variable_storage(ir)) { + fail("Failed to find uniform '%s' in 16-wide\n", ir->name); + } + return; + } + + if (!strncmp(ir->name, "gl_", 3)) { + setup_builtin_uniform_values(ir); + } else { + setup_uniform_values(ir->location, ir->type); + } + + reg = new(this->mem_ctx) fs_reg(UNIFORM, param_index); + reg->type = brw_type_for_base_type(ir->type); + } + + if (!reg) + reg = new(this->mem_ctx) fs_reg(this, ir->type); + + hash_table_insert(this->variable_ht, reg, ir); +} + +void +fs_visitor::visit(ir_dereference_variable *ir) +{ + fs_reg *reg = variable_storage(ir->var); + this->result = *reg; +} + +void +fs_visitor::visit(ir_dereference_record *ir) +{ + const glsl_type *struct_type = ir->record->type; + + ir->record->accept(this); + + unsigned int offset = 0; + for (unsigned int i = 0; i < struct_type->length; i++) { + if (strcmp(struct_type->fields.structure[i].name, ir->field) == 0) + break; + offset += type_size(struct_type->fields.structure[i].type); + } + this->result.reg_offset += offset; + this->result.type = brw_type_for_base_type(ir->type); +} + +void +fs_visitor::visit(ir_dereference_array *ir) +{ + ir_constant *index; + int element_size; + + ir->array->accept(this); + index = ir->array_index->as_constant(); + + element_size = type_size(ir->type); + this->result.type = brw_type_for_base_type(ir->type); + + if (index) { + assert(this->result.file == UNIFORM || + (this->result.file == GRF && + this->result.reg != 0)); + this->result.reg_offset += index->value.i[0] * element_size; + } else { + assert(!"FINISHME: non-constant array element"); + } +} + +/* Instruction selection: Produce a MOV.sat instead of + * MIN(MAX(val, 0), 1) when possible. + */ +bool +fs_visitor::try_emit_saturate(ir_expression *ir) +{ + ir_rvalue *sat_val = ir->as_rvalue_to_saturate(); + + if (!sat_val) + return false; + + this->result = reg_undef; + sat_val->accept(this); + fs_reg src = this->result; + + this->result = fs_reg(this, ir->type); + fs_inst *inst = emit(BRW_OPCODE_MOV, this->result, src); + inst->saturate = true; + + return true; +} + +void +fs_visitor::visit(ir_expression *ir) +{ + unsigned int operand; + fs_reg op[2], temp; + fs_inst *inst; + + assert(ir->get_num_operands() <= 2); + + if (try_emit_saturate(ir)) + return; + + /* This is where our caller would like us to put the result, if possible. */ + fs_reg saved_result_storage = this->result; + + for (operand = 0; operand < ir->get_num_operands(); operand++) { + this->result = reg_undef; + ir->operands[operand]->accept(this); + if (this->result.file == BAD_FILE) { + ir_print_visitor v; + fail("Failed to get tree for expression operand:\n"); + ir->operands[operand]->accept(&v); + } + op[operand] = this->result; + + /* Matrix expression operands should have been broken down to vector + * operations already. + */ + assert(!ir->operands[operand]->type->is_matrix()); + /* And then those vector operands should have been broken down to scalar. + */ + assert(!ir->operands[operand]->type->is_vector()); + } + + /* Inherit storage from our parent if possible, and otherwise we + * alloc a temporary. + */ + if (saved_result_storage.file == BAD_FILE) { + this->result = fs_reg(this, ir->type); + } else { + this->result = saved_result_storage; + } + + switch (ir->operation) { + case ir_unop_logic_not: + /* Note that BRW_OPCODE_NOT is not appropriate here, since it is + * ones complement of the whole register, not just bit 0. + */ + emit(BRW_OPCODE_XOR, this->result, op[0], fs_reg(1)); + break; + case ir_unop_neg: + op[0].negate = !op[0].negate; + this->result = op[0]; + break; + case ir_unop_abs: + op[0].abs = true; + op[0].negate = false; + this->result = op[0]; + break; + case ir_unop_sign: + temp = fs_reg(this, ir->type); + + /* Unalias the destination. (imagine a = sign(a)) */ + this->result = fs_reg(this, ir->type); + + emit(BRW_OPCODE_MOV, this->result, fs_reg(0.0f)); + + inst = emit(BRW_OPCODE_CMP, reg_null_f, op[0], fs_reg(0.0f)); + inst->conditional_mod = BRW_CONDITIONAL_G; + inst = emit(BRW_OPCODE_MOV, this->result, fs_reg(1.0f)); + inst->predicated = true; + + inst = emit(BRW_OPCODE_CMP, reg_null_f, op[0], fs_reg(0.0f)); + inst->conditional_mod = BRW_CONDITIONAL_L; + inst = emit(BRW_OPCODE_MOV, this->result, fs_reg(-1.0f)); + inst->predicated = true; + + break; + case ir_unop_rcp: + emit_math(FS_OPCODE_RCP, this->result, op[0]); + break; + + case ir_unop_exp2: + emit_math(FS_OPCODE_EXP2, this->result, op[0]); + break; + case ir_unop_log2: + emit_math(FS_OPCODE_LOG2, this->result, op[0]); + break; + case ir_unop_exp: + case ir_unop_log: + assert(!"not reached: should be handled by ir_explog_to_explog2"); + break; + case ir_unop_sin: + case ir_unop_sin_reduced: + emit_math(FS_OPCODE_SIN, this->result, op[0]); + break; + case ir_unop_cos: + case ir_unop_cos_reduced: + emit_math(FS_OPCODE_COS, this->result, op[0]); + break; + + case ir_unop_dFdx: + emit(FS_OPCODE_DDX, this->result, op[0]); + break; + case ir_unop_dFdy: + emit(FS_OPCODE_DDY, this->result, op[0]); + break; + + case ir_binop_add: + emit(BRW_OPCODE_ADD, this->result, op[0], op[1]); + break; + case ir_binop_sub: + assert(!"not reached: should be handled by ir_sub_to_add_neg"); + break; + + case ir_binop_mul: + emit(BRW_OPCODE_MUL, this->result, op[0], op[1]); + break; + case ir_binop_div: + assert(!"not reached: should be handled by ir_div_to_mul_rcp"); + break; + case ir_binop_mod: + assert(!"ir_binop_mod should have been converted to b * fract(a/b)"); + break; + + case ir_binop_less: + case ir_binop_greater: + case ir_binop_lequal: + case ir_binop_gequal: + case ir_binop_equal: + case ir_binop_all_equal: + case ir_binop_nequal: + case ir_binop_any_nequal: + temp = this->result; + /* original gen4 does implicit conversion before comparison. */ + if (intel->gen < 5) + temp.type = op[0].type; + + inst = emit(BRW_OPCODE_CMP, temp, op[0], op[1]); + inst->conditional_mod = brw_conditional_for_comparison(ir->operation); + emit(BRW_OPCODE_AND, this->result, this->result, fs_reg(0x1)); + break; + + case ir_binop_logic_xor: + emit(BRW_OPCODE_XOR, this->result, op[0], op[1]); + break; + + case ir_binop_logic_or: + emit(BRW_OPCODE_OR, this->result, op[0], op[1]); + break; + + case ir_binop_logic_and: + emit(BRW_OPCODE_AND, this->result, op[0], op[1]); + break; + + case ir_binop_dot: + case ir_unop_any: + assert(!"not reached: should be handled by brw_fs_channel_expressions"); + break; + + case ir_unop_noise: + assert(!"not reached: should be handled by lower_noise"); + break; + + case ir_quadop_vector: + assert(!"not reached: should be handled by lower_quadop_vector"); + break; + + case ir_unop_sqrt: + emit_math(FS_OPCODE_SQRT, this->result, op[0]); + break; + + case ir_unop_rsq: + emit_math(FS_OPCODE_RSQ, this->result, op[0]); + break; + + case ir_unop_i2f: + case ir_unop_b2f: + case ir_unop_b2i: + case ir_unop_f2i: + emit(BRW_OPCODE_MOV, this->result, op[0]); + break; + case ir_unop_f2b: + case ir_unop_i2b: + temp = this->result; + /* original gen4 does implicit conversion before comparison. */ + if (intel->gen < 5) + temp.type = op[0].type; + + inst = emit(BRW_OPCODE_CMP, temp, op[0], fs_reg(0.0f)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + inst = emit(BRW_OPCODE_AND, this->result, this->result, fs_reg(1)); + break; + + case ir_unop_trunc: + emit(BRW_OPCODE_RNDZ, this->result, op[0]); + break; + case ir_unop_ceil: + op[0].negate = !op[0].negate; + inst = emit(BRW_OPCODE_RNDD, this->result, op[0]); + this->result.negate = true; + break; + case ir_unop_floor: + inst = emit(BRW_OPCODE_RNDD, this->result, op[0]); + break; + case ir_unop_fract: + inst = emit(BRW_OPCODE_FRC, this->result, op[0]); + break; + case ir_unop_round_even: + emit(BRW_OPCODE_RNDE, this->result, op[0]); + break; + + case ir_binop_min: + /* Unalias the destination */ + this->result = fs_reg(this, ir->type); + + inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_L; + + inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); + inst->predicated = true; + break; + case ir_binop_max: + /* Unalias the destination */ + this->result = fs_reg(this, ir->type); + + inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_G; + + inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); + inst->predicated = true; + break; + + case ir_binop_pow: + emit_math(FS_OPCODE_POW, this->result, op[0], op[1]); + break; + + case ir_unop_bit_not: + inst = emit(BRW_OPCODE_NOT, this->result, op[0]); + break; + case ir_binop_bit_and: + inst = emit(BRW_OPCODE_AND, this->result, op[0], op[1]); + break; + case ir_binop_bit_xor: + inst = emit(BRW_OPCODE_XOR, this->result, op[0], op[1]); + break; + case ir_binop_bit_or: + inst = emit(BRW_OPCODE_OR, this->result, op[0], op[1]); + break; + + case ir_unop_u2f: + case ir_binop_lshift: + case ir_binop_rshift: + assert(!"GLSL 1.30 features unsupported"); + break; + } +} + +void +fs_visitor::emit_assignment_writes(fs_reg &l, fs_reg &r, + const glsl_type *type, bool predicated) +{ + switch (type->base_type) { + case GLSL_TYPE_FLOAT: + case GLSL_TYPE_UINT: + case GLSL_TYPE_INT: + case GLSL_TYPE_BOOL: + for (unsigned int i = 0; i < type->components(); i++) { + l.type = brw_type_for_base_type(type); + r.type = brw_type_for_base_type(type); + + if (predicated || !l.equals(&r)) { + fs_inst *inst = emit(BRW_OPCODE_MOV, l, r); + inst->predicated = predicated; + } + + l.reg_offset++; + r.reg_offset++; + } + break; + case GLSL_TYPE_ARRAY: + for (unsigned int i = 0; i < type->length; i++) { + emit_assignment_writes(l, r, type->fields.array, predicated); + } + break; + + case GLSL_TYPE_STRUCT: + for (unsigned int i = 0; i < type->length; i++) { + emit_assignment_writes(l, r, type->fields.structure[i].type, + predicated); + } + break; + + case GLSL_TYPE_SAMPLER: + break; + + default: + assert(!"not reached"); + break; + } +} + +void +fs_visitor::visit(ir_assignment *ir) +{ + struct fs_reg l, r; + fs_inst *inst; + + /* FINISHME: arrays on the lhs */ + this->result = reg_undef; + ir->lhs->accept(this); + l = this->result; + + /* If we're doing a direct assignment, an RHS expression could + * drop its result right into our destination. Otherwise, tell it + * not to. + */ + if (ir->condition || + !(ir->lhs->type->is_scalar() || + (ir->lhs->type->is_vector() && + ir->write_mask == (1 << ir->lhs->type->vector_elements) - 1))) { + this->result = reg_undef; + } + + ir->rhs->accept(this); + r = this->result; + + assert(l.file != BAD_FILE); + assert(r.file != BAD_FILE); + + if (ir->condition) { + emit_bool_to_cond_code(ir->condition); + } + + if (ir->lhs->type->is_scalar() || + ir->lhs->type->is_vector()) { + for (int i = 0; i < ir->lhs->type->vector_elements; i++) { + if (ir->write_mask & (1 << i)) { + if (ir->condition) { + inst = emit(BRW_OPCODE_MOV, l, r); + inst->predicated = true; + } else if (!l.equals(&r)) { + inst = emit(BRW_OPCODE_MOV, l, r); + } + + r.reg_offset++; + } + l.reg_offset++; + } + } else { + emit_assignment_writes(l, r, ir->lhs->type, ir->condition != NULL); + } +} + +fs_inst * +fs_visitor::emit_texture_gen4(ir_texture *ir, fs_reg dst, fs_reg coordinate, + int sampler) +{ + int mlen; + int base_mrf = 1; + bool simd16 = false; + fs_reg orig_dst; + + /* g0 header. */ + mlen = 1; + + if (ir->shadow_comparitor) { + for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { + fs_inst *inst = emit(BRW_OPCODE_MOV, + fs_reg(MRF, base_mrf + mlen + i), coordinate); + if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) + inst->saturate = true; + + coordinate.reg_offset++; + } + /* gen4's SIMD8 sampler always has the slots for u,v,r present. */ + mlen += 3; + + if (ir->op == ir_tex) { + /* There's no plain shadow compare message, so we use shadow + * compare with a bias of 0.0. + */ + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), fs_reg(0.0f)); + mlen++; + } else if (ir->op == ir_txb) { + this->result = reg_undef; + ir->lod_info.bias->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen++; + } else { + assert(ir->op == ir_txl); + this->result = reg_undef; + ir->lod_info.lod->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen++; + } + + this->result = reg_undef; + ir->shadow_comparitor->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen++; + } else if (ir->op == ir_tex) { + for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { + fs_inst *inst = emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen + i), + coordinate); + if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) + inst->saturate = true; + coordinate.reg_offset++; + } + /* gen4's SIMD8 sampler always has the slots for u,v,r present. */ + mlen += 3; + } else if (ir->op == ir_txd) { + assert(!"TXD isn't supported on gen4 yet."); + } else { + /* Oh joy. gen4 doesn't have SIMD8 non-shadow-compare bias/lod + * instructions. We'll need to do SIMD16 here. + */ + assert(ir->op == ir_txb || ir->op == ir_txl); + + for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { + fs_inst *inst = emit(BRW_OPCODE_MOV, fs_reg(MRF, + base_mrf + mlen + i * 2), + coordinate); + if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) + inst->saturate = true; + coordinate.reg_offset++; + } + + /* lod/bias appears after u/v/r. */ + mlen += 6; + + if (ir->op == ir_txb) { + this->result = reg_undef; + ir->lod_info.bias->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen++; + } else { + this->result = reg_undef; + ir->lod_info.lod->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen++; + } + + /* The unused upper half. */ + mlen++; + + /* Now, since we're doing simd16, the return is 2 interleaved + * vec4s where the odd-indexed ones are junk. We'll need to move + * this weirdness around to the expected layout. + */ + simd16 = true; + orig_dst = dst; + dst = fs_reg(this, glsl_type::get_array_instance(glsl_type::vec4_type, + 2)); + dst.type = BRW_REGISTER_TYPE_F; + } + + fs_inst *inst = NULL; + switch (ir->op) { + case ir_tex: + inst = emit(FS_OPCODE_TEX, dst); + break; + case ir_txb: + inst = emit(FS_OPCODE_TXB, dst); + break; + case ir_txl: + inst = emit(FS_OPCODE_TXL, dst); + break; + case ir_txd: + inst = emit(FS_OPCODE_TXD, dst); + break; + case ir_txf: + assert(!"GLSL 1.30 features unsupported"); + break; + } + inst->base_mrf = base_mrf; + inst->mlen = mlen; + inst->header_present = true; + + if (simd16) { + for (int i = 0; i < 4; i++) { + emit(BRW_OPCODE_MOV, orig_dst, dst); + orig_dst.reg_offset++; + dst.reg_offset += 2; + } + } + + return inst; +} + +/* gen5's sampler has slots for u, v, r, array index, then optional + * parameters like shadow comparitor or LOD bias. If optional + * parameters aren't present, those base slots are optional and don't + * need to be included in the message. + * + * We don't fill in the unnecessary slots regardless, which may look + * surprising in the disassembly. + */ +fs_inst * +fs_visitor::emit_texture_gen5(ir_texture *ir, fs_reg dst, fs_reg coordinate, + int sampler) +{ + int mlen = 0; + int base_mrf = 2; + int reg_width = c->dispatch_width / 8; + bool header_present = false; + + if (ir->offset) { + /* The offsets set up by the ir_texture visitor are in the + * m1 header, so we can't go headerless. + */ + header_present = true; + mlen++; + base_mrf--; + } + + for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { + fs_inst *inst = emit(BRW_OPCODE_MOV, + fs_reg(MRF, base_mrf + mlen + i * reg_width), + coordinate); + if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) + inst->saturate = true; + coordinate.reg_offset++; + } + mlen += ir->coordinate->type->vector_elements * reg_width; + + if (ir->shadow_comparitor) { + mlen = MAX2(mlen, header_present + 4 * reg_width); + + this->result = reg_undef; + ir->shadow_comparitor->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen += reg_width; + } + + fs_inst *inst = NULL; + switch (ir->op) { + case ir_tex: + inst = emit(FS_OPCODE_TEX, dst); + break; + case ir_txb: + this->result = reg_undef; + ir->lod_info.bias->accept(this); + mlen = MAX2(mlen, header_present + 4 * reg_width); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen += reg_width; + + inst = emit(FS_OPCODE_TXB, dst); + + break; + case ir_txl: + this->result = reg_undef; + ir->lod_info.lod->accept(this); + mlen = MAX2(mlen, header_present + 4 * reg_width); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen += reg_width; + + inst = emit(FS_OPCODE_TXL, dst); + break; + case ir_txd: + case ir_txf: + assert(!"GLSL 1.30 features unsupported"); + break; + } + inst->base_mrf = base_mrf; + inst->mlen = mlen; + inst->header_present = header_present; + + if (mlen > 11) { + fail("Message length >11 disallowed by hardware\n"); + } + + return inst; +} + +fs_inst * +fs_visitor::emit_texture_gen7(ir_texture *ir, fs_reg dst, fs_reg coordinate, + int sampler) +{ + int mlen = 0; + int base_mrf = 2; + int reg_width = c->dispatch_width / 8; + bool header_present = false; + + if (ir->offset) { + /* The offsets set up by the ir_texture visitor are in the + * m1 header, so we can't go headerless. + */ + header_present = true; + mlen++; + base_mrf--; + } + + if (ir->shadow_comparitor) { + ir->shadow_comparitor->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen += reg_width; + } + + /* Set up the LOD info */ + switch (ir->op) { + case ir_tex: + break; + case ir_txb: + ir->lod_info.bias->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen += reg_width; + break; + case ir_txl: + ir->lod_info.lod->accept(this); + emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), this->result); + mlen += reg_width; + break; + case ir_txd: + case ir_txf: + assert(!"GLSL 1.30 features unsupported"); + break; + } + + /* Set up the coordinate */ + for (int i = 0; i < ir->coordinate->type->vector_elements; i++) { + fs_inst *inst = emit(BRW_OPCODE_MOV, fs_reg(MRF, base_mrf + mlen), + coordinate); + if (i < 3 && c->key.gl_clamp_mask[i] & (1 << sampler)) + inst->saturate = true; + coordinate.reg_offset++; + mlen += reg_width; + } + + /* Generate the SEND */ + fs_inst *inst = NULL; + switch (ir->op) { + case ir_tex: inst = emit(FS_OPCODE_TEX, dst); break; + case ir_txb: inst = emit(FS_OPCODE_TXB, dst); break; + case ir_txl: inst = emit(FS_OPCODE_TXL, dst); break; + case ir_txd: inst = emit(FS_OPCODE_TXD, dst); break; + case ir_txf: assert(!"TXF unsupported."); + } + inst->base_mrf = base_mrf; + inst->mlen = mlen; + inst->header_present = header_present; + + if (mlen > 11) { + fail("Message length >11 disallowed by hardware\n"); + } + + return inst; +} + +void +fs_visitor::visit(ir_texture *ir) +{ + int sampler; + fs_inst *inst = NULL; + + this->result = reg_undef; + ir->coordinate->accept(this); + fs_reg coordinate = this->result; + + if (ir->offset != NULL) { + ir_constant *offset = ir->offset->as_constant(); + assert(offset != NULL); + + signed char offsets[3]; + for (unsigned i = 0; i < ir->offset->type->vector_elements; i++) + offsets[i] = (signed char) offset->value.i[i]; + + /* Combine all three offsets into a single unsigned dword: + * + * bits 11:8 - U Offset (X component) + * bits 7:4 - V Offset (Y component) + * bits 3:0 - R Offset (Z component) + */ + unsigned offset_bits = 0; + for (unsigned i = 0; i < ir->offset->type->vector_elements; i++) { + const unsigned shift = 4 * (2 - i); + offset_bits |= (offsets[i] << shift) & (0xF << shift); + } + + /* Explicitly set up the message header by copying g0 to msg reg m1. */ + emit(BRW_OPCODE_MOV, fs_reg(MRF, 1, BRW_REGISTER_TYPE_UD), + fs_reg(GRF, 0, BRW_REGISTER_TYPE_UD)); + + /* Then set the offset bits in DWord 2 of the message header. */ + emit(BRW_OPCODE_MOV, + fs_reg(retype(brw_vec1_reg(BRW_MESSAGE_REGISTER_FILE, 1, 2), + BRW_REGISTER_TYPE_UD)), + fs_reg(brw_imm_uw(offset_bits))); + } + + /* Should be lowered by do_lower_texture_projection */ + assert(!ir->projector); + + sampler = _mesa_get_sampler_uniform_value(ir->sampler, + ctx->Shader.CurrentFragmentProgram, + &brw->fragment_program->Base); + sampler = c->fp->program.Base.SamplerUnits[sampler]; + + /* The 965 requires the EU to do the normalization of GL rectangle + * texture coordinates. We use the program parameter state + * tracking to get the scaling factor. + */ + if (ir->sampler->type->sampler_dimensionality == GLSL_SAMPLER_DIM_RECT) { + struct gl_program_parameter_list *params = c->fp->program.Base.Parameters; + int tokens[STATE_LENGTH] = { + STATE_INTERNAL, + STATE_TEXRECT_SCALE, + sampler, + 0, + 0 + }; + + if (c->dispatch_width == 16) { + fail("rectangle scale uniform setup not supported on 16-wide\n"); + this->result = fs_reg(this, ir->type); + return; + } + + c->prog_data.param_convert[c->prog_data.nr_params] = + PARAM_NO_CONVERT; + c->prog_data.param_convert[c->prog_data.nr_params + 1] = + PARAM_NO_CONVERT; + + fs_reg scale_x = fs_reg(UNIFORM, c->prog_data.nr_params); + fs_reg scale_y = fs_reg(UNIFORM, c->prog_data.nr_params + 1); + GLuint index = _mesa_add_state_reference(params, + (gl_state_index *)tokens); + + this->param_index[c->prog_data.nr_params] = index; + this->param_offset[c->prog_data.nr_params] = 0; + c->prog_data.nr_params++; + this->param_index[c->prog_data.nr_params] = index; + this->param_offset[c->prog_data.nr_params] = 1; + c->prog_data.nr_params++; + + fs_reg dst = fs_reg(this, ir->coordinate->type); + fs_reg src = coordinate; + coordinate = dst; + + emit(BRW_OPCODE_MUL, dst, src, scale_x); + dst.reg_offset++; + src.reg_offset++; + emit(BRW_OPCODE_MUL, dst, src, scale_y); + } + + /* Writemasking doesn't eliminate channels on SIMD8 texture + * samples, so don't worry about them. + */ + fs_reg dst = fs_reg(this, glsl_type::vec4_type); + + if (intel->gen >= 7) { + inst = emit_texture_gen7(ir, dst, coordinate, sampler); + } else if (intel->gen >= 5) { + inst = emit_texture_gen5(ir, dst, coordinate, sampler); + } else { + inst = emit_texture_gen4(ir, dst, coordinate, sampler); + } + + /* If there's an offset, we already set up m1. To avoid the implied move, + * use the null register. Otherwise, we want an implied move from g0. + */ + if (ir->offset != NULL || !inst->header_present) + inst->src[0] = reg_undef; + else + inst->src[0] = fs_reg(retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW)); + + inst->sampler = sampler; + + this->result = dst; + + if (ir->shadow_comparitor) + inst->shadow_compare = true; + + if (ir->type == glsl_type::float_type) { + /* Ignore DEPTH_TEXTURE_MODE swizzling. */ + assert(ir->sampler->type->sampler_shadow); + } else if (c->key.tex_swizzles[inst->sampler] != SWIZZLE_NOOP) { + fs_reg swizzle_dst = fs_reg(this, glsl_type::vec4_type); + + for (int i = 0; i < 4; i++) { + int swiz = GET_SWZ(c->key.tex_swizzles[inst->sampler], i); + fs_reg l = swizzle_dst; + l.reg_offset += i; + + if (swiz == SWIZZLE_ZERO) { + emit(BRW_OPCODE_MOV, l, fs_reg(0.0f)); + } else if (swiz == SWIZZLE_ONE) { + emit(BRW_OPCODE_MOV, l, fs_reg(1.0f)); + } else { + fs_reg r = dst; + r.reg_offset += GET_SWZ(c->key.tex_swizzles[inst->sampler], i); + emit(BRW_OPCODE_MOV, l, r); + } + } + this->result = swizzle_dst; + } +} + +void +fs_visitor::visit(ir_swizzle *ir) +{ + this->result = reg_undef; + ir->val->accept(this); + fs_reg val = this->result; + + if (ir->type->vector_elements == 1) { + this->result.reg_offset += ir->mask.x; + return; + } + + fs_reg result = fs_reg(this, ir->type); + this->result = result; + + for (unsigned int i = 0; i < ir->type->vector_elements; i++) { + fs_reg channel = val; + int swiz = 0; + + switch (i) { + case 0: + swiz = ir->mask.x; + break; + case 1: + swiz = ir->mask.y; + break; + case 2: + swiz = ir->mask.z; + break; + case 3: + swiz = ir->mask.w; + break; + } + + channel.reg_offset += swiz; + emit(BRW_OPCODE_MOV, result, channel); + result.reg_offset++; + } +} + +void +fs_visitor::visit(ir_discard *ir) +{ + assert(ir->condition == NULL); /* FINISHME */ + + emit(FS_OPCODE_DISCARD); + kill_emitted = true; +} + +void +fs_visitor::visit(ir_constant *ir) +{ + /* Set this->result to reg at the bottom of the function because some code + * paths will cause this visitor to be applied to other fields. This will + * cause the value stored in this->result to be modified. + * + * Make reg constant so that it doesn't get accidentally modified along the + * way. Yes, I actually had this problem. :( + */ + const fs_reg reg(this, ir->type); + fs_reg dst_reg = reg; + + if (ir->type->is_array()) { + const unsigned size = type_size(ir->type->fields.array); + + for (unsigned i = 0; i < ir->type->length; i++) { + this->result = reg_undef; + ir->array_elements[i]->accept(this); + fs_reg src_reg = this->result; + + dst_reg.type = src_reg.type; + for (unsigned j = 0; j < size; j++) { + emit(BRW_OPCODE_MOV, dst_reg, src_reg); + src_reg.reg_offset++; + dst_reg.reg_offset++; + } + } + } else if (ir->type->is_record()) { + foreach_list(node, &ir->components) { + ir_instruction *const field = (ir_instruction *) node; + const unsigned size = type_size(field->type); + + this->result = reg_undef; + field->accept(this); + fs_reg src_reg = this->result; + + dst_reg.type = src_reg.type; + for (unsigned j = 0; j < size; j++) { + emit(BRW_OPCODE_MOV, dst_reg, src_reg); + src_reg.reg_offset++; + dst_reg.reg_offset++; + } + } + } else { + const unsigned size = type_size(ir->type); + + for (unsigned i = 0; i < size; i++) { + switch (ir->type->base_type) { + case GLSL_TYPE_FLOAT: + emit(BRW_OPCODE_MOV, dst_reg, fs_reg(ir->value.f[i])); + break; + case GLSL_TYPE_UINT: + emit(BRW_OPCODE_MOV, dst_reg, fs_reg(ir->value.u[i])); + break; + case GLSL_TYPE_INT: + emit(BRW_OPCODE_MOV, dst_reg, fs_reg(ir->value.i[i])); + break; + case GLSL_TYPE_BOOL: + emit(BRW_OPCODE_MOV, dst_reg, fs_reg((int)ir->value.b[i])); + break; + default: + assert(!"Non-float/uint/int/bool constant"); + } + dst_reg.reg_offset++; + } + } + + this->result = reg; +} + +void +fs_visitor::emit_bool_to_cond_code(ir_rvalue *ir) +{ + ir_expression *expr = ir->as_expression(); + + if (expr) { + fs_reg op[2]; + fs_inst *inst; + + assert(expr->get_num_operands() <= 2); + for (unsigned int i = 0; i < expr->get_num_operands(); i++) { + assert(expr->operands[i]->type->is_scalar()); + + this->result = reg_undef; + expr->operands[i]->accept(this); + op[i] = this->result; + } + + switch (expr->operation) { + case ir_unop_logic_not: + inst = emit(BRW_OPCODE_AND, reg_null_d, op[0], fs_reg(1)); + inst->conditional_mod = BRW_CONDITIONAL_Z; + break; + + case ir_binop_logic_xor: + inst = emit(BRW_OPCODE_XOR, reg_null_d, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + break; + + case ir_binop_logic_or: + inst = emit(BRW_OPCODE_OR, reg_null_d, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + break; + + case ir_binop_logic_and: + inst = emit(BRW_OPCODE_AND, reg_null_d, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + break; + + case ir_unop_f2b: + if (intel->gen >= 6) { + inst = emit(BRW_OPCODE_CMP, reg_null_d, op[0], fs_reg(0.0f)); + } else { + inst = emit(BRW_OPCODE_MOV, reg_null_f, op[0]); + } + inst->conditional_mod = BRW_CONDITIONAL_NZ; + break; + + case ir_unop_i2b: + if (intel->gen >= 6) { + inst = emit(BRW_OPCODE_CMP, reg_null_d, op[0], fs_reg(0)); + } else { + inst = emit(BRW_OPCODE_MOV, reg_null_d, op[0]); + } + inst->conditional_mod = BRW_CONDITIONAL_NZ; + break; + + case ir_binop_greater: + case ir_binop_gequal: + case ir_binop_less: + case ir_binop_lequal: + case ir_binop_equal: + case ir_binop_all_equal: + case ir_binop_nequal: + case ir_binop_any_nequal: + inst = emit(BRW_OPCODE_CMP, reg_null_cmp, op[0], op[1]); + inst->conditional_mod = + brw_conditional_for_comparison(expr->operation); + break; + + default: + assert(!"not reached"); + fail("bad cond code\n"); + break; + } + return; + } + + this->result = reg_undef; + ir->accept(this); + + if (intel->gen >= 6) { + fs_inst *inst = emit(BRW_OPCODE_AND, reg_null_d, this->result, fs_reg(1)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + } else { + fs_inst *inst = emit(BRW_OPCODE_MOV, reg_null_d, this->result); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + } +} + +/** + * Emit a gen6 IF statement with the comparison folded into the IF + * instruction. + */ +void +fs_visitor::emit_if_gen6(ir_if *ir) +{ + ir_expression *expr = ir->condition->as_expression(); + + if (expr) { + fs_reg op[2]; + fs_inst *inst; + fs_reg temp; + + assert(expr->get_num_operands() <= 2); + for (unsigned int i = 0; i < expr->get_num_operands(); i++) { + assert(expr->operands[i]->type->is_scalar()); + + this->result = reg_undef; + expr->operands[i]->accept(this); + op[i] = this->result; + } + + switch (expr->operation) { + case ir_unop_logic_not: + inst = emit(BRW_OPCODE_IF, temp, op[0], fs_reg(0)); + inst->conditional_mod = BRW_CONDITIONAL_Z; + return; + + case ir_binop_logic_xor: + inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + return; + + case ir_binop_logic_or: + temp = fs_reg(this, glsl_type::bool_type); + emit(BRW_OPCODE_OR, temp, op[0], op[1]); + inst = emit(BRW_OPCODE_IF, reg_null_d, temp, fs_reg(0)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + return; + + case ir_binop_logic_and: + temp = fs_reg(this, glsl_type::bool_type); + emit(BRW_OPCODE_AND, temp, op[0], op[1]); + inst = emit(BRW_OPCODE_IF, reg_null_d, temp, fs_reg(0)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + return; + + case ir_unop_f2b: + inst = emit(BRW_OPCODE_IF, reg_null_f, op[0], fs_reg(0)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + return; + + case ir_unop_i2b: + inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], fs_reg(0)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + return; + + case ir_binop_greater: + case ir_binop_gequal: + case ir_binop_less: + case ir_binop_lequal: + case ir_binop_equal: + case ir_binop_all_equal: + case ir_binop_nequal: + case ir_binop_any_nequal: + inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], op[1]); + inst->conditional_mod = + brw_conditional_for_comparison(expr->operation); + return; + default: + assert(!"not reached"); + inst = emit(BRW_OPCODE_IF, reg_null_d, op[0], fs_reg(0)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; + fail("bad condition\n"); + return; + } + return; + } + + this->result = reg_undef; + ir->condition->accept(this); + + fs_inst *inst = emit(BRW_OPCODE_IF, reg_null_d, this->result, fs_reg(0)); + inst->conditional_mod = BRW_CONDITIONAL_NZ; +} + +void +fs_visitor::visit(ir_if *ir) +{ + fs_inst *inst; + + if (intel->gen != 6 && c->dispatch_width == 16) { + fail("Can't support (non-uniform) control flow on 16-wide\n"); + } + + /* Don't point the annotation at the if statement, because then it plus + * the then and else blocks get printed. + */ + this->base_ir = ir->condition; + + if (intel->gen == 6) { + emit_if_gen6(ir); + } else { + emit_bool_to_cond_code(ir->condition); + + inst = emit(BRW_OPCODE_IF); + inst->predicated = true; + } + + foreach_iter(exec_list_iterator, iter, ir->then_instructions) { + ir_instruction *ir = (ir_instruction *)iter.get(); + this->base_ir = ir; + this->result = reg_undef; + ir->accept(this); + } + + if (!ir->else_instructions.is_empty()) { + emit(BRW_OPCODE_ELSE); + + foreach_iter(exec_list_iterator, iter, ir->else_instructions) { + ir_instruction *ir = (ir_instruction *)iter.get(); + this->base_ir = ir; + this->result = reg_undef; + ir->accept(this); + } + } + + emit(BRW_OPCODE_ENDIF); +} + +void +fs_visitor::visit(ir_loop *ir) +{ + fs_reg counter = reg_undef; + + if (c->dispatch_width == 16) { + fail("Can't support (non-uniform) control flow on 16-wide\n"); + } + + if (ir->counter) { + this->base_ir = ir->counter; + ir->counter->accept(this); + counter = *(variable_storage(ir->counter)); + + if (ir->from) { + this->result = counter; + + this->base_ir = ir->from; + this->result = counter; + ir->from->accept(this); + + if (!this->result.equals(&counter)) + emit(BRW_OPCODE_MOV, counter, this->result); + } + } + + emit(BRW_OPCODE_DO); + + if (ir->to) { + this->base_ir = ir->to; + this->result = reg_undef; + ir->to->accept(this); + + fs_inst *inst = emit(BRW_OPCODE_CMP, reg_null_cmp, counter, this->result); + inst->conditional_mod = brw_conditional_for_comparison(ir->cmp); + + inst = emit(BRW_OPCODE_BREAK); + inst->predicated = true; + } + + foreach_iter(exec_list_iterator, iter, ir->body_instructions) { + ir_instruction *ir = (ir_instruction *)iter.get(); + + this->base_ir = ir; + this->result = reg_undef; + ir->accept(this); + } + + if (ir->increment) { + this->base_ir = ir->increment; + this->result = reg_undef; + ir->increment->accept(this); + emit(BRW_OPCODE_ADD, counter, counter, this->result); + } + + emit(BRW_OPCODE_WHILE); +} + +void +fs_visitor::visit(ir_loop_jump *ir) +{ + switch (ir->mode) { + case ir_loop_jump::jump_break: + emit(BRW_OPCODE_BREAK); + break; + case ir_loop_jump::jump_continue: + emit(BRW_OPCODE_CONTINUE); + break; + } +} + +void +fs_visitor::visit(ir_call *ir) +{ + assert(!"FINISHME"); +} + +void +fs_visitor::visit(ir_return *ir) +{ + assert(!"FINISHME"); +} + +void +fs_visitor::visit(ir_function *ir) +{ + /* Ignore function bodies other than main() -- we shouldn't see calls to + * them since they should all be inlined before we get to ir_to_mesa. + */ + if (strcmp(ir->name, "main") == 0) { + const ir_function_signature *sig; + exec_list empty; + + sig = ir->matching_signature(&empty); + + assert(sig); + + foreach_iter(exec_list_iterator, iter, sig->body) { + ir_instruction *ir = (ir_instruction *)iter.get(); + this->base_ir = ir; + this->result = reg_undef; + ir->accept(this); + } + } +} + +void +fs_visitor::visit(ir_function_signature *ir) +{ + assert(!"not reached"); + (void)ir; +} + +fs_inst * +fs_visitor::emit(fs_inst inst) +{ + fs_inst *list_inst = new(mem_ctx) fs_inst; + *list_inst = inst; + + if (force_uncompressed_stack > 0) + list_inst->force_uncompressed = true; + else if (force_sechalf_stack > 0) + list_inst->force_sechalf = true; + + list_inst->annotation = this->current_annotation; + list_inst->ir = this->base_ir; + + this->instructions.push_tail(list_inst); + + return list_inst; +} + +/** Emits a dummy fragment shader consisting of magenta for bringup purposes. */ +void +fs_visitor::emit_dummy_fs() +{ + /* Everyone's favorite color. */ + emit(BRW_OPCODE_MOV, fs_reg(MRF, 2), fs_reg(1.0f)); + emit(BRW_OPCODE_MOV, fs_reg(MRF, 3), fs_reg(0.0f)); + emit(BRW_OPCODE_MOV, fs_reg(MRF, 4), fs_reg(1.0f)); + emit(BRW_OPCODE_MOV, fs_reg(MRF, 5), fs_reg(0.0f)); + + fs_inst *write; + write = emit(FS_OPCODE_FB_WRITE, fs_reg(0), fs_reg(0)); + write->base_mrf = 0; +} + +/* The register location here is relative to the start of the URB + * data. It will get adjusted to be a real location before + * generate_code() time. + */ +struct brw_reg +fs_visitor::interp_reg(int location, int channel) +{ + int regnr = urb_setup[location] * 2 + channel / 2; + int stride = (channel & 1) * 4; + + assert(urb_setup[location] != -1); + + return brw_vec1_grf(regnr, stride); +} + +/** Emits the interpolation for the varying inputs. */ +void +fs_visitor::emit_interpolation_setup_gen4() +{ + this->current_annotation = "compute pixel centers"; + this->pixel_x = fs_reg(this, glsl_type::uint_type); + this->pixel_y = fs_reg(this, glsl_type::uint_type); + this->pixel_x.type = BRW_REGISTER_TYPE_UW; + this->pixel_y.type = BRW_REGISTER_TYPE_UW; + + emit(FS_OPCODE_PIXEL_X, this->pixel_x); + emit(FS_OPCODE_PIXEL_Y, this->pixel_y); + + this->current_annotation = "compute pixel deltas from v0"; + if (brw->has_pln) { + this->delta_x = fs_reg(this, glsl_type::vec2_type); + this->delta_y = this->delta_x; + this->delta_y.reg_offset++; + } else { + this->delta_x = fs_reg(this, glsl_type::float_type); + this->delta_y = fs_reg(this, glsl_type::float_type); + } + emit(BRW_OPCODE_ADD, this->delta_x, + this->pixel_x, fs_reg(negate(brw_vec1_grf(1, 0)))); + emit(BRW_OPCODE_ADD, this->delta_y, + this->pixel_y, fs_reg(negate(brw_vec1_grf(1, 1)))); + + this->current_annotation = "compute pos.w and 1/pos.w"; + /* Compute wpos.w. It's always in our setup, since it's needed to + * interpolate the other attributes. + */ + this->wpos_w = fs_reg(this, glsl_type::float_type); + emit(FS_OPCODE_LINTERP, wpos_w, this->delta_x, this->delta_y, + interp_reg(FRAG_ATTRIB_WPOS, 3)); + /* Compute the pixel 1/W value from wpos.w. */ + this->pixel_w = fs_reg(this, glsl_type::float_type); + emit_math(FS_OPCODE_RCP, this->pixel_w, wpos_w); + this->current_annotation = NULL; +} + +/** Emits the interpolation for the varying inputs. */ +void +fs_visitor::emit_interpolation_setup_gen6() +{ + struct brw_reg g1_uw = retype(brw_vec1_grf(1, 0), BRW_REGISTER_TYPE_UW); + + /* If the pixel centers end up used, the setup is the same as for gen4. */ + this->current_annotation = "compute pixel centers"; + fs_reg int_pixel_x = fs_reg(this, glsl_type::uint_type); + fs_reg int_pixel_y = fs_reg(this, glsl_type::uint_type); + int_pixel_x.type = BRW_REGISTER_TYPE_UW; + int_pixel_y.type = BRW_REGISTER_TYPE_UW; + emit(BRW_OPCODE_ADD, + int_pixel_x, + fs_reg(stride(suboffset(g1_uw, 4), 2, 4, 0)), + fs_reg(brw_imm_v(0x10101010))); + emit(BRW_OPCODE_ADD, + int_pixel_y, + fs_reg(stride(suboffset(g1_uw, 5), 2, 4, 0)), + fs_reg(brw_imm_v(0x11001100))); + + /* As of gen6, we can no longer mix float and int sources. We have + * to turn the integer pixel centers into floats for their actual + * use. + */ + this->pixel_x = fs_reg(this, glsl_type::float_type); + this->pixel_y = fs_reg(this, glsl_type::float_type); + emit(BRW_OPCODE_MOV, this->pixel_x, int_pixel_x); + emit(BRW_OPCODE_MOV, this->pixel_y, int_pixel_y); + + this->current_annotation = "compute pos.w"; + this->pixel_w = fs_reg(brw_vec8_grf(c->source_w_reg, 0)); + this->wpos_w = fs_reg(this, glsl_type::float_type); + emit_math(FS_OPCODE_RCP, this->wpos_w, this->pixel_w); + + this->delta_x = fs_reg(brw_vec8_grf(2, 0)); + this->delta_y = fs_reg(brw_vec8_grf(3, 0)); + + this->current_annotation = NULL; +} + +void +fs_visitor::emit_color_write(int index, int first_color_mrf, fs_reg color) +{ + int reg_width = c->dispatch_width / 8; + + if (c->dispatch_width == 8 || intel->gen == 6) { + /* SIMD8 write looks like: + * m + 0: r0 + * m + 1: r1 + * m + 2: g0 + * m + 3: g1 + * + * gen6 SIMD16 DP write looks like: + * m + 0: r0 + * m + 1: r1 + * m + 2: g0 + * m + 3: g1 + * m + 4: b0 + * m + 5: b1 + * m + 6: a0 + * m + 7: a1 + */ + emit(BRW_OPCODE_MOV, fs_reg(MRF, first_color_mrf + index * reg_width), + color); + } else { + /* pre-gen6 SIMD16 single source DP write looks like: + * m + 0: r0 + * m + 1: g0 + * m + 2: b0 + * m + 3: a0 + * m + 4: r1 + * m + 5: g1 + * m + 6: b1 + * m + 7: a1 + */ + if (brw->has_compr4) { + /* By setting the high bit of the MRF register number, we + * indicate that we want COMPR4 mode - instead of doing the + * usual destination + 1 for the second half we get + * destination + 4. + */ + emit(BRW_OPCODE_MOV, + fs_reg(MRF, BRW_MRF_COMPR4 + first_color_mrf + index), color); + } else { + push_force_uncompressed(); + emit(BRW_OPCODE_MOV, fs_reg(MRF, first_color_mrf + index), color); + pop_force_uncompressed(); + + push_force_sechalf(); + color.sechalf = true; + emit(BRW_OPCODE_MOV, fs_reg(MRF, first_color_mrf + index + 4), color); + pop_force_sechalf(); + color.sechalf = false; + } + } +} + +void +fs_visitor::emit_fb_writes() +{ + this->current_annotation = "FB write header"; + GLboolean header_present = GL_TRUE; + int nr = 0; + int reg_width = c->dispatch_width / 8; + + if (intel->gen >= 6 && + !this->kill_emitted && + c->key.nr_color_regions == 1) { + header_present = false; + } + + if (header_present) { + /* m0, m1 header */ + nr += 2; + } + + if (c->aa_dest_stencil_reg) { + push_force_uncompressed(); + emit(BRW_OPCODE_MOV, fs_reg(MRF, nr++), + fs_reg(brw_vec8_grf(c->aa_dest_stencil_reg, 0))); + pop_force_uncompressed(); + } + + /* Reserve space for color. It'll be filled in per MRT below. */ + int color_mrf = nr; + nr += 4 * reg_width; + + if (c->source_depth_to_render_target) { + if (intel->gen == 6 && c->dispatch_width == 16) { + /* For outputting oDepth on gen6, SIMD8 writes have to be + * used. This would require 8-wide moves of each half to + * message regs, kind of like pre-gen5 SIMD16 FB writes. + * Just bail on doing so for now. + */ + fail("Missing support for simd16 depth writes on gen6\n"); + } + + if (c->computes_depth) { + /* Hand over gl_FragDepth. */ + assert(this->frag_depth); + fs_reg depth = *(variable_storage(this->frag_depth)); + + emit(BRW_OPCODE_MOV, fs_reg(MRF, nr), depth); + } else { + /* Pass through the payload depth. */ + emit(BRW_OPCODE_MOV, fs_reg(MRF, nr), + fs_reg(brw_vec8_grf(c->source_depth_reg, 0))); + } + nr += reg_width; + } + + if (c->dest_depth_reg) { + emit(BRW_OPCODE_MOV, fs_reg(MRF, nr), + fs_reg(brw_vec8_grf(c->dest_depth_reg, 0))); + nr += reg_width; + } + + fs_reg color = reg_undef; + if (this->frag_color) + color = *(variable_storage(this->frag_color)); + else if (this->frag_data) { + color = *(variable_storage(this->frag_data)); + color.type = BRW_REGISTER_TYPE_F; + } + + for (int target = 0; target < c->key.nr_color_regions; target++) { + this->current_annotation = ralloc_asprintf(this->mem_ctx, + "FB write target %d", + target); + if (this->frag_color || this->frag_data) { + for (int i = 0; i < 4; i++) { + emit_color_write(i, color_mrf, color); + color.reg_offset++; + } + } + + if (this->frag_color) + color.reg_offset -= 4; + + fs_inst *inst = emit(FS_OPCODE_FB_WRITE); + inst->target = target; + inst->base_mrf = 0; + inst->mlen = nr; + if (target == c->key.nr_color_regions - 1) + inst->eot = true; + inst->header_present = header_present; + } + + if (c->key.nr_color_regions == 0) { + if (c->key.alpha_test && (this->frag_color || this->frag_data)) { + /* If the alpha test is enabled but there's no color buffer, + * we still need to send alpha out the pipeline to our null + * renderbuffer. + */ + color.reg_offset += 3; + emit_color_write(3, color_mrf, color); + } + + fs_inst *inst = emit(FS_OPCODE_FB_WRITE); + inst->base_mrf = 0; + inst->mlen = nr; + inst->eot = true; + inst->header_present = header_present; + } + + this->current_annotation = NULL; +} -- cgit v1.2.3 From 8752764076e5b3f052a57e0134424a37bf2e9164 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 16 May 2011 15:10:26 -0700 Subject: i965/fs: Do a FS compile up front at link time to produce link errors. At glLinkShaders time, a fail() call in FS compile in 8-wide (the one that's required to succeed, though we may relax that at some point for pre-Ironlake performance) will now report out as a link error. --- src/mesa/drivers/dri/i965/brw_fs.cpp | 110 ++++++++++++++++++++++++++----- src/mesa/drivers/dri/i965/brw_fs.h | 9 ++- src/mesa/drivers/dri/i965/brw_shader.cpp | 17 +++++ src/mesa/drivers/dri/i965/brw_wm.c | 26 ++++++-- src/mesa/drivers/dri/i965/brw_wm.h | 7 +- 5 files changed, 142 insertions(+), 27 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index bec43b43947..36040c3e071 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -84,17 +84,23 @@ fs_visitor::type_size(const struct glsl_type *type) void fs_visitor::fail(const char *format, ...) { - if (!failed) { - failed = true; + va_list va; + char *msg; - if (INTEL_DEBUG & DEBUG_WM) { - fprintf(stderr, "FS compile failed: "); + if (failed) + return; - va_list va; - va_start(va, format); - vfprintf(stderr, format, va); - va_end(va); - } + failed = true; + + va_start(va, format); + msg = ralloc_vasprintf(mem_ctx, format, va); + va_end(va); + msg = ralloc_asprintf(mem_ctx, "FS compile failed: %s\n", msg); + + this->fail_msg = msg; + + if (INTEL_DEBUG & DEBUG_WM) { + fprintf(stderr, msg); } } @@ -643,7 +649,7 @@ fs_visitor::calculate_urb_setup() /* Figure out where each of the incoming setup attributes lands. */ if (intel->gen >= 6) { for (unsigned int i = 0; i < FRAG_ATTRIB_MAX; i++) { - if (brw->fragment_program->Base.InputsRead & BITFIELD64_BIT(i)) { + if (fp->Base.InputsRead & BITFIELD64_BIT(i)) { urb_setup[i] = urb_next++; } } @@ -1587,11 +1593,10 @@ fs_visitor::run() } bool -brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c) +brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c, + struct gl_shader_program *prog) { struct intel_context *intel = &brw->intel; - struct gl_context *ctx = &intel->ctx; - struct gl_shader_program *prog = ctx->Shader.CurrentFragmentProgram; if (!prog) return false; @@ -1611,16 +1616,17 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c) */ c->dispatch_width = 8; - fs_visitor v(c, shader); + fs_visitor v(c, prog, shader); if (!v.run()) { - /* FINISHME: Cleanly fail, test at link time, etc. */ - assert(!"not reached"); + prog->LinkStatus = GL_FALSE; + prog->InfoLog = ralloc_strdup(prog, v.fail_msg); + return false; } if (intel->gen >= 5 && c->prog_data.nr_pull_params == 0) { c->dispatch_width = 16; - fs_visitor v2(c, shader); + fs_visitor v2(c, prog, shader); v2.import_uniforms(v.variable_ht); v2.run(); } @@ -1629,3 +1635,73 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c) return true; } + +bool +brw_fs_precompile(struct gl_context *ctx, struct gl_shader_program *prog) +{ + struct brw_context *brw = brw_context(ctx); + struct brw_wm_prog_key key; + struct gl_fragment_program *fp = prog->FragmentProgram; + struct brw_fragment_program *bfp = brw_fragment_program(fp); + + if (!fp) + return true; + + memset(&key, 0, sizeof(key)); + + if (fp->UsesKill) + key.iz_lookup |= IZ_PS_KILL_ALPHATEST_BIT; + + if (fp->Base.OutputsWritten & BITFIELD64_BIT(FRAG_RESULT_DEPTH)) + key.iz_lookup |= IZ_PS_COMPUTES_DEPTH_BIT; + + /* Just assume depth testing. */ + key.iz_lookup |= IZ_DEPTH_TEST_ENABLE_BIT; + key.iz_lookup |= IZ_DEPTH_WRITE_ENABLE_BIT; + + key.vp_outputs_written |= BITFIELD64_BIT(FRAG_ATTRIB_WPOS); + for (int i = 0; i < FRAG_ATTRIB_MAX; i++) { + int vp_index = -1; + + if (!(fp->Base.InputsRead & BITFIELD64_BIT(i))) + continue; + + key.proj_attrib_mask |= 1 << i; + + if (i <= FRAG_ATTRIB_TEX7) + vp_index = i; + else if (i >= FRAG_ATTRIB_VAR0) + vp_index = i - FRAG_ATTRIB_VAR0 + VERT_RESULT_VAR0; + + if (vp_index >= 0) + key.vp_outputs_written |= BITFIELD64_BIT(vp_index); + } + + key.clamp_fragment_color = true; + + for (int i = 0; i < BRW_MAX_TEX_UNIT; i++) { + /* FINISHME: depth compares might use (0,0,0,W) for example */ + key.tex_swizzles[i] = SWIZZLE_XYZW; + } + + if (fp->Base.InputsRead & FRAG_BIT_WPOS) { + key.drawable_height = ctx->DrawBuffer->Height; + key.render_to_fbo = ctx->DrawBuffer->Name != 0; + } + + key.nr_color_regions = 1; + + key.program_string_id = bfp->id; + + drm_intel_bo *old_prog_bo = brw->wm.prog_bo; + struct brw_wm_prog_data *old_prog_data = brw->wm.prog_data; + brw->wm.prog_bo = NULL; + + bool success = do_wm_prog(brw, prog, bfp, &key); + + drm_intel_bo_unreference(brw->wm.prog_bo); + brw->wm.prog_bo = old_prog_bo; + brw->wm.prog_data = old_prog_data; + + return success; +} diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index d1f70ee2117..7570dda1024 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -359,12 +359,14 @@ class fs_visitor : public ir_visitor { public: - fs_visitor(struct brw_wm_compile *c, struct brw_shader *shader) + fs_visitor(struct brw_wm_compile *c, struct gl_shader_program *prog, + struct brw_shader *shader) { this->c = c; this->p = &c->func; this->brw = p->brw; - this->fp = brw->fragment_program; + this->fp = prog->FragmentProgram; + this->prog = prog; this->intel = &brw->intel; this->ctx = &intel->ctx; this->mem_ctx = ralloc_context(NULL); @@ -544,6 +546,7 @@ public: struct brw_wm_compile *c; struct brw_compile *p; struct brw_shader *shader; + struct gl_shader_program *prog; void *mem_ctx; exec_list instructions; @@ -572,6 +575,7 @@ public: /** @} */ bool failed; + char *fail_msg; /* On entry to a visit() method, this is the storage for the * result. On exit, the visit() called may have changed it, in @@ -595,3 +599,4 @@ public: GLboolean brw_do_channel_expressions(struct exec_list *instructions); GLboolean brw_do_vector_splitting(struct exec_list *instructions); +bool brw_fs_precompile(struct gl_context *ctx, struct gl_shader_program *prog); diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 8516c9f8c73..9471883fb2b 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -56,6 +56,20 @@ brw_new_shader_program(struct gl_context *ctx, GLuint name) return &prog->base; } +/** + * Performs a compile of the shader stages even when we don't know + * what non-orthogonal state will be set, in the hope that it reflects + * the eventual NOS used, and thus allows us to produce link failures. + */ +bool +brw_shader_precompile(struct gl_context *ctx, struct gl_shader_program *prog) +{ + if (!brw_fs_precompile(ctx, prog)) + return false; + + return true; +} + GLboolean brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) { @@ -123,6 +137,9 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) if (!_mesa_ir_link_shader(ctx, prog)) return GL_FALSE; + if (!brw_shader_precompile(ctx, prog)) + return GL_FALSE; + return GL_TRUE; } diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c index 0f17c50c4f9..1aebd12df49 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.c +++ b/src/mesa/drivers/dri/i965/brw_wm.c @@ -34,6 +34,7 @@ #include "brw_state.h" #include "main/formats.h" #include "main/samplerobj.h" +#include "program/prog_parameter.h" #include "../glsl/ralloc.h" @@ -184,9 +185,10 @@ brw_wm_payload_setup(struct brw_context *brw, * Depending on the instructions used (i.e. flow control instructions) * we'll use one of two code generators. */ -static void do_wm_prog( struct brw_context *brw, - struct brw_fragment_program *fp, - struct brw_wm_prog_key *key) +bool do_wm_prog(struct brw_context *brw, + struct gl_shader_program *prog, + struct brw_fragment_program *fp, + struct brw_wm_prog_key *key) { struct intel_context *intel = &brw->intel; struct brw_wm_compile *c; @@ -202,7 +204,7 @@ static void do_wm_prog( struct brw_context *brw, * without triggering a segfault, no way to signal, * so just return. */ - return; + return false; } c->instruction = rzalloc_array(c, struct brw_wm_instruction, BRW_WM_MAX_INSN); c->prog_instructions = rzalloc_array(c, struct prog_instruction, BRW_WM_MAX_INSN); @@ -226,7 +228,10 @@ static void do_wm_prog( struct brw_context *brw, brw_init_compile(brw, &c->func, c); - if (!brw_wm_fs_emit(brw, c)) { + if (prog && prog->FragmentProgram) { + if (!brw_wm_fs_emit(brw, c, prog)) + return false; + } else { /* Fallback for fixed function and ARB_fp shaders. */ c->dispatch_width = 16; brw_wm_payload_setup(brw, c); @@ -274,6 +279,8 @@ static void do_wm_prog( struct brw_context *brw, program, program_size, &c->prog_data, sizeof(c->prog_data), &brw->wm.prog_data); + + return true; } @@ -462,6 +469,8 @@ static void brw_wm_populate_key( struct brw_context *brw, static void brw_prepare_wm_prog(struct brw_context *brw) { + struct intel_context *intel = &brw->intel; + struct gl_context *ctx = &intel->ctx; struct brw_wm_prog_key key; struct brw_fragment_program *fp = (struct brw_fragment_program *) brw->fragment_program; @@ -474,8 +483,11 @@ static void brw_prepare_wm_prog(struct brw_context *brw) brw->wm.prog_bo = brw_search_cache(&brw->cache, BRW_WM_PROG, &key, sizeof(key), &brw->wm.prog_data); - if (brw->wm.prog_bo == NULL) - do_wm_prog(brw, fp, &key); + if (brw->wm.prog_bo == NULL) { + bool success = do_wm_prog(brw, ctx->Shader.CurrentFragmentProgram, fp, + &key); + assert(success); + } } diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 3010e315811..e244b55a083 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -312,7 +312,8 @@ void brw_wm_print_program( struct brw_wm_compile *c, void brw_wm_lookup_iz(struct intel_context *intel, struct brw_wm_compile *c); -bool brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c); +bool brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c, + struct gl_shader_program *prog); /* brw_wm_emit.c */ void emit_alu1(struct brw_compile *p, @@ -474,5 +475,9 @@ bool brw_color_buffer_write_enabled(struct brw_context *brw); bool brw_render_target_supported(gl_format format); void brw_wm_payload_setup(struct brw_context *brw, struct brw_wm_compile *c); +bool do_wm_prog(struct brw_context *brw, + struct gl_shader_program *prog, + struct brw_fragment_program *fp, + struct brw_wm_prog_key *key); #endif -- cgit v1.2.3 From 9bd7e9c6b29b212a97bd4ca6c62836160b2f7698 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 May 2011 08:21:27 -0700 Subject: mesa: Include shader target in dumps of GLSL source. This makes automatic parsing of MESA_GLSL=dump output easier. Reviewed-by: Kenneth Graunke --- src/mesa/program/ir_to_mesa.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp index 510aeab82da..00869979dd8 100644 --- a/src/mesa/program/ir_to_mesa.cpp +++ b/src/mesa/program/ir_to_mesa.cpp @@ -3172,7 +3172,8 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, struct gl_shader *shader) &ctx->Extensions, ctx->API); if (ctx->Shader.Flags & GLSL_DUMP) { - printf("GLSL source for shader %d:\n", shader->Name); + printf("GLSL source for %s shader %d:\n", + _mesa_glsl_shader_target_name(state->target), shader->Name); printf("%s\n", shader->Source); } -- cgit v1.2.3 From 0653c450cc8da1212e1123a1cd6635c02f7d6919 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 27 May 2011 09:50:34 -0700 Subject: i965/fs: Fix up for 8752764076e5b3f052a57e0134424a37bf2e9164. I failed to commit and squash before pushing. --- src/mesa/drivers/dri/i965/brw_fs_emit.cpp | 2 +- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_emit.cpp b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp index 8958aeb8153..6b7c434949c 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_emit.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp @@ -602,7 +602,7 @@ fs_visitor::generate_code() if (unlikely(INTEL_DEBUG & DEBUG_WM)) { printf("Native code for fragment shader %d (%d-wide dispatch):\n", - ctx->Shader.CurrentFragmentProgram->Name, c->dispatch_width); + prog->Name, c->dispatch_width); } foreach_iter(exec_list_iterator, iter, this->instructions) { diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 1445582dc00..6e81256cec5 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -867,9 +867,9 @@ fs_visitor::visit(ir_texture *ir) assert(!ir->projector); sampler = _mesa_get_sampler_uniform_value(ir->sampler, - ctx->Shader.CurrentFragmentProgram, - &brw->fragment_program->Base); - sampler = c->fp->program.Base.SamplerUnits[sampler]; + prog, + &fp->Base); + sampler = fp->Base.SamplerUnits[sampler]; /* The 965 requires the EU to do the normalization of GL rectangle * texture coordinates. We use the program parameter state -- cgit v1.2.3 From 4eeabd5a3d9fc7377b0461aa2ae2924547e82052 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Thu, 26 May 2011 20:06:42 +0200 Subject: mesa: set parameter list StateFlags field in _mesa_layout_parameters() When using _mesa_layout_parameters, all params copied in the 'layout' output in the PASS 1 don't modify StateFlags (because they are simply memcpy'ed). This patch fixes the problem, assuring output gl_prog_param_list StateFlags field is the same as the input one. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Brian Paul --- src/mesa/program/prog_parameter_layout.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mesa/program/prog_parameter_layout.c b/src/mesa/program/prog_parameter_layout.c index d7dc97edbfb..90a9771080c 100644 --- a/src/mesa/program/prog_parameter_layout.c +++ b/src/mesa/program/prog_parameter_layout.c @@ -207,6 +207,7 @@ _mesa_layout_parameters(struct asm_parser_state *state) } } + layout->StateFlags = state->prog->Parameters->StateFlags; _mesa_free_parameter_list(state->prog->Parameters); state->prog->Parameters = layout; -- cgit v1.2.3 From fc48de4fabcf3a42a1cd7d447790afefc7d27af8 Mon Sep 17 00:00:00 2001 From: Stéphane Marchesin Date: Thu, 26 May 2011 17:19:03 -0700 Subject: glx: Fix glXGetFBConfigFromVisualSGIX. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We want to check for Success, otherwise it will fail even with the right visual. NOTE: This is a candidate for the 7.10 branch. Signed-off-by: Antoine Labour Signed-off-by: Stéphane Marchesin Signed-off-by: Brian Paul --- src/glx/glxcmds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index 012cd79506e..dbfa0edff98 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -1890,7 +1890,7 @@ glXGetFBConfigFromVisualSGIX(Display * dpy, XVisualInfo * vis) struct glx_display *priv; struct glx_screen *psc = NULL; - if ((GetGLXPrivScreenConfig(dpy, vis->screen, &priv, &psc) != Success) + if ((GetGLXPrivScreenConfig(dpy, vis->screen, &priv, &psc) == Success) && __glXExtensionBitIsEnabled(psc, SGIX_fbconfig_bit) && (psc->configs->fbconfigID != (int) GLX_DONT_CARE)) { return (GLXFBConfigSGIX) glx_config_find_visual(psc->configs, -- cgit v1.2.3 From 9a3f861faf58bad7c9361020c3bbed76495062ff Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 15 May 2011 02:34:16 +0200 Subject: r300g: print some HyperZ debug info --- src/gallium/drivers/r300/r300_blit.c | 3 +++ src/gallium/drivers/r300/r300_hyperz.c | 1 + 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index 4ec77df8fb7..7f430269e41 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -234,6 +234,9 @@ static void r300_clear(struct pipe_context* pipe, /* Setup Hyper-Z clears. */ if (r300->hyperz_enabled) { + DBG(r300, DBG_HYPERZ, "r300: Clear memory: %s%s\n", + zmask_clear ? "ZMASK " : "", hiz_clear ? "HIZ" : ""); + if (zmask_clear) { hyperz_dcv = hyperz->zb_depthclearvalue = r300_depth_clear_value(fb->zsbuf->format, depth, stencil); diff --git a/src/gallium/drivers/r300/r300_hyperz.c b/src/gallium/drivers/r300/r300_hyperz.c index e946d61d0ed..0f021e9f4e8 100644 --- a/src/gallium/drivers/r300/r300_hyperz.c +++ b/src/gallium/drivers/r300/r300_hyperz.c @@ -195,6 +195,7 @@ static void r300_update_hyperz(struct r300_context* r300) } return; } + DBG(r300, DBG_HYPERZ, "r300: Z-func: %i\n", dsa->dsa.depth.func); /* Set the HiZ function if needed. */ if (r300->hiz_func == HIZ_FUNC_NONE) { -- cgit v1.2.3 From 2397f20b6b0c7092927b33d0461c89200204906d Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 03:44:21 +0200 Subject: r300g: remove debug option DBG_FALL --- src/gallium/drivers/r300/r300_debug.c | 1 - src/gallium/drivers/r300/r300_screen.h | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/drivers/r300/r300_debug.c b/src/gallium/drivers/r300/r300_debug.c index b60cfd1f248..6e8b6ab2978 100644 --- a/src/gallium/drivers/r300/r300_debug.c +++ b/src/gallium/drivers/r300/r300_debug.c @@ -37,7 +37,6 @@ static const struct debug_named_value debug_options[] = { { "psc", DBG_PSC, "Log vertex stream registers" }, { "tex", DBG_TEX, "Log basic info about textures" }, { "texalloc", DBG_TEXALLOC, "Log texture mipmap tree info" }, - { "fall", DBG_FALL, "Log fallbacks" }, { "rs", DBG_RS, "Log rasterizer" }, { "fb", DBG_FB, "Log framebuffer" }, { "cbzb", DBG_CBZB, "Log fast color clear info" }, diff --git a/src/gallium/drivers/r300/r300_screen.h b/src/gallium/drivers/r300/r300_screen.h index bca86edb1d7..5df58be822f 100644 --- a/src/gallium/drivers/r300/r300_screen.h +++ b/src/gallium/drivers/r300/r300_screen.h @@ -88,7 +88,7 @@ radeon_winsys(struct pipe_screen *screen) { #define DBG_TEX (1 << 5) #define DBG_TEXALLOC (1 << 6) #define DBG_RS (1 << 7) -#define DBG_FALL (1 << 8) +/* gap - fill it */ #define DBG_FB (1 << 9) #define DBG_RS_BLOCK (1 << 10) #define DBG_CBZB (1 << 11) -- cgit v1.2.3 From 70b86fb273ee9c3b6fea750bc14eae43328ba677 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 03:46:15 +0200 Subject: r300g: remove fake occlusion queries (debug option) --- src/gallium/drivers/r300/r300_debug.c | 1 - src/gallium/drivers/r300/r300_query.c | 62 ++++------------------------------ src/gallium/drivers/r300/r300_screen.h | 2 +- 3 files changed, 7 insertions(+), 58 deletions(-) diff --git a/src/gallium/drivers/r300/r300_debug.c b/src/gallium/drivers/r300/r300_debug.c index 6e8b6ab2978..3ab28689fb8 100644 --- a/src/gallium/drivers/r300/r300_debug.c +++ b/src/gallium/drivers/r300/r300_debug.c @@ -43,7 +43,6 @@ static const struct debug_named_value debug_options[] = { { "hyperz", DBG_HYPERZ, "Log HyperZ info" }, { "upload", DBG_UPLOAD, "Log user buffer upload info" }, { "scissor", DBG_SCISSOR, "Log scissor info" }, - { "fakeocc", DBG_FAKE_OCC, "Use fake occlusion queries" }, { "anisohq", DBG_ANISOHQ, "Use high quality anisotropic filtering" }, { "notiling", DBG_NO_TILING, "Disable tiling" }, { "noimmd", DBG_NO_IMMD, "Disable immediate mode" }, diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c index 9752a519491..55a2e2fde7f 100644 --- a/src/gallium/drivers/r300/r300_query.c +++ b/src/gallium/drivers/r300/r300_query.c @@ -170,61 +170,11 @@ static void r300_render_condition(struct pipe_context *pipe, } } -/*************************************************************************** - * Fake occlusion queries (for debugging) - ***************************************************************************/ - -static unsigned r300_fake_query; - -static struct pipe_query *r300_fake_create_query(struct pipe_context *pipe, - unsigned query_type) -{ - return (struct pipe_query*)&r300_fake_query; -} - -static void r300_fake_destroy_query(struct pipe_context* pipe, - struct pipe_query* query) -{ -} - -static void r300_fake_begin_query(struct pipe_context* pipe, - struct pipe_query* query) -{ -} - -static void r300_fake_end_query(struct pipe_context* pipe, - struct pipe_query* query) -{ -} - -static boolean r300_fake_get_query_result(struct pipe_context* pipe, - struct pipe_query* query, - boolean wait, void* vresult) -{ - uint64_t *result = (uint64_t*)vresult; - *result = 1000000; - return TRUE; -} - -static void r300_fake_render_condition(struct pipe_context *pipe, - struct pipe_query *query, uint mode) -{ -} - void r300_init_query_functions(struct r300_context* r300) { - if (DBG_ON(r300, DBG_FAKE_OCC)) { - r300->context.create_query = r300_fake_create_query; - r300->context.destroy_query = r300_fake_destroy_query; - r300->context.begin_query = r300_fake_begin_query; - r300->context.end_query = r300_fake_end_query; - r300->context.get_query_result = r300_fake_get_query_result; - r300->context.render_condition = r300_fake_render_condition; - } else { - r300->context.create_query = r300_create_query; - r300->context.destroy_query = r300_destroy_query; - r300->context.begin_query = r300_begin_query; - r300->context.end_query = r300_end_query; - r300->context.get_query_result = r300_get_query_result; - r300->context.render_condition = r300_render_condition; - } + r300->context.create_query = r300_create_query; + r300->context.destroy_query = r300_destroy_query; + r300->context.begin_query = r300_begin_query; + r300->context.end_query = r300_end_query; + r300->context.get_query_result = r300_get_query_result; + r300->context.render_condition = r300_render_condition; } diff --git a/src/gallium/drivers/r300/r300_screen.h b/src/gallium/drivers/r300/r300_screen.h index 5df58be822f..3bafd0f8142 100644 --- a/src/gallium/drivers/r300/r300_screen.h +++ b/src/gallium/drivers/r300/r300_screen.h @@ -100,7 +100,7 @@ radeon_winsys(struct pipe_screen *screen) { #define DBG_ANISOHQ (1 << 16) #define DBG_NO_TILING (1 << 17) #define DBG_NO_IMMD (1 << 18) -#define DBG_FAKE_OCC (1 << 19) +/* gap - fill it */ #define DBG_NO_OPT (1 << 20) #define DBG_NO_CBZB (1 << 21) #define DBG_NO_ZMASK (1 << 22) -- cgit v1.2.3 From d18792f93d6dcdf7ef971522bdfba1ceeb0c6668 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 03:59:07 +0200 Subject: r300g: cleanup render_condition a bit --- src/gallium/drivers/r300/r300_query.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c index 55a2e2fde7f..782f041e926 100644 --- a/src/gallium/drivers/r300/r300_query.c +++ b/src/gallium/drivers/r300/r300_query.c @@ -156,17 +156,15 @@ static void r300_render_condition(struct pipe_context *pipe, uint64_t result = 0; boolean wait; + r300->skip_rendering = FALSE; + if (query) { wait = mode == PIPE_RENDER_COND_WAIT || mode == PIPE_RENDER_COND_BY_REGION_WAIT; - if (!r300_get_query_result(pipe, query, wait, &result)) { - r300->skip_rendering = FALSE; - } else { + if (r300_get_query_result(pipe, query, wait, &result)) { r300->skip_rendering = result == 0; } - } else { - r300->skip_rendering = FALSE; } } -- cgit v1.2.3 From f76787b3eae3f0b8af839fabfb24b57715a017f6 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 04:36:36 +0200 Subject: r300g: fix occlusion queries when depth test is disabled or zbuffer is missing From now on, depth test is always enabled in hardware. If depth test is disabled in Gallium, the hardware Z function is set to ALWAYS. If there is no zbuffer set, the colorbuffer0 memory is set as a zbuffer to silence the CS checker. This fixes piglit: - occlusion-query-discard - NV_conditional_render/bitmap - NV_conditional_render/drawpixels - NV_conditional_render/vertex_array --- src/gallium/drivers/r300/r300_emit.c | 13 +++++++++++++ src/gallium/drivers/r300/r300_state.c | 20 ++++++++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 874037ed9fd..5d6188e5120 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -439,6 +439,19 @@ void r300_emit_fb_state(struct r300_context* r300, unsigned size, void* state) OUT_CS_REG(R300_ZB_ZMASK_OFFSET, 0); OUT_CS_REG(R300_ZB_ZMASK_PITCH, surf->pitch_zmask); } + /* Set up a dummy zbuffer. Otherwise occlusion queries won't work. + * Use the first colorbuffer, we will disable writes in the DSA state + * so as not to corrupt it. */ + } else if (fb->nr_cbufs) { + surf = r300_surface(fb->cbufs[0]); + + OUT_CS_REG(R300_ZB_FORMAT, R300_DEPTHFORMAT_16BIT_INT_Z); + + OUT_CS_REG(R300_ZB_DEPTHOFFSET, 0); + OUT_CS_RELOC(surf); + + OUT_CS_REG(R300_ZB_DEPTHPITCH, 4 | R300_DEPTHMICROTILE_TILED); + OUT_CS_RELOC(surf); } END_CS; diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index bc6c67dd034..84d9da3ad9d 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -549,6 +549,10 @@ static void* dsa->z_stencil_control |= (r300_translate_depth_stencil_function(state->depth.func) << R300_Z_FUNC_SHIFT); + } else { + /* We must enable depth test, otherwise occlusion queries won't work. */ + dsa->z_buffer_control |= R300_Z_ENABLE; + dsa->z_stencil_control |= R300_ZS_ALWAYS; } /* Stencil buffer setup. */ @@ -632,11 +636,13 @@ static void* OUT_CB_REG(R500_FG_ALPHA_VALUE, dsa->alpha_value); END_CB; + /* We must enable depth test, otherwise occlusion queries won't work. + * We setup a dummy zbuffer to silent the CS checker, see emit_fb_state. */ BEGIN_CB(dsa->cb_zb_no_readwrite, 10); OUT_CB_REG(R300_FG_ALPHA_FUNC, dsa->alpha_function); OUT_CB_REG_SEQ(R300_ZB_CNTL, 3); - OUT_CB(0); - OUT_CB(0); + OUT_CB(R300_Z_ENABLE); + OUT_CB(R300_ZS_ALWAYS); OUT_CB(0); OUT_CB_REG(R500_ZB_STENCILREFMASK_BF, 0); OUT_CB_REG(R500_FG_ALPHA_VALUE, dsa->alpha_value); @@ -645,8 +651,8 @@ static void* BEGIN_CB(dsa->cb_fp16_zb_no_readwrite, 10); OUT_CB_REG(R300_FG_ALPHA_FUNC, dsa->alpha_function_fp16); OUT_CB_REG_SEQ(R300_ZB_CNTL, 3); - OUT_CB(0); - OUT_CB(0); + OUT_CB(R300_Z_ENABLE); + OUT_CB(R300_ZS_ALWAYS); OUT_CB(0); OUT_CB_REG(R500_ZB_STENCILREFMASK_BF, 0); OUT_CB_REG(R500_FG_ALPHA_VALUE, dsa->alpha_value); @@ -792,12 +798,14 @@ void r300_mark_fb_state_dirty(struct r300_context *r300, /* Now compute the fb_state atom size. */ r300->fb_state.size = 2 + (8 * state->nr_cbufs); - if (r300->cbzb_clear) + if (r300->cbzb_clear) { r300->fb_state.size += 10; - else if (state->zsbuf) { + } else if (state->zsbuf) { r300->fb_state.size += 10; if (r300->hyperz_enabled) r300->fb_state.size += 8; + } else if (state->nr_cbufs) { + r300->fb_state.size += 10; } /* The size of the rest of atoms stays the same. */ -- cgit v1.2.3 From aae56150f5d59d45e13a4033b20f0ccf20a3319c Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Tue, 24 May 2011 21:11:03 -0700 Subject: r300g: Fix non-dri builds This is just a temporary solution for now until there is a better way to share code between mesa and gallium. --- src/mesa/drivers/dri/r300/compiler/Makefile | 5 ++++- src/mesa/drivers/dri/r300/compiler/SConscript | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/r300/compiler/Makefile b/src/mesa/drivers/dri/r300/compiler/Makefile index 4bedfacd632..5aa13329ac2 100644 --- a/src/mesa/drivers/dri/r300/compiler/Makefile +++ b/src/mesa/drivers/dri/r300/compiler/Makefile @@ -38,7 +38,9 @@ C_SOURCES = \ r3xx_vertprog.c \ r3xx_vertprog_dump.c \ \ - memory_pool.c + memory_pool.c \ + $(TOP)/src/glsl/ralloc.c \ + $(TOP)/src/mesa/program/register_allocate.c ### Basic defines ### @@ -52,6 +54,7 @@ INCLUDES = \ -I$(TOP)/include \ -I$(TOP)/src/mesa \ -I$(TOP)/src/glsl \ + -I$(TOP)/src/mapi ##### TARGETS ##### diff --git a/src/mesa/drivers/dri/r300/compiler/SConscript b/src/mesa/drivers/dri/r300/compiler/SConscript index 9931537492e..2c748b6e214 100755 --- a/src/mesa/drivers/dri/r300/compiler/SConscript +++ b/src/mesa/drivers/dri/r300/compiler/SConscript @@ -4,6 +4,7 @@ env = env.Clone() env.Append(CPPPATH = '#/include') env.Append(CPPPATH = '#/src/mesa') env.Append(CPPPATH = '#/src/glsl') +env.Append(CPPPATH = '#/src/mapi') # temporary fix env['CFLAGS'] = str(env['CFLAGS']).replace('-Werror=declaration-after-statement', '') @@ -43,6 +44,8 @@ r300compiler = env.ConvenienceLibrary( 'r3xx_vertprog.c', 'r3xx_vertprog_dump.c', 'memory_pool.c', + '#/src/glsl/ralloc.c', + '#/src/mesa/program/register_allocate.c' ]) Return('r300compiler') -- cgit v1.2.3 From 76056510bcd35b6b5607b572c0c0ff47b5c5e7e2 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 06:12:22 +0200 Subject: r300g: clear can be killed by render condition Fixes piglit: - NV_conditional_render/clear --- src/gallium/drivers/r300/r300_blit.c | 37 ++++++++++++++++++++++++++------- src/gallium/drivers/r300/r300_context.h | 2 ++ src/gallium/drivers/r300/r300_render.c | 3 +++ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index 7f430269e41..388ebcdbf32 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -30,14 +30,24 @@ enum r300_blitter_op /* bitmask */ { - R300_CLEAR = 1, - R300_CLEAR_SURFACE = 2, - R300_COPY = 4 + R300_STOP_QUERY = 1, + R300_SAVE_TEXTURES = 2, + R300_SAVE_FRAMEBUFFER = 4, + R300_IGNORE_RENDER_COND = 8, + + R300_CLEAR = R300_STOP_QUERY, + + R300_CLEAR_SURFACE = R300_STOP_QUERY | R300_SAVE_FRAMEBUFFER, + + R300_COPY = R300_STOP_QUERY | R300_SAVE_FRAMEBUFFER | + R300_SAVE_TEXTURES | R300_IGNORE_RENDER_COND, + + R300_DECOMPRESS = R300_STOP_QUERY | R300_IGNORE_RENDER_COND, }; static void r300_blitter_begin(struct r300_context* r300, enum r300_blitter_op op) { - if (r300->query_current) { + if ((op & R300_STOP_QUERY) && r300->query_current) { r300->blitter_saved_query = r300->query_current; r300_stop_query(r300); } @@ -57,11 +67,11 @@ static void r300_blitter_begin(struct r300_context* r300, enum r300_blitter_op o util_blitter_save_vertex_buffers(r300->blitter, r300->vbuf_mgr->nr_vertex_buffers, r300->vbuf_mgr->vertex_buffer); - if (op & (R300_CLEAR_SURFACE | R300_COPY)) { + if (op & R300_SAVE_FRAMEBUFFER) { util_blitter_save_framebuffer(r300->blitter, r300->fb_state.state); } - if (op & R300_COPY) { + if (op & R300_SAVE_TEXTURES) { struct r300_textures_state* state = (struct r300_textures_state*)r300->textures_state.state; @@ -73,6 +83,14 @@ static void r300_blitter_begin(struct r300_context* r300, enum r300_blitter_op o r300->blitter, state->sampler_view_count, (struct pipe_sampler_view**)state->sampler_views); } + + if (op & R300_IGNORE_RENDER_COND) { + /* Save the flag. */ + r300->blitter_saved_skip_rendering = r300->skip_rendering+1; + r300->skip_rendering = FALSE; + } else { + r300->blitter_saved_skip_rendering = 0; + } } static void r300_blitter_end(struct r300_context *r300) @@ -81,6 +99,11 @@ static void r300_blitter_end(struct r300_context *r300) r300_resume_query(r300, r300->blitter_saved_query); r300->blitter_saved_query = NULL; } + + if (r300->blitter_saved_skip_rendering) { + /* Restore the flag. */ + r300->skip_rendering = r300->blitter_saved_skip_rendering-1; + } } static uint32_t r300_depth_clear_cb_value(enum pipe_format format, @@ -374,7 +397,7 @@ void r300_decompress_zmask(struct r300_context *r300) r300->zmask_decompress = TRUE; r300_mark_atom_dirty(r300, &r300->hyperz_state); - r300_blitter_begin(r300, R300_CLEAR); + r300_blitter_begin(r300, R300_DECOMPRESS); util_blitter_clear_depth_custom(r300->blitter, fb->width, fb->height, 0, r300->dsa_decompress_zmask); r300_blitter_end(r300); diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h index 139dd210b8f..d71db0001a9 100644 --- a/src/gallium/drivers/r300/r300_context.h +++ b/src/gallium/drivers/r300/r300_context.h @@ -584,6 +584,8 @@ struct r300_context { uint32_t zbuffer_bpp; /* Whether rendering is conditional and should be skipped. */ boolean skip_rendering; + /* The flag above saved by blitter. */ + unsigned char blitter_saved_skip_rendering; /* Point sprites texcoord index, 1 bit per texcoord */ int sprite_coord_enable; /* Whether two-sided color selection is enabled (AKA light_twoside). */ diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index 429b85545f7..b24e7faa644 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -1200,6 +1200,9 @@ static void r300_blitter_draw_rectangle(struct blitter_context *blitter, const float zeros[4] = {0, 0, 0, 0}; CS_LOCALS(r300); + if (r300->skip_rendering) + return; + r300->context.set_vertex_buffers(&r300->context, 0, NULL); if (type == UTIL_BLITTER_ATTRIB_TEXCOORD) -- cgit v1.2.3 From b9e8cb0a5904bdd60937627ffef4b93dc679c064 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 03:32:54 +0200 Subject: trace: implement render_condition --- src/gallium/drivers/trace/tr_context.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 4f0d6c4b97a..14e8b0ce8c4 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -1422,6 +1422,25 @@ static void trace_redefine_user_buffer(struct pipe_context *_context, } +static void trace_render_condition(struct pipe_context *_context, + struct pipe_query *query, + uint mode) +{ + struct trace_context *tr_context = trace_context(_context); + struct pipe_context *context = tr_context->pipe; + + trace_dump_call_begin("pipe_context", "render_condition"); + + trace_dump_arg(ptr, context); + trace_dump_arg(ptr, query); + trace_dump_arg(uint, mode); + + trace_dump_call_end(); + + context->render_condition(context, query, mode); +} + + static const struct debug_named_value rbug_blocker_flags[] = { {"before", 1, NULL}, {"after", 2, NULL}, @@ -1499,6 +1518,7 @@ trace_context_create(struct trace_screen *tr_scr, tr_ctx->base.clear_render_target = trace_context_clear_render_target; tr_ctx->base.clear_depth_stencil = trace_context_clear_depth_stencil; tr_ctx->base.flush = trace_context_flush; + tr_ctx->base.render_condition = pipe->render_condition ? trace_render_condition : NULL; tr_ctx->base.get_transfer = trace_context_get_transfer; tr_ctx->base.transfer_destroy = trace_context_transfer_destroy; -- cgit v1.2.3 From f133ff51a2b40da5381cc2b988cc1e17e12a1bf0 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 03:34:00 +0200 Subject: trace: implement texture_barrier --- src/gallium/drivers/trace/tr_context.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 14e8b0ce8c4..254976e099c 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -1441,6 +1441,21 @@ static void trace_render_condition(struct pipe_context *_context, } +static void trace_texture_barrier(struct pipe_context *_context) +{ + struct trace_context *tr_context = trace_context(_context); + struct pipe_context *context = tr_context->pipe; + + trace_dump_call_begin("pipe_context", "texture_barrier"); + + trace_dump_arg(ptr, context); + + trace_dump_call_end(); + + context->texture_barrier(context); +} + + static const struct debug_named_value rbug_blocker_flags[] = { {"before", 1, NULL}, {"after", 2, NULL}, @@ -1519,6 +1534,7 @@ trace_context_create(struct trace_screen *tr_scr, tr_ctx->base.clear_depth_stencil = trace_context_clear_depth_stencil; tr_ctx->base.flush = trace_context_flush; tr_ctx->base.render_condition = pipe->render_condition ? trace_render_condition : NULL; + tr_ctx->base.texture_barrier = pipe->texture_barrier ? trace_texture_barrier : NULL; tr_ctx->base.get_transfer = trace_context_get_transfer; tr_ctx->base.transfer_destroy = trace_context_transfer_destroy; -- cgit v1.2.3 From ff038170ff9042c0ee535be7c2837d200e06b0c0 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 02:53:01 +0200 Subject: tgsi/ureg: bump the limit of immediates Lowered indirect addressing can create lots of immediates. Fixes piglit/glsl-fs-uniform-array-7 on r300g. NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/gallium/auxiliary/tgsi/tgsi_ureg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/auxiliary/tgsi/tgsi_ureg.c b/src/gallium/auxiliary/tgsi/tgsi_ureg.c index 4564ab81f99..a920741c36b 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_ureg.c +++ b/src/gallium/auxiliary/tgsi/tgsi_ureg.c @@ -72,7 +72,7 @@ struct ureg_tokens { #define UREG_MAX_SYSTEM_VALUE PIPE_MAX_ATTRIBS #define UREG_MAX_OUTPUT PIPE_MAX_ATTRIBS #define UREG_MAX_CONSTANT_RANGE 32 -#define UREG_MAX_IMMEDIATE 32 +#define UREG_MAX_IMMEDIATE 256 #define UREG_MAX_TEMP 256 #define UREG_MAX_ADDR 2 #define UREG_MAX_PRED 1 -- cgit v1.2.3 From 49d4e803d369e0faedfa44063fb7f6232faa8175 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 28 May 2011 14:28:19 +0200 Subject: st/mesa: fix changing internal format via RenderbufferStorage The problem is: The second time the function is called with a new internal format, strb->format is usually not PIPE_FORMAT_NONE. RenderbufferStorage(... GL_RGBA8 ...); RenderbufferStorage(... GL_RGBA16 ...); // had no effect on the format Broken with: fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb Test: piglit/fbo-storage-completeness NOTE: This is a candidate for the 7.10 branch. (if fd6f2d6e5783d8810d0ab88e1c470958fd5eb2eb is cherry-picked as well) Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_fbo.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_fbo.c b/src/mesa/state_tracker/st_cb_fbo.c index 755b6bcf967..64424f77634 100644 --- a/src/mesa/state_tracker/st_cb_fbo.c +++ b/src/mesa/state_tracker/st_cb_fbo.c @@ -74,11 +74,8 @@ st_renderbuffer_alloc_storage(struct gl_context * ctx, enum pipe_format format; struct pipe_surface surf_tmpl; - if (strb->format != PIPE_FORMAT_NONE) - format = strb->format; - else - format = st_choose_renderbuffer_format(screen, internalFormat, - rb->NumSamples); + format = st_choose_renderbuffer_format(screen, internalFormat, + rb->NumSamples); if (format == PIPE_FORMAT_NONE) { return FALSE; -- cgit v1.2.3 From 26d718ff71e6d9f863e092ab46ed18212e207157 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 28 May 2011 14:51:16 +0200 Subject: st/mesa: add GL_DEPTH_COMPONENT32 fallback formats This makes D32 work again on chipsets which can't do it. Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_format.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index de30b4fc610..4360ed7d652 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -747,7 +747,10 @@ static struct format_mapping format_map[] = { }, { { GL_DEPTH_COMPONENT32, 0 }, - { PIPE_FORMAT_Z32_UNORM, 0 } + { PIPE_FORMAT_Z32_UNORM, + PIPE_FORMAT_Z24X8_UNORM, PIPE_FORMAT_X8Z24_UNORM, + PIPE_FORMAT_Z16_UNORM, + PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 } }, { { GL_DEPTH_COMPONENT, 0 }, -- cgit v1.2.3 From 6c638b7ca1109e9ec0f16e6c13e08928b4d05b23 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 28 May 2011 15:50:10 +0200 Subject: st/mesa: consolidate listing of depth formats Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_format.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 4360ed7d652..c22a1d5984f 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -595,6 +595,14 @@ struct format_mapping PIPE_FORMAT_A8B8G8R8_SRGB, \ 0 +#define DEFAULT_DEPTH_FORMATS \ + PIPE_FORMAT_Z24X8_UNORM, \ + PIPE_FORMAT_X8Z24_UNORM, \ + PIPE_FORMAT_Z16_UNORM, \ + PIPE_FORMAT_Z24_UNORM_S8_USCALED, \ + PIPE_FORMAT_S8_USCALED_Z24_UNORM, \ + 0 + /** * This table maps OpenGL texture format enums to Gallium pipe_format enums. * Multiple GL enums might map to multiple pipe_formats. @@ -736,27 +744,20 @@ static struct format_mapping format_map[] = { /* Depth formats */ { { GL_DEPTH_COMPONENT16, 0 }, - { PIPE_FORMAT_Z16_UNORM, PIPE_FORMAT_Z24_UNORM_S8_USCALED, - PIPE_FORMAT_S8_USCALED_Z24_UNORM, PIPE_FORMAT_Z32_UNORM, 0 } + { PIPE_FORMAT_Z16_UNORM, DEFAULT_DEPTH_FORMATS } }, { { GL_DEPTH_COMPONENT24, 0 }, { PIPE_FORMAT_Z24X8_UNORM, PIPE_FORMAT_X8Z24_UNORM, - PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, - PIPE_FORMAT_Z32_UNORM, 0 } + DEFAULT_DEPTH_FORMATS } }, { { GL_DEPTH_COMPONENT32, 0 }, - { PIPE_FORMAT_Z32_UNORM, - PIPE_FORMAT_Z24X8_UNORM, PIPE_FORMAT_X8Z24_UNORM, - PIPE_FORMAT_Z16_UNORM, - PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 } + { PIPE_FORMAT_Z32_UNORM, DEFAULT_DEPTH_FORMATS } }, { { GL_DEPTH_COMPONENT, 0 }, - { PIPE_FORMAT_Z24X8_UNORM, PIPE_FORMAT_X8Z24_UNORM, - PIPE_FORMAT_Z32_UNORM, PIPE_FORMAT_Z16_UNORM, - PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 } + { DEFAULT_DEPTH_FORMATS } }, /* stencil formats */ -- cgit v1.2.3 From 24ed0b384b74863d142a915a6bc9f998ddb20ef4 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sat, 28 May 2011 16:30:51 +0200 Subject: st/mesa: fix typos and add some format fallbacks in format_map Always default to DEFAULT_*_FORMATS for mandatory GL formats. (st_choose_format must not fail for those) Use DEFAULT_RGBA when alpha is required instead of RGB. Use DEFAULT_RGB otherwise. These are more or less the remaining differences between the old code and the new one. Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_format.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index c22a1d5984f..dc8551dfe3c 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -612,7 +612,7 @@ static struct format_mapping format_map[] = { /* Basic RGB, RGBA formats */ { { GL_RGB10, GL_RGB10_A2, 0 }, - { PIPE_FORMAT_B10G10R10A2_UNORM, 0 } + { PIPE_FORMAT_B10G10R10A2_UNORM, DEFAULT_RGBA_FORMATS } }, { { 4, GL_RGBA, GL_RGBA8, 0 }, @@ -620,7 +620,7 @@ static struct format_mapping format_map[] = { }, { { GL_BGRA, 0 }, - { PIPE_FORMAT_B8G8R8A8_UNORM, DEFAULT_RGB_FORMATS, 0 } + { PIPE_FORMAT_B8G8R8A8_UNORM, DEFAULT_RGBA_FORMATS } }, { { 3, GL_RGB, GL_RGB8, 0 }, @@ -628,7 +628,7 @@ static struct format_mapping format_map[] = { }, { { GL_RGB12, GL_RGB16, GL_RGBA12, GL_RGBA16, 0 }, - { PIPE_FORMAT_R16G16B16A16_UNORM, DEFAULT_RGB_FORMATS, 0 } + { PIPE_FORMAT_R16G16B16A16_UNORM, DEFAULT_RGBA_FORMATS } }, { { GL_RGBA4, GL_RGBA2, 0 }, @@ -636,7 +636,7 @@ static struct format_mapping format_map[] = { }, { { GL_RGB5_A1, 0 }, - { PIPE_FORMAT_B5G5R5A1_UNORM, DEFAULT_RGBA_FORMATS, 0 } + { PIPE_FORMAT_B5G5R5A1_UNORM, DEFAULT_RGBA_FORMATS } }, { { GL_R3_G3_B2, 0 }, @@ -663,11 +663,11 @@ static struct format_mapping format_map[] = { /* basic Luminance formats */ { { GL_LUMINANCE12, GL_LUMINANCE16, 0 }, - { PIPE_FORMAT_L16_UNORM, PIPE_FORMAT_L8_UNORM, DEFAULT_RGBA_FORMATS, 0 } + { PIPE_FORMAT_L16_UNORM, PIPE_FORMAT_L8_UNORM, DEFAULT_RGB_FORMATS } }, { { 1, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, 0 }, - { PIPE_FORMAT_L8_UNORM, DEFAULT_RGBA_FORMATS } + { PIPE_FORMAT_L8_UNORM, DEFAULT_RGB_FORMATS } }, /* basic Luminance/Alpha formats */ @@ -675,7 +675,7 @@ static struct format_mapping format_map[] = { { GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, 0}, { PIPE_FORMAT_L16A16_UNORM, PIPE_FORMAT_L8A8_UNORM, - PIPE_FORMAT_L8A8_UNORM, DEFAULT_RGBA_FORMATS } + DEFAULT_RGBA_FORMATS } }, { { 2, GL_LUMINANCE_ALPHA, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, 0 }, @@ -683,7 +683,7 @@ static struct format_mapping format_map[] = { }, { { GL_LUMINANCE4_ALPHA4, 0 }, - { PIPE_FORMAT_L4A4_UNORM, PIPE_FORMAT_L4A4_UNORM, + { PIPE_FORMAT_L4A4_UNORM, PIPE_FORMAT_L8A8_UNORM, DEFAULT_RGBA_FORMATS } }, @@ -707,11 +707,11 @@ static struct format_mapping format_map[] = { /* compressed formats */ /* XXX PIPE_BIND_SAMPLER_VIEW only */ { { GL_COMPRESSED_RGB, 0 }, - { PIPE_FORMAT_DXT1_RGB, 0 } + { PIPE_FORMAT_DXT1_RGB, DEFAULT_RGB_FORMATS } }, { { GL_COMPRESSED_RGBA, 0 }, - { PIPE_FORMAT_DXT5_RGBA, 0 } + { PIPE_FORMAT_DXT5_RGBA, DEFAULT_RGBA_FORMATS } }, { { GL_RGB_S3TC, GL_RGB4_S3TC, GL_COMPRESSED_RGB_S3TC_DXT1_EXT, 0 }, @@ -737,7 +737,7 @@ static struct format_mapping format_map[] = { }, { { GL_COMPRESSED_RGBA_FXT1_3DFX, 0 }, - { PIPE_FORMAT_RGB_FXT1, 0 } + { PIPE_FORMAT_RGBA_FXT1, 0 } }, #endif -- cgit v1.2.3 From 1c95c3ef9c51c0eb218f80959bbbf29d213a6af0 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 15:35:25 +0200 Subject: st/mesa: GenerateMipmap should not be killed by conditional rendering NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_condrender.c | 11 +++++++++-- src/mesa/state_tracker/st_context.h | 4 ++++ src/mesa/state_tracker/st_gen_mipmap.c | 9 +++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_condrender.c b/src/mesa/state_tracker/st_cb_condrender.c index 7766ead48b5..64c6c117fca 100644 --- a/src/mesa/state_tracker/st_cb_condrender.c +++ b/src/mesa/state_tracker/st_cb_condrender.c @@ -51,7 +51,8 @@ st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q, GLenum mode) { struct st_query_object *stq = st_query_object(q); - struct pipe_context *pipe = st_context(ctx)->pipe; + struct st_context *st = st_context(ctx); + struct pipe_context *pipe = st->pipe; uint m; switch (mode) { @@ -72,6 +73,9 @@ st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q, m = PIPE_RENDER_COND_WAIT; } + st->render_condition = stq->pq; + st->condition_mode = m; + pipe->render_condition(pipe, stq->pq, m); } @@ -82,9 +86,12 @@ st_BeginConditionalRender(struct gl_context *ctx, struct gl_query_object *q, static void st_EndConditionalRender(struct gl_context *ctx, struct gl_query_object *q) { - struct pipe_context *pipe = st_context(ctx)->pipe; + struct st_context *st = st_context(ctx); + struct pipe_context *pipe = st->pipe; (void) q; + pipe->render_condition(pipe, NULL, 0); + st->render_condition = NULL; } diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index c6fc31801d6..ff207039d78 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -200,6 +200,10 @@ struct st_context GLsizei stride; } user_attrib[PIPE_MAX_ATTRIBS]; unsigned num_user_attribs; + + /* Active render condition. */ + struct pipe_query *render_condition; + unsigned condition_mode; }; diff --git a/src/mesa/state_tracker/st_gen_mipmap.c b/src/mesa/state_tracker/st_gen_mipmap.c index b34794f1b24..b0911294a7c 100644 --- a/src/mesa/state_tracker/st_gen_mipmap.c +++ b/src/mesa/state_tracker/st_gen_mipmap.c @@ -91,9 +91,18 @@ st_render_mipmap(struct st_context *st, return FALSE; } + /* Disable conditional rendering. */ + if (st->render_condition) { + pipe->render_condition(pipe, NULL, 0); + } + util_gen_mipmap(st->gen_mipmap, psv, face, baseLevel, lastLevel, PIPE_TEX_FILTER_LINEAR); + if (st->render_condition) { + pipe->render_condition(pipe, st->render_condition, st->condition_mode); + } + return TRUE; } -- cgit v1.2.3 From c0277d953975ddc232aa34a101955d8314c99b96 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 17:52:29 +0200 Subject: swrast: BlitFramebuffer should not be killed by conditional rendering NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/mesa/swrast/s_blit.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/mesa/swrast/s_blit.c b/src/mesa/swrast/s_blit.c index d943e09b29f..3516a41bf41 100644 --- a/src/mesa/swrast/s_blit.c +++ b/src/mesa/swrast/s_blit.c @@ -568,9 +568,6 @@ _swrast_BlitFramebuffer(struct gl_context *ctx, }; GLint i; - if (!_mesa_check_conditional_render(ctx)) - return; /* don't clear */ - if (!ctx->DrawBuffer->_NumColorDrawBuffers) return; -- cgit v1.2.3 From ccfeb90b757ed2b2948bbe06fd4f4a15628639f9 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 17:52:29 +0200 Subject: st/mesa: BlitFramebuffer should not be killed by conditional rendering NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_blit.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_cb_blit.c b/src/mesa/state_tracker/st_cb_blit.c index 25c95c7b9dc..416be194d11 100644 --- a/src/mesa/state_tracker/st_cb_blit.c +++ b/src/mesa/state_tracker/st_cb_blit.c @@ -109,6 +109,11 @@ st_BlitFramebuffer(struct gl_context *ctx, dstY1 = tmp; } + /* Disable conditional rendering. */ + if (st->render_condition) { + st->pipe->render_condition(st->pipe, NULL, 0); + } + if (mask & GL_COLOR_BUFFER_BIT) { struct gl_renderbuffer_attachment *srcAtt = &readFB->Attachment[readFB->_ColorReadBufferIndex]; @@ -121,7 +126,7 @@ st_BlitFramebuffer(struct gl_context *ctx, struct pipe_surface *dstSurf = dstRb->surface; if (!srcObj->pt) - return; + goto done; util_blit_pixels(st->blit, srcObj->pt, srcAtt->TextureLevel, srcX0, srcY0, srcX1, srcY1, @@ -199,6 +204,13 @@ st_BlitFramebuffer(struct gl_context *ctx, } } } + +done: + /* Restore conditional rendering state. */ + if (st->render_condition) { + st->pipe->render_condition(st->pipe, st->render_condition, + st->condition_mode); + } } -- cgit v1.2.3 From 91e56c88972448079b5aafbc2b876d0ea0e28a39 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 15:35:25 +0200 Subject: st/mesa: CopyTex(Sub)Image should not be killed by conditional rendering NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_texture.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 9d824b46c23..c7c4da68418 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -1556,6 +1556,11 @@ st_copy_texsubimage(struct gl_context *ctx, srcY1 = srcY0 + height; } + /* Disable conditional rendering. */ + if (st->render_condition) { + pipe->render_condition(pipe, NULL, 0); + } + util_blit_pixels_writemask(st->blit, strb->texture, strb->surface->u.tex.level, @@ -1567,6 +1572,13 @@ st_copy_texsubimage(struct gl_context *ctx, destX + width, destY + height, 0.0, PIPE_TEX_MIPFILTER_NEAREST, format_writemask); + + /* Restore conditional rendering state. */ + if (st->render_condition) { + pipe->render_condition(pipe, st->render_condition, + st->condition_mode); + } + use_fallback = GL_FALSE; } -- cgit v1.2.3 From 8d45bbc4221d83bc2bfd0295f56b0f6d35b16a99 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 18:20:36 +0200 Subject: st/mesa: conditional rendering should not kill texture decompression via blit NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_texture.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index c7c4da68418..88f62902b25 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -795,6 +795,11 @@ decompress_with_blit(struct gl_context * ctx, GLenum target, GLint level, return; } + /* Disable conditional rendering. */ + if (st->render_condition) { + pipe->render_condition(pipe, NULL, 0); + } + /* blit/render/decompress */ util_blit_pixels_tex(st->blit, src_view, /* pipe_resource (src) */ @@ -806,6 +811,12 @@ decompress_with_blit(struct gl_context * ctx, GLenum target, GLint level, 0.0, /* z */ PIPE_TEX_MIPFILTER_NEAREST); + /* Restore conditional rendering state. */ + if (st->render_condition) { + pipe->render_condition(pipe, st->render_condition, + st->condition_mode); + } + /* map the dst_surface so we can read from it */ tex_xfer = pipe_get_transfer(pipe, dst_texture, 0, 0, -- cgit v1.2.3 From 1b37a41661f791b22f12b8477053a8dff6e33d6d Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 06:21:39 +0200 Subject: st/mesa: don't use resource_copy_region for CopyPixels with conditional render The conditional rendering should be able to kill CopyPixels. I assume the render condition has no effect on resource_copy_region. This fixes piglit: - NV_conditional_render/copypixels NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/mesa/state_tracker/st_cb_drawpixels.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c index 29c1df4ae5c..965fbcd1d9e 100644 --- a/src/mesa/state_tracker/st_cb_drawpixels.c +++ b/src/mesa/state_tracker/st_cb_drawpixels.c @@ -1247,7 +1247,8 @@ blit_copy_pixels(struct gl_context *ctx, GLint srcx, GLint srcy, !ctx->VertexProgram.Enabled && !ctx->Shader.CurrentFragmentProgram && st_fb_orientation(ctx->ReadBuffer) == st_fb_orientation(ctx->DrawBuffer) && - ctx->DrawBuffer->_NumColorDrawBuffers == 1) { + ctx->DrawBuffer->_NumColorDrawBuffers == 1 && + !ctx->Query.CondRenderQuery) { struct st_renderbuffer *rbRead, *rbDraw; GLint drawX, drawY; -- cgit v1.2.3 From 29ceeeba2004f71ccb91ce67f518dc1bf0ca6b17 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Sun, 29 May 2011 18:58:45 +0200 Subject: mesa: forbid UseProgram to be called inside Begin/End The spec doesn't state it should be an error, but. We have this piglit test useprogram-inside-begin that passes with this commit. No idea what's correct. NOTE: This is a candidate for the 7.10 branch. Reviewed-by: Brian Paul --- src/mesa/main/shaderapi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 03155b7ac04..1e237a95da1 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -1593,6 +1593,8 @@ _mesa_UseProgramObjectARB(GLhandleARB program) struct gl_transform_feedback_object *obj = ctx->TransformFeedback.CurrentObject; + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (obj->Active) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUseProgram(transform feedback active)"); -- cgit v1.2.3 From 65ee7cd1dfa043d28dd013f513732090470ef9d6 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 31 May 2011 10:52:07 +1000 Subject: r600g: don't emit color blend register on original R600. The original R600 doesn't have these so don't emit them. Signed-off-by: Dave Airlie --- src/gallium/winsys/r600/drm/r600_hw_context.c | 22 ++++++++++++++-------- src/gallium/winsys/r600/drm/r600_priv.h | 1 + 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index 1e29da2cf09..a3f85d22919 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -82,6 +82,12 @@ int r600_context_add_block(struct r600_context *ctx, const struct r600_reg *reg, continue; } + /* ignore regs not on R600 on R600 */ + if ((reg[i].flags & REG_FLAG_NOT_R600) && ctx->radeon->family == CHIP_R600) { + n = 1; + continue; + } + /* register that need relocation are in their own group */ /* find number of consecutive registers */ n = 0; @@ -321,14 +327,14 @@ static const struct r600_reg r600_context_reg_list[] = { {R_0286DC_SPI_FOG_CNTL, 0, 0, 0}, {R_0286E0_SPI_FOG_FUNC_SCALE, 0, 0, 0}, {R_0286E4_SPI_FOG_FUNC_BIAS, 0, 0, 0}, - {R_028780_CB_BLEND0_CONTROL, 0, 0, 0}, - {R_028784_CB_BLEND1_CONTROL, 0, 0, 0}, - {R_028788_CB_BLEND2_CONTROL, 0, 0, 0}, - {R_02878C_CB_BLEND3_CONTROL, 0, 0, 0}, - {R_028790_CB_BLEND4_CONTROL, 0, 0, 0}, - {R_028794_CB_BLEND5_CONTROL, 0, 0, 0}, - {R_028798_CB_BLEND6_CONTROL, 0, 0, 0}, - {R_02879C_CB_BLEND7_CONTROL, 0, 0, 0}, + {R_028780_CB_BLEND0_CONTROL, REG_FLAG_NOT_R600, 0, 0}, + {R_028784_CB_BLEND1_CONTROL, REG_FLAG_NOT_R600, 0, 0}, + {R_028788_CB_BLEND2_CONTROL, REG_FLAG_NOT_R600, 0, 0}, + {R_02878C_CB_BLEND3_CONTROL, REG_FLAG_NOT_R600, 0, 0}, + {R_028790_CB_BLEND4_CONTROL, REG_FLAG_NOT_R600, 0, 0}, + {R_028794_CB_BLEND5_CONTROL, REG_FLAG_NOT_R600, 0, 0}, + {R_028798_CB_BLEND6_CONTROL, REG_FLAG_NOT_R600, 0, 0}, + {R_02879C_CB_BLEND7_CONTROL, REG_FLAG_NOT_R600, 0, 0}, {R_0287A0_CB_SHADER_CONTROL, 0, 0, 0}, {R_028800_DB_DEPTH_CONTROL, 0, 0, 0}, {R_028804_CB_BLEND_CONTROL, 0, 0, 0}, diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h index 78b8190d6f5..2e6a4375199 100644 --- a/src/gallium/winsys/r600/drm/r600_priv.h +++ b/src/gallium/winsys/r600/drm/r600_priv.h @@ -65,6 +65,7 @@ struct radeon { #define REG_FLAG_NEED_BO 1 #define REG_FLAG_DIRTY_ALWAYS 2 #define REG_FLAG_RV6XX_SBU 4 +#define REG_FLAG_NOT_R600 8 struct r600_reg { unsigned offset; -- cgit v1.2.3 From 0cdd82df53a55907b311ede0e80c3ce2fb37f287 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 31 May 2011 15:33:07 +1000 Subject: r600g: add context control to start of CS On my original R600 card this at least lets gnome shell run for a while longer and the piglit r300-readcache test case works a lot more reliably. Still a few more stability issues running a piglit test run though. Signed-off-by: Dave Airlie --- src/gallium/winsys/r600/drm/r600_hw_context.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index a3f85d22919..84b56e3f8b3 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -40,6 +40,13 @@ #define GROUP_FORCE_NEW_BLOCK 0 +static void r600_init_cs(struct r600_context *ctx) +{ + ctx->pm4[ctx->pm4_cdwords++] = PKT3(PKT3_CONTEXT_CONTROL, 1, 0); + ctx->pm4[ctx->pm4_cdwords++] = 0x80000000; + ctx->pm4[ctx->pm4_cdwords++] = 0x80000000; +} + static void INLINE r600_context_update_fenced_list(struct r600_context *ctx) { for (int i = 0; i < ctx->creloc; i++) { @@ -780,6 +787,9 @@ int r600_context_init(struct r600_context *ctx, struct radeon *radeon) r = -ENOMEM; goto out_err; } + + if (ctx->radeon->family == CHIP_R600) + r600_init_cs(ctx); /* save 16dwords space for fence mecanism */ ctx->pm4_ndwords -= 16; @@ -1385,6 +1395,9 @@ void r600_context_flush(struct r600_context *ctx) ctx->pm4_cdwords = 0; ctx->flags = 0; + if (ctx->radeon->family == CHIP_R600) + r600_init_cs(ctx); + /* resume queries */ r600_context_queries_resume(ctx); -- cgit v1.2.3 From d2ede5e64809915a9432bd8aa77f56bd82935f3b Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 30 May 2011 20:21:16 +1000 Subject: gallium: include limits.h in p_config.h We are getting inconsistent methods for endian detection (same answer when it works, just doesn't work on some platforms) depending on whether __GLIBC__ is defined, which of course depends on include ordering before p_config.h Just make p_config.h include limits.h to solve this. Signed-off-by: Dave Airlie Reviewed-by: Brian Paul --- src/gallium/include/pipe/p_config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h index 1818c8b9e9a..40f6f2bcb5f 100644 --- a/src/gallium/include/pipe/p_config.h +++ b/src/gallium/include/pipe/p_config.h @@ -46,7 +46,7 @@ #ifndef P_CONFIG_H_ #define P_CONFIG_H_ - +#include /* * Compiler */ -- cgit v1.2.3 From c4175c811eda0958db08875e4b44b31e4ef15b48 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 31 May 2011 01:16:20 +0200 Subject: r300g: log when getting unsupported texture format --- src/gallium/drivers/r300/r300_state.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index 84d9da3ad9d..7127ea1ac16 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -1465,6 +1465,8 @@ r300_create_sampler_view(struct pipe_context *pipe, boolean dxtc_swizzle = r300_screen(pipe->screen)->caps.dxtc_swizzle; if (view) { + unsigned hwformat; + view->base = *templ; view->base.reference.count = 1; view->base.context = pipe; @@ -1476,11 +1478,19 @@ r300_create_sampler_view(struct pipe_context *pipe, view->swizzle[2] = templ->swizzle_b; view->swizzle[3] = templ->swizzle_a; + hwformat = r300_translate_texformat(templ->format, + view->swizzle, + is_r500, + dxtc_swizzle); + + if (hwformat == ~0) { + fprintf(stderr, "r300: Ooops. Got unsupported format %s in %s.\n", + util_format_short_name(templ->format), __func__); + } + assert(hwformat != ~0); + view->format = tex->tx_format; - view->format.format1 |= r300_translate_texformat(templ->format, - view->swizzle, - is_r500, - dxtc_swizzle); + view->format.format1 |= hwformat; if (is_r500) { view->format.format2 |= r500_tx_format_msb_bit(templ->format); } -- cgit v1.2.3 From b5518834e3ae117eafb32cfc5c7e7af51b4a1078 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Tue, 31 May 2011 10:43:31 -0400 Subject: r600g: cs init fixes - all asics need to emit CONTEXT_CONTROL - all r6xx asics need to emit 3D_START_CMDBUF The ddx and r600c already do this. r600g should as well. Signed-off-by: Alex Deucher --- src/gallium/winsys/r600/drm/evergreen_hw_context.c | 2 ++ src/gallium/winsys/r600/drm/r600_hw_context.c | 14 +++++++++----- src/gallium/winsys/r600/drm/r600_priv.h | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/gallium/winsys/r600/drm/evergreen_hw_context.c b/src/gallium/winsys/r600/drm/evergreen_hw_context.c index 6fcb54fb9c7..fc42c411889 100644 --- a/src/gallium/winsys/r600/drm/evergreen_hw_context.c +++ b/src/gallium/winsys/r600/drm/evergreen_hw_context.c @@ -1003,6 +1003,8 @@ int evergreen_context_init(struct r600_context *ctx, struct radeon *radeon) r = -ENOMEM; goto out_err; } + + r600_init_cs(ctx); /* save 16dwords space for fence mecanism */ ctx->pm4_ndwords -= 16; diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index 84b56e3f8b3..ffcc15b5217 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -40,8 +40,14 @@ #define GROUP_FORCE_NEW_BLOCK 0 -static void r600_init_cs(struct r600_context *ctx) +void r600_init_cs(struct r600_context *ctx) { + /* R6xx requires this packet at the start of each command buffer */ + if (ctx->radeon->family < CHIP_RV770) { + ctx->pm4[ctx->pm4_cdwords++] = PKT3(PKT3_START_3D_CMDBUF, 0, 0); + ctx->pm4[ctx->pm4_cdwords++] = 0x00000000; + } + /* All asics require this one */ ctx->pm4[ctx->pm4_cdwords++] = PKT3(PKT3_CONTEXT_CONTROL, 1, 0); ctx->pm4[ctx->pm4_cdwords++] = 0x80000000; ctx->pm4[ctx->pm4_cdwords++] = 0x80000000; @@ -788,8 +794,7 @@ int r600_context_init(struct r600_context *ctx, struct radeon *radeon) goto out_err; } - if (ctx->radeon->family == CHIP_R600) - r600_init_cs(ctx); + r600_init_cs(ctx); /* save 16dwords space for fence mecanism */ ctx->pm4_ndwords -= 16; @@ -1395,8 +1400,7 @@ void r600_context_flush(struct r600_context *ctx) ctx->pm4_cdwords = 0; ctx->flags = 0; - if (ctx->radeon->family == CHIP_R600) - r600_init_cs(ctx); + r600_init_cs(ctx); /* resume queries */ r600_context_queries_resume(ctx); diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h index 2e6a4375199..d785ede09ea 100644 --- a/src/gallium/winsys/r600/drm/r600_priv.h +++ b/src/gallium/winsys/r600/drm/r600_priv.h @@ -166,6 +166,7 @@ int r600_setup_block_table(struct r600_context *ctx); void r600_context_reg(struct r600_context *ctx, unsigned offset, unsigned value, unsigned mask); +void r600_init_cs(struct r600_context *ctx); /* * r600_bo.c */ -- cgit v1.2.3 From b1246cf13bc4e301b499a95d33e0cab26655fed5 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 31 May 2011 15:53:11 +0200 Subject: r300g: set squared microtiling for the dummy zbuffer The pitch of 4 is allowed for squared microtiling only. --- src/gallium/drivers/r300/r300_emit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 5d6188e5120..d214af4cd5b 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -450,7 +450,7 @@ void r300_emit_fb_state(struct r300_context* r300, unsigned size, void* state) OUT_CS_REG(R300_ZB_DEPTHOFFSET, 0); OUT_CS_RELOC(surf); - OUT_CS_REG(R300_ZB_DEPTHPITCH, 4 | R300_DEPTHMICROTILE_TILED); + OUT_CS_REG(R300_ZB_DEPTHPITCH, 4 | R300_DEPTHMICROTILE_TILED_SQUARE); OUT_CS_RELOC(surf); } -- cgit v1.2.3 From f29bc77572eb68c6e93371a5c7a9c4e4d1f9ee35 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Thu, 19 May 2011 14:34:19 +0200 Subject: intel: Remove unused NO_TILE macro Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/intel/intel_span.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c index 16bce20317e..5290342c3e1 100644 --- a/src/mesa/drivers/dri/intel/intel_span.c +++ b/src/mesa/drivers/dri/intel/intel_span.c @@ -70,9 +70,6 @@ intel_set_span_functions(struct intel_context *intel, #define HW_UNLOCK() -/* Convenience macros to avoid typing the address argument over and over */ -#define NO_TILE(_X, _Y) (((_Y) * irb->region->pitch + (_X)) * irb->region->cpp) - /* r5g6b5 color span and pixel functions */ #define SPANTMP_PIXEL_FMT GL_RGB #define SPANTMP_PIXEL_TYPE GL_UNSIGNED_SHORT_5_6_5 -- cgit v1.2.3 From d1946f53482a5a490a1da86d9bf9a3e2e866c0c4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 May 2011 09:11:38 -0700 Subject: i965: Move prepare_wm_surfaces texobj declarations inside of _ReallyEnabled. Interestingly, the compiler wasn't doing this for us at -O2, so we were doing the computation for every non-_ReallyEnabled unit. Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index de1953ed600..a3111768d62 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -558,10 +558,11 @@ prepare_wm_surfaces(struct brw_context *brw) for (i = 0; i < BRW_MAX_TEX_UNIT; i++) { const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i]; - struct gl_texture_object *tObj = texUnit->_Current; - struct intel_texture_object *intelObj = intel_texture_object(tObj); if (texUnit->_ReallyEnabled) { + struct gl_texture_object *tObj = texUnit->_Current; + struct intel_texture_object *intelObj = intel_texture_object(tObj); + brw_add_validated_bo(brw, intelObj->mt->region->buffer); nr_surfaces = SURF_INDEX_TEXTURE(i) + 1; } -- cgit v1.2.3 From bcbb1a536f7b6f00bbb164bd14d9f63102b9a8af Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 May 2011 09:20:04 -0700 Subject: i965: Drop a gratuitous "if" that the compiler didn't eliminate at -O2. Oddly, this increases compiled code size. (marking the 'if' as likely also increases code size, but not as much). Reviewed-by: Kenneth Graunke Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index a3111768d62..f5c06949c54 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -539,16 +539,14 @@ prepare_wm_surfaces(struct brw_context *brw) int i; int nr_surfaces = 0; - if (ctx->DrawBuffer->_NumColorDrawBuffers >= 1) { - for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) { - struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[i]; - struct intel_renderbuffer *irb = intel_renderbuffer(rb); - struct intel_region *region = irb ? irb->region : NULL; - - if (region) - brw_add_validated_bo(brw, region->buffer); - nr_surfaces = SURF_INDEX_DRAW(i) + 1; - } + for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) { + struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[i]; + struct intel_renderbuffer *irb = intel_renderbuffer(rb); + struct intel_region *region = irb ? irb->region : NULL; + + if (region) + brw_add_validated_bo(brw, region->buffer); + nr_surfaces = SURF_INDEX_DRAW(i) + 1; } if (brw->wm.const_bo) { -- cgit v1.2.3 From 3412069e23b7fa5656262f3dd1aa86f66980594d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 27 Apr 2011 21:50:20 -0700 Subject: i965: Don't compute brw->wm.input_size_masks when it's unused. It's only used in the old fragment program path, to avoid projection when w is always 1. We do want to do this in the new path pre-gen6 too, but we'll probably do it through the ir. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_vs_constval.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_vs_constval.c b/src/mesa/drivers/dri/i965/brw_vs_constval.c index 47cc0a7da7a..9fdfebe9f76 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_constval.c +++ b/src/mesa/drivers/dri/i965/brw_vs_constval.c @@ -194,11 +194,19 @@ static void calc_wm_input_sizes( struct brw_context *brw ) /* BRW_NEW_VERTEX_PROGRAM */ const struct brw_vertex_program *vp = brw_vertex_program_const(brw->vertex_program); + /* BRW_NEW_FRAGMENT_PROGRAM */ + struct gl_shader_program *prog = ctx->Shader.CurrentFragmentProgram; /* BRW_NEW_INPUT_DIMENSIONS */ struct tracker t; GLuint insn; GLuint i; + /* If we're going to go through brw_fs.cpp, we don't end up using + * brw->wm.input_size_masks. + */ + if (prog && prog->_LinkedShaders[MESA_SHADER_FRAGMENT]) + return; + memset(&t, 0, sizeof(t)); /* _NEW_LIGHT */ @@ -238,7 +246,9 @@ static void calc_wm_input_sizes( struct brw_context *brw ) const struct brw_tracked_state brw_wm_input_sizes = { .dirty = { .mesa = _NEW_LIGHT, - .brw = BRW_NEW_VERTEX_PROGRAM | BRW_NEW_INPUT_DIMENSIONS, + .brw = (BRW_NEW_FRAGMENT_PROGRAM | + BRW_NEW_VERTEX_PROGRAM | + BRW_NEW_INPUT_DIMENSIONS), .cache = 0 }, .prepare = calc_wm_input_sizes -- cgit v1.2.3 From 7d437b1f7fb64f187125a393eebe1d1c17db9961 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 31 May 2011 12:03:52 -0700 Subject: i965: Add defines for surface state setup using bitfield shifting. It turns out that gcc is just awful at generating code for brw_structs.h style state setup, and using bitshifting on u32s generates better code while being similarly readable (and more verifiable compared to the specs, using the INTEL_MASK macro). --- src/mesa/drivers/dri/i965/brw_defines.h | 34 ++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 5eb7892bb08..84b51c87280 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -28,7 +28,10 @@ * Authors: * Keith Whitwell */ - + +#define INTEL_MASK(high, low) (((1<<((high)-(low)+1))-1)<<(low)) +#define SET_FIELD(value, field) (((value) << field ## _SHIFT) & field ## _MASK) +#define GET_FIELD(word, field) (((word) & field ## _MASK) >> field ## _SHIFT) #ifndef BRW_DEFINES_H #define BRW_DEFINES_H @@ -243,8 +246,11 @@ #define BRW_STENCILOP_DECR 6 #define BRW_STENCILOP_INVERT 7 +/* Surface state DW0 */ +#define BRW_SURFACE_MIPLAYOUT_SHIFT 10 #define BRW_SURFACE_MIPMAPLAYOUT_BELOW 0 #define BRW_SURFACE_MIPMAPLAYOUT_RIGHT 1 +#define BRW_SURFACE_CUBEFACE_ENABLES 0x3f #define BRW_SURFACEFORMAT_R32G32B32A32_FLOAT 0x000 #define BRW_SURFACEFORMAT_R32G32B32A32_SINT 0x001 @@ -403,10 +409,14 @@ #define BRW_SURFACEFORMAT_R16G16B16_SNORM 0x19D #define BRW_SURFACEFORMAT_R16G16B16_SSCALED 0x19E #define BRW_SURFACEFORMAT_R16G16B16_USCALED 0x19F +#define BRW_SURFACE_FORMAT_SHIFT 18 +#define BRW_SURFACE_FORMAT_MASK INTEL_MASK(26, 18) #define BRW_SURFACERETURNFORMAT_FLOAT32 0 #define BRW_SURFACERETURNFORMAT_S1 1 +#define BRW_SURFACE_TYPE_SHIFT 29 +#define BRW_SURFACE_TYPE_MASK INTEL_MASK(31, 29) #define BRW_SURFACE_1D 0 #define BRW_SURFACE_2D 1 #define BRW_SURFACE_3D 2 @@ -414,6 +424,28 @@ #define BRW_SURFACE_BUFFER 4 #define BRW_SURFACE_NULL 7 +/* Surface state DW2 */ +#define BRW_SURFACE_HEIGHT_SHIFT 19 +#define BRW_SURFACE_HEIGHT_MASK INTEL_MASK(31, 19) +#define BRW_SURFACE_WIDTH_SHIFT 6 +#define BRW_SURFACE_WIDTH_MASK INTEL_MASK(18, 6) +#define BRW_SURFACE_LOD_SHIFT 2 +#define BRW_SURFACE_LOD_MASK INTEL_MASK(5, 2) + +/* Surface state DW3 */ +#define BRW_SURFACE_DEPTH_SHIFT 21 +#define BRW_SURFACE_DEPTH_MASK INTEL_MASK(31, 21) +#define BRW_SURFACE_PITCH_SHIFT 3 +#define BRW_SURFACE_PITCH_MASK INTEL_MASK(19, 3) +#define BRW_SURFACE_TILED (1 << 1) +#define BRW_SURFACE_TILED_Y (1 << 0) + +/* Surface state DW5 */ +#define BRW_SURFACE_X_OFFSET_SHIFT 25 +#define BRW_SURFACE_X_OFFSET_MASK INTEL_MASK(31, 25) +#define BRW_SURFACE_Y_OFFSET_SHIFT 20 +#define BRW_SURFACE_Y_OFFSET_MASK INTEL_MASK(23, 20) + #define BRW_TEXCOORDMODE_WRAP 0 #define BRW_TEXCOORDMODE_MIRROR 1 #define BRW_TEXCOORDMODE_CLAMP 2 -- cgit v1.2.3 From ae5c1fceba383d13ab66f1c8db652bd98dfa4a26 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 27 Apr 2011 21:50:20 -0700 Subject: i965: Replace structs with bitfield shifting for WM texture surfaces. This massively reduces compiled size (4.9% of brw_wm_surface_state.o). Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 67 +++++++++++++----------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index f5c06949c54..fddab05f481 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -219,6 +219,19 @@ brw_set_surface_tiling(struct brw_surface_state *surf, uint32_t tiling) } } +static uint32_t +brw_get_surface_tiling_bits(uint32_t tiling) +{ + switch (tiling) { + case I915_TILING_X: + return BRW_SURFACE_TILED; + case I915_TILING_Y: + return BRW_SURFACE_TILED | BRW_SURFACE_TILED_Y; + default: + return 0; + } +} + static void brw_update_texture_surface( struct gl_context *ctx, GLuint unit ) { @@ -228,46 +241,36 @@ brw_update_texture_surface( struct gl_context *ctx, GLuint unit ) struct gl_texture_image *firstImage = tObj->Image[0][tObj->BaseLevel]; struct gl_sampler_object *sampler = _mesa_get_samplerobj(ctx, unit); const GLuint surf_index = SURF_INDEX_TEXTURE(unit); - struct brw_surface_state *surf; + uint32_t *surf; - surf = brw_state_batch(brw, sizeof(*surf), 32, - &brw->wm.surf_offset[surf_index]); - memset(surf, 0, sizeof(*surf)); + surf = brw_state_batch(brw, 6 * 4, 32, &brw->wm.surf_offset[surf_index]); - surf->ss0.mipmap_layout_mode = BRW_SURFACE_MIPMAPLAYOUT_BELOW; - surf->ss0.surface_type = translate_tex_target(tObj->Target); - surf->ss0.surface_format = translate_tex_format(firstImage->TexFormat, - firstImage->InternalFormat, - sampler->DepthMode, - sampler->sRGBDecode); + surf[0] = (translate_tex_target(tObj->Target) << BRW_SURFACE_TYPE_SHIFT | + BRW_SURFACE_MIPMAPLAYOUT_BELOW << BRW_SURFACE_MIPLAYOUT_SHIFT | + BRW_SURFACE_CUBEFACE_ENABLES | + (translate_tex_format(firstImage->TexFormat, + firstImage->InternalFormat, + sampler->DepthMode, + sampler->sRGBDecode) << + BRW_SURFACE_FORMAT_SHIFT)); - /* This is ok for all textures with channel width 8bit or less: - */ -/* surf->ss0.data_return_format = BRW_SURFACERETURNFORMAT_S1; */ - surf->ss1.base_addr = intelObj->mt->region->buffer->offset; /* reloc */ + surf[1] = intelObj->mt->region->buffer->offset; /* reloc */ - surf->ss2.mip_count = intelObj->_MaxLevel - tObj->BaseLevel; - surf->ss2.width = firstImage->Width - 1; - surf->ss2.height = firstImage->Height - 1; - brw_set_surface_tiling(surf, intelObj->mt->region->tiling); - surf->ss3.pitch = (intelObj->mt->region->pitch * intelObj->mt->cpp) - 1; - surf->ss3.depth = firstImage->Depth - 1; + surf[2] = ((intelObj->_MaxLevel - tObj->BaseLevel) << BRW_SURFACE_LOD_SHIFT | + (firstImage->Width - 1) << BRW_SURFACE_WIDTH_SHIFT | + (firstImage->Height - 1) << BRW_SURFACE_HEIGHT_SHIFT); - surf->ss4.min_lod = 0; - - if (tObj->Target == GL_TEXTURE_CUBE_MAP) { - surf->ss0.cube_pos_x = 1; - surf->ss0.cube_pos_y = 1; - surf->ss0.cube_pos_z = 1; - surf->ss0.cube_neg_x = 1; - surf->ss0.cube_neg_y = 1; - surf->ss0.cube_neg_z = 1; - } + surf[3] = (brw_get_surface_tiling_bits(intelObj->mt->region->tiling) | + (firstImage->Depth - 1) << BRW_SURFACE_DEPTH_SHIFT | + ((intelObj->mt->region->pitch * intelObj->mt->cpp) - 1) << + BRW_SURFACE_PITCH_SHIFT); + + surf[4] = 0; + surf[5] = 0; /* Emit relocation to surface contents */ drm_intel_bo_emit_reloc(brw->intel.batch.bo, - brw->wm.surf_offset[surf_index] + - offsetof(struct brw_surface_state, ss1), + brw->wm.surf_offset[surf_index] + 4, intelObj->mt->region->buffer, 0, I915_GEM_DOMAIN_SAMPLER, 0); } -- cgit v1.2.3 From ac11c01ddeccf34230f363c0723783a1e2fce555 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 May 2011 10:35:07 -0700 Subject: i965: Replace struct with bit shifting for WM render target surfaces. This massively reduces compiled size (6.7% of brw_wm_surface_state.o). Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_defines.h | 5 ++ src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 71 +++++++++++++----------- 2 files changed, 45 insertions(+), 31 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 84b51c87280..104d6d10b37 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -251,6 +251,11 @@ #define BRW_SURFACE_MIPMAPLAYOUT_BELOW 0 #define BRW_SURFACE_MIPMAPLAYOUT_RIGHT 1 #define BRW_SURFACE_CUBEFACE_ENABLES 0x3f +#define BRW_SURFACE_BLEND_ENABLED (1 << 13) +#define BRW_SURFACE_WRITEDISABLE_B_SHIFT 14 +#define BRW_SURFACE_WRITEDISABLE_G_SHIFT 15 +#define BRW_SURFACE_WRITEDISABLE_R_SHIFT 16 +#define BRW_SURFACE_WRITEDISABLE_A_SHIFT 17 #define BRW_SURFACEFORMAT_R32G32B32A32_FLOAT 0x000 #define BRW_SURFACEFORMAT_R32G32B32A32_SINT 0x001 diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index fddab05f481..cd883d9b370 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -452,12 +452,11 @@ brw_update_renderbuffer_surface(struct brw_context *brw, struct gl_context *ctx = &intel->ctx; struct intel_renderbuffer *irb = intel_renderbuffer(rb); struct intel_region *region = irb->region; - struct brw_surface_state *surf; + uint32_t *surf; uint32_t tile_x, tile_y; + uint32_t format = 0; - surf = brw_state_batch(brw, sizeof(*surf), 32, - &brw->wm.surf_offset[unit]); - memset(surf, 0, sizeof(*surf)); + surf = brw_state_batch(brw, 6 * 4, 32, &brw->wm.surf_offset[unit]); switch (irb->Base.Format) { case MESA_FORMAT_XRGB8888: @@ -468,7 +467,7 @@ brw_update_renderbuffer_surface(struct brw_context *brw, * cases where GL_DST_ALPHA (or GL_ONE_MINUS_DST_ALPHA) is * used. */ - surf->ss0.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; + format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; break; case MESA_FORMAT_INTENSITY_FLOAT32: case MESA_FORMAT_LUMINANCE_FLOAT32: @@ -476,25 +475,35 @@ brw_update_renderbuffer_surface(struct brw_context *brw, * channel into R, which is to say that we just treat them as * GL_RED. */ - surf->ss0.surface_format = BRW_SURFACEFORMAT_R32_FLOAT; + format = BRW_SURFACEFORMAT_R32_FLOAT; break; case MESA_FORMAT_SARGB8: /* without GL_EXT_framebuffer_sRGB we shouldn't bind sRGB surfaces to the blend/update as sRGB */ if (ctx->Color.sRGBEnabled) - surf->ss0.surface_format = brw_format_for_mesa_format(irb->Base.Format); + format = brw_format_for_mesa_format(irb->Base.Format); else - surf->ss0.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; + format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; break; default: assert(brw_render_target_supported(irb->Base.Format)); - surf->ss0.surface_format = brw_format_for_mesa_format(irb->Base.Format); + format = brw_format_for_mesa_format(irb->Base.Format); } - surf->ss0.surface_type = BRW_SURFACE_2D; + surf[0] = (BRW_SURFACE_2D << BRW_SURFACE_TYPE_SHIFT | + format << BRW_SURFACE_FORMAT_SHIFT); + /* reloc */ - surf->ss1.base_addr = intel_region_tile_offsets(region, &tile_x, &tile_y); - surf->ss1.base_addr += region->buffer->offset; /* reloc */ + surf[1] = (intel_region_tile_offsets(region, &tile_x, &tile_y) + + region->buffer->offset); + + surf[2] = ((rb->Width - 1) << BRW_SURFACE_WIDTH_SHIFT | + (rb->Height - 1) << BRW_SURFACE_HEIGHT_SHIFT); + + surf[3] = (brw_get_surface_tiling_bits(region->tiling) | + ((region->pitch * region->cpp) - 1) << BRW_SURFACE_PITCH_SHIFT); + + surf[4] = 0; assert(brw->has_surface_tile_offset || (tile_x == 0 && tile_y == 0)); /* Note that the low bits of these fields are missing, so @@ -502,35 +511,35 @@ brw_update_renderbuffer_surface(struct brw_context *brw, */ assert(tile_x % 4 == 0); assert(tile_y % 2 == 0); - surf->ss5.x_offset = tile_x / 4; - surf->ss5.y_offset = tile_y / 2; - - surf->ss2.width = rb->Width - 1; - surf->ss2.height = rb->Height - 1; - brw_set_surface_tiling(surf, region->tiling); - surf->ss3.pitch = (region->pitch * region->cpp) - 1; + surf[5] = ((tile_x / 4) << BRW_SURFACE_X_OFFSET_SHIFT | + (tile_y / 2) << BRW_SURFACE_Y_OFFSET_SHIFT); if (intel->gen < 6) { /* _NEW_COLOR */ - surf->ss0.color_blend = (!ctx->Color._LogicOpEnabled && - (ctx->Color.BlendEnabled & (1 << unit))); - surf->ss0.writedisable_red = !ctx->Color.ColorMask[unit][0]; - surf->ss0.writedisable_green = !ctx->Color.ColorMask[unit][1]; - surf->ss0.writedisable_blue = !ctx->Color.ColorMask[unit][2]; + if (!ctx->Color._LogicOpEnabled && + (ctx->Color.BlendEnabled & (1 << unit))) + surf[0] |= BRW_SURFACE_BLEND_ENABLED; + + if (!ctx->Color.ColorMask[unit][0]) + surf[0] |= 1 << BRW_SURFACE_WRITEDISABLE_R_SHIFT; + if (!ctx->Color.ColorMask[unit][1]) + surf[0] |= 1 << BRW_SURFACE_WRITEDISABLE_G_SHIFT; + if (!ctx->Color.ColorMask[unit][2]) + surf[0] |= 1 << BRW_SURFACE_WRITEDISABLE_B_SHIFT; + /* As mentioned above, disable writes to the alpha component when the * renderbuffer is XRGB. */ - if (ctx->DrawBuffer->Visual.alphaBits == 0) - surf->ss0.writedisable_alpha = 1; - else - surf->ss0.writedisable_alpha = !ctx->Color.ColorMask[unit][3]; + if (ctx->DrawBuffer->Visual.alphaBits == 0 || + !ctx->Color.ColorMask[unit][3]) { + surf[0] |= 1 << BRW_SURFACE_WRITEDISABLE_A_SHIFT; + } } drm_intel_bo_emit_reloc(brw->intel.batch.bo, - brw->wm.surf_offset[unit] + - offsetof(struct brw_surface_state, ss1), + brw->wm.surf_offset[unit] + 4, region->buffer, - surf->ss1.base_addr - region->buffer->offset, + surf[1] - region->buffer->offset, I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER); } -- cgit v1.2.3 From 9bdc44a52804a64219a0ca1a061b18596863e524 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 May 2011 10:51:45 -0700 Subject: i965: Replace struct with bit shifting for WM pull constant surfaces. This reduces compiled size (4.7% of brw_wm_surface_state.o). Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_defines.h | 1 + src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 51 ++++++++---------------- 2 files changed, 17 insertions(+), 35 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 104d6d10b37..d8f4beff1dd 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -247,6 +247,7 @@ #define BRW_STENCILOP_INVERT 7 /* Surface state DW0 */ +#define BRW_SURFACE_RC_READ_WRITE (1 << 8) #define BRW_SURFACE_MIPLAYOUT_SHIFT 10 #define BRW_SURFACE_MIPMAPLAYOUT_BELOW 0 #define BRW_SURFACE_MIPMAPLAYOUT_RIGHT 1 diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index cd883d9b370..854e69dcd3a 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -200,25 +200,6 @@ translate_tex_format(gl_format mesa_format, } } -static void -brw_set_surface_tiling(struct brw_surface_state *surf, uint32_t tiling) -{ - switch (tiling) { - case I915_TILING_NONE: - surf->ss3.tiled_surface = 0; - surf->ss3.tile_walk = 0; - break; - case I915_TILING_X: - surf->ss3.tiled_surface = 1; - surf->ss3.tile_walk = BRW_TILEWALK_XMAJOR; - break; - case I915_TILING_Y: - surf->ss3.tiled_surface = 1; - surf->ss3.tile_walk = BRW_TILEWALK_YMAJOR; - break; - } -} - static uint32_t brw_get_surface_tiling_bits(uint32_t tiling) { @@ -287,34 +268,34 @@ brw_create_constant_surface(struct brw_context *brw, { struct intel_context *intel = &brw->intel; const GLint w = width - 1; - struct brw_surface_state *surf; + uint32_t *surf; - surf = brw_state_batch(brw, sizeof(*surf), 32, out_offset); - memset(surf, 0, sizeof(*surf)); + surf = brw_state_batch(brw, 6 * 4, 32, out_offset); - surf->ss0.mipmap_layout_mode = BRW_SURFACE_MIPMAPLAYOUT_BELOW; - surf->ss0.surface_type = BRW_SURFACE_BUFFER; - surf->ss0.surface_format = BRW_SURFACEFORMAT_R32G32B32A32_FLOAT; + surf[0] = (BRW_SURFACE_BUFFER << BRW_SURFACE_TYPE_SHIFT | + BRW_SURFACE_MIPMAPLAYOUT_BELOW << BRW_SURFACE_MIPLAYOUT_SHIFT | + BRW_SURFACEFORMAT_R32G32B32A32_FLOAT << BRW_SURFACE_FORMAT_SHIFT); if (intel->gen >= 6) - surf->ss0.render_cache_read_write = 1; + surf[0] |= BRW_SURFACE_RC_READ_WRITE; - assert(bo); - surf->ss1.base_addr = bo->offset; /* reloc */ + surf[1] = bo->offset; /* reloc */ - surf->ss2.width = w & 0x7f; /* bits 6:0 of size or width */ - surf->ss2.height = (w >> 7) & 0x1fff; /* bits 19:7 of size or width */ - surf->ss3.depth = (w >> 20) & 0x7f; /* bits 26:20 of size or width */ - surf->ss3.pitch = (width * 16) - 1; /* ignored?? */ - brw_set_surface_tiling(surf, I915_TILING_NONE); /* tiling now allowed */ + surf[2] = (((w & 0x7f) - 1) << BRW_SURFACE_WIDTH_SHIFT | + (((w >> 7) & 0x1fff) - 1) << BRW_SURFACE_HEIGHT_SHIFT); + + surf[3] = ((((w >> 20) & 0x7f) - 1) << BRW_SURFACE_DEPTH_SHIFT | + (width * 16 - 1) << BRW_SURFACE_PITCH_SHIFT); + + surf[4] = 0; + surf[5] = 0; /* Emit relocation to surface contents. Section 5.1.1 of the gen4 * bspec ("Data Cache") says that the data cache does not exist as * a separate cache and is just the sampler cache. */ drm_intel_bo_emit_reloc(brw->intel.batch.bo, - (*out_offset + - offsetof(struct brw_surface_state, ss1)), + *out_offset + 4, bo, 0, I915_GEM_DOMAIN_SAMPLER, 0); } -- cgit v1.2.3 From e764f10ea557c9d819ad25bf1e700b1b3bd83277 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 17 May 2011 10:55:40 -0700 Subject: i965: Replace struct with bit shifting for WM null surfaces. Reduces compiled size of brw_wm_surface_state.o another 1.9%. Overall, this brw_wm_surface_state reduction series cuts firefox-talos-gfx runtime by 0.68% +/- 0.42% (n=6). Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 854e69dcd3a..6c1eba69d4b 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -400,23 +400,23 @@ static void brw_update_null_renderbuffer_surface(struct brw_context *brw, unsigned int unit) { struct intel_context *intel = &brw->intel; - struct brw_surface_state *surf; - - surf = brw_state_batch(brw, sizeof(*surf), 32, - &brw->wm.surf_offset[unit]); - memset(surf, 0, sizeof(*surf)); + uint32_t *surf; - surf->ss0.surface_type = BRW_SURFACE_NULL; - surf->ss0.surface_format = BRW_SURFACEFORMAT_B8G8R8A8_UNORM; + surf = brw_state_batch(brw, 6 * 4, 32, &brw->wm.surf_offset[unit]); + surf[0] = (BRW_SURFACE_NULL << BRW_SURFACE_TYPE_SHIFT | + BRW_SURFACEFORMAT_B8G8R8A8_UNORM << BRW_SURFACE_FORMAT_SHIFT); if (intel->gen < 6) { - /* _NEW_COLOR */ - surf->ss0.color_blend = 0; - surf->ss0.writedisable_red = 1; - surf->ss0.writedisable_green = 1; - surf->ss0.writedisable_blue = 1; - surf->ss0.writedisable_alpha = 1; + surf[0] |= (1 << BRW_SURFACE_WRITEDISABLE_R_SHIFT | + 1 << BRW_SURFACE_WRITEDISABLE_G_SHIFT | + 1 << BRW_SURFACE_WRITEDISABLE_B_SHIFT | + 1 << BRW_SURFACE_WRITEDISABLE_A_SHIFT); } + surf[1] = 0; + surf[2] = 0; + surf[3] = 0; + surf[4] = 0; + surf[5] = 0; } /** -- cgit v1.2.3 From ee643b23ff546492c67d4e2b525ced7329a3c020 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 24 May 2011 12:32:19 -0700 Subject: i965: Switch brw_state_dump to using bitshifting for surface state. Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_defines.h | 4 ++++ src/mesa/drivers/dri/i965/brw_state_dump.c | 22 +++++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index d8f4beff1dd..6d41b1e69d3 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -446,6 +446,10 @@ #define BRW_SURFACE_TILED (1 << 1) #define BRW_SURFACE_TILED_Y (1 << 0) +/* Surface state DW4 */ +#define BRW_SURFACE_MIN_LOD_SHIFT 28 +#define BRW_SURFACE_MIN_LOD_MASK INTEL_MASK(31, 28) + /* Surface state DW5 */ #define BRW_SURFACE_X_OFFSET_SHIFT 25 #define BRW_SURFACE_X_OFFSET_MASK INTEL_MASK(31, 25) diff --git a/src/mesa/drivers/dri/i965/brw_state_dump.c b/src/mesa/drivers/dri/i965/brw_state_dump.c index 3a3aa8c0346..ef58619702d 100644 --- a/src/mesa/drivers/dri/i965/brw_state_dump.c +++ b/src/mesa/drivers/dri/i965/brw_state_dump.c @@ -110,7 +110,7 @@ static void dump_wm_surface_state(struct brw_context *brw) for (i = 0; i < brw->wm.nr_surfaces; i++) { unsigned int surfoff; - struct brw_surface_state *surf; + uint32_t *surf; char name[20]; if (brw->wm.surf_offset[i] == 0) { @@ -118,21 +118,25 @@ static void dump_wm_surface_state(struct brw_context *brw) continue; } surfoff = bo->offset + brw->wm.surf_offset[i]; - surf = (struct brw_surface_state *)(base + brw->wm.surf_offset[i]); + surf = (uint32_t *)(base + brw->wm.surf_offset[i]); sprintf(name, "WM SURF%d", i); state_out(name, surf, surfoff, 0, "%s %s\n", - get_965_surfacetype(surf->ss0.surface_type), - get_965_surface_format(surf->ss0.surface_format)); + get_965_surfacetype(GET_FIELD(surf[0], BRW_SURFACE_TYPE)), + get_965_surface_format(GET_FIELD(surf[0], BRW_SURFACE_FORMAT))); state_out(name, surf, surfoff, 1, "offset\n"); state_out(name, surf, surfoff, 2, "%dx%d size, %d mips\n", - surf->ss2.width + 1, surf->ss2.height + 1, surf->ss2.mip_count); - state_out(name, surf, surfoff, 3, "pitch %d, %stiled\n", - surf->ss3.pitch + 1, surf->ss3.tiled_surface ? "" : "not "); + GET_FIELD(surf[2], BRW_SURFACE_WIDTH) + 1, + GET_FIELD(surf[2], BRW_SURFACE_HEIGHT) + 1); + state_out(name, surf, surfoff, 3, "pitch %d, %s tiled\n", + GET_FIELD(surf[3], BRW_SURFACE_PITCH) + 1, + (surf[3] & BRW_SURFACE_TILED) ? + ((surf[3] & BRW_SURFACE_TILED_Y) ? "Y" : "X") : "not"); state_out(name, surf, surfoff, 4, "mip base %d\n", - surf->ss4.min_lod); + GET_FIELD(surf[4], BRW_SURFACE_MIN_LOD)); state_out(name, surf, surfoff, 5, "x,y offset: %d,%d\n", - surf->ss5.x_offset, surf->ss5.y_offset); + GET_FIELD(surf[5], BRW_SURFACE_X_OFFSET), + GET_FIELD(surf[5], BRW_SURFACE_Y_OFFSET)); } drm_intel_bo_unmap(bo); } -- cgit v1.2.3 From f04765922c02f2b522b0de17c7c7ce67beca1efe Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 24 May 2011 12:33:42 -0700 Subject: i965: Remove brw_surface_state struct that is now unused. Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_structs.h | 74 --------------------------------- 1 file changed, 74 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_structs.h b/src/mesa/drivers/dri/i965/brw_structs.h index ad31222e9ec..7b9cdba4cbf 100644 --- a/src/mesa/drivers/dri/i965/brw_structs.h +++ b/src/mesa/drivers/dri/i965/brw_structs.h @@ -1225,80 +1225,6 @@ struct gen7_sf_clip_viewport { GLfloat pad1[4]; }; -/* Documented in the subsystem/shared-functions/sampler chapter... - * - * vol5c Shared Functions - 1.13.4.1.1 - */ -struct brw_surface_state -{ - struct { - GLuint cube_pos_z:1; - GLuint cube_neg_z:1; - GLuint cube_pos_y:1; - GLuint cube_neg_y:1; - GLuint cube_pos_x:1; - GLuint cube_neg_x:1; - GLuint pad:2; - /* Required on gen6 for surfaces accessed through render cache messages. - */ - GLuint render_cache_read_write:1; - /* Ironlake and newer: instead of replicating one of the texels */ - GLuint cube_corner_average:1; - GLuint mipmap_layout_mode:1; - GLuint vert_line_stride_ofs:1; - GLuint vert_line_stride:1; - GLuint color_blend:1; - GLuint writedisable_blue:1; - GLuint writedisable_green:1; - GLuint writedisable_red:1; - GLuint writedisable_alpha:1; - GLuint surface_format:9; /**< BRW_SURFACEFORMAT_x */ - GLuint data_return_format:1; - GLuint pad0:1; - GLuint surface_type:3; /**< BRW_SURFACE_1D/2D/3D/CUBE */ - } ss0; - - struct { - GLuint base_addr; - } ss1; - - struct { - GLuint pad:2; - GLuint mip_count:4; - GLuint width:13; - GLuint height:13; - } ss2; - - struct { - GLuint tile_walk:1; - GLuint tiled_surface:1; - GLuint pad:1; - GLuint pitch:18; - GLuint depth:11; - } ss3; - - struct { - GLuint multisample_position_palette_index:3; - GLuint pad1:1; - GLuint num_multisamples:3; - GLuint pad0:1; - GLuint render_target_view_extent:9; - GLuint min_array_elt:11; - GLuint min_lod:4; - } ss4; - - struct { - GLuint pad1:16; - GLuint cache_control:2; - GLuint gfdt:1; - GLuint encrypt:1; - GLuint y_offset:4; - GLuint pad0:1; - GLuint x_offset:7; - } ss5; /* New in G4X */ - -}; - /* volume 5c Shared Functions - 1.13.4.1.2 */ struct gen7_surface_state { -- cgit v1.2.3 From 5bf6cc95c1e3dc01dde2bd91fc0bd4eb02cddd40 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 31 May 2011 11:13:57 +0200 Subject: wayland-egl: Remove left-over headers and struct --- src/egl/wayland/wayland-egl/wayland-egl-priv.h | 15 +-------------- src/egl/wayland/wayland-egl/wayland-egl.c | 13 ------------- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/src/egl/wayland/wayland-egl/wayland-egl-priv.h b/src/egl/wayland/wayland-egl/wayland-egl-priv.h index 7bb436a78ab..179f5cf199b 100644 --- a/src/egl/wayland/wayland-egl/wayland-egl-priv.h +++ b/src/egl/wayland/wayland-egl/wayland-egl-priv.h @@ -12,20 +12,8 @@ extern "C" { #define WL_EGL_EXPORT #endif -#include #include -struct wl_egl_display { - struct wl_display *display; - - struct wl_drm *drm; - int fd; - char *device_name; - bool authenticated; - - void (*glFlush)(void); -}; - struct wl_egl_window { struct wl_surface *surface; struct wl_visual *visual; @@ -40,8 +28,7 @@ struct wl_egl_window { }; struct wl_egl_pixmap { - struct wl_egl_display *display; - struct wl_visual *visual; + struct wl_visual *visual; struct wl_buffer *buffer; int width; diff --git a/src/egl/wayland/wayland-egl/wayland-egl.c b/src/egl/wayland/wayland-egl/wayland-egl.c index 3e1a9c45bdc..c8f73ea8a3a 100644 --- a/src/egl/wayland/wayland-egl/wayland-egl.c +++ b/src/egl/wayland/wayland-egl/wayland-egl.c @@ -1,21 +1,8 @@ -#include #include -#include -#include -#include - -#include -#include -#include -#include - -#include #include #include "wayland-egl.h" #include "wayland-egl-priv.h" -#include "wayland-drm-client-protocol.h" -#include WL_EGL_EXPORT void wl_egl_window_resize(struct wl_egl_window *egl_window, -- cgit v1.2.3 From aa87a938fb4cec30dad48642e8d12810e947bc8b Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 31 May 2011 11:45:51 +0200 Subject: egl_dri2: Fix usage of bool values --- src/egl/drivers/dri2/platform_wayland.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 1b75ffea0c5..1d6ce2ec49c 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -586,7 +586,7 @@ dri2_wayland_authenticate(_EGLDisplay *disp, uint32_t id) struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); int ret = 0; - dri2_dpy->authenticated = false; + dri2_dpy->authenticated = 0; wl_drm_authenticate(dri2_dpy->wl_drm, id); force_roundtrip(dri2_dpy->wl_dpy); @@ -595,7 +595,7 @@ dri2_wayland_authenticate(_EGLDisplay *disp, uint32_t id) ret = -1; /* reset authenticated */ - dri2_dpy->authenticated = true; + dri2_dpy->authenticated = 1; return ret; } @@ -647,7 +647,7 @@ drm_handle_authenticated(void *data, struct wl_drm *drm) { struct dri2_egl_display *dri2_dpy = data; - dri2_dpy->authenticated = true; + dri2_dpy->authenticated = 1; } static const struct wl_drm_listener drm_listener = { -- cgit v1.2.3 From a7cd65fb38a3ece6202d3675a543785c10f0932a Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 31 May 2011 11:14:46 +0200 Subject: st/egl: Fix udev linkage when egl_dri2 is not build --- configure.ac | 6 +++--- src/gallium/targets/egl/Makefile | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index b55473ffec9..510d23f41bc 100644 --- a/configure.ac +++ b/configure.ac @@ -1202,6 +1202,9 @@ if test "x$enable_egl" = xyes; then PKG_CHECK_MODULES([LIBUDEV], [libudev > 150], [have_libudev=yes],[have_libudev=no]) + if test "$have_libudev" = yes; then + DEFINES="$DEFINES -DHAVE_LIBUDEV" + fi if test "$mesa_driver" = dri; then # build egl_dri2 when xcb-dri2 is available PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes], @@ -1210,9 +1213,6 @@ if test "x$enable_egl" = xyes; then if test "$have_xcb_dri2" = yes; then EGL_DRIVER_DRI2=dri2 DEFINES="$DEFINES -DHAVE_XCB_DRI2" - if test "$have_libudev" = yes; then - DEFINES="$DEFINES -DHAVE_LIBUDEV" - fi # workaround a bug in xcb-dri2 generated by xcb-proto 1.6 AC_CHECK_LIB(xcb-dri2, xcb_dri2_connect_alignment_pad, [], [DEFINES="$DEFINES -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN"]) diff --git a/src/gallium/targets/egl/Makefile b/src/gallium/targets/egl/Makefile index a455b61af98..dd566bd9a06 100644 --- a/src/gallium/targets/egl/Makefile +++ b/src/gallium/targets/egl/Makefile @@ -52,7 +52,7 @@ egl_LIBS += $(TOP)/src/gallium/winsys/sw/wayland/libws_wayland.a egl_LIBS += $(TOP)/src/egl/wayland/wayland-drm/libwayland-drm.a endif ifneq ($(findstring drm, $(EGL_PLATFORMS)),) -egl_SYS += $(LIBDRM_LIB) +egl_SYS += $(LIBUDEV_LIBS) $(LIBDRM_LIB) endif ifneq ($(findstring fbdev, $(EGL_PLATFORMS)),) egl_LIBS += $(TOP)/src/gallium/winsys/sw/fbdev/libfbdev.a -- cgit v1.2.3 From fc5aec934237389946a5afd42414a57c4568c5cd Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Mon, 30 May 2011 14:33:30 +0200 Subject: Fiuxp make tarballs for wayland-egl/drm --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index fd23b300818..7a5dae76288 100644 --- a/Makefile +++ b/Makefile @@ -337,6 +337,8 @@ EGL_FILES = \ $(DIRECTORY)/src/egl/*/*.[ch] \ $(DIRECTORY)/src/egl/*/*/Makefile \ $(DIRECTORY)/src/egl/*/*/*.[ch] \ + $(DIRECTORY)/src/egl/wayland/wayland-drm/protocol/*.xml \ + $(DIRECTORY)/src/egl/wayland/wayland-egl/*.pc.in \ $(DIRECTORY)/src/egl/main/SConscript \ $(DIRECTORY)/src/egl/main/*.pc.in \ $(DIRECTORY)/src/egl/main/*.def -- cgit v1.2.3 From 089aa313b40b495e9d9a9d209fe3851d43807f6e Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 31 May 2011 14:20:59 +0200 Subject: wayland-drm: Check visual for being NULL --- src/egl/wayland/wayland-drm/wayland-drm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/egl/wayland/wayland-drm/wayland-drm.c b/src/egl/wayland/wayland-drm/wayland-drm.c index d68f9c7bac3..6cc442b9d53 100644 --- a/src/egl/wayland/wayland-drm/wayland-drm.c +++ b/src/egl/wayland/wayland-drm/wayland-drm.c @@ -100,7 +100,7 @@ drm_create_buffer(struct wl_client *client, struct wl_drm *drm, buffer->buffer.height = height; buffer->buffer.visual = visual; - if (visual->object.interface != &wl_visual_interface) { + if (!visual || visual->object.interface != &wl_visual_interface) { wl_client_post_error(client, &drm->object, WL_DRM_ERROR_INVALID_VISUAL, "invalid visual"); -- cgit v1.2.3 From c331b3123ecda127919458e24848b7c1596525ac Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 12 May 2011 09:03:24 -0700 Subject: i965/fs: Use the embedded compare in SEL on gen6+. This avoids the extra CMP and the predication on SEL, so in addition to one less instruction, it makes scheduling less constrained. Improves glbenchmark Egypt performance 0.6% +/- 0.2% (n=3). Reduces FS instruction count across affected shaders in shader-db by 1.3% without regressing any. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_fs.cpp | 12 ++++++---- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 34 ++++++++++++++++++---------- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 36040c3e071..09033aecd7c 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1033,12 +1033,16 @@ fs_visitor::propagate_constants() scan_inst->src[i] = inst->src[0]; progress = true; } else if (i == 0 && scan_inst->src[1].file != IMM) { - /* Fit this constant in by swapping the operands and - * flipping the predicate - */ scan_inst->src[0] = scan_inst->src[1]; scan_inst->src[1] = inst->src[0]; - scan_inst->predicate_inverse = !scan_inst->predicate_inverse; + + /* If this was predicated, flipping operands means + * we also need to flip the predicate. + */ + if (scan_inst->conditional_mod == BRW_CONDITIONAL_NONE) { + scan_inst->predicate_inverse = + !scan_inst->predicate_inverse; + } progress = true; } break; diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 6e81256cec5..b4857871c78 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -386,24 +386,34 @@ fs_visitor::visit(ir_expression *ir) break; case ir_binop_min: - /* Unalias the destination */ - this->result = fs_reg(this, ir->type); + if (intel->gen >= 6) { + inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_L; + } else { + /* Unalias the destination */ + this->result = fs_reg(this, ir->type); - inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_L; + inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_L; - inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); - inst->predicated = true; + inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); + inst->predicated = true; + } break; case ir_binop_max: - /* Unalias the destination */ - this->result = fs_reg(this, ir->type); + if (intel->gen >= 6) { + inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_GE; + } else { + /* Unalias the destination */ + this->result = fs_reg(this, ir->type); - inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); - inst->conditional_mod = BRW_CONDITIONAL_G; + inst = emit(BRW_OPCODE_CMP, this->result, op[0], op[1]); + inst->conditional_mod = BRW_CONDITIONAL_G; - inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); - inst->predicated = true; + inst = emit(BRW_OPCODE_SEL, this->result, op[0], op[1]); + inst->predicated = true; + } break; case ir_binop_pow: -- cgit v1.2.3 From 414cd5df50435f475d92b02c229453d037369c0f Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 4 Apr 2011 12:06:11 -0400 Subject: r600g: add llano support Signed-off-by: Alex Deucher --- src/gallium/drivers/r600/evergreen_state.c | 44 ++++++++++++++++++++++++++++++ src/gallium/drivers/r600/r600.h | 2 ++ src/gallium/drivers/r600/r600_asm.c | 2 ++ src/gallium/drivers/r600/r600_pipe.c | 4 +++ src/gallium/winsys/r600/drm/r600_drm.c | 2 ++ src/gallium/winsys/r600/drm/radeon_pciid.c | 11 ++++++++ 6 files changed, 65 insertions(+) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 14860af4dd3..ea37b17c9a4 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -1253,6 +1253,48 @@ void evergreen_init_config(struct r600_pipe_context *rctx) num_hs_stack_entries = 42; num_ls_stack_entries = 42; break; + case CHIP_SUMO: + num_ps_gprs = 93; + num_vs_gprs = 46; + num_temp_gprs = 4; + num_gs_gprs = 31; + num_es_gprs = 31; + num_hs_gprs = 23; + num_ls_gprs = 23; + num_ps_threads = 96; + num_vs_threads = 25; + num_gs_threads = 25; + num_es_threads = 25; + num_hs_threads = 25; + num_ls_threads = 25; + num_ps_stack_entries = 42; + num_vs_stack_entries = 42; + num_gs_stack_entries = 42; + num_es_stack_entries = 42; + num_hs_stack_entries = 42; + num_ls_stack_entries = 42; + break; + case CHIP_SUMO2: + num_ps_gprs = 93; + num_vs_gprs = 46; + num_temp_gprs = 4; + num_gs_gprs = 31; + num_es_gprs = 31; + num_hs_gprs = 23; + num_ls_gprs = 23; + num_ps_threads = 96; + num_vs_threads = 25; + num_gs_threads = 25; + num_es_threads = 25; + num_hs_threads = 25; + num_ls_threads = 25; + num_ps_stack_entries = 85; + num_vs_stack_entries = 85; + num_gs_stack_entries = 85; + num_es_stack_entries = 85; + num_hs_stack_entries = 85; + num_ls_stack_entries = 85; + break; case CHIP_BARTS: num_ps_gprs = 93; num_vs_gprs = 46; @@ -1322,6 +1364,8 @@ void evergreen_init_config(struct r600_pipe_context *rctx) switch (family) { case CHIP_CEDAR: case CHIP_PALM: + case CHIP_SUMO: + case CHIP_SUMO2: case CHIP_CAICOS: break; default: diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 996418aa03a..b90de7c65d6 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -92,6 +92,8 @@ enum radeon_family { CHIP_CYPRESS, CHIP_HEMLOCK, CHIP_PALM, + CHIP_SUMO, + CHIP_SUMO2, CHIP_BARTS, CHIP_TURKS, CHIP_CAICOS, diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 00572cbd5bd..dda429e48fa 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -222,6 +222,8 @@ int r600_bc_init(struct r600_bc *bc, enum radeon_family family) case CHIP_CYPRESS: case CHIP_HEMLOCK: case CHIP_PALM: + case CHIP_SUMO: + case CHIP_SUMO2: case CHIP_BARTS: case CHIP_TURKS: case CHIP_CAICOS: diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 402ccb27fe3..f924d798765 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -259,6 +259,8 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void case CHIP_CYPRESS: case CHIP_HEMLOCK: case CHIP_PALM: + case CHIP_SUMO: + case CHIP_SUMO2: case CHIP_BARTS: case CHIP_TURKS: case CHIP_CAICOS: @@ -334,6 +336,8 @@ static const char *r600_get_family_name(enum radeon_family family) case CHIP_CYPRESS: return "AMD CYPRESS"; case CHIP_HEMLOCK: return "AMD HEMLOCK"; case CHIP_PALM: return "AMD PALM"; + case CHIP_SUMO: return "AMD SUMO"; + case CHIP_SUMO2: return "AMD SUMO2"; case CHIP_BARTS: return "AMD BARTS"; case CHIP_TURKS: return "AMD TURKS"; case CHIP_CAICOS: return "AMD CAICOS"; diff --git a/src/gallium/winsys/r600/drm/r600_drm.c b/src/gallium/winsys/r600/drm/r600_drm.c index cbed89d3abe..03fe385334c 100644 --- a/src/gallium/winsys/r600/drm/r600_drm.c +++ b/src/gallium/winsys/r600/drm/r600_drm.c @@ -320,6 +320,8 @@ static struct radeon *radeon_new(int fd, unsigned device) case CHIP_CYPRESS: case CHIP_HEMLOCK: case CHIP_PALM: + case CHIP_SUMO: + case CHIP_SUMO2: case CHIP_BARTS: case CHIP_TURKS: case CHIP_CAICOS: diff --git a/src/gallium/winsys/r600/drm/radeon_pciid.c b/src/gallium/winsys/r600/drm/radeon_pciid.c index b999e45a8ec..5c41a10bdba 100644 --- a/src/gallium/winsys/r600/drm/radeon_pciid.c +++ b/src/gallium/winsys/r600/drm/radeon_pciid.c @@ -439,6 +439,17 @@ static const struct pci_id radeon_pci_id[] = { {0x1002, 0x9614, CHIP_RS780}, {0x1002, 0x9615, CHIP_RS780}, {0x1002, 0x9616, CHIP_RS780}, + {0x1002, 0x9640, CHIP_SUMO}, + {0x1002, 0x9641, CHIP_SUMO}, + {0x1002, 0x9642, CHIP_SUMO2}, + {0x1002, 0x9643, CHIP_SUMO2}, + {0x1002, 0x9644, CHIP_SUMO2}, + {0x1002, 0x9645, CHIP_SUMO2}, + {0x1002, 0x9647, CHIP_SUMO}, + {0x1002, 0x9648, CHIP_SUMO}, + {0x1002, 0x964a, CHIP_SUMO}, + {0x1002, 0x964e, CHIP_SUMO}, + {0x1002, 0x964f, CHIP_SUMO}, {0x1002, 0x9710, CHIP_RS880}, {0x1002, 0x9711, CHIP_RS880}, {0x1002, 0x9712, CHIP_RS880}, -- cgit v1.2.3 From c5903ed4541ec4f9389e33ba27c9527afa87ec44 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 4 Apr 2011 12:29:50 -0400 Subject: r600c: add support for llano Signed-off-by: Alex Deucher --- src/mesa/drivers/dri/r600/evergreen_blit.c | 44 ++++++++++++++++++++++ src/mesa/drivers/dri/r600/evergreen_chip.c | 4 +- src/mesa/drivers/dri/r600/evergreen_state.c | 16 ++++++++ src/mesa/drivers/dri/radeon/radeon_chipset.h | 14 +++++++ .../drivers/dri/radeon/radeon_common_context.c | 2 + src/mesa/drivers/dri/radeon/radeon_screen.c | 19 ++++++++++ 6 files changed, 98 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/r600/evergreen_blit.c b/src/mesa/drivers/dri/r600/evergreen_blit.c index 0e4da5499ba..95ac4aee5ce 100644 --- a/src/mesa/drivers/dri/r600/evergreen_blit.c +++ b/src/mesa/drivers/dri/r600/evergreen_blit.c @@ -1525,6 +1525,48 @@ eg_set_default_state(context_t *context) num_hs_stack_entries = 42; num_ls_stack_entries = 42; break; + case CHIP_FAMILY_SUMO: + num_ps_gprs = 93; + num_vs_gprs = 46; + num_temp_gprs = 4; + num_gs_gprs = 31; + num_es_gprs = 31; + num_hs_gprs = 23; + num_ls_gprs = 23; + num_ps_threads = 96; + num_vs_threads = 25; + num_gs_threads = 25; + num_es_threads = 25; + num_hs_threads = 25; + num_ls_threads = 25; + num_ps_stack_entries = 42; + num_vs_stack_entries = 42; + num_gs_stack_entries = 42; + num_es_stack_entries = 42; + num_hs_stack_entries = 42; + num_ls_stack_entries = 42; + break; + case CHIP_FAMILY_SUMO2: + num_ps_gprs = 93; + num_vs_gprs = 46; + num_temp_gprs = 4; + num_gs_gprs = 31; + num_es_gprs = 31; + num_hs_gprs = 23; + num_ls_gprs = 23; + num_ps_threads = 96; + num_vs_threads = 25; + num_gs_threads = 25; + num_es_threads = 25; + num_hs_threads = 25; + num_ls_threads = 25; + num_ps_stack_entries = 85; + num_vs_stack_entries = 85; + num_gs_stack_entries = 85; + num_es_stack_entries = 85; + num_hs_stack_entries = 85; + num_ls_stack_entries = 85; + break; case CHIP_FAMILY_BARTS: num_ps_gprs = 93; num_vs_gprs = 46; @@ -1592,6 +1634,8 @@ eg_set_default_state(context_t *context) if ((context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CEDAR) || (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_PALM) || + (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO) || + (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO2) || (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CAICOS)) CLEARbit(sq_config, EG_SQ_CONFIG__VC_ENABLE_bit); else diff --git a/src/mesa/drivers/dri/r600/evergreen_chip.c b/src/mesa/drivers/dri/r600/evergreen_chip.c index 42566e537a5..388a96ff067 100644 --- a/src/mesa/drivers/dri/r600/evergreen_chip.c +++ b/src/mesa/drivers/dri/r600/evergreen_chip.c @@ -287,7 +287,9 @@ static void evergreenSetupVTXConstants(struct gl_context * ctx, return; if ((context->radeon.radeonScreen->chip_family == CHIP_FAMILY_CEDAR) || - (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_PALM)) + (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_PALM) || + (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO) || + (context->radeon.radeonScreen->chip_family == CHIP_FAMILY_SUMO2)) r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, TC_ACTION_ENA_bit); else r700SyncSurf(context, paos->bo, RADEON_GEM_DOMAIN_GTT, 0, VC_ACTION_ENA_bit); diff --git a/src/mesa/drivers/dri/r600/evergreen_state.c b/src/mesa/drivers/dri/r600/evergreen_state.c index 309c93fe088..81bf1172dc3 100644 --- a/src/mesa/drivers/dri/r600/evergreen_state.c +++ b/src/mesa/drivers/dri/r600/evergreen_state.c @@ -1470,6 +1470,22 @@ static void evergreenInitSQConfig(struct gl_context * ctx) uMaxThreads = 192; uMaxStackEntries = 256; break; + case CHIP_FAMILY_SUMO: + uSqNumCfInsts = 2; + bVC_ENABLE = GL_FALSE; + uMaxGPRs = 256; + uPSThreadCount = 96; + uMaxThreads = 248; + uMaxStackEntries = 256; + break; + case CHIP_FAMILY_SUMO2: + uSqNumCfInsts = 2; + bVC_ENABLE = GL_FALSE; + uMaxGPRs = 256; + uPSThreadCount = 96; + uMaxThreads = 248; + uMaxStackEntries = 512; + break; case CHIP_FAMILY_BARTS: uSqNumCfInsts = 2; bVC_ENABLE = GL_TRUE; diff --git a/src/mesa/drivers/dri/radeon/radeon_chipset.h b/src/mesa/drivers/dri/radeon/radeon_chipset.h index 9145023826e..bd236625122 100644 --- a/src/mesa/drivers/dri/radeon/radeon_chipset.h +++ b/src/mesa/drivers/dri/radeon/radeon_chipset.h @@ -450,6 +450,18 @@ #define PCI_CHIP_PALM_9806 0x9806 #define PCI_CHIP_PALM_9807 0x9807 +#define PCI_CHIP_SUMO_9640 0x9640 +#define PCI_CHIP_SUMO_9641 0x9641 +#define PCI_CHIP_SUMO2_9642 0x9642 +#define PCI_CHIP_SUMO2_9643 0x9643 +#define PCI_CHIP_SUMO2_9644 0x9644 +#define PCI_CHIP_SUMO2_9645 0x9645 +#define PCI_CHIP_SUMO_9647 0x9647 +#define PCI_CHIP_SUMO_9648 0x9648 +#define PCI_CHIP_SUMO_964A 0x964a +#define PCI_CHIP_SUMO_964E 0x964e +#define PCI_CHIP_SUMO_964F 0x964f + #define PCI_CHIP_BARTS_6720 0x6720 #define PCI_CHIP_BARTS_6721 0x6721 #define PCI_CHIP_BARTS_6722 0x6722 @@ -534,6 +546,8 @@ enum { CHIP_FAMILY_CYPRESS, CHIP_FAMILY_HEMLOCK, CHIP_FAMILY_PALM, + CHIP_FAMILY_SUMO, + CHIP_FAMILY_SUMO2, CHIP_FAMILY_BARTS, CHIP_FAMILY_TURKS, CHIP_FAMILY_CAICOS, diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c index 5d7b3973d57..bf8925f61d0 100644 --- a/src/mesa/drivers/dri/radeon/radeon_common_context.c +++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c @@ -98,6 +98,8 @@ static const char* get_chip_family_name(int chip_family) case CHIP_FAMILY_CYPRESS: return "CYPRESS"; case CHIP_FAMILY_HEMLOCK: return "HEMLOCK"; case CHIP_FAMILY_PALM: return "PALM"; + case CHIP_FAMILY_SUMO: return "SUMO"; + case CHIP_FAMILY_SUMO2: return "SUMO2"; case CHIP_FAMILY_BARTS: return "BARTS"; case CHIP_FAMILY_TURKS: return "TURKS"; case CHIP_FAMILY_CAICOS: return "CAICOS"; diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index 6449229e088..6cf843406f9 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -1168,6 +1168,25 @@ static int radeon_set_screen_flags(radeonScreenPtr screen, int device_id) screen->chip_flags = RADEON_CHIPSET_TCL; break; + case PCI_CHIP_SUMO_9640: + case PCI_CHIP_SUMO_9641: + case PCI_CHIP_SUMO_9647: + case PCI_CHIP_SUMO_9648: + case PCI_CHIP_SUMO_964A: + case PCI_CHIP_SUMO_964E: + case PCI_CHIP_SUMO_964F: + screen->chip_family = CHIP_FAMILY_SUMO; + screen->chip_flags = RADEON_CHIPSET_TCL; + break; + + case PCI_CHIP_SUMO2_9642: + case PCI_CHIP_SUMO2_9643: + case PCI_CHIP_SUMO2_9644: + case PCI_CHIP_SUMO2_9645: + screen->chip_family = CHIP_FAMILY_SUMO2; + screen->chip_flags = RADEON_CHIPSET_TCL; + break; + case PCI_CHIP_BARTS_6720: case PCI_CHIP_BARTS_6721: case PCI_CHIP_BARTS_6722: -- cgit v1.2.3 From 37a85b1830188503feb286ebdee0cdb44fa298af Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Wed, 1 Jun 2011 01:09:11 +0200 Subject: r300g: remove unused debug option DBG_UPLOAD And renumber the options. --- src/gallium/drivers/r300/r300_debug.c | 3 +-- src/gallium/drivers/r300/r300_screen.h | 23 ++++++++++------------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/gallium/drivers/r300/r300_debug.c b/src/gallium/drivers/r300/r300_debug.c index 3ab28689fb8..9a0052ac6d1 100644 --- a/src/gallium/drivers/r300/r300_debug.c +++ b/src/gallium/drivers/r300/r300_debug.c @@ -27,7 +27,7 @@ #include static const struct debug_named_value debug_options[] = { - { "info", DBG_INFO, "Print hardware info"}, + { "info", DBG_INFO, "Print hardware info (printed by default on debug builds"}, { "fp", DBG_FP, "Log fragment program compilation" }, { "vp", DBG_VP, "Log vertex program compilation" }, { "pstat", DBG_P_STAT, "Log vertex/fragment program stats" }, @@ -41,7 +41,6 @@ static const struct debug_named_value debug_options[] = { { "fb", DBG_FB, "Log framebuffer" }, { "cbzb", DBG_CBZB, "Log fast color clear info" }, { "hyperz", DBG_HYPERZ, "Log HyperZ info" }, - { "upload", DBG_UPLOAD, "Log user buffer upload info" }, { "scissor", DBG_SCISSOR, "Log scissor info" }, { "anisohq", DBG_ANISOHQ, "Use high quality anisotropic filtering" }, { "notiling", DBG_NO_TILING, "Disable tiling" }, diff --git a/src/gallium/drivers/r300/r300_screen.h b/src/gallium/drivers/r300/r300_screen.h index 3bafd0f8142..e5c53bf3500 100644 --- a/src/gallium/drivers/r300/r300_screen.h +++ b/src/gallium/drivers/r300/r300_screen.h @@ -88,23 +88,20 @@ radeon_winsys(struct pipe_screen *screen) { #define DBG_TEX (1 << 5) #define DBG_TEXALLOC (1 << 6) #define DBG_RS (1 << 7) -/* gap - fill it */ -#define DBG_FB (1 << 9) -#define DBG_RS_BLOCK (1 << 10) -#define DBG_CBZB (1 << 11) -#define DBG_HYPERZ (1 << 12) -#define DBG_SCISSOR (1 << 13) -#define DBG_UPLOAD (1 << 14) -#define DBG_INFO (1 << 15) +#define DBG_FB (1 << 8) +#define DBG_RS_BLOCK (1 << 9) +#define DBG_CBZB (1 << 10) +#define DBG_HYPERZ (1 << 11) +#define DBG_SCISSOR (1 << 12) +#define DBG_INFO (1 << 13) /* Features. */ #define DBG_ANISOHQ (1 << 16) #define DBG_NO_TILING (1 << 17) #define DBG_NO_IMMD (1 << 18) -/* gap - fill it */ -#define DBG_NO_OPT (1 << 20) -#define DBG_NO_CBZB (1 << 21) -#define DBG_NO_ZMASK (1 << 22) -#define DBG_NO_HIZ (1 << 23) +#define DBG_NO_OPT (1 << 19) +#define DBG_NO_CBZB (1 << 20) +#define DBG_NO_ZMASK (1 << 21) +#define DBG_NO_HIZ (1 << 22) /* Statistics. */ #define DBG_P_STAT (1 << 25) /*@}*/ -- cgit v1.2.3 From d69dc2e20346397f4734a0760554a51fb4fbb3c0 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 31 May 2011 14:59:44 +0200 Subject: mesa: UseShaderProgramEXT and Uniform* shouldn't be allowed inside Begin/End I couldn't find this being required by the spec. Reviewed-by: Brian Paul --- src/mesa/main/shaderapi.c | 2 ++ src/mesa/main/uniforms.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 1e237a95da1..cbfbac80296 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -1790,6 +1790,8 @@ _mesa_UseShaderProgramEXT(GLenum type, GLuint program) GET_CURRENT_CONTEXT(ctx); struct gl_shader_program *shProg = NULL; + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!validate_shader_target(ctx, type)) { _mesa_error(ctx, GL_INVALID_ENUM, "glUseShaderProgramEXT(type)"); return; diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index 12fe7b5e226..715ac760ab7 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -855,6 +855,8 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg, struct gl_uniform *uniform; GLint elems, offset; + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!shProg || !shProg->LinkStatus) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUniform(program not linked)"); return; @@ -1028,6 +1030,8 @@ _mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg, struct gl_uniform *uniform; GLint offset; + ASSERT_OUTSIDE_BEGIN_END(ctx); + if (!shProg || !shProg->LinkStatus) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUniformMatrix(program not linked)"); -- cgit v1.2.3 From b9e9df78a03edb35472c2e231aef4747e09db792 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 31 May 2011 20:36:07 +0200 Subject: mesa: queries of non-existent FBO attachments should return INVALID_OPERATION OpenGL 4.0 Compatibility, page 449: If the value of FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is NONE, no framebuffer is bound to target. In this case querying pname FRAMEBUFFER_- ATTACHMENT_OBJECT_NAME will return zero, and all other queries will generate an INVALID_OPERATION error. Reviewed-by: Chad Versace --- src/mesa/main/fbobject.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 739d03e931d..d4400709aef 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -2161,6 +2161,10 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, if (att->Type == GL_TEXTURE) { *params = att->TextureLevel; } + else if (att->Type == GL_NONE) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetFramebufferAttachmentParameterivEXT(pname)"); + } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetFramebufferAttachmentParameterivEXT(pname)"); @@ -2175,6 +2179,10 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, *params = 0; } } + else if (att->Type == GL_NONE) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetFramebufferAttachmentParameterivEXT(pname)"); + } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetFramebufferAttachmentParameterivEXT(pname)"); @@ -2189,6 +2197,10 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, *params = 0; } } + else if (att->Type == GL_NONE) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetFramebufferAttachmentParameterivEXT(pname)"); + } else { _mesa_error(ctx, GL_INVALID_ENUM, "glGetFramebufferAttachmentParameterivEXT(pname)"); @@ -2199,6 +2211,10 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, _mesa_error(ctx, GL_INVALID_ENUM, "glGetFramebufferAttachmentParameterivEXT(pname)"); } + else if (att->Type == GL_NONE) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetFramebufferAttachmentParameterivEXT(pname)"); + } else { if (ctx->Extensions.EXT_framebuffer_sRGB && ctx->Const.sRGBCapable) { *params = _mesa_get_format_color_encoding(att->Renderbuffer->Format); @@ -2216,6 +2232,10 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, "glGetFramebufferAttachmentParameterivEXT(pname)"); return; } + else if (att->Type == GL_NONE) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetFramebufferAttachmentParameterivEXT(pname)"); + } else { gl_format format = att->Renderbuffer->Format; if (format == MESA_FORMAT_CI8 || format == MESA_FORMAT_S8) { @@ -2237,6 +2257,10 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, _mesa_error(ctx, GL_INVALID_ENUM, "glGetFramebufferAttachmentParameterivEXT(pname)"); } + else if (att->Type == GL_NONE) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGetFramebufferAttachmentParameterivEXT(pname)"); + } else if (att->Texture) { const struct gl_texture_image *texImage = _mesa_select_tex_image(ctx, att->Texture, att->Texture->Target, @@ -2254,7 +2278,8 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, att->Renderbuffer->Format); } else { - *params = 0; + _mesa_problem(ctx, "glGetFramebufferAttachmentParameterivEXT:" + " invalid FBO attachment structure"); } return; default: -- cgit v1.2.3 From f3652f0983e6469a515bdfad439286a1060fa545 Mon Sep 17 00:00:00 2001 From: Nathan Kidd Date: Wed, 1 Jun 2011 08:29:26 -0600 Subject: glapi: Make xserver location error more helpful glx code hasn't lived under xserver/GL for a long time now. Signed-off-by: Nathan Kidd Signed-off-by: Brian Paul --- src/mapi/glapi/gen/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mapi/glapi/gen/Makefile b/src/mapi/glapi/gen/Makefile index 87b928ccfbe..c3829dc005e 100644 --- a/src/mapi/glapi/gen/Makefile +++ b/src/mapi/glapi/gen/Makefile @@ -128,7 +128,10 @@ xorg: check-xorg-source $(XORG_OUTPUTS) check-xorg-source: @if ! test -d $(XORG_GLX_DIR); then \ - echo "ERROR: Must specify path to xserver/GL/ checkout; set XORG_BASE env var."; \ + echo "ERROR: Must specify path to xserver/ checkout. Set XORG_BASE env var."; \ + if test x$(XORG_BASE) != x; then \ + echo "'$(XORG_GLX_DIR)' does not exist."; \ + fi; \ exit 1; \ fi -- cgit v1.2.3 From 57242715cb3ce9855460a5f1ccbca0dde8045c21 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 1 Jun 2011 16:25:35 -0600 Subject: st/mesa: add format table entry for GL_RGB9_E5 Fixes http://bugs.freedesktop.org/show_bug.cgi?id=37839 --- src/mesa/state_tracker/st_format.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index dc8551dfe3c..b45cf215d4e 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -1092,6 +1092,10 @@ static struct format_mapping format_map[] = { { GL_INTENSITY16_SNORM, 0 }, { PIPE_FORMAT_I16_SNORM, PIPE_FORMAT_R16G16B16A16_SNORM, PIPE_FORMAT_I8_SNORM, PIPE_FORMAT_R8G8B8A8_SNORM, 0 } + }, + { + { GL_RGB9_E5, 0 }, + { PIPE_FORMAT_R9G9B9E5_FLOAT, 0 } } }; -- cgit v1.2.3 From 8fcafeb4757215d1cf56e1e0a2cc57837379475c Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:21:39 +1000 Subject: r600g: force new evergreen blocks for large range. This range was 76 dwords long, the 75th dword changes, the first 60 or so don't. split the block so it emits less often. Signed-off-by: Dave Airlie --- src/gallium/winsys/r600/drm/evergreen_hw_context.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/winsys/r600/drm/evergreen_hw_context.c b/src/gallium/winsys/r600/drm/evergreen_hw_context.c index fc42c411889..0ffad25ecb4 100644 --- a/src/gallium/winsys/r600/drm/evergreen_hw_context.c +++ b/src/gallium/winsys/r600/drm/evergreen_hw_context.c @@ -202,6 +202,7 @@ static const struct r600_reg evergreen_context_reg_list[] = { {R_028610_PA_CL_UCP5_Y, 0, 0, 0}, {R_028614_PA_CL_UCP5_Z, 0, 0, 0}, {R_028618_PA_CL_UCP5_W, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, {R_02861C_SPI_VS_OUT_ID_0, 0, 0, 0}, {R_028620_SPI_VS_OUT_ID_1, 0, 0, 0}, {R_028624_SPI_VS_OUT_ID_2, 0, 0, 0}, @@ -212,6 +213,7 @@ static const struct r600_reg evergreen_context_reg_list[] = { {R_028638_SPI_VS_OUT_ID_7, 0, 0, 0}, {R_02863C_SPI_VS_OUT_ID_8, 0, 0, 0}, {R_028640_SPI_VS_OUT_ID_9, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, {R_028644_SPI_PS_INPUT_CNTL_0, 0, 0, 0}, {R_028648_SPI_PS_INPUT_CNTL_1, 0, 0, 0}, {R_02864C_SPI_PS_INPUT_CNTL_2, 0, 0, 0}, @@ -244,6 +246,7 @@ static const struct r600_reg evergreen_context_reg_list[] = { {R_0286B8_SPI_PS_INPUT_CNTL_29, 0, 0, 0}, {R_0286BC_SPI_PS_INPUT_CNTL_30, 0, 0, 0}, {R_0286C0_SPI_PS_INPUT_CNTL_31, 0, 0, 0}, + {GROUP_FORCE_NEW_BLOCK, 0, 0, 0}, {R_0286C4_SPI_VS_OUT_CONFIG, 0, 0, 0}, {R_0286C8_SPI_THREAD_GROUPING, 0, 0, 0}, {R_0286CC_SPI_PS_IN_CONTROL_0, 0, 0, 0}, -- cgit v1.2.3 From 9eb86f89a9d6471a92519064547a3937a6f89762 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 10:16:57 +1000 Subject: r600g: optimise state setting in r600_draw_vbo. This drop the r600_draw_vbo CPU usage on a run of nexuiz from 1.40% to 0.72% in sysprof for me on my Fusion APU. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600_pipe.h | 1 + src/gallium/drivers/r600/r600_state_common.c | 31 ++++++++++++++++++---------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 0e4cfeb5b80..1102c5c72eb 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -188,6 +188,7 @@ struct r600_pipe_context { struct r600_pipe_state ps_const_buffer; struct r600_pipe_state ps_const_buffer_resource[R600_MAX_CONST_BUFFERS]; struct r600_pipe_rasterizer *rasterizer; + struct r600_pipe_state vgt; /* shader information */ unsigned sprite_coord_enable; bool flatshade; diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index de1b811ce89..4619d291029 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -504,7 +504,6 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) struct r600_resource *rbuffer; u32 vgt_dma_index_type, vgt_dma_swap_mode, vgt_draw_initiator, mask; struct r600_draw rdraw; - struct r600_pipe_state vgt; struct r600_drawl draw = {}; unsigned prim; @@ -583,16 +582,26 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) mask |= (0xF << (i * 4)); } - vgt.id = R600_PIPE_STATE_VGT; - vgt.nregs = 0; - r600_pipe_state_add_reg(&vgt, R_008958_VGT_PRIMITIVE_TYPE, prim, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(&vgt, R_028408_VGT_INDX_OFFSET, draw.info.index_bias, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(&vgt, R_028400_VGT_MAX_VTX_INDX, draw.info.max_index, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(&vgt, R_028404_VGT_MIN_VTX_INDX, draw.info.min_index, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(&vgt, R_028238_CB_TARGET_MASK, rctx->cb_target_mask & mask, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(&vgt, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0, 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(&vgt, R_03CFF4_SQ_VTX_START_INST_LOC, draw.info.start_instance, 0xFFFFFFFF, NULL); - r600_context_pipe_state_set(&rctx->ctx, &vgt); + if (rctx->vgt.id != R600_PIPE_STATE_VGT) { + rctx->vgt.id = R600_PIPE_STATE_VGT; + rctx->vgt.nregs = 0; + r600_pipe_state_add_reg(&rctx->vgt, R_008958_VGT_PRIMITIVE_TYPE, prim, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(&rctx->vgt, R_028238_CB_TARGET_MASK, rctx->cb_target_mask & mask, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(&rctx->vgt, R_028400_VGT_MAX_VTX_INDX, draw.info.max_index, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(&rctx->vgt, R_028404_VGT_MIN_VTX_INDX, draw.info.min_index, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(&rctx->vgt, R_028408_VGT_INDX_OFFSET, draw.info.index_bias, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(&rctx->vgt, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0, 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg(&rctx->vgt, R_03CFF4_SQ_VTX_START_INST_LOC, draw.info.start_instance, 0xFFFFFFFF, NULL); + } else { + rctx->vgt.regs[0].value = prim; + rctx->vgt.regs[1].value = rctx->cb_target_mask & mask; + rctx->vgt.regs[2].value = draw.info.max_index; + rctx->vgt.regs[3].value = draw.info.min_index; + rctx->vgt.regs[4].value = draw.info.index_bias; + rctx->vgt.regs[6].value = draw.info.start_instance; + } + + r600_context_pipe_state_set(&rctx->ctx, &rctx->vgt); rdraw.vgt_num_indices = draw.info.count; rdraw.vgt_num_instances = draw.info.instance_count; -- cgit v1.2.3 From 8782fdc1db3cca6817dce4b563855f261694f1ef Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:29:37 +1000 Subject: r600g: avoid copying unnecessary pieces of a block. This just avoids copying stuff if its going to modify the number of dwords later anyways. Signed-off-by: Dave Airlie --- src/gallium/winsys/r600/drm/r600_hw_context.c | 31 +++++++++++++++++---------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index ffcc15b5217..f8536fd7081 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -1180,11 +1180,16 @@ struct r600_bo *r600_context_reg_bo(struct r600_context *ctx, unsigned offset) void r600_context_block_emit_dirty(struct r600_context *ctx, struct r600_block *block) { int id; + int optional = block->nbo == 0 && !(block->flags & REG_FLAG_DIRTY_ALWAYS); + int cp_dwords = block->pm4_ndwords, start_dword; + int new_dwords; - if (block->nreg_dirty == 0 && block->nbo == 0 && !(block->flags & REG_FLAG_DIRTY_ALWAYS)) { + if (block->nreg_dirty == 0 && optional) { goto out; } + optional &= (block->nreg_dirty != block->nreg); + ctx->flags |= R600_CONTEXT_CHECK_EVENT_FLUSH; for (int j = 0; j < block->nreg; j++) { if (block->pm4_bo_index[j]) { @@ -1200,18 +1205,22 @@ void r600_context_block_emit_dirty(struct r600_context *ctx, struct r600_block * } } ctx->flags &= ~R600_CONTEXT_CHECK_EVENT_FLUSH; - memcpy(&ctx->pm4[ctx->pm4_cdwords], block->pm4, block->pm4_ndwords * 4); - ctx->pm4_cdwords += block->pm4_ndwords; - - if (block->nreg_dirty != block->nreg && block->nbo == 0 && !(block->flags & REG_FLAG_DIRTY_ALWAYS)) { - int new_dwords = block->nreg_dirty; - uint32_t oldword, newword; - ctx->pm4_cdwords -= block->pm4_ndwords; - newword = oldword = ctx->pm4[ctx->pm4_cdwords]; + + if (optional) { + new_dwords = block->nreg_dirty; + start_dword = ctx->pm4_cdwords; + cp_dwords = new_dwords + 2; + } + memcpy(&ctx->pm4[ctx->pm4_cdwords], block->pm4, cp_dwords * 4); + ctx->pm4_cdwords += cp_dwords; + + if (optional) { + uint32_t newword; + + newword = ctx->pm4[start_dword]; newword &= PKT_COUNT_C; newword |= PKT_COUNT_S(new_dwords); - ctx->pm4[ctx->pm4_cdwords] = newword; - ctx->pm4_cdwords += new_dwords + 2; + ctx->pm4[start_dword] = newword; } out: block->status ^= R600_BLOCK_STATUS_DIRTY; -- cgit v1.2.3 From c1159eea54b28096652289ee8d06472566d9a4e5 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:40:40 +1000 Subject: r600g: remote ctx arg to block/range macros. These aren't used anymore. Signed-off-by: Dave Airlie --- src/gallium/winsys/r600/drm/evergreen_hw_context.c | 12 ++++---- src/gallium/winsys/r600/drm/r600_hw_context.c | 32 +++++++++++----------- src/gallium/winsys/r600/drm/r600_priv.h | 4 +-- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/gallium/winsys/r600/drm/evergreen_hw_context.c b/src/gallium/winsys/r600/drm/evergreen_hw_context.c index 0ffad25ecb4..cf8ae5185b4 100644 --- a/src/gallium/winsys/r600/drm/evergreen_hw_context.c +++ b/src/gallium/winsys/r600/drm/evergreen_hw_context.c @@ -878,8 +878,8 @@ static int evergreen_state_sampler_border_init(struct r600_context *ctx, u32 off return r; } /* set proper offset */ - range = &ctx->range[CTX_RANGE_ID(ctx, r600_shader_sampler_border[0].offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, r600_shader_sampler_border[0].offset)]; + range = &ctx->range[CTX_RANGE_ID(r600_shader_sampler_border[0].offset)]; + block = range->blocks[CTX_BLOCK_ID(r600_shader_sampler_border[0].offset)]; block->pm4[1] = (offset - EVERGREEN_CONFIG_REG_OFFSET) >> 2; return 0; } @@ -1051,8 +1051,8 @@ static inline void evergreen_context_pipe_state_set_sampler(struct r600_context int i; int dirty; - range = &ctx->range[CTX_RANGE_ID(ctx, offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, offset)]; + range = &ctx->range[CTX_RANGE_ID(offset)]; + block = range->blocks[CTX_BLOCK_ID(offset)]; if (state == NULL) { block->status &= ~(R600_BLOCK_STATUS_ENABLED | R600_BLOCK_STATUS_DIRTY); LIST_DELINIT(&block->list); @@ -1089,8 +1089,8 @@ static inline void evergreen_context_pipe_state_set_sampler_border(struct r600_c int i; int dirty; - range = &ctx->range[CTX_RANGE_ID(ctx, fake_offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, fake_offset)]; + range = &ctx->range[CTX_RANGE_ID(fake_offset)]; + block = range->blocks[CTX_BLOCK_ID(fake_offset)]; if (state == NULL) { block->status &= ~(R600_BLOCK_STATUS_ENABLED | R600_BLOCK_STATUS_DIRTY); LIST_DELINIT(&block->list); diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index f8536fd7081..6415268c786 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -121,14 +121,14 @@ int r600_context_add_block(struct r600_context *ctx, const struct r600_reg *reg, } ctx->nblocks++; for (int j = 0; j < n; j++) { - range = &ctx->range[CTX_RANGE_ID(ctx, reg[i + j].offset)]; + range = &ctx->range[CTX_RANGE_ID(reg[i + j].offset)]; /* create block table if it doesn't exist */ if (!range->blocks) range->blocks = calloc(1 << HASH_SHIFT, sizeof(void *)); if (!range->blocks) return -1; - range->blocks[CTX_BLOCK_ID(ctx, reg[i + j].offset)] = block; + range->blocks[CTX_BLOCK_ID(reg[i + j].offset)] = block; } /* initialize block */ @@ -643,8 +643,8 @@ void r600_context_fini(struct r600_context *ctx) block = ctx->range[i].blocks[j]; if (block) { for (int k = 0, offset = block->start_offset; k < block->nreg; k++, offset += 4) { - range = &ctx->range[CTX_RANGE_ID(ctx, offset)]; - range->blocks[CTX_BLOCK_ID(ctx, offset)] = NULL; + range = &ctx->range[CTX_RANGE_ID(offset)]; + range->blocks[CTX_BLOCK_ID(offset)] = NULL; } for (int k = 1; k <= block->nbo; k++) { r600_bo_reference(ctx->radeon, &block->reloc[k].bo, NULL); @@ -907,8 +907,8 @@ void r600_context_reg(struct r600_context *ctx, unsigned new_val; int dirty; - range = &ctx->range[CTX_RANGE_ID(ctx, offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, offset)]; + range = &ctx->range[CTX_RANGE_ID(offset)]; + block = range->blocks[CTX_BLOCK_ID(offset)]; id = (offset - block->start_offset) >> 2; dirty = block->status & R600_BLOCK_STATUS_DIRTY; @@ -948,8 +948,8 @@ void r600_context_pipe_state_set(struct r600_context *ctx, struct r600_pipe_stat unsigned id, reloc_id; struct r600_pipe_reg *reg = &state->regs[i]; - range = &ctx->range[CTX_RANGE_ID(ctx, reg->offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, reg->offset)]; + range = &ctx->range[CTX_RANGE_ID(reg->offset)]; + block = range->blocks[CTX_BLOCK_ID(reg->offset)]; id = (reg->offset - block->start_offset) >> 2; dirty = block->status & R600_BLOCK_STATUS_DIRTY; @@ -984,8 +984,8 @@ void r600_context_pipe_state_set_resource(struct r600_context *ctx, struct r600_ int dirty; int num_regs = ctx->radeon->chip_class >= EVERGREEN ? 8 : 7; - range = &ctx->range[CTX_RANGE_ID(ctx, offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, offset)]; + range = &ctx->range[CTX_RANGE_ID(offset)]; + block = range->blocks[CTX_BLOCK_ID(offset)]; if (state == NULL) { block->status &= ~(R600_BLOCK_STATUS_ENABLED | R600_BLOCK_STATUS_DIRTY); if (block->reloc[1].bo) @@ -1078,8 +1078,8 @@ static inline void r600_context_pipe_state_set_sampler(struct r600_context *ctx, int i; int dirty; - range = &ctx->range[CTX_RANGE_ID(ctx, offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, offset)]; + range = &ctx->range[CTX_RANGE_ID(offset)]; + block = range->blocks[CTX_BLOCK_ID(offset)]; if (state == NULL) { block->status &= ~(R600_BLOCK_STATUS_ENABLED | R600_BLOCK_STATUS_DIRTY); LIST_DELINIT(&block->list); @@ -1114,8 +1114,8 @@ static inline void r600_context_pipe_state_set_sampler_border(struct r600_contex int i; int dirty; - range = &ctx->range[CTX_RANGE_ID(ctx, offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, offset)]; + range = &ctx->range[CTX_RANGE_ID(offset)]; + block = range->blocks[CTX_BLOCK_ID(offset)]; if (state == NULL) { block->status &= ~(R600_BLOCK_STATUS_ENABLED | R600_BLOCK_STATUS_DIRTY); LIST_DELINIT(&block->list); @@ -1167,8 +1167,8 @@ struct r600_bo *r600_context_reg_bo(struct r600_context *ctx, unsigned offset) struct r600_block *block; unsigned id; - range = &ctx->range[CTX_RANGE_ID(ctx, offset)]; - block = range->blocks[CTX_BLOCK_ID(ctx, offset)]; + range = &ctx->range[CTX_RANGE_ID(offset)]; + block = range->blocks[CTX_BLOCK_ID(offset)]; offset -= block->start_offset; id = block->pm4_bo_index[offset >> 2]; if (block->reloc[id].bo) { diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h index d785ede09ea..9093e332132 100644 --- a/src/gallium/winsys/r600/drm/r600_priv.h +++ b/src/gallium/winsys/r600/drm/r600_priv.h @@ -197,8 +197,8 @@ struct r600_bo *r600_bomgr_bo_create(struct r600_bomgr *mgr, #define HASH_SHIFT 9 #define NUM_RANGES (0x42000 - RANGE_OFFSET_START) / (4 << HASH_SHIFT) /* 128 << 9 = 64k */ -#define CTX_RANGE_ID(ctx, offset) ((((offset - RANGE_OFFSET_START) >> 2) >> HASH_SHIFT) & 255) -#define CTX_BLOCK_ID(ctx, offset) (((offset - RANGE_OFFSET_START) >> 2) & ((1 << HASH_SHIFT) - 1)) +#define CTX_RANGE_ID(offset) ((((offset - RANGE_OFFSET_START) >> 2) >> HASH_SHIFT) & 255) +#define CTX_BLOCK_ID(offset) (((offset - RANGE_OFFSET_START) >> 2) & ((1 << HASH_SHIFT) - 1)) /* * radeon_bo.c -- cgit v1.2.3 From 991dbd71fdcc95e42bc56097d2fef3a7df0e8eaa Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:42:11 +1000 Subject: r600g: migrate macros from r600_priv.h to r600.h this is just an precursor change for some later patches. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600.h | 11 +++++++++++ src/gallium/winsys/r600/drm/r600_priv.h | 10 ---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index b90de7c65d6..97bef42db05 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -145,6 +145,17 @@ static INLINE unsigned r600_bo_offset(struct r600_bo *bo) #define R600_BLOCK_MAX_BO 32 #define R600_BLOCK_MAX_REG 128 +/* each range covers 9 bits of dword space = 512 dwords = 2k bytes */ +/* there is a block entry for each register so 512 blocks */ +/* we have no registers to read/write below 0x8000 (0x2000 in dw space) */ +/* we use some fake offsets at 0x40000 to do evergreen sampler borders so take 0x42000 as a max bound*/ +#define RANGE_OFFSET_START 0x8000 +#define HASH_SHIFT 9 +#define NUM_RANGES (0x42000 - RANGE_OFFSET_START) / (4 << HASH_SHIFT) /* 128 << 9 = 64k */ + +#define CTX_RANGE_ID(offset) ((((offset - RANGE_OFFSET_START) >> 2) >> HASH_SHIFT) & 255) +#define CTX_BLOCK_ID(offset) (((offset - RANGE_OFFSET_START) >> 2) & ((1 << HASH_SHIFT) - 1)) + struct r600_pipe_reg { u32 offset; u32 mask; diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h index 9093e332132..9be5c358f85 100644 --- a/src/gallium/winsys/r600/drm/r600_priv.h +++ b/src/gallium/winsys/r600/drm/r600_priv.h @@ -189,16 +189,6 @@ struct r600_bo *r600_bomgr_bo_create(struct r600_bomgr *mgr, * helpers */ -/* each range covers 9 bits of dword space = 512 dwords = 2k bytes */ -/* there is a block entry for each register so 512 blocks */ -/* we have no registers to read/write below 0x8000 (0x2000 in dw space) */ -/* we use some fake offsets at 0x40000 to do evergreen sampler borders so take 0x42000 as a max bound*/ -#define RANGE_OFFSET_START 0x8000 -#define HASH_SHIFT 9 -#define NUM_RANGES (0x42000 - RANGE_OFFSET_START) / (4 << HASH_SHIFT) /* 128 << 9 = 64k */ - -#define CTX_RANGE_ID(offset) ((((offset - RANGE_OFFSET_START) >> 2) >> HASH_SHIFT) & 255) -#define CTX_BLOCK_ID(offset) (((offset - RANGE_OFFSET_START) >> 2) & ((1 << HASH_SHIFT) - 1)) /* * radeon_bo.c -- cgit v1.2.3 From 7f6672f6a737bc1c47e36c9567bd6d908855ce4d Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:48:06 +1000 Subject: r600g: prepare for passing ctx into _r600_pipe_state_add_reg This moves the functions down the file, and also adds a ctx parameter. This is precursor patch just moving stuff around and getting it ready. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/evergreen_state.c | 9 ++++++++- src/gallium/drivers/r600/r600.h | 28 ++++++++++++++++------------ src/gallium/drivers/r600/r600_asm.c | 4 ++-- src/gallium/drivers/r600/r600_pipe.h | 4 ++-- src/gallium/drivers/r600/r600_state.c | 10 +++++++++- 5 files changed, 37 insertions(+), 18 deletions(-) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index ea37b17c9a4..27f88f1cab1 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -154,6 +154,7 @@ static void *evergreen_create_blend_state(struct pipe_context *ctx, static void *evergreen_create_dsa_state(struct pipe_context *ctx, const struct pipe_depth_stencil_alpha_state *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_dsa *dsa = CALLOC_STRUCT(r600_pipe_dsa); unsigned db_depth_control, alpha_test_control, alpha_ref, db_shader_control; unsigned stencil_ref_mask, stencil_ref_mask_bf, db_render_override, db_render_control; @@ -336,6 +337,7 @@ static void *evergreen_create_rs_state(struct pipe_context *ctx, static void *evergreen_create_sampler_state(struct pipe_context *ctx, const struct pipe_sampler_state *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state); union util_color uc; unsigned aniso_flag_offset = state->max_anisotropy > 1 ? 2 : 0; @@ -379,6 +381,7 @@ static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_conte struct pipe_resource *texture, const struct pipe_sampler_view *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_sampler_view *resource = CALLOC_STRUCT(r600_pipe_sampler_view); struct r600_pipe_state *rstate; const struct util_format_description *desc; @@ -1556,6 +1559,7 @@ void evergreen_polygon_offset_update(struct r600_pipe_context *rctx) void evergreen_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader *shader) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = &shader->rstate; struct r600_shader *rshader = &shader->shader; unsigned i, exports_ps, num_cout, spi_ps_in_control_0, spi_input_z, spi_ps_in_control_1, db_shader_control; @@ -1684,6 +1688,7 @@ void evergreen_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader void evergreen_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader *shader) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = &shader->rstate; struct r600_shader *rshader = &shader->shader; unsigned spi_vs_out_id[10]; @@ -1727,8 +1732,10 @@ void evergreen_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader 0xFFFFFFFF, NULL); } -void evergreen_fetch_shader(struct r600_vertex_element *ve) +void evergreen_fetch_shader(struct pipe_context *ctx, + struct r600_vertex_element *ve) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = &ve->rstate; rstate->id = R600_PIPE_STATE_FETCH_SHADER; rstate->nregs = 0; diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 97bef42db05..aa6a213e7db 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -169,18 +169,6 @@ struct r600_pipe_state { struct r600_pipe_reg regs[R600_BLOCK_MAX_REG]; }; -static inline void r600_pipe_state_add_reg(struct r600_pipe_state *state, - u32 offset, u32 value, u32 mask, - struct r600_bo *bo) -{ - state->regs[state->nregs].offset = offset; - state->regs[state->nregs].value = value; - state->regs[state->nregs].mask = mask; - state->regs[state->nregs].bo = bo; - state->nregs++; - assert(state->nregs < R600_BLOCK_MAX_REG); -} - #define R600_BLOCK_STATUS_ENABLED (1 << 0) #define R600_BLOCK_STATUS_DIRTY (1 << 1) @@ -322,4 +310,20 @@ void evergreen_context_pipe_state_set_vs_sampler(struct r600_context *ctx, struc struct radeon *radeon_decref(struct radeon *radeon); +static inline void _r600_pipe_state_add_reg(struct r600_context *ctx, + struct r600_pipe_state *state, + u32 offset, u32 value, u32 mask, + struct r600_bo *bo) +{ + state->regs[state->nregs].offset = offset; + state->regs[state->nregs].value = value; + state->regs[state->nregs].mask = mask; + state->regs[state->nregs].bo = bo; + state->nregs++; + assert(state->nregs < R600_BLOCK_MAX_REG); +} + +#define r600_pipe_state_add_reg(state, offset, value, mask, bo) _r600_pipe_state_add_reg(&rctx->ctx, state, offset, value, mask, bo) + + #endif diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index dda429e48fa..65e539eba35 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -2283,9 +2283,9 @@ int r600_vertex_elements_build_fetch_shader(struct r600_pipe_context *rctx, stru r600_bc_clear(&bc); if (rctx->family >= CHIP_CEDAR) - evergreen_fetch_shader(ve); + evergreen_fetch_shader(&rctx->context, ve); else - r600_fetch_shader(ve); + r600_fetch_shader(&rctx->context, ve); return 0; } diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 1102c5c72eb..ae809a28713 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -218,7 +218,7 @@ void evergreen_init_state_functions(struct r600_pipe_context *rctx); void evergreen_init_config(struct r600_pipe_context *rctx); void evergreen_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader *shader); void evergreen_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader *shader); -void evergreen_fetch_shader(struct r600_vertex_element *ve); +void evergreen_fetch_shader(struct pipe_context *ctx, struct r600_vertex_element *ve); void *evergreen_create_db_flush_dsa(struct r600_pipe_context *rctx); void evergreen_polygon_offset_update(struct r600_pipe_context *rctx); void evergreen_pipe_set_buffer_resource(struct r600_pipe_context *rctx, @@ -259,7 +259,7 @@ void r600_init_state_functions(struct r600_pipe_context *rctx); void r600_init_config(struct r600_pipe_context *rctx); void r600_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader *shader); void r600_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader *shader); -void r600_fetch_shader(struct r600_vertex_element *ve); +void r600_fetch_shader(struct pipe_context *ctx, struct r600_vertex_element *ve); void *r600_create_db_flush_dsa(struct r600_pipe_context *rctx); void r600_polygon_offset_update(struct r600_pipe_context *rctx); void r600_pipe_set_buffer_resource(struct r600_pipe_context *rctx, diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index 21e6abcb1f6..f1fbfa570f6 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -199,6 +199,7 @@ static void *r600_create_blend_state(struct pipe_context *ctx, static void *r600_create_dsa_state(struct pipe_context *ctx, const struct pipe_depth_stencil_alpha_state *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_dsa *dsa = CALLOC_STRUCT(r600_pipe_dsa); unsigned db_depth_control, alpha_test_control, alpha_ref, db_shader_control; unsigned stencil_ref_mask, stencil_ref_mask_bf, db_render_override, db_render_control; @@ -286,6 +287,7 @@ static void *r600_create_dsa_state(struct pipe_context *ctx, static void *r600_create_rs_state(struct pipe_context *ctx, const struct pipe_rasterizer_state *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_rasterizer *rs = CALLOC_STRUCT(r600_pipe_rasterizer); struct r600_pipe_state *rstate; unsigned tmp; @@ -367,6 +369,7 @@ static void *r600_create_rs_state(struct pipe_context *ctx, static void *r600_create_sampler_state(struct pipe_context *ctx, const struct pipe_sampler_state *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state); union util_color uc; unsigned aniso_flag_offset = state->max_anisotropy > 1 ? 4 : 0; @@ -405,6 +408,7 @@ static struct pipe_sampler_view *r600_create_sampler_view(struct pipe_context *c struct pipe_resource *texture, const struct pipe_sampler_view *state) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_sampler_view *resource = CALLOC_STRUCT(r600_pipe_sampler_view); struct r600_pipe_state *rstate; const struct util_format_description *desc; @@ -1280,6 +1284,7 @@ void r600_init_config(struct r600_pipe_context *rctx) void r600_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader *shader) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = &shader->rstate; struct r600_shader *rshader = &shader->shader; unsigned i, exports_ps, num_cout, spi_ps_in_control_0, spi_input_z, spi_ps_in_control_1, db_shader_control; @@ -1373,6 +1378,7 @@ void r600_pipe_shader_ps(struct pipe_context *ctx, struct r600_pipe_shader *shad void r600_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader *shader) { + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = &shader->rstate; struct r600_shader *rshader = &shader->shader; unsigned spi_vs_out_id[10]; @@ -1419,9 +1425,11 @@ void r600_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader *shad 0xFFFFFFFF, NULL); } -void r600_fetch_shader(struct r600_vertex_element *ve) +void r600_fetch_shader(struct pipe_context *ctx, + struct r600_vertex_element *ve) { struct r600_pipe_state *rstate; + struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; rstate = &ve->rstate; rstate->id = R600_PIPE_STATE_FETCH_SHADER; -- cgit v1.2.3 From 42502b6f03230b828121f60143190c39bc5c8dda Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:53:15 +1000 Subject: r600g: deinline r600_pipe_state_add_reg. This is going to get too big to be a forced inline. Also going to remove it from some hotpaths. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600.h | 16 ++++------------ src/gallium/drivers/r600/r600_state_common.c | 13 +++++++++++++ 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index aa6a213e7db..2495aab7a02 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -310,18 +310,10 @@ void evergreen_context_pipe_state_set_vs_sampler(struct r600_context *ctx, struc struct radeon *radeon_decref(struct radeon *radeon); -static inline void _r600_pipe_state_add_reg(struct r600_context *ctx, - struct r600_pipe_state *state, - u32 offset, u32 value, u32 mask, - struct r600_bo *bo) -{ - state->regs[state->nregs].offset = offset; - state->regs[state->nregs].value = value; - state->regs[state->nregs].mask = mask; - state->regs[state->nregs].bo = bo; - state->nregs++; - assert(state->nregs < R600_BLOCK_MAX_REG); -} +void _r600_pipe_state_add_reg(struct r600_context *ctx, + struct r600_pipe_state *state, + u32 offset, u32 value, u32 mask, + struct r600_bo *bo); #define r600_pipe_state_add_reg(state, offset, value, mask, bo) _r600_pipe_state_add_reg(&rctx->ctx, state, offset, value, mask, bo) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 4619d291029..e1d637a8c46 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -630,3 +630,16 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) u_vbuf_mgr_draw_end(rctx->vbuf_mgr); } + +void _r600_pipe_state_add_reg(struct r600_context *ctx, + struct r600_pipe_state *state, + u32 offset, u32 value, u32 mask, + struct r600_bo *bo) +{ + state->regs[state->nregs].offset = offset; + state->regs[state->nregs].value = value; + state->regs[state->nregs].mask = mask; + state->regs[state->nregs].bo = bo; + state->nregs++; + assert(state->nregs < R600_BLOCK_MAX_REG); +} -- cgit v1.2.3 From 4423c79ddf6853d1d4594afda3e1262c1b9af4f5 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:57:13 +1000 Subject: r600g: work out range/block etc at state build time. This moves the overhead of working out the range/block to state build time, it also allows the compiler to use constants for a lot of things instead of working them out each time. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600.h | 11 ++++++----- src/gallium/drivers/r600/r600_state_common.c | 10 +++++++++- src/gallium/winsys/r600/drm/r600_hw_context.c | 6 ++---- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 2495aab7a02..df02787ef69 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -157,10 +157,11 @@ static INLINE unsigned r600_bo_offset(struct r600_bo *bo) #define CTX_BLOCK_ID(offset) (((offset - RANGE_OFFSET_START) >> 2) & ((1 << HASH_SHIFT) - 1)) struct r600_pipe_reg { - u32 offset; - u32 mask; u32 value; - struct r600_bo *bo; + u32 mask; + struct r600_block *block; + struct r600_bo *bo; + u32 id; }; struct r600_pipe_state { @@ -313,9 +314,9 @@ struct radeon *radeon_decref(struct radeon *radeon); void _r600_pipe_state_add_reg(struct r600_context *ctx, struct r600_pipe_state *state, u32 offset, u32 value, u32 mask, + u32 range_id, u32 block_id, struct r600_bo *bo); -#define r600_pipe_state_add_reg(state, offset, value, mask, bo) _r600_pipe_state_add_reg(&rctx->ctx, state, offset, value, mask, bo) - +#define r600_pipe_state_add_reg(state, offset, value, mask, bo) _r600_pipe_state_add_reg(&rctx->ctx, state, offset, value, mask, CTX_RANGE_ID(offset), CTX_BLOCK_ID(offset), bo) #endif diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index e1d637a8c46..db9451f9b0e 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -634,12 +634,20 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) void _r600_pipe_state_add_reg(struct r600_context *ctx, struct r600_pipe_state *state, u32 offset, u32 value, u32 mask, + u32 range_id, u32 block_id, struct r600_bo *bo) { - state->regs[state->nregs].offset = offset; + struct r600_range *range; + struct r600_block *block; + + range = &ctx->range[range_id]; + block = range->blocks[block_id]; + state->regs[state->nregs].value = value; state->regs[state->nregs].mask = mask; state->regs[state->nregs].bo = bo; + state->regs[state->nregs].block = block; + state->regs[state->nregs].id = (offset - block->start_offset) >> 2; state->nregs++; assert(state->nregs < R600_BLOCK_MAX_REG); } diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index 6415268c786..a3c8945a722 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -940,7 +940,6 @@ void r600_context_dirty_block(struct r600_context *ctx, struct r600_block *block void r600_context_pipe_state_set(struct r600_context *ctx, struct r600_pipe_state *state) { - struct r600_range *range; struct r600_block *block; unsigned new_val; int dirty; @@ -948,9 +947,8 @@ void r600_context_pipe_state_set(struct r600_context *ctx, struct r600_pipe_stat unsigned id, reloc_id; struct r600_pipe_reg *reg = &state->regs[i]; - range = &ctx->range[CTX_RANGE_ID(reg->offset)]; - block = range->blocks[CTX_BLOCK_ID(reg->offset)]; - id = (reg->offset - block->start_offset) >> 2; + block = reg->block; + id = reg->id; dirty = block->status & R600_BLOCK_STATUS_DIRTY; -- cgit v1.2.3 From 573758fd094431c8b3220786cea28dfdb4cfad1c Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 15:03:52 +1000 Subject: r600g: decrease CPU time on set buffer resources This splits the initialisation and the setting of values in the resource buffers. We only should end up initialising once and updateing with new values when needed. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/evergreen_state.c | 24 +++++++++++++--- src/gallium/drivers/r600/r600.h | 15 ++++++++++ src/gallium/drivers/r600/r600_pipe.h | 14 +++++++--- src/gallium/drivers/r600/r600_state.c | 22 ++++++++++++--- src/gallium/drivers/r600/r600_state_common.c | 41 ++++++++++++++++++++-------- 5 files changed, 92 insertions(+), 24 deletions(-) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 27f88f1cab1..9bef3f89ca6 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -1769,11 +1769,13 @@ void *evergreen_create_db_flush_dsa(struct r600_pipe_context *rctx) return rstate; } -void evergreen_pipe_set_buffer_resource(struct r600_pipe_context *rctx, - struct r600_pipe_state *rstate, - struct r600_resource *rbuffer, - unsigned offset, unsigned stride) +void evergreen_pipe_init_buffer_resource(struct r600_pipe_context *rctx, + struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride) { + rstate->id = R600_PIPE_STATE_RESOURCE; + rstate->nregs = 0; r600_pipe_state_add_reg(rstate, R_030000_RESOURCE0_WORD0, offset, 0xFFFFFFFF, rbuffer->bo); r600_pipe_state_add_reg(rstate, R_030004_RESOURCE0_WORD1, @@ -1796,3 +1798,17 @@ void evergreen_pipe_set_buffer_resource(struct r600_pipe_context *rctx, r600_pipe_state_add_reg(rstate, R_03001C_RESOURCE0_WORD7, 0xC0000000, 0xFFFFFFFF, NULL); } + + +void evergreen_pipe_mod_buffer_resource(struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride) +{ + rstate->nregs = 0; + r600_pipe_state_mod_reg_bo(rstate, offset, rbuffer->bo); + r600_pipe_state_mod_reg(rstate, rbuffer->bo_size - offset - 1); + r600_pipe_state_mod_reg(rstate, S_030008_ENDIAN_SWAP(r600_endian_swap(32)) | + S_030008_STRIDE(stride)); + rstate->nregs = 8; + +} diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index df02787ef69..50a07537d3e 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -319,4 +319,19 @@ void _r600_pipe_state_add_reg(struct r600_context *ctx, #define r600_pipe_state_add_reg(state, offset, value, mask, bo) _r600_pipe_state_add_reg(&rctx->ctx, state, offset, value, mask, CTX_RANGE_ID(offset), CTX_BLOCK_ID(offset), bo) +static inline void r600_pipe_state_mod_reg(struct r600_pipe_state *state, + u32 value) +{ + state->regs[state->nregs].value = value; + state->nregs++; +} + +static inline void r600_pipe_state_mod_reg_bo(struct r600_pipe_state *state, + u32 value, struct r600_bo *bo) +{ + state->regs[state->nregs].value = value; + state->regs[state->nregs].bo = bo; + state->nregs++; +} + #endif diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index ae809a28713..05381c244b0 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -221,8 +221,11 @@ void evergreen_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader void evergreen_fetch_shader(struct pipe_context *ctx, struct r600_vertex_element *ve); void *evergreen_create_db_flush_dsa(struct r600_pipe_context *rctx); void evergreen_polygon_offset_update(struct r600_pipe_context *rctx); -void evergreen_pipe_set_buffer_resource(struct r600_pipe_context *rctx, - struct r600_pipe_state *rstate, +void evergreen_pipe_init_buffer_resource(struct r600_pipe_context *rctx, + struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride); +void evergreen_pipe_mod_buffer_resource(struct r600_pipe_state *rstate, struct r600_resource *rbuffer, unsigned offset, unsigned stride); @@ -262,8 +265,11 @@ void r600_pipe_shader_vs(struct pipe_context *ctx, struct r600_pipe_shader *shad void r600_fetch_shader(struct pipe_context *ctx, struct r600_vertex_element *ve); void *r600_create_db_flush_dsa(struct r600_pipe_context *rctx); void r600_polygon_offset_update(struct r600_pipe_context *rctx); -void r600_pipe_set_buffer_resource(struct r600_pipe_context *rctx, - struct r600_pipe_state *rstate, +void r600_pipe_init_buffer_resource(struct r600_pipe_context *rctx, + struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride); +void r600_pipe_mod_buffer_resource(struct r600_pipe_state *rstate, struct r600_resource *rbuffer, unsigned offset, unsigned stride); diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index f1fbfa570f6..3043c5e1c8b 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -1481,11 +1481,13 @@ void *r600_create_db_flush_dsa(struct r600_pipe_context *rctx) return rstate; } -void r600_pipe_set_buffer_resource(struct r600_pipe_context *rctx, - struct r600_pipe_state *rstate, - struct r600_resource *rbuffer, - unsigned offset, unsigned stride) +void r600_pipe_init_buffer_resource(struct r600_pipe_context *rctx, + struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride) { + rstate->id = R600_PIPE_STATE_RESOURCE; + rstate->nregs = 0; r600_pipe_state_add_reg(rstate, R_038000_RESOURCE0_WORD0, offset, 0xFFFFFFFF, rbuffer->bo); r600_pipe_state_add_reg(rstate, R_038004_RESOURCE0_WORD1, @@ -1502,3 +1504,15 @@ void r600_pipe_set_buffer_resource(struct r600_pipe_context *rctx, r600_pipe_state_add_reg(rstate, R_038018_RESOURCE0_WORD6, 0xC0000000, 0xFFFFFFFF, NULL); } + +void r600_pipe_mod_buffer_resource(struct r600_pipe_state *rstate, + struct r600_resource *rbuffer, + unsigned offset, unsigned stride) +{ + rstate->nregs = 0; + r600_pipe_state_mod_reg_bo(rstate, offset, rbuffer->bo); + r600_pipe_state_mod_reg(rstate, rbuffer->bo_size - offset - 1); + r600_pipe_state_mod_reg(rstate, S_038008_ENDIAN_SWAP(r600_endian_swap(32)) | + S_038008_STRIDE(stride)); + rstate->nregs = 7; +} diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index db9451f9b0e..cbf7ff017a4 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -410,13 +410,19 @@ void r600_set_constant_buffer(struct pipe_context *ctx, uint shader, uint index, r600_context_pipe_state_set(&rctx->ctx, &rctx->vs_const_buffer); rstate = &rctx->vs_const_buffer_resource[index]; - rstate->id = R600_PIPE_STATE_RESOURCE; - rstate->nregs = 0; + if (!rstate->id) { + if (rctx->family >= CHIP_CEDAR) { + evergreen_pipe_init_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + } else { + r600_pipe_init_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + } + } + if (rctx->family >= CHIP_CEDAR) { - evergreen_pipe_set_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + evergreen_pipe_mod_buffer_resource(rstate, &rbuffer->r, offset, 16); evergreen_context_pipe_state_set_vs_resource(&rctx->ctx, rstate, index); } else { - r600_pipe_set_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + r600_pipe_mod_buffer_resource(rstate, &rbuffer->r, offset, 16); r600_context_pipe_state_set_vs_resource(&rctx->ctx, rstate, index); } break; @@ -432,13 +438,18 @@ void r600_set_constant_buffer(struct pipe_context *ctx, uint shader, uint index, r600_context_pipe_state_set(&rctx->ctx, &rctx->ps_const_buffer); rstate = &rctx->ps_const_buffer_resource[index]; - rstate->id = R600_PIPE_STATE_RESOURCE; - rstate->nregs = 0; + if (!rstate->id) { + if (rctx->family >= CHIP_CEDAR) { + evergreen_pipe_init_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + } else { + r600_pipe_init_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + } + } if (rctx->family >= CHIP_CEDAR) { - evergreen_pipe_set_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + evergreen_pipe_mod_buffer_resource(rstate, &rbuffer->r, offset, 16); evergreen_context_pipe_state_set_ps_resource(&rctx->ctx, rstate, index); } else { - r600_pipe_set_buffer_resource(rctx, rstate, &rbuffer->r, offset, 16); + r600_pipe_mod_buffer_resource(rstate, &rbuffer->r, offset, 16); r600_context_pipe_state_set_ps_resource(&rctx->ctx, rstate, index); } break; @@ -468,8 +479,6 @@ static void r600_vertex_buffer_update(struct r600_pipe_context *rctx) for (i = 0 ; i < count; i++) { rstate = &rctx->fs_resource[i]; - rstate->id = R600_PIPE_STATE_RESOURCE; - rstate->nregs = 0; if (rctx->vertex_elements->vbuffer_need_offset) { /* one resource per vertex elements */ @@ -488,11 +497,19 @@ static void r600_vertex_buffer_update(struct r600_pipe_context *rctx) continue; offset += vertex_buffer->buffer_offset + r600_bo_offset(rbuffer->bo); + if (!rstate->id) { + if (rctx->family >= CHIP_CEDAR) { + evergreen_pipe_init_buffer_resource(rctx, rstate, rbuffer, offset, vertex_buffer->stride); + } else { + r600_pipe_init_buffer_resource(rctx, rstate, rbuffer, offset, vertex_buffer->stride); + } + } + if (rctx->family >= CHIP_CEDAR) { - evergreen_pipe_set_buffer_resource(rctx, rstate, rbuffer, offset, vertex_buffer->stride); + evergreen_pipe_mod_buffer_resource(rstate, rbuffer, offset, vertex_buffer->stride); evergreen_context_pipe_state_set_fs_resource(&rctx->ctx, rstate, i); } else { - r600_pipe_set_buffer_resource(rctx, rstate, rbuffer, offset, vertex_buffer->stride); + r600_pipe_mod_buffer_resource(rstate, rbuffer, offset, vertex_buffer->stride); r600_context_pipe_state_set_fs_resource(&rctx->ctx, rstate, i); } } -- cgit v1.2.3 From b0dc2d0c3b964c2670554a91b4ee79360fd5934a Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 15:08:24 +1000 Subject: r600g: add spi state and move spi/vgt to modify register This modifies the VGT state and move the SPI setup to its own discrete state. It then just sets the SPI state up and the VGT state up once and modifies them thereafter. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600_pipe.h | 2 ++ src/gallium/drivers/r600/r600_state_common.c | 49 +++++++++++++++++++--------- 2 files changed, 35 insertions(+), 16 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 05381c244b0..8002d943abd 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -65,6 +65,7 @@ enum r600_pipe_state_id { R600_PIPE_STATE_RESOURCE, R600_PIPE_STATE_POLYGON_OFFSET, R600_PIPE_STATE_FETCH_SHADER, + R600_PIPE_STATE_SPI, R600_PIPE_NSTATES }; @@ -189,6 +190,7 @@ struct r600_pipe_context { struct r600_pipe_state ps_const_buffer_resource[R600_MAX_CONST_BUFFERS]; struct r600_pipe_rasterizer *rasterizer; struct r600_pipe_state vgt; + struct r600_pipe_state spi; /* shader information */ unsigned sprite_coord_enable; bool flatshade; diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index cbf7ff017a4..14182fb0137 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -338,14 +338,27 @@ static void r600_update_alpha_ref(struct r600_pipe_context *rctx) } /* FIXME optimize away spi update when it's not needed */ +static void r600_spi_block_init(struct r600_pipe_context *rctx, struct r600_pipe_state *rstate) +{ + int i; + rstate->nregs = 0; + rstate->id = R600_PIPE_STATE_SPI; + for (i = 0; i < 32; i++) { + r600_pipe_state_add_reg(rstate, R_028644_SPI_PS_INPUT_CNTL_0 + i * 4, 0, 0xFFFFFFFF, NULL); + } +} + static void r600_spi_update(struct r600_pipe_context *rctx, unsigned prim) { struct r600_pipe_shader *shader = rctx->ps_shader; - struct r600_pipe_state rstate; + struct r600_pipe_state *rstate = &rctx->spi; struct r600_shader *rshader = &shader->shader; unsigned i, tmp; - rstate.nregs = 0; + if (rctx->spi.id == 0) + r600_spi_block_init(rctx, &rctx->spi); + + rstate->nregs = 0; for (i = 0; i < rshader->ninput; i++) { tmp = S_028644_SEMANTIC(r600_find_vs_semantic_index(&rctx->vs_shader->shader, rshader, i)); @@ -368,15 +381,10 @@ static void r600_spi_update(struct r600_pipe_context *rctx, unsigned prim) tmp |= S_028644_SEL_LINEAR(1); } - r600_pipe_state_add_reg(&rstate, R_028644_SPI_PS_INPUT_CNTL_0 + i * 4, tmp, 0xFFFFFFFF, NULL); + r600_pipe_state_mod_reg(rstate, tmp); } - if (prim == PIPE_PRIM_QUADS || prim == PIPE_PRIM_QUAD_STRIP || prim == PIPE_PRIM_POLYGON) { - r600_pipe_state_add_reg(&rstate, R_028814_PA_SU_SC_MODE_CNTL, - S_028814_PROVOKING_VTX_LAST(1), - S_028814_PROVOKING_VTX_LAST(1), NULL); - } - r600_context_pipe_state_set(&rctx->ctx, &rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate); } void r600_set_constant_buffer(struct pipe_context *ctx, uint shader, uint index, @@ -609,13 +617,22 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) r600_pipe_state_add_reg(&rctx->vgt, R_028408_VGT_INDX_OFFSET, draw.info.index_bias, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(&rctx->vgt, R_03CFF0_SQ_VTX_BASE_VTX_LOC, 0, 0xFFFFFFFF, NULL); r600_pipe_state_add_reg(&rctx->vgt, R_03CFF4_SQ_VTX_START_INST_LOC, draw.info.start_instance, 0xFFFFFFFF, NULL); - } else { - rctx->vgt.regs[0].value = prim; - rctx->vgt.regs[1].value = rctx->cb_target_mask & mask; - rctx->vgt.regs[2].value = draw.info.max_index; - rctx->vgt.regs[3].value = draw.info.min_index; - rctx->vgt.regs[4].value = draw.info.index_bias; - rctx->vgt.regs[6].value = draw.info.start_instance; + r600_pipe_state_add_reg(&rctx->vgt, R_028814_PA_SU_SC_MODE_CNTL, + 0, + S_028814_PROVOKING_VTX_LAST(1), NULL); + + } + + rctx->vgt.nregs = 0; + r600_pipe_state_mod_reg(&rctx->vgt, prim); + r600_pipe_state_mod_reg(&rctx->vgt, rctx->cb_target_mask & mask); + r600_pipe_state_mod_reg(&rctx->vgt, draw.info.max_index); + r600_pipe_state_mod_reg(&rctx->vgt, draw.info.min_index); + r600_pipe_state_mod_reg(&rctx->vgt, draw.info.index_bias); + r600_pipe_state_mod_reg(&rctx->vgt, 0); + r600_pipe_state_mod_reg(&rctx->vgt, draw.info.start_instance); + if (draw.info.mode == PIPE_PRIM_QUADS || draw.info.mode == PIPE_PRIM_QUAD_STRIP || draw.info.mode == PIPE_PRIM_POLYGON) { + r600_pipe_state_mod_reg(&rctx->vgt, S_028814_PROVOKING_VTX_LAST(1)); } r600_context_pipe_state_set(&rctx->ctx, &rctx->vgt); -- cgit v1.2.3 From f61d1deac7d19dcec38b7852a635d92680624a32 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 2 Jun 2011 08:27:09 +0100 Subject: i965: Raise const.MaxTextureLevels to 14 (8192) Mesa now limits, by default, the max number of texture levels to 15 so we can now support the architectural maximum for gen4-6 of 14. Signed-off-by: Chris Wilson --- src/mesa/drivers/dri/i965/brw_context.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index df753abed02..0256ab9061f 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -94,9 +94,9 @@ GLboolean brwCreateContext( int api, ctx->Const.MaxVertexTextureImageUnits + ctx->Const.MaxTextureImageUnits; - /* Mesa limits textures to 4kx4k; it would be nice to fix that someday - */ - ctx->Const.MaxTextureLevels = 13; + ctx->Const.MaxTextureLevels = 14; /* 8192 */ + if (ctx->Const.MaxTextureLevels > MAX_TEXTURE_LEVELS) + ctx->Const.MaxTextureLevels = MAX_TEXTURE_LEVELS; ctx->Const.Max3DTextureLevels = 9; ctx->Const.MaxCubeTextureLevels = 12; ctx->Const.MaxTextureRectSize = (1<<12); -- cgit v1.2.3 From a531513b06be45868bc4d4f6a9757fe6992ef304 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Thu, 2 Jun 2011 14:01:24 +0200 Subject: d3d1x/sm4: fix swizzle for 1 component operands For example, "mov o0.w, l(1)" would use imm_values[3], which is not valid. --- src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp b/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp index 2c0f8269af3..de4a1e551e2 100644 --- a/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp +++ b/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp @@ -91,6 +91,7 @@ struct sm4_parser break; case SM4_OPERAND_COMPNUM_1: op.comps = 1; + op.swizzle[1] = op.swizzle[2] = op.swizzle[3] = 0; break; case SM4_OPERAND_COMPNUM_4: op.comps = 4; -- cgit v1.2.3 From d1fd740bb778d7b3763e7c9b8383b1981084c318 Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Thu, 2 Jun 2011 14:04:05 +0200 Subject: d3d1x/sm4: don't reset 1st index of multi-dimensional operands to 0 --- src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp b/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp index de4a1e551e2..30962900122 100644 --- a/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp +++ b/src/gallium/state_trackers/d3d1x/d3d1xshader/src/sm4_parse.cpp @@ -144,7 +144,7 @@ struct sm4_parser repr = optok.index2_repr; else fail("Unhandled operand index representation"); - op.indices[0].disp = 0; + op.indices[i].disp = 0; // TODO: is disp supposed to be signed here?? switch(repr) { -- cgit v1.2.3 From 029ea39fb9b707a861f4a884c8c191aef0e63af9 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 08:01:26 -0600 Subject: st/mesa: add GL_R11F_G11F_B10F to format table Fixes http://bugs.freedesktop.org/show_bug.cgi?id=37839 --- src/mesa/state_tracker/st_format.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index b45cf215d4e..35835712547 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -1096,6 +1096,10 @@ static struct format_mapping format_map[] = { { { GL_RGB9_E5, 0 }, { PIPE_FORMAT_R9G9B9E5_FLOAT, 0 } + }, + { + { GL_R11F_G11F_B10F, 0 }, + { PIPE_FORMAT_R11G11B10_FLOAT, 0 } } }; -- cgit v1.2.3 From bab3b4a75886acd040e81730d9d3dfb31d4f0d48 Mon Sep 17 00:00:00 2001 From: Benjamin Bellec Date: Thu, 2 Jun 2011 08:31:16 -0600 Subject: mesa: faster logbase2 With minor clean-ups by Brian Paul. Signed-off-by: Brian Paul --- src/mesa/main/teximage.c | 35 +++++++++++------------------------ 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 4ea9a483c92..3e429110ae9 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -81,31 +81,18 @@ _mesa_free_texmemory(void *m) /* - * Compute floor(log_base_2(n)). - * If n < 0 return -1. + * Returns the floor form of binary logarithm for a 32-bit integer. */ -static int -logbase2( int n ) -{ - GLint i = 1; - GLint log2 = 0; - - if (n < 0) - return -1; - - if (n == 0) - return 0; - - while ( n > i ) { - i *= 2; - log2++; - } - if (i != n) { - return log2 - 1; - } - else { - return log2; - } +static GLuint +logbase2(GLuint n) +{ + GLuint pos = 0; + if (n >= 1<<16) { n >>= 16; pos += 16; } + if (n >= 1<< 8) { n >>= 8; pos += 8; } + if (n >= 1<< 4) { n >>= 4; pos += 4; } + if (n >= 1<< 2) { n >>= 2; pos += 2; } + if (n >= 1<< 1) { pos += 1; } + return pos; } -- cgit v1.2.3 From f62e1f41b4d6047e72222aebbb0b55a508269b0c Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 08:43:07 -0600 Subject: util: faster logbase2 --- src/gallium/auxiliary/util/u_math.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h index 2ecade5f7e4..65a99fcb394 100644 --- a/src/gallium/auxiliary/util/u_math.h +++ b/src/gallium/auxiliary/util/u_math.h @@ -477,10 +477,13 @@ float_to_byte_tex(float f) static INLINE unsigned util_logbase2(unsigned n) { - unsigned log2 = 0; - while (n >>= 1) - ++log2; - return log2; + unsigned pos = 0; + if (n >= 1<<16) { n >>= 16; pos += 16; } + if (n >= 1<< 8) { n >>= 8; pos += 8; } + if (n >= 1<< 4) { n >>= 4; pos += 4; } + if (n >= 1<< 2) { n >>= 2; pos += 2; } + if (n >= 1<< 1) { pos += 1; } + return pos; } -- cgit v1.2.3 From bddf275db44695e3850c4b62b8f4b77d93299ae9 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Thu, 2 Jun 2011 00:50:45 +0200 Subject: softpipe: add a better fake implementation of fences The flush function, when asked for, should not return a NULL fence. NULL can only be returned if fences are not implemented, and st/mesa doesn't call any of the fence functions if it receives a NULL fence (because some drivers don't even set the fence hooks). ARB_sync is exposed if fence_finish is set. --- src/gallium/drivers/softpipe/sp_fence.c | 7 +++---- src/gallium/drivers/softpipe/sp_flush.c | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/softpipe/sp_fence.c b/src/gallium/drivers/softpipe/sp_fence.c index 7b79a0df4ea..c2897ed1ef8 100644 --- a/src/gallium/drivers/softpipe/sp_fence.c +++ b/src/gallium/drivers/softpipe/sp_fence.c @@ -36,8 +36,7 @@ softpipe_fence_reference(struct pipe_screen *screen, struct pipe_fence_handle **ptr, struct pipe_fence_handle *fence) { - assert(!*ptr); - assert(!fence); + *ptr = fence; } @@ -45,7 +44,7 @@ static boolean softpipe_fence_signalled(struct pipe_screen *screen, struct pipe_fence_handle *fence) { - assert(!fence); + assert(fence); return TRUE; } @@ -55,7 +54,7 @@ softpipe_fence_finish(struct pipe_screen *screen, struct pipe_fence_handle *fence, uint64_t timeout) { - assert(!fence); + assert(fence); return TRUE; } diff --git a/src/gallium/drivers/softpipe/sp_flush.c b/src/gallium/drivers/softpipe/sp_flush.c index 720fea83cb2..a2733e95878 100644 --- a/src/gallium/drivers/softpipe/sp_flush.c +++ b/src/gallium/drivers/softpipe/sp_flush.c @@ -96,9 +96,9 @@ softpipe_flush( struct pipe_context *pipe, ++frame_no; } #endif - + if (fence) - *fence = NULL; + *fence = (void*)(intptr_t)1; } void -- cgit v1.2.3 From 776a2a54473194e2f0926902276a1f880cded91f Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 1 Jun 2011 11:33:48 -0400 Subject: glx: Fix another case of using req outside of the display lock Reviewed-by: Brian Paul Signed-off-by: Adam Jackson --- src/glx/glxcmds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index dbfa0edff98..8b4151d0b4b 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -644,13 +644,13 @@ glXCreateGLXPixmap(Display * dpy, XVisualInfo * vis, Pixmap pixmap) if (psc->driScreen == NULL) break; config = glx_config_find_visual(psc->visuals, vis->visualid); - pdraw = psc->driScreen->createDrawable(psc, pixmap, req->glxpixmap, config); + pdraw = psc->driScreen->createDrawable(psc, pixmap, xid, config); if (pdraw == NULL) { fprintf(stderr, "failed to create pixmap\n"); break; } - if (__glxHashInsert(priv->drawHash, req->glxpixmap, pdraw)) { + if (__glxHashInsert(priv->drawHash, xid, pdraw)) { (*pdraw->destroyDrawable) (pdraw); return None; /* FIXME: Check what we're supposed to do here... */ } -- cgit v1.2.3 From e09e5cb7d8b2d7a9d0ec61476e654528010b2b91 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 1 Jun 2011 13:00:57 -0400 Subject: glx: Remove (unused, broken) fastImageUnpack fast path Reviewed-by: Brian Paul Signed-off-by: Adam Jackson --- src/glx/glxclient.h | 8 ----- src/glx/indirect_glx.c | 3 -- src/glx/renderpix.c | 98 ++++++++++++++++++++------------------------------ 3 files changed, 39 insertions(+), 70 deletions(-) diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index 2b6966f2e08..a443f780672 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -309,14 +309,6 @@ struct glx_context GLuint *selectBuf; /*@} */ - /** - * This is \c GL_TRUE if the pixel unpack modes are such that an image - * can be unpacked from the clients memory by just copying. It may - * still be true that the server will have to do some work. This - * just promises that a straight copy will fetch the correct bytes. - */ - GLboolean fastImageUnpack; - /** * Fill newImage with the unpacked form of \c oldImage getting it * ready for transport to the server. diff --git a/src/glx/indirect_glx.c b/src/glx/indirect_glx.c index 1870edee371..b4f16c72536 100644 --- a/src/glx/indirect_glx.c +++ b/src/glx/indirect_glx.c @@ -404,10 +404,7 @@ indirect_create_context(struct glx_screen *psc, /* ** PERFORMANCE NOTE: A mode dependent fill image can speed things up. - ** Other code uses the fastImageUnpack bit, but it is never set - ** to GL_TRUE. */ - gc->fastImageUnpack = GL_FALSE; gc->fillImage = __glFillImage; gc->pc = gc->buf; gc->bufEnd = gc->buf + bufSize; diff --git a/src/glx/renderpix.c b/src/glx/renderpix.c index 8234bbe21f6..b54f1155959 100644 --- a/src/glx/renderpix.c +++ b/src/glx/renderpix.c @@ -76,10 +76,6 @@ * Modify this function so that \c NULL images are sent using * \c __glXSendLargeChunk instead of __glXSendLargeCommand. Doing this * will eliminate the need to allocate a buffer for that case. - * - * \bugs - * The \c fastImageUnpack path, which is thankfully never used, is completely - * broken. */ void __glXSendLargeImage(struct glx_context * gc, GLint compsize, GLint dim, @@ -87,48 +83,38 @@ __glXSendLargeImage(struct glx_context * gc, GLint compsize, GLint dim, GLenum format, GLenum type, const GLvoid * src, GLubyte * pc, GLubyte * modes) { - if (!gc->fastImageUnpack || (src == NULL)) { - /* Allocate a temporary holding buffer */ - GLubyte *buf = (GLubyte *) Xmalloc(compsize); - if (!buf) { - __glXSetError(gc, GL_OUT_OF_MEMORY); - return; - } + /* Allocate a temporary holding buffer */ + GLubyte *buf = (GLubyte *) Xmalloc(compsize); + if (!buf) { + __glXSetError(gc, GL_OUT_OF_MEMORY); + return; + } - /* Apply pixel store unpack modes to copy data into buf */ - if (src != NULL) { - (*gc->fillImage) (gc, dim, width, height, depth, format, type, - src, buf, modes); - } - else { - if (dim < 3) { - (void) memcpy(modes, __glXDefaultPixelStore + 4, 20); - } - else { - (void) memcpy(modes, __glXDefaultPixelStore + 0, 36); - } - } + /* Apply pixel store unpack modes to copy data into buf */ + if (src != NULL) { + (*gc->fillImage) (gc, dim, width, height, depth, format, type, + src, buf, modes); + } + else { + if (dim < 3) { + (void) memcpy(modes, __glXDefaultPixelStore + 4, 20); + } + else { + (void) memcpy(modes, __glXDefaultPixelStore + 0, 36); + } + } - /* Send large command */ - __glXSendLargeCommand(gc, gc->pc, pc - gc->pc, buf, compsize); + /* Send large command */ + __glXSendLargeCommand(gc, gc->pc, pc - gc->pc, buf, compsize); - /* Free buffer */ - Xfree((char *) buf); - } - else { - /* Just send the data straight as is */ - __glXSendLargeCommand(gc, gc->pc, pc - gc->pc, pc, compsize); - } + /* Free buffer */ + Xfree((char *) buf); } /************************************************************************/ /** * Implement GLX protocol for \c glSeparableFilter2D. - * - * \bugs - * The \c fastImageUnpack path, which is thankfully never used, is completely - * broken. */ void __indirect_glSeparableFilter2D(GLenum target, GLenum internalformat, @@ -177,6 +163,7 @@ __indirect_glSeparableFilter2D(GLenum target, GLenum internalformat, __GLX_END(0); } else { + GLubyte *buf; const GLint bufsize = image1len + image2len; /* Use GLXRenderLarge protocol to send command */ @@ -190,29 +177,22 @@ __indirect_glSeparableFilter2D(GLenum target, GLenum internalformat, __GLX_PUT_LONG(20, type); pc += hdrlen; - if (!gc->fastImageUnpack) { - /* Allocate a temporary holding buffer */ - GLubyte *buf = (GLubyte *) Xmalloc(bufsize); - if (!buf) { - __glXSetError(gc, GL_OUT_OF_MEMORY); - return; - } - (*gc->fillImage) (gc, 1, width, 1, 1, format, type, row, buf, - pixelHeaderPC); + /* Allocate a temporary holding buffer */ + buf = (GLubyte *) Xmalloc(bufsize); + if (!buf) { + __glXSetError(gc, GL_OUT_OF_MEMORY); + return; + } + (*gc->fillImage) (gc, 1, width, 1, 1, format, type, row, buf, + pixelHeaderPC); - (*gc->fillImage) (gc, 1, height, 1, 1, format, type, column, - buf + image1len, pixelHeaderPC); + (*gc->fillImage) (gc, 1, height, 1, 1, format, type, column, + buf + image1len, pixelHeaderPC); - /* Send large command */ - __glXSendLargeCommand(gc, gc->pc, (GLint) (pc - gc->pc), buf, - bufsize); - /* Free buffer */ - Xfree((char *) buf); - } - else { - /* Just send the data straight as is */ - __glXSendLargeCommand(gc, gc->pc, (GLint) (pc - gc->pc), pc, - bufsize); - } + /* Send large command */ + __glXSendLargeCommand(gc, gc->pc, (GLint) (pc - gc->pc), buf, + bufsize); + /* Free buffer */ + Xfree((char *) buf); } } -- cgit v1.2.3 From 51d0892ee2daaa442a48abff2329e1485dd337e8 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 3 Jun 2011 08:50:58 +1000 Subject: r600g: sampler and texture state doesn't need a range/block. These are handled separately in the winsys, so don't need the calculations done at this point. this manifested as a crash in point-sprite, Thanks to XoD on #radeon for pointing it out. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/evergreen_state.c | 23 ++++++++-------- src/gallium/drivers/r600/r600.h | 3 +++ src/gallium/drivers/r600/r600_state.c | 39 ++++++++++++++-------------- src/gallium/drivers/r600/r600_state_common.c | 19 ++++++++++++-- 4 files changed, 50 insertions(+), 34 deletions(-) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 9bef3f89ca6..54f5410c324 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -337,7 +337,6 @@ static void *evergreen_create_rs_state(struct pipe_context *ctx, static void *evergreen_create_sampler_state(struct pipe_context *ctx, const struct pipe_sampler_state *state) { - struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state); union util_color uc; unsigned aniso_flag_offset = state->max_anisotropy > 1 ? 2 : 0; @@ -348,7 +347,7 @@ static void *evergreen_create_sampler_state(struct pipe_context *ctx, rstate->id = R600_PIPE_STATE_SAMPLER; util_pack_color(state->border_color, PIPE_FORMAT_B8G8R8A8_UNORM, &uc); - r600_pipe_state_add_reg(rstate, R_03C000_SQ_TEX_SAMPLER_WORD0_0, + r600_pipe_state_add_reg_noblock(rstate, R_03C000_SQ_TEX_SAMPLER_WORD0_0, S_03C000_CLAMP_X(r600_tex_wrap(state->wrap_s)) | S_03C000_CLAMP_Y(r600_tex_wrap(state->wrap_t)) | S_03C000_CLAMP_Z(r600_tex_wrap(state->wrap_r)) | @@ -358,21 +357,21 @@ static void *evergreen_create_sampler_state(struct pipe_context *ctx, S_03C000_MAX_ANISO(r600_tex_aniso_filter(state->max_anisotropy)) | S_03C000_DEPTH_COMPARE_FUNCTION(r600_tex_compare(state->compare_func)) | S_03C000_BORDER_COLOR_TYPE(uc.ui ? V_03C000_SQ_TEX_BORDER_COLOR_REGISTER : 0), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_03C004_SQ_TEX_SAMPLER_WORD1_0, + r600_pipe_state_add_reg_noblock(rstate, R_03C004_SQ_TEX_SAMPLER_WORD1_0, S_03C004_MIN_LOD(S_FIXED(CLAMP(state->min_lod, 0, 15), 8)) | S_03C004_MAX_LOD(S_FIXED(CLAMP(state->max_lod, 0, 15), 8)), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_03C008_SQ_TEX_SAMPLER_WORD2_0, - S_03C008_LOD_BIAS(S_FIXED(CLAMP(state->lod_bias, -16, 16), 8)) | - (state->seamless_cube_map ? 0 : S_03C008_DISABLE_CUBE_WRAP(1)) | - S_03C008_TYPE(1), - 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_03C008_SQ_TEX_SAMPLER_WORD2_0, + S_03C008_LOD_BIAS(S_FIXED(CLAMP(state->lod_bias, -16, 16), 8)) | + (state->seamless_cube_map ? 0 : S_03C008_DISABLE_CUBE_WRAP(1)) | + S_03C008_TYPE(1), + 0xFFFFFFFF, NULL); if (uc.ui) { - r600_pipe_state_add_reg(rstate, R_00A404_TD_PS_SAMPLER0_BORDER_RED, fui(state->border_color[0]), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_00A408_TD_PS_SAMPLER0_BORDER_GREEN, fui(state->border_color[1]), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_00A40C_TD_PS_SAMPLER0_BORDER_BLUE, fui(state->border_color[2]), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_00A410_TD_PS_SAMPLER0_BORDER_ALPHA, fui(state->border_color[3]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A404_TD_PS_SAMPLER0_BORDER_RED, fui(state->border_color[0]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A408_TD_PS_SAMPLER0_BORDER_GREEN, fui(state->border_color[1]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A40C_TD_PS_SAMPLER0_BORDER_BLUE, fui(state->border_color[2]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A410_TD_PS_SAMPLER0_BORDER_ALPHA, fui(state->border_color[3]), 0xFFFFFFFF, NULL); } return rstate; } diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 50a07537d3e..23e7181a86e 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -317,6 +317,9 @@ void _r600_pipe_state_add_reg(struct r600_context *ctx, u32 range_id, u32 block_id, struct r600_bo *bo); +void r600_pipe_state_add_reg_noblock(struct r600_pipe_state *state, + u32 offset, u32 value, u32 mask, + struct r600_bo *bo); #define r600_pipe_state_add_reg(state, offset, value, mask, bo) _r600_pipe_state_add_reg(&rctx->ctx, state, offset, value, mask, CTX_RANGE_ID(offset), CTX_BLOCK_ID(offset), bo) static inline void r600_pipe_state_mod_reg(struct r600_pipe_state *state, diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index 3043c5e1c8b..e9011de9fe0 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -369,7 +369,6 @@ static void *r600_create_rs_state(struct pipe_context *ctx, static void *r600_create_sampler_state(struct pipe_context *ctx, const struct pipe_sampler_state *state) { - struct r600_pipe_context *rctx = (struct r600_pipe_context *)ctx; struct r600_pipe_state *rstate = CALLOC_STRUCT(r600_pipe_state); union util_color uc; unsigned aniso_flag_offset = state->max_anisotropy > 1 ? 4 : 0; @@ -380,26 +379,26 @@ static void *r600_create_sampler_state(struct pipe_context *ctx, rstate->id = R600_PIPE_STATE_SAMPLER; util_pack_color(state->border_color, PIPE_FORMAT_B8G8R8A8_UNORM, &uc); - r600_pipe_state_add_reg(rstate, R_03C000_SQ_TEX_SAMPLER_WORD0_0, - S_03C000_CLAMP_X(r600_tex_wrap(state->wrap_s)) | - S_03C000_CLAMP_Y(r600_tex_wrap(state->wrap_t)) | - S_03C000_CLAMP_Z(r600_tex_wrap(state->wrap_r)) | - S_03C000_XY_MAG_FILTER(r600_tex_filter(state->mag_img_filter) | aniso_flag_offset) | - S_03C000_XY_MIN_FILTER(r600_tex_filter(state->min_img_filter) | aniso_flag_offset) | - S_03C000_MIP_FILTER(r600_tex_mipfilter(state->min_mip_filter)) | - S_03C000_MAX_ANISO(r600_tex_aniso_filter(state->max_anisotropy)) | - S_03C000_DEPTH_COMPARE_FUNCTION(r600_tex_compare(state->compare_func)) | - S_03C000_BORDER_COLOR_TYPE(uc.ui ? V_03C000_SQ_TEX_BORDER_COLOR_REGISTER : 0), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_03C004_SQ_TEX_SAMPLER_WORD1_0, - S_03C004_MIN_LOD(S_FIXED(CLAMP(state->min_lod, 0, 15), 6)) | - S_03C004_MAX_LOD(S_FIXED(CLAMP(state->max_lod, 0, 15), 6)) | - S_03C004_LOD_BIAS(S_FIXED(CLAMP(state->lod_bias, -16, 16), 6)), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_03C008_SQ_TEX_SAMPLER_WORD2_0, S_03C008_TYPE(1), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_03C000_SQ_TEX_SAMPLER_WORD0_0, + S_03C000_CLAMP_X(r600_tex_wrap(state->wrap_s)) | + S_03C000_CLAMP_Y(r600_tex_wrap(state->wrap_t)) | + S_03C000_CLAMP_Z(r600_tex_wrap(state->wrap_r)) | + S_03C000_XY_MAG_FILTER(r600_tex_filter(state->mag_img_filter) | aniso_flag_offset) | + S_03C000_XY_MIN_FILTER(r600_tex_filter(state->min_img_filter) | aniso_flag_offset) | + S_03C000_MIP_FILTER(r600_tex_mipfilter(state->min_mip_filter)) | + S_03C000_MAX_ANISO(r600_tex_aniso_filter(state->max_anisotropy)) | + S_03C000_DEPTH_COMPARE_FUNCTION(r600_tex_compare(state->compare_func)) | + S_03C000_BORDER_COLOR_TYPE(uc.ui ? V_03C000_SQ_TEX_BORDER_COLOR_REGISTER : 0), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_03C004_SQ_TEX_SAMPLER_WORD1_0, + S_03C004_MIN_LOD(S_FIXED(CLAMP(state->min_lod, 0, 15), 6)) | + S_03C004_MAX_LOD(S_FIXED(CLAMP(state->max_lod, 0, 15), 6)) | + S_03C004_LOD_BIAS(S_FIXED(CLAMP(state->lod_bias, -16, 16), 6)), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_03C008_SQ_TEX_SAMPLER_WORD2_0, S_03C008_TYPE(1), 0xFFFFFFFF, NULL); if (uc.ui) { - r600_pipe_state_add_reg(rstate, R_00A400_TD_PS_SAMPLER0_BORDER_RED, fui(state->border_color[0]), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_00A404_TD_PS_SAMPLER0_BORDER_GREEN, fui(state->border_color[1]), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_00A408_TD_PS_SAMPLER0_BORDER_BLUE, fui(state->border_color[2]), 0xFFFFFFFF, NULL); - r600_pipe_state_add_reg(rstate, R_00A40C_TD_PS_SAMPLER0_BORDER_ALPHA, fui(state->border_color[3]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A400_TD_PS_SAMPLER0_BORDER_RED, fui(state->border_color[0]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A404_TD_PS_SAMPLER0_BORDER_GREEN, fui(state->border_color[1]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A408_TD_PS_SAMPLER0_BORDER_BLUE, fui(state->border_color[2]), 0xFFFFFFFF, NULL); + r600_pipe_state_add_reg_noblock(rstate, R_00A40C_TD_PS_SAMPLER0_BORDER_ALPHA, fui(state->border_color[3]), 0xFFFFFFFF, NULL); } return rstate; } diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 14182fb0137..19e384b3689 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -676,12 +676,27 @@ void _r600_pipe_state_add_reg(struct r600_context *ctx, range = &ctx->range[range_id]; block = range->blocks[block_id]; + state->regs[state->nregs].block = block; + state->regs[state->nregs].id = (offset - block->start_offset) >> 2; state->regs[state->nregs].value = value; state->regs[state->nregs].mask = mask; state->regs[state->nregs].bo = bo; - state->regs[state->nregs].block = block; - state->regs[state->nregs].id = (offset - block->start_offset) >> 2; + + state->nregs++; + assert(state->nregs < R600_BLOCK_MAX_REG); +} + +void r600_pipe_state_add_reg_noblock(struct r600_pipe_state *state, + u32 offset, u32 value, u32 mask, + struct r600_bo *bo) +{ + state->regs[state->nregs].id = offset; + state->regs[state->nregs].block = NULL; + state->regs[state->nregs].value = value; + state->regs[state->nregs].mask = mask; + state->regs[state->nregs].bo = bo; + state->nregs++; assert(state->nregs < R600_BLOCK_MAX_REG); } -- cgit v1.2.3 From a9c5efb11104d8cfe3139c5c9b6e4b0a4fcb7de5 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 17:04:30 -0600 Subject: r300: remove MIN3 macro, already defined in macros.h --- src/mesa/drivers/dri/r300/r300_state.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c index da6c8b602e1..93a0dd168f4 100644 --- a/src/mesa/drivers/dri/r300/r300_state.c +++ b/src/mesa/drivers/dri/r300/r300_state.c @@ -1619,7 +1619,6 @@ static void r500SetupRSUnit(struct gl_context * ctx) WARN_ONCE("Don't know how to satisfy InputsRead=0x%08x\n", InputsRead); } -#define MIN3(a, b, c) ((a) < (b) ? MIN2(a, c) : MIN2(b, c)) void r300VapCntl(r300ContextPtr rmesa, GLuint input_count, GLuint output_count, GLuint temp_count) -- cgit v1.2.3 From 873379a8818eed9ab16c24728b7091a3a3705c5b Mon Sep 17 00:00:00 2001 From: Johannes Obermayr Date: Thu, 2 Jun 2011 17:15:44 -0600 Subject: dri/nouveau: Fix build with --enable-shared-dricore. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Based on the work of Себастьян Gliţa Κατινα - Split Makefile.template into Makefile.defines and Makefile.targets - Adapt other drivers to new situation - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=35441 Signed-off-by: Brian Paul --- configs/autoconf.in | 2 + configs/linux-dri | 15 +++-- configure.ac | 17 +++-- src/gallium/targets/Makefile.dri | 2 +- src/mesa/drivers/dri/Makefile.template | 111 -------------------------------- src/mesa/drivers/dri/i810/Makefile | 4 +- src/mesa/drivers/dri/i915/Makefile | 4 +- src/mesa/drivers/dri/i965/Makefile | 4 +- src/mesa/drivers/dri/mach64/Makefile | 4 +- src/mesa/drivers/dri/mga/Makefile | 4 +- src/mesa/drivers/dri/nouveau/Makefile | 9 +-- src/mesa/drivers/dri/r128/Makefile | 4 +- src/mesa/drivers/dri/r200/Makefile | 7 +- src/mesa/drivers/dri/r300/Makefile | 9 +-- src/mesa/drivers/dri/r600/Makefile | 9 +-- src/mesa/drivers/dri/radeon/Makefile | 7 +- src/mesa/drivers/dri/savage/Makefile | 4 +- src/mesa/drivers/dri/sis/Makefile | 4 +- src/mesa/drivers/dri/swrast/Makefile | 4 +- src/mesa/drivers/dri/tdfx/Makefile | 4 +- src/mesa/drivers/dri/unichrome/Makefile | 4 +- 21 files changed, 81 insertions(+), 151 deletions(-) delete mode 100644 src/mesa/drivers/dri/Makefile.template diff --git a/configs/autoconf.in b/configs/autoconf.in index a484bcff996..abc01b1b2dd 100644 --- a/configs/autoconf.in +++ b/configs/autoconf.in @@ -26,6 +26,8 @@ LDFLAGS = @LDFLAGS@ EXTRA_LIB_PATH = @EXTRA_LIB_PATH@ RADEON_CFLAGS = @RADEON_CFLAGS@ RADEON_LDFLAGS = @RADEON_LDFLAGS@ +NOUVEAU_CFLAGS = @NOUVEAU_CFLAGS@ +NOUVEAU_LIBS = @NOUVEAU_LIBS@ INTEL_LIBS = @INTEL_LIBS@ INTEL_CFLAGS = @INTEL_CFLAGS@ X11_LIBS = @X11_LIBS@ diff --git a/configs/linux-dri b/configs/linux-dri index 7ee007e3527..c4132f47271 100644 --- a/configs/linux-dri +++ b/configs/linux-dri @@ -63,11 +63,16 @@ GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel drm/i965 GALLIUM_TARGET_DIRS = GALLIUM_STATE_TRACKERS_DIRS = egl -DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \ +DRI_DIRS = i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \ savage sis tdfx unichrome swrast -INTEL_LIBS = `pkg-config --libs libdrm_intel` -INTEL_CFLAGS = `pkg-config --cflags libdrm_intel` +INTEL_LIBS = $(shell pkg-config --libs libdrm_intel) +INTEL_CFLAGS = $(shell pkg-config --cflags libdrm_intel) -RADEON_LIBS = `pkg-config --libs libdrm_radeon` -RADEON_CFLAGS = `pkg-config --cflags libdrm_radeon` +NOUVEAU_LIBS = $(shell pkg-config --libs libdrm_nouveau) +NOUVEAU_CFLAGS = $(shell pkg-config --cflags libdrm_nouveau) + +LIBDRM_RADEON_LIBS = $(shell pkg-config --libs libdrm_radeon) +LIBDRM_RADEON_CFLAGS = $(shell pkg-config --cflags libdrm_radeon) +RADEON_CFLAGS = "-DHAVE_LIBDRM_RADEON=1 $(LIBDRM_RADEON_CFLAGS)" +RADEON_LDFLAGS = $(LIBDRM_RADEON_LIBS) diff --git a/configure.ac b/configure.ac index 510d23f41bc..1e5f9cec999 100644 --- a/configure.ac +++ b/configure.ac @@ -21,6 +21,7 @@ dnl Versions for external dependencies LIBDRM_REQUIRED=2.4.24 LIBDRM_RADEON_REQUIRED=2.4.24 LIBDRM_INTEL_REQUIRED=2.4.24 +LIBDRM_NOUVEAU_REQUIRED=0.6 DRI2PROTO_REQUIRED=2.1 GLPROTO_REQUIRED=1.4.11 LIBDRM_XORG_REQUIRED=2.4.24 @@ -1004,8 +1005,8 @@ if test "$mesa_driver" = dri -o "$mesa_driver" = no; then # the new interface. i810 are missing because there is no # x86-64 system where they could *ever* be used. if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 r600 radeon \ - savage tdfx unichrome swrast" + DRI_DIRS="i915 i965 mach64 mga nouveau r128 r200 r300 r600 \ + radeon savage tdfx unichrome swrast" fi ;; powerpc*) @@ -1032,8 +1033,8 @@ if test "$mesa_driver" = dri -o "$mesa_driver" = no; then fi if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon tdfx \ - unichrome savage sis swrast" + DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 \ + radeon tdfx unichrome savage sis swrast" fi ;; gnu*) @@ -1061,7 +1062,7 @@ if test "$mesa_driver" = dri -o "$mesa_driver" = no; then # default drivers if test "x$DRI_DIRS" = "xyes"; then - DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon \ + DRI_DIRS="i810 i915 i965 mach64 mga nouveau r128 r200 r300 r600 radeon \ savage sis tdfx unichrome swrast" fi @@ -1097,6 +1098,12 @@ case $DRI_DIRS in ;; esac +case $DRI_DIRS in +*nouveau*) + PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED]) + ;; +esac + case $DRI_DIRS in *radeon*|*r200*|*r300*|*r600*) if test "x$HAVE_LIBDRM_RADEON" = xyes; then diff --git a/src/gallium/targets/Makefile.dri b/src/gallium/targets/Makefile.dri index 3fb4cc6b861..6c6ad184fab 100644 --- a/src/gallium/targets/Makefile.dri +++ b/src/gallium/targets/Makefile.dri @@ -75,7 +75,7 @@ LIBNAME_STAGING = $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME) default: depend symlinks $(TOP)/$(LIB_DIR)/gallium $(LIBNAME) $(LIBNAME_STAGING) $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(PIPE_DRIVERS) Makefile \ - $(TOP)/src/mesa/drivers/dri/Makefile.template $(TOP)/src/mesa/drivers/dri/common/dri_test.o + $(TOP)/src/mesa/drivers/dri/Makefile.targets $(TOP)/src/mesa/drivers/dri/common/dri_test.o $(MKLIB) -o $@.tmp -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ $(OBJECTS) $(PIPE_DRIVERS) \ -Wl,--start-group $(MESA_MODULES) -Wl,--end-group \ diff --git a/src/mesa/drivers/dri/Makefile.template b/src/mesa/drivers/dri/Makefile.template deleted file mode 100644 index d1a119379ed..00000000000 --- a/src/mesa/drivers/dri/Makefile.template +++ /dev/null @@ -1,111 +0,0 @@ -# -*-makefile-*- - -COMMON_GALLIUM_SOURCES = \ - ../common/utils.c \ - ../common/vblank.c \ - ../common/dri_util.c \ - ../common/xmlconfig.c - -COMMON_SOURCES = $(COMMON_GALLIUM_SOURCES) \ - ../../common/driverfuncs.c \ - ../common/texmem.c \ - ../common/drirenderbuffer.c - -INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES) - -OBJECTS = $(C_SOURCES:.c=.o) \ - $(CXX_SOURCES:.cpp=.o) \ - $(ASM_SOURCES:.S=.o) - - -### Include directories -SHARED_INCLUDES = \ - -I. \ - -I$(TOP)/src/mesa/drivers/dri/common \ - -Iserver \ - -I$(TOP)/include \ - -I$(TOP)/src/mapi \ - -I$(TOP)/src/mesa \ - -I$(TOP)/src/egl/main \ - -I$(TOP)/src/egl/drivers/dri \ - $(LIBDRM_CFLAGS) - -CFLAGS += $(API_DEFINES) -CXXFLAGS += $(API_DEFINES) - -##### RULES ##### - -.c.o: - $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ - -.cpp.o: - $(CC) -c $(INCLUDES) $(DRI_CXXFLAGS) $(DRIVER_DEFINES) $< -o $@ - -.S.o: - $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ - - -##### TARGETS ##### - -default: subdirs lib - - -.PHONY: lib -lib: symlinks subdirs depend - @$(MAKE) $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME) - -$(LIBNAME): $(OBJECTS) $(EXTRA_MODULES) $(MESA_MODULES) Makefile \ - $(TOP)/src/mesa/drivers/dri/Makefile.template $(TOP)/src/mesa/drivers/dri/common/dri_test.o - $(MKLIB) -o $@.tmp -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ - $(OBJECTS) $(EXTRA_MODULES) $(DRI_LIB_DEPS) - $(CXX) $(CFLAGS) -o $@.test $(TOP)/src/mesa/drivers/dri/common/dri_test.o $@.tmp $(DRI_LIB_DEPS) - @rm -f $@.test - mv -f $@.tmp $@ - - -$(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME) - $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR) - - -# If the Makefile defined SUBDIRS, run make in each -.PHONY: subdirs -subdirs: - @if test -n "$(SUBDIRS)" ; then \ - for dir in $(SUBDIRS) ; do \ - if [ -d $$dir ] ; then \ - (cd $$dir && $(MAKE)) || exit 1; \ - fi \ - done \ - fi - - -.PHONY: symlinks -symlinks: - - -depend: $(C_SOURCES) $(CXX_SOURCES) $(ASM_SOURCES) $(SYMLINKS) - @ echo "running $(MKDEP)" - @ rm -f depend - @ touch depend - @ $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) \ - $(C_SOURCES) $(CXX_SOURCES) \ - $(ASM_SOURCES) > /dev/null 2>/dev/null - - -# Emacs tags -tags: - etags `find . -name \*.[ch]` `find ../include` - - -# Remove .o and backup files -clean: - -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS) - -rm -f depend depend.bak - - -install: $(LIBNAME) - $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) - $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) - - --include depend diff --git a/src/mesa/drivers/dri/i810/Makefile b/src/mesa/drivers/dri/i810/Makefile index 54a837d5ea9..edc6dd21732 100644 --- a/src/mesa/drivers/dri/i810/Makefile +++ b/src/mesa/drivers/dri/i810/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = i810_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ i810context.c \ i810ioctl.c \ @@ -24,5 +26,5 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/i915/Makefile b/src/mesa/drivers/dri/i915/Makefile index 65fd658c047..79e03f2f1d1 100644 --- a/src/mesa/drivers/dri/i915/Makefile +++ b/src/mesa/drivers/dri/i915/Makefile @@ -4,6 +4,8 @@ include $(TOP)/configs/current LIBNAME = i915_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ i830_context.c \ i830_state.c \ @@ -63,7 +65,7 @@ DRIVER_DEFINES = -I../intel -DI915 \ INCLUDES += $(INTEL_CFLAGS) DRI_LIB_DEPS += $(INTEL_LIBS) -include ../Makefile.template +include ../Makefile.targets intel_decode.o: ../intel/intel_decode.c diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile index d80628b1e77..44f28cd9d15 100644 --- a/src/mesa/drivers/dri/i965/Makefile +++ b/src/mesa/drivers/dri/i965/Makefile @@ -4,6 +4,8 @@ include $(TOP)/configs/current LIBNAME = i965_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ intel_batchbuffer.c \ intel_blit.c \ @@ -131,7 +133,7 @@ DRIVER_DEFINES = -I../intel INCLUDES += $(INTEL_CFLAGS) DRI_LIB_DEPS += $(INTEL_LIBS) -include ../Makefile.template +include ../Makefile.targets intel_decode.o: ../intel/intel_decode.c intel_tex_layout.o: ../intel/intel_tex_layout.c diff --git a/src/mesa/drivers/dri/mach64/Makefile b/src/mesa/drivers/dri/mach64/Makefile index c20fdece297..0474c1a165f 100644 --- a/src/mesa/drivers/dri/mach64/Makefile +++ b/src/mesa/drivers/dri/mach64/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = mach64_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ mach64_context.c \ mach64_ioctl.c \ @@ -25,5 +27,5 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/mga/Makefile b/src/mesa/drivers/dri/mga/Makefile index 92533bccc29..9948ee767ac 100644 --- a/src/mesa/drivers/dri/mga/Makefile +++ b/src/mesa/drivers/dri/mga/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = mga_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ mgadd.c \ mgaioctl.c \ @@ -27,5 +29,5 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/nouveau/Makefile b/src/mesa/drivers/dri/nouveau/Makefile index 3b506a91ffa..e485a98761f 100644 --- a/src/mesa/drivers/dri/nouveau/Makefile +++ b/src/mesa/drivers/dri/nouveau/Makefile @@ -3,11 +3,10 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(shell pkg-config libdrm libdrm_nouveau --cflags) -DRI_LIB_DEPS += $(shell pkg-config libdrm_nouveau --libs) - LIBNAME = nouveau_vieux_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ nouveau_screen.c \ nouveau_context.c \ @@ -51,7 +50,9 @@ C_SOURCES = \ ASM_SOURCES = +INCLUDES += $(NOUVEAU_CFLAGS) +DRI_LIB_DEPS += $(NOUVEAU_LIBS) -include ../Makefile.template +include ../Makefile.targets symlinks: diff --git a/src/mesa/drivers/dri/r128/Makefile b/src/mesa/drivers/dri/r128/Makefile index 8144c9b43ff..8b23ccc8cbe 100644 --- a/src/mesa/drivers/dri/r128/Makefile +++ b/src/mesa/drivers/dri/r128/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = r128_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ r128_context.c \ r128_lock.c \ @@ -25,5 +27,5 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/r200/Makefile b/src/mesa/drivers/dri/r200/Makefile index 8013768e9fb..4547f7e2ee0 100644 --- a/src/mesa/drivers/dri/r200/Makefile +++ b/src/mesa/drivers/dri/r200/Makefile @@ -3,10 +3,10 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) - LIBNAME = r200_dri.so +include ../Makefile.defines + ifeq ($(RADEON_LDFLAGS),) CS_SOURCES = radeon_cs_space_drm.c radeon_bo.c radeon_cs.c endif @@ -55,12 +55,13 @@ X86_SOURCES = DRIVER_DEFINES = -DRADEON_R200 +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) ##### TARGETS ##### -include ../Makefile.template +include ../Makefile.targets #INCLUDES += -I../radeon/server diff --git a/src/mesa/drivers/dri/r300/Makefile b/src/mesa/drivers/dri/r300/Makefile index 2245998c952..9f23a8496aa 100644 --- a/src/mesa/drivers/dri/r300/Makefile +++ b/src/mesa/drivers/dri/r300/Makefile @@ -3,17 +3,17 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) - LIBNAME = r300_dri.so +include ../Makefile.defines + ifeq ($(RADEON_LDFLAGS),) CS_SOURCES = radeon_cs_space_drm.c radeon_bo.c radeon_cs.c endif COMMON_SOURCES = \ ../../common/driverfuncs.c \ - ../common/mm.c \ + ../common/drirenderbuffer.c \ ../common/utils.c \ ../common/texmem.c \ ../common/vblank.c \ @@ -64,6 +64,7 @@ C_SOURCES = $(COMMON_SOURCES) $(DRIVER_SOURCES) DRIVER_DEFINES = -DRADEON_R300 # -DRADEON_BO_TRACK \ +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) SUBDIRS = compiler @@ -73,5 +74,5 @@ EXTRA_MODULES = compiler/libr300compiler.a ##### TARGETS ##### -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/r600/Makefile b/src/mesa/drivers/dri/r600/Makefile index 200bc20f647..bec0b5a53fe 100644 --- a/src/mesa/drivers/dri/r600/Makefile +++ b/src/mesa/drivers/dri/r600/Makefile @@ -3,17 +3,17 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) - LIBNAME = r600_dri.so +include ../Makefile.defines + ifeq ($(RADEON_LDFLAGS),) CS_SOURCES = radeon_cs_space_drm.c radeon_bo.c radeon_cs.c endif COMMON_SOURCES = \ ../../common/driverfuncs.c \ - ../common/mm.c \ + ../common/drirenderbuffer.c \ ../common/utils.c \ ../common/texmem.c \ ../common/vblank.c \ @@ -78,9 +78,10 @@ C_SOURCES = $(COMMON_SOURCES) $(DRIVER_SOURCES) DRIVER_DEFINES = -DRADEON_R600 # -DRADEON_BO_TRACK \ +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) ##### TARGETS ##### -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/radeon/Makefile b/src/mesa/drivers/dri/radeon/Makefile index 93219e40afd..6b5d3335452 100644 --- a/src/mesa/drivers/dri/radeon/Makefile +++ b/src/mesa/drivers/dri/radeon/Makefile @@ -4,10 +4,10 @@ TOP = ../../../../.. include $(TOP)/configs/current -CFLAGS += $(RADEON_CFLAGS) - LIBNAME = radeon_dri.so +include ../Makefile.defines + ifeq ($(RADEON_LDFLAGS),) CS_SOURCES = radeon_cs_space_drm.c radeon_bo.c radeon_cs.c endif @@ -53,9 +53,10 @@ C_SOURCES = \ DRIVER_DEFINES = -DRADEON_R100 +INCLUDES += $(RADEON_CFLAGS) DRI_LIB_DEPS += $(RADEON_LDFLAGS) X86_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/savage/Makefile b/src/mesa/drivers/dri/savage/Makefile index 53511552c6d..03be3468da9 100644 --- a/src/mesa/drivers/dri/savage/Makefile +++ b/src/mesa/drivers/dri/savage/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = savage_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ savage_xmesa.c \ savagedd.c \ @@ -22,5 +24,5 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/sis/Makefile b/src/mesa/drivers/dri/sis/Makefile index 6b4f938bab3..0e0bf0d4eac 100644 --- a/src/mesa/drivers/dri/sis/Makefile +++ b/src/mesa/drivers/dri/sis/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = sis_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ sis6326_state.c \ sis6326_clear.c \ @@ -28,5 +30,5 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/swrast/Makefile b/src/mesa/drivers/dri/swrast/Makefile index d2cf6dbc55b..4cb99fd0eb7 100644 --- a/src/mesa/drivers/dri/swrast/Makefile +++ b/src/mesa/drivers/dri/swrast/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = swrast_dri.so +include ../Makefile.defines + DRIVER_DEFINES = -D__NOT_HAVE_DRM_H DRIVER_SOURCES = \ @@ -22,5 +24,5 @@ SWRAST_COMMON_SOURCES = \ ../common/utils.c \ ../common/drisw_util.c -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/tdfx/Makefile b/src/mesa/drivers/dri/tdfx/Makefile index 96bd8f8202f..ed84df20925 100644 --- a/src/mesa/drivers/dri/tdfx/Makefile +++ b/src/mesa/drivers/dri/tdfx/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = tdfx_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ tdfx_context.c \ tdfx_dd.c \ @@ -27,6 +29,6 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets diff --git a/src/mesa/drivers/dri/unichrome/Makefile b/src/mesa/drivers/dri/unichrome/Makefile index 14cf9f30386..373da6016e4 100644 --- a/src/mesa/drivers/dri/unichrome/Makefile +++ b/src/mesa/drivers/dri/unichrome/Makefile @@ -5,6 +5,8 @@ include $(TOP)/configs/current LIBNAME = unichrome_dri.so +include ../Makefile.defines + DRIVER_SOURCES = \ via_context.c \ via_fb.c \ @@ -25,5 +27,5 @@ C_SOURCES = \ ASM_SOURCES = -include ../Makefile.template +include ../Makefile.targets -- cgit v1.2.3 From 898f4c513336c91e343d2bd42f92d74a2676b681 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 17:54:40 -0600 Subject: glapi: add glDrawElementsInstancedBaseVertex() function to xml Signed-off-by: Brian Paul --- src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml b/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml index f4067f4c8dd..a697ea509c2 100644 --- a/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml +++ b/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml @@ -35,6 +35,15 @@ + + + + + + + + + -- cgit v1.2.3 From 0dae94610e0b70b353fd0b018833bb7c8d013abb Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Tue, 31 May 2011 13:34:34 +0200 Subject: glapi: regenerated files Signed-off-by: Brian Paul --- src/mapi/glapi/glapi_mapi_tmp.h | 1699 ++++++++-------- src/mapi/glapi/glapi_sparc.S | 631 +++--- src/mapi/glapi/glapi_x86-64.S | 3025 ++++++++++++++-------------- src/mapi/glapi/glapi_x86.S | 985 +++++----- src/mapi/glapi/glapitable.h | 669 +++---- src/mapi/glapi/glapitemp.h | 180 +- src/mapi/glapi/glprocs.h | 1480 +++++++------- src/mesa/main/glapidispatch.h | 1354 ++++++------- src/mesa/main/remap_helper.h | 4111 ++++++++++++++++++++------------------- 9 files changed, 7114 insertions(+), 7020 deletions(-) diff --git a/src/mapi/glapi/glapi_mapi_tmp.h b/src/mapi/glapi/glapi_mapi_tmp.h index 43da6c48903..c953897e6cb 100644 --- a/src/mapi/glapi/glapi_mapi_tmp.h +++ b/src/mapi/glapi/glapi_mapi_tmp.h @@ -801,6 +801,7 @@ GLAPI void APIENTRY GLAPI_PREFIX(GetSynciv)(GLsync sync, GLenum pname, GLsizei b GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsSync)(GLsync sync); GLAPI void APIENTRY GLAPI_PREFIX(WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex); GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *basevertex); GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA); @@ -837,9 +838,9 @@ GLAPI void APIENTRY GLAPI_PREFIX(DepthRangef)(GLclampf zNear, GLclampf zFar); GLAPI void APIENTRY GLAPI_PREFIX(GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); GLAPI void APIENTRY GLAPI_PREFIX(ReleaseShaderCompiler)(void); GLAPI void APIENTRY GLAPI_PREFIX(ShaderBinary)(GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_626)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_627)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_628)(GLuint program, GLenum pname, GLint value); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_627)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_628)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_629)(GLuint program, GLenum pname, GLint value); GLAPI GLenum APIENTRY GLAPI_PREFIX(GetGraphicsResetStatusARB)(void); GLAPI void APIENTRY GLAPI_PREFIX(GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table); GLAPI void APIENTRY GLAPI_PREFIX(GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img); @@ -861,24 +862,24 @@ GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformivARB)(GLhandleARB program, GLint lo 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(PolygonOffsetEXT)(GLfloat factor, GLfloat bias); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_650)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_651)(const GLfloat *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_652)(GLint x, GLint y, GLint z, GLint width, GLint height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_653)(const GLint *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_654)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_655)(const GLshort *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_656)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_657)(const GLfixed *coords); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_658)(GLenum type, GLsizei stride, const GLvoid *pointer); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_659)(GLenum pname, GLfloat *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_660)(GLenum pname, GLint *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_661)(GLenum pname, GLfloat param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_662)(GLenum pname, const GLfloat *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_663)(GLenum pname, GLint param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_664)(GLenum pname, const GLint *params); -GLbitfield APIENTRY GLAPI_PREFIX(_dispatch_stub_665)(GLfixed *mantissa, GLint *exponent); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_666)(GLclampf value, GLboolean invert); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_667)(GLenum pattern); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_651)(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_652)(const GLfloat *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_653)(GLint x, GLint y, GLint z, GLint width, GLint height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_654)(const GLint *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_655)(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_656)(const GLshort *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_657)(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_658)(const GLfixed *coords); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_659)(GLenum type, GLsizei stride, const GLvoid *pointer); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_660)(GLenum pname, GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_661)(GLenum pname, GLint *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_662)(GLenum pname, GLfloat param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_663)(GLenum pname, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_664)(GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_665)(GLenum pname, const GLint *params); +GLbitfield APIENTRY GLAPI_PREFIX(_dispatch_stub_666)(GLfixed *mantissa, GLint *exponent); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_667)(GLclampf value, GLboolean invert); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_668)(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); @@ -941,7 +942,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_702)(GLenum mode); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_703)(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); @@ -1016,15 +1017,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_744)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_745)(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_746)(GLsizei n, const GLuint *fences); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_747)(GLuint fence); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_748)(GLsizei n, GLuint *fences); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_749)(GLuint fence, GLenum pname, GLint *params); -GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_750)(GLuint fence); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_751)(GLuint fence, GLenum condition); -GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_752)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_745)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_746)(const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid * const *indices, GLsizei primcount, GLint modestride); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_747)(GLsizei n, const GLuint *fences); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_748)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_749)(GLsizei n, GLuint *fences); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_750)(GLuint fence, GLenum pname, GLint *params); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_751)(GLuint fence); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_752)(GLuint fence, GLenum condition); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_753)(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); @@ -1113,12 +1114,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_833)(GLenum face); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_834)(GLuint array); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_835)(GLsizei n, const GLuint *arrays); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_834)(GLenum face); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_835)(GLuint array); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_836)(GLsizei n, const GLuint *arrays); GLAPI void APIENTRY GLAPI_PREFIX(DeleteVertexArrays)(GLsizei n, const GLuint *arrays); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_836)(GLsizei n, GLuint *arrays); -GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_837)(GLuint array); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_837)(GLsizei n, GLuint *arrays); +GLboolean APIENTRY GLAPI_PREFIX(_dispatch_stub_838)(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); @@ -1129,54 +1130,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_846)(GLenum func, GLclampx ref); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_847)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_848)(GLclampx depth); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_849)(GLenum plane, const GLfixed *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_850)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_851)(GLclampx zNear, GLclampx zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_852)(GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_853)(GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_854)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_855)(GLenum plane, GLfixed *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_856)(GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_857)(GLenum light, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_858)(GLenum face, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_859)(GLenum target, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_860)(GLenum coord, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_861)(GLenum target, GLenum pname, GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_862)(GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_863)(GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_864)(GLenum light, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_865)(GLenum light, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_866)(GLfixed width); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_867)(const GLfixed *m); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_868)(GLenum face, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_869)(GLenum face, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_870)(const GLfixed *m); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_871)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_872)(GLfixed nx, GLfixed ny, GLfixed nz); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_873)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_874)(GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_875)(GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_876)(GLfixed size); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_877)(GLfixed factor, GLfixed units); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_878)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_879)(GLclampx value, GLboolean invert); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_880)(GLfixed x, GLfixed y, GLfixed z); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_881)(GLenum target, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_882)(GLenum target, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_883)(GLenum coord, GLenum pname, GLint param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_884)(GLenum coord, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_885)(GLenum target, GLenum pname, GLfixed param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_886)(GLenum target, GLenum pname, const GLfixed *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_887)(GLfixed x, GLfixed y, GLfixed z); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_888)(GLenum plane, const GLfloat *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_889)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_890)(GLenum plane, GLfloat *equation); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_891)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_892)(GLclampd zmin, GLclampd zmax); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_893)(GLenum modeRGB, GLenum modeA); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_847)(GLenum func, GLclampx ref); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_848)(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_849)(GLclampx depth); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_850)(GLenum plane, const GLfixed *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_851)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_852)(GLclampx zNear, GLclampx zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_853)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_854)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_855)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_856)(GLenum plane, GLfixed *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_857)(GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_858)(GLenum light, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_859)(GLenum face, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_860)(GLenum target, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_861)(GLenum coord, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_862)(GLenum target, GLenum pname, GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_863)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_864)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_865)(GLenum light, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_866)(GLenum light, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_867)(GLfixed width); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_868)(const GLfixed *m); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_869)(GLenum face, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_870)(GLenum face, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_871)(const GLfixed *m); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_872)(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_873)(GLfixed nx, GLfixed ny, GLfixed nz); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_874)(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_875)(GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_876)(GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_877)(GLfixed size); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_878)(GLfixed factor, GLfixed units); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_879)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_880)(GLclampx value, GLboolean invert); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_881)(GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_882)(GLenum target, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_883)(GLenum target, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_884)(GLenum coord, GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_885)(GLenum coord, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_886)(GLenum target, GLenum pname, GLfixed param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_887)(GLenum target, GLenum pname, const GLfixed *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_888)(GLfixed x, GLfixed y, GLfixed z); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_889)(GLenum plane, const GLfloat *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_890)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_891)(GLenum plane, GLfloat *equation); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_892)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_893)(GLclampd zmin, GLclampd zmax); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_894)(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); @@ -1212,10 +1213,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_911)(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_912)(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_912)(GLenum target, GLenum pname, GLint param); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_913)(GLenum target, GLintptr offset, GLsizeiptr size); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_913)(GLenum target, GLenum pname, GLint param); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_914)(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); @@ -1327,8 +1328,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_971)(GLenum target, GLenum pname, GLvoid **params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_972)(GLenum target, GLsizei length, GLvoid *pointer); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_972)(GLenum target, GLenum pname, GLvoid **params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_973)(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); @@ -1336,11 +1337,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_980)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_981)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_981)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); void APIENTRY GLAPI_PREFIX(_dispatch_stub_982)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_983)(GLuint id, GLenum pname, GLint64EXT *params); -void APIENTRY GLAPI_PREFIX(_dispatch_stub_984)(GLuint id, GLenum pname, GLuint64EXT *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_983)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_984)(GLuint id, GLenum pname, GLint64EXT *params); +void APIENTRY GLAPI_PREFIX(_dispatch_stub_985)(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 @@ -6744,3139 +6745,3146 @@ GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsBaseVertex)(GLenum mode, GLsizei co ((void (APIENTRY *)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)) _func)(mode, count, type, indices, basevertex); } -GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) +GLAPI void APIENTRY GLAPI_PREFIX(DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex) { const struct mapi_table *_tbl = entry_current_get(); mapi_func _func = ((const mapi_func *) _tbl)[594]; + ((void (APIENTRY *)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount, GLint basevertex)) _func)(mode, count, type, indices, primcount, basevertex); +} + +GLAPI void APIENTRY GLAPI_PREFIX(DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) +{ + const struct mapi_table *_tbl = entry_current_get(); + mapi_func _func = ((const mapi_func *) _tbl)[595]; ((void (APIENTRY *)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)) _func)(mode, start, end, count, type, indices, basevertex); } GLAPI void APIENTRY GLAPI_PREFIX(MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *basevertex) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[595]; + mapi_func _func = ((const mapi_func *) _tbl)[596]; ((void (APIENTRY *)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount, const GLint *basevertex)) _func)(mode, count, type, indices, primcount, basevertex); } GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[596]; + mapi_func _func = ((const mapi_func *) _tbl)[597]; ((void (APIENTRY *)(GLuint buf, GLenum modeRGB, GLenum modeA)) _func)(buf, modeRGB, modeA); } GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationSeparateIndexedAMD)(GLuint buf, GLenum modeRGB, GLenum modeA) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[596]; + mapi_func _func = ((const mapi_func *) _tbl)[597]; ((void (APIENTRY *)(GLuint buf, GLenum modeRGB, GLenum modeA)) _func)(buf, modeRGB, modeA); } GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationiARB)(GLuint buf, GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[597]; + mapi_func _func = ((const mapi_func *) _tbl)[598]; ((void (APIENTRY *)(GLuint buf, GLenum mode)) _func)(buf, mode); } GLAPI void APIENTRY GLAPI_PREFIX(BlendEquationIndexedAMD)(GLuint buf, GLenum mode) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[597]; + mapi_func _func = ((const mapi_func *) _tbl)[598]; ((void (APIENTRY *)(GLuint buf, GLenum mode)) _func)(buf, mode); } GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[598]; + mapi_func _func = ((const mapi_func *) _tbl)[599]; ((void (APIENTRY *)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA)) _func)(buf, srcRGB, dstRGB, srcA, dstA); } GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncSeparateIndexedAMD)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[598]; + mapi_func _func = ((const mapi_func *) _tbl)[599]; ((void (APIENTRY *)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA)) _func)(buf, srcRGB, dstRGB, srcA, dstA); } GLAPI void APIENTRY GLAPI_PREFIX(BlendFunciARB)(GLuint buf, GLenum src, GLenum dst) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[599]; + mapi_func _func = ((const mapi_func *) _tbl)[600]; ((void (APIENTRY *)(GLuint buf, GLenum src, GLenum dst)) _func)(buf, src, dst); } GLAPI void APIENTRY GLAPI_PREFIX(BlendFuncIndexedAMD)(GLuint buf, GLenum src, GLenum dst) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[599]; + mapi_func _func = ((const mapi_func *) _tbl)[600]; ((void (APIENTRY *)(GLuint buf, GLenum src, GLenum dst)) _func)(buf, src, dst); } GLAPI void APIENTRY GLAPI_PREFIX(BindSampler)(GLuint unit, GLuint sampler) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[600]; + mapi_func _func = ((const mapi_func *) _tbl)[601]; ((void (APIENTRY *)(GLuint unit, GLuint sampler)) _func)(unit, sampler); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteSamplers)(GLsizei count, const GLuint *samplers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[601]; + mapi_func _func = ((const mapi_func *) _tbl)[602]; ((void (APIENTRY *)(GLsizei count, const GLuint *samplers)) _func)(count, samplers); } GLAPI void APIENTRY GLAPI_PREFIX(GenSamplers)(GLsizei count, GLuint *samplers) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[602]; + mapi_func _func = ((const mapi_func *) _tbl)[603]; ((void (APIENTRY *)(GLsizei count, GLuint *samplers)) _func)(count, samplers); } GLAPI void APIENTRY GLAPI_PREFIX(GetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[603]; + mapi_func _func = ((const mapi_func *) _tbl)[604]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, GLint *params)) _func)(sampler, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[604]; + mapi_func _func = ((const mapi_func *) _tbl)[605]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, GLuint *params)) _func)(sampler, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[605]; + mapi_func _func = ((const mapi_func *) _tbl)[606]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, GLfloat *params)) _func)(sampler, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[606]; + mapi_func _func = ((const mapi_func *) _tbl)[607]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, GLint *params)) _func)(sampler, pname, params); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsSampler)(GLuint sampler) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[607]; + mapi_func _func = ((const mapi_func *) _tbl)[608]; return ((GLboolean (APIENTRY *)(GLuint sampler)) _func)(sampler); } GLAPI void APIENTRY GLAPI_PREFIX(SamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[608]; + mapi_func _func = ((const mapi_func *) _tbl)[609]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, const GLint *params)) _func)(sampler, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(SamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[609]; + mapi_func _func = ((const mapi_func *) _tbl)[610]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, const GLuint *params)) _func)(sampler, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[610]; + mapi_func _func = ((const mapi_func *) _tbl)[611]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, GLfloat param)) _func)(sampler, pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[611]; + mapi_func _func = ((const mapi_func *) _tbl)[612]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, const GLfloat *params)) _func)(sampler, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(SamplerParameteri)(GLuint sampler, GLenum pname, GLint param) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[612]; + mapi_func _func = ((const mapi_func *) _tbl)[613]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, GLint param)) _func)(sampler, pname, param); } GLAPI void APIENTRY GLAPI_PREFIX(SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[613]; + mapi_func _func = ((const mapi_func *) _tbl)[614]; ((void (APIENTRY *)(GLuint sampler, GLenum pname, const GLint *params)) _func)(sampler, pname, params); } GLAPI void APIENTRY GLAPI_PREFIX(BindTransformFeedback)(GLenum target, GLuint id) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[614]; + mapi_func _func = ((const mapi_func *) _tbl)[615]; ((void (APIENTRY *)(GLenum target, GLuint id)) _func)(target, id); } GLAPI void APIENTRY GLAPI_PREFIX(DeleteTransformFeedbacks)(GLsizei n, const GLuint *ids) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[615]; + mapi_func _func = ((const mapi_func *) _tbl)[616]; ((void (APIENTRY *)(GLsizei n, const GLuint *ids)) _func)(n, ids); } GLAPI void APIENTRY GLAPI_PREFIX(DrawTransformFeedback)(GLenum mode, GLuint id) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[616]; + mapi_func _func = ((const mapi_func *) _tbl)[617]; ((void (APIENTRY *)(GLenum mode, GLuint id)) _func)(mode, id); } GLAPI void APIENTRY GLAPI_PREFIX(GenTransformFeedbacks)(GLsizei n, GLuint *ids) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[617]; + mapi_func _func = ((const mapi_func *) _tbl)[618]; ((void (APIENTRY *)(GLsizei n, GLuint *ids)) _func)(n, ids); } GLAPI GLboolean APIENTRY GLAPI_PREFIX(IsTransformFeedback)(GLuint id) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[618]; + mapi_func _func = ((const mapi_func *) _tbl)[619]; return ((GLboolean (APIENTRY *)(GLuint id)) _func)(id); } GLAPI void APIENTRY GLAPI_PREFIX(PauseTransformFeedback)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[619]; + mapi_func _func = ((const mapi_func *) _tbl)[620]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(ResumeTransformFeedback)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[620]; + mapi_func _func = ((const mapi_func *) _tbl)[621]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(ClearDepthf)(GLclampf depth) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[621]; + mapi_func _func = ((const mapi_func *) _tbl)[622]; ((void (APIENTRY *)(GLclampf depth)) _func)(depth); } GLAPI void APIENTRY GLAPI_PREFIX(DepthRangef)(GLclampf zNear, GLclampf zFar) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[622]; + mapi_func _func = ((const mapi_func *) _tbl)[623]; ((void (APIENTRY *)(GLclampf zNear, GLclampf zFar)) _func)(zNear, zFar); } GLAPI void APIENTRY GLAPI_PREFIX(GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[623]; + mapi_func _func = ((const mapi_func *) _tbl)[624]; ((void (APIENTRY *)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)) _func)(shadertype, precisiontype, range, precision); } GLAPI void APIENTRY GLAPI_PREFIX(ReleaseShaderCompiler)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[624]; + mapi_func _func = ((const mapi_func *) _tbl)[625]; ((void (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(ShaderBinary)(GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[625]; + mapi_func _func = ((const mapi_func *) _tbl)[626]; ((void (APIENTRY *)(GLsizei n, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length)) _func)(n, shaders, binaryformat, binary, length); } GLAPI GLenum APIENTRY GLAPI_PREFIX(GetGraphicsResetStatusARB)(void) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[629]; + mapi_func _func = ((const mapi_func *) _tbl)[630]; return ((GLenum (APIENTRY *)(void)) _func)(); } GLAPI void APIENTRY GLAPI_PREFIX(GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[630]; + mapi_func _func = ((const mapi_func *) _tbl)[631]; ((void (APIENTRY *)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table)) _func)(target, format, type, bufSize, table); } GLAPI void APIENTRY GLAPI_PREFIX(GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[631]; + mapi_func _func = ((const mapi_func *) _tbl)[632]; ((void (APIENTRY *)(GLenum target, GLint lod, GLsizei bufSize, GLvoid *img)) _func)(target, lod, bufSize, img); } GLAPI void APIENTRY GLAPI_PREFIX(GetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[632]; + mapi_func _func = ((const mapi_func *) _tbl)[633]; ((void (APIENTRY *)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image)) _func)(target, format, type, bufSize, image); } GLAPI void APIENTRY GLAPI_PREFIX(GetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[633]; + mapi_func _func = ((const mapi_func *) _tbl)[634]; ((void (APIENTRY *)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values)) _func)(target, reset, format, type, bufSize, values); } GLAPI void APIENTRY GLAPI_PREFIX(GetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[634]; + mapi_func _func = ((const mapi_func *) _tbl)[635]; ((void (APIENTRY *)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v)) _func)(target, query, bufSize, v); } GLAPI void APIENTRY GLAPI_PREFIX(GetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[635]; + mapi_func _func = ((const mapi_func *) _tbl)[636]; ((void (APIENTRY *)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v)) _func)(target, query, bufSize, v); } GLAPI void APIENTRY GLAPI_PREFIX(GetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint *v) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[636]; + mapi_func _func = ((const mapi_func *) _tbl)[637]; ((void (APIENTRY *)(GLenum target, GLenum query, GLsizei bufSize, GLint *v)) _func)(target, query, bufSize, v); } GLAPI void APIENTRY GLAPI_PREFIX(GetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[637]; + mapi_func _func = ((const mapi_func *) _tbl)[638]; ((void (APIENTRY *)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values)) _func)(target, reset, format, type, bufSize, values); } GLAPI void APIENTRY GLAPI_PREFIX(GetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat *values) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[638]; + mapi_func _func = ((const mapi_func *) _tbl)[639]; ((void (APIENTRY *)(GLenum map, GLsizei bufSize, GLfloat *values)) _func)(map, bufSize, values); } GLAPI void APIENTRY GLAPI_PREFIX(GetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint *values) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[639]; + mapi_func _func = ((const mapi_func *) _tbl)[640]; ((void (APIENTRY *)(GLenum map, GLsizei bufSize, GLuint *values)) _func)(map, bufSize, values); } GLAPI void APIENTRY GLAPI_PREFIX(GetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort *values) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[640]; + mapi_func _func = ((const mapi_func *) _tbl)[641]; ((void (APIENTRY *)(GLenum map, GLsizei bufSize, GLushort *values)) _func)(map, bufSize, values); } GLAPI void APIENTRY GLAPI_PREFIX(GetnPolygonStippleARB)(GLsizei bufSize, GLubyte *pattern) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[641]; + mapi_func _func = ((const mapi_func *) _tbl)[642]; ((void (APIENTRY *)(GLsizei bufSize, GLubyte *pattern)) _func)(bufSize, pattern); } GLAPI void APIENTRY GLAPI_PREFIX(GetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[642]; + mapi_func _func = ((const mapi_func *) _tbl)[643]; ((void (APIENTRY *)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span)) _func)(target, format, type, rowBufSize, row, columnBufSize, column, span); } GLAPI void APIENTRY GLAPI_PREFIX(GetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[643]; + mapi_func _func = ((const mapi_func *) _tbl)[644]; ((void (APIENTRY *)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *img)) _func)(target, level, format, type, bufSize, img); } GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformdvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLdouble *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[644]; + mapi_func _func = ((const mapi_func *) _tbl)[645]; ((void (APIENTRY *)(GLhandleARB program, GLint location, GLsizei bufSize, GLdouble *params)) _func)(program, location, bufSize, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformfvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLfloat *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[645]; + mapi_func _func = ((const mapi_func *) _tbl)[646]; ((void (APIENTRY *)(GLhandleARB program, GLint location, GLsizei bufSize, GLfloat *params)) _func)(program, location, bufSize, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[646]; + mapi_func _func = ((const mapi_func *) _tbl)[647]; ((void (APIENTRY *)(GLhandleARB program, GLint location, GLsizei bufSize, GLint *params)) _func)(program, location, bufSize, params); } GLAPI void APIENTRY GLAPI_PREFIX(GetnUniformuivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint *params) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[647]; + mapi_func _func = ((const mapi_func *) _tbl)[648]; ((void (APIENTRY *)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint *params)) _func)(program, location, bufSize, params); } GLAPI void APIENTRY GLAPI_PREFIX(ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[648]; + mapi_func _func = ((const mapi_func *) _tbl)[649]; ((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) { const struct mapi_table *_tbl = entry_current_get(); - mapi_func _func = ((const mapi_func *) _tbl)[649]; + mapi_func _func = ((const mapi_func *) _tbl)[650]; ((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)[668]; + mapi_func _func = ((const mapi_func *) _tbl)[669]; ((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)[669]; + mapi_func _func = ((const mapi_func *) _tbl)[670]; ((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)[670]; + mapi_func _func = ((const mapi_func *) _tbl)[671]; ((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)[671]; + mapi_func _func = ((const mapi_func *) _tbl)[672]; ((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)[672]; + mapi_func _func = ((const mapi_func *) _tbl)[673]; ((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)[673]; + mapi_func _func = ((const mapi_func *) _tbl)[674]; ((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)[674]; + mapi_func _func = ((const mapi_func *) _tbl)[675]; ((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)[674]; + mapi_func _func = ((const mapi_func *) _tbl)[675]; ((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)[674]; + mapi_func _func = ((const mapi_func *) _tbl)[675]; ((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)[675]; + mapi_func _func = ((const mapi_func *) _tbl)[676]; ((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)[675]; + mapi_func _func = ((const mapi_func *) _tbl)[676]; ((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)[675]; + mapi_func _func = ((const mapi_func *) _tbl)[676]; ((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)[676]; + mapi_func _func = ((const mapi_func *) _tbl)[677]; ((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)[677]; + mapi_func _func = ((const mapi_func *) _tbl)[678]; ((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)[678]; + mapi_func _func = ((const mapi_func *) _tbl)[679]; ((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)[678]; + mapi_func _func = ((const mapi_func *) _tbl)[679]; ((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)[679]; + mapi_func _func = ((const mapi_func *) _tbl)[680]; ((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)[679]; + mapi_func _func = ((const mapi_func *) _tbl)[680]; ((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)[680]; + mapi_func _func = ((const mapi_func *) _tbl)[681]; ((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)[680]; + mapi_func _func = ((const mapi_func *) _tbl)[681]; ((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)[681]; + mapi_func _func = ((const mapi_func *) _tbl)[682]; ((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)[681]; + mapi_func _func = ((const mapi_func *) _tbl)[682]; ((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)[682]; + mapi_func _func = ((const mapi_func *) _tbl)[683]; ((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)[682]; + mapi_func _func = ((const mapi_func *) _tbl)[683]; ((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)[683]; + mapi_func _func = ((const mapi_func *) _tbl)[684]; ((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)[683]; + mapi_func _func = ((const mapi_func *) _tbl)[684]; ((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)[684]; + mapi_func _func = ((const mapi_func *) _tbl)[685]; ((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)[684]; + mapi_func _func = ((const mapi_func *) _tbl)[685]; ((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)[685]; + mapi_func _func = ((const mapi_func *) _tbl)[686]; ((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)[685]; + mapi_func _func = ((const mapi_func *) _tbl)[686]; ((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)[686]; + mapi_func _func = ((const mapi_func *) _tbl)[687]; ((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)[686]; + mapi_func _func = ((const mapi_func *) _tbl)[687]; ((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)[687]; + mapi_func _func = ((const mapi_func *) _tbl)[688]; ((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)[687]; + mapi_func _func = ((const mapi_func *) _tbl)[688]; ((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)[688]; + mapi_func _func = ((const mapi_func *) _tbl)[689]; ((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)[688]; + mapi_func _func = ((const mapi_func *) _tbl)[689]; ((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)[689]; + mapi_func _func = ((const mapi_func *) _tbl)[690]; ((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)[689]; + mapi_func _func = ((const mapi_func *) _tbl)[690]; ((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)[690]; + mapi_func _func = ((const mapi_func *) _tbl)[691]; ((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)[690]; + mapi_func _func = ((const mapi_func *) _tbl)[691]; ((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)[691]; + mapi_func _func = ((const mapi_func *) _tbl)[692]; ((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)[691]; + mapi_func _func = ((const mapi_func *) _tbl)[692]; ((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)[692]; + mapi_func _func = ((const mapi_func *) _tbl)[693]; ((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)[692]; + mapi_func _func = ((const mapi_func *) _tbl)[693]; ((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)[693]; + mapi_func _func = ((const mapi_func *) _tbl)[694]; ((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)[693]; + mapi_func _func = ((const mapi_func *) _tbl)[694]; ((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)[694]; + mapi_func _func = ((const mapi_func *) _tbl)[695]; ((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)[694]; + mapi_func _func = ((const mapi_func *) _tbl)[695]; ((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)[695]; + mapi_func _func = ((const mapi_func *) _tbl)[696]; ((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)[695]; + mapi_func _func = ((const mapi_func *) _tbl)[696]; ((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)[696]; + mapi_func _func = ((const mapi_func *) _tbl)[697]; ((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)[696]; + mapi_func _func = ((const mapi_func *) _tbl)[697]; ((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)[697]; + mapi_func _func = ((const mapi_func *) _tbl)[698]; ((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)[697]; + mapi_func _func = ((const mapi_func *) _tbl)[698]; ((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)[698]; + mapi_func _func = ((const mapi_func *) _tbl)[699]; ((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)[698]; + mapi_func _func = ((const mapi_func *) _tbl)[699]; ((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)[699]; + mapi_func _func = ((const mapi_func *) _tbl)[700]; ((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)[699]; + mapi_func _func = ((const mapi_func *) _tbl)[700]; ((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)[700]; + mapi_func _func = ((const mapi_func *) _tbl)[701]; ((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)[700]; + mapi_func _func = ((const mapi_func *) _tbl)[701]; ((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)[701]; + mapi_func _func = ((const mapi_func *) _tbl)[702]; ((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)[701]; + mapi_func _func = ((const mapi_func *) _tbl)[702]; ((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)[703]; + mapi_func _func = ((const mapi_func *) _tbl)[704]; ((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)[703]; + mapi_func _func = ((const mapi_func *) _tbl)[704]; ((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)[704]; + mapi_func _func = ((const mapi_func *) _tbl)[705]; ((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)[705]; + mapi_func _func = ((const mapi_func *) _tbl)[706]; ((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)[706]; + mapi_func _func = ((const mapi_func *) _tbl)[707]; ((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)[707]; + mapi_func _func = ((const mapi_func *) _tbl)[708]; ((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)[708]; + mapi_func _func = ((const mapi_func *) _tbl)[709]; ((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)[709]; + mapi_func _func = ((const mapi_func *) _tbl)[710]; ((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)[710]; + mapi_func _func = ((const mapi_func *) _tbl)[711]; ((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)[711]; + mapi_func _func = ((const mapi_func *) _tbl)[712]; ((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)[712]; + mapi_func _func = ((const mapi_func *) _tbl)[713]; ((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)[713]; + mapi_func _func = ((const mapi_func *) _tbl)[714]; ((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)[714]; + mapi_func _func = ((const mapi_func *) _tbl)[715]; ((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)[715]; + mapi_func _func = ((const mapi_func *) _tbl)[716]; ((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)[716]; + mapi_func _func = ((const mapi_func *) _tbl)[717]; ((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)[717]; + mapi_func _func = ((const mapi_func *) _tbl)[718]; ((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)[718]; + mapi_func _func = ((const mapi_func *) _tbl)[719]; ((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)[719]; + mapi_func _func = ((const mapi_func *) _tbl)[720]; ((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)[720]; + mapi_func _func = ((const mapi_func *) _tbl)[721]; ((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)[720]; + mapi_func _func = ((const mapi_func *) _tbl)[721]; ((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)[720]; + mapi_func _func = ((const mapi_func *) _tbl)[721]; ((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)[721]; + mapi_func _func = ((const mapi_func *) _tbl)[722]; ((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)[721]; + mapi_func _func = ((const mapi_func *) _tbl)[722]; ((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)[721]; + mapi_func _func = ((const mapi_func *) _tbl)[722]; ((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)[722]; + mapi_func _func = ((const mapi_func *) _tbl)[723]; ((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)[722]; + mapi_func _func = ((const mapi_func *) _tbl)[723]; ((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)[722]; + mapi_func _func = ((const mapi_func *) _tbl)[723]; ((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)[723]; + mapi_func _func = ((const mapi_func *) _tbl)[724]; ((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)[723]; + mapi_func _func = ((const mapi_func *) _tbl)[724]; ((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)[723]; + mapi_func _func = ((const mapi_func *) _tbl)[724]; ((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)[724]; + mapi_func _func = ((const mapi_func *) _tbl)[725]; ((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)[724]; + mapi_func _func = ((const mapi_func *) _tbl)[725]; ((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)[724]; + mapi_func _func = ((const mapi_func *) _tbl)[725]; ((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)[725]; + mapi_func _func = ((const mapi_func *) _tbl)[726]; ((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)[725]; + mapi_func _func = ((const mapi_func *) _tbl)[726]; ((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)[725]; + mapi_func _func = ((const mapi_func *) _tbl)[726]; ((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)[726]; + mapi_func _func = ((const mapi_func *) _tbl)[727]; ((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)[726]; + mapi_func _func = ((const mapi_func *) _tbl)[727]; ((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)[726]; + mapi_func _func = ((const mapi_func *) _tbl)[727]; ((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)[727]; + mapi_func _func = ((const mapi_func *) _tbl)[728]; ((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)[727]; + mapi_func _func = ((const mapi_func *) _tbl)[728]; ((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)[727]; + mapi_func _func = ((const mapi_func *) _tbl)[728]; ((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)[728]; + mapi_func _func = ((const mapi_func *) _tbl)[729]; ((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)[728]; + mapi_func _func = ((const mapi_func *) _tbl)[729]; ((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)[728]; + mapi_func _func = ((const mapi_func *) _tbl)[729]; ((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)[729]; + mapi_func _func = ((const mapi_func *) _tbl)[730]; ((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)[729]; + mapi_func _func = ((const mapi_func *) _tbl)[730]; ((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)[729]; + mapi_func _func = ((const mapi_func *) _tbl)[730]; ((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)[730]; + mapi_func _func = ((const mapi_func *) _tbl)[731]; ((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)[730]; + mapi_func _func = ((const mapi_func *) _tbl)[731]; ((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)[730]; + mapi_func _func = ((const mapi_func *) _tbl)[731]; ((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)[731]; + mapi_func _func = ((const mapi_func *) _tbl)[732]; ((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)[731]; + mapi_func _func = ((const mapi_func *) _tbl)[732]; ((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)[731]; + mapi_func _func = ((const mapi_func *) _tbl)[732]; ((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)[732]; + mapi_func _func = ((const mapi_func *) _tbl)[733]; ((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)[732]; + mapi_func _func = ((const mapi_func *) _tbl)[733]; ((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)[732]; + mapi_func _func = ((const mapi_func *) _tbl)[733]; ((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)[733]; + mapi_func _func = ((const mapi_func *) _tbl)[734]; ((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)[733]; + mapi_func _func = ((const mapi_func *) _tbl)[734]; ((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)[733]; + mapi_func _func = ((const mapi_func *) _tbl)[734]; ((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)[734]; + mapi_func _func = ((const mapi_func *) _tbl)[735]; ((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)[734]; + mapi_func _func = ((const mapi_func *) _tbl)[735]; ((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)[734]; + mapi_func _func = ((const mapi_func *) _tbl)[735]; ((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)[735]; + mapi_func _func = ((const mapi_func *) _tbl)[736]; ((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)[735]; + mapi_func _func = ((const mapi_func *) _tbl)[736]; ((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)[735]; + mapi_func _func = ((const mapi_func *) _tbl)[736]; ((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)[736]; + mapi_func _func = ((const mapi_func *) _tbl)[737]; ((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)[737]; + mapi_func _func = ((const mapi_func *) _tbl)[738]; ((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)[738]; + mapi_func _func = ((const mapi_func *) _tbl)[739]; ((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)[739]; + mapi_func _func = ((const mapi_func *) _tbl)[740]; ((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)[740]; + mapi_func _func = ((const mapi_func *) _tbl)[741]; ((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)[741]; + mapi_func _func = ((const mapi_func *) _tbl)[742]; ((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)[742]; + mapi_func _func = ((const mapi_func *) _tbl)[743]; ((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)[743]; + mapi_func _func = ((const mapi_func *) _tbl)[744]; ((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)[753]; + mapi_func _func = ((const mapi_func *) _tbl)[754]; 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)[754]; + mapi_func _func = ((const mapi_func *) _tbl)[755]; ((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)[754]; + mapi_func _func = ((const mapi_func *) _tbl)[755]; ((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)[755]; + mapi_func _func = ((const mapi_func *) _tbl)[756]; ((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)[755]; + mapi_func _func = ((const mapi_func *) _tbl)[756]; ((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)[756]; + mapi_func _func = ((const mapi_func *) _tbl)[757]; ((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)[757]; + mapi_func _func = ((const mapi_func *) _tbl)[758]; ((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)[757]; + mapi_func _func = ((const mapi_func *) _tbl)[758]; ((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)[758]; + mapi_func _func = ((const mapi_func *) _tbl)[759]; ((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)[759]; + mapi_func _func = ((const mapi_func *) _tbl)[760]; ((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)[760]; + mapi_func _func = ((const mapi_func *) _tbl)[761]; ((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)[761]; + mapi_func _func = ((const mapi_func *) _tbl)[762]; ((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)[762]; + mapi_func _func = ((const mapi_func *) _tbl)[763]; ((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)[763]; + mapi_func _func = ((const mapi_func *) _tbl)[764]; ((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)[763]; + mapi_func _func = ((const mapi_func *) _tbl)[764]; ((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)[763]; + mapi_func _func = ((const mapi_func *) _tbl)[764]; ((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)[764]; + mapi_func _func = ((const mapi_func *) _tbl)[765]; ((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)[765]; + mapi_func _func = ((const mapi_func *) _tbl)[766]; ((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)[766]; + mapi_func _func = ((const mapi_func *) _tbl)[767]; ((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)[767]; + mapi_func _func = ((const mapi_func *) _tbl)[768]; 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)[767]; + mapi_func _func = ((const mapi_func *) _tbl)[768]; 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)[768]; + mapi_func _func = ((const mapi_func *) _tbl)[769]; ((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)[769]; + mapi_func _func = ((const mapi_func *) _tbl)[770]; ((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)[770]; + mapi_func _func = ((const mapi_func *) _tbl)[771]; ((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)[771]; + mapi_func _func = ((const mapi_func *) _tbl)[772]; ((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)[772]; + mapi_func _func = ((const mapi_func *) _tbl)[773]; ((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)[773]; + mapi_func _func = ((const mapi_func *) _tbl)[774]; ((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)[774]; + mapi_func _func = ((const mapi_func *) _tbl)[775]; ((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)[775]; + mapi_func _func = ((const mapi_func *) _tbl)[776]; ((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)[776]; + mapi_func _func = ((const mapi_func *) _tbl)[777]; ((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)[777]; + mapi_func _func = ((const mapi_func *) _tbl)[778]; ((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)[778]; + mapi_func _func = ((const mapi_func *) _tbl)[779]; ((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)[779]; + mapi_func _func = ((const mapi_func *) _tbl)[780]; ((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)[780]; + mapi_func _func = ((const mapi_func *) _tbl)[781]; ((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)[781]; + mapi_func _func = ((const mapi_func *) _tbl)[782]; ((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)[782]; + mapi_func _func = ((const mapi_func *) _tbl)[783]; ((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)[783]; + mapi_func _func = ((const mapi_func *) _tbl)[784]; ((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)[784]; + mapi_func _func = ((const mapi_func *) _tbl)[785]; ((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)[785]; + mapi_func _func = ((const mapi_func *) _tbl)[786]; ((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)[786]; + mapi_func _func = ((const mapi_func *) _tbl)[787]; ((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)[787]; + mapi_func _func = ((const mapi_func *) _tbl)[788]; ((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)[788]; + mapi_func _func = ((const mapi_func *) _tbl)[789]; ((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)[789]; + mapi_func _func = ((const mapi_func *) _tbl)[790]; ((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)[790]; + mapi_func _func = ((const mapi_func *) _tbl)[791]; ((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)[791]; + mapi_func _func = ((const mapi_func *) _tbl)[792]; ((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)[792]; + mapi_func _func = ((const mapi_func *) _tbl)[793]; ((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)[793]; + mapi_func _func = ((const mapi_func *) _tbl)[794]; ((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)[794]; + mapi_func _func = ((const mapi_func *) _tbl)[795]; ((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)[795]; + mapi_func _func = ((const mapi_func *) _tbl)[796]; ((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)[796]; + mapi_func _func = ((const mapi_func *) _tbl)[797]; ((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)[797]; + mapi_func _func = ((const mapi_func *) _tbl)[798]; ((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)[798]; + mapi_func _func = ((const mapi_func *) _tbl)[799]; ((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)[799]; + mapi_func _func = ((const mapi_func *) _tbl)[800]; ((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)[800]; + mapi_func _func = ((const mapi_func *) _tbl)[801]; ((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)[801]; + mapi_func _func = ((const mapi_func *) _tbl)[802]; ((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)[802]; + mapi_func _func = ((const mapi_func *) _tbl)[803]; ((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)[803]; + mapi_func _func = ((const mapi_func *) _tbl)[804]; ((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)[804]; + mapi_func _func = ((const mapi_func *) _tbl)[805]; ((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)[805]; + mapi_func _func = ((const mapi_func *) _tbl)[806]; ((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)[806]; + mapi_func _func = ((const mapi_func *) _tbl)[807]; ((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)[807]; + mapi_func _func = ((const mapi_func *) _tbl)[808]; ((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)[808]; + mapi_func _func = ((const mapi_func *) _tbl)[809]; ((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)[809]; + mapi_func _func = ((const mapi_func *) _tbl)[810]; ((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)[810]; + mapi_func _func = ((const mapi_func *) _tbl)[811]; ((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)[811]; + mapi_func _func = ((const mapi_func *) _tbl)[812]; ((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)[812]; + mapi_func _func = ((const mapi_func *) _tbl)[813]; ((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)[813]; + mapi_func _func = ((const mapi_func *) _tbl)[814]; ((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)[814]; + mapi_func _func = ((const mapi_func *) _tbl)[815]; ((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)[815]; + mapi_func _func = ((const mapi_func *) _tbl)[816]; ((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)[816]; + mapi_func _func = ((const mapi_func *) _tbl)[817]; ((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)[817]; + mapi_func _func = ((const mapi_func *) _tbl)[818]; ((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)[818]; + mapi_func _func = ((const mapi_func *) _tbl)[819]; ((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)[819]; + mapi_func _func = ((const mapi_func *) _tbl)[820]; ((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)[820]; + mapi_func _func = ((const mapi_func *) _tbl)[821]; ((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)[821]; + mapi_func _func = ((const mapi_func *) _tbl)[822]; ((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)[822]; + mapi_func _func = ((const mapi_func *) _tbl)[823]; ((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)[823]; + mapi_func _func = ((const mapi_func *) _tbl)[824]; ((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)[824]; + mapi_func _func = ((const mapi_func *) _tbl)[825]; ((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)[825]; + mapi_func _func = ((const mapi_func *) _tbl)[826]; ((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)[826]; + mapi_func _func = ((const mapi_func *) _tbl)[827]; ((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)[827]; + mapi_func _func = ((const mapi_func *) _tbl)[828]; 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)[828]; + mapi_func _func = ((const mapi_func *) _tbl)[829]; ((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)[829]; + mapi_func _func = ((const mapi_func *) _tbl)[830]; ((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)[830]; + mapi_func _func = ((const mapi_func *) _tbl)[831]; ((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)[831]; + mapi_func _func = ((const mapi_func *) _tbl)[832]; ((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)[831]; + mapi_func _func = ((const mapi_func *) _tbl)[832]; ((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)[832]; + mapi_func _func = ((const mapi_func *) _tbl)[833]; ((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)[832]; + mapi_func _func = ((const mapi_func *) _tbl)[833]; ((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)[835]; + mapi_func _func = ((const mapi_func *) _tbl)[836]; ((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)[837]; + mapi_func _func = ((const mapi_func *) _tbl)[838]; 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)[838]; + mapi_func _func = ((const mapi_func *) _tbl)[839]; ((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)[839]; + mapi_func _func = ((const mapi_func *) _tbl)[840]; ((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)[840]; + mapi_func _func = ((const mapi_func *) _tbl)[841]; ((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)[841]; + mapi_func _func = ((const mapi_func *) _tbl)[842]; ((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)[842]; + mapi_func _func = ((const mapi_func *) _tbl)[843]; ((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)[843]; + mapi_func _func = ((const mapi_func *) _tbl)[844]; ((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)[844]; + mapi_func _func = ((const mapi_func *) _tbl)[845]; ((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)[844]; + mapi_func _func = ((const mapi_func *) _tbl)[845]; ((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)[845]; + mapi_func _func = ((const mapi_func *) _tbl)[846]; ((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)[893]; + mapi_func _func = ((const mapi_func *) _tbl)[894]; ((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)[894]; + mapi_func _func = ((const mapi_func *) _tbl)[895]; ((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)[894]; + mapi_func _func = ((const mapi_func *) _tbl)[895]; ((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)[895]; + mapi_func _func = ((const mapi_func *) _tbl)[896]; ((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)[895]; + mapi_func _func = ((const mapi_func *) _tbl)[896]; ((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)[896]; + mapi_func _func = ((const mapi_func *) _tbl)[897]; 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)[896]; + mapi_func _func = ((const mapi_func *) _tbl)[897]; 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)[897]; + mapi_func _func = ((const mapi_func *) _tbl)[898]; ((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)[897]; + mapi_func _func = ((const mapi_func *) _tbl)[898]; ((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)[898]; + mapi_func _func = ((const mapi_func *) _tbl)[899]; ((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)[898]; + mapi_func _func = ((const mapi_func *) _tbl)[899]; ((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)[899]; + mapi_func _func = ((const mapi_func *) _tbl)[900]; ((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)[899]; + mapi_func _func = ((const mapi_func *) _tbl)[900]; ((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)[900]; + mapi_func _func = ((const mapi_func *) _tbl)[901]; ((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)[900]; + mapi_func _func = ((const mapi_func *) _tbl)[901]; ((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)[901]; + mapi_func _func = ((const mapi_func *) _tbl)[902]; ((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)[901]; + mapi_func _func = ((const mapi_func *) _tbl)[902]; ((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)[902]; + mapi_func _func = ((const mapi_func *) _tbl)[903]; ((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)[902]; + mapi_func _func = ((const mapi_func *) _tbl)[903]; ((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)[903]; + mapi_func _func = ((const mapi_func *) _tbl)[904]; ((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)[903]; + mapi_func _func = ((const mapi_func *) _tbl)[904]; ((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)[904]; + mapi_func _func = ((const mapi_func *) _tbl)[905]; ((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)[904]; + mapi_func _func = ((const mapi_func *) _tbl)[905]; ((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)[905]; + mapi_func _func = ((const mapi_func *) _tbl)[906]; ((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)[905]; + mapi_func _func = ((const mapi_func *) _tbl)[906]; ((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)[906]; + mapi_func _func = ((const mapi_func *) _tbl)[907]; ((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)[906]; + mapi_func _func = ((const mapi_func *) _tbl)[907]; ((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)[907]; + mapi_func _func = ((const mapi_func *) _tbl)[908]; ((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)[907]; + mapi_func _func = ((const mapi_func *) _tbl)[908]; ((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)[908]; + mapi_func _func = ((const mapi_func *) _tbl)[909]; 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)[908]; + mapi_func _func = ((const mapi_func *) _tbl)[909]; 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)[909]; + mapi_func _func = ((const mapi_func *) _tbl)[910]; 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)[909]; + mapi_func _func = ((const mapi_func *) _tbl)[910]; 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)[910]; + mapi_func _func = ((const mapi_func *) _tbl)[911]; ((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)[910]; + mapi_func _func = ((const mapi_func *) _tbl)[911]; ((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)[911]; + mapi_func _func = ((const mapi_func *) _tbl)[912]; ((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)[914]; + mapi_func _func = ((const mapi_func *) _tbl)[915]; ((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)[914]; + mapi_func _func = ((const mapi_func *) _tbl)[915]; ((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)[915]; + mapi_func _func = ((const mapi_func *) _tbl)[916]; 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)[915]; + mapi_func _func = ((const mapi_func *) _tbl)[916]; 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)[916]; + mapi_func _func = ((const mapi_func *) _tbl)[917]; ((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)[916]; + mapi_func _func = ((const mapi_func *) _tbl)[917]; ((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)[917]; + mapi_func _func = ((const mapi_func *) _tbl)[918]; ((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)[917]; + mapi_func _func = ((const mapi_func *) _tbl)[918]; ((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)[918]; + mapi_func _func = ((const mapi_func *) _tbl)[919]; ((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)[918]; + mapi_func _func = ((const mapi_func *) _tbl)[919]; ((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)[919]; + mapi_func _func = ((const mapi_func *) _tbl)[920]; ((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)[919]; + mapi_func _func = ((const mapi_func *) _tbl)[920]; ((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)[920]; + mapi_func _func = ((const mapi_func *) _tbl)[921]; ((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)[920]; + mapi_func _func = ((const mapi_func *) _tbl)[921]; ((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)[921]; + mapi_func _func = ((const mapi_func *) _tbl)[922]; ((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)[921]; + mapi_func _func = ((const mapi_func *) _tbl)[922]; ((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)[922]; + mapi_func _func = ((const mapi_func *) _tbl)[923]; ((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)[922]; + mapi_func _func = ((const mapi_func *) _tbl)[923]; ((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)[923]; + mapi_func _func = ((const mapi_func *) _tbl)[924]; ((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)[923]; + mapi_func _func = ((const mapi_func *) _tbl)[924]; ((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)[924]; + mapi_func _func = ((const mapi_func *) _tbl)[925]; ((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)[924]; + mapi_func _func = ((const mapi_func *) _tbl)[925]; ((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)[925]; + mapi_func _func = ((const mapi_func *) _tbl)[926]; ((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)[925]; + mapi_func _func = ((const mapi_func *) _tbl)[926]; ((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)[926]; + mapi_func _func = ((const mapi_func *) _tbl)[927]; ((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)[926]; + mapi_func _func = ((const mapi_func *) _tbl)[927]; ((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)[927]; + mapi_func _func = ((const mapi_func *) _tbl)[928]; ((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)[927]; + mapi_func _func = ((const mapi_func *) _tbl)[928]; ((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)[928]; + mapi_func _func = ((const mapi_func *) _tbl)[929]; ((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)[928]; + mapi_func _func = ((const mapi_func *) _tbl)[929]; ((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)[929]; + mapi_func _func = ((const mapi_func *) _tbl)[930]; ((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)[929]; + mapi_func _func = ((const mapi_func *) _tbl)[930]; ((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)[930]; + mapi_func _func = ((const mapi_func *) _tbl)[931]; ((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)[930]; + mapi_func _func = ((const mapi_func *) _tbl)[931]; ((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)[931]; + mapi_func _func = ((const mapi_func *) _tbl)[932]; ((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)[931]; + mapi_func _func = ((const mapi_func *) _tbl)[932]; ((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)[932]; + mapi_func _func = ((const mapi_func *) _tbl)[933]; ((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)[932]; + mapi_func _func = ((const mapi_func *) _tbl)[933]; ((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)[933]; + mapi_func _func = ((const mapi_func *) _tbl)[934]; ((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)[933]; + mapi_func _func = ((const mapi_func *) _tbl)[934]; ((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)[934]; + mapi_func _func = ((const mapi_func *) _tbl)[935]; ((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)[934]; + mapi_func _func = ((const mapi_func *) _tbl)[935]; ((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)[935]; + mapi_func _func = ((const mapi_func *) _tbl)[936]; ((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)[935]; + mapi_func _func = ((const mapi_func *) _tbl)[936]; ((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)[936]; + mapi_func _func = ((const mapi_func *) _tbl)[937]; ((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)[936]; + mapi_func _func = ((const mapi_func *) _tbl)[937]; ((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)[937]; + mapi_func _func = ((const mapi_func *) _tbl)[938]; ((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)[937]; + mapi_func _func = ((const mapi_func *) _tbl)[938]; ((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)[938]; + mapi_func _func = ((const mapi_func *) _tbl)[939]; ((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)[938]; + mapi_func _func = ((const mapi_func *) _tbl)[939]; ((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)[939]; + mapi_func _func = ((const mapi_func *) _tbl)[940]; ((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)[939]; + mapi_func _func = ((const mapi_func *) _tbl)[940]; ((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)[940]; + mapi_func _func = ((const mapi_func *) _tbl)[941]; ((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)[940]; + mapi_func _func = ((const mapi_func *) _tbl)[941]; ((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)[941]; + mapi_func _func = ((const mapi_func *) _tbl)[942]; ((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)[941]; + mapi_func _func = ((const mapi_func *) _tbl)[942]; ((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)[942]; + mapi_func _func = ((const mapi_func *) _tbl)[943]; ((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)[942]; + mapi_func _func = ((const mapi_func *) _tbl)[943]; ((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)[943]; + mapi_func _func = ((const mapi_func *) _tbl)[944]; ((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)[943]; + mapi_func _func = ((const mapi_func *) _tbl)[944]; ((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)[944]; + mapi_func _func = ((const mapi_func *) _tbl)[945]; ((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)[944]; + mapi_func _func = ((const mapi_func *) _tbl)[945]; ((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)[945]; + mapi_func _func = ((const mapi_func *) _tbl)[946]; ((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)[945]; + mapi_func _func = ((const mapi_func *) _tbl)[946]; ((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)[946]; + mapi_func _func = ((const mapi_func *) _tbl)[947]; ((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)[946]; + mapi_func _func = ((const mapi_func *) _tbl)[947]; ((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)[947]; + mapi_func _func = ((const mapi_func *) _tbl)[948]; ((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)[947]; + mapi_func _func = ((const mapi_func *) _tbl)[948]; ((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)[948]; + mapi_func _func = ((const mapi_func *) _tbl)[949]; ((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)[948]; + mapi_func _func = ((const mapi_func *) _tbl)[949]; ((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)[949]; + mapi_func _func = ((const mapi_func *) _tbl)[950]; ((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)[949]; + mapi_func _func = ((const mapi_func *) _tbl)[950]; ((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)[950]; + mapi_func _func = ((const mapi_func *) _tbl)[951]; ((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)[950]; + mapi_func _func = ((const mapi_func *) _tbl)[951]; ((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)[951]; + mapi_func _func = ((const mapi_func *) _tbl)[952]; ((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)[951]; + mapi_func _func = ((const mapi_func *) _tbl)[952]; ((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)[952]; + mapi_func _func = ((const mapi_func *) _tbl)[953]; ((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)[952]; + mapi_func _func = ((const mapi_func *) _tbl)[953]; ((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)[953]; + mapi_func _func = ((const mapi_func *) _tbl)[954]; ((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)[953]; + mapi_func _func = ((const mapi_func *) _tbl)[954]; ((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)[954]; + mapi_func _func = ((const mapi_func *) _tbl)[955]; 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)[954]; + mapi_func _func = ((const mapi_func *) _tbl)[955]; 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)[955]; + mapi_func _func = ((const mapi_func *) _tbl)[956]; ((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)[956]; + mapi_func _func = ((const mapi_func *) _tbl)[957]; ((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)[957]; + mapi_func _func = ((const mapi_func *) _tbl)[958]; ((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)[957]; + mapi_func _func = ((const mapi_func *) _tbl)[958]; ((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)[958]; + mapi_func _func = ((const mapi_func *) _tbl)[959]; ((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)[958]; + mapi_func _func = ((const mapi_func *) _tbl)[959]; ((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)[959]; + mapi_func _func = ((const mapi_func *) _tbl)[960]; ((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)[959]; + mapi_func _func = ((const mapi_func *) _tbl)[960]; ((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)[960]; + mapi_func _func = ((const mapi_func *) _tbl)[961]; ((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)[960]; + mapi_func _func = ((const mapi_func *) _tbl)[961]; ((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)[961]; + mapi_func _func = ((const mapi_func *) _tbl)[962]; ((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)[961]; + mapi_func _func = ((const mapi_func *) _tbl)[962]; ((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)[962]; + mapi_func _func = ((const mapi_func *) _tbl)[963]; ((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)[962]; + mapi_func _func = ((const mapi_func *) _tbl)[963]; ((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)[963]; + mapi_func _func = ((const mapi_func *) _tbl)[964]; ((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)[963]; + mapi_func _func = ((const mapi_func *) _tbl)[964]; ((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)[964]; + mapi_func _func = ((const mapi_func *) _tbl)[965]; ((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)[964]; + mapi_func _func = ((const mapi_func *) _tbl)[965]; ((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)[965]; + mapi_func _func = ((const mapi_func *) _tbl)[966]; ((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)[966]; + mapi_func _func = ((const mapi_func *) _tbl)[967]; ((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)[966]; + mapi_func _func = ((const mapi_func *) _tbl)[967]; ((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)[967]; + mapi_func _func = ((const mapi_func *) _tbl)[968]; ((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)[967]; + mapi_func _func = ((const mapi_func *) _tbl)[968]; ((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)[968]; + mapi_func _func = ((const mapi_func *) _tbl)[969]; ((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)[968]; + mapi_func _func = ((const mapi_func *) _tbl)[969]; ((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)[969]; + mapi_func _func = ((const mapi_func *) _tbl)[970]; ((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)[969]; + mapi_func _func = ((const mapi_func *) _tbl)[970]; ((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)[970]; + mapi_func _func = ((const mapi_func *) _tbl)[971]; ((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)[970]; + mapi_func _func = ((const mapi_func *) _tbl)[971]; ((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)[973]; + mapi_func _func = ((const mapi_func *) _tbl)[974]; ((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)[974]; + mapi_func _func = ((const mapi_func *) _tbl)[975]; 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)[975]; + mapi_func _func = ((const mapi_func *) _tbl)[976]; 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)[976]; + mapi_func _func = ((const mapi_func *) _tbl)[977]; ((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)[977]; + mapi_func _func = ((const mapi_func *) _tbl)[978]; 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)[978]; + mapi_func _func = ((const mapi_func *) _tbl)[979]; ((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)[979]; + mapi_func _func = ((const mapi_func *) _tbl)[980]; ((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)[985]; + mapi_func _func = ((const mapi_func *) _tbl)[986]; ((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)[986]; + mapi_func _func = ((const mapi_func *) _tbl)[987]; ((void (APIENTRY *)(GLenum target, GLvoid *writeOffset)) _func)(target, writeOffset); } @@ -12207,197 +12215,200 @@ STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WaitSync))"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawElementsBaseVertex))"\n" "\t"STUB_ASM_CODE("593")"\n" -STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawRangeElementsBaseVertex))"\n" +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawElementsInstancedBaseVertex))"\n" "\t"STUB_ASM_CODE("594")"\n" -STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiDrawElementsBaseVertex))"\n" +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawRangeElementsBaseVertex))"\n" "\t"STUB_ASM_CODE("595")"\n" -STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationSeparateiARB))"\n" +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(MultiDrawElementsBaseVertex))"\n" "\t"STUB_ASM_CODE("596")"\n" +STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationSeparateiARB))"\n" +"\t"STUB_ASM_CODE("597")"\n" + ".globl "GLAPI_PREFIX_STR(BlendEquationSeparateIndexedAMD)"\n" ".set "GLAPI_PREFIX_STR(BlendEquationSeparateIndexedAMD)", "GLAPI_PREFIX_STR(BlendEquationSeparateiARB)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationiARB))"\n" -"\t"STUB_ASM_CODE("597")"\n" +"\t"STUB_ASM_CODE("598")"\n" ".globl "GLAPI_PREFIX_STR(BlendEquationIndexedAMD)"\n" ".set "GLAPI_PREFIX_STR(BlendEquationIndexedAMD)", "GLAPI_PREFIX_STR(BlendEquationiARB)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendFuncSeparateiARB))"\n" -"\t"STUB_ASM_CODE("598")"\n" +"\t"STUB_ASM_CODE("599")"\n" ".globl "GLAPI_PREFIX_STR(BlendFuncSeparateIndexedAMD)"\n" ".set "GLAPI_PREFIX_STR(BlendFuncSeparateIndexedAMD)", "GLAPI_PREFIX_STR(BlendFuncSeparateiARB)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendFunciARB))"\n" -"\t"STUB_ASM_CODE("599")"\n" +"\t"STUB_ASM_CODE("600")"\n" ".globl "GLAPI_PREFIX_STR(BlendFuncIndexedAMD)"\n" ".set "GLAPI_PREFIX_STR(BlendFuncIndexedAMD)", "GLAPI_PREFIX_STR(BlendFunciARB)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindSampler))"\n" -"\t"STUB_ASM_CODE("600")"\n" +"\t"STUB_ASM_CODE("601")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteSamplers))"\n" -"\t"STUB_ASM_CODE("601")"\n" +"\t"STUB_ASM_CODE("602")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenSamplers))"\n" -"\t"STUB_ASM_CODE("602")"\n" +"\t"STUB_ASM_CODE("603")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetSamplerParameterIiv))"\n" -"\t"STUB_ASM_CODE("603")"\n" +"\t"STUB_ASM_CODE("604")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetSamplerParameterIuiv))"\n" -"\t"STUB_ASM_CODE("604")"\n" +"\t"STUB_ASM_CODE("605")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetSamplerParameterfv))"\n" -"\t"STUB_ASM_CODE("605")"\n" +"\t"STUB_ASM_CODE("606")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetSamplerParameteriv))"\n" -"\t"STUB_ASM_CODE("606")"\n" +"\t"STUB_ASM_CODE("607")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsSampler))"\n" -"\t"STUB_ASM_CODE("607")"\n" +"\t"STUB_ASM_CODE("608")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SamplerParameterIiv))"\n" -"\t"STUB_ASM_CODE("608")"\n" +"\t"STUB_ASM_CODE("609")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SamplerParameterIuiv))"\n" -"\t"STUB_ASM_CODE("609")"\n" +"\t"STUB_ASM_CODE("610")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SamplerParameterf))"\n" -"\t"STUB_ASM_CODE("610")"\n" +"\t"STUB_ASM_CODE("611")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SamplerParameterfv))"\n" -"\t"STUB_ASM_CODE("611")"\n" +"\t"STUB_ASM_CODE("612")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SamplerParameteri))"\n" -"\t"STUB_ASM_CODE("612")"\n" +"\t"STUB_ASM_CODE("613")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SamplerParameteriv))"\n" -"\t"STUB_ASM_CODE("613")"\n" +"\t"STUB_ASM_CODE("614")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindTransformFeedback))"\n" -"\t"STUB_ASM_CODE("614")"\n" +"\t"STUB_ASM_CODE("615")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteTransformFeedbacks))"\n" -"\t"STUB_ASM_CODE("615")"\n" +"\t"STUB_ASM_CODE("616")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DrawTransformFeedback))"\n" -"\t"STUB_ASM_CODE("616")"\n" +"\t"STUB_ASM_CODE("617")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenTransformFeedbacks))"\n" -"\t"STUB_ASM_CODE("617")"\n" +"\t"STUB_ASM_CODE("618")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsTransformFeedback))"\n" -"\t"STUB_ASM_CODE("618")"\n" +"\t"STUB_ASM_CODE("619")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PauseTransformFeedback))"\n" -"\t"STUB_ASM_CODE("619")"\n" +"\t"STUB_ASM_CODE("620")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ResumeTransformFeedback))"\n" -"\t"STUB_ASM_CODE("620")"\n" +"\t"STUB_ASM_CODE("621")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearDepthf))"\n" -"\t"STUB_ASM_CODE("621")"\n" +"\t"STUB_ASM_CODE("622")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DepthRangef))"\n" -"\t"STUB_ASM_CODE("622")"\n" +"\t"STUB_ASM_CODE("623")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetShaderPrecisionFormat))"\n" -"\t"STUB_ASM_CODE("623")"\n" +"\t"STUB_ASM_CODE("624")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ReleaseShaderCompiler))"\n" -"\t"STUB_ASM_CODE("624")"\n" +"\t"STUB_ASM_CODE("625")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ShaderBinary))"\n" -"\t"STUB_ASM_CODE("625")"\n" +"\t"STUB_ASM_CODE("626")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetGraphicsResetStatusARB))"\n" -"\t"STUB_ASM_CODE("629")"\n" +"\t"STUB_ASM_CODE("630")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnColorTableARB))"\n" -"\t"STUB_ASM_CODE("630")"\n" +"\t"STUB_ASM_CODE("631")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnCompressedTexImageARB))"\n" -"\t"STUB_ASM_CODE("631")"\n" +"\t"STUB_ASM_CODE("632")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnConvolutionFilterARB))"\n" -"\t"STUB_ASM_CODE("632")"\n" +"\t"STUB_ASM_CODE("633")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnHistogramARB))"\n" -"\t"STUB_ASM_CODE("633")"\n" +"\t"STUB_ASM_CODE("634")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnMapdvARB))"\n" -"\t"STUB_ASM_CODE("634")"\n" +"\t"STUB_ASM_CODE("635")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnMapfvARB))"\n" -"\t"STUB_ASM_CODE("635")"\n" +"\t"STUB_ASM_CODE("636")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnMapivARB))"\n" -"\t"STUB_ASM_CODE("636")"\n" +"\t"STUB_ASM_CODE("637")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnMinmaxARB))"\n" -"\t"STUB_ASM_CODE("637")"\n" +"\t"STUB_ASM_CODE("638")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnPixelMapfvARB))"\n" -"\t"STUB_ASM_CODE("638")"\n" +"\t"STUB_ASM_CODE("639")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnPixelMapuivARB))"\n" -"\t"STUB_ASM_CODE("639")"\n" +"\t"STUB_ASM_CODE("640")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnPixelMapusvARB))"\n" -"\t"STUB_ASM_CODE("640")"\n" +"\t"STUB_ASM_CODE("641")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnPolygonStippleARB))"\n" -"\t"STUB_ASM_CODE("641")"\n" +"\t"STUB_ASM_CODE("642")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnSeparableFilterARB))"\n" -"\t"STUB_ASM_CODE("642")"\n" +"\t"STUB_ASM_CODE("643")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnTexImageARB))"\n" -"\t"STUB_ASM_CODE("643")"\n" +"\t"STUB_ASM_CODE("644")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnUniformdvARB))"\n" -"\t"STUB_ASM_CODE("644")"\n" +"\t"STUB_ASM_CODE("645")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnUniformfvARB))"\n" -"\t"STUB_ASM_CODE("645")"\n" +"\t"STUB_ASM_CODE("646")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnUniformivARB))"\n" -"\t"STUB_ASM_CODE("646")"\n" +"\t"STUB_ASM_CODE("647")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetnUniformuivARB))"\n" -"\t"STUB_ASM_CODE("647")"\n" +"\t"STUB_ASM_CODE("648")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ReadnPixelsARB))"\n" -"\t"STUB_ASM_CODE("648")"\n" +"\t"STUB_ASM_CODE("649")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PolygonOffsetEXT))"\n" -"\t"STUB_ASM_CODE("649")"\n" +"\t"STUB_ASM_CODE("650")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorPointerEXT))"\n" -"\t"STUB_ASM_CODE("668")"\n" +"\t"STUB_ASM_CODE("669")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EdgeFlagPointerEXT))"\n" -"\t"STUB_ASM_CODE("669")"\n" +"\t"STUB_ASM_CODE("670")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IndexPointerEXT))"\n" -"\t"STUB_ASM_CODE("670")"\n" +"\t"STUB_ASM_CODE("671")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(NormalPointerEXT))"\n" -"\t"STUB_ASM_CODE("671")"\n" +"\t"STUB_ASM_CODE("672")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexCoordPointerEXT))"\n" -"\t"STUB_ASM_CODE("672")"\n" +"\t"STUB_ASM_CODE("673")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexPointerEXT))"\n" -"\t"STUB_ASM_CODE("673")"\n" +"\t"STUB_ASM_CODE("674")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameterfEXT))"\n" -"\t"STUB_ASM_CODE("674")"\n" +"\t"STUB_ASM_CODE("675")"\n" ".globl "GLAPI_PREFIX_STR(PointParameterf)"\n" ".set "GLAPI_PREFIX_STR(PointParameterf)", "GLAPI_PREFIX_STR(PointParameterfEXT)"\n" @@ -12406,7 +12417,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("675")"\n" +"\t"STUB_ASM_CODE("676")"\n" ".globl "GLAPI_PREFIX_STR(PointParameterfv)"\n" ".set "GLAPI_PREFIX_STR(PointParameterfv)", "GLAPI_PREFIX_STR(PointParameterfvEXT)"\n" @@ -12415,211 +12426,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("676")"\n" +"\t"STUB_ASM_CODE("677")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UnlockArraysEXT))"\n" -"\t"STUB_ASM_CODE("677")"\n" +"\t"STUB_ASM_CODE("678")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SecondaryColor3bEXT))"\n" -"\t"STUB_ASM_CODE("678")"\n" +"\t"STUB_ASM_CODE("679")"\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("679")"\n" +"\t"STUB_ASM_CODE("680")"\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("680")"\n" +"\t"STUB_ASM_CODE("681")"\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("681")"\n" +"\t"STUB_ASM_CODE("682")"\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("682")"\n" +"\t"STUB_ASM_CODE("683")"\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("683")"\n" +"\t"STUB_ASM_CODE("684")"\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("684")"\n" +"\t"STUB_ASM_CODE("685")"\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("685")"\n" +"\t"STUB_ASM_CODE("686")"\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("686")"\n" +"\t"STUB_ASM_CODE("687")"\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("687")"\n" +"\t"STUB_ASM_CODE("688")"\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("688")"\n" +"\t"STUB_ASM_CODE("689")"\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("689")"\n" +"\t"STUB_ASM_CODE("690")"\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("690")"\n" +"\t"STUB_ASM_CODE("691")"\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("691")"\n" +"\t"STUB_ASM_CODE("692")"\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("692")"\n" +"\t"STUB_ASM_CODE("693")"\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("693")"\n" +"\t"STUB_ASM_CODE("694")"\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("694")"\n" +"\t"STUB_ASM_CODE("695")"\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("695")"\n" +"\t"STUB_ASM_CODE("696")"\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("696")"\n" +"\t"STUB_ASM_CODE("697")"\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("697")"\n" +"\t"STUB_ASM_CODE("698")"\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("698")"\n" +"\t"STUB_ASM_CODE("699")"\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("699")"\n" +"\t"STUB_ASM_CODE("700")"\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("700")"\n" +"\t"STUB_ASM_CODE("701")"\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("701")"\n" +"\t"STUB_ASM_CODE("702")"\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("703")"\n" +"\t"STUB_ASM_CODE("704")"\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("704")"\n" +"\t"STUB_ASM_CODE("705")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexArrayRangeNV))"\n" -"\t"STUB_ASM_CODE("705")"\n" +"\t"STUB_ASM_CODE("706")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerInputNV))"\n" -"\t"STUB_ASM_CODE("706")"\n" +"\t"STUB_ASM_CODE("707")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerOutputNV))"\n" -"\t"STUB_ASM_CODE("707")"\n" +"\t"STUB_ASM_CODE("708")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterfNV))"\n" -"\t"STUB_ASM_CODE("708")"\n" +"\t"STUB_ASM_CODE("709")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterfvNV))"\n" -"\t"STUB_ASM_CODE("709")"\n" +"\t"STUB_ASM_CODE("710")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameteriNV))"\n" -"\t"STUB_ASM_CODE("710")"\n" +"\t"STUB_ASM_CODE("711")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CombinerParameterivNV))"\n" -"\t"STUB_ASM_CODE("711")"\n" +"\t"STUB_ASM_CODE("712")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(FinalCombinerInputNV))"\n" -"\t"STUB_ASM_CODE("712")"\n" +"\t"STUB_ASM_CODE("713")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerInputParameterfvNV))"\n" -"\t"STUB_ASM_CODE("713")"\n" +"\t"STUB_ASM_CODE("714")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerInputParameterivNV))"\n" -"\t"STUB_ASM_CODE("714")"\n" +"\t"STUB_ASM_CODE("715")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerOutputParameterfvNV))"\n" -"\t"STUB_ASM_CODE("715")"\n" +"\t"STUB_ASM_CODE("716")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetCombinerOutputParameterivNV))"\n" -"\t"STUB_ASM_CODE("716")"\n" +"\t"STUB_ASM_CODE("717")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFinalCombinerInputParameterfvNV))"\n" -"\t"STUB_ASM_CODE("717")"\n" +"\t"STUB_ASM_CODE("718")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetFinalCombinerInputParameterivNV))"\n" -"\t"STUB_ASM_CODE("718")"\n" +"\t"STUB_ASM_CODE("719")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ResizeBuffersMESA))"\n" -"\t"STUB_ASM_CODE("719")"\n" +"\t"STUB_ASM_CODE("720")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos2dMESA))"\n" -"\t"STUB_ASM_CODE("720")"\n" +"\t"STUB_ASM_CODE("721")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2d)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2d)", "GLAPI_PREFIX_STR(WindowPos2dMESA)"\n" @@ -12628,7 +12639,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("721")"\n" +"\t"STUB_ASM_CODE("722")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2dv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2dv)", "GLAPI_PREFIX_STR(WindowPos2dvMESA)"\n" @@ -12637,7 +12648,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("722")"\n" +"\t"STUB_ASM_CODE("723")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2f)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2f)", "GLAPI_PREFIX_STR(WindowPos2fMESA)"\n" @@ -12646,7 +12657,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("723")"\n" +"\t"STUB_ASM_CODE("724")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2fv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2fv)", "GLAPI_PREFIX_STR(WindowPos2fvMESA)"\n" @@ -12655,7 +12666,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("724")"\n" +"\t"STUB_ASM_CODE("725")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2i)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2i)", "GLAPI_PREFIX_STR(WindowPos2iMESA)"\n" @@ -12664,7 +12675,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("725")"\n" +"\t"STUB_ASM_CODE("726")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2iv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2iv)", "GLAPI_PREFIX_STR(WindowPos2ivMESA)"\n" @@ -12673,7 +12684,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("726")"\n" +"\t"STUB_ASM_CODE("727")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2s)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2s)", "GLAPI_PREFIX_STR(WindowPos2sMESA)"\n" @@ -12682,7 +12693,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("727")"\n" +"\t"STUB_ASM_CODE("728")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos2sv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos2sv)", "GLAPI_PREFIX_STR(WindowPos2svMESA)"\n" @@ -12691,7 +12702,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("728")"\n" +"\t"STUB_ASM_CODE("729")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3d)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3d)", "GLAPI_PREFIX_STR(WindowPos3dMESA)"\n" @@ -12700,7 +12711,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("729")"\n" +"\t"STUB_ASM_CODE("730")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3dv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3dv)", "GLAPI_PREFIX_STR(WindowPos3dvMESA)"\n" @@ -12709,7 +12720,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("730")"\n" +"\t"STUB_ASM_CODE("731")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3f)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3f)", "GLAPI_PREFIX_STR(WindowPos3fMESA)"\n" @@ -12718,7 +12729,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("731")"\n" +"\t"STUB_ASM_CODE("732")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3fv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3fv)", "GLAPI_PREFIX_STR(WindowPos3fvMESA)"\n" @@ -12727,7 +12738,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("732")"\n" +"\t"STUB_ASM_CODE("733")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3i)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3i)", "GLAPI_PREFIX_STR(WindowPos3iMESA)"\n" @@ -12736,7 +12747,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("733")"\n" +"\t"STUB_ASM_CODE("734")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3iv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3iv)", "GLAPI_PREFIX_STR(WindowPos3ivMESA)"\n" @@ -12745,7 +12756,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("734")"\n" +"\t"STUB_ASM_CODE("735")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3s)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3s)", "GLAPI_PREFIX_STR(WindowPos3sMESA)"\n" @@ -12754,7 +12765,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("735")"\n" +"\t"STUB_ASM_CODE("736")"\n" ".globl "GLAPI_PREFIX_STR(WindowPos3sv)"\n" ".set "GLAPI_PREFIX_STR(WindowPos3sv)", "GLAPI_PREFIX_STR(WindowPos3svMESA)"\n" @@ -12763,70 +12774,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("736")"\n" +"\t"STUB_ASM_CODE("737")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4dvMESA))"\n" -"\t"STUB_ASM_CODE("737")"\n" +"\t"STUB_ASM_CODE("738")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4fMESA))"\n" -"\t"STUB_ASM_CODE("738")"\n" +"\t"STUB_ASM_CODE("739")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4fvMESA))"\n" -"\t"STUB_ASM_CODE("739")"\n" +"\t"STUB_ASM_CODE("740")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4iMESA))"\n" -"\t"STUB_ASM_CODE("740")"\n" +"\t"STUB_ASM_CODE("741")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4ivMESA))"\n" -"\t"STUB_ASM_CODE("741")"\n" +"\t"STUB_ASM_CODE("742")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4sMESA))"\n" -"\t"STUB_ASM_CODE("742")"\n" +"\t"STUB_ASM_CODE("743")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(WindowPos4svMESA))"\n" -"\t"STUB_ASM_CODE("743")"\n" +"\t"STUB_ASM_CODE("744")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AreProgramsResidentNV))"\n" -"\t"STUB_ASM_CODE("753")"\n" +"\t"STUB_ASM_CODE("754")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindProgramNV))"\n" -"\t"STUB_ASM_CODE("754")"\n" +"\t"STUB_ASM_CODE("755")"\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("755")"\n" +"\t"STUB_ASM_CODE("756")"\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("756")"\n" +"\t"STUB_ASM_CODE("757")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenProgramsNV))"\n" -"\t"STUB_ASM_CODE("757")"\n" +"\t"STUB_ASM_CODE("758")"\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("758")"\n" +"\t"STUB_ASM_CODE("759")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramParameterfvNV))"\n" -"\t"STUB_ASM_CODE("759")"\n" +"\t"STUB_ASM_CODE("760")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramStringNV))"\n" -"\t"STUB_ASM_CODE("760")"\n" +"\t"STUB_ASM_CODE("761")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramivNV))"\n" -"\t"STUB_ASM_CODE("761")"\n" +"\t"STUB_ASM_CODE("762")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTrackMatrixivNV))"\n" -"\t"STUB_ASM_CODE("762")"\n" +"\t"STUB_ASM_CODE("763")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribPointervNV))"\n" -"\t"STUB_ASM_CODE("763")"\n" +"\t"STUB_ASM_CODE("764")"\n" ".globl "GLAPI_PREFIX_STR(GetVertexAttribPointerv)"\n" ".set "GLAPI_PREFIX_STR(GetVertexAttribPointerv)", "GLAPI_PREFIX_STR(GetVertexAttribPointervNV)"\n" @@ -12835,721 +12846,721 @@ 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("764")"\n" +"\t"STUB_ASM_CODE("765")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribfvNV))"\n" -"\t"STUB_ASM_CODE("765")"\n" +"\t"STUB_ASM_CODE("766")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetVertexAttribivNV))"\n" -"\t"STUB_ASM_CODE("766")"\n" +"\t"STUB_ASM_CODE("767")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsProgramNV))"\n" -"\t"STUB_ASM_CODE("767")"\n" +"\t"STUB_ASM_CODE("768")"\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("768")"\n" +"\t"STUB_ASM_CODE("769")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramParameters4dvNV))"\n" -"\t"STUB_ASM_CODE("769")"\n" +"\t"STUB_ASM_CODE("770")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramParameters4fvNV))"\n" -"\t"STUB_ASM_CODE("770")"\n" +"\t"STUB_ASM_CODE("771")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(RequestResidentProgramsNV))"\n" -"\t"STUB_ASM_CODE("771")"\n" +"\t"STUB_ASM_CODE("772")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TrackMatrixNV))"\n" -"\t"STUB_ASM_CODE("772")"\n" +"\t"STUB_ASM_CODE("773")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dNV))"\n" -"\t"STUB_ASM_CODE("773")"\n" +"\t"STUB_ASM_CODE("774")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1dvNV))"\n" -"\t"STUB_ASM_CODE("774")"\n" +"\t"STUB_ASM_CODE("775")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fNV))"\n" -"\t"STUB_ASM_CODE("775")"\n" +"\t"STUB_ASM_CODE("776")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1fvNV))"\n" -"\t"STUB_ASM_CODE("776")"\n" +"\t"STUB_ASM_CODE("777")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1sNV))"\n" -"\t"STUB_ASM_CODE("777")"\n" +"\t"STUB_ASM_CODE("778")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib1svNV))"\n" -"\t"STUB_ASM_CODE("778")"\n" +"\t"STUB_ASM_CODE("779")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dNV))"\n" -"\t"STUB_ASM_CODE("779")"\n" +"\t"STUB_ASM_CODE("780")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2dvNV))"\n" -"\t"STUB_ASM_CODE("780")"\n" +"\t"STUB_ASM_CODE("781")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fNV))"\n" -"\t"STUB_ASM_CODE("781")"\n" +"\t"STUB_ASM_CODE("782")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2fvNV))"\n" -"\t"STUB_ASM_CODE("782")"\n" +"\t"STUB_ASM_CODE("783")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2sNV))"\n" -"\t"STUB_ASM_CODE("783")"\n" +"\t"STUB_ASM_CODE("784")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib2svNV))"\n" -"\t"STUB_ASM_CODE("784")"\n" +"\t"STUB_ASM_CODE("785")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dNV))"\n" -"\t"STUB_ASM_CODE("785")"\n" +"\t"STUB_ASM_CODE("786")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3dvNV))"\n" -"\t"STUB_ASM_CODE("786")"\n" +"\t"STUB_ASM_CODE("787")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fNV))"\n" -"\t"STUB_ASM_CODE("787")"\n" +"\t"STUB_ASM_CODE("788")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3fvNV))"\n" -"\t"STUB_ASM_CODE("788")"\n" +"\t"STUB_ASM_CODE("789")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3sNV))"\n" -"\t"STUB_ASM_CODE("789")"\n" +"\t"STUB_ASM_CODE("790")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib3svNV))"\n" -"\t"STUB_ASM_CODE("790")"\n" +"\t"STUB_ASM_CODE("791")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dNV))"\n" -"\t"STUB_ASM_CODE("791")"\n" +"\t"STUB_ASM_CODE("792")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4dvNV))"\n" -"\t"STUB_ASM_CODE("792")"\n" +"\t"STUB_ASM_CODE("793")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fNV))"\n" -"\t"STUB_ASM_CODE("793")"\n" +"\t"STUB_ASM_CODE("794")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4fvNV))"\n" -"\t"STUB_ASM_CODE("794")"\n" +"\t"STUB_ASM_CODE("795")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4sNV))"\n" -"\t"STUB_ASM_CODE("795")"\n" +"\t"STUB_ASM_CODE("796")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4svNV))"\n" -"\t"STUB_ASM_CODE("796")"\n" +"\t"STUB_ASM_CODE("797")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ubNV))"\n" -"\t"STUB_ASM_CODE("797")"\n" +"\t"STUB_ASM_CODE("798")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttrib4ubvNV))"\n" -"\t"STUB_ASM_CODE("798")"\n" +"\t"STUB_ASM_CODE("799")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribPointerNV))"\n" -"\t"STUB_ASM_CODE("799")"\n" +"\t"STUB_ASM_CODE("800")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1dvNV))"\n" -"\t"STUB_ASM_CODE("800")"\n" +"\t"STUB_ASM_CODE("801")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1fvNV))"\n" -"\t"STUB_ASM_CODE("801")"\n" +"\t"STUB_ASM_CODE("802")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs1svNV))"\n" -"\t"STUB_ASM_CODE("802")"\n" +"\t"STUB_ASM_CODE("803")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2dvNV))"\n" -"\t"STUB_ASM_CODE("803")"\n" +"\t"STUB_ASM_CODE("804")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2fvNV))"\n" -"\t"STUB_ASM_CODE("804")"\n" +"\t"STUB_ASM_CODE("805")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs2svNV))"\n" -"\t"STUB_ASM_CODE("805")"\n" +"\t"STUB_ASM_CODE("806")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3dvNV))"\n" -"\t"STUB_ASM_CODE("806")"\n" +"\t"STUB_ASM_CODE("807")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3fvNV))"\n" -"\t"STUB_ASM_CODE("807")"\n" +"\t"STUB_ASM_CODE("808")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs3svNV))"\n" -"\t"STUB_ASM_CODE("808")"\n" +"\t"STUB_ASM_CODE("809")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4dvNV))"\n" -"\t"STUB_ASM_CODE("809")"\n" +"\t"STUB_ASM_CODE("810")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4fvNV))"\n" -"\t"STUB_ASM_CODE("810")"\n" +"\t"STUB_ASM_CODE("811")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4svNV))"\n" -"\t"STUB_ASM_CODE("811")"\n" +"\t"STUB_ASM_CODE("812")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(VertexAttribs4ubvNV))"\n" -"\t"STUB_ASM_CODE("812")"\n" +"\t"STUB_ASM_CODE("813")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexBumpParameterfvATI))"\n" -"\t"STUB_ASM_CODE("813")"\n" +"\t"STUB_ASM_CODE("814")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexBumpParameterivATI))"\n" -"\t"STUB_ASM_CODE("814")"\n" +"\t"STUB_ASM_CODE("815")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexBumpParameterfvATI))"\n" -"\t"STUB_ASM_CODE("815")"\n" +"\t"STUB_ASM_CODE("816")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TexBumpParameterivATI))"\n" -"\t"STUB_ASM_CODE("816")"\n" +"\t"STUB_ASM_CODE("817")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp1ATI))"\n" -"\t"STUB_ASM_CODE("817")"\n" +"\t"STUB_ASM_CODE("818")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp2ATI))"\n" -"\t"STUB_ASM_CODE("818")"\n" +"\t"STUB_ASM_CODE("819")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(AlphaFragmentOp3ATI))"\n" -"\t"STUB_ASM_CODE("819")"\n" +"\t"STUB_ASM_CODE("820")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BeginFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("820")"\n" +"\t"STUB_ASM_CODE("821")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("821")"\n" +"\t"STUB_ASM_CODE("822")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp1ATI))"\n" -"\t"STUB_ASM_CODE("822")"\n" +"\t"STUB_ASM_CODE("823")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp2ATI))"\n" -"\t"STUB_ASM_CODE("823")"\n" +"\t"STUB_ASM_CODE("824")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorFragmentOp3ATI))"\n" -"\t"STUB_ASM_CODE("824")"\n" +"\t"STUB_ASM_CODE("825")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(DeleteFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("825")"\n" +"\t"STUB_ASM_CODE("826")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EndFragmentShaderATI))"\n" -"\t"STUB_ASM_CODE("826")"\n" +"\t"STUB_ASM_CODE("827")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GenFragmentShadersATI))"\n" -"\t"STUB_ASM_CODE("827")"\n" +"\t"STUB_ASM_CODE("828")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PassTexCoordATI))"\n" -"\t"STUB_ASM_CODE("828")"\n" +"\t"STUB_ASM_CODE("829")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SampleMapATI))"\n" -"\t"STUB_ASM_CODE("829")"\n" +"\t"STUB_ASM_CODE("830")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(SetFragmentShaderConstantATI))"\n" -"\t"STUB_ASM_CODE("830")"\n" +"\t"STUB_ASM_CODE("831")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PointParameteriNV))"\n" -"\t"STUB_ASM_CODE("831")"\n" +"\t"STUB_ASM_CODE("832")"\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("832")"\n" +"\t"STUB_ASM_CODE("833")"\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("835")"\n" +"\t"STUB_ASM_CODE("836")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(IsVertexArray))"\n" -"\t"STUB_ASM_CODE("837")"\n" +"\t"STUB_ASM_CODE("838")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramNamedParameterdvNV))"\n" -"\t"STUB_ASM_CODE("838")"\n" +"\t"STUB_ASM_CODE("839")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetProgramNamedParameterfvNV))"\n" -"\t"STUB_ASM_CODE("839")"\n" +"\t"STUB_ASM_CODE("840")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4dNV))"\n" -"\t"STUB_ASM_CODE("840")"\n" +"\t"STUB_ASM_CODE("841")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4dvNV))"\n" -"\t"STUB_ASM_CODE("841")"\n" +"\t"STUB_ASM_CODE("842")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4fNV))"\n" -"\t"STUB_ASM_CODE("842")"\n" +"\t"STUB_ASM_CODE("843")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ProgramNamedParameter4fvNV))"\n" -"\t"STUB_ASM_CODE("843")"\n" +"\t"STUB_ASM_CODE("844")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(PrimitiveRestartIndexNV))"\n" -"\t"STUB_ASM_CODE("844")"\n" +"\t"STUB_ASM_CODE("845")"\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("845")"\n" +"\t"STUB_ASM_CODE("846")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BlendEquationSeparate))"\n" -"\t"STUB_ASM_CODE("893")"\n" +"\t"STUB_ASM_CODE("894")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFramebufferEXT))"\n" -"\t"STUB_ASM_CODE("894")"\n" +"\t"STUB_ASM_CODE("895")"\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("895")"\n" +"\t"STUB_ASM_CODE("896")"\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("896")"\n" +"\t"STUB_ASM_CODE("897")"\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("897")"\n" +"\t"STUB_ASM_CODE("898")"\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("898")"\n" +"\t"STUB_ASM_CODE("899")"\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("899")"\n" +"\t"STUB_ASM_CODE("900")"\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("900")"\n" +"\t"STUB_ASM_CODE("901")"\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("901")"\n" +"\t"STUB_ASM_CODE("902")"\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("902")"\n" +"\t"STUB_ASM_CODE("903")"\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("903")"\n" +"\t"STUB_ASM_CODE("904")"\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("904")"\n" +"\t"STUB_ASM_CODE("905")"\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("905")"\n" +"\t"STUB_ASM_CODE("906")"\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("906")"\n" +"\t"STUB_ASM_CODE("907")"\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("907")"\n" +"\t"STUB_ASM_CODE("908")"\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("908")"\n" +"\t"STUB_ASM_CODE("909")"\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("909")"\n" +"\t"STUB_ASM_CODE("910")"\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("910")"\n" +"\t"STUB_ASM_CODE("911")"\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("911")"\n" +"\t"STUB_ASM_CODE("912")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindFragDataLocationEXT))"\n" -"\t"STUB_ASM_CODE("914")"\n" +"\t"STUB_ASM_CODE("915")"\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("915")"\n" +"\t"STUB_ASM_CODE("916")"\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("916")"\n" +"\t"STUB_ASM_CODE("917")"\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("917")"\n" +"\t"STUB_ASM_CODE("918")"\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("918")"\n" +"\t"STUB_ASM_CODE("919")"\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("919")"\n" +"\t"STUB_ASM_CODE("920")"\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("920")"\n" +"\t"STUB_ASM_CODE("921")"\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("921")"\n" +"\t"STUB_ASM_CODE("922")"\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("922")"\n" +"\t"STUB_ASM_CODE("923")"\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("923")"\n" +"\t"STUB_ASM_CODE("924")"\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("924")"\n" +"\t"STUB_ASM_CODE("925")"\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("925")"\n" +"\t"STUB_ASM_CODE("926")"\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("926")"\n" +"\t"STUB_ASM_CODE("927")"\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("927")"\n" +"\t"STUB_ASM_CODE("928")"\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("928")"\n" +"\t"STUB_ASM_CODE("929")"\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("929")"\n" +"\t"STUB_ASM_CODE("930")"\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("930")"\n" +"\t"STUB_ASM_CODE("931")"\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("931")"\n" +"\t"STUB_ASM_CODE("932")"\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("932")"\n" +"\t"STUB_ASM_CODE("933")"\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("933")"\n" +"\t"STUB_ASM_CODE("934")"\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("934")"\n" +"\t"STUB_ASM_CODE("935")"\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("935")"\n" +"\t"STUB_ASM_CODE("936")"\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("936")"\n" +"\t"STUB_ASM_CODE("937")"\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("937")"\n" +"\t"STUB_ASM_CODE("938")"\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("938")"\n" +"\t"STUB_ASM_CODE("939")"\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("939")"\n" +"\t"STUB_ASM_CODE("940")"\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("940")"\n" +"\t"STUB_ASM_CODE("941")"\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("941")"\n" +"\t"STUB_ASM_CODE("942")"\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("942")"\n" +"\t"STUB_ASM_CODE("943")"\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("943")"\n" +"\t"STUB_ASM_CODE("944")"\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("944")"\n" +"\t"STUB_ASM_CODE("945")"\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("945")"\n" +"\t"STUB_ASM_CODE("946")"\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("946")"\n" +"\t"STUB_ASM_CODE("947")"\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("947")"\n" +"\t"STUB_ASM_CODE("948")"\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("948")"\n" +"\t"STUB_ASM_CODE("949")"\n" ".globl "GLAPI_PREFIX_STR(FramebufferTextureLayer)"\n" ".set "GLAPI_PREFIX_STR(FramebufferTextureLayer)", "GLAPI_PREFIX_STR(FramebufferTextureLayerEXT)"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ColorMaskIndexedEXT))"\n" -"\t"STUB_ASM_CODE("949")"\n" +"\t"STUB_ASM_CODE("950")"\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("950")"\n" +"\t"STUB_ASM_CODE("951")"\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("951")"\n" +"\t"STUB_ASM_CODE("952")"\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("952")"\n" +"\t"STUB_ASM_CODE("953")"\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("953")"\n" +"\t"STUB_ASM_CODE("954")"\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("954")"\n" +"\t"STUB_ASM_CODE("955")"\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("955")"\n" +"\t"STUB_ASM_CODE("956")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ClearColorIuiEXT))"\n" -"\t"STUB_ASM_CODE("956")"\n" +"\t"STUB_ASM_CODE("957")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(GetTexParameterIivEXT))"\n" -"\t"STUB_ASM_CODE("957")"\n" +"\t"STUB_ASM_CODE("958")"\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("958")"\n" +"\t"STUB_ASM_CODE("959")"\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("959")"\n" +"\t"STUB_ASM_CODE("960")"\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("960")"\n" +"\t"STUB_ASM_CODE("961")"\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("961")"\n" +"\t"STUB_ASM_CODE("962")"\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("962")"\n" +"\t"STUB_ASM_CODE("963")"\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("963")"\n" +"\t"STUB_ASM_CODE("964")"\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("964")"\n" +"\t"STUB_ASM_CODE("965")"\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("965")"\n" +"\t"STUB_ASM_CODE("966")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(BindBufferRangeEXT))"\n" -"\t"STUB_ASM_CODE("966")"\n" +"\t"STUB_ASM_CODE("967")"\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("967")"\n" +"\t"STUB_ASM_CODE("968")"\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("968")"\n" +"\t"STUB_ASM_CODE("969")"\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("969")"\n" +"\t"STUB_ASM_CODE("970")"\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("970")"\n" +"\t"STUB_ASM_CODE("971")"\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("973")"\n" +"\t"STUB_ASM_CODE("974")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ObjectPurgeableAPPLE))"\n" -"\t"STUB_ASM_CODE("974")"\n" +"\t"STUB_ASM_CODE("975")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ObjectUnpurgeableAPPLE))"\n" -"\t"STUB_ASM_CODE("975")"\n" +"\t"STUB_ASM_CODE("976")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(ActiveProgramEXT))"\n" -"\t"STUB_ASM_CODE("976")"\n" +"\t"STUB_ASM_CODE("977")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(CreateShaderProgramEXT))"\n" -"\t"STUB_ASM_CODE("977")"\n" +"\t"STUB_ASM_CODE("978")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(UseShaderProgramEXT))"\n" -"\t"STUB_ASM_CODE("978")"\n" +"\t"STUB_ASM_CODE("979")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(TextureBarrierNV))"\n" -"\t"STUB_ASM_CODE("979")"\n" +"\t"STUB_ASM_CODE("980")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EGLImageTargetRenderbufferStorageOES))"\n" -"\t"STUB_ASM_CODE("985")"\n" +"\t"STUB_ASM_CODE("986")"\n" STUB_ASM_ENTRY(GLAPI_PREFIX_STR(EGLImageTargetTexture2DOES))"\n" -"\t"STUB_ASM_CODE("986")"\n" +"\t"STUB_ASM_CODE("987")"\n" ); #undef MAPI_TMP_STUB_ASM_GCC_NO_HIDDEN diff --git a/src/mapi/glapi/glapi_sparc.S b/src/mapi/glapi/glapi_sparc.S index cb11a8b2381..1c4b6f411d7 100644 --- a/src/mapi/glapi/glapi_sparc.S +++ b/src/mapi/glapi/glapi_sparc.S @@ -789,61 +789,60 @@ gl_dispatch_functions_start: GL_STUB(glIsSync, 591) GL_STUB(glWaitSync, 592) GL_STUB(glDrawElementsBaseVertex, 593) - GL_STUB(glDrawRangeElementsBaseVertex, 594) - GL_STUB(glMultiDrawElementsBaseVertex, 595) - GL_STUB(glBlendEquationSeparateiARB, 596) - GL_STUB(glBlendEquationiARB, 597) - GL_STUB(glBlendFuncSeparateiARB, 598) - GL_STUB(glBlendFunciARB, 599) - GL_STUB(glBindSampler, 600) - GL_STUB(glDeleteSamplers, 601) - GL_STUB(glGenSamplers, 602) - GL_STUB(glGetSamplerParameterIiv, 603) - GL_STUB(glGetSamplerParameterIuiv, 604) - GL_STUB(glGetSamplerParameterfv, 605) - GL_STUB(glGetSamplerParameteriv, 606) - GL_STUB(glIsSampler, 607) - GL_STUB(glSamplerParameterIiv, 608) - GL_STUB(glSamplerParameterIuiv, 609) - GL_STUB(glSamplerParameterf, 610) - GL_STUB(glSamplerParameterfv, 611) - GL_STUB(glSamplerParameteri, 612) - GL_STUB(glSamplerParameteriv, 613) - GL_STUB(glBindTransformFeedback, 614) - GL_STUB(glDeleteTransformFeedbacks, 615) - GL_STUB(glDrawTransformFeedback, 616) - GL_STUB(glGenTransformFeedbacks, 617) - GL_STUB(glIsTransformFeedback, 618) - GL_STUB(glPauseTransformFeedback, 619) - GL_STUB(glResumeTransformFeedback, 620) - GL_STUB(glClearDepthf, 621) - GL_STUB(glDepthRangef, 622) - GL_STUB(glGetShaderPrecisionFormat, 623) - GL_STUB(glReleaseShaderCompiler, 624) - GL_STUB(glShaderBinary, 625) - GL_STUB(glGetGraphicsResetStatusARB, 626) - GL_STUB(glGetnColorTableARB, 627) - GL_STUB(glGetnCompressedTexImageARB, 628) - GL_STUB(glGetnConvolutionFilterARB, 629) - GL_STUB(glGetnHistogramARB, 630) - GL_STUB(glGetnMapdvARB, 631) - GL_STUB(glGetnMapfvARB, 632) - GL_STUB(glGetnMapivARB, 633) - GL_STUB(glGetnMinmaxARB, 634) - GL_STUB(glGetnPixelMapfvARB, 635) - GL_STUB(glGetnPixelMapuivARB, 636) - GL_STUB(glGetnPixelMapusvARB, 637) - GL_STUB(glGetnPolygonStippleARB, 638) - GL_STUB(glGetnSeparableFilterARB, 639) - GL_STUB(glGetnTexImageARB, 640) - GL_STUB(glGetnUniformdvARB, 641) - GL_STUB(glGetnUniformfvARB, 642) - GL_STUB(glGetnUniformivARB, 643) - GL_STUB(glGetnUniformuivARB, 644) - GL_STUB(glReadnPixelsARB, 645) - GL_STUB(glPolygonOffsetEXT, 646) - GL_STUB(gl_dispatch_stub_647, 647) - HIDDEN(gl_dispatch_stub_647) + GL_STUB(glDrawElementsInstancedBaseVertex, 594) + GL_STUB(glDrawRangeElementsBaseVertex, 595) + GL_STUB(glMultiDrawElementsBaseVertex, 596) + GL_STUB(glBlendEquationSeparateiARB, 597) + GL_STUB(glBlendEquationiARB, 598) + GL_STUB(glBlendFuncSeparateiARB, 599) + GL_STUB(glBlendFunciARB, 600) + GL_STUB(glBindSampler, 601) + GL_STUB(glDeleteSamplers, 602) + GL_STUB(glGenSamplers, 603) + GL_STUB(glGetSamplerParameterIiv, 604) + GL_STUB(glGetSamplerParameterIuiv, 605) + GL_STUB(glGetSamplerParameterfv, 606) + GL_STUB(glGetSamplerParameteriv, 607) + GL_STUB(glIsSampler, 608) + GL_STUB(glSamplerParameterIiv, 609) + GL_STUB(glSamplerParameterIuiv, 610) + GL_STUB(glSamplerParameterf, 611) + GL_STUB(glSamplerParameterfv, 612) + GL_STUB(glSamplerParameteri, 613) + GL_STUB(glSamplerParameteriv, 614) + GL_STUB(glBindTransformFeedback, 615) + GL_STUB(glDeleteTransformFeedbacks, 616) + GL_STUB(glDrawTransformFeedback, 617) + GL_STUB(glGenTransformFeedbacks, 618) + GL_STUB(glIsTransformFeedback, 619) + GL_STUB(glPauseTransformFeedback, 620) + GL_STUB(glResumeTransformFeedback, 621) + GL_STUB(glClearDepthf, 622) + GL_STUB(glDepthRangef, 623) + GL_STUB(glGetShaderPrecisionFormat, 624) + GL_STUB(glReleaseShaderCompiler, 625) + GL_STUB(glShaderBinary, 626) + GL_STUB(glGetGraphicsResetStatusARB, 627) + GL_STUB(glGetnColorTableARB, 628) + GL_STUB(glGetnCompressedTexImageARB, 629) + GL_STUB(glGetnConvolutionFilterARB, 630) + GL_STUB(glGetnHistogramARB, 631) + GL_STUB(glGetnMapdvARB, 632) + GL_STUB(glGetnMapfvARB, 633) + GL_STUB(glGetnMapivARB, 634) + GL_STUB(glGetnMinmaxARB, 635) + GL_STUB(glGetnPixelMapfvARB, 636) + GL_STUB(glGetnPixelMapuivARB, 637) + GL_STUB(glGetnPixelMapusvARB, 638) + GL_STUB(glGetnPolygonStippleARB, 639) + GL_STUB(glGetnSeparableFilterARB, 640) + GL_STUB(glGetnTexImageARB, 641) + GL_STUB(glGetnUniformdvARB, 642) + GL_STUB(glGetnUniformfvARB, 643) + GL_STUB(glGetnUniformivARB, 644) + GL_STUB(glGetnUniformuivARB, 645) + GL_STUB(glReadnPixelsARB, 646) + GL_STUB(glPolygonOffsetEXT, 647) GL_STUB(gl_dispatch_stub_648, 648) HIDDEN(gl_dispatch_stub_648) GL_STUB(gl_dispatch_stub_649, 649) @@ -858,85 +857,85 @@ gl_dispatch_functions_start: HIDDEN(gl_dispatch_stub_653) GL_STUB(gl_dispatch_stub_654, 654) HIDDEN(gl_dispatch_stub_654) - GL_STUB(glColorPointerEXT, 655) - GL_STUB(glEdgeFlagPointerEXT, 656) - GL_STUB(glIndexPointerEXT, 657) - GL_STUB(glNormalPointerEXT, 658) - GL_STUB(glTexCoordPointerEXT, 659) - GL_STUB(glVertexPointerEXT, 660) - GL_STUB(glPointParameterfEXT, 661) - GL_STUB(glPointParameterfvEXT, 662) - GL_STUB(glLockArraysEXT, 663) - GL_STUB(glUnlockArraysEXT, 664) - GL_STUB(glSecondaryColor3bEXT, 665) - GL_STUB(glSecondaryColor3bvEXT, 666) - GL_STUB(glSecondaryColor3dEXT, 667) - GL_STUB(glSecondaryColor3dvEXT, 668) - GL_STUB(glSecondaryColor3fEXT, 669) - GL_STUB(glSecondaryColor3fvEXT, 670) - GL_STUB(glSecondaryColor3iEXT, 671) - GL_STUB(glSecondaryColor3ivEXT, 672) - GL_STUB(glSecondaryColor3sEXT, 673) - GL_STUB(glSecondaryColor3svEXT, 674) - GL_STUB(glSecondaryColor3ubEXT, 675) - GL_STUB(glSecondaryColor3ubvEXT, 676) - GL_STUB(glSecondaryColor3uiEXT, 677) - GL_STUB(glSecondaryColor3uivEXT, 678) - GL_STUB(glSecondaryColor3usEXT, 679) - GL_STUB(glSecondaryColor3usvEXT, 680) - GL_STUB(glSecondaryColorPointerEXT, 681) - GL_STUB(glMultiDrawArraysEXT, 682) - GL_STUB(glMultiDrawElementsEXT, 683) - GL_STUB(glFogCoordPointerEXT, 684) - GL_STUB(glFogCoorddEXT, 685) - GL_STUB(glFogCoorddvEXT, 686) - GL_STUB(glFogCoordfEXT, 687) - GL_STUB(glFogCoordfvEXT, 688) - GL_STUB(gl_dispatch_stub_689, 689) - HIDDEN(gl_dispatch_stub_689) - GL_STUB(glBlendFuncSeparateEXT, 690) - GL_STUB(glFlushVertexArrayRangeNV, 691) - GL_STUB(glVertexArrayRangeNV, 692) - GL_STUB(glCombinerInputNV, 693) - GL_STUB(glCombinerOutputNV, 694) - GL_STUB(glCombinerParameterfNV, 695) - GL_STUB(glCombinerParameterfvNV, 696) - GL_STUB(glCombinerParameteriNV, 697) - GL_STUB(glCombinerParameterivNV, 698) - GL_STUB(glFinalCombinerInputNV, 699) - GL_STUB(glGetCombinerInputParameterfvNV, 700) - GL_STUB(glGetCombinerInputParameterivNV, 701) - GL_STUB(glGetCombinerOutputParameterfvNV, 702) - GL_STUB(glGetCombinerOutputParameterivNV, 703) - GL_STUB(glGetFinalCombinerInputParameterfvNV, 704) - GL_STUB(glGetFinalCombinerInputParameterivNV, 705) - GL_STUB(glResizeBuffersMESA, 706) - GL_STUB(glWindowPos2dMESA, 707) - GL_STUB(glWindowPos2dvMESA, 708) - GL_STUB(glWindowPos2fMESA, 709) - GL_STUB(glWindowPos2fvMESA, 710) - GL_STUB(glWindowPos2iMESA, 711) - GL_STUB(glWindowPos2ivMESA, 712) - GL_STUB(glWindowPos2sMESA, 713) - GL_STUB(glWindowPos2svMESA, 714) - GL_STUB(glWindowPos3dMESA, 715) - GL_STUB(glWindowPos3dvMESA, 716) - GL_STUB(glWindowPos3fMESA, 717) - GL_STUB(glWindowPos3fvMESA, 718) - GL_STUB(glWindowPos3iMESA, 719) - GL_STUB(glWindowPos3ivMESA, 720) - GL_STUB(glWindowPos3sMESA, 721) - GL_STUB(glWindowPos3svMESA, 722) - GL_STUB(glWindowPos4dMESA, 723) - GL_STUB(glWindowPos4dvMESA, 724) - GL_STUB(glWindowPos4fMESA, 725) - GL_STUB(glWindowPos4fvMESA, 726) - GL_STUB(glWindowPos4iMESA, 727) - GL_STUB(glWindowPos4ivMESA, 728) - GL_STUB(glWindowPos4sMESA, 729) - GL_STUB(glWindowPos4svMESA, 730) - GL_STUB(gl_dispatch_stub_731, 731) - HIDDEN(gl_dispatch_stub_731) + GL_STUB(gl_dispatch_stub_655, 655) + HIDDEN(gl_dispatch_stub_655) + GL_STUB(glColorPointerEXT, 656) + GL_STUB(glEdgeFlagPointerEXT, 657) + GL_STUB(glIndexPointerEXT, 658) + GL_STUB(glNormalPointerEXT, 659) + GL_STUB(glTexCoordPointerEXT, 660) + GL_STUB(glVertexPointerEXT, 661) + GL_STUB(glPointParameterfEXT, 662) + GL_STUB(glPointParameterfvEXT, 663) + GL_STUB(glLockArraysEXT, 664) + GL_STUB(glUnlockArraysEXT, 665) + GL_STUB(glSecondaryColor3bEXT, 666) + GL_STUB(glSecondaryColor3bvEXT, 667) + GL_STUB(glSecondaryColor3dEXT, 668) + GL_STUB(glSecondaryColor3dvEXT, 669) + GL_STUB(glSecondaryColor3fEXT, 670) + GL_STUB(glSecondaryColor3fvEXT, 671) + GL_STUB(glSecondaryColor3iEXT, 672) + GL_STUB(glSecondaryColor3ivEXT, 673) + GL_STUB(glSecondaryColor3sEXT, 674) + GL_STUB(glSecondaryColor3svEXT, 675) + GL_STUB(glSecondaryColor3ubEXT, 676) + GL_STUB(glSecondaryColor3ubvEXT, 677) + GL_STUB(glSecondaryColor3uiEXT, 678) + GL_STUB(glSecondaryColor3uivEXT, 679) + GL_STUB(glSecondaryColor3usEXT, 680) + GL_STUB(glSecondaryColor3usvEXT, 681) + GL_STUB(glSecondaryColorPointerEXT, 682) + GL_STUB(glMultiDrawArraysEXT, 683) + GL_STUB(glMultiDrawElementsEXT, 684) + GL_STUB(glFogCoordPointerEXT, 685) + GL_STUB(glFogCoorddEXT, 686) + GL_STUB(glFogCoorddvEXT, 687) + GL_STUB(glFogCoordfEXT, 688) + GL_STUB(glFogCoordfvEXT, 689) + GL_STUB(gl_dispatch_stub_690, 690) + HIDDEN(gl_dispatch_stub_690) + GL_STUB(glBlendFuncSeparateEXT, 691) + GL_STUB(glFlushVertexArrayRangeNV, 692) + GL_STUB(glVertexArrayRangeNV, 693) + GL_STUB(glCombinerInputNV, 694) + GL_STUB(glCombinerOutputNV, 695) + GL_STUB(glCombinerParameterfNV, 696) + GL_STUB(glCombinerParameterfvNV, 697) + GL_STUB(glCombinerParameteriNV, 698) + GL_STUB(glCombinerParameterivNV, 699) + GL_STUB(glFinalCombinerInputNV, 700) + GL_STUB(glGetCombinerInputParameterfvNV, 701) + GL_STUB(glGetCombinerInputParameterivNV, 702) + GL_STUB(glGetCombinerOutputParameterfvNV, 703) + GL_STUB(glGetCombinerOutputParameterivNV, 704) + GL_STUB(glGetFinalCombinerInputParameterfvNV, 705) + GL_STUB(glGetFinalCombinerInputParameterivNV, 706) + GL_STUB(glResizeBuffersMESA, 707) + GL_STUB(glWindowPos2dMESA, 708) + GL_STUB(glWindowPos2dvMESA, 709) + GL_STUB(glWindowPos2fMESA, 710) + GL_STUB(glWindowPos2fvMESA, 711) + GL_STUB(glWindowPos2iMESA, 712) + GL_STUB(glWindowPos2ivMESA, 713) + GL_STUB(glWindowPos2sMESA, 714) + GL_STUB(glWindowPos2svMESA, 715) + GL_STUB(glWindowPos3dMESA, 716) + GL_STUB(glWindowPos3dvMESA, 717) + GL_STUB(glWindowPos3fMESA, 718) + GL_STUB(glWindowPos3fvMESA, 719) + GL_STUB(glWindowPos3iMESA, 720) + GL_STUB(glWindowPos3ivMESA, 721) + GL_STUB(glWindowPos3sMESA, 722) + GL_STUB(glWindowPos3svMESA, 723) + GL_STUB(glWindowPos4dMESA, 724) + GL_STUB(glWindowPos4dvMESA, 725) + GL_STUB(glWindowPos4fMESA, 726) + GL_STUB(glWindowPos4fvMESA, 727) + GL_STUB(glWindowPos4iMESA, 728) + GL_STUB(glWindowPos4ivMESA, 729) + GL_STUB(glWindowPos4sMESA, 730) + GL_STUB(glWindowPos4svMESA, 731) GL_STUB(gl_dispatch_stub_732, 732) HIDDEN(gl_dispatch_stub_732) GL_STUB(gl_dispatch_stub_733, 733) @@ -953,88 +952,88 @@ gl_dispatch_functions_start: HIDDEN(gl_dispatch_stub_738) GL_STUB(gl_dispatch_stub_739, 739) HIDDEN(gl_dispatch_stub_739) - GL_STUB(glAreProgramsResidentNV, 740) - GL_STUB(glBindProgramNV, 741) - GL_STUB(glDeleteProgramsNV, 742) - GL_STUB(glExecuteProgramNV, 743) - GL_STUB(glGenProgramsNV, 744) - GL_STUB(glGetProgramParameterdvNV, 745) - GL_STUB(glGetProgramParameterfvNV, 746) - GL_STUB(glGetProgramStringNV, 747) - GL_STUB(glGetProgramivNV, 748) - GL_STUB(glGetTrackMatrixivNV, 749) - GL_STUB(glGetVertexAttribPointervNV, 750) - GL_STUB(glGetVertexAttribdvNV, 751) - GL_STUB(glGetVertexAttribfvNV, 752) - GL_STUB(glGetVertexAttribivNV, 753) - GL_STUB(glIsProgramNV, 754) - GL_STUB(glLoadProgramNV, 755) - GL_STUB(glProgramParameters4dvNV, 756) - GL_STUB(glProgramParameters4fvNV, 757) - GL_STUB(glRequestResidentProgramsNV, 758) - GL_STUB(glTrackMatrixNV, 759) - GL_STUB(glVertexAttrib1dNV, 760) - GL_STUB(glVertexAttrib1dvNV, 761) - GL_STUB(glVertexAttrib1fNV, 762) - GL_STUB(glVertexAttrib1fvNV, 763) - GL_STUB(glVertexAttrib1sNV, 764) - GL_STUB(glVertexAttrib1svNV, 765) - GL_STUB(glVertexAttrib2dNV, 766) - GL_STUB(glVertexAttrib2dvNV, 767) - GL_STUB(glVertexAttrib2fNV, 768) - GL_STUB(glVertexAttrib2fvNV, 769) - GL_STUB(glVertexAttrib2sNV, 770) - GL_STUB(glVertexAttrib2svNV, 771) - GL_STUB(glVertexAttrib3dNV, 772) - GL_STUB(glVertexAttrib3dvNV, 773) - GL_STUB(glVertexAttrib3fNV, 774) - GL_STUB(glVertexAttrib3fvNV, 775) - GL_STUB(glVertexAttrib3sNV, 776) - GL_STUB(glVertexAttrib3svNV, 777) - GL_STUB(glVertexAttrib4dNV, 778) - GL_STUB(glVertexAttrib4dvNV, 779) - GL_STUB(glVertexAttrib4fNV, 780) - GL_STUB(glVertexAttrib4fvNV, 781) - GL_STUB(glVertexAttrib4sNV, 782) - GL_STUB(glVertexAttrib4svNV, 783) - GL_STUB(glVertexAttrib4ubNV, 784) - GL_STUB(glVertexAttrib4ubvNV, 785) - GL_STUB(glVertexAttribPointerNV, 786) - GL_STUB(glVertexAttribs1dvNV, 787) - GL_STUB(glVertexAttribs1fvNV, 788) - GL_STUB(glVertexAttribs1svNV, 789) - GL_STUB(glVertexAttribs2dvNV, 790) - GL_STUB(glVertexAttribs2fvNV, 791) - GL_STUB(glVertexAttribs2svNV, 792) - GL_STUB(glVertexAttribs3dvNV, 793) - GL_STUB(glVertexAttribs3fvNV, 794) - GL_STUB(glVertexAttribs3svNV, 795) - GL_STUB(glVertexAttribs4dvNV, 796) - GL_STUB(glVertexAttribs4fvNV, 797) - GL_STUB(glVertexAttribs4svNV, 798) - GL_STUB(glVertexAttribs4ubvNV, 799) - GL_STUB(glGetTexBumpParameterfvATI, 800) - GL_STUB(glGetTexBumpParameterivATI, 801) - GL_STUB(glTexBumpParameterfvATI, 802) - GL_STUB(glTexBumpParameterivATI, 803) - GL_STUB(glAlphaFragmentOp1ATI, 804) - GL_STUB(glAlphaFragmentOp2ATI, 805) - GL_STUB(glAlphaFragmentOp3ATI, 806) - GL_STUB(glBeginFragmentShaderATI, 807) - GL_STUB(glBindFragmentShaderATI, 808) - GL_STUB(glColorFragmentOp1ATI, 809) - GL_STUB(glColorFragmentOp2ATI, 810) - GL_STUB(glColorFragmentOp3ATI, 811) - GL_STUB(glDeleteFragmentShaderATI, 812) - GL_STUB(glEndFragmentShaderATI, 813) - GL_STUB(glGenFragmentShadersATI, 814) - GL_STUB(glPassTexCoordATI, 815) - GL_STUB(glSampleMapATI, 816) - GL_STUB(glSetFragmentShaderConstantATI, 817) - GL_STUB(glPointParameteriNV, 818) - GL_STUB(glPointParameterivNV, 819) - GL_STUB(gl_dispatch_stub_820, 820) - HIDDEN(gl_dispatch_stub_820) + GL_STUB(gl_dispatch_stub_740, 740) + HIDDEN(gl_dispatch_stub_740) + GL_STUB(glAreProgramsResidentNV, 741) + GL_STUB(glBindProgramNV, 742) + GL_STUB(glDeleteProgramsNV, 743) + GL_STUB(glExecuteProgramNV, 744) + GL_STUB(glGenProgramsNV, 745) + GL_STUB(glGetProgramParameterdvNV, 746) + GL_STUB(glGetProgramParameterfvNV, 747) + GL_STUB(glGetProgramStringNV, 748) + GL_STUB(glGetProgramivNV, 749) + GL_STUB(glGetTrackMatrixivNV, 750) + GL_STUB(glGetVertexAttribPointervNV, 751) + GL_STUB(glGetVertexAttribdvNV, 752) + GL_STUB(glGetVertexAttribfvNV, 753) + GL_STUB(glGetVertexAttribivNV, 754) + GL_STUB(glIsProgramNV, 755) + GL_STUB(glLoadProgramNV, 756) + GL_STUB(glProgramParameters4dvNV, 757) + GL_STUB(glProgramParameters4fvNV, 758) + GL_STUB(glRequestResidentProgramsNV, 759) + GL_STUB(glTrackMatrixNV, 760) + GL_STUB(glVertexAttrib1dNV, 761) + GL_STUB(glVertexAttrib1dvNV, 762) + GL_STUB(glVertexAttrib1fNV, 763) + GL_STUB(glVertexAttrib1fvNV, 764) + GL_STUB(glVertexAttrib1sNV, 765) + GL_STUB(glVertexAttrib1svNV, 766) + GL_STUB(glVertexAttrib2dNV, 767) + GL_STUB(glVertexAttrib2dvNV, 768) + GL_STUB(glVertexAttrib2fNV, 769) + GL_STUB(glVertexAttrib2fvNV, 770) + GL_STUB(glVertexAttrib2sNV, 771) + GL_STUB(glVertexAttrib2svNV, 772) + GL_STUB(glVertexAttrib3dNV, 773) + GL_STUB(glVertexAttrib3dvNV, 774) + GL_STUB(glVertexAttrib3fNV, 775) + GL_STUB(glVertexAttrib3fvNV, 776) + GL_STUB(glVertexAttrib3sNV, 777) + GL_STUB(glVertexAttrib3svNV, 778) + GL_STUB(glVertexAttrib4dNV, 779) + GL_STUB(glVertexAttrib4dvNV, 780) + GL_STUB(glVertexAttrib4fNV, 781) + GL_STUB(glVertexAttrib4fvNV, 782) + GL_STUB(glVertexAttrib4sNV, 783) + GL_STUB(glVertexAttrib4svNV, 784) + GL_STUB(glVertexAttrib4ubNV, 785) + GL_STUB(glVertexAttrib4ubvNV, 786) + GL_STUB(glVertexAttribPointerNV, 787) + GL_STUB(glVertexAttribs1dvNV, 788) + GL_STUB(glVertexAttribs1fvNV, 789) + GL_STUB(glVertexAttribs1svNV, 790) + GL_STUB(glVertexAttribs2dvNV, 791) + GL_STUB(glVertexAttribs2fvNV, 792) + GL_STUB(glVertexAttribs2svNV, 793) + GL_STUB(glVertexAttribs3dvNV, 794) + GL_STUB(glVertexAttribs3fvNV, 795) + GL_STUB(glVertexAttribs3svNV, 796) + GL_STUB(glVertexAttribs4dvNV, 797) + GL_STUB(glVertexAttribs4fvNV, 798) + GL_STUB(glVertexAttribs4svNV, 799) + GL_STUB(glVertexAttribs4ubvNV, 800) + GL_STUB(glGetTexBumpParameterfvATI, 801) + GL_STUB(glGetTexBumpParameterivATI, 802) + GL_STUB(glTexBumpParameterfvATI, 803) + GL_STUB(glTexBumpParameterivATI, 804) + GL_STUB(glAlphaFragmentOp1ATI, 805) + GL_STUB(glAlphaFragmentOp2ATI, 806) + GL_STUB(glAlphaFragmentOp3ATI, 807) + GL_STUB(glBeginFragmentShaderATI, 808) + GL_STUB(glBindFragmentShaderATI, 809) + GL_STUB(glColorFragmentOp1ATI, 810) + GL_STUB(glColorFragmentOp2ATI, 811) + GL_STUB(glColorFragmentOp3ATI, 812) + GL_STUB(glDeleteFragmentShaderATI, 813) + GL_STUB(glEndFragmentShaderATI, 814) + GL_STUB(glGenFragmentShadersATI, 815) + GL_STUB(glPassTexCoordATI, 816) + GL_STUB(glSampleMapATI, 817) + GL_STUB(glSetFragmentShaderConstantATI, 818) + GL_STUB(glPointParameteriNV, 819) + GL_STUB(glPointParameterivNV, 820) GL_STUB(gl_dispatch_stub_821, 821) HIDDEN(gl_dispatch_stub_821) GL_STUB(gl_dispatch_stub_822, 822) @@ -1043,111 +1042,111 @@ gl_dispatch_functions_start: HIDDEN(gl_dispatch_stub_823) GL_STUB(gl_dispatch_stub_824, 824) HIDDEN(gl_dispatch_stub_824) - GL_STUB(glGetProgramNamedParameterdvNV, 825) - GL_STUB(glGetProgramNamedParameterfvNV, 826) - GL_STUB(glProgramNamedParameter4dNV, 827) - GL_STUB(glProgramNamedParameter4dvNV, 828) - GL_STUB(glProgramNamedParameter4fNV, 829) - GL_STUB(glProgramNamedParameter4fvNV, 830) - GL_STUB(glPrimitiveRestartIndexNV, 831) - GL_STUB(glPrimitiveRestartNV, 832) - GL_STUB(gl_dispatch_stub_833, 833) - HIDDEN(gl_dispatch_stub_833) + GL_STUB(gl_dispatch_stub_825, 825) + HIDDEN(gl_dispatch_stub_825) + GL_STUB(glGetProgramNamedParameterdvNV, 826) + GL_STUB(glGetProgramNamedParameterfvNV, 827) + GL_STUB(glProgramNamedParameter4dNV, 828) + GL_STUB(glProgramNamedParameter4dvNV, 829) + GL_STUB(glProgramNamedParameter4fNV, 830) + GL_STUB(glProgramNamedParameter4fvNV, 831) + GL_STUB(glPrimitiveRestartIndexNV, 832) + GL_STUB(glPrimitiveRestartNV, 833) GL_STUB(gl_dispatch_stub_834, 834) HIDDEN(gl_dispatch_stub_834) - GL_STUB(glBindFramebufferEXT, 835) - GL_STUB(glBindRenderbufferEXT, 836) - GL_STUB(glCheckFramebufferStatusEXT, 837) - GL_STUB(glDeleteFramebuffersEXT, 838) - GL_STUB(glDeleteRenderbuffersEXT, 839) - GL_STUB(glFramebufferRenderbufferEXT, 840) - GL_STUB(glFramebufferTexture1DEXT, 841) - GL_STUB(glFramebufferTexture2DEXT, 842) - GL_STUB(glFramebufferTexture3DEXT, 843) - GL_STUB(glGenFramebuffersEXT, 844) - GL_STUB(glGenRenderbuffersEXT, 845) - GL_STUB(glGenerateMipmapEXT, 846) - GL_STUB(glGetFramebufferAttachmentParameterivEXT, 847) - GL_STUB(glGetRenderbufferParameterivEXT, 848) - GL_STUB(glIsFramebufferEXT, 849) - GL_STUB(glIsRenderbufferEXT, 850) - GL_STUB(glRenderbufferStorageEXT, 851) - GL_STUB(gl_dispatch_stub_852, 852) - HIDDEN(gl_dispatch_stub_852) + GL_STUB(gl_dispatch_stub_835, 835) + HIDDEN(gl_dispatch_stub_835) + GL_STUB(glBindFramebufferEXT, 836) + GL_STUB(glBindRenderbufferEXT, 837) + GL_STUB(glCheckFramebufferStatusEXT, 838) + GL_STUB(glDeleteFramebuffersEXT, 839) + GL_STUB(glDeleteRenderbuffersEXT, 840) + GL_STUB(glFramebufferRenderbufferEXT, 841) + GL_STUB(glFramebufferTexture1DEXT, 842) + GL_STUB(glFramebufferTexture2DEXT, 843) + GL_STUB(glFramebufferTexture3DEXT, 844) + GL_STUB(glGenFramebuffersEXT, 845) + GL_STUB(glGenRenderbuffersEXT, 846) + GL_STUB(glGenerateMipmapEXT, 847) + GL_STUB(glGetFramebufferAttachmentParameterivEXT, 848) + GL_STUB(glGetRenderbufferParameterivEXT, 849) + GL_STUB(glIsFramebufferEXT, 850) + GL_STUB(glIsRenderbufferEXT, 851) + GL_STUB(glRenderbufferStorageEXT, 852) GL_STUB(gl_dispatch_stub_853, 853) HIDDEN(gl_dispatch_stub_853) GL_STUB(gl_dispatch_stub_854, 854) HIDDEN(gl_dispatch_stub_854) - GL_STUB(glBindFragDataLocationEXT, 855) - GL_STUB(glGetFragDataLocationEXT, 856) - GL_STUB(glGetUniformuivEXT, 857) - GL_STUB(glGetVertexAttribIivEXT, 858) - GL_STUB(glGetVertexAttribIuivEXT, 859) - GL_STUB(glUniform1uiEXT, 860) - GL_STUB(glUniform1uivEXT, 861) - GL_STUB(glUniform2uiEXT, 862) - GL_STUB(glUniform2uivEXT, 863) - GL_STUB(glUniform3uiEXT, 864) - GL_STUB(glUniform3uivEXT, 865) - GL_STUB(glUniform4uiEXT, 866) - GL_STUB(glUniform4uivEXT, 867) - GL_STUB(glVertexAttribI1iEXT, 868) - GL_STUB(glVertexAttribI1ivEXT, 869) - GL_STUB(glVertexAttribI1uiEXT, 870) - GL_STUB(glVertexAttribI1uivEXT, 871) - GL_STUB(glVertexAttribI2iEXT, 872) - GL_STUB(glVertexAttribI2ivEXT, 873) - GL_STUB(glVertexAttribI2uiEXT, 874) - GL_STUB(glVertexAttribI2uivEXT, 875) - GL_STUB(glVertexAttribI3iEXT, 876) - GL_STUB(glVertexAttribI3ivEXT, 877) - GL_STUB(glVertexAttribI3uiEXT, 878) - GL_STUB(glVertexAttribI3uivEXT, 879) - GL_STUB(glVertexAttribI4bvEXT, 880) - GL_STUB(glVertexAttribI4iEXT, 881) - GL_STUB(glVertexAttribI4ivEXT, 882) - GL_STUB(glVertexAttribI4svEXT, 883) - GL_STUB(glVertexAttribI4ubvEXT, 884) - GL_STUB(glVertexAttribI4uiEXT, 885) - GL_STUB(glVertexAttribI4uivEXT, 886) - GL_STUB(glVertexAttribI4usvEXT, 887) - GL_STUB(glVertexAttribIPointerEXT, 888) - GL_STUB(glFramebufferTextureLayerEXT, 889) - GL_STUB(glColorMaskIndexedEXT, 890) - GL_STUB(glDisableIndexedEXT, 891) - GL_STUB(glEnableIndexedEXT, 892) - GL_STUB(glGetBooleanIndexedvEXT, 893) - GL_STUB(glGetIntegerIndexedvEXT, 894) - GL_STUB(glIsEnabledIndexedEXT, 895) - GL_STUB(glClearColorIiEXT, 896) - GL_STUB(glClearColorIuiEXT, 897) - GL_STUB(glGetTexParameterIivEXT, 898) - GL_STUB(glGetTexParameterIuivEXT, 899) - GL_STUB(glTexParameterIivEXT, 900) - GL_STUB(glTexParameterIuivEXT, 901) - GL_STUB(glBeginConditionalRenderNV, 902) - GL_STUB(glEndConditionalRenderNV, 903) - GL_STUB(glBeginTransformFeedbackEXT, 904) - GL_STUB(glBindBufferBaseEXT, 905) - GL_STUB(glBindBufferOffsetEXT, 906) - GL_STUB(glBindBufferRangeEXT, 907) - GL_STUB(glEndTransformFeedbackEXT, 908) - GL_STUB(glGetTransformFeedbackVaryingEXT, 909) - GL_STUB(glTransformFeedbackVaryingsEXT, 910) - GL_STUB(glProvokingVertexEXT, 911) - GL_STUB(gl_dispatch_stub_912, 912) - HIDDEN(gl_dispatch_stub_912) + GL_STUB(gl_dispatch_stub_855, 855) + HIDDEN(gl_dispatch_stub_855) + GL_STUB(glBindFragDataLocationEXT, 856) + GL_STUB(glGetFragDataLocationEXT, 857) + GL_STUB(glGetUniformuivEXT, 858) + GL_STUB(glGetVertexAttribIivEXT, 859) + GL_STUB(glGetVertexAttribIuivEXT, 860) + GL_STUB(glUniform1uiEXT, 861) + GL_STUB(glUniform1uivEXT, 862) + GL_STUB(glUniform2uiEXT, 863) + GL_STUB(glUniform2uivEXT, 864) + GL_STUB(glUniform3uiEXT, 865) + GL_STUB(glUniform3uivEXT, 866) + GL_STUB(glUniform4uiEXT, 867) + GL_STUB(glUniform4uivEXT, 868) + GL_STUB(glVertexAttribI1iEXT, 869) + GL_STUB(glVertexAttribI1ivEXT, 870) + GL_STUB(glVertexAttribI1uiEXT, 871) + GL_STUB(glVertexAttribI1uivEXT, 872) + GL_STUB(glVertexAttribI2iEXT, 873) + GL_STUB(glVertexAttribI2ivEXT, 874) + GL_STUB(glVertexAttribI2uiEXT, 875) + GL_STUB(glVertexAttribI2uivEXT, 876) + GL_STUB(glVertexAttribI3iEXT, 877) + GL_STUB(glVertexAttribI3ivEXT, 878) + GL_STUB(glVertexAttribI3uiEXT, 879) + GL_STUB(glVertexAttribI3uivEXT, 880) + GL_STUB(glVertexAttribI4bvEXT, 881) + GL_STUB(glVertexAttribI4iEXT, 882) + GL_STUB(glVertexAttribI4ivEXT, 883) + GL_STUB(glVertexAttribI4svEXT, 884) + GL_STUB(glVertexAttribI4ubvEXT, 885) + GL_STUB(glVertexAttribI4uiEXT, 886) + GL_STUB(glVertexAttribI4uivEXT, 887) + GL_STUB(glVertexAttribI4usvEXT, 888) + GL_STUB(glVertexAttribIPointerEXT, 889) + GL_STUB(glFramebufferTextureLayerEXT, 890) + GL_STUB(glColorMaskIndexedEXT, 891) + GL_STUB(glDisableIndexedEXT, 892) + GL_STUB(glEnableIndexedEXT, 893) + GL_STUB(glGetBooleanIndexedvEXT, 894) + GL_STUB(glGetIntegerIndexedvEXT, 895) + GL_STUB(glIsEnabledIndexedEXT, 896) + GL_STUB(glClearColorIiEXT, 897) + GL_STUB(glClearColorIuiEXT, 898) + GL_STUB(glGetTexParameterIivEXT, 899) + GL_STUB(glGetTexParameterIuivEXT, 900) + GL_STUB(glTexParameterIivEXT, 901) + GL_STUB(glTexParameterIuivEXT, 902) + GL_STUB(glBeginConditionalRenderNV, 903) + GL_STUB(glEndConditionalRenderNV, 904) + GL_STUB(glBeginTransformFeedbackEXT, 905) + GL_STUB(glBindBufferBaseEXT, 906) + GL_STUB(glBindBufferOffsetEXT, 907) + GL_STUB(glBindBufferRangeEXT, 908) + GL_STUB(glEndTransformFeedbackEXT, 909) + GL_STUB(glGetTransformFeedbackVaryingEXT, 910) + GL_STUB(glTransformFeedbackVaryingsEXT, 911) + GL_STUB(glProvokingVertexEXT, 912) GL_STUB(gl_dispatch_stub_913, 913) HIDDEN(gl_dispatch_stub_913) - GL_STUB(glGetObjectParameterivAPPLE, 914) - GL_STUB(glObjectPurgeableAPPLE, 915) - GL_STUB(glObjectUnpurgeableAPPLE, 916) - GL_STUB(glActiveProgramEXT, 917) - GL_STUB(glCreateShaderProgramEXT, 918) - GL_STUB(glUseShaderProgramEXT, 919) - GL_STUB(glTextureBarrierNV, 920) - GL_STUB(gl_dispatch_stub_921, 921) - HIDDEN(gl_dispatch_stub_921) + GL_STUB(gl_dispatch_stub_914, 914) + HIDDEN(gl_dispatch_stub_914) + GL_STUB(glGetObjectParameterivAPPLE, 915) + GL_STUB(glObjectPurgeableAPPLE, 916) + GL_STUB(glObjectUnpurgeableAPPLE, 917) + GL_STUB(glActiveProgramEXT, 918) + GL_STUB(glCreateShaderProgramEXT, 919) + GL_STUB(glUseShaderProgramEXT, 920) + GL_STUB(glTextureBarrierNV, 921) GL_STUB(gl_dispatch_stub_922, 922) HIDDEN(gl_dispatch_stub_922) GL_STUB(gl_dispatch_stub_923, 923) @@ -1156,8 +1155,10 @@ gl_dispatch_functions_start: HIDDEN(gl_dispatch_stub_924) GL_STUB(gl_dispatch_stub_925, 925) HIDDEN(gl_dispatch_stub_925) - GL_STUB(glEGLImageTargetRenderbufferStorageOES, 926) - GL_STUB(glEGLImageTargetTexture2DOES, 927) + GL_STUB(gl_dispatch_stub_926, 926) + HIDDEN(gl_dispatch_stub_926) + GL_STUB(glEGLImageTargetRenderbufferStorageOES, 927) + GL_STUB(glEGLImageTargetTexture2DOES, 928) GL_STUB_ALIAS(glArrayElementEXT, glArrayElement) GL_STUB_ALIAS(glBindTextureEXT, glBindTexture) GL_STUB_ALIAS(glDrawArraysEXT, glDrawArrays) diff --git a/src/mapi/glapi/glapi_x86-64.S b/src/mapi/glapi/glapi_x86-64.S index ec7a2c5cca6..ce54755c544 100644 --- a/src/mapi/glapi/glapi_x86-64.S +++ b/src/mapi/glapi/glapi_x86-64.S @@ -22398,9 +22398,9 @@ GL_PREFIX(DrawElementsBaseVertex): .size GL_PREFIX(DrawElementsBaseVertex), .-GL_PREFIX(DrawElementsBaseVertex) .p2align 4,,15 - .globl GL_PREFIX(DrawRangeElementsBaseVertex) - .type GL_PREFIX(DrawRangeElementsBaseVertex), @function -GL_PREFIX(DrawRangeElementsBaseVertex): + .globl GL_PREFIX(DrawElementsInstancedBaseVertex) + .type GL_PREFIX(DrawElementsInstancedBaseVertex), @function +GL_PREFIX(DrawElementsInstancedBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4752(%rax), %r11 @@ -22448,12 +22448,12 @@ GL_PREFIX(DrawRangeElementsBaseVertex): movq 4752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(DrawRangeElementsBaseVertex), .-GL_PREFIX(DrawRangeElementsBaseVertex) + .size GL_PREFIX(DrawElementsInstancedBaseVertex), .-GL_PREFIX(DrawElementsInstancedBaseVertex) .p2align 4,,15 - .globl GL_PREFIX(MultiDrawElementsBaseVertex) - .type GL_PREFIX(MultiDrawElementsBaseVertex), @function -GL_PREFIX(MultiDrawElementsBaseVertex): + .globl GL_PREFIX(DrawRangeElementsBaseVertex) + .type GL_PREFIX(DrawRangeElementsBaseVertex), @function +GL_PREFIX(DrawRangeElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4760(%rax), %r11 @@ -22501,12 +22501,12 @@ GL_PREFIX(MultiDrawElementsBaseVertex): movq 4760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(MultiDrawElementsBaseVertex), .-GL_PREFIX(MultiDrawElementsBaseVertex) + .size GL_PREFIX(DrawRangeElementsBaseVertex), .-GL_PREFIX(DrawRangeElementsBaseVertex) .p2align 4,,15 - .globl GL_PREFIX(BlendEquationSeparateiARB) - .type GL_PREFIX(BlendEquationSeparateiARB), @function -GL_PREFIX(BlendEquationSeparateiARB): + .globl GL_PREFIX(MultiDrawElementsBaseVertex) + .type GL_PREFIX(MultiDrawElementsBaseVertex), @function +GL_PREFIX(MultiDrawElementsBaseVertex): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 4768(%rax), %r11 @@ -22515,7 +22515,15 @@ GL_PREFIX(BlendEquationSeparateiARB): 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 @@ -22531,12 +22539,57 @@ GL_PREFIX(BlendEquationSeparateiARB): 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 4768(%rax), %r11 jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(MultiDrawElementsBaseVertex), .-GL_PREFIX(MultiDrawElementsBaseVertex) + + .p2align 4,,15 + .globl GL_PREFIX(BlendEquationSeparateiARB) + .type GL_PREFIX(BlendEquationSeparateiARB), @function +GL_PREFIX(BlendEquationSeparateiARB): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 4776(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi + popq %rdi + movq 4776(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 4776(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 4776(%rax), %r11 + jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendEquationSeparateiARB), .-GL_PREFIX(BlendEquationSeparateiARB) @@ -22546,7 +22599,7 @@ GL_PREFIX(BlendEquationSeparateiARB): GL_PREFIX(BlendEquationiARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4776(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22556,13 +22609,13 @@ GL_PREFIX(BlendEquationiARB): popq %rbp popq %rsi popq %rdi - movq 4776(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4776(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22572,7 +22625,7 @@ GL_PREFIX(BlendEquationiARB): popq %rbp popq %rsi popq %rdi - movq 4776(%rax), %r11 + movq 4784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendEquationiARB), .-GL_PREFIX(BlendEquationiARB) @@ -22583,7 +22636,7 @@ GL_PREFIX(BlendEquationiARB): GL_PREFIX(BlendFuncSeparateiARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4784(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22597,13 +22650,13 @@ GL_PREFIX(BlendFuncSeparateiARB): popq %rdx popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4784(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22617,7 +22670,7 @@ GL_PREFIX(BlendFuncSeparateiARB): popq %rdx popq %rsi popq %rdi - movq 4784(%rax), %r11 + movq 4792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateiARB), .-GL_PREFIX(BlendFuncSeparateiARB) @@ -22628,7 +22681,7 @@ GL_PREFIX(BlendFuncSeparateiARB): GL_PREFIX(BlendFunciARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4792(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22638,13 +22691,13 @@ GL_PREFIX(BlendFunciARB): popq %rdx popq %rsi popq %rdi - movq 4792(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4792(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22654,7 +22707,7 @@ GL_PREFIX(BlendFunciARB): popq %rdx popq %rsi popq %rdi - movq 4792(%rax), %r11 + movq 4800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFunciARB), .-GL_PREFIX(BlendFunciARB) @@ -22665,7 +22718,7 @@ GL_PREFIX(BlendFunciARB): GL_PREFIX(BindSampler): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4800(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22675,13 +22728,13 @@ GL_PREFIX(BindSampler): popq %rbp popq %rsi popq %rdi - movq 4800(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4800(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22691,7 +22744,7 @@ GL_PREFIX(BindSampler): popq %rbp popq %rsi popq %rdi - movq 4800(%rax), %r11 + movq 4808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindSampler), .-GL_PREFIX(BindSampler) @@ -22702,7 +22755,7 @@ GL_PREFIX(BindSampler): GL_PREFIX(DeleteSamplers): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4808(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22712,13 +22765,13 @@ GL_PREFIX(DeleteSamplers): popq %rbp popq %rsi popq %rdi - movq 4808(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4808(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22728,7 +22781,7 @@ GL_PREFIX(DeleteSamplers): popq %rbp popq %rsi popq %rdi - movq 4808(%rax), %r11 + movq 4816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteSamplers), .-GL_PREFIX(DeleteSamplers) @@ -22739,7 +22792,7 @@ GL_PREFIX(DeleteSamplers): GL_PREFIX(GenSamplers): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4816(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22749,13 +22802,13 @@ GL_PREFIX(GenSamplers): popq %rbp popq %rsi popq %rdi - movq 4816(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4816(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22765,7 +22818,7 @@ GL_PREFIX(GenSamplers): popq %rbp popq %rsi popq %rdi - movq 4816(%rax), %r11 + movq 4824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenSamplers), .-GL_PREFIX(GenSamplers) @@ -22776,7 +22829,7 @@ GL_PREFIX(GenSamplers): GL_PREFIX(GetSamplerParameterIiv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4824(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22786,13 +22839,13 @@ GL_PREFIX(GetSamplerParameterIiv): popq %rdx popq %rsi popq %rdi - movq 4824(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4824(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22802,7 +22855,7 @@ GL_PREFIX(GetSamplerParameterIiv): popq %rdx popq %rsi popq %rdi - movq 4824(%rax), %r11 + movq 4832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetSamplerParameterIiv), .-GL_PREFIX(GetSamplerParameterIiv) @@ -22813,7 +22866,7 @@ GL_PREFIX(GetSamplerParameterIiv): GL_PREFIX(GetSamplerParameterIuiv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4832(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22823,13 +22876,13 @@ GL_PREFIX(GetSamplerParameterIuiv): popq %rdx popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4832(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22839,7 +22892,7 @@ GL_PREFIX(GetSamplerParameterIuiv): popq %rdx popq %rsi popq %rdi - movq 4832(%rax), %r11 + movq 4840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetSamplerParameterIuiv), .-GL_PREFIX(GetSamplerParameterIuiv) @@ -22850,7 +22903,7 @@ GL_PREFIX(GetSamplerParameterIuiv): GL_PREFIX(GetSamplerParameterfv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4840(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22860,13 +22913,13 @@ GL_PREFIX(GetSamplerParameterfv): popq %rdx popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4840(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22876,7 +22929,7 @@ GL_PREFIX(GetSamplerParameterfv): popq %rdx popq %rsi popq %rdi - movq 4840(%rax), %r11 + movq 4848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetSamplerParameterfv), .-GL_PREFIX(GetSamplerParameterfv) @@ -22887,7 +22940,7 @@ GL_PREFIX(GetSamplerParameterfv): GL_PREFIX(GetSamplerParameteriv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4848(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22897,13 +22950,13 @@ GL_PREFIX(GetSamplerParameteriv): popq %rdx popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4848(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22913,7 +22966,7 @@ GL_PREFIX(GetSamplerParameteriv): popq %rdx popq %rsi popq %rdi - movq 4848(%rax), %r11 + movq 4856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetSamplerParameteriv), .-GL_PREFIX(GetSamplerParameteriv) @@ -22924,25 +22977,25 @@ GL_PREFIX(GetSamplerParameteriv): GL_PREFIX(IsSampler): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4856(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4856(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4856(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4856(%rax), %r11 + movq 4864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsSampler), .-GL_PREFIX(IsSampler) @@ -22953,7 +23006,7 @@ GL_PREFIX(IsSampler): GL_PREFIX(SamplerParameterIiv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4864(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -22963,13 +23016,13 @@ GL_PREFIX(SamplerParameterIiv): popq %rdx popq %rsi popq %rdi - movq 4864(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4864(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -22979,7 +23032,7 @@ GL_PREFIX(SamplerParameterIiv): popq %rdx popq %rsi popq %rdi - movq 4864(%rax), %r11 + movq 4872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SamplerParameterIiv), .-GL_PREFIX(SamplerParameterIiv) @@ -22990,7 +23043,7 @@ GL_PREFIX(SamplerParameterIiv): GL_PREFIX(SamplerParameterIuiv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4872(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23000,13 +23053,13 @@ GL_PREFIX(SamplerParameterIuiv): popq %rdx popq %rsi popq %rdi - movq 4872(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4872(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23016,7 +23069,7 @@ GL_PREFIX(SamplerParameterIuiv): popq %rdx popq %rsi popq %rdi - movq 4872(%rax), %r11 + movq 4880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SamplerParameterIuiv), .-GL_PREFIX(SamplerParameterIuiv) @@ -23027,7 +23080,7 @@ GL_PREFIX(SamplerParameterIuiv): GL_PREFIX(SamplerParameterf): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4880(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -23039,13 +23092,13 @@ GL_PREFIX(SamplerParameterf): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $24, %rsp - movq 4880(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4880(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -23057,7 +23110,7 @@ GL_PREFIX(SamplerParameterf): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $24, %rsp - movq 4880(%rax), %r11 + movq 4888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SamplerParameterf), .-GL_PREFIX(SamplerParameterf) @@ -23068,7 +23121,7 @@ GL_PREFIX(SamplerParameterf): GL_PREFIX(SamplerParameterfv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4888(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23078,13 +23131,13 @@ GL_PREFIX(SamplerParameterfv): popq %rdx popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4888(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23094,7 +23147,7 @@ GL_PREFIX(SamplerParameterfv): popq %rdx popq %rsi popq %rdi - movq 4888(%rax), %r11 + movq 4896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SamplerParameterfv), .-GL_PREFIX(SamplerParameterfv) @@ -23105,7 +23158,7 @@ GL_PREFIX(SamplerParameterfv): GL_PREFIX(SamplerParameteri): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4896(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23115,13 +23168,13 @@ GL_PREFIX(SamplerParameteri): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4896(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23131,7 +23184,7 @@ GL_PREFIX(SamplerParameteri): popq %rdx popq %rsi popq %rdi - movq 4896(%rax), %r11 + movq 4904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SamplerParameteri), .-GL_PREFIX(SamplerParameteri) @@ -23142,7 +23195,7 @@ GL_PREFIX(SamplerParameteri): GL_PREFIX(SamplerParameteriv): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4904(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23152,13 +23205,13 @@ GL_PREFIX(SamplerParameteriv): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4904(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23168,7 +23221,7 @@ GL_PREFIX(SamplerParameteriv): popq %rdx popq %rsi popq %rdi - movq 4904(%rax), %r11 + movq 4912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SamplerParameteriv), .-GL_PREFIX(SamplerParameteriv) @@ -23179,7 +23232,7 @@ GL_PREFIX(SamplerParameteriv): GL_PREFIX(BindTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4912(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23189,13 +23242,13 @@ GL_PREFIX(BindTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4912(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23205,7 +23258,7 @@ GL_PREFIX(BindTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4912(%rax), %r11 + movq 4920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindTransformFeedback), .-GL_PREFIX(BindTransformFeedback) @@ -23216,7 +23269,7 @@ GL_PREFIX(BindTransformFeedback): GL_PREFIX(DeleteTransformFeedbacks): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4920(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23226,13 +23279,13 @@ GL_PREFIX(DeleteTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4920(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4920(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23242,7 +23295,7 @@ GL_PREFIX(DeleteTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4920(%rax), %r11 + movq 4928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteTransformFeedbacks), .-GL_PREFIX(DeleteTransformFeedbacks) @@ -23253,7 +23306,7 @@ GL_PREFIX(DeleteTransformFeedbacks): GL_PREFIX(DrawTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4928(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23263,13 +23316,13 @@ GL_PREFIX(DrawTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4928(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23279,7 +23332,7 @@ GL_PREFIX(DrawTransformFeedback): popq %rbp popq %rsi popq %rdi - movq 4928(%rax), %r11 + movq 4936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DrawTransformFeedback), .-GL_PREFIX(DrawTransformFeedback) @@ -23290,7 +23343,7 @@ GL_PREFIX(DrawTransformFeedback): GL_PREFIX(GenTransformFeedbacks): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4936(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23300,13 +23353,13 @@ GL_PREFIX(GenTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4936(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23316,7 +23369,7 @@ GL_PREFIX(GenTransformFeedbacks): popq %rbp popq %rsi popq %rdi - movq 4936(%rax), %r11 + movq 4944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenTransformFeedbacks), .-GL_PREFIX(GenTransformFeedbacks) @@ -23327,25 +23380,25 @@ GL_PREFIX(GenTransformFeedbacks): GL_PREFIX(IsTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4944(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4944(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4944(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4944(%rax), %r11 + movq 4952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsTransformFeedback), .-GL_PREFIX(IsTransformFeedback) @@ -23356,25 +23409,25 @@ GL_PREFIX(IsTransformFeedback): GL_PREFIX(PauseTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4952(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4952(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4952(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4952(%rax), %r11 + movq 4960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PauseTransformFeedback), .-GL_PREFIX(PauseTransformFeedback) @@ -23385,25 +23438,25 @@ GL_PREFIX(PauseTransformFeedback): GL_PREFIX(ResumeTransformFeedback): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4960(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4960(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4960(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4960(%rax), %r11 + movq 4968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResumeTransformFeedback), .-GL_PREFIX(ResumeTransformFeedback) @@ -23414,25 +23467,25 @@ GL_PREFIX(ResumeTransformFeedback): GL_PREFIX(ClearDepthf): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4968(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 4968(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4968(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 4968(%rax), %r11 + movq 4976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearDepthf), .-GL_PREFIX(ClearDepthf) @@ -23443,7 +23496,7 @@ GL_PREFIX(ClearDepthf): GL_PREFIX(DepthRangef): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4976(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23453,13 +23506,13 @@ GL_PREFIX(DepthRangef): popq %rbp popq %rsi popq %rdi - movq 4976(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4976(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23469,7 +23522,7 @@ GL_PREFIX(DepthRangef): popq %rbp popq %rsi popq %rdi - movq 4976(%rax), %r11 + movq 4984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DepthRangef), .-GL_PREFIX(DepthRangef) @@ -23480,7 +23533,7 @@ GL_PREFIX(DepthRangef): GL_PREFIX(GetShaderPrecisionFormat): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4984(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23494,13 +23547,13 @@ GL_PREFIX(GetShaderPrecisionFormat): popq %rdx popq %rsi popq %rdi - movq 4984(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4984(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23514,7 +23567,7 @@ GL_PREFIX(GetShaderPrecisionFormat): popq %rdx popq %rsi popq %rdi - movq 4984(%rax), %r11 + movq 4992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetShaderPrecisionFormat), .-GL_PREFIX(GetShaderPrecisionFormat) @@ -23525,25 +23578,25 @@ GL_PREFIX(GetShaderPrecisionFormat): GL_PREFIX(ReleaseShaderCompiler): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 4992(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 4992(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 4992(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 4992(%rax), %r11 + movq 5000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ReleaseShaderCompiler), .-GL_PREFIX(ReleaseShaderCompiler) @@ -23554,7 +23607,7 @@ GL_PREFIX(ReleaseShaderCompiler): GL_PREFIX(ShaderBinary): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5000(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23568,13 +23621,13 @@ GL_PREFIX(ShaderBinary): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5000(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23588,7 +23641,7 @@ GL_PREFIX(ShaderBinary): popq %rdx popq %rsi popq %rdi - movq 5000(%rax), %r11 + movq 5008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ShaderBinary), .-GL_PREFIX(ShaderBinary) @@ -23599,25 +23652,25 @@ GL_PREFIX(ShaderBinary): GL_PREFIX(GetGraphicsResetStatusARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5008(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5008(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5008(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5008(%rax), %r11 + movq 5016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetGraphicsResetStatusARB), .-GL_PREFIX(GetGraphicsResetStatusARB) @@ -23628,7 +23681,7 @@ GL_PREFIX(GetGraphicsResetStatusARB): GL_PREFIX(GetnColorTableARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5016(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23642,13 +23695,13 @@ GL_PREFIX(GetnColorTableARB): popq %rdx popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5016(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23662,7 +23715,7 @@ GL_PREFIX(GetnColorTableARB): popq %rdx popq %rsi popq %rdi - movq 5016(%rax), %r11 + movq 5024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnColorTableARB), .-GL_PREFIX(GetnColorTableARB) @@ -23673,7 +23726,7 @@ GL_PREFIX(GetnColorTableARB): GL_PREFIX(GetnCompressedTexImageARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5024(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23687,13 +23740,13 @@ GL_PREFIX(GetnCompressedTexImageARB): popq %rdx popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5024(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23707,7 +23760,7 @@ GL_PREFIX(GetnCompressedTexImageARB): popq %rdx popq %rsi popq %rdi - movq 5024(%rax), %r11 + movq 5032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnCompressedTexImageARB), .-GL_PREFIX(GetnCompressedTexImageARB) @@ -23718,7 +23771,7 @@ GL_PREFIX(GetnCompressedTexImageARB): GL_PREFIX(GetnConvolutionFilterARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5032(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23732,13 +23785,13 @@ GL_PREFIX(GetnConvolutionFilterARB): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5032(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23752,7 +23805,7 @@ GL_PREFIX(GetnConvolutionFilterARB): popq %rdx popq %rsi popq %rdi - movq 5032(%rax), %r11 + movq 5040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnConvolutionFilterARB), .-GL_PREFIX(GetnConvolutionFilterARB) @@ -23763,7 +23816,7 @@ GL_PREFIX(GetnConvolutionFilterARB): GL_PREFIX(GetnHistogramARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5040(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23781,13 +23834,13 @@ GL_PREFIX(GetnHistogramARB): popq %rdx popq %rsi popq %rdi - movq 5040(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5040(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23805,7 +23858,7 @@ GL_PREFIX(GetnHistogramARB): popq %rdx popq %rsi popq %rdi - movq 5040(%rax), %r11 + movq 5048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnHistogramARB), .-GL_PREFIX(GetnHistogramARB) @@ -23816,7 +23869,7 @@ GL_PREFIX(GetnHistogramARB): GL_PREFIX(GetnMapdvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5048(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23830,13 +23883,13 @@ GL_PREFIX(GetnMapdvARB): popq %rdx popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5048(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23850,7 +23903,7 @@ GL_PREFIX(GetnMapdvARB): popq %rdx popq %rsi popq %rdi - movq 5048(%rax), %r11 + movq 5056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnMapdvARB), .-GL_PREFIX(GetnMapdvARB) @@ -23861,7 +23914,7 @@ GL_PREFIX(GetnMapdvARB): GL_PREFIX(GetnMapfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5056(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23875,13 +23928,13 @@ GL_PREFIX(GetnMapfvARB): popq %rdx popq %rsi popq %rdi - movq 5056(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5056(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23895,7 +23948,7 @@ GL_PREFIX(GetnMapfvARB): popq %rdx popq %rsi popq %rdi - movq 5056(%rax), %r11 + movq 5064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnMapfvARB), .-GL_PREFIX(GetnMapfvARB) @@ -23906,7 +23959,7 @@ GL_PREFIX(GetnMapfvARB): GL_PREFIX(GetnMapivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5064(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23920,13 +23973,13 @@ GL_PREFIX(GetnMapivARB): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5064(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23940,7 +23993,7 @@ GL_PREFIX(GetnMapivARB): popq %rdx popq %rsi popq %rdi - movq 5064(%rax), %r11 + movq 5072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnMapivARB), .-GL_PREFIX(GetnMapivARB) @@ -23951,7 +24004,7 @@ GL_PREFIX(GetnMapivARB): GL_PREFIX(GetnMinmaxARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5072(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -23969,13 +24022,13 @@ GL_PREFIX(GetnMinmaxARB): popq %rdx popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5072(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -23993,7 +24046,7 @@ GL_PREFIX(GetnMinmaxARB): popq %rdx popq %rsi popq %rdi - movq 5072(%rax), %r11 + movq 5080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnMinmaxARB), .-GL_PREFIX(GetnMinmaxARB) @@ -24004,7 +24057,7 @@ GL_PREFIX(GetnMinmaxARB): GL_PREFIX(GetnPixelMapfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5080(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24014,13 +24067,13 @@ GL_PREFIX(GetnPixelMapfvARB): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5080(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24030,7 +24083,7 @@ GL_PREFIX(GetnPixelMapfvARB): popq %rdx popq %rsi popq %rdi - movq 5080(%rax), %r11 + movq 5088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnPixelMapfvARB), .-GL_PREFIX(GetnPixelMapfvARB) @@ -24041,7 +24094,7 @@ GL_PREFIX(GetnPixelMapfvARB): GL_PREFIX(GetnPixelMapuivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5088(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24051,13 +24104,13 @@ GL_PREFIX(GetnPixelMapuivARB): popq %rdx popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5088(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24067,7 +24120,7 @@ GL_PREFIX(GetnPixelMapuivARB): popq %rdx popq %rsi popq %rdi - movq 5088(%rax), %r11 + movq 5096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnPixelMapuivARB), .-GL_PREFIX(GetnPixelMapuivARB) @@ -24078,7 +24131,7 @@ GL_PREFIX(GetnPixelMapuivARB): GL_PREFIX(GetnPixelMapusvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5096(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24088,13 +24141,13 @@ GL_PREFIX(GetnPixelMapusvARB): popq %rdx popq %rsi popq %rdi - movq 5096(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5096(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24104,7 +24157,7 @@ GL_PREFIX(GetnPixelMapusvARB): popq %rdx popq %rsi popq %rdi - movq 5096(%rax), %r11 + movq 5104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnPixelMapusvARB), .-GL_PREFIX(GetnPixelMapusvARB) @@ -24115,7 +24168,7 @@ GL_PREFIX(GetnPixelMapusvARB): GL_PREFIX(GetnPolygonStippleARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5104(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24125,13 +24178,13 @@ GL_PREFIX(GetnPolygonStippleARB): popq %rbp popq %rsi popq %rdi - movq 5104(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5104(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24141,7 +24194,7 @@ GL_PREFIX(GetnPolygonStippleARB): popq %rbp popq %rsi popq %rdi - movq 5104(%rax), %r11 + movq 5112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnPolygonStippleARB), .-GL_PREFIX(GetnPolygonStippleARB) @@ -24152,7 +24205,7 @@ GL_PREFIX(GetnPolygonStippleARB): GL_PREFIX(GetnSeparableFilterARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5112(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24170,13 +24223,13 @@ GL_PREFIX(GetnSeparableFilterARB): popq %rdx popq %rsi popq %rdi - movq 5112(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5112(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24194,7 +24247,7 @@ GL_PREFIX(GetnSeparableFilterARB): popq %rdx popq %rsi popq %rdi - movq 5112(%rax), %r11 + movq 5120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnSeparableFilterARB), .-GL_PREFIX(GetnSeparableFilterARB) @@ -24205,7 +24258,7 @@ GL_PREFIX(GetnSeparableFilterARB): GL_PREFIX(GetnTexImageARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5120(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24223,13 +24276,13 @@ GL_PREFIX(GetnTexImageARB): popq %rdx popq %rsi popq %rdi - movq 5120(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5120(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24247,7 +24300,7 @@ GL_PREFIX(GetnTexImageARB): popq %rdx popq %rsi popq %rdi - movq 5120(%rax), %r11 + movq 5128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnTexImageARB), .-GL_PREFIX(GetnTexImageARB) @@ -24258,7 +24311,7 @@ GL_PREFIX(GetnTexImageARB): GL_PREFIX(GetnUniformdvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5128(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24272,13 +24325,13 @@ GL_PREFIX(GetnUniformdvARB): popq %rdx popq %rsi popq %rdi - movq 5128(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5128(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24292,7 +24345,7 @@ GL_PREFIX(GetnUniformdvARB): popq %rdx popq %rsi popq %rdi - movq 5128(%rax), %r11 + movq 5136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnUniformdvARB), .-GL_PREFIX(GetnUniformdvARB) @@ -24303,7 +24356,7 @@ GL_PREFIX(GetnUniformdvARB): GL_PREFIX(GetnUniformfvARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5136(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24317,13 +24370,13 @@ GL_PREFIX(GetnUniformfvARB): popq %rdx popq %rsi popq %rdi - movq 5136(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5136(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24337,7 +24390,7 @@ GL_PREFIX(GetnUniformfvARB): popq %rdx popq %rsi popq %rdi - movq 5136(%rax), %r11 + movq 5144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnUniformfvARB), .-GL_PREFIX(GetnUniformfvARB) @@ -24348,7 +24401,7 @@ GL_PREFIX(GetnUniformfvARB): GL_PREFIX(GetnUniformivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5144(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24362,13 +24415,13 @@ GL_PREFIX(GetnUniformivARB): popq %rdx popq %rsi popq %rdi - movq 5144(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5144(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24382,7 +24435,7 @@ GL_PREFIX(GetnUniformivARB): popq %rdx popq %rsi popq %rdi - movq 5144(%rax), %r11 + movq 5152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnUniformivARB), .-GL_PREFIX(GetnUniformivARB) @@ -24393,7 +24446,7 @@ GL_PREFIX(GetnUniformivARB): GL_PREFIX(GetnUniformuivARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5152(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24407,13 +24460,13 @@ GL_PREFIX(GetnUniformuivARB): popq %rdx popq %rsi popq %rdi - movq 5152(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5152(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24427,7 +24480,7 @@ GL_PREFIX(GetnUniformuivARB): popq %rdx popq %rsi popq %rdi - movq 5152(%rax), %r11 + movq 5160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetnUniformuivARB), .-GL_PREFIX(GetnUniformuivARB) @@ -24438,7 +24491,7 @@ GL_PREFIX(GetnUniformuivARB): GL_PREFIX(ReadnPixelsARB): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5160(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24456,13 +24509,13 @@ GL_PREFIX(ReadnPixelsARB): popq %rdx popq %rsi popq %rdi - movq 5160(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5160(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24480,7 +24533,7 @@ GL_PREFIX(ReadnPixelsARB): popq %rdx popq %rsi popq %rdi - movq 5160(%rax), %r11 + movq 5168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ReadnPixelsARB), .-GL_PREFIX(ReadnPixelsARB) @@ -24491,7 +24544,7 @@ GL_PREFIX(ReadnPixelsARB): GL_PREFIX(PolygonOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5168(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24501,13 +24554,13 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5168(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5168(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24517,19 +24570,19 @@ GL_PREFIX(PolygonOffsetEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5168(%rax), %r11 + movq 5176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PolygonOffsetEXT), .-GL_PREFIX(PolygonOffsetEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_647) - .type GL_PREFIX(_dispatch_stub_647), @function - HIDDEN(GL_PREFIX(_dispatch_stub_647)) -GL_PREFIX(_dispatch_stub_647): + .globl GL_PREFIX(_dispatch_stub_648) + .type GL_PREFIX(_dispatch_stub_648), @function + HIDDEN(GL_PREFIX(_dispatch_stub_648)) +GL_PREFIX(_dispatch_stub_648): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5176(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24539,13 +24592,13 @@ GL_PREFIX(_dispatch_stub_647): popq %rbp popq %rsi popq %rdi - movq 5176(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5176(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24555,19 +24608,19 @@ GL_PREFIX(_dispatch_stub_647): popq %rbp popq %rsi popq %rdi - movq 5176(%rax), %r11 + movq 5184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_647), .-GL_PREFIX(_dispatch_stub_647) + .size GL_PREFIX(_dispatch_stub_648), .-GL_PREFIX(_dispatch_stub_648) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_648) - .type GL_PREFIX(_dispatch_stub_648), @function - HIDDEN(GL_PREFIX(_dispatch_stub_648)) -GL_PREFIX(_dispatch_stub_648): + .globl GL_PREFIX(_dispatch_stub_649) + .type GL_PREFIX(_dispatch_stub_649), @function + HIDDEN(GL_PREFIX(_dispatch_stub_649)) +GL_PREFIX(_dispatch_stub_649): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5184(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24577,13 +24630,13 @@ GL_PREFIX(_dispatch_stub_648): popq %rbp popq %rsi popq %rdi - movq 5184(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5184(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24593,19 +24646,19 @@ GL_PREFIX(_dispatch_stub_648): popq %rbp popq %rsi popq %rdi - movq 5184(%rax), %r11 + movq 5192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_648), .-GL_PREFIX(_dispatch_stub_648) + .size GL_PREFIX(_dispatch_stub_649), .-GL_PREFIX(_dispatch_stub_649) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_649) - .type GL_PREFIX(_dispatch_stub_649), @function - HIDDEN(GL_PREFIX(_dispatch_stub_649)) -GL_PREFIX(_dispatch_stub_649): + .globl GL_PREFIX(_dispatch_stub_650) + .type GL_PREFIX(_dispatch_stub_650), @function + HIDDEN(GL_PREFIX(_dispatch_stub_650)) +GL_PREFIX(_dispatch_stub_650): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5192(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -24615,13 +24668,13 @@ GL_PREFIX(_dispatch_stub_649): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5192(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5192(%rax), %r11 + movq 5200(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -24631,44 +24684,6 @@ GL_PREFIX(_dispatch_stub_649): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5192(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_649), .-GL_PREFIX(_dispatch_stub_649) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_650) - .type GL_PREFIX(_dispatch_stub_650), @function - HIDDEN(GL_PREFIX(_dispatch_stub_650)) -GL_PREFIX(_dispatch_stub_650): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 5200(%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 5200(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 5200(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - pushq %rsi - pushq %rbp - call _glapi_get_dispatch - popq %rbp - popq %rsi - popq %rdi movq 5200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ @@ -24799,7 +24814,11 @@ GL_PREFIX(_dispatch_stub_654): jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi popq %rdi movq 5232(%rax), %r11 jmp *%r11 @@ -24811,20 +24830,54 @@ GL_PREFIX(_dispatch_stub_654): jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rsi popq %rdi movq 5232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(_dispatch_stub_654), .-GL_PREFIX(_dispatch_stub_654) + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_655) + .type GL_PREFIX(_dispatch_stub_655), @function + HIDDEN(GL_PREFIX(_dispatch_stub_655)) +GL_PREFIX(_dispatch_stub_655): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 5240(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 5240(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5240(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 5240(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_655), .-GL_PREFIX(_dispatch_stub_655) + .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 5240(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24838,13 +24891,13 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5240(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24858,7 +24911,7 @@ GL_PREFIX(ColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5240(%rax), %r11 + movq 5248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorPointerEXT), .-GL_PREFIX(ColorPointerEXT) @@ -24869,7 +24922,7 @@ GL_PREFIX(ColorPointerEXT): GL_PREFIX(EdgeFlagPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5248(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24879,13 +24932,13 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5248(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24895,7 +24948,7 @@ GL_PREFIX(EdgeFlagPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5248(%rax), %r11 + movq 5256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EdgeFlagPointerEXT), .-GL_PREFIX(EdgeFlagPointerEXT) @@ -24906,7 +24959,7 @@ GL_PREFIX(EdgeFlagPointerEXT): GL_PREFIX(IndexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5256(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24920,13 +24973,13 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5256(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24940,7 +24993,7 @@ GL_PREFIX(IndexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5256(%rax), %r11 + movq 5264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IndexPointerEXT), .-GL_PREFIX(IndexPointerEXT) @@ -24951,7 +25004,7 @@ GL_PREFIX(IndexPointerEXT): GL_PREFIX(NormalPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5264(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -24965,13 +25018,13 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5264(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -24985,7 +25038,7 @@ GL_PREFIX(NormalPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5264(%rax), %r11 + movq 5272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(NormalPointerEXT), .-GL_PREFIX(NormalPointerEXT) @@ -24996,7 +25049,7 @@ GL_PREFIX(NormalPointerEXT): GL_PREFIX(TexCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5272(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25010,13 +25063,13 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5272(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25030,7 +25083,7 @@ GL_PREFIX(TexCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5272(%rax), %r11 + movq 5280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexCoordPointerEXT), .-GL_PREFIX(TexCoordPointerEXT) @@ -25041,7 +25094,7 @@ GL_PREFIX(TexCoordPointerEXT): GL_PREFIX(VertexPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5280(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25055,13 +25108,13 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5280(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5280(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25075,7 +25128,7 @@ GL_PREFIX(VertexPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5280(%rax), %r11 + movq 5288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexPointerEXT), .-GL_PREFIX(VertexPointerEXT) @@ -25086,7 +25139,7 @@ GL_PREFIX(VertexPointerEXT): GL_PREFIX(PointParameterfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5288(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25096,13 +25149,13 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5288(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5288(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25112,7 +25165,7 @@ GL_PREFIX(PointParameterfEXT): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5288(%rax), %r11 + movq 5296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfEXT), .-GL_PREFIX(PointParameterfEXT) @@ -25123,7 +25176,7 @@ GL_PREFIX(PointParameterfEXT): GL_PREFIX(PointParameterfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5296(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25133,13 +25186,13 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5296(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25149,7 +25202,7 @@ GL_PREFIX(PointParameterfvEXT): popq %rbp popq %rsi popq %rdi - movq 5296(%rax), %r11 + movq 5304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameterfvEXT), .-GL_PREFIX(PointParameterfvEXT) @@ -25160,7 +25213,7 @@ GL_PREFIX(PointParameterfvEXT): GL_PREFIX(LockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5304(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25170,13 +25223,13 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5304(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25186,7 +25239,7 @@ GL_PREFIX(LockArraysEXT): popq %rbp popq %rsi popq %rdi - movq 5304(%rax), %r11 + movq 5312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LockArraysEXT), .-GL_PREFIX(LockArraysEXT) @@ -25197,25 +25250,25 @@ GL_PREFIX(LockArraysEXT): GL_PREFIX(UnlockArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5312(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5312(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5312(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5312(%rax), %r11 + movq 5320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UnlockArraysEXT), .-GL_PREFIX(UnlockArraysEXT) @@ -25226,7 +25279,7 @@ GL_PREFIX(UnlockArraysEXT): GL_PREFIX(SecondaryColor3bEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5320(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25236,13 +25289,13 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5320(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25252,7 +25305,7 @@ GL_PREFIX(SecondaryColor3bEXT): popq %rdx popq %rsi popq %rdi - movq 5320(%rax), %r11 + movq 5328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bEXT), .-GL_PREFIX(SecondaryColor3bEXT) @@ -25263,25 +25316,25 @@ GL_PREFIX(SecondaryColor3bEXT): GL_PREFIX(SecondaryColor3bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5328(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5328(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5328(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5328(%rax), %r11 + movq 5336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3bvEXT), .-GL_PREFIX(SecondaryColor3bvEXT) @@ -25292,7 +25345,7 @@ GL_PREFIX(SecondaryColor3bvEXT): GL_PREFIX(SecondaryColor3dEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5336(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25304,13 +25357,13 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5336(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5336(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25322,7 +25375,7 @@ GL_PREFIX(SecondaryColor3dEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5336(%rax), %r11 + movq 5344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dEXT), .-GL_PREFIX(SecondaryColor3dEXT) @@ -25333,25 +25386,25 @@ GL_PREFIX(SecondaryColor3dEXT): GL_PREFIX(SecondaryColor3dvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5344(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5344(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5344(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5344(%rax), %r11 + movq 5352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3dvEXT), .-GL_PREFIX(SecondaryColor3dvEXT) @@ -25362,7 +25415,7 @@ GL_PREFIX(SecondaryColor3dvEXT): GL_PREFIX(SecondaryColor3fEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5352(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -25374,13 +25427,13 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5352(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5352(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -25392,7 +25445,7 @@ GL_PREFIX(SecondaryColor3fEXT): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5352(%rax), %r11 + movq 5360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fEXT), .-GL_PREFIX(SecondaryColor3fEXT) @@ -25403,25 +25456,25 @@ GL_PREFIX(SecondaryColor3fEXT): GL_PREFIX(SecondaryColor3fvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5360(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5360(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5360(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5360(%rax), %r11 + movq 5368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3fvEXT), .-GL_PREFIX(SecondaryColor3fvEXT) @@ -25432,7 +25485,7 @@ GL_PREFIX(SecondaryColor3fvEXT): GL_PREFIX(SecondaryColor3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5368(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25442,13 +25495,13 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5368(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25458,7 +25511,7 @@ GL_PREFIX(SecondaryColor3iEXT): popq %rdx popq %rsi popq %rdi - movq 5368(%rax), %r11 + movq 5376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3iEXT), .-GL_PREFIX(SecondaryColor3iEXT) @@ -25469,25 +25522,25 @@ GL_PREFIX(SecondaryColor3iEXT): GL_PREFIX(SecondaryColor3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5376(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5376(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5376(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5376(%rax), %r11 + movq 5384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ivEXT), .-GL_PREFIX(SecondaryColor3ivEXT) @@ -25498,7 +25551,7 @@ GL_PREFIX(SecondaryColor3ivEXT): GL_PREFIX(SecondaryColor3sEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5384(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25508,13 +25561,13 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5384(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25524,7 +25577,7 @@ GL_PREFIX(SecondaryColor3sEXT): popq %rdx popq %rsi popq %rdi - movq 5384(%rax), %r11 + movq 5392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3sEXT), .-GL_PREFIX(SecondaryColor3sEXT) @@ -25535,25 +25588,25 @@ GL_PREFIX(SecondaryColor3sEXT): GL_PREFIX(SecondaryColor3svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5392(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5392(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5392(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5392(%rax), %r11 + movq 5400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3svEXT), .-GL_PREFIX(SecondaryColor3svEXT) @@ -25564,7 +25617,7 @@ GL_PREFIX(SecondaryColor3svEXT): GL_PREFIX(SecondaryColor3ubEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5400(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25574,13 +25627,13 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5400(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25590,7 +25643,7 @@ GL_PREFIX(SecondaryColor3ubEXT): popq %rdx popq %rsi popq %rdi - movq 5400(%rax), %r11 + movq 5408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubEXT), .-GL_PREFIX(SecondaryColor3ubEXT) @@ -25601,25 +25654,25 @@ GL_PREFIX(SecondaryColor3ubEXT): GL_PREFIX(SecondaryColor3ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5408(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5408(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5408(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5408(%rax), %r11 + movq 5416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3ubvEXT), .-GL_PREFIX(SecondaryColor3ubvEXT) @@ -25630,7 +25683,7 @@ GL_PREFIX(SecondaryColor3ubvEXT): GL_PREFIX(SecondaryColor3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5416(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25640,13 +25693,13 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5416(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25656,7 +25709,7 @@ GL_PREFIX(SecondaryColor3uiEXT): popq %rdx popq %rsi popq %rdi - movq 5416(%rax), %r11 + movq 5424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uiEXT), .-GL_PREFIX(SecondaryColor3uiEXT) @@ -25667,25 +25720,25 @@ GL_PREFIX(SecondaryColor3uiEXT): GL_PREFIX(SecondaryColor3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5424(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5424(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5424(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5424(%rax), %r11 + movq 5432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3uivEXT), .-GL_PREFIX(SecondaryColor3uivEXT) @@ -25696,7 +25749,7 @@ GL_PREFIX(SecondaryColor3uivEXT): GL_PREFIX(SecondaryColor3usEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5432(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25706,13 +25759,13 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5432(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25722,7 +25775,7 @@ GL_PREFIX(SecondaryColor3usEXT): popq %rdx popq %rsi popq %rdi - movq 5432(%rax), %r11 + movq 5440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usEXT), .-GL_PREFIX(SecondaryColor3usEXT) @@ -25733,25 +25786,25 @@ GL_PREFIX(SecondaryColor3usEXT): GL_PREFIX(SecondaryColor3usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5440(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5440(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5440(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5440(%rax), %r11 + movq 5448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColor3usvEXT), .-GL_PREFIX(SecondaryColor3usvEXT) @@ -25762,7 +25815,7 @@ GL_PREFIX(SecondaryColor3usvEXT): GL_PREFIX(SecondaryColorPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5448(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25776,13 +25829,13 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5448(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25796,7 +25849,7 @@ GL_PREFIX(SecondaryColorPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5448(%rax), %r11 + movq 5456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SecondaryColorPointerEXT), .-GL_PREFIX(SecondaryColorPointerEXT) @@ -25807,7 +25860,7 @@ GL_PREFIX(SecondaryColorPointerEXT): GL_PREFIX(MultiDrawArraysEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5456(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25821,13 +25874,13 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5456(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25841,7 +25894,7 @@ GL_PREFIX(MultiDrawArraysEXT): popq %rdx popq %rsi popq %rdi - movq 5456(%rax), %r11 + movq 5464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawArraysEXT), .-GL_PREFIX(MultiDrawArraysEXT) @@ -25852,7 +25905,7 @@ GL_PREFIX(MultiDrawArraysEXT): GL_PREFIX(MultiDrawElementsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5464(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25866,13 +25919,13 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5464(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25886,7 +25939,7 @@ GL_PREFIX(MultiDrawElementsEXT): popq %rdx popq %rsi popq %rdi - movq 5464(%rax), %r11 + movq 5472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(MultiDrawElementsEXT), .-GL_PREFIX(MultiDrawElementsEXT) @@ -25897,7 +25950,7 @@ GL_PREFIX(MultiDrawElementsEXT): GL_PREFIX(FogCoordPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5472(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -25907,13 +25960,13 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5472(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5472(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -25923,7 +25976,7 @@ GL_PREFIX(FogCoordPointerEXT): popq %rdx popq %rsi popq %rdi - movq 5472(%rax), %r11 + movq 5480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordPointerEXT), .-GL_PREFIX(FogCoordPointerEXT) @@ -25934,7 +25987,7 @@ GL_PREFIX(FogCoordPointerEXT): GL_PREFIX(FogCoorddEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5480(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -25942,13 +25995,13 @@ GL_PREFIX(FogCoorddEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 5480(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5480(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -25956,7 +26009,7 @@ GL_PREFIX(FogCoorddEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 5480(%rax), %r11 + movq 5488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddEXT), .-GL_PREFIX(FogCoorddEXT) @@ -25967,25 +26020,25 @@ GL_PREFIX(FogCoorddEXT): GL_PREFIX(FogCoorddvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5488(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5488(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5488(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5488(%rax), %r11 + movq 5496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoorddvEXT), .-GL_PREFIX(FogCoorddvEXT) @@ -25996,7 +26049,7 @@ GL_PREFIX(FogCoorddvEXT): GL_PREFIX(FogCoordfEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5496(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $8, %rsp @@ -26004,13 +26057,13 @@ GL_PREFIX(FogCoordfEXT): call _x86_64_get_dispatch@PLT movq (%rsp), %xmm0 addq $8, %rsp - movq 5496(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5496(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 1: subq $8, %rsp @@ -26018,7 +26071,7 @@ GL_PREFIX(FogCoordfEXT): call _glapi_get_dispatch movq (%rsp), %xmm0 addq $8, %rsp - movq 5496(%rax), %r11 + movq 5504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfEXT), .-GL_PREFIX(FogCoordfEXT) @@ -26029,58 +26082,58 @@ GL_PREFIX(FogCoordfEXT): GL_PREFIX(FogCoordfvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5504(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5504(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5504(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5504(%rax), %r11 + movq 5512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FogCoordfvEXT), .-GL_PREFIX(FogCoordfvEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_689) - .type GL_PREFIX(_dispatch_stub_689), @function - HIDDEN(GL_PREFIX(_dispatch_stub_689)) -GL_PREFIX(_dispatch_stub_689): + .globl GL_PREFIX(_dispatch_stub_690) + .type GL_PREFIX(_dispatch_stub_690), @function + HIDDEN(GL_PREFIX(_dispatch_stub_690)) +GL_PREFIX(_dispatch_stub_690): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5512(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5512(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5512(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5512(%rax), %r11 + movq 5520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_689), .-GL_PREFIX(_dispatch_stub_689) + .size GL_PREFIX(_dispatch_stub_690), .-GL_PREFIX(_dispatch_stub_690) .p2align 4,,15 .globl GL_PREFIX(BlendFuncSeparateEXT) @@ -26088,7 +26141,7 @@ GL_PREFIX(_dispatch_stub_689): GL_PREFIX(BlendFuncSeparateEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5520(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26102,13 +26155,13 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5520(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26122,7 +26175,7 @@ GL_PREFIX(BlendFuncSeparateEXT): popq %rdx popq %rsi popq %rdi - movq 5520(%rax), %r11 + movq 5528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BlendFuncSeparateEXT), .-GL_PREFIX(BlendFuncSeparateEXT) @@ -26133,25 +26186,25 @@ GL_PREFIX(BlendFuncSeparateEXT): GL_PREFIX(FlushVertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5528(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5528(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5528(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5528(%rax), %r11 + movq 5536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FlushVertexArrayRangeNV), .-GL_PREFIX(FlushVertexArrayRangeNV) @@ -26162,7 +26215,7 @@ GL_PREFIX(FlushVertexArrayRangeNV): GL_PREFIX(VertexArrayRangeNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5536(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26172,13 +26225,13 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5536(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26188,7 +26241,7 @@ GL_PREFIX(VertexArrayRangeNV): popq %rbp popq %rsi popq %rdi - movq 5536(%rax), %r11 + movq 5544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexArrayRangeNV), .-GL_PREFIX(VertexArrayRangeNV) @@ -26199,7 +26252,7 @@ GL_PREFIX(VertexArrayRangeNV): GL_PREFIX(CombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5544(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26217,13 +26270,13 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5544(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26241,7 +26294,7 @@ GL_PREFIX(CombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5544(%rax), %r11 + movq 5552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerInputNV), .-GL_PREFIX(CombinerInputNV) @@ -26252,7 +26305,7 @@ GL_PREFIX(CombinerInputNV): GL_PREFIX(CombinerOutputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5552(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26270,13 +26323,13 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5552(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26294,7 +26347,7 @@ GL_PREFIX(CombinerOutputNV): popq %rdx popq %rsi popq %rdi - movq 5552(%rax), %r11 + movq 5560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerOutputNV), .-GL_PREFIX(CombinerOutputNV) @@ -26305,7 +26358,7 @@ GL_PREFIX(CombinerOutputNV): GL_PREFIX(CombinerParameterfNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5560(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26315,13 +26368,13 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5560(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5560(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26331,7 +26384,7 @@ GL_PREFIX(CombinerParameterfNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 5560(%rax), %r11 + movq 5568(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfNV), .-GL_PREFIX(CombinerParameterfNV) @@ -26342,7 +26395,7 @@ GL_PREFIX(CombinerParameterfNV): GL_PREFIX(CombinerParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5568(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26352,13 +26405,13 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5568(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26368,7 +26421,7 @@ GL_PREFIX(CombinerParameterfvNV): popq %rbp popq %rsi popq %rdi - movq 5568(%rax), %r11 + movq 5576(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterfvNV), .-GL_PREFIX(CombinerParameterfvNV) @@ -26379,7 +26432,7 @@ GL_PREFIX(CombinerParameterfvNV): GL_PREFIX(CombinerParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5576(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26389,13 +26442,13 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5576(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26405,7 +26458,7 @@ GL_PREFIX(CombinerParameteriNV): popq %rbp popq %rsi popq %rdi - movq 5576(%rax), %r11 + movq 5584(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameteriNV), .-GL_PREFIX(CombinerParameteriNV) @@ -26416,7 +26469,7 @@ GL_PREFIX(CombinerParameteriNV): GL_PREFIX(CombinerParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5584(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26426,13 +26479,13 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5584(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26442,7 +26495,7 @@ GL_PREFIX(CombinerParameterivNV): popq %rbp popq %rsi popq %rdi - movq 5584(%rax), %r11 + movq 5592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CombinerParameterivNV), .-GL_PREFIX(CombinerParameterivNV) @@ -26453,7 +26506,7 @@ GL_PREFIX(CombinerParameterivNV): GL_PREFIX(FinalCombinerInputNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5592(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26467,13 +26520,13 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5592(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26487,7 +26540,7 @@ GL_PREFIX(FinalCombinerInputNV): popq %rdx popq %rsi popq %rdi - movq 5592(%rax), %r11 + movq 5600(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FinalCombinerInputNV), .-GL_PREFIX(FinalCombinerInputNV) @@ -26498,7 +26551,7 @@ GL_PREFIX(FinalCombinerInputNV): GL_PREFIX(GetCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5600(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26512,13 +26565,13 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5600(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26532,7 +26585,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5600(%rax), %r11 + movq 5608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterfvNV), .-GL_PREFIX(GetCombinerInputParameterfvNV) @@ -26543,7 +26596,7 @@ GL_PREFIX(GetCombinerInputParameterfvNV): GL_PREFIX(GetCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5608(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26557,13 +26610,13 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5608(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26577,7 +26630,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5608(%rax), %r11 + movq 5616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerInputParameterivNV), .-GL_PREFIX(GetCombinerInputParameterivNV) @@ -26588,7 +26641,7 @@ GL_PREFIX(GetCombinerInputParameterivNV): GL_PREFIX(GetCombinerOutputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5616(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26602,13 +26655,13 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5616(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26622,7 +26675,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5616(%rax), %r11 + movq 5624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterfvNV), .-GL_PREFIX(GetCombinerOutputParameterfvNV) @@ -26633,7 +26686,7 @@ GL_PREFIX(GetCombinerOutputParameterfvNV): GL_PREFIX(GetCombinerOutputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5624(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26647,13 +26700,13 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5624(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26667,7 +26720,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5624(%rax), %r11 + movq 5632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetCombinerOutputParameterivNV), .-GL_PREFIX(GetCombinerOutputParameterivNV) @@ -26678,7 +26731,7 @@ GL_PREFIX(GetCombinerOutputParameterivNV): GL_PREFIX(GetFinalCombinerInputParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5632(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26688,13 +26741,13 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5632(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26704,7 +26757,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5632(%rax), %r11 + movq 5640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterfvNV), .-GL_PREFIX(GetFinalCombinerInputParameterfvNV) @@ -26715,7 +26768,7 @@ GL_PREFIX(GetFinalCombinerInputParameterfvNV): GL_PREFIX(GetFinalCombinerInputParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5640(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26725,13 +26778,13 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5640(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26741,7 +26794,7 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): popq %rdx popq %rsi popq %rdi - movq 5640(%rax), %r11 + movq 5648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFinalCombinerInputParameterivNV), .-GL_PREFIX(GetFinalCombinerInputParameterivNV) @@ -26752,25 +26805,25 @@ GL_PREFIX(GetFinalCombinerInputParameterivNV): GL_PREFIX(ResizeBuffersMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5648(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 5648(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5648(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 5648(%rax), %r11 + movq 5656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ResizeBuffersMESA), .-GL_PREFIX(ResizeBuffersMESA) @@ -26781,7 +26834,7 @@ GL_PREFIX(ResizeBuffersMESA): GL_PREFIX(WindowPos2dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5656(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26791,13 +26844,13 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5656(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5656(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26807,7 +26860,7 @@ GL_PREFIX(WindowPos2dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5656(%rax), %r11 + movq 5664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dMESA), .-GL_PREFIX(WindowPos2dMESA) @@ -26818,25 +26871,25 @@ GL_PREFIX(WindowPos2dMESA): GL_PREFIX(WindowPos2dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5664(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5664(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5664(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5664(%rax), %r11 + movq 5672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2dvMESA), .-GL_PREFIX(WindowPos2dvMESA) @@ -26847,7 +26900,7 @@ GL_PREFIX(WindowPos2dvMESA): GL_PREFIX(WindowPos2fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5672(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -26857,13 +26910,13 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5672(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5672(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -26873,7 +26926,7 @@ GL_PREFIX(WindowPos2fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5672(%rax), %r11 + movq 5680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fMESA), .-GL_PREFIX(WindowPos2fMESA) @@ -26884,25 +26937,25 @@ GL_PREFIX(WindowPos2fMESA): GL_PREFIX(WindowPos2fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5680(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5680(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5680(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5680(%rax), %r11 + movq 5688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2fvMESA), .-GL_PREFIX(WindowPos2fvMESA) @@ -26913,7 +26966,7 @@ GL_PREFIX(WindowPos2fvMESA): GL_PREFIX(WindowPos2iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5688(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26923,13 +26976,13 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5688(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -26939,7 +26992,7 @@ GL_PREFIX(WindowPos2iMESA): popq %rbp popq %rsi popq %rdi - movq 5688(%rax), %r11 + movq 5696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2iMESA), .-GL_PREFIX(WindowPos2iMESA) @@ -26950,25 +27003,25 @@ GL_PREFIX(WindowPos2iMESA): GL_PREFIX(WindowPos2ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5696(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5696(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5696(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5696(%rax), %r11 + movq 5704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2ivMESA), .-GL_PREFIX(WindowPos2ivMESA) @@ -26979,7 +27032,7 @@ GL_PREFIX(WindowPos2ivMESA): GL_PREFIX(WindowPos2sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5704(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -26989,13 +27042,13 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5704(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27005,7 +27058,7 @@ GL_PREFIX(WindowPos2sMESA): popq %rbp popq %rsi popq %rdi - movq 5704(%rax), %r11 + movq 5712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2sMESA), .-GL_PREFIX(WindowPos2sMESA) @@ -27016,25 +27069,25 @@ GL_PREFIX(WindowPos2sMESA): GL_PREFIX(WindowPos2svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5712(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5712(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5712(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5712(%rax), %r11 + movq 5720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos2svMESA), .-GL_PREFIX(WindowPos2svMESA) @@ -27045,7 +27098,7 @@ GL_PREFIX(WindowPos2svMESA): GL_PREFIX(WindowPos3dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5720(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -27057,13 +27110,13 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5720(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5720(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -27075,7 +27128,7 @@ GL_PREFIX(WindowPos3dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5720(%rax), %r11 + movq 5728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dMESA), .-GL_PREFIX(WindowPos3dMESA) @@ -27086,25 +27139,25 @@ GL_PREFIX(WindowPos3dMESA): GL_PREFIX(WindowPos3dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5728(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5728(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5728(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5728(%rax), %r11 + movq 5736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3dvMESA), .-GL_PREFIX(WindowPos3dvMESA) @@ -27115,7 +27168,7 @@ GL_PREFIX(WindowPos3dvMESA): GL_PREFIX(WindowPos3fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5736(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -27127,13 +27180,13 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5736(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5736(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -27145,7 +27198,7 @@ GL_PREFIX(WindowPos3fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $24, %rsp - movq 5736(%rax), %r11 + movq 5744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fMESA), .-GL_PREFIX(WindowPos3fMESA) @@ -27156,25 +27209,25 @@ GL_PREFIX(WindowPos3fMESA): GL_PREFIX(WindowPos3fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5744(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5744(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5744(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5744(%rax), %r11 + movq 5752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3fvMESA), .-GL_PREFIX(WindowPos3fvMESA) @@ -27185,7 +27238,7 @@ GL_PREFIX(WindowPos3fvMESA): GL_PREFIX(WindowPos3iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5752(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27195,13 +27248,13 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5752(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27211,7 +27264,7 @@ GL_PREFIX(WindowPos3iMESA): popq %rdx popq %rsi popq %rdi - movq 5752(%rax), %r11 + movq 5760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3iMESA), .-GL_PREFIX(WindowPos3iMESA) @@ -27222,25 +27275,25 @@ GL_PREFIX(WindowPos3iMESA): GL_PREFIX(WindowPos3ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5760(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5760(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5760(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5760(%rax), %r11 + movq 5768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3ivMESA), .-GL_PREFIX(WindowPos3ivMESA) @@ -27251,7 +27304,7 @@ GL_PREFIX(WindowPos3ivMESA): GL_PREFIX(WindowPos3sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5768(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27261,13 +27314,13 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5768(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27277,7 +27330,7 @@ GL_PREFIX(WindowPos3sMESA): popq %rdx popq %rsi popq %rdi - movq 5768(%rax), %r11 + movq 5776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3sMESA), .-GL_PREFIX(WindowPos3sMESA) @@ -27288,25 +27341,25 @@ GL_PREFIX(WindowPos3sMESA): GL_PREFIX(WindowPos3svMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5776(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5776(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5776(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5776(%rax), %r11 + movq 5784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos3svMESA), .-GL_PREFIX(WindowPos3svMESA) @@ -27317,7 +27370,7 @@ GL_PREFIX(WindowPos3svMESA): GL_PREFIX(WindowPos4dMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5784(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -27331,13 +27384,13 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5784(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5784(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -27351,7 +27404,7 @@ GL_PREFIX(WindowPos4dMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5784(%rax), %r11 + movq 5792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dMESA), .-GL_PREFIX(WindowPos4dMESA) @@ -27362,25 +27415,25 @@ GL_PREFIX(WindowPos4dMESA): GL_PREFIX(WindowPos4dvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5792(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5792(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5792(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5792(%rax), %r11 + movq 5800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4dvMESA), .-GL_PREFIX(WindowPos4dvMESA) @@ -27391,7 +27444,7 @@ GL_PREFIX(WindowPos4dvMESA): GL_PREFIX(WindowPos4fMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5800(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -27405,13 +27458,13 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5800(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5800(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -27425,7 +27478,7 @@ GL_PREFIX(WindowPos4fMESA): movq 8(%rsp), %xmm1 movq (%rsp), %xmm0 addq $40, %rsp - movq 5800(%rax), %r11 + movq 5808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fMESA), .-GL_PREFIX(WindowPos4fMESA) @@ -27436,25 +27489,25 @@ GL_PREFIX(WindowPos4fMESA): GL_PREFIX(WindowPos4fvMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5808(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5808(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5808(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5808(%rax), %r11 + movq 5816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4fvMESA), .-GL_PREFIX(WindowPos4fvMESA) @@ -27465,7 +27518,7 @@ GL_PREFIX(WindowPos4fvMESA): GL_PREFIX(WindowPos4iMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5816(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27479,13 +27532,13 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5816(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27499,7 +27552,7 @@ GL_PREFIX(WindowPos4iMESA): popq %rdx popq %rsi popq %rdi - movq 5816(%rax), %r11 + movq 5824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4iMESA), .-GL_PREFIX(WindowPos4iMESA) @@ -27510,25 +27563,25 @@ GL_PREFIX(WindowPos4iMESA): GL_PREFIX(WindowPos4ivMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5824(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 5824(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5824(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 5824(%rax), %r11 + movq 5832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4ivMESA), .-GL_PREFIX(WindowPos4ivMESA) @@ -27539,7 +27592,7 @@ GL_PREFIX(WindowPos4ivMESA): GL_PREFIX(WindowPos4sMESA): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5832(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27553,13 +27606,13 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5832(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27573,7 +27626,7 @@ GL_PREFIX(WindowPos4sMESA): popq %rdx popq %rsi popq %rdi - movq 5832(%rax), %r11 + movq 5840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(WindowPos4sMESA), .-GL_PREFIX(WindowPos4sMESA) @@ -27582,51 +27635,13 @@ GL_PREFIX(WindowPos4sMESA): .globl GL_PREFIX(WindowPos4svMESA) .type GL_PREFIX(WindowPos4svMESA), @function GL_PREFIX(WindowPos4svMESA): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 5840(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - call _x86_64_get_dispatch@PLT - popq %rdi - movq 5840(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 5840(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - call _glapi_get_dispatch - popq %rdi - movq 5840(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_731) - .type GL_PREFIX(_dispatch_stub_731), @function - HIDDEN(GL_PREFIX(_dispatch_stub_731)) -GL_PREFIX(_dispatch_stub_731): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 5848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 call _x86_64_get_dispatch@PLT - popq %r8 - popq %rcx - popq %rdx - popq %rsi popq %rdi movq 5848(%rax), %r11 jmp *%r11 @@ -27638,20 +27653,12 @@ GL_PREFIX(_dispatch_stub_731): jmp *%r11 1: pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx - pushq %r8 call _glapi_get_dispatch - popq %r8 - popq %rcx - popq %rdx - popq %rsi popq %rdi movq 5848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_731), .-GL_PREFIX(_dispatch_stub_731) + .size GL_PREFIX(WindowPos4svMESA), .-GL_PREFIX(WindowPos4svMESA) .p2align 4,,15 .globl GL_PREFIX(_dispatch_stub_732) @@ -27668,11 +27675,7 @@ GL_PREFIX(_dispatch_stub_732): 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 @@ -27692,11 +27695,7 @@ GL_PREFIX(_dispatch_stub_732): pushq %rdx pushq %rcx pushq %r8 - pushq %r9 - pushq %rbp call _glapi_get_dispatch - popq %rbp - popq %r9 popq %r8 popq %rcx popq %rdx @@ -27719,9 +27718,17 @@ GL_PREFIX(_dispatch_stub_733): #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 5864(%rax), %r11 @@ -27735,9 +27742,17 @@ GL_PREFIX(_dispatch_stub_733): 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 5864(%rax), %r11 @@ -27756,7 +27771,11 @@ GL_PREFIX(_dispatch_stub_734): jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi popq %rdi movq 5872(%rax), %r11 jmp *%r11 @@ -27768,7 +27787,11 @@ GL_PREFIX(_dispatch_stub_734): jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rsi popq %rdi movq 5872(%rax), %r11 jmp *%r11 @@ -27786,11 +27809,7 @@ GL_PREFIX(_dispatch_stub_735): jmp *%r11 #elif defined(PTHREADS) pushq %rdi - pushq %rsi - pushq %rbp call _x86_64_get_dispatch@PLT - popq %rbp - popq %rsi popq %rdi movq 5880(%rax), %r11 jmp *%r11 @@ -27802,11 +27821,7 @@ GL_PREFIX(_dispatch_stub_735): jmp *%r11 1: pushq %rdi - pushq %rsi - pushq %rbp call _glapi_get_dispatch - popq %rbp - popq %rsi popq %rdi movq 5880(%rax), %r11 jmp *%r11 @@ -27825,9 +27840,9 @@ GL_PREFIX(_dispatch_stub_736): #elif defined(PTHREADS) pushq %rdi pushq %rsi - pushq %rdx + pushq %rbp call _x86_64_get_dispatch@PLT - popq %rdx + popq %rbp popq %rsi popq %rdi movq 5888(%rax), %r11 @@ -27841,9 +27856,9 @@ GL_PREFIX(_dispatch_stub_736): 1: pushq %rdi pushq %rsi - pushq %rdx + pushq %rbp call _glapi_get_dispatch - popq %rdx + popq %rbp popq %rsi popq %rdi movq 5888(%rax), %r11 @@ -27862,7 +27877,11 @@ GL_PREFIX(_dispatch_stub_737): jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rdx call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi popq %rdi movq 5896(%rax), %r11 jmp *%r11 @@ -27874,7 +27893,11 @@ GL_PREFIX(_dispatch_stub_737): jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rdx call _glapi_get_dispatch + popq %rdx + popq %rsi popq %rdi movq 5896(%rax), %r11 jmp *%r11 @@ -27892,11 +27915,7 @@ GL_PREFIX(_dispatch_stub_738): jmp *%r11 #elif defined(PTHREADS) pushq %rdi - pushq %rsi - pushq %rbp call _x86_64_get_dispatch@PLT - popq %rbp - popq %rsi popq %rdi movq 5904(%rax), %r11 jmp *%r11 @@ -27908,11 +27927,7 @@ GL_PREFIX(_dispatch_stub_738): jmp *%r11 1: pushq %rdi - pushq %rsi - pushq %rbp call _glapi_get_dispatch - popq %rbp - popq %rsi popq %rdi movq 5904(%rax), %r11 jmp *%r11 @@ -27930,7 +27945,11 @@ GL_PREFIX(_dispatch_stub_739): jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi popq %rdi movq 5912(%rax), %r11 jmp *%r11 @@ -27942,20 +27961,54 @@ GL_PREFIX(_dispatch_stub_739): jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rsi popq %rdi movq 5912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(_dispatch_stub_739), .-GL_PREFIX(_dispatch_stub_739) + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_740) + .type GL_PREFIX(_dispatch_stub_740), @function + HIDDEN(GL_PREFIX(_dispatch_stub_740)) +GL_PREFIX(_dispatch_stub_740): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 5920(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 5920(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 5920(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 5920(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_740), .-GL_PREFIX(_dispatch_stub_740) + .p2align 4,,15 .globl GL_PREFIX(AreProgramsResidentNV) .type GL_PREFIX(AreProgramsResidentNV), @function GL_PREFIX(AreProgramsResidentNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5920(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -27965,13 +28018,13 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5920(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -27981,7 +28034,7 @@ GL_PREFIX(AreProgramsResidentNV): popq %rdx popq %rsi popq %rdi - movq 5920(%rax), %r11 + movq 5928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AreProgramsResidentNV), .-GL_PREFIX(AreProgramsResidentNV) @@ -27992,7 +28045,7 @@ GL_PREFIX(AreProgramsResidentNV): GL_PREFIX(BindProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5928(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28002,13 +28055,13 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5928(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28018,7 +28071,7 @@ GL_PREFIX(BindProgramNV): popq %rbp popq %rsi popq %rdi - movq 5928(%rax), %r11 + movq 5936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindProgramNV), .-GL_PREFIX(BindProgramNV) @@ -28029,7 +28082,7 @@ GL_PREFIX(BindProgramNV): GL_PREFIX(DeleteProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5936(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28039,13 +28092,13 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5936(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28055,7 +28108,7 @@ GL_PREFIX(DeleteProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5936(%rax), %r11 + movq 5944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteProgramsNV), .-GL_PREFIX(DeleteProgramsNV) @@ -28066,7 +28119,7 @@ GL_PREFIX(DeleteProgramsNV): GL_PREFIX(ExecuteProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5944(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28076,13 +28129,13 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5944(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5944(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28092,7 +28145,7 @@ GL_PREFIX(ExecuteProgramNV): popq %rdx popq %rsi popq %rdi - movq 5944(%rax), %r11 + movq 5952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ExecuteProgramNV), .-GL_PREFIX(ExecuteProgramNV) @@ -28103,7 +28156,7 @@ GL_PREFIX(ExecuteProgramNV): GL_PREFIX(GenProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5952(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28113,13 +28166,13 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5952(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28129,7 +28182,7 @@ GL_PREFIX(GenProgramsNV): popq %rbp popq %rsi popq %rdi - movq 5952(%rax), %r11 + movq 5960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenProgramsNV), .-GL_PREFIX(GenProgramsNV) @@ -28140,7 +28193,7 @@ GL_PREFIX(GenProgramsNV): GL_PREFIX(GetProgramParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5960(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28154,13 +28207,13 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5960(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28174,7 +28227,7 @@ GL_PREFIX(GetProgramParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 5960(%rax), %r11 + movq 5968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterdvNV), .-GL_PREFIX(GetProgramParameterdvNV) @@ -28185,7 +28238,7 @@ GL_PREFIX(GetProgramParameterdvNV): GL_PREFIX(GetProgramParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5968(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28199,13 +28252,13 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5968(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28219,7 +28272,7 @@ GL_PREFIX(GetProgramParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 5968(%rax), %r11 + movq 5976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramParameterfvNV), .-GL_PREFIX(GetProgramParameterfvNV) @@ -28230,7 +28283,7 @@ GL_PREFIX(GetProgramParameterfvNV): GL_PREFIX(GetProgramStringNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5976(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28240,13 +28293,13 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5976(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28256,7 +28309,7 @@ GL_PREFIX(GetProgramStringNV): popq %rdx popq %rsi popq %rdi - movq 5976(%rax), %r11 + movq 5984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramStringNV), .-GL_PREFIX(GetProgramStringNV) @@ -28267,7 +28320,7 @@ GL_PREFIX(GetProgramStringNV): GL_PREFIX(GetProgramivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5984(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28277,13 +28330,13 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5984(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28293,7 +28346,7 @@ GL_PREFIX(GetProgramivNV): popq %rdx popq %rsi popq %rdi - movq 5984(%rax), %r11 + movq 5992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramivNV), .-GL_PREFIX(GetProgramivNV) @@ -28304,7 +28357,7 @@ GL_PREFIX(GetProgramivNV): GL_PREFIX(GetTrackMatrixivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 5992(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28318,13 +28371,13 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 5992(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28338,7 +28391,7 @@ GL_PREFIX(GetTrackMatrixivNV): popq %rdx popq %rsi popq %rdi - movq 5992(%rax), %r11 + movq 6000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTrackMatrixivNV), .-GL_PREFIX(GetTrackMatrixivNV) @@ -28349,7 +28402,7 @@ GL_PREFIX(GetTrackMatrixivNV): GL_PREFIX(GetVertexAttribPointervNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6000(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28359,13 +28412,13 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6000(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28375,7 +28428,7 @@ GL_PREFIX(GetVertexAttribPointervNV): popq %rdx popq %rsi popq %rdi - movq 6000(%rax), %r11 + movq 6008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribPointervNV), .-GL_PREFIX(GetVertexAttribPointervNV) @@ -28386,7 +28439,7 @@ GL_PREFIX(GetVertexAttribPointervNV): GL_PREFIX(GetVertexAttribdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6008(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28396,13 +28449,13 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6008(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28412,7 +28465,7 @@ GL_PREFIX(GetVertexAttribdvNV): popq %rdx popq %rsi popq %rdi - movq 6008(%rax), %r11 + movq 6016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribdvNV), .-GL_PREFIX(GetVertexAttribdvNV) @@ -28423,7 +28476,7 @@ GL_PREFIX(GetVertexAttribdvNV): GL_PREFIX(GetVertexAttribfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6016(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28433,13 +28486,13 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6016(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28449,7 +28502,7 @@ GL_PREFIX(GetVertexAttribfvNV): popq %rdx popq %rsi popq %rdi - movq 6016(%rax), %r11 + movq 6024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribfvNV), .-GL_PREFIX(GetVertexAttribfvNV) @@ -28460,7 +28513,7 @@ GL_PREFIX(GetVertexAttribfvNV): GL_PREFIX(GetVertexAttribivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6024(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28470,13 +28523,13 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6024(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28486,7 +28539,7 @@ GL_PREFIX(GetVertexAttribivNV): popq %rdx popq %rsi popq %rdi - movq 6024(%rax), %r11 + movq 6032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribivNV), .-GL_PREFIX(GetVertexAttribivNV) @@ -28497,25 +28550,25 @@ GL_PREFIX(GetVertexAttribivNV): GL_PREFIX(IsProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6032(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6032(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6032(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6032(%rax), %r11 + movq 6040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsProgramNV), .-GL_PREFIX(IsProgramNV) @@ -28526,7 +28579,7 @@ GL_PREFIX(IsProgramNV): GL_PREFIX(LoadProgramNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6040(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28540,13 +28593,13 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6040(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28560,7 +28613,7 @@ GL_PREFIX(LoadProgramNV): popq %rdx popq %rsi popq %rdi - movq 6040(%rax), %r11 + movq 6048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(LoadProgramNV), .-GL_PREFIX(LoadProgramNV) @@ -28571,7 +28624,7 @@ GL_PREFIX(LoadProgramNV): GL_PREFIX(ProgramParameters4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6048(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28585,13 +28638,13 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6048(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28605,7 +28658,7 @@ GL_PREFIX(ProgramParameters4dvNV): popq %rdx popq %rsi popq %rdi - movq 6048(%rax), %r11 + movq 6056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4dvNV), .-GL_PREFIX(ProgramParameters4dvNV) @@ -28616,7 +28669,7 @@ GL_PREFIX(ProgramParameters4dvNV): GL_PREFIX(ProgramParameters4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6056(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28630,13 +28683,13 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6056(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28650,7 +28703,7 @@ GL_PREFIX(ProgramParameters4fvNV): popq %rdx popq %rsi popq %rdi - movq 6056(%rax), %r11 + movq 6064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramParameters4fvNV), .-GL_PREFIX(ProgramParameters4fvNV) @@ -28661,7 +28714,7 @@ GL_PREFIX(ProgramParameters4fvNV): GL_PREFIX(RequestResidentProgramsNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6064(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28671,13 +28724,13 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6064(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28687,7 +28740,7 @@ GL_PREFIX(RequestResidentProgramsNV): popq %rbp popq %rsi popq %rdi - movq 6064(%rax), %r11 + movq 6072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RequestResidentProgramsNV), .-GL_PREFIX(RequestResidentProgramsNV) @@ -28698,7 +28751,7 @@ GL_PREFIX(RequestResidentProgramsNV): GL_PREFIX(TrackMatrixNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6072(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28712,13 +28765,13 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6072(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28732,7 +28785,7 @@ GL_PREFIX(TrackMatrixNV): popq %rdx popq %rsi popq %rdi - movq 6072(%rax), %r11 + movq 6080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TrackMatrixNV), .-GL_PREFIX(TrackMatrixNV) @@ -28743,7 +28796,7 @@ GL_PREFIX(TrackMatrixNV): GL_PREFIX(VertexAttrib1dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6080(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -28753,13 +28806,13 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6080(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6080(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -28769,7 +28822,7 @@ GL_PREFIX(VertexAttrib1dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6080(%rax), %r11 + movq 6088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dNV), .-GL_PREFIX(VertexAttrib1dNV) @@ -28780,7 +28833,7 @@ GL_PREFIX(VertexAttrib1dNV): GL_PREFIX(VertexAttrib1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6088(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28790,13 +28843,13 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6088(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28806,7 +28859,7 @@ GL_PREFIX(VertexAttrib1dvNV): popq %rbp popq %rsi popq %rdi - movq 6088(%rax), %r11 + movq 6096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1dvNV), .-GL_PREFIX(VertexAttrib1dvNV) @@ -28817,7 +28870,7 @@ GL_PREFIX(VertexAttrib1dvNV): GL_PREFIX(VertexAttrib1fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6096(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -28827,13 +28880,13 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6096(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6096(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -28843,7 +28896,7 @@ GL_PREFIX(VertexAttrib1fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6096(%rax), %r11 + movq 6104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fNV), .-GL_PREFIX(VertexAttrib1fNV) @@ -28854,7 +28907,7 @@ GL_PREFIX(VertexAttrib1fNV): GL_PREFIX(VertexAttrib1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6104(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28864,13 +28917,13 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6104(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28880,7 +28933,7 @@ GL_PREFIX(VertexAttrib1fvNV): popq %rbp popq %rsi popq %rdi - movq 6104(%rax), %r11 + movq 6112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1fvNV), .-GL_PREFIX(VertexAttrib1fvNV) @@ -28891,7 +28944,7 @@ GL_PREFIX(VertexAttrib1fvNV): GL_PREFIX(VertexAttrib1sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6112(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28901,13 +28954,13 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6112(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28917,7 +28970,7 @@ GL_PREFIX(VertexAttrib1sNV): popq %rbp popq %rsi popq %rdi - movq 6112(%rax), %r11 + movq 6120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1sNV), .-GL_PREFIX(VertexAttrib1sNV) @@ -28928,7 +28981,7 @@ GL_PREFIX(VertexAttrib1sNV): GL_PREFIX(VertexAttrib1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6120(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -28938,13 +28991,13 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6120(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -28954,7 +29007,7 @@ GL_PREFIX(VertexAttrib1svNV): popq %rbp popq %rsi popq %rdi - movq 6120(%rax), %r11 + movq 6128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib1svNV), .-GL_PREFIX(VertexAttrib1svNV) @@ -28965,7 +29018,7 @@ GL_PREFIX(VertexAttrib1svNV): GL_PREFIX(VertexAttrib2dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6128(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -28977,13 +29030,13 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6128(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6128(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -28995,7 +29048,7 @@ GL_PREFIX(VertexAttrib2dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6128(%rax), %r11 + movq 6136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dNV), .-GL_PREFIX(VertexAttrib2dNV) @@ -29006,7 +29059,7 @@ GL_PREFIX(VertexAttrib2dNV): GL_PREFIX(VertexAttrib2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6136(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29016,13 +29069,13 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6136(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29032,7 +29085,7 @@ GL_PREFIX(VertexAttrib2dvNV): popq %rbp popq %rsi popq %rdi - movq 6136(%rax), %r11 + movq 6144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2dvNV), .-GL_PREFIX(VertexAttrib2dvNV) @@ -29043,7 +29096,7 @@ GL_PREFIX(VertexAttrib2dvNV): GL_PREFIX(VertexAttrib2fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6144(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $24, %rsp @@ -29055,13 +29108,13 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6144(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6144(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 1: subq $24, %rsp @@ -29073,7 +29126,7 @@ GL_PREFIX(VertexAttrib2fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $24, %rsp - movq 6144(%rax), %r11 + movq 6152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fNV), .-GL_PREFIX(VertexAttrib2fNV) @@ -29084,7 +29137,7 @@ GL_PREFIX(VertexAttrib2fNV): GL_PREFIX(VertexAttrib2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6152(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29094,13 +29147,13 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6152(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29110,7 +29163,7 @@ GL_PREFIX(VertexAttrib2fvNV): popq %rbp popq %rsi popq %rdi - movq 6152(%rax), %r11 + movq 6160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2fvNV), .-GL_PREFIX(VertexAttrib2fvNV) @@ -29121,7 +29174,7 @@ GL_PREFIX(VertexAttrib2fvNV): GL_PREFIX(VertexAttrib2sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6160(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29131,13 +29184,13 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6160(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29147,7 +29200,7 @@ GL_PREFIX(VertexAttrib2sNV): popq %rdx popq %rsi popq %rdi - movq 6160(%rax), %r11 + movq 6168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2sNV), .-GL_PREFIX(VertexAttrib2sNV) @@ -29158,7 +29211,7 @@ GL_PREFIX(VertexAttrib2sNV): GL_PREFIX(VertexAttrib2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6168(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29168,13 +29221,13 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6168(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29184,7 +29237,7 @@ GL_PREFIX(VertexAttrib2svNV): popq %rbp popq %rsi popq %rdi - movq 6168(%rax), %r11 + movq 6176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib2svNV), .-GL_PREFIX(VertexAttrib2svNV) @@ -29195,7 +29248,7 @@ GL_PREFIX(VertexAttrib2svNV): GL_PREFIX(VertexAttrib3dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6176(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -29209,13 +29262,13 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6176(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6176(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -29229,7 +29282,7 @@ GL_PREFIX(VertexAttrib3dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6176(%rax), %r11 + movq 6184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dNV), .-GL_PREFIX(VertexAttrib3dNV) @@ -29240,7 +29293,7 @@ GL_PREFIX(VertexAttrib3dNV): GL_PREFIX(VertexAttrib3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6184(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29250,13 +29303,13 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6184(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29266,7 +29319,7 @@ GL_PREFIX(VertexAttrib3dvNV): popq %rbp popq %rsi popq %rdi - movq 6184(%rax), %r11 + movq 6192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3dvNV), .-GL_PREFIX(VertexAttrib3dvNV) @@ -29277,7 +29330,7 @@ GL_PREFIX(VertexAttrib3dvNV): GL_PREFIX(VertexAttrib3fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6192(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -29291,13 +29344,13 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6192(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6192(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -29311,7 +29364,7 @@ GL_PREFIX(VertexAttrib3fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6192(%rax), %r11 + movq 6200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fNV), .-GL_PREFIX(VertexAttrib3fNV) @@ -29322,7 +29375,7 @@ GL_PREFIX(VertexAttrib3fNV): GL_PREFIX(VertexAttrib3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6200(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29332,13 +29385,13 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6200(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29348,7 +29401,7 @@ GL_PREFIX(VertexAttrib3fvNV): popq %rbp popq %rsi popq %rdi - movq 6200(%rax), %r11 + movq 6208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3fvNV), .-GL_PREFIX(VertexAttrib3fvNV) @@ -29359,7 +29412,7 @@ GL_PREFIX(VertexAttrib3fvNV): GL_PREFIX(VertexAttrib3sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6208(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29373,13 +29426,13 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6208(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29393,7 +29446,7 @@ GL_PREFIX(VertexAttrib3sNV): popq %rdx popq %rsi popq %rdi - movq 6208(%rax), %r11 + movq 6216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3sNV), .-GL_PREFIX(VertexAttrib3sNV) @@ -29404,7 +29457,7 @@ GL_PREFIX(VertexAttrib3sNV): GL_PREFIX(VertexAttrib3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6216(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29414,13 +29467,13 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6216(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29430,7 +29483,7 @@ GL_PREFIX(VertexAttrib3svNV): popq %rbp popq %rsi popq %rdi - movq 6216(%rax), %r11 + movq 6224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib3svNV), .-GL_PREFIX(VertexAttrib3svNV) @@ -29441,7 +29494,7 @@ GL_PREFIX(VertexAttrib3svNV): GL_PREFIX(VertexAttrib4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6224(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -29457,13 +29510,13 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6224(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6224(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -29479,7 +29532,7 @@ GL_PREFIX(VertexAttrib4dNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6224(%rax), %r11 + movq 6232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dNV), .-GL_PREFIX(VertexAttrib4dNV) @@ -29490,7 +29543,7 @@ GL_PREFIX(VertexAttrib4dNV): GL_PREFIX(VertexAttrib4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6232(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29500,13 +29553,13 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6232(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29516,7 +29569,7 @@ GL_PREFIX(VertexAttrib4dvNV): popq %rbp popq %rsi popq %rdi - movq 6232(%rax), %r11 + movq 6240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4dvNV), .-GL_PREFIX(VertexAttrib4dvNV) @@ -29527,7 +29580,7 @@ GL_PREFIX(VertexAttrib4dvNV): GL_PREFIX(VertexAttrib4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6240(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $40, %rsp @@ -29543,13 +29596,13 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6240(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6240(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 1: subq $40, %rsp @@ -29565,7 +29618,7 @@ GL_PREFIX(VertexAttrib4fNV): movq 8(%rsp), %xmm0 movq (%rsp), %rdi addq $40, %rsp - movq 6240(%rax), %r11 + movq 6248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fNV), .-GL_PREFIX(VertexAttrib4fNV) @@ -29576,7 +29629,7 @@ GL_PREFIX(VertexAttrib4fNV): GL_PREFIX(VertexAttrib4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6248(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29586,13 +29639,13 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6248(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29602,7 +29655,7 @@ GL_PREFIX(VertexAttrib4fvNV): popq %rbp popq %rsi popq %rdi - movq 6248(%rax), %r11 + movq 6256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4fvNV), .-GL_PREFIX(VertexAttrib4fvNV) @@ -29613,7 +29666,7 @@ GL_PREFIX(VertexAttrib4fvNV): GL_PREFIX(VertexAttrib4sNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6256(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29627,13 +29680,13 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6256(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29647,7 +29700,7 @@ GL_PREFIX(VertexAttrib4sNV): popq %rdx popq %rsi popq %rdi - movq 6256(%rax), %r11 + movq 6264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4sNV), .-GL_PREFIX(VertexAttrib4sNV) @@ -29658,7 +29711,7 @@ GL_PREFIX(VertexAttrib4sNV): GL_PREFIX(VertexAttrib4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6264(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29668,13 +29721,13 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6264(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29684,7 +29737,7 @@ GL_PREFIX(VertexAttrib4svNV): popq %rbp popq %rsi popq %rdi - movq 6264(%rax), %r11 + movq 6272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4svNV), .-GL_PREFIX(VertexAttrib4svNV) @@ -29695,7 +29748,7 @@ GL_PREFIX(VertexAttrib4svNV): GL_PREFIX(VertexAttrib4ubNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6272(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29709,13 +29762,13 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6272(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29729,7 +29782,7 @@ GL_PREFIX(VertexAttrib4ubNV): popq %rdx popq %rsi popq %rdi - movq 6272(%rax), %r11 + movq 6280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubNV), .-GL_PREFIX(VertexAttrib4ubNV) @@ -29740,7 +29793,7 @@ GL_PREFIX(VertexAttrib4ubNV): GL_PREFIX(VertexAttrib4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6280(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29750,13 +29803,13 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6280(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29766,7 +29819,7 @@ GL_PREFIX(VertexAttrib4ubvNV): popq %rbp popq %rsi popq %rdi - movq 6280(%rax), %r11 + movq 6288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttrib4ubvNV), .-GL_PREFIX(VertexAttrib4ubvNV) @@ -29777,7 +29830,7 @@ GL_PREFIX(VertexAttrib4ubvNV): GL_PREFIX(VertexAttribPointerNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6288(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29791,13 +29844,13 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6288(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29811,7 +29864,7 @@ GL_PREFIX(VertexAttribPointerNV): popq %rdx popq %rsi popq %rdi - movq 6288(%rax), %r11 + movq 6296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribPointerNV), .-GL_PREFIX(VertexAttribPointerNV) @@ -29822,7 +29875,7 @@ GL_PREFIX(VertexAttribPointerNV): GL_PREFIX(VertexAttribs1dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6296(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29832,13 +29885,13 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6296(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29848,7 +29901,7 @@ GL_PREFIX(VertexAttribs1dvNV): popq %rdx popq %rsi popq %rdi - movq 6296(%rax), %r11 + movq 6304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1dvNV), .-GL_PREFIX(VertexAttribs1dvNV) @@ -29859,7 +29912,7 @@ GL_PREFIX(VertexAttribs1dvNV): GL_PREFIX(VertexAttribs1fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6304(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29869,13 +29922,13 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6304(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29885,7 +29938,7 @@ GL_PREFIX(VertexAttribs1fvNV): popq %rdx popq %rsi popq %rdi - movq 6304(%rax), %r11 + movq 6312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1fvNV), .-GL_PREFIX(VertexAttribs1fvNV) @@ -29896,7 +29949,7 @@ GL_PREFIX(VertexAttribs1fvNV): GL_PREFIX(VertexAttribs1svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6312(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29906,13 +29959,13 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6312(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29922,7 +29975,7 @@ GL_PREFIX(VertexAttribs1svNV): popq %rdx popq %rsi popq %rdi - movq 6312(%rax), %r11 + movq 6320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs1svNV), .-GL_PREFIX(VertexAttribs1svNV) @@ -29933,7 +29986,7 @@ GL_PREFIX(VertexAttribs1svNV): GL_PREFIX(VertexAttribs2dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6320(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29943,13 +29996,13 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6320(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29959,7 +30012,7 @@ GL_PREFIX(VertexAttribs2dvNV): popq %rdx popq %rsi popq %rdi - movq 6320(%rax), %r11 + movq 6328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2dvNV), .-GL_PREFIX(VertexAttribs2dvNV) @@ -29970,7 +30023,7 @@ GL_PREFIX(VertexAttribs2dvNV): GL_PREFIX(VertexAttribs2fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6328(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -29980,13 +30033,13 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6328(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -29996,7 +30049,7 @@ GL_PREFIX(VertexAttribs2fvNV): popq %rdx popq %rsi popq %rdi - movq 6328(%rax), %r11 + movq 6336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2fvNV), .-GL_PREFIX(VertexAttribs2fvNV) @@ -30007,7 +30060,7 @@ GL_PREFIX(VertexAttribs2fvNV): GL_PREFIX(VertexAttribs2svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6336(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30017,13 +30070,13 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6336(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30033,7 +30086,7 @@ GL_PREFIX(VertexAttribs2svNV): popq %rdx popq %rsi popq %rdi - movq 6336(%rax), %r11 + movq 6344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs2svNV), .-GL_PREFIX(VertexAttribs2svNV) @@ -30044,7 +30097,7 @@ GL_PREFIX(VertexAttribs2svNV): GL_PREFIX(VertexAttribs3dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6344(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30054,13 +30107,13 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 6344(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6344(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30070,7 +30123,7 @@ GL_PREFIX(VertexAttribs3dvNV): popq %rdx popq %rsi popq %rdi - movq 6344(%rax), %r11 + movq 6352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3dvNV), .-GL_PREFIX(VertexAttribs3dvNV) @@ -30081,7 +30134,7 @@ GL_PREFIX(VertexAttribs3dvNV): GL_PREFIX(VertexAttribs3fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6352(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30091,13 +30144,13 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6352(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30107,7 +30160,7 @@ GL_PREFIX(VertexAttribs3fvNV): popq %rdx popq %rsi popq %rdi - movq 6352(%rax), %r11 + movq 6360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3fvNV), .-GL_PREFIX(VertexAttribs3fvNV) @@ -30118,7 +30171,7 @@ GL_PREFIX(VertexAttribs3fvNV): GL_PREFIX(VertexAttribs3svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6360(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30128,13 +30181,13 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6360(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30144,7 +30197,7 @@ GL_PREFIX(VertexAttribs3svNV): popq %rdx popq %rsi popq %rdi - movq 6360(%rax), %r11 + movq 6368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs3svNV), .-GL_PREFIX(VertexAttribs3svNV) @@ -30155,7 +30208,7 @@ GL_PREFIX(VertexAttribs3svNV): GL_PREFIX(VertexAttribs4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6368(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30165,13 +30218,13 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 6368(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6368(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30181,7 +30234,7 @@ GL_PREFIX(VertexAttribs4dvNV): popq %rdx popq %rsi popq %rdi - movq 6368(%rax), %r11 + movq 6376(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4dvNV), .-GL_PREFIX(VertexAttribs4dvNV) @@ -30192,7 +30245,7 @@ GL_PREFIX(VertexAttribs4dvNV): GL_PREFIX(VertexAttribs4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6376(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30202,13 +30255,13 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 6376(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6376(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30218,7 +30271,7 @@ GL_PREFIX(VertexAttribs4fvNV): popq %rdx popq %rsi popq %rdi - movq 6376(%rax), %r11 + movq 6384(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4fvNV), .-GL_PREFIX(VertexAttribs4fvNV) @@ -30229,7 +30282,7 @@ GL_PREFIX(VertexAttribs4fvNV): GL_PREFIX(VertexAttribs4svNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6384(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30239,13 +30292,13 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6384(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30255,7 +30308,7 @@ GL_PREFIX(VertexAttribs4svNV): popq %rdx popq %rsi popq %rdi - movq 6384(%rax), %r11 + movq 6392(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4svNV), .-GL_PREFIX(VertexAttribs4svNV) @@ -30266,7 +30319,7 @@ GL_PREFIX(VertexAttribs4svNV): GL_PREFIX(VertexAttribs4ubvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6392(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30276,13 +30329,13 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6392(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30292,7 +30345,7 @@ GL_PREFIX(VertexAttribs4ubvNV): popq %rdx popq %rsi popq %rdi - movq 6392(%rax), %r11 + movq 6400(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribs4ubvNV), .-GL_PREFIX(VertexAttribs4ubvNV) @@ -30303,7 +30356,7 @@ GL_PREFIX(VertexAttribs4ubvNV): GL_PREFIX(GetTexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6400(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30313,13 +30366,13 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6400(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30329,7 +30382,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6400(%rax), %r11 + movq 6408(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterfvATI), .-GL_PREFIX(GetTexBumpParameterfvATI) @@ -30340,7 +30393,7 @@ GL_PREFIX(GetTexBumpParameterfvATI): GL_PREFIX(GetTexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6408(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30350,13 +30403,13 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6408(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6408(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30366,7 +30419,7 @@ GL_PREFIX(GetTexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6408(%rax), %r11 + movq 6416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexBumpParameterivATI), .-GL_PREFIX(GetTexBumpParameterivATI) @@ -30377,7 +30430,7 @@ GL_PREFIX(GetTexBumpParameterivATI): GL_PREFIX(TexBumpParameterfvATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6416(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30387,13 +30440,13 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6416(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30403,7 +30456,7 @@ GL_PREFIX(TexBumpParameterfvATI): popq %rbp popq %rsi popq %rdi - movq 6416(%rax), %r11 + movq 6424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterfvATI), .-GL_PREFIX(TexBumpParameterfvATI) @@ -30414,7 +30467,7 @@ GL_PREFIX(TexBumpParameterfvATI): GL_PREFIX(TexBumpParameterivATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6424(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30424,13 +30477,13 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6424(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30440,7 +30493,7 @@ GL_PREFIX(TexBumpParameterivATI): popq %rbp popq %rsi popq %rdi - movq 6424(%rax), %r11 + movq 6432(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexBumpParameterivATI), .-GL_PREFIX(TexBumpParameterivATI) @@ -30451,7 +30504,7 @@ GL_PREFIX(TexBumpParameterivATI): GL_PREFIX(AlphaFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6432(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30469,13 +30522,13 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6432(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6432(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30493,7 +30546,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6432(%rax), %r11 + movq 6440(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp1ATI), .-GL_PREFIX(AlphaFragmentOp1ATI) @@ -30504,7 +30557,7 @@ GL_PREFIX(AlphaFragmentOp1ATI): GL_PREFIX(AlphaFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6440(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30522,13 +30575,13 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6440(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30546,7 +30599,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6440(%rax), %r11 + movq 6448(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp2ATI), .-GL_PREFIX(AlphaFragmentOp2ATI) @@ -30557,7 +30610,7 @@ GL_PREFIX(AlphaFragmentOp2ATI): GL_PREFIX(AlphaFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6448(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30575,13 +30628,13 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6448(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30599,7 +30652,7 @@ GL_PREFIX(AlphaFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6448(%rax), %r11 + movq 6456(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(AlphaFragmentOp3ATI), .-GL_PREFIX(AlphaFragmentOp3ATI) @@ -30610,25 +30663,25 @@ GL_PREFIX(AlphaFragmentOp3ATI): GL_PREFIX(BeginFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6456(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6456(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6456(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6456(%rax), %r11 + movq 6464(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginFragmentShaderATI), .-GL_PREFIX(BeginFragmentShaderATI) @@ -30639,25 +30692,25 @@ GL_PREFIX(BeginFragmentShaderATI): GL_PREFIX(BindFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6464(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6464(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6464(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6464(%rax), %r11 + movq 6472(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragmentShaderATI), .-GL_PREFIX(BindFragmentShaderATI) @@ -30668,7 +30721,7 @@ GL_PREFIX(BindFragmentShaderATI): GL_PREFIX(ColorFragmentOp1ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6472(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30686,13 +30739,13 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6472(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30710,7 +30763,7 @@ GL_PREFIX(ColorFragmentOp1ATI): popq %rdx popq %rsi popq %rdi - movq 6472(%rax), %r11 + movq 6480(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp1ATI), .-GL_PREFIX(ColorFragmentOp1ATI) @@ -30721,7 +30774,7 @@ GL_PREFIX(ColorFragmentOp1ATI): GL_PREFIX(ColorFragmentOp2ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6480(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30739,13 +30792,13 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6480(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30763,7 +30816,7 @@ GL_PREFIX(ColorFragmentOp2ATI): popq %rdx popq %rsi popq %rdi - movq 6480(%rax), %r11 + movq 6488(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp2ATI), .-GL_PREFIX(ColorFragmentOp2ATI) @@ -30774,7 +30827,7 @@ GL_PREFIX(ColorFragmentOp2ATI): GL_PREFIX(ColorFragmentOp3ATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6488(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30792,13 +30845,13 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6488(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30816,7 +30869,7 @@ GL_PREFIX(ColorFragmentOp3ATI): popq %rdx popq %rsi popq %rdi - movq 6488(%rax), %r11 + movq 6496(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorFragmentOp3ATI), .-GL_PREFIX(ColorFragmentOp3ATI) @@ -30827,25 +30880,25 @@ GL_PREFIX(ColorFragmentOp3ATI): GL_PREFIX(DeleteFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6496(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6496(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6496(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6496(%rax), %r11 + movq 6504(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFragmentShaderATI), .-GL_PREFIX(DeleteFragmentShaderATI) @@ -30856,25 +30909,25 @@ GL_PREFIX(DeleteFragmentShaderATI): GL_PREFIX(EndFragmentShaderATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6504(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6504(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6504(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6504(%rax), %r11 + movq 6512(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndFragmentShaderATI), .-GL_PREFIX(EndFragmentShaderATI) @@ -30885,25 +30938,25 @@ GL_PREFIX(EndFragmentShaderATI): GL_PREFIX(GenFragmentShadersATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6512(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6512(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6512(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6512(%rax), %r11 + movq 6520(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFragmentShadersATI), .-GL_PREFIX(GenFragmentShadersATI) @@ -30914,7 +30967,7 @@ GL_PREFIX(GenFragmentShadersATI): GL_PREFIX(PassTexCoordATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6520(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30924,13 +30977,13 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6520(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30940,7 +30993,7 @@ GL_PREFIX(PassTexCoordATI): popq %rdx popq %rsi popq %rdi - movq 6520(%rax), %r11 + movq 6528(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PassTexCoordATI), .-GL_PREFIX(PassTexCoordATI) @@ -30951,7 +31004,7 @@ GL_PREFIX(PassTexCoordATI): GL_PREFIX(SampleMapATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6528(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30961,13 +31014,13 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6528(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -30977,7 +31030,7 @@ GL_PREFIX(SampleMapATI): popq %rdx popq %rsi popq %rdi - movq 6528(%rax), %r11 + movq 6536(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SampleMapATI), .-GL_PREFIX(SampleMapATI) @@ -30988,7 +31041,7 @@ GL_PREFIX(SampleMapATI): GL_PREFIX(SetFragmentShaderConstantATI): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6536(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -30998,13 +31051,13 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6536(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6536(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31014,7 +31067,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): popq %rbp popq %rsi popq %rdi - movq 6536(%rax), %r11 + movq 6544(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(SetFragmentShaderConstantATI), .-GL_PREFIX(SetFragmentShaderConstantATI) @@ -31025,7 +31078,7 @@ GL_PREFIX(SetFragmentShaderConstantATI): GL_PREFIX(PointParameteriNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6544(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31035,13 +31088,13 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6544(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31051,7 +31104,7 @@ GL_PREFIX(PointParameteriNV): popq %rbp popq %rsi popq %rdi - movq 6544(%rax), %r11 + movq 6552(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PointParameteriNV), .-GL_PREFIX(PointParameteriNV) @@ -31062,7 +31115,7 @@ GL_PREFIX(PointParameteriNV): GL_PREFIX(PointParameterivNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6552(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31072,13 +31125,13 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6552(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6552(%rax), %r11 + movq 6560(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31088,40 +31141,10 @@ GL_PREFIX(PointParameterivNV): popq %rbp popq %rsi popq %rdi - movq 6552(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_820) - .type GL_PREFIX(_dispatch_stub_820), @function - HIDDEN(GL_PREFIX(_dispatch_stub_820)) -GL_PREFIX(_dispatch_stub_820): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 6560(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rdi - call _x86_64_get_dispatch@PLT - popq %rdi - movq 6560(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 6560(%rax), %r11 - jmp *%r11 -1: - pushq %rdi - call _glapi_get_dispatch - popq %rdi movq 6560(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_820), .-GL_PREFIX(_dispatch_stub_820) + .size GL_PREFIX(PointParameterivNV), .-GL_PREFIX(PointParameterivNV) .p2align 4,,15 .globl GL_PREFIX(_dispatch_stub_821) @@ -31164,11 +31187,7 @@ GL_PREFIX(_dispatch_stub_822): jmp *%r11 #elif defined(PTHREADS) pushq %rdi - pushq %rsi - pushq %rbp call _x86_64_get_dispatch@PLT - popq %rbp - popq %rsi popq %rdi movq 6576(%rax), %r11 jmp *%r11 @@ -31180,11 +31199,7 @@ GL_PREFIX(_dispatch_stub_822): jmp *%r11 1: pushq %rdi - pushq %rsi - pushq %rbp call _glapi_get_dispatch - popq %rbp - popq %rsi popq %rdi movq 6576(%rax), %r11 jmp *%r11 @@ -31240,7 +31255,11 @@ GL_PREFIX(_dispatch_stub_824): jmp *%r11 #elif defined(PTHREADS) pushq %rdi + pushq %rsi + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rsi popq %rdi movq 6592(%rax), %r11 jmp *%r11 @@ -31252,20 +31271,54 @@ GL_PREFIX(_dispatch_stub_824): jmp *%r11 1: pushq %rdi + pushq %rsi + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rsi popq %rdi movq 6592(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(_dispatch_stub_824), .-GL_PREFIX(_dispatch_stub_824) + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_825) + .type GL_PREFIX(_dispatch_stub_825), @function + HIDDEN(GL_PREFIX(_dispatch_stub_825)) +GL_PREFIX(_dispatch_stub_825): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 6600(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + call _x86_64_get_dispatch@PLT + popq %rdi + movq 6600(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 6600(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + call _glapi_get_dispatch + popq %rdi + movq 6600(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_825), .-GL_PREFIX(_dispatch_stub_825) + .p2align 4,,15 .globl GL_PREFIX(GetProgramNamedParameterdvNV) .type GL_PREFIX(GetProgramNamedParameterdvNV), @function GL_PREFIX(GetProgramNamedParameterdvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6600(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31279,13 +31332,13 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6600(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31299,7 +31352,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): popq %rdx popq %rsi popq %rdi - movq 6600(%rax), %r11 + movq 6608(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterdvNV), .-GL_PREFIX(GetProgramNamedParameterdvNV) @@ -31310,7 +31363,7 @@ GL_PREFIX(GetProgramNamedParameterdvNV): GL_PREFIX(GetProgramNamedParameterfvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6608(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31324,13 +31377,13 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6608(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6608(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31344,7 +31397,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): popq %rdx popq %rsi popq %rdi - movq 6608(%rax), %r11 + movq 6616(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetProgramNamedParameterfvNV), .-GL_PREFIX(GetProgramNamedParameterfvNV) @@ -31355,7 +31408,7 @@ GL_PREFIX(GetProgramNamedParameterfvNV): GL_PREFIX(ProgramNamedParameter4dNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6616(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -31375,13 +31428,13 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6616(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6616(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -31401,7 +31454,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6616(%rax), %r11 + movq 6624(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dNV), .-GL_PREFIX(ProgramNamedParameter4dNV) @@ -31412,7 +31465,7 @@ GL_PREFIX(ProgramNamedParameter4dNV): GL_PREFIX(ProgramNamedParameter4dvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6624(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31426,13 +31479,13 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6624(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31446,7 +31499,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): popq %rdx popq %rsi popq %rdi - movq 6624(%rax), %r11 + movq 6632(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4dvNV), .-GL_PREFIX(ProgramNamedParameter4dvNV) @@ -31457,7 +31510,7 @@ GL_PREFIX(ProgramNamedParameter4dvNV): GL_PREFIX(ProgramNamedParameter4fNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6632(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) subq $56, %rsp @@ -31477,13 +31530,13 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6632(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6632(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 1: subq $56, %rsp @@ -31503,7 +31556,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): movq 8(%rsp), %rsi movq (%rsp), %rdi addq $56, %rsp - movq 6632(%rax), %r11 + movq 6640(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fNV), .-GL_PREFIX(ProgramNamedParameter4fNV) @@ -31514,7 +31567,7 @@ GL_PREFIX(ProgramNamedParameter4fNV): GL_PREFIX(ProgramNamedParameter4fvNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6640(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31528,13 +31581,13 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6640(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31548,7 +31601,7 @@ GL_PREFIX(ProgramNamedParameter4fvNV): popq %rdx popq %rsi popq %rdi - movq 6640(%rax), %r11 + movq 6648(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProgramNamedParameter4fvNV), .-GL_PREFIX(ProgramNamedParameter4fvNV) @@ -31559,25 +31612,25 @@ GL_PREFIX(ProgramNamedParameter4fvNV): GL_PREFIX(PrimitiveRestartIndexNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6648(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6648(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6648(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6648(%rax), %r11 + movq 6656(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PrimitiveRestartIndexNV), .-GL_PREFIX(PrimitiveRestartIndexNV) @@ -31588,37 +31641,37 @@ GL_PREFIX(PrimitiveRestartIndexNV): GL_PREFIX(PrimitiveRestartNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6656(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 6656(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6656(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 6656(%rax), %r11 + movq 6664(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(PrimitiveRestartNV), .-GL_PREFIX(PrimitiveRestartNV) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_833) - .type GL_PREFIX(_dispatch_stub_833), @function - HIDDEN(GL_PREFIX(_dispatch_stub_833)) -GL_PREFIX(_dispatch_stub_833): + .globl GL_PREFIX(_dispatch_stub_834) + .type GL_PREFIX(_dispatch_stub_834), @function + HIDDEN(GL_PREFIX(_dispatch_stub_834)) +GL_PREFIX(_dispatch_stub_834): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6664(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31628,13 +31681,13 @@ GL_PREFIX(_dispatch_stub_833): popq %rbp popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6664(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31644,19 +31697,19 @@ GL_PREFIX(_dispatch_stub_833): popq %rbp popq %rsi popq %rdi - movq 6664(%rax), %r11 + movq 6672(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_833), .-GL_PREFIX(_dispatch_stub_833) + .size GL_PREFIX(_dispatch_stub_834), .-GL_PREFIX(_dispatch_stub_834) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_834) - .type GL_PREFIX(_dispatch_stub_834), @function - HIDDEN(GL_PREFIX(_dispatch_stub_834)) -GL_PREFIX(_dispatch_stub_834): + .globl GL_PREFIX(_dispatch_stub_835) + .type GL_PREFIX(_dispatch_stub_835), @function + HIDDEN(GL_PREFIX(_dispatch_stub_835)) +GL_PREFIX(_dispatch_stub_835): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6672(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31666,13 +31719,13 @@ GL_PREFIX(_dispatch_stub_834): popq %rbp popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6672(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31682,10 +31735,10 @@ GL_PREFIX(_dispatch_stub_834): popq %rbp popq %rsi popq %rdi - movq 6672(%rax), %r11 + movq 6680(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_834), .-GL_PREFIX(_dispatch_stub_834) + .size GL_PREFIX(_dispatch_stub_835), .-GL_PREFIX(_dispatch_stub_835) .p2align 4,,15 .globl GL_PREFIX(BindFramebufferEXT) @@ -31693,7 +31746,7 @@ GL_PREFIX(_dispatch_stub_834): GL_PREFIX(BindFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6680(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31703,13 +31756,13 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6680(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31719,7 +31772,7 @@ GL_PREFIX(BindFramebufferEXT): popq %rbp popq %rsi popq %rdi - movq 6680(%rax), %r11 + movq 6688(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFramebufferEXT), .-GL_PREFIX(BindFramebufferEXT) @@ -31730,7 +31783,7 @@ GL_PREFIX(BindFramebufferEXT): GL_PREFIX(BindRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6688(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31740,13 +31793,13 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6688(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6688(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31756,7 +31809,7 @@ GL_PREFIX(BindRenderbufferEXT): popq %rbp popq %rsi popq %rdi - movq 6688(%rax), %r11 + movq 6696(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindRenderbufferEXT), .-GL_PREFIX(BindRenderbufferEXT) @@ -31767,25 +31820,25 @@ GL_PREFIX(BindRenderbufferEXT): GL_PREFIX(CheckFramebufferStatusEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6696(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6696(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6696(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6696(%rax), %r11 + movq 6704(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CheckFramebufferStatusEXT), .-GL_PREFIX(CheckFramebufferStatusEXT) @@ -31796,7 +31849,7 @@ GL_PREFIX(CheckFramebufferStatusEXT): GL_PREFIX(DeleteFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6704(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31806,13 +31859,13 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6704(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6704(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31822,7 +31875,7 @@ GL_PREFIX(DeleteFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6704(%rax), %r11 + movq 6712(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteFramebuffersEXT), .-GL_PREFIX(DeleteFramebuffersEXT) @@ -31833,7 +31886,7 @@ GL_PREFIX(DeleteFramebuffersEXT): GL_PREFIX(DeleteRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6712(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31843,13 +31896,13 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6712(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6712(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31859,7 +31912,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6712(%rax), %r11 + movq 6720(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DeleteRenderbuffersEXT), .-GL_PREFIX(DeleteRenderbuffersEXT) @@ -31870,7 +31923,7 @@ GL_PREFIX(DeleteRenderbuffersEXT): GL_PREFIX(FramebufferRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6720(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31884,13 +31937,13 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6720(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6720(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31904,7 +31957,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): popq %rdx popq %rsi popq %rdi - movq 6720(%rax), %r11 + movq 6728(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferRenderbufferEXT), .-GL_PREFIX(FramebufferRenderbufferEXT) @@ -31915,7 +31968,7 @@ GL_PREFIX(FramebufferRenderbufferEXT): GL_PREFIX(FramebufferTexture1DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6728(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31929,13 +31982,13 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6728(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6728(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31949,7 +32002,7 @@ GL_PREFIX(FramebufferTexture1DEXT): popq %rdx popq %rsi popq %rdi - movq 6728(%rax), %r11 + movq 6736(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture1DEXT), .-GL_PREFIX(FramebufferTexture1DEXT) @@ -31960,7 +32013,7 @@ GL_PREFIX(FramebufferTexture1DEXT): GL_PREFIX(FramebufferTexture2DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6736(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -31974,13 +32027,13 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6736(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6736(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -31994,7 +32047,7 @@ GL_PREFIX(FramebufferTexture2DEXT): popq %rdx popq %rsi popq %rdi - movq 6736(%rax), %r11 + movq 6744(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture2DEXT), .-GL_PREFIX(FramebufferTexture2DEXT) @@ -32005,7 +32058,7 @@ GL_PREFIX(FramebufferTexture2DEXT): GL_PREFIX(FramebufferTexture3DEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6744(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32023,13 +32076,13 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6744(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6744(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32047,7 +32100,7 @@ GL_PREFIX(FramebufferTexture3DEXT): popq %rdx popq %rsi popq %rdi - movq 6744(%rax), %r11 + movq 6752(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTexture3DEXT), .-GL_PREFIX(FramebufferTexture3DEXT) @@ -32058,7 +32111,7 @@ GL_PREFIX(FramebufferTexture3DEXT): GL_PREFIX(GenFramebuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6752(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32068,13 +32121,13 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6752(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6752(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32084,7 +32137,7 @@ GL_PREFIX(GenFramebuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6752(%rax), %r11 + movq 6760(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenFramebuffersEXT), .-GL_PREFIX(GenFramebuffersEXT) @@ -32095,7 +32148,7 @@ GL_PREFIX(GenFramebuffersEXT): GL_PREFIX(GenRenderbuffersEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6760(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32105,13 +32158,13 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6760(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6760(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32121,7 +32174,7 @@ GL_PREFIX(GenRenderbuffersEXT): popq %rbp popq %rsi popq %rdi - movq 6760(%rax), %r11 + movq 6768(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenRenderbuffersEXT), .-GL_PREFIX(GenRenderbuffersEXT) @@ -32132,25 +32185,25 @@ GL_PREFIX(GenRenderbuffersEXT): GL_PREFIX(GenerateMipmapEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6768(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6768(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6768(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6768(%rax), %r11 + movq 6776(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GenerateMipmapEXT), .-GL_PREFIX(GenerateMipmapEXT) @@ -32161,7 +32214,7 @@ GL_PREFIX(GenerateMipmapEXT): GL_PREFIX(GetFramebufferAttachmentParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6776(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32175,13 +32228,13 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6776(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6776(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32195,7 +32248,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6776(%rax), %r11 + movq 6784(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFramebufferAttachmentParameterivEXT), .-GL_PREFIX(GetFramebufferAttachmentParameterivEXT) @@ -32206,7 +32259,7 @@ GL_PREFIX(GetFramebufferAttachmentParameterivEXT): GL_PREFIX(GetRenderbufferParameterivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6784(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32216,13 +32269,13 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6784(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6784(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32232,7 +32285,7 @@ GL_PREFIX(GetRenderbufferParameterivEXT): popq %rdx popq %rsi popq %rdi - movq 6784(%rax), %r11 + movq 6792(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetRenderbufferParameterivEXT), .-GL_PREFIX(GetRenderbufferParameterivEXT) @@ -32243,25 +32296,25 @@ GL_PREFIX(GetRenderbufferParameterivEXT): GL_PREFIX(IsFramebufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6792(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6792(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6792(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6792(%rax), %r11 + movq 6800(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsFramebufferEXT), .-GL_PREFIX(IsFramebufferEXT) @@ -32272,25 +32325,25 @@ GL_PREFIX(IsFramebufferEXT): GL_PREFIX(IsRenderbufferEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6800(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 6800(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6800(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 6800(%rax), %r11 + movq 6808(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsRenderbufferEXT), .-GL_PREFIX(IsRenderbufferEXT) @@ -32301,7 +32354,7 @@ GL_PREFIX(IsRenderbufferEXT): GL_PREFIX(RenderbufferStorageEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6808(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32315,13 +32368,13 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6808(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6808(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32335,19 +32388,19 @@ GL_PREFIX(RenderbufferStorageEXT): popq %rdx popq %rsi popq %rdi - movq 6808(%rax), %r11 + movq 6816(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(RenderbufferStorageEXT), .-GL_PREFIX(RenderbufferStorageEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_852) - .type GL_PREFIX(_dispatch_stub_852), @function - HIDDEN(GL_PREFIX(_dispatch_stub_852)) -GL_PREFIX(_dispatch_stub_852): + .globl GL_PREFIX(_dispatch_stub_853) + .type GL_PREFIX(_dispatch_stub_853), @function + HIDDEN(GL_PREFIX(_dispatch_stub_853)) +GL_PREFIX(_dispatch_stub_853): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6816(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32365,13 +32418,13 @@ GL_PREFIX(_dispatch_stub_852): popq %rdx popq %rsi popq %rdi - movq 6816(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6816(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32389,19 +32442,19 @@ GL_PREFIX(_dispatch_stub_852): popq %rdx popq %rsi popq %rdi - movq 6816(%rax), %r11 + movq 6824(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_852), .-GL_PREFIX(_dispatch_stub_852) + .size GL_PREFIX(_dispatch_stub_853), .-GL_PREFIX(_dispatch_stub_853) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_853) - .type GL_PREFIX(_dispatch_stub_853), @function - HIDDEN(GL_PREFIX(_dispatch_stub_853)) -GL_PREFIX(_dispatch_stub_853): + .globl GL_PREFIX(_dispatch_stub_854) + .type GL_PREFIX(_dispatch_stub_854), @function + HIDDEN(GL_PREFIX(_dispatch_stub_854)) +GL_PREFIX(_dispatch_stub_854): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6824(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32411,13 +32464,13 @@ GL_PREFIX(_dispatch_stub_853): popq %rdx popq %rsi popq %rdi - movq 6824(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6824(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32427,19 +32480,19 @@ GL_PREFIX(_dispatch_stub_853): popq %rdx popq %rsi popq %rdi - movq 6824(%rax), %r11 + movq 6832(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_853), .-GL_PREFIX(_dispatch_stub_853) + .size GL_PREFIX(_dispatch_stub_854), .-GL_PREFIX(_dispatch_stub_854) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_854) - .type GL_PREFIX(_dispatch_stub_854), @function - HIDDEN(GL_PREFIX(_dispatch_stub_854)) -GL_PREFIX(_dispatch_stub_854): + .globl GL_PREFIX(_dispatch_stub_855) + .type GL_PREFIX(_dispatch_stub_855), @function + HIDDEN(GL_PREFIX(_dispatch_stub_855)) +GL_PREFIX(_dispatch_stub_855): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6832(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32449,13 +32502,13 @@ GL_PREFIX(_dispatch_stub_854): popq %rdx popq %rsi popq %rdi - movq 6832(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6832(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32465,10 +32518,10 @@ GL_PREFIX(_dispatch_stub_854): popq %rdx popq %rsi popq %rdi - movq 6832(%rax), %r11 + movq 6840(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_854), .-GL_PREFIX(_dispatch_stub_854) + .size GL_PREFIX(_dispatch_stub_855), .-GL_PREFIX(_dispatch_stub_855) .p2align 4,,15 .globl GL_PREFIX(BindFragDataLocationEXT) @@ -32476,7 +32529,7 @@ GL_PREFIX(_dispatch_stub_854): GL_PREFIX(BindFragDataLocationEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6840(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32486,13 +32539,13 @@ GL_PREFIX(BindFragDataLocationEXT): popq %rdx popq %rsi popq %rdi - movq 6840(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6840(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32502,7 +32555,7 @@ GL_PREFIX(BindFragDataLocationEXT): popq %rdx popq %rsi popq %rdi - movq 6840(%rax), %r11 + movq 6848(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindFragDataLocationEXT), .-GL_PREFIX(BindFragDataLocationEXT) @@ -32513,7 +32566,7 @@ GL_PREFIX(BindFragDataLocationEXT): GL_PREFIX(GetFragDataLocationEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6848(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32523,13 +32576,13 @@ GL_PREFIX(GetFragDataLocationEXT): popq %rbp popq %rsi popq %rdi - movq 6848(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6848(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32539,7 +32592,7 @@ GL_PREFIX(GetFragDataLocationEXT): popq %rbp popq %rsi popq %rdi - movq 6848(%rax), %r11 + movq 6856(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetFragDataLocationEXT), .-GL_PREFIX(GetFragDataLocationEXT) @@ -32550,7 +32603,7 @@ GL_PREFIX(GetFragDataLocationEXT): GL_PREFIX(GetUniformuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6856(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32560,13 +32613,13 @@ GL_PREFIX(GetUniformuivEXT): popq %rdx popq %rsi popq %rdi - movq 6856(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6856(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32576,7 +32629,7 @@ GL_PREFIX(GetUniformuivEXT): popq %rdx popq %rsi popq %rdi - movq 6856(%rax), %r11 + movq 6864(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetUniformuivEXT), .-GL_PREFIX(GetUniformuivEXT) @@ -32587,7 +32640,7 @@ GL_PREFIX(GetUniformuivEXT): GL_PREFIX(GetVertexAttribIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6864(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32597,13 +32650,13 @@ GL_PREFIX(GetVertexAttribIivEXT): popq %rdx popq %rsi popq %rdi - movq 6864(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6864(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32613,7 +32666,7 @@ GL_PREFIX(GetVertexAttribIivEXT): popq %rdx popq %rsi popq %rdi - movq 6864(%rax), %r11 + movq 6872(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribIivEXT), .-GL_PREFIX(GetVertexAttribIivEXT) @@ -32624,7 +32677,7 @@ GL_PREFIX(GetVertexAttribIivEXT): GL_PREFIX(GetVertexAttribIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6872(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32634,13 +32687,13 @@ GL_PREFIX(GetVertexAttribIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6872(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6872(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32650,7 +32703,7 @@ GL_PREFIX(GetVertexAttribIuivEXT): popq %rdx popq %rsi popq %rdi - movq 6872(%rax), %r11 + movq 6880(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetVertexAttribIuivEXT), .-GL_PREFIX(GetVertexAttribIuivEXT) @@ -32661,7 +32714,7 @@ GL_PREFIX(GetVertexAttribIuivEXT): GL_PREFIX(Uniform1uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6880(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32671,13 +32724,13 @@ GL_PREFIX(Uniform1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6880(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6880(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32687,7 +32740,7 @@ GL_PREFIX(Uniform1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6880(%rax), %r11 + movq 6888(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1uiEXT), .-GL_PREFIX(Uniform1uiEXT) @@ -32698,7 +32751,7 @@ GL_PREFIX(Uniform1uiEXT): GL_PREFIX(Uniform1uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6888(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32708,13 +32761,13 @@ GL_PREFIX(Uniform1uivEXT): popq %rdx popq %rsi popq %rdi - movq 6888(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6888(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32724,7 +32777,7 @@ GL_PREFIX(Uniform1uivEXT): popq %rdx popq %rsi popq %rdi - movq 6888(%rax), %r11 + movq 6896(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform1uivEXT), .-GL_PREFIX(Uniform1uivEXT) @@ -32735,7 +32788,7 @@ GL_PREFIX(Uniform1uivEXT): GL_PREFIX(Uniform2uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6896(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32745,13 +32798,13 @@ GL_PREFIX(Uniform2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6896(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6896(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32761,7 +32814,7 @@ GL_PREFIX(Uniform2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6896(%rax), %r11 + movq 6904(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2uiEXT), .-GL_PREFIX(Uniform2uiEXT) @@ -32772,7 +32825,7 @@ GL_PREFIX(Uniform2uiEXT): GL_PREFIX(Uniform2uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6904(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32782,13 +32835,13 @@ GL_PREFIX(Uniform2uivEXT): popq %rdx popq %rsi popq %rdi - movq 6904(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6904(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32798,7 +32851,7 @@ GL_PREFIX(Uniform2uivEXT): popq %rdx popq %rsi popq %rdi - movq 6904(%rax), %r11 + movq 6912(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform2uivEXT), .-GL_PREFIX(Uniform2uivEXT) @@ -32809,7 +32862,7 @@ GL_PREFIX(Uniform2uivEXT): GL_PREFIX(Uniform3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6912(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32823,13 +32876,13 @@ GL_PREFIX(Uniform3uiEXT): popq %rdx popq %rsi popq %rdi - movq 6912(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6912(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32843,7 +32896,7 @@ GL_PREFIX(Uniform3uiEXT): popq %rdx popq %rsi popq %rdi - movq 6912(%rax), %r11 + movq 6920(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3uiEXT), .-GL_PREFIX(Uniform3uiEXT) @@ -32854,7 +32907,7 @@ GL_PREFIX(Uniform3uiEXT): GL_PREFIX(Uniform3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6920(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32864,13 +32917,13 @@ GL_PREFIX(Uniform3uivEXT): popq %rdx popq %rsi popq %rdi - movq 6920(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6920(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32880,7 +32933,7 @@ GL_PREFIX(Uniform3uivEXT): popq %rdx popq %rsi popq %rdi - movq 6920(%rax), %r11 + movq 6928(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform3uivEXT), .-GL_PREFIX(Uniform3uivEXT) @@ -32891,7 +32944,7 @@ GL_PREFIX(Uniform3uivEXT): GL_PREFIX(Uniform4uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6928(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32905,13 +32958,13 @@ GL_PREFIX(Uniform4uiEXT): popq %rdx popq %rsi popq %rdi - movq 6928(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6928(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32925,7 +32978,7 @@ GL_PREFIX(Uniform4uiEXT): popq %rdx popq %rsi popq %rdi - movq 6928(%rax), %r11 + movq 6936(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4uiEXT), .-GL_PREFIX(Uniform4uiEXT) @@ -32936,7 +32989,7 @@ GL_PREFIX(Uniform4uiEXT): GL_PREFIX(Uniform4uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6936(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32946,13 +32999,13 @@ GL_PREFIX(Uniform4uivEXT): popq %rdx popq %rsi popq %rdi - movq 6936(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6936(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32962,7 +33015,7 @@ GL_PREFIX(Uniform4uivEXT): popq %rdx popq %rsi popq %rdi - movq 6936(%rax), %r11 + movq 6944(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(Uniform4uivEXT), .-GL_PREFIX(Uniform4uivEXT) @@ -32973,7 +33026,7 @@ GL_PREFIX(Uniform4uivEXT): GL_PREFIX(VertexAttribI1iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6944(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -32983,13 +33036,13 @@ GL_PREFIX(VertexAttribI1iEXT): popq %rbp popq %rsi popq %rdi - movq 6944(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6944(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -32999,7 +33052,7 @@ GL_PREFIX(VertexAttribI1iEXT): popq %rbp popq %rsi popq %rdi - movq 6944(%rax), %r11 + movq 6952(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1iEXT), .-GL_PREFIX(VertexAttribI1iEXT) @@ -33010,7 +33063,7 @@ GL_PREFIX(VertexAttribI1iEXT): GL_PREFIX(VertexAttribI1ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6952(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33020,13 +33073,13 @@ GL_PREFIX(VertexAttribI1ivEXT): popq %rbp popq %rsi popq %rdi - movq 6952(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6952(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33036,7 +33089,7 @@ GL_PREFIX(VertexAttribI1ivEXT): popq %rbp popq %rsi popq %rdi - movq 6952(%rax), %r11 + movq 6960(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1ivEXT), .-GL_PREFIX(VertexAttribI1ivEXT) @@ -33047,7 +33100,7 @@ GL_PREFIX(VertexAttribI1ivEXT): GL_PREFIX(VertexAttribI1uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6960(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33057,13 +33110,13 @@ GL_PREFIX(VertexAttribI1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6960(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6960(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33073,7 +33126,7 @@ GL_PREFIX(VertexAttribI1uiEXT): popq %rbp popq %rsi popq %rdi - movq 6960(%rax), %r11 + movq 6968(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1uiEXT), .-GL_PREFIX(VertexAttribI1uiEXT) @@ -33084,7 +33137,7 @@ GL_PREFIX(VertexAttribI1uiEXT): GL_PREFIX(VertexAttribI1uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6968(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33094,13 +33147,13 @@ GL_PREFIX(VertexAttribI1uivEXT): popq %rbp popq %rsi popq %rdi - movq 6968(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6968(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33110,7 +33163,7 @@ GL_PREFIX(VertexAttribI1uivEXT): popq %rbp popq %rsi popq %rdi - movq 6968(%rax), %r11 + movq 6976(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI1uivEXT), .-GL_PREFIX(VertexAttribI1uivEXT) @@ -33121,7 +33174,7 @@ GL_PREFIX(VertexAttribI1uivEXT): GL_PREFIX(VertexAttribI2iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6976(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33131,13 +33184,13 @@ GL_PREFIX(VertexAttribI2iEXT): popq %rdx popq %rsi popq %rdi - movq 6976(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6976(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33147,7 +33200,7 @@ GL_PREFIX(VertexAttribI2iEXT): popq %rdx popq %rsi popq %rdi - movq 6976(%rax), %r11 + movq 6984(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2iEXT), .-GL_PREFIX(VertexAttribI2iEXT) @@ -33158,7 +33211,7 @@ GL_PREFIX(VertexAttribI2iEXT): GL_PREFIX(VertexAttribI2ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6984(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33168,13 +33221,13 @@ GL_PREFIX(VertexAttribI2ivEXT): popq %rbp popq %rsi popq %rdi - movq 6984(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6984(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33184,7 +33237,7 @@ GL_PREFIX(VertexAttribI2ivEXT): popq %rbp popq %rsi popq %rdi - movq 6984(%rax), %r11 + movq 6992(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2ivEXT), .-GL_PREFIX(VertexAttribI2ivEXT) @@ -33195,7 +33248,7 @@ GL_PREFIX(VertexAttribI2ivEXT): GL_PREFIX(VertexAttribI2uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 6992(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33205,13 +33258,13 @@ GL_PREFIX(VertexAttribI2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6992(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 6992(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33221,7 +33274,7 @@ GL_PREFIX(VertexAttribI2uiEXT): popq %rdx popq %rsi popq %rdi - movq 6992(%rax), %r11 + movq 7000(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2uiEXT), .-GL_PREFIX(VertexAttribI2uiEXT) @@ -33232,7 +33285,7 @@ GL_PREFIX(VertexAttribI2uiEXT): GL_PREFIX(VertexAttribI2uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7000(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33242,13 +33295,13 @@ GL_PREFIX(VertexAttribI2uivEXT): popq %rbp popq %rsi popq %rdi - movq 7000(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7000(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33258,7 +33311,7 @@ GL_PREFIX(VertexAttribI2uivEXT): popq %rbp popq %rsi popq %rdi - movq 7000(%rax), %r11 + movq 7008(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI2uivEXT), .-GL_PREFIX(VertexAttribI2uivEXT) @@ -33269,7 +33322,7 @@ GL_PREFIX(VertexAttribI2uivEXT): GL_PREFIX(VertexAttribI3iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7008(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33283,13 +33336,13 @@ GL_PREFIX(VertexAttribI3iEXT): popq %rdx popq %rsi popq %rdi - movq 7008(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7008(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33303,7 +33356,7 @@ GL_PREFIX(VertexAttribI3iEXT): popq %rdx popq %rsi popq %rdi - movq 7008(%rax), %r11 + movq 7016(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3iEXT), .-GL_PREFIX(VertexAttribI3iEXT) @@ -33314,7 +33367,7 @@ GL_PREFIX(VertexAttribI3iEXT): GL_PREFIX(VertexAttribI3ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7016(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33324,13 +33377,13 @@ GL_PREFIX(VertexAttribI3ivEXT): popq %rbp popq %rsi popq %rdi - movq 7016(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7016(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33340,7 +33393,7 @@ GL_PREFIX(VertexAttribI3ivEXT): popq %rbp popq %rsi popq %rdi - movq 7016(%rax), %r11 + movq 7024(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3ivEXT), .-GL_PREFIX(VertexAttribI3ivEXT) @@ -33351,7 +33404,7 @@ GL_PREFIX(VertexAttribI3ivEXT): GL_PREFIX(VertexAttribI3uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7024(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33365,13 +33418,13 @@ GL_PREFIX(VertexAttribI3uiEXT): popq %rdx popq %rsi popq %rdi - movq 7024(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7024(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33385,7 +33438,7 @@ GL_PREFIX(VertexAttribI3uiEXT): popq %rdx popq %rsi popq %rdi - movq 7024(%rax), %r11 + movq 7032(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3uiEXT), .-GL_PREFIX(VertexAttribI3uiEXT) @@ -33396,7 +33449,7 @@ GL_PREFIX(VertexAttribI3uiEXT): GL_PREFIX(VertexAttribI3uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7032(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33406,13 +33459,13 @@ GL_PREFIX(VertexAttribI3uivEXT): popq %rbp popq %rsi popq %rdi - movq 7032(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7032(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33422,7 +33475,7 @@ GL_PREFIX(VertexAttribI3uivEXT): popq %rbp popq %rsi popq %rdi - movq 7032(%rax), %r11 + movq 7040(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI3uivEXT), .-GL_PREFIX(VertexAttribI3uivEXT) @@ -33433,7 +33486,7 @@ GL_PREFIX(VertexAttribI3uivEXT): GL_PREFIX(VertexAttribI4bvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7040(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33443,13 +33496,13 @@ GL_PREFIX(VertexAttribI4bvEXT): popq %rbp popq %rsi popq %rdi - movq 7040(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7040(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33459,7 +33512,7 @@ GL_PREFIX(VertexAttribI4bvEXT): popq %rbp popq %rsi popq %rdi - movq 7040(%rax), %r11 + movq 7048(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4bvEXT), .-GL_PREFIX(VertexAttribI4bvEXT) @@ -33470,7 +33523,7 @@ GL_PREFIX(VertexAttribI4bvEXT): GL_PREFIX(VertexAttribI4iEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7048(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33484,13 +33537,13 @@ GL_PREFIX(VertexAttribI4iEXT): popq %rdx popq %rsi popq %rdi - movq 7048(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7048(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33504,7 +33557,7 @@ GL_PREFIX(VertexAttribI4iEXT): popq %rdx popq %rsi popq %rdi - movq 7048(%rax), %r11 + movq 7056(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4iEXT), .-GL_PREFIX(VertexAttribI4iEXT) @@ -33515,7 +33568,7 @@ GL_PREFIX(VertexAttribI4iEXT): GL_PREFIX(VertexAttribI4ivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7056(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33525,13 +33578,13 @@ GL_PREFIX(VertexAttribI4ivEXT): popq %rbp popq %rsi popq %rdi - movq 7056(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7056(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33541,7 +33594,7 @@ GL_PREFIX(VertexAttribI4ivEXT): popq %rbp popq %rsi popq %rdi - movq 7056(%rax), %r11 + movq 7064(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4ivEXT), .-GL_PREFIX(VertexAttribI4ivEXT) @@ -33552,7 +33605,7 @@ GL_PREFIX(VertexAttribI4ivEXT): GL_PREFIX(VertexAttribI4svEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7064(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33562,13 +33615,13 @@ GL_PREFIX(VertexAttribI4svEXT): popq %rbp popq %rsi popq %rdi - movq 7064(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7064(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33578,7 +33631,7 @@ GL_PREFIX(VertexAttribI4svEXT): popq %rbp popq %rsi popq %rdi - movq 7064(%rax), %r11 + movq 7072(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4svEXT), .-GL_PREFIX(VertexAttribI4svEXT) @@ -33589,7 +33642,7 @@ GL_PREFIX(VertexAttribI4svEXT): GL_PREFIX(VertexAttribI4ubvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7072(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33599,13 +33652,13 @@ GL_PREFIX(VertexAttribI4ubvEXT): popq %rbp popq %rsi popq %rdi - movq 7072(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7072(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33615,7 +33668,7 @@ GL_PREFIX(VertexAttribI4ubvEXT): popq %rbp popq %rsi popq %rdi - movq 7072(%rax), %r11 + movq 7080(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4ubvEXT), .-GL_PREFIX(VertexAttribI4ubvEXT) @@ -33626,7 +33679,7 @@ GL_PREFIX(VertexAttribI4ubvEXT): GL_PREFIX(VertexAttribI4uiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7080(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33640,13 +33693,13 @@ GL_PREFIX(VertexAttribI4uiEXT): popq %rdx popq %rsi popq %rdi - movq 7080(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7080(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33660,7 +33713,7 @@ GL_PREFIX(VertexAttribI4uiEXT): popq %rdx popq %rsi popq %rdi - movq 7080(%rax), %r11 + movq 7088(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4uiEXT), .-GL_PREFIX(VertexAttribI4uiEXT) @@ -33671,7 +33724,7 @@ GL_PREFIX(VertexAttribI4uiEXT): GL_PREFIX(VertexAttribI4uivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7088(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33681,13 +33734,13 @@ GL_PREFIX(VertexAttribI4uivEXT): popq %rbp popq %rsi popq %rdi - movq 7088(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7088(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33697,7 +33750,7 @@ GL_PREFIX(VertexAttribI4uivEXT): popq %rbp popq %rsi popq %rdi - movq 7088(%rax), %r11 + movq 7096(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4uivEXT), .-GL_PREFIX(VertexAttribI4uivEXT) @@ -33708,7 +33761,7 @@ GL_PREFIX(VertexAttribI4uivEXT): GL_PREFIX(VertexAttribI4usvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7096(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33718,13 +33771,13 @@ GL_PREFIX(VertexAttribI4usvEXT): popq %rbp popq %rsi popq %rdi - movq 7096(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7096(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33734,7 +33787,7 @@ GL_PREFIX(VertexAttribI4usvEXT): popq %rbp popq %rsi popq %rdi - movq 7096(%rax), %r11 + movq 7104(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribI4usvEXT), .-GL_PREFIX(VertexAttribI4usvEXT) @@ -33745,7 +33798,7 @@ GL_PREFIX(VertexAttribI4usvEXT): GL_PREFIX(VertexAttribIPointerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7104(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33759,13 +33812,13 @@ GL_PREFIX(VertexAttribIPointerEXT): popq %rdx popq %rsi popq %rdi - movq 7104(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7104(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33779,7 +33832,7 @@ GL_PREFIX(VertexAttribIPointerEXT): popq %rdx popq %rsi popq %rdi - movq 7104(%rax), %r11 + movq 7112(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(VertexAttribIPointerEXT), .-GL_PREFIX(VertexAttribIPointerEXT) @@ -33790,7 +33843,7 @@ GL_PREFIX(VertexAttribIPointerEXT): GL_PREFIX(FramebufferTextureLayerEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7112(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33804,13 +33857,13 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 7112(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7112(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33824,7 +33877,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): popq %rdx popq %rsi popq %rdi - movq 7112(%rax), %r11 + movq 7120(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(FramebufferTextureLayerEXT), .-GL_PREFIX(FramebufferTextureLayerEXT) @@ -33835,7 +33888,7 @@ GL_PREFIX(FramebufferTextureLayerEXT): GL_PREFIX(ColorMaskIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7120(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33849,13 +33902,13 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 7120(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7120(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33869,7 +33922,7 @@ GL_PREFIX(ColorMaskIndexedEXT): popq %rdx popq %rsi popq %rdi - movq 7120(%rax), %r11 + movq 7128(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ColorMaskIndexedEXT), .-GL_PREFIX(ColorMaskIndexedEXT) @@ -33880,7 +33933,7 @@ GL_PREFIX(ColorMaskIndexedEXT): GL_PREFIX(DisableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7128(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33890,13 +33943,13 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7128(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7128(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33906,7 +33959,7 @@ GL_PREFIX(DisableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7128(%rax), %r11 + movq 7136(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(DisableIndexedEXT), .-GL_PREFIX(DisableIndexedEXT) @@ -33917,7 +33970,7 @@ GL_PREFIX(DisableIndexedEXT): GL_PREFIX(EnableIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7136(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33927,13 +33980,13 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7136(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7136(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33943,7 +33996,7 @@ GL_PREFIX(EnableIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7136(%rax), %r11 + movq 7144(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EnableIndexedEXT), .-GL_PREFIX(EnableIndexedEXT) @@ -33954,7 +34007,7 @@ GL_PREFIX(EnableIndexedEXT): GL_PREFIX(GetBooleanIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7144(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -33964,13 +34017,13 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7144(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7144(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -33980,7 +34033,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7144(%rax), %r11 + movq 7152(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetBooleanIndexedvEXT), .-GL_PREFIX(GetBooleanIndexedvEXT) @@ -33991,7 +34044,7 @@ GL_PREFIX(GetBooleanIndexedvEXT): GL_PREFIX(GetIntegerIndexedvEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7152(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34001,13 +34054,13 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7152(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7152(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34017,7 +34070,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): popq %rdx popq %rsi popq %rdi - movq 7152(%rax), %r11 + movq 7160(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetIntegerIndexedvEXT), .-GL_PREFIX(GetIntegerIndexedvEXT) @@ -34028,7 +34081,7 @@ GL_PREFIX(GetIntegerIndexedvEXT): GL_PREFIX(IsEnabledIndexedEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7160(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34038,13 +34091,13 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7160(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7160(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34054,7 +34107,7 @@ GL_PREFIX(IsEnabledIndexedEXT): popq %rbp popq %rsi popq %rdi - movq 7160(%rax), %r11 + movq 7168(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(IsEnabledIndexedEXT), .-GL_PREFIX(IsEnabledIndexedEXT) @@ -34065,7 +34118,7 @@ GL_PREFIX(IsEnabledIndexedEXT): GL_PREFIX(ClearColorIiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7168(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34079,13 +34132,13 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 7168(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7168(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34099,7 +34152,7 @@ GL_PREFIX(ClearColorIiEXT): popq %rdx popq %rsi popq %rdi - movq 7168(%rax), %r11 + movq 7176(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIiEXT), .-GL_PREFIX(ClearColorIiEXT) @@ -34110,7 +34163,7 @@ GL_PREFIX(ClearColorIiEXT): GL_PREFIX(ClearColorIuiEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7176(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34124,13 +34177,13 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 7176(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7176(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34144,7 +34197,7 @@ GL_PREFIX(ClearColorIuiEXT): popq %rdx popq %rsi popq %rdi - movq 7176(%rax), %r11 + movq 7184(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ClearColorIuiEXT), .-GL_PREFIX(ClearColorIuiEXT) @@ -34155,7 +34208,7 @@ GL_PREFIX(ClearColorIuiEXT): GL_PREFIX(GetTexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7184(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34165,13 +34218,13 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7184(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7184(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34181,7 +34234,7 @@ GL_PREFIX(GetTexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7184(%rax), %r11 + movq 7192(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIivEXT), .-GL_PREFIX(GetTexParameterIivEXT) @@ -34192,7 +34245,7 @@ GL_PREFIX(GetTexParameterIivEXT): GL_PREFIX(GetTexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7192(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34202,13 +34255,13 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7192(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7192(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34218,7 +34271,7 @@ GL_PREFIX(GetTexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7192(%rax), %r11 + movq 7200(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTexParameterIuivEXT), .-GL_PREFIX(GetTexParameterIuivEXT) @@ -34229,7 +34282,7 @@ GL_PREFIX(GetTexParameterIuivEXT): GL_PREFIX(TexParameterIivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7200(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34239,13 +34292,13 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7200(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7200(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34255,7 +34308,7 @@ GL_PREFIX(TexParameterIivEXT): popq %rdx popq %rsi popq %rdi - movq 7200(%rax), %r11 + movq 7208(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIivEXT), .-GL_PREFIX(TexParameterIivEXT) @@ -34266,7 +34319,7 @@ GL_PREFIX(TexParameterIivEXT): GL_PREFIX(TexParameterIuivEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7208(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34276,13 +34329,13 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7208(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7208(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34292,7 +34345,7 @@ GL_PREFIX(TexParameterIuivEXT): popq %rdx popq %rsi popq %rdi - movq 7208(%rax), %r11 + movq 7216(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TexParameterIuivEXT), .-GL_PREFIX(TexParameterIuivEXT) @@ -34303,7 +34356,7 @@ GL_PREFIX(TexParameterIuivEXT): GL_PREFIX(BeginConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7216(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34313,13 +34366,13 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 7216(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7216(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34329,7 +34382,7 @@ GL_PREFIX(BeginConditionalRenderNV): popq %rbp popq %rsi popq %rdi - movq 7216(%rax), %r11 + movq 7224(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginConditionalRenderNV), .-GL_PREFIX(BeginConditionalRenderNV) @@ -34340,25 +34393,25 @@ GL_PREFIX(BeginConditionalRenderNV): GL_PREFIX(EndConditionalRenderNV): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7224(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 7224(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7224(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 7224(%rax), %r11 + movq 7232(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndConditionalRenderNV), .-GL_PREFIX(EndConditionalRenderNV) @@ -34369,25 +34422,25 @@ GL_PREFIX(EndConditionalRenderNV): GL_PREFIX(BeginTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7232(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7232(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7232(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7232(%rax), %r11 + movq 7240(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BeginTransformFeedbackEXT), .-GL_PREFIX(BeginTransformFeedbackEXT) @@ -34398,7 +34451,7 @@ GL_PREFIX(BeginTransformFeedbackEXT): GL_PREFIX(BindBufferBaseEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7240(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34408,13 +34461,13 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 7240(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7240(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34424,7 +34477,7 @@ GL_PREFIX(BindBufferBaseEXT): popq %rdx popq %rsi popq %rdi - movq 7240(%rax), %r11 + movq 7248(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferBaseEXT), .-GL_PREFIX(BindBufferBaseEXT) @@ -34435,7 +34488,7 @@ GL_PREFIX(BindBufferBaseEXT): GL_PREFIX(BindBufferOffsetEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7248(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34449,13 +34502,13 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 7248(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7248(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34469,7 +34522,7 @@ GL_PREFIX(BindBufferOffsetEXT): popq %rdx popq %rsi popq %rdi - movq 7248(%rax), %r11 + movq 7256(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferOffsetEXT), .-GL_PREFIX(BindBufferOffsetEXT) @@ -34480,7 +34533,7 @@ GL_PREFIX(BindBufferOffsetEXT): GL_PREFIX(BindBufferRangeEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7256(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34494,13 +34547,13 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 7256(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7256(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34514,7 +34567,7 @@ GL_PREFIX(BindBufferRangeEXT): popq %rdx popq %rsi popq %rdi - movq 7256(%rax), %r11 + movq 7264(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(BindBufferRangeEXT), .-GL_PREFIX(BindBufferRangeEXT) @@ -34525,25 +34578,25 @@ GL_PREFIX(BindBufferRangeEXT): GL_PREFIX(EndTransformFeedbackEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7264(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - movq 7264(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7264(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 1: pushq %rbp call _glapi_get_dispatch popq %rbp - movq 7264(%rax), %r11 + movq 7272(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EndTransformFeedbackEXT), .-GL_PREFIX(EndTransformFeedbackEXT) @@ -34554,7 +34607,7 @@ GL_PREFIX(EndTransformFeedbackEXT): GL_PREFIX(GetTransformFeedbackVaryingEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7272(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34572,13 +34625,13 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 7272(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7272(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34596,7 +34649,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): popq %rdx popq %rsi popq %rdi - movq 7272(%rax), %r11 + movq 7280(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetTransformFeedbackVaryingEXT), .-GL_PREFIX(GetTransformFeedbackVaryingEXT) @@ -34607,7 +34660,7 @@ GL_PREFIX(GetTransformFeedbackVaryingEXT): GL_PREFIX(TransformFeedbackVaryingsEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7280(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34621,13 +34674,13 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 7280(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7280(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34641,7 +34694,7 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): popq %rdx popq %rsi popq %rdi - movq 7280(%rax), %r11 + movq 7288(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(TransformFeedbackVaryingsEXT), .-GL_PREFIX(TransformFeedbackVaryingsEXT) @@ -34652,37 +34705,37 @@ GL_PREFIX(TransformFeedbackVaryingsEXT): GL_PREFIX(ProvokingVertexEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7288(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7288(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7288(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7288(%rax), %r11 + movq 7296(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ProvokingVertexEXT), .-GL_PREFIX(ProvokingVertexEXT) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_912) - .type GL_PREFIX(_dispatch_stub_912), @function - HIDDEN(GL_PREFIX(_dispatch_stub_912)) -GL_PREFIX(_dispatch_stub_912): + .globl GL_PREFIX(_dispatch_stub_913) + .type GL_PREFIX(_dispatch_stub_913), @function + HIDDEN(GL_PREFIX(_dispatch_stub_913)) +GL_PREFIX(_dispatch_stub_913): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7296(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34692,13 +34745,13 @@ GL_PREFIX(_dispatch_stub_912): popq %rdx popq %rsi popq %rdi - movq 7296(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7296(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34708,19 +34761,19 @@ GL_PREFIX(_dispatch_stub_912): popq %rdx popq %rsi popq %rdi - movq 7296(%rax), %r11 + movq 7304(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_912), .-GL_PREFIX(_dispatch_stub_912) + .size GL_PREFIX(_dispatch_stub_913), .-GL_PREFIX(_dispatch_stub_913) .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_913) - .type GL_PREFIX(_dispatch_stub_913), @function - HIDDEN(GL_PREFIX(_dispatch_stub_913)) -GL_PREFIX(_dispatch_stub_913): + .globl GL_PREFIX(_dispatch_stub_914) + .type GL_PREFIX(_dispatch_stub_914), @function + HIDDEN(GL_PREFIX(_dispatch_stub_914)) +GL_PREFIX(_dispatch_stub_914): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7304(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34730,13 +34783,13 @@ GL_PREFIX(_dispatch_stub_913): popq %rdx popq %rsi popq %rdi - movq 7304(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7304(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34746,10 +34799,10 @@ GL_PREFIX(_dispatch_stub_913): popq %rdx popq %rsi popq %rdi - movq 7304(%rax), %r11 + movq 7312(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_913), .-GL_PREFIX(_dispatch_stub_913) + .size GL_PREFIX(_dispatch_stub_914), .-GL_PREFIX(_dispatch_stub_914) .p2align 4,,15 .globl GL_PREFIX(GetObjectParameterivAPPLE) @@ -34757,7 +34810,7 @@ GL_PREFIX(_dispatch_stub_913): GL_PREFIX(GetObjectParameterivAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7312(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34771,13 +34824,13 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 7312(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7312(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34791,7 +34844,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): popq %rdx popq %rsi popq %rdi - movq 7312(%rax), %r11 + movq 7320(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(GetObjectParameterivAPPLE), .-GL_PREFIX(GetObjectParameterivAPPLE) @@ -34802,7 +34855,7 @@ GL_PREFIX(GetObjectParameterivAPPLE): GL_PREFIX(ObjectPurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7320(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34812,13 +34865,13 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7320(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7320(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34828,7 +34881,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7320(%rax), %r11 + movq 7328(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectPurgeableAPPLE), .-GL_PREFIX(ObjectPurgeableAPPLE) @@ -34839,7 +34892,7 @@ GL_PREFIX(ObjectPurgeableAPPLE): GL_PREFIX(ObjectUnpurgeableAPPLE): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7328(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34849,13 +34902,13 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7328(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7328(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34865,7 +34918,7 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): popq %rdx popq %rsi popq %rdi - movq 7328(%rax), %r11 + movq 7336(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ObjectUnpurgeableAPPLE), .-GL_PREFIX(ObjectUnpurgeableAPPLE) @@ -34876,25 +34929,25 @@ GL_PREFIX(ObjectUnpurgeableAPPLE): GL_PREFIX(ActiveProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7336(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi call _x86_64_get_dispatch@PLT popq %rdi - movq 7336(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7336(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 1: pushq %rdi call _glapi_get_dispatch popq %rdi - movq 7336(%rax), %r11 + movq 7344(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(ActiveProgramEXT), .-GL_PREFIX(ActiveProgramEXT) @@ -34905,7 +34958,7 @@ GL_PREFIX(ActiveProgramEXT): GL_PREFIX(CreateShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7344(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34915,13 +34968,13 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7344(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7344(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34931,7 +34984,7 @@ GL_PREFIX(CreateShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7344(%rax), %r11 + movq 7352(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(CreateShaderProgramEXT), .-GL_PREFIX(CreateShaderProgramEXT) @@ -34942,7 +34995,7 @@ GL_PREFIX(CreateShaderProgramEXT): GL_PREFIX(UseShaderProgramEXT): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7352(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -34952,13 +35005,13 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7352(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7352(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -34968,7 +35021,7 @@ GL_PREFIX(UseShaderProgramEXT): popq %rbp popq %rsi popq %rdi - movq 7352(%rax), %r11 + movq 7360(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(UseShaderProgramEXT), .-GL_PREFIX(UseShaderProgramEXT) @@ -34977,52 +35030,14 @@ GL_PREFIX(UseShaderProgramEXT): .globl GL_PREFIX(TextureBarrierNV) .type GL_PREFIX(TextureBarrierNV), @function GL_PREFIX(TextureBarrierNV): -#if defined(GLX_USE_TLS) - call _x86_64_get_dispatch@PLT - movq 7360(%rax), %r11 - jmp *%r11 -#elif defined(PTHREADS) - pushq %rbp - call _x86_64_get_dispatch@PLT - popq %rbp - movq 7360(%rax), %r11 - jmp *%r11 -#else - movq _glapi_Dispatch(%rip), %rax - testq %rax, %rax - je 1f - movq 7360(%rax), %r11 - jmp *%r11 -1: - pushq %rbp - call _glapi_get_dispatch - popq %rbp - movq 7360(%rax), %r11 - jmp *%r11 -#endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(TextureBarrierNV), .-GL_PREFIX(TextureBarrierNV) - - .p2align 4,,15 - .globl GL_PREFIX(_dispatch_stub_921) - .type GL_PREFIX(_dispatch_stub_921), @function - HIDDEN(GL_PREFIX(_dispatch_stub_921)) -GL_PREFIX(_dispatch_stub_921): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT movq 7368(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx pushq %rbp call _x86_64_get_dispatch@PLT popq %rbp - popq %rcx - popq %rdx - popq %rsi - popq %rdi movq 7368(%rax), %r11 jmp *%r11 #else @@ -35032,21 +35047,13 @@ GL_PREFIX(_dispatch_stub_921): movq 7368(%rax), %r11 jmp *%r11 1: - pushq %rdi - pushq %rsi - pushq %rdx - pushq %rcx pushq %rbp call _glapi_get_dispatch popq %rbp - popq %rcx - popq %rdx - popq %rsi - popq %rdi movq 7368(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ - .size GL_PREFIX(_dispatch_stub_921), .-GL_PREFIX(_dispatch_stub_921) + .size GL_PREFIX(TextureBarrierNV), .-GL_PREFIX(TextureBarrierNV) .p2align 4,,15 .globl GL_PREFIX(_dispatch_stub_922) @@ -35153,7 +35160,11 @@ GL_PREFIX(_dispatch_stub_924): pushq %rdi pushq %rsi pushq %rdx + pushq %rcx + pushq %rbp call _x86_64_get_dispatch@PLT + popq %rbp + popq %rcx popq %rdx popq %rsi popq %rdi @@ -35169,7 +35180,11 @@ GL_PREFIX(_dispatch_stub_924): pushq %rdi pushq %rsi pushq %rdx + pushq %rcx + pushq %rbp call _glapi_get_dispatch + popq %rbp + popq %rcx popq %rdx popq %rsi popq %rdi @@ -35216,13 +35231,51 @@ GL_PREFIX(_dispatch_stub_925): #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(_dispatch_stub_925), .-GL_PREFIX(_dispatch_stub_925) + .p2align 4,,15 + .globl GL_PREFIX(_dispatch_stub_926) + .type GL_PREFIX(_dispatch_stub_926), @function + HIDDEN(GL_PREFIX(_dispatch_stub_926)) +GL_PREFIX(_dispatch_stub_926): +#if defined(GLX_USE_TLS) + call _x86_64_get_dispatch@PLT + movq 7408(%rax), %r11 + jmp *%r11 +#elif defined(PTHREADS) + pushq %rdi + pushq %rsi + pushq %rdx + call _x86_64_get_dispatch@PLT + popq %rdx + popq %rsi + popq %rdi + movq 7408(%rax), %r11 + jmp *%r11 +#else + movq _glapi_Dispatch(%rip), %rax + testq %rax, %rax + je 1f + movq 7408(%rax), %r11 + jmp *%r11 +1: + pushq %rdi + pushq %rsi + pushq %rdx + call _glapi_get_dispatch + popq %rdx + popq %rsi + popq %rdi + movq 7408(%rax), %r11 + jmp *%r11 +#endif /* defined(GLX_USE_TLS) */ + .size GL_PREFIX(_dispatch_stub_926), .-GL_PREFIX(_dispatch_stub_926) + .p2align 4,,15 .globl GL_PREFIX(EGLImageTargetRenderbufferStorageOES) .type GL_PREFIX(EGLImageTargetRenderbufferStorageOES), @function GL_PREFIX(EGLImageTargetRenderbufferStorageOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7408(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35232,13 +35285,13 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 7408(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7408(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35248,7 +35301,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): popq %rbp popq %rsi popq %rdi - movq 7408(%rax), %r11 + movq 7416(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetRenderbufferStorageOES), .-GL_PREFIX(EGLImageTargetRenderbufferStorageOES) @@ -35259,7 +35312,7 @@ GL_PREFIX(EGLImageTargetRenderbufferStorageOES): GL_PREFIX(EGLImageTargetTexture2DOES): #if defined(GLX_USE_TLS) call _x86_64_get_dispatch@PLT - movq 7416(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 #elif defined(PTHREADS) pushq %rdi @@ -35269,13 +35322,13 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 7416(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 #else movq _glapi_Dispatch(%rip), %rax testq %rax, %rax je 1f - movq 7416(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 1: pushq %rdi @@ -35285,7 +35338,7 @@ GL_PREFIX(EGLImageTargetTexture2DOES): popq %rbp popq %rsi popq %rdi - movq 7416(%rax), %r11 + movq 7424(%rax), %r11 jmp *%r11 #endif /* defined(GLX_USE_TLS) */ .size GL_PREFIX(EGLImageTargetTexture2DOES), .-GL_PREFIX(EGLImageTargetTexture2DOES) @@ -35552,10 +35605,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_822) - .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_824) + .globl GL_PREFIX(DeleteVertexArrays) ; .set GL_PREFIX(DeleteVertexArrays), GL_PREFIX(_dispatch_stub_823) + .globl GL_PREFIX(IsVertexArray) ; .set GL_PREFIX(IsVertexArray), GL_PREFIX(_dispatch_stub_825) .globl GL_PREFIX(PrimitiveRestartIndex) ; .set GL_PREFIX(PrimitiveRestartIndex), GL_PREFIX(PrimitiveRestartIndexNV) - .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_834) + .globl GL_PREFIX(BlendEquationSeparate) ; .set GL_PREFIX(BlendEquationSeparate), GL_PREFIX(_dispatch_stub_835) .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) @@ -35573,7 +35626,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_852) + .globl GL_PREFIX(BlitFramebuffer) ; .set GL_PREFIX(BlitFramebuffer), GL_PREFIX(_dispatch_stub_853) .globl GL_PREFIX(BindFragDataLocation) ; .set GL_PREFIX(BindFragDataLocation), GL_PREFIX(BindFragDataLocationEXT) .globl GL_PREFIX(GetFragDataLocation) ; .set GL_PREFIX(GetFragDataLocation), GL_PREFIX(GetFragDataLocationEXT) .globl GL_PREFIX(GetUniformuiv) ; .set GL_PREFIX(GetUniformuiv), GL_PREFIX(GetUniformuivEXT) diff --git a/src/mapi/glapi/glapi_x86.S b/src/mapi/glapi/glapi_x86.S index 61d7ff80299..862dc92681f 100644 --- a/src/mapi/glapi/glapi_x86.S +++ b/src/mapi/glapi/glapi_x86.S @@ -744,61 +744,60 @@ GLNAME(gl_dispatch_functions_start): GL_STUB(IsSync, 591, IsSync@4) GL_STUB(WaitSync, 592, WaitSync@12) GL_STUB(DrawElementsBaseVertex, 593, DrawElementsBaseVertex@20) - GL_STUB(DrawRangeElementsBaseVertex, 594, DrawRangeElementsBaseVertex@28) - GL_STUB(MultiDrawElementsBaseVertex, 595, MultiDrawElementsBaseVertex@24) - GL_STUB(BlendEquationSeparateiARB, 596, BlendEquationSeparateiARB@12) - GL_STUB(BlendEquationiARB, 597, BlendEquationiARB@8) - GL_STUB(BlendFuncSeparateiARB, 598, BlendFuncSeparateiARB@20) - GL_STUB(BlendFunciARB, 599, BlendFunciARB@12) - GL_STUB(BindSampler, 600, BindSampler@8) - GL_STUB(DeleteSamplers, 601, DeleteSamplers@8) - GL_STUB(GenSamplers, 602, GenSamplers@8) - GL_STUB(GetSamplerParameterIiv, 603, GetSamplerParameterIiv@12) - GL_STUB(GetSamplerParameterIuiv, 604, GetSamplerParameterIuiv@12) - GL_STUB(GetSamplerParameterfv, 605, GetSamplerParameterfv@12) - GL_STUB(GetSamplerParameteriv, 606, GetSamplerParameteriv@12) - GL_STUB(IsSampler, 607, IsSampler@4) - GL_STUB(SamplerParameterIiv, 608, SamplerParameterIiv@12) - GL_STUB(SamplerParameterIuiv, 609, SamplerParameterIuiv@12) - GL_STUB(SamplerParameterf, 610, SamplerParameterf@12) - GL_STUB(SamplerParameterfv, 611, SamplerParameterfv@12) - GL_STUB(SamplerParameteri, 612, SamplerParameteri@12) - GL_STUB(SamplerParameteriv, 613, SamplerParameteriv@12) - GL_STUB(BindTransformFeedback, 614, BindTransformFeedback@8) - GL_STUB(DeleteTransformFeedbacks, 615, DeleteTransformFeedbacks@8) - GL_STUB(DrawTransformFeedback, 616, DrawTransformFeedback@8) - GL_STUB(GenTransformFeedbacks, 617, GenTransformFeedbacks@8) - GL_STUB(IsTransformFeedback, 618, IsTransformFeedback@4) - GL_STUB(PauseTransformFeedback, 619, PauseTransformFeedback@0) - GL_STUB(ResumeTransformFeedback, 620, ResumeTransformFeedback@0) - GL_STUB(ClearDepthf, 621, ClearDepthf@4) - GL_STUB(DepthRangef, 622, DepthRangef@8) - GL_STUB(GetShaderPrecisionFormat, 623, GetShaderPrecisionFormat@16) - GL_STUB(ReleaseShaderCompiler, 624, ReleaseShaderCompiler@0) - GL_STUB(ShaderBinary, 625, ShaderBinary@20) - GL_STUB(GetGraphicsResetStatusARB, 626, GetGraphicsResetStatusARB@0) - GL_STUB(GetnColorTableARB, 627, GetnColorTableARB@20) - GL_STUB(GetnCompressedTexImageARB, 628, GetnCompressedTexImageARB@16) - GL_STUB(GetnConvolutionFilterARB, 629, GetnConvolutionFilterARB@20) - GL_STUB(GetnHistogramARB, 630, GetnHistogramARB@24) - GL_STUB(GetnMapdvARB, 631, GetnMapdvARB@16) - GL_STUB(GetnMapfvARB, 632, GetnMapfvARB@16) - GL_STUB(GetnMapivARB, 633, GetnMapivARB@16) - GL_STUB(GetnMinmaxARB, 634, GetnMinmaxARB@24) - GL_STUB(GetnPixelMapfvARB, 635, GetnPixelMapfvARB@12) - GL_STUB(GetnPixelMapuivARB, 636, GetnPixelMapuivARB@12) - GL_STUB(GetnPixelMapusvARB, 637, GetnPixelMapusvARB@12) - GL_STUB(GetnPolygonStippleARB, 638, GetnPolygonStippleARB@8) - GL_STUB(GetnSeparableFilterARB, 639, GetnSeparableFilterARB@32) - GL_STUB(GetnTexImageARB, 640, GetnTexImageARB@24) - GL_STUB(GetnUniformdvARB, 641, GetnUniformdvARB@16) - GL_STUB(GetnUniformfvARB, 642, GetnUniformfvARB@16) - GL_STUB(GetnUniformivARB, 643, GetnUniformivARB@16) - GL_STUB(GetnUniformuivARB, 644, GetnUniformuivARB@16) - GL_STUB(ReadnPixelsARB, 645, ReadnPixelsARB@32) - GL_STUB(PolygonOffsetEXT, 646, PolygonOffsetEXT@8) - GL_STUB(_dispatch_stub_647, 647, _dispatch_stub_647@8) - HIDDEN(GL_PREFIX(_dispatch_stub_647, _dispatch_stub_647@8)) + GL_STUB(DrawElementsInstancedBaseVertex, 594, DrawElementsInstancedBaseVertex@24) + GL_STUB(DrawRangeElementsBaseVertex, 595, DrawRangeElementsBaseVertex@28) + GL_STUB(MultiDrawElementsBaseVertex, 596, MultiDrawElementsBaseVertex@24) + GL_STUB(BlendEquationSeparateiARB, 597, BlendEquationSeparateiARB@12) + GL_STUB(BlendEquationiARB, 598, BlendEquationiARB@8) + GL_STUB(BlendFuncSeparateiARB, 599, BlendFuncSeparateiARB@20) + GL_STUB(BlendFunciARB, 600, BlendFunciARB@12) + GL_STUB(BindSampler, 601, BindSampler@8) + GL_STUB(DeleteSamplers, 602, DeleteSamplers@8) + GL_STUB(GenSamplers, 603, GenSamplers@8) + GL_STUB(GetSamplerParameterIiv, 604, GetSamplerParameterIiv@12) + GL_STUB(GetSamplerParameterIuiv, 605, GetSamplerParameterIuiv@12) + GL_STUB(GetSamplerParameterfv, 606, GetSamplerParameterfv@12) + GL_STUB(GetSamplerParameteriv, 607, GetSamplerParameteriv@12) + GL_STUB(IsSampler, 608, IsSampler@4) + GL_STUB(SamplerParameterIiv, 609, SamplerParameterIiv@12) + GL_STUB(SamplerParameterIuiv, 610, SamplerParameterIuiv@12) + GL_STUB(SamplerParameterf, 611, SamplerParameterf@12) + GL_STUB(SamplerParameterfv, 612, SamplerParameterfv@12) + GL_STUB(SamplerParameteri, 613, SamplerParameteri@12) + GL_STUB(SamplerParameteriv, 614, SamplerParameteriv@12) + GL_STUB(BindTransformFeedback, 615, BindTransformFeedback@8) + GL_STUB(DeleteTransformFeedbacks, 616, DeleteTransformFeedbacks@8) + GL_STUB(DrawTransformFeedback, 617, DrawTransformFeedback@8) + GL_STUB(GenTransformFeedbacks, 618, GenTransformFeedbacks@8) + GL_STUB(IsTransformFeedback, 619, IsTransformFeedback@4) + GL_STUB(PauseTransformFeedback, 620, PauseTransformFeedback@0) + GL_STUB(ResumeTransformFeedback, 621, ResumeTransformFeedback@0) + GL_STUB(ClearDepthf, 622, ClearDepthf@4) + GL_STUB(DepthRangef, 623, DepthRangef@8) + GL_STUB(GetShaderPrecisionFormat, 624, GetShaderPrecisionFormat@16) + GL_STUB(ReleaseShaderCompiler, 625, ReleaseShaderCompiler@0) + GL_STUB(ShaderBinary, 626, ShaderBinary@20) + GL_STUB(GetGraphicsResetStatusARB, 627, GetGraphicsResetStatusARB@0) + GL_STUB(GetnColorTableARB, 628, GetnColorTableARB@20) + GL_STUB(GetnCompressedTexImageARB, 629, GetnCompressedTexImageARB@16) + GL_STUB(GetnConvolutionFilterARB, 630, GetnConvolutionFilterARB@20) + GL_STUB(GetnHistogramARB, 631, GetnHistogramARB@24) + GL_STUB(GetnMapdvARB, 632, GetnMapdvARB@16) + GL_STUB(GetnMapfvARB, 633, GetnMapfvARB@16) + GL_STUB(GetnMapivARB, 634, GetnMapivARB@16) + GL_STUB(GetnMinmaxARB, 635, GetnMinmaxARB@24) + GL_STUB(GetnPixelMapfvARB, 636, GetnPixelMapfvARB@12) + GL_STUB(GetnPixelMapuivARB, 637, GetnPixelMapuivARB@12) + GL_STUB(GetnPixelMapusvARB, 638, GetnPixelMapusvARB@12) + GL_STUB(GetnPolygonStippleARB, 639, GetnPolygonStippleARB@8) + GL_STUB(GetnSeparableFilterARB, 640, GetnSeparableFilterARB@32) + GL_STUB(GetnTexImageARB, 641, GetnTexImageARB@24) + GL_STUB(GetnUniformdvARB, 642, GetnUniformdvARB@16) + GL_STUB(GetnUniformfvARB, 643, GetnUniformfvARB@16) + GL_STUB(GetnUniformivARB, 644, GetnUniformivARB@16) + GL_STUB(GetnUniformuivARB, 645, GetnUniformuivARB@16) + GL_STUB(ReadnPixelsARB, 646, ReadnPixelsARB@32) + GL_STUB(PolygonOffsetEXT, 647, PolygonOffsetEXT@8) GL_STUB(_dispatch_stub_648, 648, _dispatch_stub_648@8) HIDDEN(GL_PREFIX(_dispatch_stub_648, _dispatch_stub_648@8)) GL_STUB(_dispatch_stub_649, 649, _dispatch_stub_649@8) @@ -811,308 +810,310 @@ GLNAME(gl_dispatch_functions_start): HIDDEN(GL_PREFIX(_dispatch_stub_652, _dispatch_stub_652@8)) GL_STUB(_dispatch_stub_653, 653, _dispatch_stub_653@8) HIDDEN(GL_PREFIX(_dispatch_stub_653, _dispatch_stub_653@8)) - GL_STUB(_dispatch_stub_654, 654, _dispatch_stub_654@4) - HIDDEN(GL_PREFIX(_dispatch_stub_654, _dispatch_stub_654@4)) - GL_STUB(ColorPointerEXT, 655, ColorPointerEXT@20) - GL_STUB(EdgeFlagPointerEXT, 656, EdgeFlagPointerEXT@12) - GL_STUB(IndexPointerEXT, 657, IndexPointerEXT@16) - GL_STUB(NormalPointerEXT, 658, NormalPointerEXT@16) - GL_STUB(TexCoordPointerEXT, 659, TexCoordPointerEXT@20) - GL_STUB(VertexPointerEXT, 660, VertexPointerEXT@20) - GL_STUB(PointParameterfEXT, 661, PointParameterfEXT@8) - GL_STUB(PointParameterfvEXT, 662, PointParameterfvEXT@8) - GL_STUB(LockArraysEXT, 663, LockArraysEXT@8) - GL_STUB(UnlockArraysEXT, 664, UnlockArraysEXT@0) - GL_STUB(SecondaryColor3bEXT, 665, SecondaryColor3bEXT@12) - GL_STUB(SecondaryColor3bvEXT, 666, SecondaryColor3bvEXT@4) - GL_STUB(SecondaryColor3dEXT, 667, SecondaryColor3dEXT@24) - GL_STUB(SecondaryColor3dvEXT, 668, SecondaryColor3dvEXT@4) - GL_STUB(SecondaryColor3fEXT, 669, SecondaryColor3fEXT@12) - GL_STUB(SecondaryColor3fvEXT, 670, SecondaryColor3fvEXT@4) - GL_STUB(SecondaryColor3iEXT, 671, SecondaryColor3iEXT@12) - GL_STUB(SecondaryColor3ivEXT, 672, SecondaryColor3ivEXT@4) - GL_STUB(SecondaryColor3sEXT, 673, SecondaryColor3sEXT@12) - GL_STUB(SecondaryColor3svEXT, 674, SecondaryColor3svEXT@4) - GL_STUB(SecondaryColor3ubEXT, 675, SecondaryColor3ubEXT@12) - GL_STUB(SecondaryColor3ubvEXT, 676, SecondaryColor3ubvEXT@4) - GL_STUB(SecondaryColor3uiEXT, 677, SecondaryColor3uiEXT@12) - GL_STUB(SecondaryColor3uivEXT, 678, SecondaryColor3uivEXT@4) - GL_STUB(SecondaryColor3usEXT, 679, SecondaryColor3usEXT@12) - GL_STUB(SecondaryColor3usvEXT, 680, SecondaryColor3usvEXT@4) - GL_STUB(SecondaryColorPointerEXT, 681, SecondaryColorPointerEXT@16) - GL_STUB(MultiDrawArraysEXT, 682, MultiDrawArraysEXT@16) - GL_STUB(MultiDrawElementsEXT, 683, MultiDrawElementsEXT@20) - GL_STUB(FogCoordPointerEXT, 684, FogCoordPointerEXT@12) - GL_STUB(FogCoorddEXT, 685, FogCoorddEXT@8) - GL_STUB(FogCoorddvEXT, 686, FogCoorddvEXT@4) - GL_STUB(FogCoordfEXT, 687, FogCoordfEXT@4) - GL_STUB(FogCoordfvEXT, 688, FogCoordfvEXT@4) - GL_STUB(_dispatch_stub_689, 689, _dispatch_stub_689@4) - HIDDEN(GL_PREFIX(_dispatch_stub_689, _dispatch_stub_689@4)) - GL_STUB(BlendFuncSeparateEXT, 690, BlendFuncSeparateEXT@16) - GL_STUB(FlushVertexArrayRangeNV, 691, FlushVertexArrayRangeNV@0) - GL_STUB(VertexArrayRangeNV, 692, VertexArrayRangeNV@8) - GL_STUB(CombinerInputNV, 693, CombinerInputNV@24) - GL_STUB(CombinerOutputNV, 694, CombinerOutputNV@40) - GL_STUB(CombinerParameterfNV, 695, CombinerParameterfNV@8) - GL_STUB(CombinerParameterfvNV, 696, CombinerParameterfvNV@8) - GL_STUB(CombinerParameteriNV, 697, CombinerParameteriNV@8) - GL_STUB(CombinerParameterivNV, 698, CombinerParameterivNV@8) - GL_STUB(FinalCombinerInputNV, 699, FinalCombinerInputNV@16) - GL_STUB(GetCombinerInputParameterfvNV, 700, GetCombinerInputParameterfvNV@20) - GL_STUB(GetCombinerInputParameterivNV, 701, GetCombinerInputParameterivNV@20) - GL_STUB(GetCombinerOutputParameterfvNV, 702, GetCombinerOutputParameterfvNV@16) - GL_STUB(GetCombinerOutputParameterivNV, 703, GetCombinerOutputParameterivNV@16) - GL_STUB(GetFinalCombinerInputParameterfvNV, 704, GetFinalCombinerInputParameterfvNV@12) - GL_STUB(GetFinalCombinerInputParameterivNV, 705, GetFinalCombinerInputParameterivNV@12) - GL_STUB(ResizeBuffersMESA, 706, ResizeBuffersMESA@0) - GL_STUB(WindowPos2dMESA, 707, WindowPos2dMESA@16) - GL_STUB(WindowPos2dvMESA, 708, WindowPos2dvMESA@4) - GL_STUB(WindowPos2fMESA, 709, WindowPos2fMESA@8) - GL_STUB(WindowPos2fvMESA, 710, WindowPos2fvMESA@4) - GL_STUB(WindowPos2iMESA, 711, WindowPos2iMESA@8) - GL_STUB(WindowPos2ivMESA, 712, WindowPos2ivMESA@4) - GL_STUB(WindowPos2sMESA, 713, WindowPos2sMESA@8) - GL_STUB(WindowPos2svMESA, 714, WindowPos2svMESA@4) - GL_STUB(WindowPos3dMESA, 715, WindowPos3dMESA@24) - GL_STUB(WindowPos3dvMESA, 716, WindowPos3dvMESA@4) - GL_STUB(WindowPos3fMESA, 717, WindowPos3fMESA@12) - GL_STUB(WindowPos3fvMESA, 718, WindowPos3fvMESA@4) - GL_STUB(WindowPos3iMESA, 719, WindowPos3iMESA@12) - GL_STUB(WindowPos3ivMESA, 720, WindowPos3ivMESA@4) - GL_STUB(WindowPos3sMESA, 721, WindowPos3sMESA@12) - GL_STUB(WindowPos3svMESA, 722, WindowPos3svMESA@4) - GL_STUB(WindowPos4dMESA, 723, WindowPos4dMESA@32) - GL_STUB(WindowPos4dvMESA, 724, WindowPos4dvMESA@4) - GL_STUB(WindowPos4fMESA, 725, WindowPos4fMESA@16) - GL_STUB(WindowPos4fvMESA, 726, WindowPos4fvMESA@4) - GL_STUB(WindowPos4iMESA, 727, WindowPos4iMESA@16) - GL_STUB(WindowPos4ivMESA, 728, WindowPos4ivMESA@4) - GL_STUB(WindowPos4sMESA, 729, WindowPos4sMESA@16) - GL_STUB(WindowPos4svMESA, 730, WindowPos4svMESA@4) - GL_STUB(_dispatch_stub_731, 731, _dispatch_stub_731@20) - HIDDEN(GL_PREFIX(_dispatch_stub_731, _dispatch_stub_731@20)) - GL_STUB(_dispatch_stub_732, 732, _dispatch_stub_732@24) - HIDDEN(GL_PREFIX(_dispatch_stub_732, _dispatch_stub_732@24)) - GL_STUB(_dispatch_stub_733, 733, _dispatch_stub_733@8) - HIDDEN(GL_PREFIX(_dispatch_stub_733, _dispatch_stub_733@8)) - GL_STUB(_dispatch_stub_734, 734, _dispatch_stub_734@4) - HIDDEN(GL_PREFIX(_dispatch_stub_734, _dispatch_stub_734@4)) - GL_STUB(_dispatch_stub_735, 735, _dispatch_stub_735@8) - HIDDEN(GL_PREFIX(_dispatch_stub_735, _dispatch_stub_735@8)) - GL_STUB(_dispatch_stub_736, 736, _dispatch_stub_736@12) - HIDDEN(GL_PREFIX(_dispatch_stub_736, _dispatch_stub_736@12)) - GL_STUB(_dispatch_stub_737, 737, _dispatch_stub_737@4) - HIDDEN(GL_PREFIX(_dispatch_stub_737, _dispatch_stub_737@4)) - GL_STUB(_dispatch_stub_738, 738, _dispatch_stub_738@8) - HIDDEN(GL_PREFIX(_dispatch_stub_738, _dispatch_stub_738@8)) - GL_STUB(_dispatch_stub_739, 739, _dispatch_stub_739@4) - HIDDEN(GL_PREFIX(_dispatch_stub_739, _dispatch_stub_739@4)) - GL_STUB(AreProgramsResidentNV, 740, AreProgramsResidentNV@12) - GL_STUB(BindProgramNV, 741, BindProgramNV@8) - GL_STUB(DeleteProgramsNV, 742, DeleteProgramsNV@8) - GL_STUB(ExecuteProgramNV, 743, ExecuteProgramNV@12) - GL_STUB(GenProgramsNV, 744, GenProgramsNV@8) - GL_STUB(GetProgramParameterdvNV, 745, GetProgramParameterdvNV@16) - GL_STUB(GetProgramParameterfvNV, 746, GetProgramParameterfvNV@16) - GL_STUB(GetProgramStringNV, 747, GetProgramStringNV@12) - GL_STUB(GetProgramivNV, 748, GetProgramivNV@12) - GL_STUB(GetTrackMatrixivNV, 749, GetTrackMatrixivNV@16) - GL_STUB(GetVertexAttribPointervNV, 750, GetVertexAttribPointervNV@12) - GL_STUB(GetVertexAttribdvNV, 751, GetVertexAttribdvNV@12) - GL_STUB(GetVertexAttribfvNV, 752, GetVertexAttribfvNV@12) - GL_STUB(GetVertexAttribivNV, 753, GetVertexAttribivNV@12) - GL_STUB(IsProgramNV, 754, IsProgramNV@4) - GL_STUB(LoadProgramNV, 755, LoadProgramNV@16) - GL_STUB(ProgramParameters4dvNV, 756, ProgramParameters4dvNV@16) - GL_STUB(ProgramParameters4fvNV, 757, ProgramParameters4fvNV@16) - GL_STUB(RequestResidentProgramsNV, 758, RequestResidentProgramsNV@8) - GL_STUB(TrackMatrixNV, 759, TrackMatrixNV@16) - GL_STUB(VertexAttrib1dNV, 760, VertexAttrib1dNV@12) - GL_STUB(VertexAttrib1dvNV, 761, VertexAttrib1dvNV@8) - GL_STUB(VertexAttrib1fNV, 762, VertexAttrib1fNV@8) - GL_STUB(VertexAttrib1fvNV, 763, VertexAttrib1fvNV@8) - GL_STUB(VertexAttrib1sNV, 764, VertexAttrib1sNV@8) - GL_STUB(VertexAttrib1svNV, 765, VertexAttrib1svNV@8) - GL_STUB(VertexAttrib2dNV, 766, VertexAttrib2dNV@20) - GL_STUB(VertexAttrib2dvNV, 767, VertexAttrib2dvNV@8) - GL_STUB(VertexAttrib2fNV, 768, VertexAttrib2fNV@12) - GL_STUB(VertexAttrib2fvNV, 769, VertexAttrib2fvNV@8) - GL_STUB(VertexAttrib2sNV, 770, VertexAttrib2sNV@12) - GL_STUB(VertexAttrib2svNV, 771, VertexAttrib2svNV@8) - GL_STUB(VertexAttrib3dNV, 772, VertexAttrib3dNV@28) - GL_STUB(VertexAttrib3dvNV, 773, VertexAttrib3dvNV@8) - GL_STUB(VertexAttrib3fNV, 774, VertexAttrib3fNV@16) - GL_STUB(VertexAttrib3fvNV, 775, VertexAttrib3fvNV@8) - GL_STUB(VertexAttrib3sNV, 776, VertexAttrib3sNV@16) - GL_STUB(VertexAttrib3svNV, 777, VertexAttrib3svNV@8) - GL_STUB(VertexAttrib4dNV, 778, VertexAttrib4dNV@36) - GL_STUB(VertexAttrib4dvNV, 779, VertexAttrib4dvNV@8) - GL_STUB(VertexAttrib4fNV, 780, VertexAttrib4fNV@20) - GL_STUB(VertexAttrib4fvNV, 781, VertexAttrib4fvNV@8) - GL_STUB(VertexAttrib4sNV, 782, VertexAttrib4sNV@20) - GL_STUB(VertexAttrib4svNV, 783, VertexAttrib4svNV@8) - GL_STUB(VertexAttrib4ubNV, 784, VertexAttrib4ubNV@20) - GL_STUB(VertexAttrib4ubvNV, 785, VertexAttrib4ubvNV@8) - GL_STUB(VertexAttribPointerNV, 786, VertexAttribPointerNV@20) - GL_STUB(VertexAttribs1dvNV, 787, VertexAttribs1dvNV@12) - GL_STUB(VertexAttribs1fvNV, 788, VertexAttribs1fvNV@12) - GL_STUB(VertexAttribs1svNV, 789, VertexAttribs1svNV@12) - GL_STUB(VertexAttribs2dvNV, 790, VertexAttribs2dvNV@12) - GL_STUB(VertexAttribs2fvNV, 791, VertexAttribs2fvNV@12) - GL_STUB(VertexAttribs2svNV, 792, VertexAttribs2svNV@12) - GL_STUB(VertexAttribs3dvNV, 793, VertexAttribs3dvNV@12) - GL_STUB(VertexAttribs3fvNV, 794, VertexAttribs3fvNV@12) - GL_STUB(VertexAttribs3svNV, 795, VertexAttribs3svNV@12) - GL_STUB(VertexAttribs4dvNV, 796, VertexAttribs4dvNV@12) - GL_STUB(VertexAttribs4fvNV, 797, VertexAttribs4fvNV@12) - GL_STUB(VertexAttribs4svNV, 798, VertexAttribs4svNV@12) - GL_STUB(VertexAttribs4ubvNV, 799, VertexAttribs4ubvNV@12) - GL_STUB(GetTexBumpParameterfvATI, 800, GetTexBumpParameterfvATI@8) - GL_STUB(GetTexBumpParameterivATI, 801, GetTexBumpParameterivATI@8) - GL_STUB(TexBumpParameterfvATI, 802, TexBumpParameterfvATI@8) - GL_STUB(TexBumpParameterivATI, 803, TexBumpParameterivATI@8) - GL_STUB(AlphaFragmentOp1ATI, 804, AlphaFragmentOp1ATI@24) - GL_STUB(AlphaFragmentOp2ATI, 805, AlphaFragmentOp2ATI@36) - GL_STUB(AlphaFragmentOp3ATI, 806, AlphaFragmentOp3ATI@48) - GL_STUB(BeginFragmentShaderATI, 807, BeginFragmentShaderATI@0) - GL_STUB(BindFragmentShaderATI, 808, BindFragmentShaderATI@4) - GL_STUB(ColorFragmentOp1ATI, 809, ColorFragmentOp1ATI@28) - GL_STUB(ColorFragmentOp2ATI, 810, ColorFragmentOp2ATI@40) - GL_STUB(ColorFragmentOp3ATI, 811, ColorFragmentOp3ATI@52) - GL_STUB(DeleteFragmentShaderATI, 812, DeleteFragmentShaderATI@4) - GL_STUB(EndFragmentShaderATI, 813, EndFragmentShaderATI@0) - GL_STUB(GenFragmentShadersATI, 814, GenFragmentShadersATI@4) - GL_STUB(PassTexCoordATI, 815, PassTexCoordATI@12) - GL_STUB(SampleMapATI, 816, SampleMapATI@12) - GL_STUB(SetFragmentShaderConstantATI, 817, SetFragmentShaderConstantATI@8) - GL_STUB(PointParameteriNV, 818, PointParameteriNV@8) - GL_STUB(PointParameterivNV, 819, PointParameterivNV@8) - GL_STUB(_dispatch_stub_820, 820, _dispatch_stub_820@4) - HIDDEN(GL_PREFIX(_dispatch_stub_820, _dispatch_stub_820@4)) + GL_STUB(_dispatch_stub_654, 654, _dispatch_stub_654@8) + HIDDEN(GL_PREFIX(_dispatch_stub_654, _dispatch_stub_654@8)) + GL_STUB(_dispatch_stub_655, 655, _dispatch_stub_655@4) + HIDDEN(GL_PREFIX(_dispatch_stub_655, _dispatch_stub_655@4)) + GL_STUB(ColorPointerEXT, 656, ColorPointerEXT@20) + GL_STUB(EdgeFlagPointerEXT, 657, EdgeFlagPointerEXT@12) + GL_STUB(IndexPointerEXT, 658, IndexPointerEXT@16) + GL_STUB(NormalPointerEXT, 659, NormalPointerEXT@16) + GL_STUB(TexCoordPointerEXT, 660, TexCoordPointerEXT@20) + GL_STUB(VertexPointerEXT, 661, VertexPointerEXT@20) + GL_STUB(PointParameterfEXT, 662, PointParameterfEXT@8) + GL_STUB(PointParameterfvEXT, 663, PointParameterfvEXT@8) + GL_STUB(LockArraysEXT, 664, LockArraysEXT@8) + GL_STUB(UnlockArraysEXT, 665, UnlockArraysEXT@0) + GL_STUB(SecondaryColor3bEXT, 666, SecondaryColor3bEXT@12) + GL_STUB(SecondaryColor3bvEXT, 667, SecondaryColor3bvEXT@4) + GL_STUB(SecondaryColor3dEXT, 668, SecondaryColor3dEXT@24) + GL_STUB(SecondaryColor3dvEXT, 669, SecondaryColor3dvEXT@4) + GL_STUB(SecondaryColor3fEXT, 670, SecondaryColor3fEXT@12) + GL_STUB(SecondaryColor3fvEXT, 671, SecondaryColor3fvEXT@4) + GL_STUB(SecondaryColor3iEXT, 672, SecondaryColor3iEXT@12) + GL_STUB(SecondaryColor3ivEXT, 673, SecondaryColor3ivEXT@4) + GL_STUB(SecondaryColor3sEXT, 674, SecondaryColor3sEXT@12) + GL_STUB(SecondaryColor3svEXT, 675, SecondaryColor3svEXT@4) + GL_STUB(SecondaryColor3ubEXT, 676, SecondaryColor3ubEXT@12) + GL_STUB(SecondaryColor3ubvEXT, 677, SecondaryColor3ubvEXT@4) + GL_STUB(SecondaryColor3uiEXT, 678, SecondaryColor3uiEXT@12) + GL_STUB(SecondaryColor3uivEXT, 679, SecondaryColor3uivEXT@4) + GL_STUB(SecondaryColor3usEXT, 680, SecondaryColor3usEXT@12) + GL_STUB(SecondaryColor3usvEXT, 681, SecondaryColor3usvEXT@4) + GL_STUB(SecondaryColorPointerEXT, 682, SecondaryColorPointerEXT@16) + GL_STUB(MultiDrawArraysEXT, 683, MultiDrawArraysEXT@16) + GL_STUB(MultiDrawElementsEXT, 684, MultiDrawElementsEXT@20) + GL_STUB(FogCoordPointerEXT, 685, FogCoordPointerEXT@12) + GL_STUB(FogCoorddEXT, 686, FogCoorddEXT@8) + GL_STUB(FogCoorddvEXT, 687, FogCoorddvEXT@4) + GL_STUB(FogCoordfEXT, 688, FogCoordfEXT@4) + GL_STUB(FogCoordfvEXT, 689, FogCoordfvEXT@4) + GL_STUB(_dispatch_stub_690, 690, _dispatch_stub_690@4) + HIDDEN(GL_PREFIX(_dispatch_stub_690, _dispatch_stub_690@4)) + GL_STUB(BlendFuncSeparateEXT, 691, BlendFuncSeparateEXT@16) + GL_STUB(FlushVertexArrayRangeNV, 692, FlushVertexArrayRangeNV@0) + GL_STUB(VertexArrayRangeNV, 693, VertexArrayRangeNV@8) + GL_STUB(CombinerInputNV, 694, CombinerInputNV@24) + GL_STUB(CombinerOutputNV, 695, CombinerOutputNV@40) + GL_STUB(CombinerParameterfNV, 696, CombinerParameterfNV@8) + GL_STUB(CombinerParameterfvNV, 697, CombinerParameterfvNV@8) + GL_STUB(CombinerParameteriNV, 698, CombinerParameteriNV@8) + GL_STUB(CombinerParameterivNV, 699, CombinerParameterivNV@8) + GL_STUB(FinalCombinerInputNV, 700, FinalCombinerInputNV@16) + GL_STUB(GetCombinerInputParameterfvNV, 701, GetCombinerInputParameterfvNV@20) + GL_STUB(GetCombinerInputParameterivNV, 702, GetCombinerInputParameterivNV@20) + GL_STUB(GetCombinerOutputParameterfvNV, 703, GetCombinerOutputParameterfvNV@16) + GL_STUB(GetCombinerOutputParameterivNV, 704, GetCombinerOutputParameterivNV@16) + GL_STUB(GetFinalCombinerInputParameterfvNV, 705, GetFinalCombinerInputParameterfvNV@12) + GL_STUB(GetFinalCombinerInputParameterivNV, 706, GetFinalCombinerInputParameterivNV@12) + GL_STUB(ResizeBuffersMESA, 707, ResizeBuffersMESA@0) + GL_STUB(WindowPos2dMESA, 708, WindowPos2dMESA@16) + GL_STUB(WindowPos2dvMESA, 709, WindowPos2dvMESA@4) + GL_STUB(WindowPos2fMESA, 710, WindowPos2fMESA@8) + GL_STUB(WindowPos2fvMESA, 711, WindowPos2fvMESA@4) + GL_STUB(WindowPos2iMESA, 712, WindowPos2iMESA@8) + GL_STUB(WindowPos2ivMESA, 713, WindowPos2ivMESA@4) + GL_STUB(WindowPos2sMESA, 714, WindowPos2sMESA@8) + GL_STUB(WindowPos2svMESA, 715, WindowPos2svMESA@4) + GL_STUB(WindowPos3dMESA, 716, WindowPos3dMESA@24) + GL_STUB(WindowPos3dvMESA, 717, WindowPos3dvMESA@4) + GL_STUB(WindowPos3fMESA, 718, WindowPos3fMESA@12) + GL_STUB(WindowPos3fvMESA, 719, WindowPos3fvMESA@4) + GL_STUB(WindowPos3iMESA, 720, WindowPos3iMESA@12) + GL_STUB(WindowPos3ivMESA, 721, WindowPos3ivMESA@4) + GL_STUB(WindowPos3sMESA, 722, WindowPos3sMESA@12) + GL_STUB(WindowPos3svMESA, 723, WindowPos3svMESA@4) + GL_STUB(WindowPos4dMESA, 724, WindowPos4dMESA@32) + GL_STUB(WindowPos4dvMESA, 725, WindowPos4dvMESA@4) + GL_STUB(WindowPos4fMESA, 726, WindowPos4fMESA@16) + GL_STUB(WindowPos4fvMESA, 727, WindowPos4fvMESA@4) + GL_STUB(WindowPos4iMESA, 728, WindowPos4iMESA@16) + GL_STUB(WindowPos4ivMESA, 729, WindowPos4ivMESA@4) + GL_STUB(WindowPos4sMESA, 730, WindowPos4sMESA@16) + GL_STUB(WindowPos4svMESA, 731, WindowPos4svMESA@4) + GL_STUB(_dispatch_stub_732, 732, _dispatch_stub_732@20) + HIDDEN(GL_PREFIX(_dispatch_stub_732, _dispatch_stub_732@20)) + GL_STUB(_dispatch_stub_733, 733, _dispatch_stub_733@24) + HIDDEN(GL_PREFIX(_dispatch_stub_733, _dispatch_stub_733@24)) + GL_STUB(_dispatch_stub_734, 734, _dispatch_stub_734@8) + HIDDEN(GL_PREFIX(_dispatch_stub_734, _dispatch_stub_734@8)) + GL_STUB(_dispatch_stub_735, 735, _dispatch_stub_735@4) + HIDDEN(GL_PREFIX(_dispatch_stub_735, _dispatch_stub_735@4)) + GL_STUB(_dispatch_stub_736, 736, _dispatch_stub_736@8) + HIDDEN(GL_PREFIX(_dispatch_stub_736, _dispatch_stub_736@8)) + GL_STUB(_dispatch_stub_737, 737, _dispatch_stub_737@12) + HIDDEN(GL_PREFIX(_dispatch_stub_737, _dispatch_stub_737@12)) + GL_STUB(_dispatch_stub_738, 738, _dispatch_stub_738@4) + HIDDEN(GL_PREFIX(_dispatch_stub_738, _dispatch_stub_738@4)) + GL_STUB(_dispatch_stub_739, 739, _dispatch_stub_739@8) + HIDDEN(GL_PREFIX(_dispatch_stub_739, _dispatch_stub_739@8)) + GL_STUB(_dispatch_stub_740, 740, _dispatch_stub_740@4) + HIDDEN(GL_PREFIX(_dispatch_stub_740, _dispatch_stub_740@4)) + GL_STUB(AreProgramsResidentNV, 741, AreProgramsResidentNV@12) + GL_STUB(BindProgramNV, 742, BindProgramNV@8) + GL_STUB(DeleteProgramsNV, 743, DeleteProgramsNV@8) + GL_STUB(ExecuteProgramNV, 744, ExecuteProgramNV@12) + GL_STUB(GenProgramsNV, 745, GenProgramsNV@8) + GL_STUB(GetProgramParameterdvNV, 746, GetProgramParameterdvNV@16) + GL_STUB(GetProgramParameterfvNV, 747, GetProgramParameterfvNV@16) + GL_STUB(GetProgramStringNV, 748, GetProgramStringNV@12) + GL_STUB(GetProgramivNV, 749, GetProgramivNV@12) + GL_STUB(GetTrackMatrixivNV, 750, GetTrackMatrixivNV@16) + GL_STUB(GetVertexAttribPointervNV, 751, GetVertexAttribPointervNV@12) + GL_STUB(GetVertexAttribdvNV, 752, GetVertexAttribdvNV@12) + GL_STUB(GetVertexAttribfvNV, 753, GetVertexAttribfvNV@12) + GL_STUB(GetVertexAttribivNV, 754, GetVertexAttribivNV@12) + GL_STUB(IsProgramNV, 755, IsProgramNV@4) + GL_STUB(LoadProgramNV, 756, LoadProgramNV@16) + GL_STUB(ProgramParameters4dvNV, 757, ProgramParameters4dvNV@16) + GL_STUB(ProgramParameters4fvNV, 758, ProgramParameters4fvNV@16) + GL_STUB(RequestResidentProgramsNV, 759, RequestResidentProgramsNV@8) + GL_STUB(TrackMatrixNV, 760, TrackMatrixNV@16) + GL_STUB(VertexAttrib1dNV, 761, VertexAttrib1dNV@12) + GL_STUB(VertexAttrib1dvNV, 762, VertexAttrib1dvNV@8) + GL_STUB(VertexAttrib1fNV, 763, VertexAttrib1fNV@8) + GL_STUB(VertexAttrib1fvNV, 764, VertexAttrib1fvNV@8) + GL_STUB(VertexAttrib1sNV, 765, VertexAttrib1sNV@8) + GL_STUB(VertexAttrib1svNV, 766, VertexAttrib1svNV@8) + GL_STUB(VertexAttrib2dNV, 767, VertexAttrib2dNV@20) + GL_STUB(VertexAttrib2dvNV, 768, VertexAttrib2dvNV@8) + GL_STUB(VertexAttrib2fNV, 769, VertexAttrib2fNV@12) + GL_STUB(VertexAttrib2fvNV, 770, VertexAttrib2fvNV@8) + GL_STUB(VertexAttrib2sNV, 771, VertexAttrib2sNV@12) + GL_STUB(VertexAttrib2svNV, 772, VertexAttrib2svNV@8) + GL_STUB(VertexAttrib3dNV, 773, VertexAttrib3dNV@28) + GL_STUB(VertexAttrib3dvNV, 774, VertexAttrib3dvNV@8) + GL_STUB(VertexAttrib3fNV, 775, VertexAttrib3fNV@16) + GL_STUB(VertexAttrib3fvNV, 776, VertexAttrib3fvNV@8) + GL_STUB(VertexAttrib3sNV, 777, VertexAttrib3sNV@16) + GL_STUB(VertexAttrib3svNV, 778, VertexAttrib3svNV@8) + GL_STUB(VertexAttrib4dNV, 779, VertexAttrib4dNV@36) + GL_STUB(VertexAttrib4dvNV, 780, VertexAttrib4dvNV@8) + GL_STUB(VertexAttrib4fNV, 781, VertexAttrib4fNV@20) + GL_STUB(VertexAttrib4fvNV, 782, VertexAttrib4fvNV@8) + GL_STUB(VertexAttrib4sNV, 783, VertexAttrib4sNV@20) + GL_STUB(VertexAttrib4svNV, 784, VertexAttrib4svNV@8) + GL_STUB(VertexAttrib4ubNV, 785, VertexAttrib4ubNV@20) + GL_STUB(VertexAttrib4ubvNV, 786, VertexAttrib4ubvNV@8) + GL_STUB(VertexAttribPointerNV, 787, VertexAttribPointerNV@20) + GL_STUB(VertexAttribs1dvNV, 788, VertexAttribs1dvNV@12) + GL_STUB(VertexAttribs1fvNV, 789, VertexAttribs1fvNV@12) + GL_STUB(VertexAttribs1svNV, 790, VertexAttribs1svNV@12) + GL_STUB(VertexAttribs2dvNV, 791, VertexAttribs2dvNV@12) + GL_STUB(VertexAttribs2fvNV, 792, VertexAttribs2fvNV@12) + GL_STUB(VertexAttribs2svNV, 793, VertexAttribs2svNV@12) + GL_STUB(VertexAttribs3dvNV, 794, VertexAttribs3dvNV@12) + GL_STUB(VertexAttribs3fvNV, 795, VertexAttribs3fvNV@12) + GL_STUB(VertexAttribs3svNV, 796, VertexAttribs3svNV@12) + GL_STUB(VertexAttribs4dvNV, 797, VertexAttribs4dvNV@12) + GL_STUB(VertexAttribs4fvNV, 798, VertexAttribs4fvNV@12) + GL_STUB(VertexAttribs4svNV, 799, VertexAttribs4svNV@12) + GL_STUB(VertexAttribs4ubvNV, 800, VertexAttribs4ubvNV@12) + GL_STUB(GetTexBumpParameterfvATI, 801, GetTexBumpParameterfvATI@8) + GL_STUB(GetTexBumpParameterivATI, 802, GetTexBumpParameterivATI@8) + GL_STUB(TexBumpParameterfvATI, 803, TexBumpParameterfvATI@8) + GL_STUB(TexBumpParameterivATI, 804, TexBumpParameterivATI@8) + GL_STUB(AlphaFragmentOp1ATI, 805, AlphaFragmentOp1ATI@24) + GL_STUB(AlphaFragmentOp2ATI, 806, AlphaFragmentOp2ATI@36) + GL_STUB(AlphaFragmentOp3ATI, 807, AlphaFragmentOp3ATI@48) + GL_STUB(BeginFragmentShaderATI, 808, BeginFragmentShaderATI@0) + GL_STUB(BindFragmentShaderATI, 809, BindFragmentShaderATI@4) + GL_STUB(ColorFragmentOp1ATI, 810, ColorFragmentOp1ATI@28) + GL_STUB(ColorFragmentOp2ATI, 811, ColorFragmentOp2ATI@40) + GL_STUB(ColorFragmentOp3ATI, 812, ColorFragmentOp3ATI@52) + GL_STUB(DeleteFragmentShaderATI, 813, DeleteFragmentShaderATI@4) + GL_STUB(EndFragmentShaderATI, 814, EndFragmentShaderATI@0) + GL_STUB(GenFragmentShadersATI, 815, GenFragmentShadersATI@4) + GL_STUB(PassTexCoordATI, 816, PassTexCoordATI@12) + GL_STUB(SampleMapATI, 817, SampleMapATI@12) + GL_STUB(SetFragmentShaderConstantATI, 818, SetFragmentShaderConstantATI@8) + GL_STUB(PointParameteriNV, 819, PointParameteriNV@8) + GL_STUB(PointParameterivNV, 820, PointParameterivNV@8) GL_STUB(_dispatch_stub_821, 821, _dispatch_stub_821@4) HIDDEN(GL_PREFIX(_dispatch_stub_821, _dispatch_stub_821@4)) - GL_STUB(_dispatch_stub_822, 822, _dispatch_stub_822@8) - HIDDEN(GL_PREFIX(_dispatch_stub_822, _dispatch_stub_822@8)) + GL_STUB(_dispatch_stub_822, 822, _dispatch_stub_822@4) + HIDDEN(GL_PREFIX(_dispatch_stub_822, _dispatch_stub_822@4)) GL_STUB(_dispatch_stub_823, 823, _dispatch_stub_823@8) HIDDEN(GL_PREFIX(_dispatch_stub_823, _dispatch_stub_823@8)) - GL_STUB(_dispatch_stub_824, 824, _dispatch_stub_824@4) - HIDDEN(GL_PREFIX(_dispatch_stub_824, _dispatch_stub_824@4)) - GL_STUB(GetProgramNamedParameterdvNV, 825, GetProgramNamedParameterdvNV@16) - GL_STUB(GetProgramNamedParameterfvNV, 826, GetProgramNamedParameterfvNV@16) - GL_STUB(ProgramNamedParameter4dNV, 827, ProgramNamedParameter4dNV@44) - GL_STUB(ProgramNamedParameter4dvNV, 828, ProgramNamedParameter4dvNV@16) - GL_STUB(ProgramNamedParameter4fNV, 829, ProgramNamedParameter4fNV@28) - GL_STUB(ProgramNamedParameter4fvNV, 830, ProgramNamedParameter4fvNV@16) - GL_STUB(PrimitiveRestartIndexNV, 831, PrimitiveRestartIndexNV@4) - GL_STUB(PrimitiveRestartNV, 832, PrimitiveRestartNV@0) - GL_STUB(_dispatch_stub_833, 833, _dispatch_stub_833@16) - HIDDEN(GL_PREFIX(_dispatch_stub_833, _dispatch_stub_833@16)) - GL_STUB(_dispatch_stub_834, 834, _dispatch_stub_834@8) - HIDDEN(GL_PREFIX(_dispatch_stub_834, _dispatch_stub_834@8)) - GL_STUB(BindFramebufferEXT, 835, BindFramebufferEXT@8) - GL_STUB(BindRenderbufferEXT, 836, BindRenderbufferEXT@8) - GL_STUB(CheckFramebufferStatusEXT, 837, CheckFramebufferStatusEXT@4) - GL_STUB(DeleteFramebuffersEXT, 838, DeleteFramebuffersEXT@8) - GL_STUB(DeleteRenderbuffersEXT, 839, DeleteRenderbuffersEXT@8) - GL_STUB(FramebufferRenderbufferEXT, 840, FramebufferRenderbufferEXT@16) - GL_STUB(FramebufferTexture1DEXT, 841, FramebufferTexture1DEXT@20) - GL_STUB(FramebufferTexture2DEXT, 842, FramebufferTexture2DEXT@20) - GL_STUB(FramebufferTexture3DEXT, 843, FramebufferTexture3DEXT@24) - GL_STUB(GenFramebuffersEXT, 844, GenFramebuffersEXT@8) - GL_STUB(GenRenderbuffersEXT, 845, GenRenderbuffersEXT@8) - GL_STUB(GenerateMipmapEXT, 846, GenerateMipmapEXT@4) - GL_STUB(GetFramebufferAttachmentParameterivEXT, 847, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB(GetRenderbufferParameterivEXT, 848, GetRenderbufferParameterivEXT@12) - GL_STUB(IsFramebufferEXT, 849, IsFramebufferEXT@4) - GL_STUB(IsRenderbufferEXT, 850, IsRenderbufferEXT@4) - GL_STUB(RenderbufferStorageEXT, 851, RenderbufferStorageEXT@16) - GL_STUB(_dispatch_stub_852, 852, _dispatch_stub_852@40) - HIDDEN(GL_PREFIX(_dispatch_stub_852, _dispatch_stub_852@40)) - GL_STUB(_dispatch_stub_853, 853, _dispatch_stub_853@12) - HIDDEN(GL_PREFIX(_dispatch_stub_853, _dispatch_stub_853@12)) + GL_STUB(_dispatch_stub_824, 824, _dispatch_stub_824@8) + HIDDEN(GL_PREFIX(_dispatch_stub_824, _dispatch_stub_824@8)) + GL_STUB(_dispatch_stub_825, 825, _dispatch_stub_825@4) + HIDDEN(GL_PREFIX(_dispatch_stub_825, _dispatch_stub_825@4)) + GL_STUB(GetProgramNamedParameterdvNV, 826, GetProgramNamedParameterdvNV@16) + GL_STUB(GetProgramNamedParameterfvNV, 827, GetProgramNamedParameterfvNV@16) + GL_STUB(ProgramNamedParameter4dNV, 828, ProgramNamedParameter4dNV@44) + GL_STUB(ProgramNamedParameter4dvNV, 829, ProgramNamedParameter4dvNV@16) + GL_STUB(ProgramNamedParameter4fNV, 830, ProgramNamedParameter4fNV@28) + GL_STUB(ProgramNamedParameter4fvNV, 831, ProgramNamedParameter4fvNV@16) + GL_STUB(PrimitiveRestartIndexNV, 832, PrimitiveRestartIndexNV@4) + GL_STUB(PrimitiveRestartNV, 833, PrimitiveRestartNV@0) + GL_STUB(_dispatch_stub_834, 834, _dispatch_stub_834@16) + HIDDEN(GL_PREFIX(_dispatch_stub_834, _dispatch_stub_834@16)) + GL_STUB(_dispatch_stub_835, 835, _dispatch_stub_835@8) + HIDDEN(GL_PREFIX(_dispatch_stub_835, _dispatch_stub_835@8)) + GL_STUB(BindFramebufferEXT, 836, BindFramebufferEXT@8) + GL_STUB(BindRenderbufferEXT, 837, BindRenderbufferEXT@8) + GL_STUB(CheckFramebufferStatusEXT, 838, CheckFramebufferStatusEXT@4) + GL_STUB(DeleteFramebuffersEXT, 839, DeleteFramebuffersEXT@8) + GL_STUB(DeleteRenderbuffersEXT, 840, DeleteRenderbuffersEXT@8) + GL_STUB(FramebufferRenderbufferEXT, 841, FramebufferRenderbufferEXT@16) + GL_STUB(FramebufferTexture1DEXT, 842, FramebufferTexture1DEXT@20) + GL_STUB(FramebufferTexture2DEXT, 843, FramebufferTexture2DEXT@20) + GL_STUB(FramebufferTexture3DEXT, 844, FramebufferTexture3DEXT@24) + GL_STUB(GenFramebuffersEXT, 845, GenFramebuffersEXT@8) + GL_STUB(GenRenderbuffersEXT, 846, GenRenderbuffersEXT@8) + GL_STUB(GenerateMipmapEXT, 847, GenerateMipmapEXT@4) + GL_STUB(GetFramebufferAttachmentParameterivEXT, 848, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB(GetRenderbufferParameterivEXT, 849, GetRenderbufferParameterivEXT@12) + GL_STUB(IsFramebufferEXT, 850, IsFramebufferEXT@4) + GL_STUB(IsRenderbufferEXT, 851, IsRenderbufferEXT@4) + GL_STUB(RenderbufferStorageEXT, 852, RenderbufferStorageEXT@16) + GL_STUB(_dispatch_stub_853, 853, _dispatch_stub_853@40) + HIDDEN(GL_PREFIX(_dispatch_stub_853, _dispatch_stub_853@40)) GL_STUB(_dispatch_stub_854, 854, _dispatch_stub_854@12) HIDDEN(GL_PREFIX(_dispatch_stub_854, _dispatch_stub_854@12)) - GL_STUB(BindFragDataLocationEXT, 855, BindFragDataLocationEXT@12) - GL_STUB(GetFragDataLocationEXT, 856, GetFragDataLocationEXT@8) - GL_STUB(GetUniformuivEXT, 857, GetUniformuivEXT@12) - GL_STUB(GetVertexAttribIivEXT, 858, GetVertexAttribIivEXT@12) - GL_STUB(GetVertexAttribIuivEXT, 859, GetVertexAttribIuivEXT@12) - GL_STUB(Uniform1uiEXT, 860, Uniform1uiEXT@8) - GL_STUB(Uniform1uivEXT, 861, Uniform1uivEXT@12) - GL_STUB(Uniform2uiEXT, 862, Uniform2uiEXT@12) - GL_STUB(Uniform2uivEXT, 863, Uniform2uivEXT@12) - GL_STUB(Uniform3uiEXT, 864, Uniform3uiEXT@16) - GL_STUB(Uniform3uivEXT, 865, Uniform3uivEXT@12) - GL_STUB(Uniform4uiEXT, 866, Uniform4uiEXT@20) - GL_STUB(Uniform4uivEXT, 867, Uniform4uivEXT@12) - GL_STUB(VertexAttribI1iEXT, 868, VertexAttribI1iEXT@8) - GL_STUB(VertexAttribI1ivEXT, 869, VertexAttribI1ivEXT@8) - GL_STUB(VertexAttribI1uiEXT, 870, VertexAttribI1uiEXT@8) - GL_STUB(VertexAttribI1uivEXT, 871, VertexAttribI1uivEXT@8) - GL_STUB(VertexAttribI2iEXT, 872, VertexAttribI2iEXT@12) - GL_STUB(VertexAttribI2ivEXT, 873, VertexAttribI2ivEXT@8) - GL_STUB(VertexAttribI2uiEXT, 874, VertexAttribI2uiEXT@12) - GL_STUB(VertexAttribI2uivEXT, 875, VertexAttribI2uivEXT@8) - GL_STUB(VertexAttribI3iEXT, 876, VertexAttribI3iEXT@16) - GL_STUB(VertexAttribI3ivEXT, 877, VertexAttribI3ivEXT@8) - GL_STUB(VertexAttribI3uiEXT, 878, VertexAttribI3uiEXT@16) - GL_STUB(VertexAttribI3uivEXT, 879, VertexAttribI3uivEXT@8) - GL_STUB(VertexAttribI4bvEXT, 880, VertexAttribI4bvEXT@8) - GL_STUB(VertexAttribI4iEXT, 881, VertexAttribI4iEXT@20) - GL_STUB(VertexAttribI4ivEXT, 882, VertexAttribI4ivEXT@8) - GL_STUB(VertexAttribI4svEXT, 883, VertexAttribI4svEXT@8) - GL_STUB(VertexAttribI4ubvEXT, 884, VertexAttribI4ubvEXT@8) - GL_STUB(VertexAttribI4uiEXT, 885, VertexAttribI4uiEXT@20) - GL_STUB(VertexAttribI4uivEXT, 886, VertexAttribI4uivEXT@8) - GL_STUB(VertexAttribI4usvEXT, 887, VertexAttribI4usvEXT@8) - GL_STUB(VertexAttribIPointerEXT, 888, VertexAttribIPointerEXT@20) - GL_STUB(FramebufferTextureLayerEXT, 889, FramebufferTextureLayerEXT@20) - GL_STUB(ColorMaskIndexedEXT, 890, ColorMaskIndexedEXT@20) - GL_STUB(DisableIndexedEXT, 891, DisableIndexedEXT@8) - GL_STUB(EnableIndexedEXT, 892, EnableIndexedEXT@8) - GL_STUB(GetBooleanIndexedvEXT, 893, GetBooleanIndexedvEXT@12) - GL_STUB(GetIntegerIndexedvEXT, 894, GetIntegerIndexedvEXT@12) - GL_STUB(IsEnabledIndexedEXT, 895, IsEnabledIndexedEXT@8) - GL_STUB(ClearColorIiEXT, 896, ClearColorIiEXT@16) - GL_STUB(ClearColorIuiEXT, 897, ClearColorIuiEXT@16) - GL_STUB(GetTexParameterIivEXT, 898, GetTexParameterIivEXT@12) - GL_STUB(GetTexParameterIuivEXT, 899, GetTexParameterIuivEXT@12) - GL_STUB(TexParameterIivEXT, 900, TexParameterIivEXT@12) - GL_STUB(TexParameterIuivEXT, 901, TexParameterIuivEXT@12) - GL_STUB(BeginConditionalRenderNV, 902, BeginConditionalRenderNV@8) - GL_STUB(EndConditionalRenderNV, 903, EndConditionalRenderNV@0) - GL_STUB(BeginTransformFeedbackEXT, 904, BeginTransformFeedbackEXT@4) - GL_STUB(BindBufferBaseEXT, 905, BindBufferBaseEXT@12) - GL_STUB(BindBufferOffsetEXT, 906, BindBufferOffsetEXT@16) - GL_STUB(BindBufferRangeEXT, 907, BindBufferRangeEXT@20) - GL_STUB(EndTransformFeedbackEXT, 908, EndTransformFeedbackEXT@0) - GL_STUB(GetTransformFeedbackVaryingEXT, 909, GetTransformFeedbackVaryingEXT@28) - GL_STUB(TransformFeedbackVaryingsEXT, 910, TransformFeedbackVaryingsEXT@16) - GL_STUB(ProvokingVertexEXT, 911, ProvokingVertexEXT@4) - GL_STUB(_dispatch_stub_912, 912, _dispatch_stub_912@12) - HIDDEN(GL_PREFIX(_dispatch_stub_912, _dispatch_stub_912@12)) + GL_STUB(_dispatch_stub_855, 855, _dispatch_stub_855@12) + HIDDEN(GL_PREFIX(_dispatch_stub_855, _dispatch_stub_855@12)) + GL_STUB(BindFragDataLocationEXT, 856, BindFragDataLocationEXT@12) + GL_STUB(GetFragDataLocationEXT, 857, GetFragDataLocationEXT@8) + GL_STUB(GetUniformuivEXT, 858, GetUniformuivEXT@12) + GL_STUB(GetVertexAttribIivEXT, 859, GetVertexAttribIivEXT@12) + GL_STUB(GetVertexAttribIuivEXT, 860, GetVertexAttribIuivEXT@12) + GL_STUB(Uniform1uiEXT, 861, Uniform1uiEXT@8) + GL_STUB(Uniform1uivEXT, 862, Uniform1uivEXT@12) + GL_STUB(Uniform2uiEXT, 863, Uniform2uiEXT@12) + GL_STUB(Uniform2uivEXT, 864, Uniform2uivEXT@12) + GL_STUB(Uniform3uiEXT, 865, Uniform3uiEXT@16) + GL_STUB(Uniform3uivEXT, 866, Uniform3uivEXT@12) + GL_STUB(Uniform4uiEXT, 867, Uniform4uiEXT@20) + GL_STUB(Uniform4uivEXT, 868, Uniform4uivEXT@12) + GL_STUB(VertexAttribI1iEXT, 869, VertexAttribI1iEXT@8) + GL_STUB(VertexAttribI1ivEXT, 870, VertexAttribI1ivEXT@8) + GL_STUB(VertexAttribI1uiEXT, 871, VertexAttribI1uiEXT@8) + GL_STUB(VertexAttribI1uivEXT, 872, VertexAttribI1uivEXT@8) + GL_STUB(VertexAttribI2iEXT, 873, VertexAttribI2iEXT@12) + GL_STUB(VertexAttribI2ivEXT, 874, VertexAttribI2ivEXT@8) + GL_STUB(VertexAttribI2uiEXT, 875, VertexAttribI2uiEXT@12) + GL_STUB(VertexAttribI2uivEXT, 876, VertexAttribI2uivEXT@8) + GL_STUB(VertexAttribI3iEXT, 877, VertexAttribI3iEXT@16) + GL_STUB(VertexAttribI3ivEXT, 878, VertexAttribI3ivEXT@8) + GL_STUB(VertexAttribI3uiEXT, 879, VertexAttribI3uiEXT@16) + GL_STUB(VertexAttribI3uivEXT, 880, VertexAttribI3uivEXT@8) + GL_STUB(VertexAttribI4bvEXT, 881, VertexAttribI4bvEXT@8) + GL_STUB(VertexAttribI4iEXT, 882, VertexAttribI4iEXT@20) + GL_STUB(VertexAttribI4ivEXT, 883, VertexAttribI4ivEXT@8) + GL_STUB(VertexAttribI4svEXT, 884, VertexAttribI4svEXT@8) + GL_STUB(VertexAttribI4ubvEXT, 885, VertexAttribI4ubvEXT@8) + GL_STUB(VertexAttribI4uiEXT, 886, VertexAttribI4uiEXT@20) + GL_STUB(VertexAttribI4uivEXT, 887, VertexAttribI4uivEXT@8) + GL_STUB(VertexAttribI4usvEXT, 888, VertexAttribI4usvEXT@8) + GL_STUB(VertexAttribIPointerEXT, 889, VertexAttribIPointerEXT@20) + GL_STUB(FramebufferTextureLayerEXT, 890, FramebufferTextureLayerEXT@20) + GL_STUB(ColorMaskIndexedEXT, 891, ColorMaskIndexedEXT@20) + GL_STUB(DisableIndexedEXT, 892, DisableIndexedEXT@8) + GL_STUB(EnableIndexedEXT, 893, EnableIndexedEXT@8) + GL_STUB(GetBooleanIndexedvEXT, 894, GetBooleanIndexedvEXT@12) + GL_STUB(GetIntegerIndexedvEXT, 895, GetIntegerIndexedvEXT@12) + GL_STUB(IsEnabledIndexedEXT, 896, IsEnabledIndexedEXT@8) + GL_STUB(ClearColorIiEXT, 897, ClearColorIiEXT@16) + GL_STUB(ClearColorIuiEXT, 898, ClearColorIuiEXT@16) + GL_STUB(GetTexParameterIivEXT, 899, GetTexParameterIivEXT@12) + GL_STUB(GetTexParameterIuivEXT, 900, GetTexParameterIuivEXT@12) + GL_STUB(TexParameterIivEXT, 901, TexParameterIivEXT@12) + GL_STUB(TexParameterIuivEXT, 902, TexParameterIuivEXT@12) + GL_STUB(BeginConditionalRenderNV, 903, BeginConditionalRenderNV@8) + GL_STUB(EndConditionalRenderNV, 904, EndConditionalRenderNV@0) + GL_STUB(BeginTransformFeedbackEXT, 905, BeginTransformFeedbackEXT@4) + GL_STUB(BindBufferBaseEXT, 906, BindBufferBaseEXT@12) + GL_STUB(BindBufferOffsetEXT, 907, BindBufferOffsetEXT@16) + GL_STUB(BindBufferRangeEXT, 908, BindBufferRangeEXT@20) + GL_STUB(EndTransformFeedbackEXT, 909, EndTransformFeedbackEXT@0) + GL_STUB(GetTransformFeedbackVaryingEXT, 910, GetTransformFeedbackVaryingEXT@28) + GL_STUB(TransformFeedbackVaryingsEXT, 911, TransformFeedbackVaryingsEXT@16) + GL_STUB(ProvokingVertexEXT, 912, ProvokingVertexEXT@4) GL_STUB(_dispatch_stub_913, 913, _dispatch_stub_913@12) HIDDEN(GL_PREFIX(_dispatch_stub_913, _dispatch_stub_913@12)) - GL_STUB(GetObjectParameterivAPPLE, 914, GetObjectParameterivAPPLE@16) - GL_STUB(ObjectPurgeableAPPLE, 915, ObjectPurgeableAPPLE@12) - GL_STUB(ObjectUnpurgeableAPPLE, 916, ObjectUnpurgeableAPPLE@12) - GL_STUB(ActiveProgramEXT, 917, ActiveProgramEXT@4) - GL_STUB(CreateShaderProgramEXT, 918, CreateShaderProgramEXT@8) - GL_STUB(UseShaderProgramEXT, 919, UseShaderProgramEXT@8) - GL_STUB(TextureBarrierNV, 920, TextureBarrierNV@0) - GL_STUB(_dispatch_stub_921, 921, _dispatch_stub_921@16) - HIDDEN(GL_PREFIX(_dispatch_stub_921, _dispatch_stub_921@16)) + GL_STUB(_dispatch_stub_914, 914, _dispatch_stub_914@12) + HIDDEN(GL_PREFIX(_dispatch_stub_914, _dispatch_stub_914@12)) + GL_STUB(GetObjectParameterivAPPLE, 915, GetObjectParameterivAPPLE@16) + GL_STUB(ObjectPurgeableAPPLE, 916, ObjectPurgeableAPPLE@12) + GL_STUB(ObjectUnpurgeableAPPLE, 917, ObjectUnpurgeableAPPLE@12) + GL_STUB(ActiveProgramEXT, 918, ActiveProgramEXT@4) + GL_STUB(CreateShaderProgramEXT, 919, CreateShaderProgramEXT@8) + GL_STUB(UseShaderProgramEXT, 920, UseShaderProgramEXT@8) + GL_STUB(TextureBarrierNV, 921, TextureBarrierNV@0) GL_STUB(_dispatch_stub_922, 922, _dispatch_stub_922@16) HIDDEN(GL_PREFIX(_dispatch_stub_922, _dispatch_stub_922@16)) GL_STUB(_dispatch_stub_923, 923, _dispatch_stub_923@16) HIDDEN(GL_PREFIX(_dispatch_stub_923, _dispatch_stub_923@16)) - GL_STUB(_dispatch_stub_924, 924, _dispatch_stub_924@12) - HIDDEN(GL_PREFIX(_dispatch_stub_924, _dispatch_stub_924@12)) + GL_STUB(_dispatch_stub_924, 924, _dispatch_stub_924@16) + HIDDEN(GL_PREFIX(_dispatch_stub_924, _dispatch_stub_924@16)) GL_STUB(_dispatch_stub_925, 925, _dispatch_stub_925@12) HIDDEN(GL_PREFIX(_dispatch_stub_925, _dispatch_stub_925@12)) - GL_STUB(EGLImageTargetRenderbufferStorageOES, 926, EGLImageTargetRenderbufferStorageOES@8) - GL_STUB(EGLImageTargetTexture2DOES, 927, EGLImageTargetTexture2DOES@8) + GL_STUB(_dispatch_stub_926, 926, _dispatch_stub_926@12) + HIDDEN(GL_PREFIX(_dispatch_stub_926, _dispatch_stub_926@12)) + GL_STUB(EGLImageTargetRenderbufferStorageOES, 927, EGLImageTargetRenderbufferStorageOES@8) + GL_STUB(EGLImageTargetTexture2DOES, 928, 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) @@ -1302,155 +1303,155 @@ GLNAME(gl_dispatch_functions_start): GL_STUB_ALIAS(DrawElementsInstancedEXT, 574, DrawElementsInstancedEXT@20, DrawElementsInstancedARB, DrawElementsInstancedARB@20) GL_STUB_ALIAS(DrawElementsInstanced, 574, DrawElementsInstanced@20, DrawElementsInstancedARB, DrawElementsInstancedARB@20) GL_STUB_ALIAS(RenderbufferStorageMultisampleEXT, 575, RenderbufferStorageMultisampleEXT@20, RenderbufferStorageMultisample, RenderbufferStorageMultisample@20) - GL_STUB_ALIAS(BlendEquationSeparateIndexedAMD, 596, BlendEquationSeparateIndexedAMD@12, BlendEquationSeparateiARB, BlendEquationSeparateiARB@12) - GL_STUB_ALIAS(BlendEquationIndexedAMD, 597, BlendEquationIndexedAMD@8, BlendEquationiARB, BlendEquationiARB@8) - GL_STUB_ALIAS(BlendFuncSeparateIndexedAMD, 598, BlendFuncSeparateIndexedAMD@20, BlendFuncSeparateiARB, BlendFuncSeparateiARB@20) - GL_STUB_ALIAS(BlendFuncIndexedAMD, 599, BlendFuncIndexedAMD@12, BlendFunciARB, BlendFunciARB@12) - GL_STUB_ALIAS(PointParameterf, 661, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfARB, 661, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) - GL_STUB_ALIAS(PointParameterfv, 662, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(PointParameterfvARB, 662, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) - GL_STUB_ALIAS(SecondaryColor3b, 665, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) - GL_STUB_ALIAS(SecondaryColor3bv, 666, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) - GL_STUB_ALIAS(SecondaryColor3d, 667, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) - GL_STUB_ALIAS(SecondaryColor3dv, 668, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) - GL_STUB_ALIAS(SecondaryColor3f, 669, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) - GL_STUB_ALIAS(SecondaryColor3fv, 670, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) - GL_STUB_ALIAS(SecondaryColor3i, 671, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) - GL_STUB_ALIAS(SecondaryColor3iv, 672, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) - GL_STUB_ALIAS(SecondaryColor3s, 673, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) - GL_STUB_ALIAS(SecondaryColor3sv, 674, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) - GL_STUB_ALIAS(SecondaryColor3ub, 675, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) - GL_STUB_ALIAS(SecondaryColor3ubv, 676, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) - GL_STUB_ALIAS(SecondaryColor3ui, 677, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) - GL_STUB_ALIAS(SecondaryColor3uiv, 678, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) - GL_STUB_ALIAS(SecondaryColor3us, 679, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) - GL_STUB_ALIAS(SecondaryColor3usv, 680, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) - GL_STUB_ALIAS(SecondaryColorPointer, 681, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) - GL_STUB_ALIAS(MultiDrawArrays, 682, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) - GL_STUB_ALIAS(MultiDrawElements, 683, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) - GL_STUB_ALIAS(FogCoordPointer, 684, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) - GL_STUB_ALIAS(FogCoordd, 685, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) - GL_STUB_ALIAS(FogCoorddv, 686, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) - GL_STUB_ALIAS(FogCoordf, 687, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) - GL_STUB_ALIAS(FogCoordfv, 688, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) - GL_STUB_ALIAS(BlendFuncSeparate, 690, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) - GL_STUB_ALIAS(WindowPos2d, 707, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dARB, 707, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) - GL_STUB_ALIAS(WindowPos2dv, 708, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2dvARB, 708, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) - GL_STUB_ALIAS(WindowPos2f, 709, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fARB, 709, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) - GL_STUB_ALIAS(WindowPos2fv, 710, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2fvARB, 710, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) - GL_STUB_ALIAS(WindowPos2i, 711, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iARB, 711, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) - GL_STUB_ALIAS(WindowPos2iv, 712, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2ivARB, 712, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) - GL_STUB_ALIAS(WindowPos2s, 713, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sARB, 713, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) - GL_STUB_ALIAS(WindowPos2sv, 714, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos2svARB, 714, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) - GL_STUB_ALIAS(WindowPos3d, 715, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dARB, 715, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) - GL_STUB_ALIAS(WindowPos3dv, 716, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3dvARB, 716, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) - GL_STUB_ALIAS(WindowPos3f, 717, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fARB, 717, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) - GL_STUB_ALIAS(WindowPos3fv, 718, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3fvARB, 718, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) - GL_STUB_ALIAS(WindowPos3i, 719, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iARB, 719, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) - GL_STUB_ALIAS(WindowPos3iv, 720, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3ivARB, 720, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) - GL_STUB_ALIAS(WindowPos3s, 721, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sARB, 721, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) - GL_STUB_ALIAS(WindowPos3sv, 722, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB_ALIAS(WindowPos3svARB, 722, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) - GL_STUB_ALIAS(BindProgramARB, 741, BindProgramARB@8, BindProgramNV, BindProgramNV@8) - GL_STUB_ALIAS(DeleteProgramsARB, 742, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) - GL_STUB_ALIAS(GenProgramsARB, 744, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) - GL_STUB_ALIAS(GetVertexAttribPointerv, 750, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) - GL_STUB_ALIAS(GetVertexAttribPointervARB, 750, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) - GL_STUB_ALIAS(IsProgramARB, 754, IsProgramARB@4, IsProgramNV, IsProgramNV@4) - GL_STUB_ALIAS(PointParameteri, 818, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) - GL_STUB_ALIAS(PointParameteriv, 819, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) - GL_STUB_ALIAS(DeleteVertexArrays, 822, DeleteVertexArrays@8, _dispatch_stub_822, _dispatch_stub_822@8) - GL_STUB_ALIAS(IsVertexArray, 824, IsVertexArray@4, _dispatch_stub_824, _dispatch_stub_824@4) - GL_STUB_ALIAS(PrimitiveRestartIndex, 831, PrimitiveRestartIndex@4, PrimitiveRestartIndexNV, PrimitiveRestartIndexNV@4) - GL_STUB_ALIAS(BlendEquationSeparate, 834, BlendEquationSeparate@8, _dispatch_stub_834, _dispatch_stub_834@8) - GL_STUB_ALIAS(BindFramebuffer, 835, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) - GL_STUB_ALIAS(BindRenderbuffer, 836, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) - GL_STUB_ALIAS(CheckFramebufferStatus, 837, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) - GL_STUB_ALIAS(DeleteFramebuffers, 838, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) - GL_STUB_ALIAS(DeleteRenderbuffers, 839, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) - GL_STUB_ALIAS(FramebufferRenderbuffer, 840, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) - GL_STUB_ALIAS(FramebufferTexture1D, 841, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) - GL_STUB_ALIAS(FramebufferTexture2D, 842, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) - GL_STUB_ALIAS(FramebufferTexture3D, 843, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) - GL_STUB_ALIAS(GenFramebuffers, 844, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) - GL_STUB_ALIAS(GenRenderbuffers, 845, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) - GL_STUB_ALIAS(GenerateMipmap, 846, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) - GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, 847, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) - GL_STUB_ALIAS(GetRenderbufferParameteriv, 848, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) - GL_STUB_ALIAS(IsFramebuffer, 849, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) - GL_STUB_ALIAS(IsRenderbuffer, 850, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) - GL_STUB_ALIAS(RenderbufferStorage, 851, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) - GL_STUB_ALIAS(BlitFramebuffer, 852, BlitFramebuffer@40, _dispatch_stub_852, _dispatch_stub_852@40) - GL_STUB_ALIAS(BindFragDataLocation, 855, BindFragDataLocation@12, BindFragDataLocationEXT, BindFragDataLocationEXT@12) - GL_STUB_ALIAS(GetFragDataLocation, 856, GetFragDataLocation@8, GetFragDataLocationEXT, GetFragDataLocationEXT@8) - GL_STUB_ALIAS(GetUniformuiv, 857, GetUniformuiv@12, GetUniformuivEXT, GetUniformuivEXT@12) - GL_STUB_ALIAS(GetVertexAttribIiv, 858, GetVertexAttribIiv@12, GetVertexAttribIivEXT, GetVertexAttribIivEXT@12) - GL_STUB_ALIAS(GetVertexAttribIuiv, 859, GetVertexAttribIuiv@12, GetVertexAttribIuivEXT, GetVertexAttribIuivEXT@12) - GL_STUB_ALIAS(Uniform1ui, 860, Uniform1ui@8, Uniform1uiEXT, Uniform1uiEXT@8) - GL_STUB_ALIAS(Uniform1uiv, 861, Uniform1uiv@12, Uniform1uivEXT, Uniform1uivEXT@12) - GL_STUB_ALIAS(Uniform2ui, 862, Uniform2ui@12, Uniform2uiEXT, Uniform2uiEXT@12) - GL_STUB_ALIAS(Uniform2uiv, 863, Uniform2uiv@12, Uniform2uivEXT, Uniform2uivEXT@12) - GL_STUB_ALIAS(Uniform3ui, 864, Uniform3ui@16, Uniform3uiEXT, Uniform3uiEXT@16) - GL_STUB_ALIAS(Uniform3uiv, 865, Uniform3uiv@12, Uniform3uivEXT, Uniform3uivEXT@12) - GL_STUB_ALIAS(Uniform4ui, 866, Uniform4ui@20, Uniform4uiEXT, Uniform4uiEXT@20) - GL_STUB_ALIAS(Uniform4uiv, 867, Uniform4uiv@12, Uniform4uivEXT, Uniform4uivEXT@12) - GL_STUB_ALIAS(VertexAttribI1i, 868, VertexAttribI1i@8, VertexAttribI1iEXT, VertexAttribI1iEXT@8) - GL_STUB_ALIAS(VertexAttribI1iv, 869, VertexAttribI1iv@8, VertexAttribI1ivEXT, VertexAttribI1ivEXT@8) - GL_STUB_ALIAS(VertexAttribI1ui, 870, VertexAttribI1ui@8, VertexAttribI1uiEXT, VertexAttribI1uiEXT@8) - GL_STUB_ALIAS(VertexAttribI1uiv, 871, VertexAttribI1uiv@8, VertexAttribI1uivEXT, VertexAttribI1uivEXT@8) - GL_STUB_ALIAS(VertexAttribI2i, 872, VertexAttribI2i@12, VertexAttribI2iEXT, VertexAttribI2iEXT@12) - GL_STUB_ALIAS(VertexAttribI2iv, 873, VertexAttribI2iv@8, VertexAttribI2ivEXT, VertexAttribI2ivEXT@8) - GL_STUB_ALIAS(VertexAttribI2ui, 874, VertexAttribI2ui@12, VertexAttribI2uiEXT, VertexAttribI2uiEXT@12) - GL_STUB_ALIAS(VertexAttribI2uiv, 875, VertexAttribI2uiv@8, VertexAttribI2uivEXT, VertexAttribI2uivEXT@8) - GL_STUB_ALIAS(VertexAttribI3i, 876, VertexAttribI3i@16, VertexAttribI3iEXT, VertexAttribI3iEXT@16) - GL_STUB_ALIAS(VertexAttribI3iv, 877, VertexAttribI3iv@8, VertexAttribI3ivEXT, VertexAttribI3ivEXT@8) - GL_STUB_ALIAS(VertexAttribI3ui, 878, VertexAttribI3ui@16, VertexAttribI3uiEXT, VertexAttribI3uiEXT@16) - GL_STUB_ALIAS(VertexAttribI3uiv, 879, VertexAttribI3uiv@8, VertexAttribI3uivEXT, VertexAttribI3uivEXT@8) - GL_STUB_ALIAS(VertexAttribI4bv, 880, VertexAttribI4bv@8, VertexAttribI4bvEXT, VertexAttribI4bvEXT@8) - GL_STUB_ALIAS(VertexAttribI4i, 881, VertexAttribI4i@20, VertexAttribI4iEXT, VertexAttribI4iEXT@20) - GL_STUB_ALIAS(VertexAttribI4iv, 882, VertexAttribI4iv@8, VertexAttribI4ivEXT, VertexAttribI4ivEXT@8) - GL_STUB_ALIAS(VertexAttribI4sv, 883, VertexAttribI4sv@8, VertexAttribI4svEXT, VertexAttribI4svEXT@8) - GL_STUB_ALIAS(VertexAttribI4ubv, 884, VertexAttribI4ubv@8, VertexAttribI4ubvEXT, VertexAttribI4ubvEXT@8) - GL_STUB_ALIAS(VertexAttribI4ui, 885, VertexAttribI4ui@20, VertexAttribI4uiEXT, VertexAttribI4uiEXT@20) - GL_STUB_ALIAS(VertexAttribI4uiv, 886, VertexAttribI4uiv@8, VertexAttribI4uivEXT, VertexAttribI4uivEXT@8) - GL_STUB_ALIAS(VertexAttribI4usv, 887, VertexAttribI4usv@8, VertexAttribI4usvEXT, VertexAttribI4usvEXT@8) - GL_STUB_ALIAS(VertexAttribIPointer, 888, VertexAttribIPointer@20, VertexAttribIPointerEXT, VertexAttribIPointerEXT@20) - GL_STUB_ALIAS(FramebufferTextureLayer, 889, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) - GL_STUB_ALIAS(ColorMaski, 890, ColorMaski@20, ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) - GL_STUB_ALIAS(Disablei, 891, Disablei@8, DisableIndexedEXT, DisableIndexedEXT@8) - GL_STUB_ALIAS(Enablei, 892, Enablei@8, EnableIndexedEXT, EnableIndexedEXT@8) - GL_STUB_ALIAS(GetBooleani_v, 893, GetBooleani_v@12, GetBooleanIndexedvEXT, GetBooleanIndexedvEXT@12) - GL_STUB_ALIAS(GetIntegeri_v, 894, GetIntegeri_v@12, GetIntegerIndexedvEXT, GetIntegerIndexedvEXT@12) - GL_STUB_ALIAS(IsEnabledi, 895, IsEnabledi@8, IsEnabledIndexedEXT, IsEnabledIndexedEXT@8) - GL_STUB_ALIAS(GetTexParameterIiv, 898, GetTexParameterIiv@12, GetTexParameterIivEXT, GetTexParameterIivEXT@12) - GL_STUB_ALIAS(GetTexParameterIuiv, 899, GetTexParameterIuiv@12, GetTexParameterIuivEXT, GetTexParameterIuivEXT@12) - GL_STUB_ALIAS(TexParameterIiv, 900, TexParameterIiv@12, TexParameterIivEXT, TexParameterIivEXT@12) - GL_STUB_ALIAS(TexParameterIuiv, 901, TexParameterIuiv@12, TexParameterIuivEXT, TexParameterIuivEXT@12) - GL_STUB_ALIAS(BeginConditionalRender, 902, BeginConditionalRender@8, BeginConditionalRenderNV, BeginConditionalRenderNV@8) - GL_STUB_ALIAS(EndConditionalRender, 903, EndConditionalRender@0, EndConditionalRenderNV, EndConditionalRenderNV@0) - GL_STUB_ALIAS(BeginTransformFeedback, 904, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) - GL_STUB_ALIAS(BindBufferBase, 905, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) - GL_STUB_ALIAS(BindBufferRange, 907, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) - GL_STUB_ALIAS(EndTransformFeedback, 908, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) - GL_STUB_ALIAS(GetTransformFeedbackVarying, 909, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) - GL_STUB_ALIAS(TransformFeedbackVaryings, 910, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) - GL_STUB_ALIAS(ProvokingVertex, 911, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) + GL_STUB_ALIAS(BlendEquationSeparateIndexedAMD, 597, BlendEquationSeparateIndexedAMD@12, BlendEquationSeparateiARB, BlendEquationSeparateiARB@12) + 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, 662, PointParameterf@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfARB, 662, PointParameterfARB@8, PointParameterfEXT, PointParameterfEXT@8) + GL_STUB_ALIAS(PointParameterfv, 663, PointParameterfv@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(PointParameterfvARB, 663, PointParameterfvARB@8, PointParameterfvEXT, PointParameterfvEXT@8) + GL_STUB_ALIAS(SecondaryColor3b, 666, SecondaryColor3b@12, SecondaryColor3bEXT, SecondaryColor3bEXT@12) + GL_STUB_ALIAS(SecondaryColor3bv, 667, SecondaryColor3bv@4, SecondaryColor3bvEXT, SecondaryColor3bvEXT@4) + GL_STUB_ALIAS(SecondaryColor3d, 668, SecondaryColor3d@24, SecondaryColor3dEXT, SecondaryColor3dEXT@24) + GL_STUB_ALIAS(SecondaryColor3dv, 669, SecondaryColor3dv@4, SecondaryColor3dvEXT, SecondaryColor3dvEXT@4) + GL_STUB_ALIAS(SecondaryColor3f, 670, SecondaryColor3f@12, SecondaryColor3fEXT, SecondaryColor3fEXT@12) + GL_STUB_ALIAS(SecondaryColor3fv, 671, SecondaryColor3fv@4, SecondaryColor3fvEXT, SecondaryColor3fvEXT@4) + GL_STUB_ALIAS(SecondaryColor3i, 672, SecondaryColor3i@12, SecondaryColor3iEXT, SecondaryColor3iEXT@12) + GL_STUB_ALIAS(SecondaryColor3iv, 673, SecondaryColor3iv@4, SecondaryColor3ivEXT, SecondaryColor3ivEXT@4) + GL_STUB_ALIAS(SecondaryColor3s, 674, SecondaryColor3s@12, SecondaryColor3sEXT, SecondaryColor3sEXT@12) + GL_STUB_ALIAS(SecondaryColor3sv, 675, SecondaryColor3sv@4, SecondaryColor3svEXT, SecondaryColor3svEXT@4) + GL_STUB_ALIAS(SecondaryColor3ub, 676, SecondaryColor3ub@12, SecondaryColor3ubEXT, SecondaryColor3ubEXT@12) + GL_STUB_ALIAS(SecondaryColor3ubv, 677, SecondaryColor3ubv@4, SecondaryColor3ubvEXT, SecondaryColor3ubvEXT@4) + GL_STUB_ALIAS(SecondaryColor3ui, 678, SecondaryColor3ui@12, SecondaryColor3uiEXT, SecondaryColor3uiEXT@12) + GL_STUB_ALIAS(SecondaryColor3uiv, 679, SecondaryColor3uiv@4, SecondaryColor3uivEXT, SecondaryColor3uivEXT@4) + GL_STUB_ALIAS(SecondaryColor3us, 680, SecondaryColor3us@12, SecondaryColor3usEXT, SecondaryColor3usEXT@12) + GL_STUB_ALIAS(SecondaryColor3usv, 681, SecondaryColor3usv@4, SecondaryColor3usvEXT, SecondaryColor3usvEXT@4) + GL_STUB_ALIAS(SecondaryColorPointer, 682, SecondaryColorPointer@16, SecondaryColorPointerEXT, SecondaryColorPointerEXT@16) + GL_STUB_ALIAS(MultiDrawArrays, 683, MultiDrawArrays@16, MultiDrawArraysEXT, MultiDrawArraysEXT@16) + GL_STUB_ALIAS(MultiDrawElements, 684, MultiDrawElements@20, MultiDrawElementsEXT, MultiDrawElementsEXT@20) + GL_STUB_ALIAS(FogCoordPointer, 685, FogCoordPointer@12, FogCoordPointerEXT, FogCoordPointerEXT@12) + GL_STUB_ALIAS(FogCoordd, 686, FogCoordd@8, FogCoorddEXT, FogCoorddEXT@8) + GL_STUB_ALIAS(FogCoorddv, 687, FogCoorddv@4, FogCoorddvEXT, FogCoorddvEXT@4) + GL_STUB_ALIAS(FogCoordf, 688, FogCoordf@4, FogCoordfEXT, FogCoordfEXT@4) + GL_STUB_ALIAS(FogCoordfv, 689, FogCoordfv@4, FogCoordfvEXT, FogCoordfvEXT@4) + GL_STUB_ALIAS(BlendFuncSeparate, 691, BlendFuncSeparate@16, BlendFuncSeparateEXT, BlendFuncSeparateEXT@16) + GL_STUB_ALIAS(WindowPos2d, 708, WindowPos2d@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dARB, 708, WindowPos2dARB@16, WindowPos2dMESA, WindowPos2dMESA@16) + GL_STUB_ALIAS(WindowPos2dv, 709, WindowPos2dv@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2dvARB, 709, WindowPos2dvARB@4, WindowPos2dvMESA, WindowPos2dvMESA@4) + GL_STUB_ALIAS(WindowPos2f, 710, WindowPos2f@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fARB, 710, WindowPos2fARB@8, WindowPos2fMESA, WindowPos2fMESA@8) + GL_STUB_ALIAS(WindowPos2fv, 711, WindowPos2fv@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2fvARB, 711, WindowPos2fvARB@4, WindowPos2fvMESA, WindowPos2fvMESA@4) + GL_STUB_ALIAS(WindowPos2i, 712, WindowPos2i@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iARB, 712, WindowPos2iARB@8, WindowPos2iMESA, WindowPos2iMESA@8) + GL_STUB_ALIAS(WindowPos2iv, 713, WindowPos2iv@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2ivARB, 713, WindowPos2ivARB@4, WindowPos2ivMESA, WindowPos2ivMESA@4) + GL_STUB_ALIAS(WindowPos2s, 714, WindowPos2s@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sARB, 714, WindowPos2sARB@8, WindowPos2sMESA, WindowPos2sMESA@8) + GL_STUB_ALIAS(WindowPos2sv, 715, WindowPos2sv@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos2svARB, 715, WindowPos2svARB@4, WindowPos2svMESA, WindowPos2svMESA@4) + GL_STUB_ALIAS(WindowPos3d, 716, WindowPos3d@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dARB, 716, WindowPos3dARB@24, WindowPos3dMESA, WindowPos3dMESA@24) + GL_STUB_ALIAS(WindowPos3dv, 717, WindowPos3dv@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3dvARB, 717, WindowPos3dvARB@4, WindowPos3dvMESA, WindowPos3dvMESA@4) + GL_STUB_ALIAS(WindowPos3f, 718, WindowPos3f@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fARB, 718, WindowPos3fARB@12, WindowPos3fMESA, WindowPos3fMESA@12) + GL_STUB_ALIAS(WindowPos3fv, 719, WindowPos3fv@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3fvARB, 719, WindowPos3fvARB@4, WindowPos3fvMESA, WindowPos3fvMESA@4) + GL_STUB_ALIAS(WindowPos3i, 720, WindowPos3i@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iARB, 720, WindowPos3iARB@12, WindowPos3iMESA, WindowPos3iMESA@12) + GL_STUB_ALIAS(WindowPos3iv, 721, WindowPos3iv@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3ivARB, 721, WindowPos3ivARB@4, WindowPos3ivMESA, WindowPos3ivMESA@4) + GL_STUB_ALIAS(WindowPos3s, 722, WindowPos3s@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sARB, 722, WindowPos3sARB@12, WindowPos3sMESA, WindowPos3sMESA@12) + GL_STUB_ALIAS(WindowPos3sv, 723, WindowPos3sv@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(WindowPos3svARB, 723, WindowPos3svARB@4, WindowPos3svMESA, WindowPos3svMESA@4) + GL_STUB_ALIAS(BindProgramARB, 742, BindProgramARB@8, BindProgramNV, BindProgramNV@8) + GL_STUB_ALIAS(DeleteProgramsARB, 743, DeleteProgramsARB@8, DeleteProgramsNV, DeleteProgramsNV@8) + GL_STUB_ALIAS(GenProgramsARB, 745, GenProgramsARB@8, GenProgramsNV, GenProgramsNV@8) + GL_STUB_ALIAS(GetVertexAttribPointerv, 751, GetVertexAttribPointerv@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(GetVertexAttribPointervARB, 751, GetVertexAttribPointervARB@12, GetVertexAttribPointervNV, GetVertexAttribPointervNV@12) + GL_STUB_ALIAS(IsProgramARB, 755, IsProgramARB@4, IsProgramNV, IsProgramNV@4) + GL_STUB_ALIAS(PointParameteri, 819, PointParameteri@8, PointParameteriNV, PointParameteriNV@8) + GL_STUB_ALIAS(PointParameteriv, 820, PointParameteriv@8, PointParameterivNV, PointParameterivNV@8) + GL_STUB_ALIAS(DeleteVertexArrays, 823, DeleteVertexArrays@8, _dispatch_stub_823, _dispatch_stub_823@8) + GL_STUB_ALIAS(IsVertexArray, 825, IsVertexArray@4, _dispatch_stub_825, _dispatch_stub_825@4) + GL_STUB_ALIAS(PrimitiveRestartIndex, 832, PrimitiveRestartIndex@4, PrimitiveRestartIndexNV, PrimitiveRestartIndexNV@4) + GL_STUB_ALIAS(BlendEquationSeparate, 835, BlendEquationSeparate@8, _dispatch_stub_835, _dispatch_stub_835@8) + GL_STUB_ALIAS(BindFramebuffer, 836, BindFramebuffer@8, BindFramebufferEXT, BindFramebufferEXT@8) + GL_STUB_ALIAS(BindRenderbuffer, 837, BindRenderbuffer@8, BindRenderbufferEXT, BindRenderbufferEXT@8) + GL_STUB_ALIAS(CheckFramebufferStatus, 838, CheckFramebufferStatus@4, CheckFramebufferStatusEXT, CheckFramebufferStatusEXT@4) + GL_STUB_ALIAS(DeleteFramebuffers, 839, DeleteFramebuffers@8, DeleteFramebuffersEXT, DeleteFramebuffersEXT@8) + GL_STUB_ALIAS(DeleteRenderbuffers, 840, DeleteRenderbuffers@8, DeleteRenderbuffersEXT, DeleteRenderbuffersEXT@8) + GL_STUB_ALIAS(FramebufferRenderbuffer, 841, FramebufferRenderbuffer@16, FramebufferRenderbufferEXT, FramebufferRenderbufferEXT@16) + GL_STUB_ALIAS(FramebufferTexture1D, 842, FramebufferTexture1D@20, FramebufferTexture1DEXT, FramebufferTexture1DEXT@20) + GL_STUB_ALIAS(FramebufferTexture2D, 843, FramebufferTexture2D@20, FramebufferTexture2DEXT, FramebufferTexture2DEXT@20) + GL_STUB_ALIAS(FramebufferTexture3D, 844, FramebufferTexture3D@24, FramebufferTexture3DEXT, FramebufferTexture3DEXT@24) + GL_STUB_ALIAS(GenFramebuffers, 845, GenFramebuffers@8, GenFramebuffersEXT, GenFramebuffersEXT@8) + GL_STUB_ALIAS(GenRenderbuffers, 846, GenRenderbuffers@8, GenRenderbuffersEXT, GenRenderbuffersEXT@8) + GL_STUB_ALIAS(GenerateMipmap, 847, GenerateMipmap@4, GenerateMipmapEXT, GenerateMipmapEXT@4) + GL_STUB_ALIAS(GetFramebufferAttachmentParameteriv, 848, GetFramebufferAttachmentParameteriv@16, GetFramebufferAttachmentParameterivEXT, GetFramebufferAttachmentParameterivEXT@16) + GL_STUB_ALIAS(GetRenderbufferParameteriv, 849, GetRenderbufferParameteriv@12, GetRenderbufferParameterivEXT, GetRenderbufferParameterivEXT@12) + GL_STUB_ALIAS(IsFramebuffer, 850, IsFramebuffer@4, IsFramebufferEXT, IsFramebufferEXT@4) + GL_STUB_ALIAS(IsRenderbuffer, 851, IsRenderbuffer@4, IsRenderbufferEXT, IsRenderbufferEXT@4) + GL_STUB_ALIAS(RenderbufferStorage, 852, RenderbufferStorage@16, RenderbufferStorageEXT, RenderbufferStorageEXT@16) + GL_STUB_ALIAS(BlitFramebuffer, 853, BlitFramebuffer@40, _dispatch_stub_853, _dispatch_stub_853@40) + GL_STUB_ALIAS(BindFragDataLocation, 856, BindFragDataLocation@12, BindFragDataLocationEXT, BindFragDataLocationEXT@12) + GL_STUB_ALIAS(GetFragDataLocation, 857, GetFragDataLocation@8, GetFragDataLocationEXT, GetFragDataLocationEXT@8) + GL_STUB_ALIAS(GetUniformuiv, 858, GetUniformuiv@12, GetUniformuivEXT, GetUniformuivEXT@12) + GL_STUB_ALIAS(GetVertexAttribIiv, 859, GetVertexAttribIiv@12, GetVertexAttribIivEXT, GetVertexAttribIivEXT@12) + GL_STUB_ALIAS(GetVertexAttribIuiv, 860, GetVertexAttribIuiv@12, GetVertexAttribIuivEXT, GetVertexAttribIuivEXT@12) + GL_STUB_ALIAS(Uniform1ui, 861, Uniform1ui@8, Uniform1uiEXT, Uniform1uiEXT@8) + GL_STUB_ALIAS(Uniform1uiv, 862, Uniform1uiv@12, Uniform1uivEXT, Uniform1uivEXT@12) + GL_STUB_ALIAS(Uniform2ui, 863, Uniform2ui@12, Uniform2uiEXT, Uniform2uiEXT@12) + GL_STUB_ALIAS(Uniform2uiv, 864, Uniform2uiv@12, Uniform2uivEXT, Uniform2uivEXT@12) + GL_STUB_ALIAS(Uniform3ui, 865, Uniform3ui@16, Uniform3uiEXT, Uniform3uiEXT@16) + GL_STUB_ALIAS(Uniform3uiv, 866, Uniform3uiv@12, Uniform3uivEXT, Uniform3uivEXT@12) + GL_STUB_ALIAS(Uniform4ui, 867, Uniform4ui@20, Uniform4uiEXT, Uniform4uiEXT@20) + GL_STUB_ALIAS(Uniform4uiv, 868, Uniform4uiv@12, Uniform4uivEXT, Uniform4uivEXT@12) + GL_STUB_ALIAS(VertexAttribI1i, 869, VertexAttribI1i@8, VertexAttribI1iEXT, VertexAttribI1iEXT@8) + GL_STUB_ALIAS(VertexAttribI1iv, 870, VertexAttribI1iv@8, VertexAttribI1ivEXT, VertexAttribI1ivEXT@8) + GL_STUB_ALIAS(VertexAttribI1ui, 871, VertexAttribI1ui@8, VertexAttribI1uiEXT, VertexAttribI1uiEXT@8) + GL_STUB_ALIAS(VertexAttribI1uiv, 872, VertexAttribI1uiv@8, VertexAttribI1uivEXT, VertexAttribI1uivEXT@8) + GL_STUB_ALIAS(VertexAttribI2i, 873, VertexAttribI2i@12, VertexAttribI2iEXT, VertexAttribI2iEXT@12) + GL_STUB_ALIAS(VertexAttribI2iv, 874, VertexAttribI2iv@8, VertexAttribI2ivEXT, VertexAttribI2ivEXT@8) + GL_STUB_ALIAS(VertexAttribI2ui, 875, VertexAttribI2ui@12, VertexAttribI2uiEXT, VertexAttribI2uiEXT@12) + GL_STUB_ALIAS(VertexAttribI2uiv, 876, VertexAttribI2uiv@8, VertexAttribI2uivEXT, VertexAttribI2uivEXT@8) + GL_STUB_ALIAS(VertexAttribI3i, 877, VertexAttribI3i@16, VertexAttribI3iEXT, VertexAttribI3iEXT@16) + GL_STUB_ALIAS(VertexAttribI3iv, 878, VertexAttribI3iv@8, VertexAttribI3ivEXT, VertexAttribI3ivEXT@8) + GL_STUB_ALIAS(VertexAttribI3ui, 879, VertexAttribI3ui@16, VertexAttribI3uiEXT, VertexAttribI3uiEXT@16) + GL_STUB_ALIAS(VertexAttribI3uiv, 880, VertexAttribI3uiv@8, VertexAttribI3uivEXT, VertexAttribI3uivEXT@8) + GL_STUB_ALIAS(VertexAttribI4bv, 881, VertexAttribI4bv@8, VertexAttribI4bvEXT, VertexAttribI4bvEXT@8) + GL_STUB_ALIAS(VertexAttribI4i, 882, VertexAttribI4i@20, VertexAttribI4iEXT, VertexAttribI4iEXT@20) + GL_STUB_ALIAS(VertexAttribI4iv, 883, VertexAttribI4iv@8, VertexAttribI4ivEXT, VertexAttribI4ivEXT@8) + GL_STUB_ALIAS(VertexAttribI4sv, 884, VertexAttribI4sv@8, VertexAttribI4svEXT, VertexAttribI4svEXT@8) + GL_STUB_ALIAS(VertexAttribI4ubv, 885, VertexAttribI4ubv@8, VertexAttribI4ubvEXT, VertexAttribI4ubvEXT@8) + GL_STUB_ALIAS(VertexAttribI4ui, 886, VertexAttribI4ui@20, VertexAttribI4uiEXT, VertexAttribI4uiEXT@20) + GL_STUB_ALIAS(VertexAttribI4uiv, 887, VertexAttribI4uiv@8, VertexAttribI4uivEXT, VertexAttribI4uivEXT@8) + GL_STUB_ALIAS(VertexAttribI4usv, 888, VertexAttribI4usv@8, VertexAttribI4usvEXT, VertexAttribI4usvEXT@8) + GL_STUB_ALIAS(VertexAttribIPointer, 889, VertexAttribIPointer@20, VertexAttribIPointerEXT, VertexAttribIPointerEXT@20) + GL_STUB_ALIAS(FramebufferTextureLayer, 890, FramebufferTextureLayer@20, FramebufferTextureLayerEXT, FramebufferTextureLayerEXT@20) + GL_STUB_ALIAS(ColorMaski, 891, ColorMaski@20, ColorMaskIndexedEXT, ColorMaskIndexedEXT@20) + GL_STUB_ALIAS(Disablei, 892, Disablei@8, DisableIndexedEXT, DisableIndexedEXT@8) + GL_STUB_ALIAS(Enablei, 893, Enablei@8, EnableIndexedEXT, EnableIndexedEXT@8) + GL_STUB_ALIAS(GetBooleani_v, 894, GetBooleani_v@12, GetBooleanIndexedvEXT, GetBooleanIndexedvEXT@12) + GL_STUB_ALIAS(GetIntegeri_v, 895, GetIntegeri_v@12, GetIntegerIndexedvEXT, GetIntegerIndexedvEXT@12) + GL_STUB_ALIAS(IsEnabledi, 896, IsEnabledi@8, IsEnabledIndexedEXT, IsEnabledIndexedEXT@8) + GL_STUB_ALIAS(GetTexParameterIiv, 899, GetTexParameterIiv@12, GetTexParameterIivEXT, GetTexParameterIivEXT@12) + GL_STUB_ALIAS(GetTexParameterIuiv, 900, GetTexParameterIuiv@12, GetTexParameterIuivEXT, GetTexParameterIuivEXT@12) + GL_STUB_ALIAS(TexParameterIiv, 901, TexParameterIiv@12, TexParameterIivEXT, TexParameterIivEXT@12) + GL_STUB_ALIAS(TexParameterIuiv, 902, TexParameterIuiv@12, TexParameterIuivEXT, TexParameterIuivEXT@12) + GL_STUB_ALIAS(BeginConditionalRender, 903, BeginConditionalRender@8, BeginConditionalRenderNV, BeginConditionalRenderNV@8) + GL_STUB_ALIAS(EndConditionalRender, 904, EndConditionalRender@0, EndConditionalRenderNV, EndConditionalRenderNV@0) + GL_STUB_ALIAS(BeginTransformFeedback, 905, BeginTransformFeedback@4, BeginTransformFeedbackEXT, BeginTransformFeedbackEXT@4) + GL_STUB_ALIAS(BindBufferBase, 906, BindBufferBase@12, BindBufferBaseEXT, BindBufferBaseEXT@12) + GL_STUB_ALIAS(BindBufferRange, 908, BindBufferRange@20, BindBufferRangeEXT, BindBufferRangeEXT@20) + GL_STUB_ALIAS(EndTransformFeedback, 909, EndTransformFeedback@0, EndTransformFeedbackEXT, EndTransformFeedbackEXT@0) + GL_STUB_ALIAS(GetTransformFeedbackVarying, 910, GetTransformFeedbackVarying@28, GetTransformFeedbackVaryingEXT, GetTransformFeedbackVaryingEXT@28) + GL_STUB_ALIAS(TransformFeedbackVaryings, 911, TransformFeedbackVaryings@16, TransformFeedbackVaryingsEXT, TransformFeedbackVaryingsEXT@16) + GL_STUB_ALIAS(ProvokingVertex, 912, ProvokingVertex@4, ProvokingVertexEXT, ProvokingVertexEXT@4) GLOBL GLNAME(gl_dispatch_functions_end) HIDDEN(GLNAME(gl_dispatch_functions_end)) diff --git a/src/mapi/glapi/glapitable.h b/src/mapi/glapi/glapitable.h index da278c559ec..6167814128e 100644 --- a/src/mapi/glapi/glapitable.h +++ b/src/mapi/glapi/glapitable.h @@ -634,340 +634,341 @@ struct _glapi_table GLboolean (GLAPIENTRYP IsSync)(GLsync sync); /* 591 */ void (GLAPIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); /* 592 */ void (GLAPIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 593 */ - void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 594 */ - void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 595 */ - void (GLAPIENTRYP BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA); /* 596 */ - void (GLAPIENTRYP BlendEquationiARB)(GLuint buf, GLenum mode); /* 597 */ - void (GLAPIENTRYP BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA); /* 598 */ - void (GLAPIENTRYP BlendFunciARB)(GLuint buf, GLenum src, GLenum dst); /* 599 */ - void (GLAPIENTRYP BindSampler)(GLuint unit, GLuint sampler); /* 600 */ - void (GLAPIENTRYP DeleteSamplers)(GLsizei count, const GLuint * samplers); /* 601 */ - void (GLAPIENTRYP GenSamplers)(GLsizei count, GLuint * samplers); /* 602 */ - void (GLAPIENTRYP GetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint * params); /* 603 */ - void (GLAPIENTRYP GetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint * params); /* 604 */ - void (GLAPIENTRYP GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat * params); /* 605 */ - void (GLAPIENTRYP GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint * params); /* 606 */ - GLboolean (GLAPIENTRYP IsSampler)(GLuint sampler); /* 607 */ - void (GLAPIENTRYP SamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint * params); /* 608 */ - void (GLAPIENTRYP SamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint * params); /* 609 */ - void (GLAPIENTRYP SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param); /* 610 */ - void (GLAPIENTRYP SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat * params); /* 611 */ - void (GLAPIENTRYP SamplerParameteri)(GLuint sampler, GLenum pname, GLint param); /* 612 */ - void (GLAPIENTRYP SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint * params); /* 613 */ - void (GLAPIENTRYP BindTransformFeedback)(GLenum target, GLuint id); /* 614 */ - void (GLAPIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint * ids); /* 615 */ - void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint id); /* 616 */ - void (GLAPIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint * ids); /* 617 */ - GLboolean (GLAPIENTRYP IsTransformFeedback)(GLuint id); /* 618 */ - void (GLAPIENTRYP PauseTransformFeedback)(void); /* 619 */ - void (GLAPIENTRYP ResumeTransformFeedback)(void); /* 620 */ - void (GLAPIENTRYP ClearDepthf)(GLclampf depth); /* 621 */ - void (GLAPIENTRYP DepthRangef)(GLclampf zNear, GLclampf zFar); /* 622 */ - void (GLAPIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); /* 623 */ - void (GLAPIENTRYP ReleaseShaderCompiler)(void); /* 624 */ - void (GLAPIENTRYP ShaderBinary)(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); /* 625 */ - GLenum (GLAPIENTRYP GetGraphicsResetStatusARB)(void); /* 626 */ - void (GLAPIENTRYP GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table); /* 627 */ - void (GLAPIENTRYP GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, GLvoid * img); /* 628 */ - void (GLAPIENTRYP GetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image); /* 629 */ - void (GLAPIENTRYP GetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 630 */ - void (GLAPIENTRYP GetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v); /* 631 */ - void (GLAPIENTRYP GetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v); /* 632 */ - void (GLAPIENTRYP GetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint * v); /* 633 */ - void (GLAPIENTRYP GetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 634 */ - void (GLAPIENTRYP GetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat * values); /* 635 */ - void (GLAPIENTRYP GetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint * values); /* 636 */ - void (GLAPIENTRYP GetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort * values); /* 637 */ - void (GLAPIENTRYP GetnPolygonStippleARB)(GLsizei bufSize, GLubyte * pattern); /* 638 */ - void (GLAPIENTRYP GetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span); /* 639 */ - void (GLAPIENTRYP GetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img); /* 640 */ - void (GLAPIENTRYP GetnUniformdvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLdouble * params); /* 641 */ - void (GLAPIENTRYP GetnUniformfvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLfloat * params); /* 642 */ - void (GLAPIENTRYP GetnUniformivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLint * params); /* 643 */ - void (GLAPIENTRYP GetnUniformuivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint * params); /* 644 */ - void (GLAPIENTRYP ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); /* 645 */ - void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 646 */ - void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 647 */ - void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 648 */ - void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 649 */ - void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 650 */ - void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 651 */ - void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 652 */ - void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 653 */ - void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 654 */ - void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 655 */ - void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 656 */ - void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 657 */ - void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 658 */ - void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 659 */ - void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 660 */ - void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 661 */ - void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 662 */ - void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 663 */ - void (GLAPIENTRYP UnlockArraysEXT)(void); /* 664 */ - void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 665 */ - void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 666 */ - void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 667 */ - void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 668 */ - void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 669 */ - void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 670 */ - void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 671 */ - void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 672 */ - void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 673 */ - void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 674 */ - void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 675 */ - void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 676 */ - void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 677 */ - void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 678 */ - void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 679 */ - void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 680 */ - void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 681 */ - void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 682 */ - void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 683 */ - void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 684 */ - void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 685 */ - void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 686 */ - void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 687 */ - void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 688 */ - void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 689 */ - void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 690 */ - void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 691 */ - void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 692 */ - void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 693 */ - void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 694 */ - void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 695 */ - void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 696 */ - void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 697 */ - void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 698 */ - void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 699 */ - void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 700 */ - void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 701 */ - void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 702 */ - void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 703 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 704 */ - void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 705 */ - void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 706 */ - void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 707 */ - void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 708 */ - void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 709 */ - void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 710 */ - void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 711 */ - void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 712 */ - void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 713 */ - void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 714 */ - void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 715 */ - void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 716 */ - void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 717 */ - void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 718 */ - void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 719 */ - void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 720 */ - void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 721 */ - void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 722 */ - void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 723 */ - void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 724 */ - void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 725 */ - void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 726 */ - void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 727 */ - void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 728 */ - void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 729 */ - void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 730 */ - void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 731 */ - void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 732 */ - void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 733 */ - void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 734 */ - void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 735 */ - void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 736 */ - GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 737 */ - void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 738 */ - GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 739 */ - GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 740 */ - void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 741 */ - void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 742 */ - void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 743 */ - void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 744 */ - void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 745 */ - void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 746 */ - void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 747 */ - void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 748 */ - void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 749 */ - void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 750 */ - void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 751 */ - void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 752 */ - void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 753 */ - GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 754 */ - void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 755 */ - void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 756 */ - void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 757 */ - void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 758 */ - void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 759 */ - void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 760 */ - void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 761 */ - void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 762 */ - void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 763 */ - void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 764 */ - void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 765 */ - void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 766 */ - void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 767 */ - void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 768 */ - void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 769 */ - void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 770 */ - void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 771 */ - void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 772 */ - void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 773 */ - void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 774 */ - void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 775 */ - void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 776 */ - void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 777 */ - void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 778 */ - void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 779 */ - void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 780 */ - void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 781 */ - void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 782 */ - void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 783 */ - void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 784 */ - void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 785 */ - void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 786 */ - void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 787 */ - void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 788 */ - void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 789 */ - void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 790 */ - void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 791 */ - void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 792 */ - void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 793 */ - void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 794 */ - void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 795 */ - void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 796 */ - void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 797 */ - void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 798 */ - void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 799 */ - void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 800 */ - void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 801 */ - void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 802 */ - void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 803 */ - void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 804 */ - void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 805 */ - 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); /* 806 */ - void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 807 */ - void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 808 */ - void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 809 */ - void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 810 */ - 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); /* 811 */ - void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 812 */ - void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 813 */ - GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 814 */ - void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 815 */ - void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 816 */ - void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 817 */ - void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 818 */ - void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 819 */ - void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 820 */ - void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 821 */ - void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 822 */ - void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 823 */ - GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 824 */ - void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 825 */ - void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 826 */ - void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 827 */ - void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 828 */ - void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 829 */ - void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 830 */ - void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 831 */ - void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 832 */ - void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 833 */ - void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 834 */ - void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 835 */ - void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 836 */ - GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 837 */ - void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 838 */ - void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 839 */ - void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 840 */ - void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 841 */ - void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 842 */ - void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 843 */ - void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 844 */ - void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 845 */ - void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 846 */ - void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 847 */ - void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 848 */ - GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 849 */ - GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 850 */ - void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 851 */ - void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 852 */ - void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 853 */ - void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 854 */ - void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 855 */ - GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 856 */ - void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 857 */ - void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 858 */ - void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 859 */ - void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 860 */ - void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 861 */ - void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 862 */ - void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 863 */ - void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 864 */ - void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 865 */ - void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 866 */ - void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 867 */ - void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 868 */ - void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 869 */ - void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 870 */ - void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 871 */ - void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 872 */ - void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 873 */ - void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 874 */ - void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 875 */ - void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 876 */ - void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 877 */ - void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 878 */ - void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 879 */ - void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 880 */ - void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 881 */ - void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 882 */ - void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 883 */ - void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 884 */ - void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 885 */ - void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 886 */ - void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 887 */ - void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 888 */ - void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 889 */ - void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 890 */ - void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 891 */ - void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 892 */ - void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 893 */ - void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 894 */ - GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 895 */ - void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 896 */ - void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 897 */ - void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 898 */ - void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 899 */ - void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 900 */ - void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 901 */ - void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 902 */ - void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 903 */ - void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 904 */ - void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 905 */ - void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 906 */ - void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 907 */ - void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 908 */ - void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 909 */ - void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 910 */ - void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 911 */ - void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 912 */ - void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 913 */ - void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 914 */ - GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 915 */ - GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 916 */ - void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 917 */ - GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 918 */ - void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 919 */ - void (GLAPIENTRYP TextureBarrierNV)(void); /* 920 */ - void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 921 */ - void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 922 */ - void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 923 */ - void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 924 */ - void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 925 */ - void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 926 */ - void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 927 */ + void (GLAPIENTRYP DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLint basevertex); /* 594 */ + void (GLAPIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex); /* 595 */ + void (GLAPIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount, const GLint * basevertex); /* 596 */ + void (GLAPIENTRYP BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeA); /* 597 */ + void (GLAPIENTRYP BlendEquationiARB)(GLuint buf, GLenum mode); /* 598 */ + void (GLAPIENTRYP BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcA, GLenum dstA); /* 599 */ + void (GLAPIENTRYP BlendFunciARB)(GLuint buf, GLenum src, GLenum dst); /* 600 */ + void (GLAPIENTRYP BindSampler)(GLuint unit, GLuint sampler); /* 601 */ + void (GLAPIENTRYP DeleteSamplers)(GLsizei count, const GLuint * samplers); /* 602 */ + void (GLAPIENTRYP GenSamplers)(GLsizei count, GLuint * samplers); /* 603 */ + void (GLAPIENTRYP GetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint * params); /* 604 */ + void (GLAPIENTRYP GetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint * params); /* 605 */ + void (GLAPIENTRYP GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat * params); /* 606 */ + void (GLAPIENTRYP GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint * params); /* 607 */ + GLboolean (GLAPIENTRYP IsSampler)(GLuint sampler); /* 608 */ + void (GLAPIENTRYP SamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint * params); /* 609 */ + void (GLAPIENTRYP SamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint * params); /* 610 */ + void (GLAPIENTRYP SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param); /* 611 */ + void (GLAPIENTRYP SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat * params); /* 612 */ + void (GLAPIENTRYP SamplerParameteri)(GLuint sampler, GLenum pname, GLint param); /* 613 */ + void (GLAPIENTRYP SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint * params); /* 614 */ + void (GLAPIENTRYP BindTransformFeedback)(GLenum target, GLuint id); /* 615 */ + void (GLAPIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint * ids); /* 616 */ + void (GLAPIENTRYP DrawTransformFeedback)(GLenum mode, GLuint id); /* 617 */ + void (GLAPIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint * ids); /* 618 */ + GLboolean (GLAPIENTRYP IsTransformFeedback)(GLuint id); /* 619 */ + void (GLAPIENTRYP PauseTransformFeedback)(void); /* 620 */ + void (GLAPIENTRYP ResumeTransformFeedback)(void); /* 621 */ + void (GLAPIENTRYP ClearDepthf)(GLclampf depth); /* 622 */ + void (GLAPIENTRYP DepthRangef)(GLclampf zNear, GLclampf zFar); /* 623 */ + void (GLAPIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision); /* 624 */ + void (GLAPIENTRYP ReleaseShaderCompiler)(void); /* 625 */ + void (GLAPIENTRYP ShaderBinary)(GLsizei n, const GLuint * shaders, GLenum binaryformat, const GLvoid * binary, GLsizei length); /* 626 */ + GLenum (GLAPIENTRYP GetGraphicsResetStatusARB)(void); /* 627 */ + void (GLAPIENTRYP GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * table); /* 628 */ + void (GLAPIENTRYP GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, GLvoid * img); /* 629 */ + void (GLAPIENTRYP GetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid * image); /* 630 */ + void (GLAPIENTRYP GetnHistogramARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 631 */ + void (GLAPIENTRYP GetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble * v); /* 632 */ + void (GLAPIENTRYP GetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat * v); /* 633 */ + void (GLAPIENTRYP GetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint * v); /* 634 */ + void (GLAPIENTRYP GetnMinmaxARB)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid * values); /* 635 */ + void (GLAPIENTRYP GetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat * values); /* 636 */ + void (GLAPIENTRYP GetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint * values); /* 637 */ + void (GLAPIENTRYP GetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort * values); /* 638 */ + void (GLAPIENTRYP GetnPolygonStippleARB)(GLsizei bufSize, GLubyte * pattern); /* 639 */ + void (GLAPIENTRYP GetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid * row, GLsizei columnBufSize, GLvoid * column, GLvoid * span); /* 640 */ + void (GLAPIENTRYP GetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid * img); /* 641 */ + void (GLAPIENTRYP GetnUniformdvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLdouble * params); /* 642 */ + void (GLAPIENTRYP GetnUniformfvARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLfloat * params); /* 643 */ + void (GLAPIENTRYP GetnUniformivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLint * params); /* 644 */ + void (GLAPIENTRYP GetnUniformuivARB)(GLhandleARB program, GLint location, GLsizei bufSize, GLuint * params); /* 645 */ + void (GLAPIENTRYP ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid * data); /* 646 */ + void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 647 */ + void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 648 */ + void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 649 */ + void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 650 */ + void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 651 */ + void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 652 */ + void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 653 */ + void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 654 */ + void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 655 */ + void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 656 */ + void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 657 */ + void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 658 */ + void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 659 */ + void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 660 */ + void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 661 */ + void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 662 */ + void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 663 */ + void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 664 */ + void (GLAPIENTRYP UnlockArraysEXT)(void); /* 665 */ + void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 666 */ + void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 667 */ + void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 668 */ + void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 669 */ + void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 670 */ + void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 671 */ + void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 672 */ + void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 673 */ + void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 674 */ + void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 675 */ + void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 676 */ + void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 677 */ + void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 678 */ + void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 679 */ + void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 680 */ + void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 681 */ + void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 682 */ + void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, const GLint * first, const GLsizei * count, GLsizei primcount); /* 683 */ + void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 684 */ + void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 685 */ + void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 686 */ + void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 687 */ + void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 688 */ + void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 689 */ + void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 690 */ + void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 691 */ + void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 692 */ + void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 693 */ + void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 694 */ + void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 695 */ + void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 696 */ + void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 697 */ + void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 698 */ + void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 699 */ + void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 700 */ + void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 701 */ + void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 702 */ + void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 703 */ + void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 704 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 705 */ + void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 706 */ + void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 707 */ + void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 708 */ + void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 709 */ + void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 710 */ + void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 711 */ + void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 712 */ + void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 713 */ + void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 714 */ + void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 715 */ + void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 716 */ + void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 717 */ + void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 718 */ + void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 719 */ + void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 720 */ + void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 721 */ + void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 722 */ + void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 723 */ + void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 724 */ + void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 725 */ + void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 726 */ + void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 727 */ + void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 728 */ + void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 729 */ + void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 730 */ + void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 731 */ + void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 732 */ + void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 733 */ + void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 734 */ + void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 735 */ + void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 736 */ + void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 737 */ + GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 738 */ + void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 739 */ + GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 740 */ + GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 741 */ + void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 742 */ + void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 743 */ + void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 744 */ + void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 745 */ + void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 746 */ + void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 747 */ + void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 748 */ + void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 749 */ + void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 750 */ + void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 751 */ + void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 752 */ + void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 753 */ + void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 754 */ + GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 755 */ + void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 756 */ + void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei num, const GLdouble * params); /* 757 */ + void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei num, const GLfloat * params); /* 758 */ + void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 759 */ + void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 760 */ + void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 761 */ + void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 762 */ + void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 763 */ + void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 764 */ + void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 765 */ + void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 766 */ + void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 767 */ + void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 768 */ + void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 769 */ + void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 770 */ + void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 771 */ + void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 772 */ + void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 773 */ + void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 774 */ + void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 775 */ + void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 776 */ + void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 777 */ + void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 778 */ + void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 779 */ + void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 780 */ + void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 781 */ + void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 782 */ + void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 783 */ + void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 784 */ + void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 785 */ + void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 786 */ + void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 787 */ + void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 788 */ + void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 789 */ + void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 790 */ + void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 791 */ + void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 792 */ + void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 793 */ + void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 794 */ + void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 795 */ + void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 796 */ + void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 797 */ + void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 798 */ + void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 799 */ + void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 800 */ + void (GLAPIENTRYP GetTexBumpParameterfvATI)(GLenum pname, GLfloat * param); /* 801 */ + void (GLAPIENTRYP GetTexBumpParameterivATI)(GLenum pname, GLint * param); /* 802 */ + void (GLAPIENTRYP TexBumpParameterfvATI)(GLenum pname, const GLfloat * param); /* 803 */ + void (GLAPIENTRYP TexBumpParameterivATI)(GLenum pname, const GLint * param); /* 804 */ + void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 805 */ + void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 806 */ + 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); /* 807 */ + void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 808 */ + void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 809 */ + void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 810 */ + void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 811 */ + 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); /* 812 */ + void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 813 */ + void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 814 */ + GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 815 */ + void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 816 */ + void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 817 */ + void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 818 */ + void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 819 */ + void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 820 */ + void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 821 */ + void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 822 */ + void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 823 */ + void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 824 */ + GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 825 */ + void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 826 */ + void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 827 */ + void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 828 */ + void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 829 */ + void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 830 */ + void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 831 */ + void (GLAPIENTRYP PrimitiveRestartIndexNV)(GLuint index); /* 832 */ + void (GLAPIENTRYP PrimitiveRestartNV)(void); /* 833 */ + void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 834 */ + void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 835 */ + void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 836 */ + void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 837 */ + GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 838 */ + void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 839 */ + void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 840 */ + void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 841 */ + void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 842 */ + void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 843 */ + void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 844 */ + void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 845 */ + void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 846 */ + void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 847 */ + void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 848 */ + void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 849 */ + GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 850 */ + GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 851 */ + void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 852 */ + void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 853 */ + void (GLAPIENTRYP BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); /* 854 */ + void (GLAPIENTRYP FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); /* 855 */ + void (GLAPIENTRYP BindFragDataLocationEXT)(GLuint program, GLuint colorNumber, const GLchar * name); /* 856 */ + GLint (GLAPIENTRYP GetFragDataLocationEXT)(GLuint program, const GLchar * name); /* 857 */ + void (GLAPIENTRYP GetUniformuivEXT)(GLuint program, GLint location, GLuint * params); /* 858 */ + void (GLAPIENTRYP GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint * params); /* 859 */ + void (GLAPIENTRYP GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint * params); /* 860 */ + void (GLAPIENTRYP Uniform1uiEXT)(GLint location, GLuint x); /* 861 */ + void (GLAPIENTRYP Uniform1uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 862 */ + void (GLAPIENTRYP Uniform2uiEXT)(GLint location, GLuint x, GLuint y); /* 863 */ + void (GLAPIENTRYP Uniform2uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 864 */ + void (GLAPIENTRYP Uniform3uiEXT)(GLint location, GLuint x, GLuint y, GLuint z); /* 865 */ + void (GLAPIENTRYP Uniform3uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 866 */ + void (GLAPIENTRYP Uniform4uiEXT)(GLint location, GLuint x, GLuint y, GLuint z, GLuint w); /* 867 */ + void (GLAPIENTRYP Uniform4uivEXT)(GLint location, GLsizei count, const GLuint * value); /* 868 */ + void (GLAPIENTRYP VertexAttribI1iEXT)(GLuint index, GLint x); /* 869 */ + void (GLAPIENTRYP VertexAttribI1ivEXT)(GLuint index, const GLint * v); /* 870 */ + void (GLAPIENTRYP VertexAttribI1uiEXT)(GLuint index, GLuint x); /* 871 */ + void (GLAPIENTRYP VertexAttribI1uivEXT)(GLuint index, const GLuint * v); /* 872 */ + void (GLAPIENTRYP VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); /* 873 */ + void (GLAPIENTRYP VertexAttribI2ivEXT)(GLuint index, const GLint * v); /* 874 */ + void (GLAPIENTRYP VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); /* 875 */ + void (GLAPIENTRYP VertexAttribI2uivEXT)(GLuint index, const GLuint * v); /* 876 */ + void (GLAPIENTRYP VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); /* 877 */ + void (GLAPIENTRYP VertexAttribI3ivEXT)(GLuint index, const GLint * v); /* 878 */ + void (GLAPIENTRYP VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); /* 879 */ + void (GLAPIENTRYP VertexAttribI3uivEXT)(GLuint index, const GLuint * v); /* 880 */ + void (GLAPIENTRYP VertexAttribI4bvEXT)(GLuint index, const GLbyte * v); /* 881 */ + void (GLAPIENTRYP VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); /* 882 */ + void (GLAPIENTRYP VertexAttribI4ivEXT)(GLuint index, const GLint * v); /* 883 */ + void (GLAPIENTRYP VertexAttribI4svEXT)(GLuint index, const GLshort * v); /* 884 */ + void (GLAPIENTRYP VertexAttribI4ubvEXT)(GLuint index, const GLubyte * v); /* 885 */ + void (GLAPIENTRYP VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); /* 886 */ + void (GLAPIENTRYP VertexAttribI4uivEXT)(GLuint index, const GLuint * v); /* 887 */ + void (GLAPIENTRYP VertexAttribI4usvEXT)(GLuint index, const GLushort * v); /* 888 */ + void (GLAPIENTRYP VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 889 */ + void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 890 */ + void (GLAPIENTRYP ColorMaskIndexedEXT)(GLuint buf, GLboolean r, GLboolean g, GLboolean b, GLboolean a); /* 891 */ + void (GLAPIENTRYP DisableIndexedEXT)(GLenum target, GLuint index); /* 892 */ + void (GLAPIENTRYP EnableIndexedEXT)(GLenum target, GLuint index); /* 893 */ + void (GLAPIENTRYP GetBooleanIndexedvEXT)(GLenum value, GLuint index, GLboolean * data); /* 894 */ + void (GLAPIENTRYP GetIntegerIndexedvEXT)(GLenum value, GLuint index, GLint * data); /* 895 */ + GLboolean (GLAPIENTRYP IsEnabledIndexedEXT)(GLenum target, GLuint index); /* 896 */ + void (GLAPIENTRYP ClearColorIiEXT)(GLint r, GLint g, GLint b, GLint a); /* 897 */ + void (GLAPIENTRYP ClearColorIuiEXT)(GLuint r, GLuint g, GLuint b, GLuint a); /* 898 */ + void (GLAPIENTRYP GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint * params); /* 899 */ + void (GLAPIENTRYP GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint * params); /* 900 */ + void (GLAPIENTRYP TexParameterIivEXT)(GLenum target, GLenum pname, const GLint * params); /* 901 */ + void (GLAPIENTRYP TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint * params); /* 902 */ + void (GLAPIENTRYP BeginConditionalRenderNV)(GLuint query, GLenum mode); /* 903 */ + void (GLAPIENTRYP EndConditionalRenderNV)(void); /* 904 */ + void (GLAPIENTRYP BeginTransformFeedbackEXT)(GLenum mode); /* 905 */ + void (GLAPIENTRYP BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); /* 906 */ + void (GLAPIENTRYP BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); /* 907 */ + void (GLAPIENTRYP BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); /* 908 */ + void (GLAPIENTRYP EndTransformFeedbackEXT)(void); /* 909 */ + void (GLAPIENTRYP GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name); /* 910 */ + void (GLAPIENTRYP TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const char ** varyings, GLenum bufferMode); /* 911 */ + void (GLAPIENTRYP ProvokingVertexEXT)(GLenum mode); /* 912 */ + void (GLAPIENTRYP GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, GLvoid ** params); /* 913 */ + void (GLAPIENTRYP TextureRangeAPPLE)(GLenum target, GLsizei length, GLvoid * pointer); /* 914 */ + void (GLAPIENTRYP GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint * value); /* 915 */ + GLenum (GLAPIENTRYP ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 916 */ + GLenum (GLAPIENTRYP ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); /* 917 */ + void (GLAPIENTRYP ActiveProgramEXT)(GLuint program); /* 918 */ + GLuint (GLAPIENTRYP CreateShaderProgramEXT)(GLenum type, const GLchar * string); /* 919 */ + void (GLAPIENTRYP UseShaderProgramEXT)(GLenum type, GLuint program); /* 920 */ + void (GLAPIENTRYP TextureBarrierNV)(void); /* 921 */ + void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 922 */ + void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 923 */ + void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 924 */ + void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 925 */ + void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 926 */ + void (GLAPIENTRYP EGLImageTargetRenderbufferStorageOES)(GLenum target, GLvoid * writeOffset); /* 927 */ + void (GLAPIENTRYP EGLImageTargetTexture2DOES)(GLenum target, GLvoid * writeOffset); /* 928 */ }; #endif /* !defined( _GLAPI_TABLE_H_ ) */ diff --git a/src/mapi/glapi/glapitemp.h b/src/mapi/glapi/glapitemp.h index c0ed1731c19..fc9c0aa35b4 100644 --- a/src/mapi/glapi/glapitemp.h +++ b/src/mapi/glapi/glapitemp.h @@ -4032,6 +4032,11 @@ KEYWORD1 void KEYWORD2 NAME(DrawElementsBaseVertex)(GLenum mode, GLsizei count, DISPATCH(DrawElementsBaseVertex, (mode, count, type, indices, basevertex), (F, "glDrawElementsBaseVertex(0x%x, %d, 0x%x, %p, %d);\n", mode, count, type, (const void *) indices, basevertex)); } +KEYWORD1 void KEYWORD2 NAME(DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices, GLsizei primcount, GLint basevertex) +{ + DISPATCH(DrawElementsInstancedBaseVertex, (mode, count, type, indices, primcount, basevertex), (F, "glDrawElementsInstancedBaseVertex(0x%x, %d, 0x%x, %p, %d, %d);\n", mode, count, type, (const void *) indices, primcount, basevertex)); +} + KEYWORD1 void KEYWORD2 NAME(DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices, GLint basevertex) { DISPATCH(DrawRangeElementsBaseVertex, (mode, start, end, count, type, indices, basevertex), (F, "glDrawRangeElementsBaseVertex(0x%x, %d, %d, %d, 0x%x, %p, %d);\n", mode, start, end, count, type, (const void *) indices, basevertex)); @@ -4317,58 +4322,58 @@ KEYWORD1 void KEYWORD2 NAME(PolygonOffsetEXT)(GLfloat factor, GLfloat bias) DISPATCH(PolygonOffsetEXT, (factor, bias), (F, "glPolygonOffsetEXT(%f, %f);\n", factor, bias)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_647)(GLenum pname, GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(GLenum pname, GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_647)(GLenum pname, GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(GLenum pname, GLfloat * params) { DISPATCH(GetPixelTexGenParameterfvSGIS, (pname, params), (F, "glGetPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_648)(GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(GLenum pname, GLint * params) { DISPATCH(GetPixelTexGenParameterivSGIS, (pname, params), (F, "glGetPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_649)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLenum pname, GLfloat param) { DISPATCH(PixelTexGenParameterfSGIS, (pname, param), (F, "glPixelTexGenParameterfSGIS(0x%x, %f);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_650)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLenum pname, const GLfloat * params) { DISPATCH(PixelTexGenParameterfvSGIS, (pname, params), (F, "glPixelTexGenParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_651)(GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLenum pname, GLint param) { DISPATCH(PixelTexGenParameteriSGIS, (pname, param), (F, "glPixelTexGenParameteriSGIS(0x%x, %d);\n", pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLenum pname, const GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLenum pname, const GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_652)(GLenum pname, const GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLenum pname, const GLint * params) { DISPATCH(PixelTexGenParameterivSGIS, (pname, params), (F, "glPixelTexGenParameterivSGIS(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLclampf value, GLboolean invert); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(GLclampf value, GLboolean invert); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_653)(GLclampf value, GLboolean invert) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(GLclampf value, GLboolean invert) { DISPATCH(SampleMaskSGIS, (value, invert), (F, "glSampleMaskSGIS(%f, %d);\n", value, invert)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(GLenum pattern); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(GLenum pattern); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_654)(GLenum pattern) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_655)(GLenum pattern) { DISPATCH(SamplePatternSGIS, (pattern), (F, "glSamplePatternSGIS(0x%x);\n", pattern)); } @@ -4418,9 +4423,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_661)(GLenum pname, GLfloat param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_662)(GLenum pname, GLfloat param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_661)(GLenum pname, GLfloat param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_662)(GLenum pname, GLfloat param) { DISPATCH(PointParameterfEXT, (pname, param), (F, "glPointParameterfSGIS(0x%x, %f);\n", pname, param)); } @@ -4440,9 +4445,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_662)(GLenum pname, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_663)(GLenum pname, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_662)(GLenum pname, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_663)(GLenum pname, const GLfloat * params) { DISPATCH(PointParameterfvEXT, (pname, params), (F, "glPointParameterfvSGIS(0x%x, %p);\n", pname, (const void *) params)); } @@ -4697,9 +4702,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_689)(GLenum mode); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_690)(GLenum mode); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_689)(GLenum mode) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_690)(GLenum mode) { DISPATCH(PixelTexGenSGIX, (mode), (F, "glPixelTexGenSGIX(0x%x);\n", mode)); } @@ -4714,9 +4719,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_690)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_691)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_690)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_691)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { DISPATCH(BlendFuncSeparateEXT, (sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha), (F, "glBlendFuncSeparateINGR(0x%x, 0x%x, 0x%x, 0x%x);\n", sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)); } @@ -5081,65 +5086,65 @@ KEYWORD1 void KEYWORD2 NAME(WindowPos4svMESA)(const GLshort * v) DISPATCH(WindowPos4svMESA, (v), (F, "glWindowPos4svMESA(%p);\n", (const void *) v)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_731)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_732)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_731)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_732)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawArraysIBM, (mode, first, count, primcount, modestride), (F, "glMultiModeDrawArraysIBM(%p, %p, %p, %d, %d);\n", (const void *) mode, (const void *) first, (const void *) count, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_732)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_733)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_732)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_733)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride) { DISPATCH(MultiModeDrawElementsIBM, (mode, count, type, indices, primcount, modestride), (F, "glMultiModeDrawElementsIBM(%p, %p, 0x%x, %p, %d, %d);\n", (const void *) mode, (const void *) count, type, (const void *) indices, primcount, modestride)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_733)(GLsizei n, const GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLsizei n, const GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_733)(GLsizei n, const GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLsizei n, const GLuint * fences) { DISPATCH(DeleteFencesNV, (n, fences), (F, "glDeleteFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLuint fence); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLuint fence); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_734)(GLuint fence) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLuint fence) { DISPATCH(FinishFenceNV, (fence), (F, "glFinishFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLsizei n, GLuint * fences); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_736)(GLsizei n, GLuint * fences); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_735)(GLsizei n, GLuint * fences) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_736)(GLsizei n, GLuint * fences) { DISPATCH(GenFencesNV, (n, fences), (F, "glGenFencesNV(%d, %p);\n", n, (const void *) fences)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_736)(GLuint fence, GLenum pname, GLint * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLuint fence, GLenum pname, GLint * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_736)(GLuint fence, GLenum pname, GLint * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_737)(GLuint fence, GLenum pname, GLint * params) { DISPATCH(GetFenceivNV, (fence, pname, params), (F, "glGetFenceivNV(%d, 0x%x, %p);\n", fence, pname, (const void *) params)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_737)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_738)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_737)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_738)(GLuint fence) { RETURN_DISPATCH(IsFenceNV, (fence), (F, "glIsFenceNV(%d);\n", fence)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_738)(GLuint fence, GLenum condition); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_739)(GLuint fence, GLenum condition); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_738)(GLuint fence, GLenum condition) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_739)(GLuint fence, GLenum condition) { DISPATCH(SetFenceNV, (fence, condition), (F, "glSetFenceNV(%d, 0x%x);\n", fence, condition)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_739)(GLuint fence); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_740)(GLuint fence); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_739)(GLuint fence) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_740)(GLuint fence) { RETURN_DISPATCH(TestFenceNV, (fence), (F, "glTestFenceNV(%d);\n", fence)); } @@ -5584,16 +5589,16 @@ KEYWORD1 void KEYWORD2 NAME(PointParameterivNV)(GLenum pname, const GLint * para DISPATCH(PointParameterivNV, (pname, params), (F, "glPointParameterivNV(0x%x, %p);\n", pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_820)(GLenum face); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(GLenum face); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_820)(GLenum face) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(GLenum face) { DISPATCH(ActiveStencilFaceEXT, (face), (F, "glActiveStencilFaceEXT(0x%x);\n", face)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(GLuint array); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(GLuint array); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_821)(GLuint array) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(GLuint array) { DISPATCH(BindVertexArrayAPPLE, (array), (F, "glBindVertexArrayAPPLE(%d);\n", array)); } @@ -5603,16 +5608,16 @@ KEYWORD1 void KEYWORD2 NAME(DeleteVertexArrays)(GLsizei n, const GLuint * arrays DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArrays(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(GLsizei n, const GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_823)(GLsizei n, const GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_822)(GLsizei n, const GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_823)(GLsizei n, const GLuint * arrays) { DISPATCH(DeleteVertexArraysAPPLE, (n, arrays), (F, "glDeleteVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_823)(GLsizei n, GLuint * arrays); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_824)(GLsizei n, GLuint * arrays); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_823)(GLsizei n, GLuint * arrays) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_824)(GLsizei n, GLuint * arrays) { DISPATCH(GenVertexArraysAPPLE, (n, arrays), (F, "glGenVertexArraysAPPLE(%d, %p);\n", n, (const void *) arrays)); } @@ -5622,9 +5627,9 @@ KEYWORD1 GLboolean KEYWORD2 NAME(IsVertexArray)(GLuint array) RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArray(%d);\n", array)); } -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_824)(GLuint array); +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_825)(GLuint array); -KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_824)(GLuint array) +KEYWORD1_ALT GLboolean KEYWORD2 NAME(_dispatch_stub_825)(GLuint array) { RETURN_DISPATCH(IsVertexArrayAPPLE, (array), (F, "glIsVertexArrayAPPLE(%d);\n", array)); } @@ -5674,9 +5679,9 @@ KEYWORD1 void KEYWORD2 NAME(PrimitiveRestartNV)(void) DISPATCH(PrimitiveRestartNV, (), (F, "glPrimitiveRestartNV();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_833)(GLclampd zmin, GLclampd zmax); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_834)(GLclampd zmin, GLclampd zmax); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_833)(GLclampd zmin, GLclampd zmax) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_834)(GLclampd zmin, GLclampd zmax) { DISPATCH(DepthBoundsEXT, (zmin, zmax), (F, "glDepthBoundsEXT(%f, %f);\n", zmin, zmax)); } @@ -5686,9 +5691,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_834)(GLenum modeRGB, GLenum modeA); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_835)(GLenum modeRGB, GLenum modeA); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_834)(GLenum modeRGB, GLenum modeA) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_835)(GLenum modeRGB, GLenum modeA) { DISPATCH(BlendEquationSeparateEXT, (modeRGB, modeA), (F, "glBlendEquationSeparateEXT(0x%x, 0x%x);\n", modeRGB, modeA)); } @@ -5868,23 +5873,23 @@ KEYWORD1 void KEYWORD2 NAME(BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint src DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebuffer(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_852)(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_853)(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_852)(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_853)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { DISPATCH(BlitFramebufferEXT, (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter), (F, "glBlitFramebufferEXT(%d, %d, %d, %d, %d, %d, %d, %d, %d, 0x%x);\n", srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_853)(GLenum target, GLenum pname, GLint param); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_854)(GLenum target, GLenum pname, GLint param); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_853)(GLenum target, GLenum pname, GLint param) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_854)(GLenum target, GLenum pname, GLint param) { DISPATCH(BufferParameteriAPPLE, (target, pname, param), (F, "glBufferParameteriAPPLE(0x%x, 0x%x, %d);\n", target, pname, param)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_854)(GLenum target, GLintptr offset, GLsizeiptr size); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_855)(GLenum target, GLintptr offset, GLsizeiptr size); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_854)(GLenum target, GLintptr offset, GLsizeiptr size) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_855)(GLenum target, GLintptr offset, GLsizeiptr size) { DISPATCH(FlushMappedBufferRangeAPPLE, (target, offset, size), (F, "glFlushMappedBufferRangeAPPLE(0x%x, %d, %d);\n", target, offset, size)); } @@ -6444,16 +6449,16 @@ KEYWORD1 void KEYWORD2 NAME(ProvokingVertex)(GLenum mode) DISPATCH(ProvokingVertexEXT, (mode), (F, "glProvokingVertex(0x%x);\n", mode)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_912)(GLenum target, GLenum pname, GLvoid ** params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_913)(GLenum target, GLenum pname, GLvoid ** params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_912)(GLenum target, GLenum pname, GLvoid ** params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_913)(GLenum target, GLenum pname, GLvoid ** params) { DISPATCH(GetTexParameterPointervAPPLE, (target, pname, params), (F, "glGetTexParameterPointervAPPLE(0x%x, 0x%x, %p);\n", target, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_913)(GLenum target, GLsizei length, GLvoid * pointer); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_914)(GLenum target, GLsizei length, GLvoid * pointer); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_913)(GLenum target, GLsizei length, GLvoid * pointer) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_914)(GLenum target, GLsizei length, GLvoid * pointer) { DISPATCH(TextureRangeAPPLE, (target, length, pointer), (F, "glTextureRangeAPPLE(0x%x, %d, %p);\n", target, length, (const void *) pointer)); } @@ -6493,37 +6498,37 @@ KEYWORD1 void KEYWORD2 NAME(TextureBarrierNV)(void) DISPATCH(TextureBarrierNV, (), (F, "glTextureBarrierNV();\n")); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_921)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_922)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_921)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_922)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask) { DISPATCH(StencilFuncSeparateATI, (frontfunc, backfunc, ref, mask), (F, "glStencilFuncSeparateATI(0x%x, 0x%x, %d, %d);\n", frontfunc, backfunc, ref, mask)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_922)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_923)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_922)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_923)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramEnvParameters4fvEXT, (target, index, count, params), (F, "glProgramEnvParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_923)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_924)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_923)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_924)(GLenum target, GLuint index, GLsizei count, const GLfloat * params) { DISPATCH(ProgramLocalParameters4fvEXT, (target, index, count, params), (F, "glProgramLocalParameters4fvEXT(0x%x, %d, %d, %p);\n", target, index, count, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_924)(GLuint id, GLenum pname, GLint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_925)(GLuint id, GLenum pname, GLint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_924)(GLuint id, GLenum pname, GLint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_925)(GLuint id, GLenum pname, GLint64EXT * params) { DISPATCH(GetQueryObjecti64vEXT, (id, pname, params), (F, "glGetQueryObjecti64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_925)(GLuint id, GLenum pname, GLuint64EXT * params); +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_926)(GLuint id, GLenum pname, GLuint64EXT * params); -KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_925)(GLuint id, GLenum pname, GLuint64EXT * params) +KEYWORD1_ALT void KEYWORD2 NAME(_dispatch_stub_926)(GLuint id, GLenum pname, GLuint64EXT * params) { DISPATCH(GetQueryObjectui64vEXT, (id, pname, params), (F, "glGetQueryObjectui64vEXT(%d, 0x%x, %p);\n", id, pname, (const void *) params)); } @@ -7285,6 +7290,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsSync), TABLE_ENTRY(WaitSync), TABLE_ENTRY(DrawElementsBaseVertex), + TABLE_ENTRY(DrawElementsInstancedBaseVertex), TABLE_ENTRY(DrawRangeElementsBaseVertex), TABLE_ENTRY(MultiDrawElementsBaseVertex), TABLE_ENTRY(BlendEquationSeparateiARB), @@ -7338,7 +7344,6 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetnUniformuivARB), TABLE_ENTRY(ReadnPixelsARB), TABLE_ENTRY(PolygonOffsetEXT), - TABLE_ENTRY(_dispatch_stub_647), TABLE_ENTRY(_dispatch_stub_648), TABLE_ENTRY(_dispatch_stub_649), TABLE_ENTRY(_dispatch_stub_650), @@ -7346,6 +7351,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(_dispatch_stub_652), TABLE_ENTRY(_dispatch_stub_653), TABLE_ENTRY(_dispatch_stub_654), + TABLE_ENTRY(_dispatch_stub_655), TABLE_ENTRY(ColorPointerEXT), TABLE_ENTRY(EdgeFlagPointerEXT), TABLE_ENTRY(IndexPointerEXT), @@ -7380,7 +7386,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(FogCoorddvEXT), TABLE_ENTRY(FogCoordfEXT), TABLE_ENTRY(FogCoordfvEXT), - TABLE_ENTRY(_dispatch_stub_689), + TABLE_ENTRY(_dispatch_stub_690), TABLE_ENTRY(BlendFuncSeparateEXT), TABLE_ENTRY(FlushVertexArrayRangeNV), TABLE_ENTRY(VertexArrayRangeNV), @@ -7422,7 +7428,6 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(WindowPos4ivMESA), TABLE_ENTRY(WindowPos4sMESA), TABLE_ENTRY(WindowPos4svMESA), - TABLE_ENTRY(_dispatch_stub_731), TABLE_ENTRY(_dispatch_stub_732), TABLE_ENTRY(_dispatch_stub_733), TABLE_ENTRY(_dispatch_stub_734), @@ -7431,6 +7436,7 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(_dispatch_stub_737), TABLE_ENTRY(_dispatch_stub_738), TABLE_ENTRY(_dispatch_stub_739), + TABLE_ENTRY(_dispatch_stub_740), TABLE_ENTRY(AreProgramsResidentNV), TABLE_ENTRY(BindProgramNV), TABLE_ENTRY(DeleteProgramsNV), @@ -7511,11 +7517,11 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(SetFragmentShaderConstantATI), TABLE_ENTRY(PointParameteriNV), TABLE_ENTRY(PointParameterivNV), - TABLE_ENTRY(_dispatch_stub_820), TABLE_ENTRY(_dispatch_stub_821), TABLE_ENTRY(_dispatch_stub_822), TABLE_ENTRY(_dispatch_stub_823), TABLE_ENTRY(_dispatch_stub_824), + TABLE_ENTRY(_dispatch_stub_825), TABLE_ENTRY(GetProgramNamedParameterdvNV), TABLE_ENTRY(GetProgramNamedParameterfvNV), TABLE_ENTRY(ProgramNamedParameter4dNV), @@ -7524,8 +7530,8 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(ProgramNamedParameter4fvNV), TABLE_ENTRY(PrimitiveRestartIndexNV), TABLE_ENTRY(PrimitiveRestartNV), - TABLE_ENTRY(_dispatch_stub_833), TABLE_ENTRY(_dispatch_stub_834), + TABLE_ENTRY(_dispatch_stub_835), TABLE_ENTRY(BindFramebufferEXT), TABLE_ENTRY(BindRenderbufferEXT), TABLE_ENTRY(CheckFramebufferStatusEXT), @@ -7543,9 +7549,9 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(IsFramebufferEXT), TABLE_ENTRY(IsRenderbufferEXT), TABLE_ENTRY(RenderbufferStorageEXT), - TABLE_ENTRY(_dispatch_stub_852), TABLE_ENTRY(_dispatch_stub_853), TABLE_ENTRY(_dispatch_stub_854), + TABLE_ENTRY(_dispatch_stub_855), TABLE_ENTRY(BindFragDataLocationEXT), TABLE_ENTRY(GetFragDataLocationEXT), TABLE_ENTRY(GetUniformuivEXT), @@ -7603,8 +7609,8 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(GetTransformFeedbackVaryingEXT), TABLE_ENTRY(TransformFeedbackVaryingsEXT), TABLE_ENTRY(ProvokingVertexEXT), - TABLE_ENTRY(_dispatch_stub_912), TABLE_ENTRY(_dispatch_stub_913), + TABLE_ENTRY(_dispatch_stub_914), TABLE_ENTRY(GetObjectParameterivAPPLE), TABLE_ENTRY(ObjectPurgeableAPPLE), TABLE_ENTRY(ObjectUnpurgeableAPPLE), @@ -7612,11 +7618,11 @@ _glapi_proc DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(CreateShaderProgramEXT), TABLE_ENTRY(UseShaderProgramEXT), TABLE_ENTRY(TextureBarrierNV), - TABLE_ENTRY(_dispatch_stub_921), TABLE_ENTRY(_dispatch_stub_922), TABLE_ENTRY(_dispatch_stub_923), TABLE_ENTRY(_dispatch_stub_924), TABLE_ENTRY(_dispatch_stub_925), + TABLE_ENTRY(_dispatch_stub_926), TABLE_ENTRY(EGLImageTargetRenderbufferStorageOES), TABLE_ENTRY(EGLImageTargetTexture2DOES), /* A whole bunch of no-op functions. These might be called @@ -7927,10 +7933,10 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(BlendFuncIndexedAMD), TABLE_ENTRY(PointParameterf), TABLE_ENTRY(PointParameterfARB), - TABLE_ENTRY(_dispatch_stub_661), + TABLE_ENTRY(_dispatch_stub_662), TABLE_ENTRY(PointParameterfv), TABLE_ENTRY(PointParameterfvARB), - TABLE_ENTRY(_dispatch_stub_662), + TABLE_ENTRY(_dispatch_stub_663), TABLE_ENTRY(SecondaryColor3b), TABLE_ENTRY(SecondaryColor3bv), TABLE_ENTRY(SecondaryColor3d), @@ -7956,7 +7962,7 @@ _glapi_proc UNUSED_TABLE_NAME[] = { TABLE_ENTRY(FogCoordf), TABLE_ENTRY(FogCoordfv), TABLE_ENTRY(BlendFuncSeparate), - TABLE_ENTRY(_dispatch_stub_690), + TABLE_ENTRY(_dispatch_stub_691), TABLE_ENTRY(WindowPos2d), TABLE_ENTRY(WindowPos2dARB), TABLE_ENTRY(WindowPos2dv), diff --git a/src/mapi/glapi/glprocs.h b/src/mapi/glapi/glprocs.h index c10c3da40ce..892a68d8030 100644 --- a/src/mapi/glapi/glprocs.h +++ b/src/mapi/glapi/glprocs.h @@ -646,6 +646,7 @@ static const char gl_string_table[] = "glIsSync\0" "glWaitSync\0" "glDrawElementsBaseVertex\0" + "glDrawElementsInstancedBaseVertex\0" "glDrawRangeElementsBaseVertex\0" "glMultiDrawElementsBaseVertex\0" "glBlendEquationSeparateiARB\0" @@ -1360,7 +1361,6 @@ 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_647 mgl_dispatch_stub_647 #define gl_dispatch_stub_648 mgl_dispatch_stub_648 #define gl_dispatch_stub_649 mgl_dispatch_stub_649 #define gl_dispatch_stub_650 mgl_dispatch_stub_650 @@ -1368,8 +1368,8 @@ static const char gl_string_table[] = #define gl_dispatch_stub_652 mgl_dispatch_stub_652 #define gl_dispatch_stub_653 mgl_dispatch_stub_653 #define gl_dispatch_stub_654 mgl_dispatch_stub_654 -#define gl_dispatch_stub_689 mgl_dispatch_stub_689 -#define gl_dispatch_stub_731 mgl_dispatch_stub_731 +#define gl_dispatch_stub_655 mgl_dispatch_stub_655 +#define gl_dispatch_stub_690 mgl_dispatch_stub_690 #define gl_dispatch_stub_732 mgl_dispatch_stub_732 #define gl_dispatch_stub_733 mgl_dispatch_stub_733 #define gl_dispatch_stub_734 mgl_dispatch_stub_734 @@ -1378,23 +1378,24 @@ static const char gl_string_table[] = #define gl_dispatch_stub_737 mgl_dispatch_stub_737 #define gl_dispatch_stub_738 mgl_dispatch_stub_738 #define gl_dispatch_stub_739 mgl_dispatch_stub_739 -#define gl_dispatch_stub_820 mgl_dispatch_stub_820 +#define gl_dispatch_stub_740 mgl_dispatch_stub_740 #define gl_dispatch_stub_821 mgl_dispatch_stub_821 #define gl_dispatch_stub_822 mgl_dispatch_stub_822 #define gl_dispatch_stub_823 mgl_dispatch_stub_823 #define gl_dispatch_stub_824 mgl_dispatch_stub_824 -#define gl_dispatch_stub_833 mgl_dispatch_stub_833 +#define gl_dispatch_stub_825 mgl_dispatch_stub_825 #define gl_dispatch_stub_834 mgl_dispatch_stub_834 -#define gl_dispatch_stub_852 mgl_dispatch_stub_852 +#define gl_dispatch_stub_835 mgl_dispatch_stub_835 #define gl_dispatch_stub_853 mgl_dispatch_stub_853 #define gl_dispatch_stub_854 mgl_dispatch_stub_854 -#define gl_dispatch_stub_912 mgl_dispatch_stub_912 +#define gl_dispatch_stub_855 mgl_dispatch_stub_855 #define gl_dispatch_stub_913 mgl_dispatch_stub_913 -#define gl_dispatch_stub_921 mgl_dispatch_stub_921 +#define gl_dispatch_stub_914 mgl_dispatch_stub_914 #define gl_dispatch_stub_922 mgl_dispatch_stub_922 #define gl_dispatch_stub_923 mgl_dispatch_stub_923 #define gl_dispatch_stub_924 mgl_dispatch_stub_924 #define gl_dispatch_stub_925 mgl_dispatch_stub_925 +#define gl_dispatch_stub_926 mgl_dispatch_stub_926 #endif /* USE_MGL_NAMESPACE */ @@ -1412,41 +1413,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_647(GLenum pname, GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_648(GLenum pname, GLint * params); -void GLAPIENTRY gl_dispatch_stub_649(GLenum pname, GLfloat param); -void GLAPIENTRY gl_dispatch_stub_650(GLenum pname, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_651(GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_652(GLenum pname, const GLint * params); -void GLAPIENTRY gl_dispatch_stub_653(GLclampf value, GLboolean invert); -void GLAPIENTRY gl_dispatch_stub_654(GLenum pattern); -void GLAPIENTRY gl_dispatch_stub_689(GLenum mode); -void GLAPIENTRY gl_dispatch_stub_731(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_732(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); -void GLAPIENTRY gl_dispatch_stub_733(GLsizei n, const GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_734(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_735(GLsizei n, GLuint * fences); -void GLAPIENTRY gl_dispatch_stub_736(GLuint fence, GLenum pname, GLint * params); -GLboolean GLAPIENTRY gl_dispatch_stub_737(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_738(GLuint fence, GLenum condition); -GLboolean GLAPIENTRY gl_dispatch_stub_739(GLuint fence); -void GLAPIENTRY gl_dispatch_stub_820(GLenum face); -void GLAPIENTRY gl_dispatch_stub_821(GLuint array); -void GLAPIENTRY gl_dispatch_stub_822(GLsizei n, const GLuint * arrays); -void GLAPIENTRY gl_dispatch_stub_823(GLsizei n, GLuint * arrays); -GLboolean GLAPIENTRY gl_dispatch_stub_824(GLuint array); -void GLAPIENTRY gl_dispatch_stub_833(GLclampd zmin, GLclampd zmax); -void GLAPIENTRY gl_dispatch_stub_834(GLenum modeRGB, GLenum modeA); -void GLAPIENTRY gl_dispatch_stub_852(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_853(GLenum target, GLenum pname, GLint param); -void GLAPIENTRY gl_dispatch_stub_854(GLenum target, GLintptr offset, GLsizeiptr size); -void GLAPIENTRY gl_dispatch_stub_912(GLenum target, GLenum pname, GLvoid ** params); -void GLAPIENTRY gl_dispatch_stub_913(GLenum target, GLsizei length, GLvoid * pointer); -void GLAPIENTRY gl_dispatch_stub_921(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); -void GLAPIENTRY gl_dispatch_stub_922(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_648(GLenum pname, GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_649(GLenum pname, GLint * params); +void GLAPIENTRY gl_dispatch_stub_650(GLenum pname, GLfloat param); +void GLAPIENTRY gl_dispatch_stub_651(GLenum pname, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_652(GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_653(GLenum pname, const GLint * params); +void GLAPIENTRY gl_dispatch_stub_654(GLclampf value, GLboolean invert); +void GLAPIENTRY gl_dispatch_stub_655(GLenum pattern); +void GLAPIENTRY gl_dispatch_stub_690(GLenum mode); +void GLAPIENTRY gl_dispatch_stub_732(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_733(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); +void GLAPIENTRY gl_dispatch_stub_734(GLsizei n, const GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_735(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_736(GLsizei n, GLuint * fences); +void GLAPIENTRY gl_dispatch_stub_737(GLuint fence, GLenum pname, GLint * params); +GLboolean GLAPIENTRY gl_dispatch_stub_738(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_739(GLuint fence, GLenum condition); +GLboolean GLAPIENTRY gl_dispatch_stub_740(GLuint fence); +void GLAPIENTRY gl_dispatch_stub_821(GLenum face); +void GLAPIENTRY gl_dispatch_stub_822(GLuint array); +void GLAPIENTRY gl_dispatch_stub_823(GLsizei n, const GLuint * arrays); +void GLAPIENTRY gl_dispatch_stub_824(GLsizei n, GLuint * arrays); +GLboolean GLAPIENTRY gl_dispatch_stub_825(GLuint array); +void GLAPIENTRY gl_dispatch_stub_834(GLclampd zmin, GLclampd zmax); +void GLAPIENTRY gl_dispatch_stub_835(GLenum modeRGB, GLenum modeA); +void GLAPIENTRY gl_dispatch_stub_853(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_854(GLenum target, GLenum pname, GLint param); +void GLAPIENTRY gl_dispatch_stub_855(GLenum target, GLintptr offset, GLsizeiptr size); +void GLAPIENTRY gl_dispatch_stub_913(GLenum target, GLenum pname, GLvoid ** params); +void GLAPIENTRY gl_dispatch_stub_914(GLenum target, GLsizei length, GLvoid * pointer); +void GLAPIENTRY gl_dispatch_stub_922(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); void GLAPIENTRY gl_dispatch_stub_923(GLenum target, GLuint index, GLsizei count, const GLfloat * params); -void GLAPIENTRY gl_dispatch_stub_924(GLuint id, GLenum pname, GLint64EXT * params); -void GLAPIENTRY gl_dispatch_stub_925(GLuint id, GLenum pname, GLuint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_924(GLenum target, GLuint index, GLsizei count, const GLfloat * params); +void GLAPIENTRY gl_dispatch_stub_925(GLuint id, GLenum pname, GLint64EXT * params); +void GLAPIENTRY gl_dispatch_stub_926(GLuint id, GLenum pname, GLuint64EXT * params); #endif /* defined(NEED_FUNCTION_POINTER) || defined(GLX_INDIRECT_RENDERING) */ static const glprocs_table_t static_functions[] = { @@ -2044,703 +2045,704 @@ static const glprocs_table_t static_functions[] = { NAME_FUNC_OFFSET( 9524, glIsSync, glIsSync, NULL, 591), NAME_FUNC_OFFSET( 9533, glWaitSync, glWaitSync, NULL, 592), NAME_FUNC_OFFSET( 9544, glDrawElementsBaseVertex, glDrawElementsBaseVertex, NULL, 593), - NAME_FUNC_OFFSET( 9569, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, 594), - NAME_FUNC_OFFSET( 9599, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, 595), - NAME_FUNC_OFFSET( 9629, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 596), - NAME_FUNC_OFFSET( 9657, glBlendEquationiARB, glBlendEquationiARB, NULL, 597), - NAME_FUNC_OFFSET( 9677, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 598), - NAME_FUNC_OFFSET( 9701, glBlendFunciARB, glBlendFunciARB, NULL, 599), - NAME_FUNC_OFFSET( 9717, glBindSampler, glBindSampler, NULL, 600), - NAME_FUNC_OFFSET( 9731, glDeleteSamplers, glDeleteSamplers, NULL, 601), - NAME_FUNC_OFFSET( 9748, glGenSamplers, glGenSamplers, NULL, 602), - NAME_FUNC_OFFSET( 9762, glGetSamplerParameterIiv, glGetSamplerParameterIiv, NULL, 603), - NAME_FUNC_OFFSET( 9787, glGetSamplerParameterIuiv, glGetSamplerParameterIuiv, NULL, 604), - NAME_FUNC_OFFSET( 9813, glGetSamplerParameterfv, glGetSamplerParameterfv, NULL, 605), - NAME_FUNC_OFFSET( 9837, glGetSamplerParameteriv, glGetSamplerParameteriv, NULL, 606), - NAME_FUNC_OFFSET( 9861, glIsSampler, glIsSampler, NULL, 607), - NAME_FUNC_OFFSET( 9873, glSamplerParameterIiv, glSamplerParameterIiv, NULL, 608), - NAME_FUNC_OFFSET( 9895, glSamplerParameterIuiv, glSamplerParameterIuiv, NULL, 609), - NAME_FUNC_OFFSET( 9918, glSamplerParameterf, glSamplerParameterf, NULL, 610), - NAME_FUNC_OFFSET( 9938, glSamplerParameterfv, glSamplerParameterfv, NULL, 611), - NAME_FUNC_OFFSET( 9959, glSamplerParameteri, glSamplerParameteri, NULL, 612), - NAME_FUNC_OFFSET( 9979, glSamplerParameteriv, glSamplerParameteriv, NULL, 613), - NAME_FUNC_OFFSET(10000, glBindTransformFeedback, glBindTransformFeedback, NULL, 614), - NAME_FUNC_OFFSET(10024, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, 615), - NAME_FUNC_OFFSET(10051, glDrawTransformFeedback, glDrawTransformFeedback, NULL, 616), - NAME_FUNC_OFFSET(10075, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, 617), - NAME_FUNC_OFFSET(10099, glIsTransformFeedback, glIsTransformFeedback, NULL, 618), - NAME_FUNC_OFFSET(10121, glPauseTransformFeedback, glPauseTransformFeedback, NULL, 619), - NAME_FUNC_OFFSET(10146, glResumeTransformFeedback, glResumeTransformFeedback, NULL, 620), - NAME_FUNC_OFFSET(10172, glClearDepthf, glClearDepthf, NULL, 621), - NAME_FUNC_OFFSET(10186, glDepthRangef, glDepthRangef, NULL, 622), - NAME_FUNC_OFFSET(10200, glGetShaderPrecisionFormat, glGetShaderPrecisionFormat, NULL, 623), - NAME_FUNC_OFFSET(10227, glReleaseShaderCompiler, glReleaseShaderCompiler, NULL, 624), - NAME_FUNC_OFFSET(10251, glShaderBinary, glShaderBinary, NULL, 625), - NAME_FUNC_OFFSET(10266, glGetGraphicsResetStatusARB, glGetGraphicsResetStatusARB, NULL, 626), - NAME_FUNC_OFFSET(10294, glGetnColorTableARB, glGetnColorTableARB, NULL, 627), - NAME_FUNC_OFFSET(10314, glGetnCompressedTexImageARB, glGetnCompressedTexImageARB, NULL, 628), - NAME_FUNC_OFFSET(10342, glGetnConvolutionFilterARB, glGetnConvolutionFilterARB, NULL, 629), - NAME_FUNC_OFFSET(10369, glGetnHistogramARB, glGetnHistogramARB, NULL, 630), - NAME_FUNC_OFFSET(10388, glGetnMapdvARB, glGetnMapdvARB, NULL, 631), - NAME_FUNC_OFFSET(10403, glGetnMapfvARB, glGetnMapfvARB, NULL, 632), - NAME_FUNC_OFFSET(10418, glGetnMapivARB, glGetnMapivARB, NULL, 633), - NAME_FUNC_OFFSET(10433, glGetnMinmaxARB, glGetnMinmaxARB, NULL, 634), - NAME_FUNC_OFFSET(10449, glGetnPixelMapfvARB, glGetnPixelMapfvARB, NULL, 635), - NAME_FUNC_OFFSET(10469, glGetnPixelMapuivARB, glGetnPixelMapuivARB, NULL, 636), - NAME_FUNC_OFFSET(10490, glGetnPixelMapusvARB, glGetnPixelMapusvARB, NULL, 637), - NAME_FUNC_OFFSET(10511, glGetnPolygonStippleARB, glGetnPolygonStippleARB, NULL, 638), - NAME_FUNC_OFFSET(10535, glGetnSeparableFilterARB, glGetnSeparableFilterARB, NULL, 639), - NAME_FUNC_OFFSET(10560, glGetnTexImageARB, glGetnTexImageARB, NULL, 640), - NAME_FUNC_OFFSET(10578, glGetnUniformdvARB, glGetnUniformdvARB, NULL, 641), - NAME_FUNC_OFFSET(10597, glGetnUniformfvARB, glGetnUniformfvARB, NULL, 642), - NAME_FUNC_OFFSET(10616, glGetnUniformivARB, glGetnUniformivARB, NULL, 643), - NAME_FUNC_OFFSET(10635, glGetnUniformuivARB, glGetnUniformuivARB, NULL, 644), - NAME_FUNC_OFFSET(10655, glReadnPixelsARB, glReadnPixelsARB, NULL, 645), - NAME_FUNC_OFFSET(10672, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 646), - NAME_FUNC_OFFSET(10691, gl_dispatch_stub_647, gl_dispatch_stub_647, NULL, 647), - NAME_FUNC_OFFSET(10723, gl_dispatch_stub_648, gl_dispatch_stub_648, NULL, 648), - NAME_FUNC_OFFSET(10755, gl_dispatch_stub_649, gl_dispatch_stub_649, NULL, 649), - NAME_FUNC_OFFSET(10783, gl_dispatch_stub_650, gl_dispatch_stub_650, NULL, 650), - NAME_FUNC_OFFSET(10812, gl_dispatch_stub_651, gl_dispatch_stub_651, NULL, 651), - NAME_FUNC_OFFSET(10840, gl_dispatch_stub_652, gl_dispatch_stub_652, NULL, 652), - NAME_FUNC_OFFSET(10869, gl_dispatch_stub_653, gl_dispatch_stub_653, NULL, 653), - NAME_FUNC_OFFSET(10886, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, 654), - NAME_FUNC_OFFSET(10906, glColorPointerEXT, glColorPointerEXT, NULL, 655), - NAME_FUNC_OFFSET(10924, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 656), - NAME_FUNC_OFFSET(10945, glIndexPointerEXT, glIndexPointerEXT, NULL, 657), - NAME_FUNC_OFFSET(10963, glNormalPointerEXT, glNormalPointerEXT, NULL, 658), - NAME_FUNC_OFFSET(10982, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 659), - NAME_FUNC_OFFSET(11003, glVertexPointerEXT, glVertexPointerEXT, NULL, 660), - NAME_FUNC_OFFSET(11022, glPointParameterfEXT, glPointParameterfEXT, NULL, 661), - NAME_FUNC_OFFSET(11043, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662), - NAME_FUNC_OFFSET(11065, glLockArraysEXT, glLockArraysEXT, NULL, 663), - NAME_FUNC_OFFSET(11081, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 664), - NAME_FUNC_OFFSET(11099, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 665), - NAME_FUNC_OFFSET(11121, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 666), - NAME_FUNC_OFFSET(11144, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 667), - NAME_FUNC_OFFSET(11166, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 668), - NAME_FUNC_OFFSET(11189, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 669), - NAME_FUNC_OFFSET(11211, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 670), - NAME_FUNC_OFFSET(11234, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 671), - NAME_FUNC_OFFSET(11256, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 672), - NAME_FUNC_OFFSET(11279, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 673), - NAME_FUNC_OFFSET(11301, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 674), - NAME_FUNC_OFFSET(11324, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 675), - NAME_FUNC_OFFSET(11347, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 676), - NAME_FUNC_OFFSET(11371, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 677), - NAME_FUNC_OFFSET(11394, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 678), - NAME_FUNC_OFFSET(11418, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 679), - NAME_FUNC_OFFSET(11441, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 680), - NAME_FUNC_OFFSET(11465, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 681), - NAME_FUNC_OFFSET(11492, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 682), - NAME_FUNC_OFFSET(11513, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 683), - NAME_FUNC_OFFSET(11536, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 684), - NAME_FUNC_OFFSET(11557, glFogCoorddEXT, glFogCoorddEXT, NULL, 685), - NAME_FUNC_OFFSET(11572, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 686), - NAME_FUNC_OFFSET(11588, glFogCoordfEXT, glFogCoordfEXT, NULL, 687), - NAME_FUNC_OFFSET(11603, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 688), - NAME_FUNC_OFFSET(11619, gl_dispatch_stub_689, gl_dispatch_stub_689, NULL, 689), - NAME_FUNC_OFFSET(11637, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 690), - NAME_FUNC_OFFSET(11660, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, 691), - NAME_FUNC_OFFSET(11686, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, 692), - NAME_FUNC_OFFSET(11707, glCombinerInputNV, glCombinerInputNV, NULL, 693), - NAME_FUNC_OFFSET(11725, glCombinerOutputNV, glCombinerOutputNV, NULL, 694), - NAME_FUNC_OFFSET(11744, glCombinerParameterfNV, glCombinerParameterfNV, NULL, 695), - NAME_FUNC_OFFSET(11767, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, 696), - NAME_FUNC_OFFSET(11791, glCombinerParameteriNV, glCombinerParameteriNV, NULL, 697), - NAME_FUNC_OFFSET(11814, glCombinerParameterivNV, glCombinerParameterivNV, NULL, 698), - NAME_FUNC_OFFSET(11838, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, 699), - NAME_FUNC_OFFSET(11861, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, 700), - NAME_FUNC_OFFSET(11893, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, 701), - NAME_FUNC_OFFSET(11925, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, 702), - NAME_FUNC_OFFSET(11958, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, 703), - NAME_FUNC_OFFSET(11991, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, 704), - NAME_FUNC_OFFSET(12028, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, 705), - NAME_FUNC_OFFSET(12065, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 706), - NAME_FUNC_OFFSET(12085, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 707), - NAME_FUNC_OFFSET(12103, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 708), - NAME_FUNC_OFFSET(12122, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 709), - NAME_FUNC_OFFSET(12140, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 710), - NAME_FUNC_OFFSET(12159, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 711), - NAME_FUNC_OFFSET(12177, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 712), - NAME_FUNC_OFFSET(12196, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 713), - NAME_FUNC_OFFSET(12214, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 714), - NAME_FUNC_OFFSET(12233, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 715), - NAME_FUNC_OFFSET(12251, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 716), - NAME_FUNC_OFFSET(12270, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 717), - NAME_FUNC_OFFSET(12288, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 718), - NAME_FUNC_OFFSET(12307, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 719), - NAME_FUNC_OFFSET(12325, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 720), - NAME_FUNC_OFFSET(12344, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 721), - NAME_FUNC_OFFSET(12362, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 722), - NAME_FUNC_OFFSET(12381, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 723), - NAME_FUNC_OFFSET(12399, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 724), - NAME_FUNC_OFFSET(12418, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 725), - NAME_FUNC_OFFSET(12436, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 726), - NAME_FUNC_OFFSET(12455, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 727), - NAME_FUNC_OFFSET(12473, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 728), - NAME_FUNC_OFFSET(12492, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 729), - NAME_FUNC_OFFSET(12510, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 730), - NAME_FUNC_OFFSET(12529, gl_dispatch_stub_731, gl_dispatch_stub_731, NULL, 731), - NAME_FUNC_OFFSET(12554, gl_dispatch_stub_732, gl_dispatch_stub_732, NULL, 732), - NAME_FUNC_OFFSET(12581, gl_dispatch_stub_733, gl_dispatch_stub_733, NULL, 733), - NAME_FUNC_OFFSET(12598, gl_dispatch_stub_734, gl_dispatch_stub_734, NULL, 734), - NAME_FUNC_OFFSET(12614, gl_dispatch_stub_735, gl_dispatch_stub_735, NULL, 735), - NAME_FUNC_OFFSET(12628, gl_dispatch_stub_736, gl_dispatch_stub_736, NULL, 736), - NAME_FUNC_OFFSET(12643, gl_dispatch_stub_737, gl_dispatch_stub_737, NULL, 737), - NAME_FUNC_OFFSET(12655, gl_dispatch_stub_738, gl_dispatch_stub_738, NULL, 738), - NAME_FUNC_OFFSET(12668, gl_dispatch_stub_739, gl_dispatch_stub_739, NULL, 739), - NAME_FUNC_OFFSET(12682, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 740), - NAME_FUNC_OFFSET(12706, glBindProgramNV, glBindProgramNV, NULL, 741), - NAME_FUNC_OFFSET(12722, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 742), - NAME_FUNC_OFFSET(12741, glExecuteProgramNV, glExecuteProgramNV, NULL, 743), - NAME_FUNC_OFFSET(12760, glGenProgramsNV, glGenProgramsNV, NULL, 744), - NAME_FUNC_OFFSET(12776, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 745), - NAME_FUNC_OFFSET(12802, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 746), - NAME_FUNC_OFFSET(12828, glGetProgramStringNV, glGetProgramStringNV, NULL, 747), - NAME_FUNC_OFFSET(12849, glGetProgramivNV, glGetProgramivNV, NULL, 748), - NAME_FUNC_OFFSET(12866, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 749), - NAME_FUNC_OFFSET(12887, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 750), - NAME_FUNC_OFFSET(12915, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 751), - NAME_FUNC_OFFSET(12937, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 752), - NAME_FUNC_OFFSET(12959, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 753), - NAME_FUNC_OFFSET(12981, glIsProgramNV, glIsProgramNV, NULL, 754), - NAME_FUNC_OFFSET(12995, glLoadProgramNV, glLoadProgramNV, NULL, 755), - NAME_FUNC_OFFSET(13011, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 756), - NAME_FUNC_OFFSET(13036, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 757), - NAME_FUNC_OFFSET(13061, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 758), - NAME_FUNC_OFFSET(13089, glTrackMatrixNV, glTrackMatrixNV, NULL, 759), - NAME_FUNC_OFFSET(13105, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 760), - NAME_FUNC_OFFSET(13124, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 761), - NAME_FUNC_OFFSET(13144, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 762), - NAME_FUNC_OFFSET(13163, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 763), - NAME_FUNC_OFFSET(13183, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 764), - NAME_FUNC_OFFSET(13202, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 765), - NAME_FUNC_OFFSET(13222, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 766), - NAME_FUNC_OFFSET(13241, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 767), - NAME_FUNC_OFFSET(13261, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 768), - NAME_FUNC_OFFSET(13280, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 769), - NAME_FUNC_OFFSET(13300, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 770), - NAME_FUNC_OFFSET(13319, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 771), - NAME_FUNC_OFFSET(13339, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 772), - NAME_FUNC_OFFSET(13358, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 773), - NAME_FUNC_OFFSET(13378, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 774), - NAME_FUNC_OFFSET(13397, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 775), - NAME_FUNC_OFFSET(13417, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 776), - NAME_FUNC_OFFSET(13436, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 777), - NAME_FUNC_OFFSET(13456, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 778), - NAME_FUNC_OFFSET(13475, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 779), - NAME_FUNC_OFFSET(13495, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 780), - NAME_FUNC_OFFSET(13514, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 781), - NAME_FUNC_OFFSET(13534, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 782), - NAME_FUNC_OFFSET(13553, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 783), - NAME_FUNC_OFFSET(13573, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 784), - NAME_FUNC_OFFSET(13593, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 785), - NAME_FUNC_OFFSET(13614, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 786), - NAME_FUNC_OFFSET(13638, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 787), - NAME_FUNC_OFFSET(13659, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 788), - NAME_FUNC_OFFSET(13680, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 789), - NAME_FUNC_OFFSET(13701, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 790), - NAME_FUNC_OFFSET(13722, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 791), - NAME_FUNC_OFFSET(13743, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 792), - NAME_FUNC_OFFSET(13764, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 793), - NAME_FUNC_OFFSET(13785, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 794), - NAME_FUNC_OFFSET(13806, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 795), - NAME_FUNC_OFFSET(13827, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 796), - NAME_FUNC_OFFSET(13848, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 797), - NAME_FUNC_OFFSET(13869, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 798), - NAME_FUNC_OFFSET(13890, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 799), - NAME_FUNC_OFFSET(13912, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 800), - NAME_FUNC_OFFSET(13939, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 801), - NAME_FUNC_OFFSET(13966, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 802), - NAME_FUNC_OFFSET(13990, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 803), - NAME_FUNC_OFFSET(14014, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 804), - NAME_FUNC_OFFSET(14036, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 805), - NAME_FUNC_OFFSET(14058, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 806), - NAME_FUNC_OFFSET(14080, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 807), - NAME_FUNC_OFFSET(14105, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 808), - NAME_FUNC_OFFSET(14129, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 809), - NAME_FUNC_OFFSET(14151, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 810), - NAME_FUNC_OFFSET(14173, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 811), - NAME_FUNC_OFFSET(14195, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 812), - NAME_FUNC_OFFSET(14221, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 813), - NAME_FUNC_OFFSET(14244, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 814), - NAME_FUNC_OFFSET(14268, glPassTexCoordATI, glPassTexCoordATI, NULL, 815), - NAME_FUNC_OFFSET(14286, glSampleMapATI, glSampleMapATI, NULL, 816), - NAME_FUNC_OFFSET(14301, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 817), - NAME_FUNC_OFFSET(14332, glPointParameteriNV, glPointParameteriNV, NULL, 818), - NAME_FUNC_OFFSET(14352, glPointParameterivNV, glPointParameterivNV, NULL, 819), - NAME_FUNC_OFFSET(14373, gl_dispatch_stub_820, gl_dispatch_stub_820, NULL, 820), - NAME_FUNC_OFFSET(14396, gl_dispatch_stub_821, gl_dispatch_stub_821, NULL, 821), - NAME_FUNC_OFFSET(14419, gl_dispatch_stub_822, gl_dispatch_stub_822, NULL, 822), - NAME_FUNC_OFFSET(14445, gl_dispatch_stub_823, gl_dispatch_stub_823, NULL, 823), - NAME_FUNC_OFFSET(14468, gl_dispatch_stub_824, gl_dispatch_stub_824, NULL, 824), - NAME_FUNC_OFFSET(14489, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 825), - NAME_FUNC_OFFSET(14520, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 826), - NAME_FUNC_OFFSET(14551, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 827), - NAME_FUNC_OFFSET(14579, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 828), - NAME_FUNC_OFFSET(14608, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 829), - NAME_FUNC_OFFSET(14636, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 830), - NAME_FUNC_OFFSET(14665, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 831), - NAME_FUNC_OFFSET(14691, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 832), - NAME_FUNC_OFFSET(14712, gl_dispatch_stub_833, gl_dispatch_stub_833, NULL, 833), - NAME_FUNC_OFFSET(14729, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834), - NAME_FUNC_OFFSET(14756, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 835), - NAME_FUNC_OFFSET(14777, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 836), - NAME_FUNC_OFFSET(14799, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 837), - NAME_FUNC_OFFSET(14827, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 838), - NAME_FUNC_OFFSET(14851, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 839), - NAME_FUNC_OFFSET(14876, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 840), - NAME_FUNC_OFFSET(14905, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 841), - NAME_FUNC_OFFSET(14931, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 842), - NAME_FUNC_OFFSET(14957, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 843), - NAME_FUNC_OFFSET(14983, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 844), - NAME_FUNC_OFFSET(15004, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 845), - NAME_FUNC_OFFSET(15026, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 846), - NAME_FUNC_OFFSET(15046, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 847), - NAME_FUNC_OFFSET(15087, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 848), - NAME_FUNC_OFFSET(15119, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 849), - NAME_FUNC_OFFSET(15138, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 850), - NAME_FUNC_OFFSET(15158, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 851), - NAME_FUNC_OFFSET(15183, gl_dispatch_stub_852, gl_dispatch_stub_852, NULL, 852), - NAME_FUNC_OFFSET(15204, gl_dispatch_stub_853, gl_dispatch_stub_853, NULL, 853), - NAME_FUNC_OFFSET(15228, gl_dispatch_stub_854, gl_dispatch_stub_854, NULL, 854), - NAME_FUNC_OFFSET(15258, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 855), - NAME_FUNC_OFFSET(15284, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 856), - NAME_FUNC_OFFSET(15309, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 857), - NAME_FUNC_OFFSET(15328, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 858), - NAME_FUNC_OFFSET(15352, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 859), - NAME_FUNC_OFFSET(15377, glUniform1uiEXT, glUniform1uiEXT, NULL, 860), - NAME_FUNC_OFFSET(15393, glUniform1uivEXT, glUniform1uivEXT, NULL, 861), - NAME_FUNC_OFFSET(15410, glUniform2uiEXT, glUniform2uiEXT, NULL, 862), - NAME_FUNC_OFFSET(15426, glUniform2uivEXT, glUniform2uivEXT, NULL, 863), - NAME_FUNC_OFFSET(15443, glUniform3uiEXT, glUniform3uiEXT, NULL, 864), - NAME_FUNC_OFFSET(15459, glUniform3uivEXT, glUniform3uivEXT, NULL, 865), - NAME_FUNC_OFFSET(15476, glUniform4uiEXT, glUniform4uiEXT, NULL, 866), - NAME_FUNC_OFFSET(15492, glUniform4uivEXT, glUniform4uivEXT, NULL, 867), - NAME_FUNC_OFFSET(15509, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 868), - NAME_FUNC_OFFSET(15530, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 869), - NAME_FUNC_OFFSET(15552, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 870), - NAME_FUNC_OFFSET(15574, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 871), - NAME_FUNC_OFFSET(15597, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 872), - NAME_FUNC_OFFSET(15618, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 873), - NAME_FUNC_OFFSET(15640, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 874), - NAME_FUNC_OFFSET(15662, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 875), - NAME_FUNC_OFFSET(15685, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 876), - NAME_FUNC_OFFSET(15706, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 877), - NAME_FUNC_OFFSET(15728, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 878), - NAME_FUNC_OFFSET(15750, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 879), - NAME_FUNC_OFFSET(15773, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 880), - NAME_FUNC_OFFSET(15795, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 881), - NAME_FUNC_OFFSET(15816, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 882), - NAME_FUNC_OFFSET(15838, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 883), - NAME_FUNC_OFFSET(15860, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 884), - NAME_FUNC_OFFSET(15883, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 885), - NAME_FUNC_OFFSET(15905, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 886), - NAME_FUNC_OFFSET(15928, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 887), - NAME_FUNC_OFFSET(15951, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 888), - NAME_FUNC_OFFSET(15977, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 889), - NAME_FUNC_OFFSET(16006, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 890), - NAME_FUNC_OFFSET(16028, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 891), - NAME_FUNC_OFFSET(16048, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 892), - NAME_FUNC_OFFSET(16067, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 893), - NAME_FUNC_OFFSET(16091, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 894), - NAME_FUNC_OFFSET(16115, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 895), - NAME_FUNC_OFFSET(16137, glClearColorIiEXT, glClearColorIiEXT, NULL, 896), - NAME_FUNC_OFFSET(16155, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 897), - NAME_FUNC_OFFSET(16174, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 898), - NAME_FUNC_OFFSET(16198, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 899), - NAME_FUNC_OFFSET(16223, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 900), - NAME_FUNC_OFFSET(16244, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 901), - NAME_FUNC_OFFSET(16266, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 902), - NAME_FUNC_OFFSET(16293, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 903), - NAME_FUNC_OFFSET(16318, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 904), - NAME_FUNC_OFFSET(16346, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 905), - NAME_FUNC_OFFSET(16366, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 906), - NAME_FUNC_OFFSET(16388, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 907), - NAME_FUNC_OFFSET(16409, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 908), - NAME_FUNC_OFFSET(16435, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 909), - NAME_FUNC_OFFSET(16468, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 910), - NAME_FUNC_OFFSET(16499, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 911), - NAME_FUNC_OFFSET(16520, gl_dispatch_stub_912, gl_dispatch_stub_912, NULL, 912), - NAME_FUNC_OFFSET(16551, gl_dispatch_stub_913, gl_dispatch_stub_913, NULL, 913), - NAME_FUNC_OFFSET(16571, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 914), - NAME_FUNC_OFFSET(16599, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 915), - NAME_FUNC_OFFSET(16622, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 916), - NAME_FUNC_OFFSET(16647, glActiveProgramEXT, glActiveProgramEXT, NULL, 917), - NAME_FUNC_OFFSET(16666, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 918), - NAME_FUNC_OFFSET(16691, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 919), - NAME_FUNC_OFFSET(16713, glTextureBarrierNV, glTextureBarrierNV, NULL, 920), - NAME_FUNC_OFFSET(16732, gl_dispatch_stub_921, gl_dispatch_stub_921, NULL, 921), - NAME_FUNC_OFFSET(16757, gl_dispatch_stub_922, gl_dispatch_stub_922, NULL, 922), - NAME_FUNC_OFFSET(16786, gl_dispatch_stub_923, gl_dispatch_stub_923, NULL, 923), - NAME_FUNC_OFFSET(16817, gl_dispatch_stub_924, gl_dispatch_stub_924, NULL, 924), - NAME_FUNC_OFFSET(16841, gl_dispatch_stub_925, gl_dispatch_stub_925, NULL, 925), - NAME_FUNC_OFFSET(16866, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 926), - NAME_FUNC_OFFSET(16905, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 927), - NAME_FUNC_OFFSET(16934, glArrayElement, glArrayElement, NULL, 306), - NAME_FUNC_OFFSET(16952, glBindTexture, glBindTexture, NULL, 307), - NAME_FUNC_OFFSET(16969, glDrawArrays, glDrawArrays, NULL, 310), - NAME_FUNC_OFFSET(16985, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322), - NAME_FUNC_OFFSET(17010, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), - NAME_FUNC_OFFSET(17030, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), - NAME_FUNC_OFFSET(17050, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), - NAME_FUNC_OFFSET(17073, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), - NAME_FUNC_OFFSET(17096, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327), - NAME_FUNC_OFFSET(17116, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328), - NAME_FUNC_OFFSET(17133, glGetPointerv, glGetPointerv, NULL, 329), - NAME_FUNC_OFFSET(17150, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), - NAME_FUNC_OFFSET(17165, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), - NAME_FUNC_OFFSET(17189, glTexSubImage1D, glTexSubImage1D, NULL, 332), - NAME_FUNC_OFFSET(17208, glTexSubImage2D, glTexSubImage2D, NULL, 333), - NAME_FUNC_OFFSET(17227, glBlendColor, glBlendColor, NULL, 336), - NAME_FUNC_OFFSET(17243, glBlendEquation, glBlendEquation, NULL, 337), - NAME_FUNC_OFFSET(17262, glDrawRangeElements, glDrawRangeElements, NULL, 338), - NAME_FUNC_OFFSET(17285, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(17301, glColorTable, glColorTable, NULL, 339), - NAME_FUNC_OFFSET(17317, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), - NAME_FUNC_OFFSET(17344, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), - NAME_FUNC_OFFSET(17371, glCopyColorTable, glCopyColorTable, NULL, 342), - NAME_FUNC_OFFSET(17391, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(17410, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), - NAME_FUNC_OFFSET(17429, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(17459, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), - NAME_FUNC_OFFSET(17489, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(17519, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), - NAME_FUNC_OFFSET(17549, glColorSubTable, glColorSubTable, NULL, 346), - NAME_FUNC_OFFSET(17568, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), - NAME_FUNC_OFFSET(17591, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), - NAME_FUNC_OFFSET(17616, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), - NAME_FUNC_OFFSET(17641, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), - NAME_FUNC_OFFSET(17668, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), - NAME_FUNC_OFFSET(17696, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), - NAME_FUNC_OFFSET(17723, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), - NAME_FUNC_OFFSET(17751, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), - NAME_FUNC_OFFSET(17780, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), - NAME_FUNC_OFFSET(17809, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356), - NAME_FUNC_OFFSET(17835, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357), - NAME_FUNC_OFFSET(17866, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358), - NAME_FUNC_OFFSET(17897, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359), - NAME_FUNC_OFFSET(17921, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), - NAME_FUNC_OFFSET(17944, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361), - NAME_FUNC_OFFSET(17962, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362), - NAME_FUNC_OFFSET(17991, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363), - NAME_FUNC_OFFSET(18020, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364), - NAME_FUNC_OFFSET(18035, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365), - NAME_FUNC_OFFSET(18061, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366), - NAME_FUNC_OFFSET(18087, glHistogram, glHistogram, NULL, 367), - NAME_FUNC_OFFSET(18102, glMinmax, glMinmax, NULL, 368), - NAME_FUNC_OFFSET(18114, glResetHistogram, glResetHistogram, NULL, 369), - NAME_FUNC_OFFSET(18134, glResetMinmax, glResetMinmax, NULL, 370), - NAME_FUNC_OFFSET(18151, glTexImage3D, glTexImage3D, NULL, 371), - NAME_FUNC_OFFSET(18167, glTexSubImage3D, glTexSubImage3D, NULL, 372), - NAME_FUNC_OFFSET(18186, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), - NAME_FUNC_OFFSET(18209, glActiveTextureARB, glActiveTextureARB, NULL, 374), - NAME_FUNC_OFFSET(18225, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), - NAME_FUNC_OFFSET(18247, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), - NAME_FUNC_OFFSET(18265, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), - NAME_FUNC_OFFSET(18284, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), - NAME_FUNC_OFFSET(18302, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), - NAME_FUNC_OFFSET(18321, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), - NAME_FUNC_OFFSET(18339, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), - NAME_FUNC_OFFSET(18358, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), - NAME_FUNC_OFFSET(18376, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), - NAME_FUNC_OFFSET(18395, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), - NAME_FUNC_OFFSET(18413, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), - NAME_FUNC_OFFSET(18432, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), - NAME_FUNC_OFFSET(18450, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), - NAME_FUNC_OFFSET(18469, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), - NAME_FUNC_OFFSET(18487, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), - NAME_FUNC_OFFSET(18506, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), - NAME_FUNC_OFFSET(18524, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), - NAME_FUNC_OFFSET(18543, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), - NAME_FUNC_OFFSET(18561, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), - NAME_FUNC_OFFSET(18580, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), - NAME_FUNC_OFFSET(18598, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), - NAME_FUNC_OFFSET(18617, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), - NAME_FUNC_OFFSET(18635, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), - NAME_FUNC_OFFSET(18654, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), - NAME_FUNC_OFFSET(18672, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), - NAME_FUNC_OFFSET(18691, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), - NAME_FUNC_OFFSET(18709, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), - NAME_FUNC_OFFSET(18728, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), - NAME_FUNC_OFFSET(18746, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), - NAME_FUNC_OFFSET(18765, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), - NAME_FUNC_OFFSET(18783, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), - NAME_FUNC_OFFSET(18802, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), - NAME_FUNC_OFFSET(18820, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), - NAME_FUNC_OFFSET(18839, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), - NAME_FUNC_OFFSET(18862, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 441), - NAME_FUNC_OFFSET(18885, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 442), - NAME_FUNC_OFFSET(18908, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 443), - NAME_FUNC_OFFSET(18931, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 444), - NAME_FUNC_OFFSET(18954, glSampleCoverageARB, glSampleCoverageARB, NULL, 445), - NAME_FUNC_OFFSET(18971, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 446), - NAME_FUNC_OFFSET(18994, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 447), - NAME_FUNC_OFFSET(19017, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 448), - NAME_FUNC_OFFSET(19040, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 449), - NAME_FUNC_OFFSET(19066, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 450), - NAME_FUNC_OFFSET(19092, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 451), - NAME_FUNC_OFFSET(19118, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 452), - NAME_FUNC_OFFSET(19142, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 453), - NAME_FUNC_OFFSET(19169, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 454), - NAME_FUNC_OFFSET(19195, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 461), - NAME_FUNC_OFFSET(19215, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 462), - NAME_FUNC_OFFSET(19235, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 463), - NAME_FUNC_OFFSET(19255, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 464), - NAME_FUNC_OFFSET(19278, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 465), - NAME_FUNC_OFFSET(19302, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 466), - NAME_FUNC_OFFSET(19325, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 467), - NAME_FUNC_OFFSET(19349, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 473), - NAME_FUNC_OFFSET(19366, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 474), - NAME_FUNC_OFFSET(19384, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 475), - NAME_FUNC_OFFSET(19401, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 476), - NAME_FUNC_OFFSET(19419, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 477), - NAME_FUNC_OFFSET(19436, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 478), - NAME_FUNC_OFFSET(19454, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 479), - NAME_FUNC_OFFSET(19471, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 480), - NAME_FUNC_OFFSET(19489, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 481), - NAME_FUNC_OFFSET(19506, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 482), - NAME_FUNC_OFFSET(19524, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 483), - NAME_FUNC_OFFSET(19541, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 484), - NAME_FUNC_OFFSET(19559, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 485), - NAME_FUNC_OFFSET(19576, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 486), - NAME_FUNC_OFFSET(19594, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 487), - NAME_FUNC_OFFSET(19611, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 488), - NAME_FUNC_OFFSET(19629, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 489), - NAME_FUNC_OFFSET(19646, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 490), - NAME_FUNC_OFFSET(19664, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 491), - NAME_FUNC_OFFSET(19683, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 492), - NAME_FUNC_OFFSET(19702, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 493), - NAME_FUNC_OFFSET(19721, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 494), - NAME_FUNC_OFFSET(19740, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 495), - NAME_FUNC_OFFSET(19760, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 496), - NAME_FUNC_OFFSET(19780, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 497), - NAME_FUNC_OFFSET(19800, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 498), - NAME_FUNC_OFFSET(19818, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 499), - NAME_FUNC_OFFSET(19835, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 500), - NAME_FUNC_OFFSET(19853, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 501), - NAME_FUNC_OFFSET(19870, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 502), - NAME_FUNC_OFFSET(19888, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 503), - NAME_FUNC_OFFSET(19906, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 504), - NAME_FUNC_OFFSET(19923, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 505), - NAME_FUNC_OFFSET(19941, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 506), - NAME_FUNC_OFFSET(19960, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 507), - NAME_FUNC_OFFSET(19979, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 508), - NAME_FUNC_OFFSET(19998, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 509), - NAME_FUNC_OFFSET(20020, glBindBufferARB, glBindBufferARB, NULL, 510), - NAME_FUNC_OFFSET(20033, glBufferDataARB, glBufferDataARB, NULL, 511), - NAME_FUNC_OFFSET(20046, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), - NAME_FUNC_OFFSET(20062, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), - NAME_FUNC_OFFSET(20078, glGenBuffersARB, glGenBuffersARB, NULL, 514), - NAME_FUNC_OFFSET(20091, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 515), - NAME_FUNC_OFFSET(20114, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 516), - NAME_FUNC_OFFSET(20134, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 517), - NAME_FUNC_OFFSET(20153, glIsBufferARB, glIsBufferARB, NULL, 518), - NAME_FUNC_OFFSET(20164, glMapBufferARB, glMapBufferARB, NULL, 519), - NAME_FUNC_OFFSET(20176, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), - NAME_FUNC_OFFSET(20190, glBeginQueryARB, glBeginQueryARB, NULL, 521), - NAME_FUNC_OFFSET(20203, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), - NAME_FUNC_OFFSET(20219, glEndQueryARB, glEndQueryARB, NULL, 523), - NAME_FUNC_OFFSET(20230, glGenQueriesARB, glGenQueriesARB, NULL, 524), - NAME_FUNC_OFFSET(20243, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 525), - NAME_FUNC_OFFSET(20262, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 526), - NAME_FUNC_OFFSET(20282, glGetQueryivARB, glGetQueryivARB, NULL, 527), - NAME_FUNC_OFFSET(20295, glIsQueryARB, glIsQueryARB, NULL, 528), - NAME_FUNC_OFFSET(20305, glCompileShaderARB, glCompileShaderARB, NULL, 530), - NAME_FUNC_OFFSET(20321, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 535), - NAME_FUNC_OFFSET(20340, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 541), - NAME_FUNC_OFFSET(20358, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 542), - NAME_FUNC_OFFSET(20379, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), - NAME_FUNC_OFFSET(20394, glGetUniformivARB, glGetUniformivARB, NULL, 544), - NAME_FUNC_OFFSET(20409, glLinkProgramARB, glLinkProgramARB, NULL, 545), - NAME_FUNC_OFFSET(20423, glShaderSourceARB, glShaderSourceARB, NULL, 546), - NAME_FUNC_OFFSET(20438, glUniform1fARB, glUniform1fARB, NULL, 547), - NAME_FUNC_OFFSET(20450, glUniform1fvARB, glUniform1fvARB, NULL, 548), - NAME_FUNC_OFFSET(20463, glUniform1iARB, glUniform1iARB, NULL, 549), - NAME_FUNC_OFFSET(20475, glUniform1ivARB, glUniform1ivARB, NULL, 550), - NAME_FUNC_OFFSET(20488, glUniform2fARB, glUniform2fARB, NULL, 551), - NAME_FUNC_OFFSET(20500, glUniform2fvARB, glUniform2fvARB, NULL, 552), - NAME_FUNC_OFFSET(20513, glUniform2iARB, glUniform2iARB, NULL, 553), - NAME_FUNC_OFFSET(20525, glUniform2ivARB, glUniform2ivARB, NULL, 554), - NAME_FUNC_OFFSET(20538, glUniform3fARB, glUniform3fARB, NULL, 555), - NAME_FUNC_OFFSET(20550, glUniform3fvARB, glUniform3fvARB, NULL, 556), - NAME_FUNC_OFFSET(20563, glUniform3iARB, glUniform3iARB, NULL, 557), - NAME_FUNC_OFFSET(20575, glUniform3ivARB, glUniform3ivARB, NULL, 558), - NAME_FUNC_OFFSET(20588, glUniform4fARB, glUniform4fARB, NULL, 559), - NAME_FUNC_OFFSET(20600, glUniform4fvARB, glUniform4fvARB, NULL, 560), - NAME_FUNC_OFFSET(20613, glUniform4iARB, glUniform4iARB, NULL, 561), - NAME_FUNC_OFFSET(20625, glUniform4ivARB, glUniform4ivARB, NULL, 562), - NAME_FUNC_OFFSET(20638, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 563), - NAME_FUNC_OFFSET(20657, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 564), - NAME_FUNC_OFFSET(20676, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 565), - NAME_FUNC_OFFSET(20695, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 566), - NAME_FUNC_OFFSET(20708, glValidateProgramARB, glValidateProgramARB, NULL, 567), - NAME_FUNC_OFFSET(20726, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 568), - NAME_FUNC_OFFSET(20747, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 569), - NAME_FUNC_OFFSET(20765, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 570), - NAME_FUNC_OFFSET(20785, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(20799, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), - NAME_FUNC_OFFSET(20816, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), - NAME_FUNC_OFFSET(20841, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), - NAME_FUNC_OFFSET(20863, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), - NAME_FUNC_OFFSET(20890, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), - NAME_FUNC_OFFSET(20914, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 575), - NAME_FUNC_OFFSET(20950, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 596), - NAME_FUNC_OFFSET(20984, glBlendEquationiARB, glBlendEquationiARB, NULL, 597), - NAME_FUNC_OFFSET(21010, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 598), - NAME_FUNC_OFFSET(21040, glBlendFunciARB, glBlendFunciARB, NULL, 599), - NAME_FUNC_OFFSET(21062, gl_dispatch_stub_653, gl_dispatch_stub_653, NULL, 653), - NAME_FUNC_OFFSET(21078, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, 654), - NAME_FUNC_OFFSET(21097, glPointParameterfEXT, glPointParameterfEXT, NULL, 661), - NAME_FUNC_OFFSET(21115, glPointParameterfEXT, glPointParameterfEXT, NULL, 661), - NAME_FUNC_OFFSET(21136, glPointParameterfEXT, glPointParameterfEXT, NULL, 661), - NAME_FUNC_OFFSET(21158, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662), - NAME_FUNC_OFFSET(21177, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662), - NAME_FUNC_OFFSET(21199, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 662), - NAME_FUNC_OFFSET(21222, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 665), - NAME_FUNC_OFFSET(21241, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 666), - NAME_FUNC_OFFSET(21261, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 667), - NAME_FUNC_OFFSET(21280, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 668), - NAME_FUNC_OFFSET(21300, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 669), - NAME_FUNC_OFFSET(21319, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 670), - NAME_FUNC_OFFSET(21339, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 671), - NAME_FUNC_OFFSET(21358, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 672), - NAME_FUNC_OFFSET(21378, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 673), - NAME_FUNC_OFFSET(21397, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 674), - NAME_FUNC_OFFSET(21417, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 675), - NAME_FUNC_OFFSET(21437, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 676), - NAME_FUNC_OFFSET(21458, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 677), - NAME_FUNC_OFFSET(21478, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 678), - NAME_FUNC_OFFSET(21499, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 679), - NAME_FUNC_OFFSET(21519, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 680), - NAME_FUNC_OFFSET(21540, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 681), - NAME_FUNC_OFFSET(21564, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 682), - NAME_FUNC_OFFSET(21582, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 683), - NAME_FUNC_OFFSET(21602, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 684), - NAME_FUNC_OFFSET(21620, glFogCoorddEXT, glFogCoorddEXT, NULL, 685), - NAME_FUNC_OFFSET(21632, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 686), - NAME_FUNC_OFFSET(21645, glFogCoordfEXT, glFogCoordfEXT, NULL, 687), - NAME_FUNC_OFFSET(21657, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 688), - NAME_FUNC_OFFSET(21670, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 690), - NAME_FUNC_OFFSET(21690, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 690), - NAME_FUNC_OFFSET(21714, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 707), - NAME_FUNC_OFFSET(21728, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 707), - NAME_FUNC_OFFSET(21745, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 708), - NAME_FUNC_OFFSET(21760, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 708), - NAME_FUNC_OFFSET(21778, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 709), - NAME_FUNC_OFFSET(21792, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 709), - NAME_FUNC_OFFSET(21809, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 710), - NAME_FUNC_OFFSET(21824, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 710), - NAME_FUNC_OFFSET(21842, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 711), - NAME_FUNC_OFFSET(21856, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 711), - NAME_FUNC_OFFSET(21873, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 712), - NAME_FUNC_OFFSET(21888, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 712), - NAME_FUNC_OFFSET(21906, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 713), - NAME_FUNC_OFFSET(21920, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 713), - NAME_FUNC_OFFSET(21937, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 714), - NAME_FUNC_OFFSET(21952, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 714), - NAME_FUNC_OFFSET(21970, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 715), - NAME_FUNC_OFFSET(21984, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 715), - NAME_FUNC_OFFSET(22001, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 716), - NAME_FUNC_OFFSET(22016, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 716), - NAME_FUNC_OFFSET(22034, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 717), - NAME_FUNC_OFFSET(22048, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 717), - NAME_FUNC_OFFSET(22065, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 718), - NAME_FUNC_OFFSET(22080, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 718), - NAME_FUNC_OFFSET(22098, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 719), - NAME_FUNC_OFFSET(22112, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 719), - NAME_FUNC_OFFSET(22129, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 720), - NAME_FUNC_OFFSET(22144, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 720), - NAME_FUNC_OFFSET(22162, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 721), - NAME_FUNC_OFFSET(22176, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 721), - NAME_FUNC_OFFSET(22193, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 722), - NAME_FUNC_OFFSET(22208, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 722), - NAME_FUNC_OFFSET(22226, glBindProgramNV, glBindProgramNV, NULL, 741), - NAME_FUNC_OFFSET(22243, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 742), - NAME_FUNC_OFFSET(22263, glGenProgramsNV, glGenProgramsNV, NULL, 744), - NAME_FUNC_OFFSET(22280, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 750), - NAME_FUNC_OFFSET(22306, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 750), - NAME_FUNC_OFFSET(22335, glIsProgramNV, glIsProgramNV, NULL, 754), - NAME_FUNC_OFFSET(22350, glPointParameteriNV, glPointParameteriNV, NULL, 818), - NAME_FUNC_OFFSET(22368, glPointParameterivNV, glPointParameterivNV, NULL, 819), - NAME_FUNC_OFFSET(22387, gl_dispatch_stub_822, gl_dispatch_stub_822, NULL, 822), - NAME_FUNC_OFFSET(22408, gl_dispatch_stub_824, gl_dispatch_stub_824, NULL, 824), - NAME_FUNC_OFFSET(22424, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 831), - NAME_FUNC_OFFSET(22448, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834), - NAME_FUNC_OFFSET(22472, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834), - NAME_FUNC_OFFSET(22499, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 835), - NAME_FUNC_OFFSET(22517, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 836), - NAME_FUNC_OFFSET(22536, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 837), - NAME_FUNC_OFFSET(22561, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 838), - NAME_FUNC_OFFSET(22582, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 839), - NAME_FUNC_OFFSET(22604, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 840), - NAME_FUNC_OFFSET(22630, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 841), - NAME_FUNC_OFFSET(22653, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 842), - NAME_FUNC_OFFSET(22676, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 843), - NAME_FUNC_OFFSET(22699, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 844), - NAME_FUNC_OFFSET(22717, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 845), - NAME_FUNC_OFFSET(22736, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 846), - NAME_FUNC_OFFSET(22753, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 847), - NAME_FUNC_OFFSET(22791, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 848), - NAME_FUNC_OFFSET(22820, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 849), - NAME_FUNC_OFFSET(22836, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 850), - NAME_FUNC_OFFSET(22853, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 851), - NAME_FUNC_OFFSET(22875, gl_dispatch_stub_852, gl_dispatch_stub_852, NULL, 852), - NAME_FUNC_OFFSET(22893, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 855), - NAME_FUNC_OFFSET(22916, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 856), - NAME_FUNC_OFFSET(22938, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 857), - NAME_FUNC_OFFSET(22954, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 858), - NAME_FUNC_OFFSET(22975, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 859), - NAME_FUNC_OFFSET(22997, glUniform1uiEXT, glUniform1uiEXT, NULL, 860), - NAME_FUNC_OFFSET(23010, glUniform1uivEXT, glUniform1uivEXT, NULL, 861), - NAME_FUNC_OFFSET(23024, glUniform2uiEXT, glUniform2uiEXT, NULL, 862), - NAME_FUNC_OFFSET(23037, glUniform2uivEXT, glUniform2uivEXT, NULL, 863), - NAME_FUNC_OFFSET(23051, glUniform3uiEXT, glUniform3uiEXT, NULL, 864), - NAME_FUNC_OFFSET(23064, glUniform3uivEXT, glUniform3uivEXT, NULL, 865), - NAME_FUNC_OFFSET(23078, glUniform4uiEXT, glUniform4uiEXT, NULL, 866), - NAME_FUNC_OFFSET(23091, glUniform4uivEXT, glUniform4uivEXT, NULL, 867), - NAME_FUNC_OFFSET(23105, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 868), - NAME_FUNC_OFFSET(23123, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 869), - NAME_FUNC_OFFSET(23142, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 870), - NAME_FUNC_OFFSET(23161, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 871), - NAME_FUNC_OFFSET(23181, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 872), - NAME_FUNC_OFFSET(23199, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 873), - NAME_FUNC_OFFSET(23218, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 874), - NAME_FUNC_OFFSET(23237, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 875), - NAME_FUNC_OFFSET(23257, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 876), - NAME_FUNC_OFFSET(23275, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 877), - NAME_FUNC_OFFSET(23294, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 878), - NAME_FUNC_OFFSET(23313, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 879), - NAME_FUNC_OFFSET(23333, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 880), - NAME_FUNC_OFFSET(23352, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 881), - NAME_FUNC_OFFSET(23370, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 882), - NAME_FUNC_OFFSET(23389, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 883), - NAME_FUNC_OFFSET(23408, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 884), - NAME_FUNC_OFFSET(23428, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 885), - NAME_FUNC_OFFSET(23447, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 886), - NAME_FUNC_OFFSET(23467, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 887), - NAME_FUNC_OFFSET(23487, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 888), - NAME_FUNC_OFFSET(23510, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 889), - NAME_FUNC_OFFSET(23536, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 890), - NAME_FUNC_OFFSET(23549, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 891), - NAME_FUNC_OFFSET(23560, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 892), - NAME_FUNC_OFFSET(23570, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 893), - NAME_FUNC_OFFSET(23586, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 894), - NAME_FUNC_OFFSET(23602, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 895), - NAME_FUNC_OFFSET(23615, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 898), - NAME_FUNC_OFFSET(23636, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 899), - NAME_FUNC_OFFSET(23658, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 900), - NAME_FUNC_OFFSET(23676, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 901), - NAME_FUNC_OFFSET(23695, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 902), - NAME_FUNC_OFFSET(23720, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 903), - NAME_FUNC_OFFSET(23743, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 904), - NAME_FUNC_OFFSET(23768, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 905), - NAME_FUNC_OFFSET(23785, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 907), - NAME_FUNC_OFFSET(23803, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 908), - NAME_FUNC_OFFSET(23826, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 909), - NAME_FUNC_OFFSET(23856, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 910), - NAME_FUNC_OFFSET(23884, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 911), + NAME_FUNC_OFFSET( 9569, glDrawElementsInstancedBaseVertex, glDrawElementsInstancedBaseVertex, NULL, 594), + NAME_FUNC_OFFSET( 9603, glDrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, NULL, 595), + NAME_FUNC_OFFSET( 9633, glMultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, NULL, 596), + NAME_FUNC_OFFSET( 9663, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 597), + NAME_FUNC_OFFSET( 9691, glBlendEquationiARB, glBlendEquationiARB, NULL, 598), + NAME_FUNC_OFFSET( 9711, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 599), + NAME_FUNC_OFFSET( 9735, glBlendFunciARB, glBlendFunciARB, NULL, 600), + NAME_FUNC_OFFSET( 9751, glBindSampler, glBindSampler, NULL, 601), + NAME_FUNC_OFFSET( 9765, glDeleteSamplers, glDeleteSamplers, NULL, 602), + NAME_FUNC_OFFSET( 9782, glGenSamplers, glGenSamplers, NULL, 603), + NAME_FUNC_OFFSET( 9796, glGetSamplerParameterIiv, glGetSamplerParameterIiv, NULL, 604), + NAME_FUNC_OFFSET( 9821, glGetSamplerParameterIuiv, glGetSamplerParameterIuiv, NULL, 605), + NAME_FUNC_OFFSET( 9847, glGetSamplerParameterfv, glGetSamplerParameterfv, NULL, 606), + NAME_FUNC_OFFSET( 9871, glGetSamplerParameteriv, glGetSamplerParameteriv, NULL, 607), + NAME_FUNC_OFFSET( 9895, glIsSampler, glIsSampler, NULL, 608), + NAME_FUNC_OFFSET( 9907, glSamplerParameterIiv, glSamplerParameterIiv, NULL, 609), + NAME_FUNC_OFFSET( 9929, glSamplerParameterIuiv, glSamplerParameterIuiv, NULL, 610), + NAME_FUNC_OFFSET( 9952, glSamplerParameterf, glSamplerParameterf, NULL, 611), + NAME_FUNC_OFFSET( 9972, glSamplerParameterfv, glSamplerParameterfv, NULL, 612), + NAME_FUNC_OFFSET( 9993, glSamplerParameteri, glSamplerParameteri, NULL, 613), + NAME_FUNC_OFFSET(10013, glSamplerParameteriv, glSamplerParameteriv, NULL, 614), + NAME_FUNC_OFFSET(10034, glBindTransformFeedback, glBindTransformFeedback, NULL, 615), + NAME_FUNC_OFFSET(10058, glDeleteTransformFeedbacks, glDeleteTransformFeedbacks, NULL, 616), + NAME_FUNC_OFFSET(10085, glDrawTransformFeedback, glDrawTransformFeedback, NULL, 617), + NAME_FUNC_OFFSET(10109, glGenTransformFeedbacks, glGenTransformFeedbacks, NULL, 618), + NAME_FUNC_OFFSET(10133, glIsTransformFeedback, glIsTransformFeedback, NULL, 619), + NAME_FUNC_OFFSET(10155, glPauseTransformFeedback, glPauseTransformFeedback, NULL, 620), + NAME_FUNC_OFFSET(10180, glResumeTransformFeedback, glResumeTransformFeedback, NULL, 621), + NAME_FUNC_OFFSET(10206, glClearDepthf, glClearDepthf, NULL, 622), + NAME_FUNC_OFFSET(10220, glDepthRangef, glDepthRangef, NULL, 623), + NAME_FUNC_OFFSET(10234, glGetShaderPrecisionFormat, glGetShaderPrecisionFormat, NULL, 624), + NAME_FUNC_OFFSET(10261, glReleaseShaderCompiler, glReleaseShaderCompiler, NULL, 625), + NAME_FUNC_OFFSET(10285, glShaderBinary, glShaderBinary, NULL, 626), + NAME_FUNC_OFFSET(10300, glGetGraphicsResetStatusARB, glGetGraphicsResetStatusARB, NULL, 627), + NAME_FUNC_OFFSET(10328, glGetnColorTableARB, glGetnColorTableARB, NULL, 628), + NAME_FUNC_OFFSET(10348, glGetnCompressedTexImageARB, glGetnCompressedTexImageARB, NULL, 629), + NAME_FUNC_OFFSET(10376, glGetnConvolutionFilterARB, glGetnConvolutionFilterARB, NULL, 630), + NAME_FUNC_OFFSET(10403, glGetnHistogramARB, glGetnHistogramARB, NULL, 631), + NAME_FUNC_OFFSET(10422, glGetnMapdvARB, glGetnMapdvARB, NULL, 632), + NAME_FUNC_OFFSET(10437, glGetnMapfvARB, glGetnMapfvARB, NULL, 633), + NAME_FUNC_OFFSET(10452, glGetnMapivARB, glGetnMapivARB, NULL, 634), + NAME_FUNC_OFFSET(10467, glGetnMinmaxARB, glGetnMinmaxARB, NULL, 635), + NAME_FUNC_OFFSET(10483, glGetnPixelMapfvARB, glGetnPixelMapfvARB, NULL, 636), + NAME_FUNC_OFFSET(10503, glGetnPixelMapuivARB, glGetnPixelMapuivARB, NULL, 637), + NAME_FUNC_OFFSET(10524, glGetnPixelMapusvARB, glGetnPixelMapusvARB, NULL, 638), + NAME_FUNC_OFFSET(10545, glGetnPolygonStippleARB, glGetnPolygonStippleARB, NULL, 639), + NAME_FUNC_OFFSET(10569, glGetnSeparableFilterARB, glGetnSeparableFilterARB, NULL, 640), + NAME_FUNC_OFFSET(10594, glGetnTexImageARB, glGetnTexImageARB, NULL, 641), + NAME_FUNC_OFFSET(10612, glGetnUniformdvARB, glGetnUniformdvARB, NULL, 642), + NAME_FUNC_OFFSET(10631, glGetnUniformfvARB, glGetnUniformfvARB, NULL, 643), + NAME_FUNC_OFFSET(10650, glGetnUniformivARB, glGetnUniformivARB, NULL, 644), + NAME_FUNC_OFFSET(10669, glGetnUniformuivARB, glGetnUniformuivARB, NULL, 645), + NAME_FUNC_OFFSET(10689, glReadnPixelsARB, glReadnPixelsARB, NULL, 646), + NAME_FUNC_OFFSET(10706, glPolygonOffsetEXT, glPolygonOffsetEXT, NULL, 647), + NAME_FUNC_OFFSET(10725, gl_dispatch_stub_648, gl_dispatch_stub_648, NULL, 648), + NAME_FUNC_OFFSET(10757, gl_dispatch_stub_649, gl_dispatch_stub_649, NULL, 649), + NAME_FUNC_OFFSET(10789, gl_dispatch_stub_650, gl_dispatch_stub_650, NULL, 650), + NAME_FUNC_OFFSET(10817, gl_dispatch_stub_651, gl_dispatch_stub_651, NULL, 651), + NAME_FUNC_OFFSET(10846, gl_dispatch_stub_652, gl_dispatch_stub_652, NULL, 652), + NAME_FUNC_OFFSET(10874, gl_dispatch_stub_653, gl_dispatch_stub_653, NULL, 653), + NAME_FUNC_OFFSET(10903, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, 654), + NAME_FUNC_OFFSET(10920, gl_dispatch_stub_655, gl_dispatch_stub_655, NULL, 655), + NAME_FUNC_OFFSET(10940, glColorPointerEXT, glColorPointerEXT, NULL, 656), + NAME_FUNC_OFFSET(10958, glEdgeFlagPointerEXT, glEdgeFlagPointerEXT, NULL, 657), + NAME_FUNC_OFFSET(10979, glIndexPointerEXT, glIndexPointerEXT, NULL, 658), + NAME_FUNC_OFFSET(10997, glNormalPointerEXT, glNormalPointerEXT, NULL, 659), + NAME_FUNC_OFFSET(11016, glTexCoordPointerEXT, glTexCoordPointerEXT, NULL, 660), + NAME_FUNC_OFFSET(11037, glVertexPointerEXT, glVertexPointerEXT, NULL, 661), + NAME_FUNC_OFFSET(11056, glPointParameterfEXT, glPointParameterfEXT, NULL, 662), + NAME_FUNC_OFFSET(11077, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 663), + NAME_FUNC_OFFSET(11099, glLockArraysEXT, glLockArraysEXT, NULL, 664), + NAME_FUNC_OFFSET(11115, glUnlockArraysEXT, glUnlockArraysEXT, NULL, 665), + NAME_FUNC_OFFSET(11133, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 666), + NAME_FUNC_OFFSET(11155, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 667), + NAME_FUNC_OFFSET(11178, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 668), + NAME_FUNC_OFFSET(11200, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 669), + NAME_FUNC_OFFSET(11223, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 670), + NAME_FUNC_OFFSET(11245, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 671), + NAME_FUNC_OFFSET(11268, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 672), + NAME_FUNC_OFFSET(11290, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 673), + NAME_FUNC_OFFSET(11313, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 674), + NAME_FUNC_OFFSET(11335, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 675), + NAME_FUNC_OFFSET(11358, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 676), + NAME_FUNC_OFFSET(11381, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 677), + NAME_FUNC_OFFSET(11405, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 678), + NAME_FUNC_OFFSET(11428, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 679), + NAME_FUNC_OFFSET(11452, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 680), + NAME_FUNC_OFFSET(11475, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 681), + NAME_FUNC_OFFSET(11499, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 682), + NAME_FUNC_OFFSET(11526, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 683), + NAME_FUNC_OFFSET(11547, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 684), + NAME_FUNC_OFFSET(11570, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 685), + NAME_FUNC_OFFSET(11591, glFogCoorddEXT, glFogCoorddEXT, NULL, 686), + NAME_FUNC_OFFSET(11606, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 687), + NAME_FUNC_OFFSET(11622, glFogCoordfEXT, glFogCoordfEXT, NULL, 688), + NAME_FUNC_OFFSET(11637, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 689), + NAME_FUNC_OFFSET(11653, gl_dispatch_stub_690, gl_dispatch_stub_690, NULL, 690), + NAME_FUNC_OFFSET(11671, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 691), + NAME_FUNC_OFFSET(11694, glFlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, NULL, 692), + NAME_FUNC_OFFSET(11720, glVertexArrayRangeNV, glVertexArrayRangeNV, NULL, 693), + NAME_FUNC_OFFSET(11741, glCombinerInputNV, glCombinerInputNV, NULL, 694), + NAME_FUNC_OFFSET(11759, glCombinerOutputNV, glCombinerOutputNV, NULL, 695), + NAME_FUNC_OFFSET(11778, glCombinerParameterfNV, glCombinerParameterfNV, NULL, 696), + NAME_FUNC_OFFSET(11801, glCombinerParameterfvNV, glCombinerParameterfvNV, NULL, 697), + NAME_FUNC_OFFSET(11825, glCombinerParameteriNV, glCombinerParameteriNV, NULL, 698), + NAME_FUNC_OFFSET(11848, glCombinerParameterivNV, glCombinerParameterivNV, NULL, 699), + NAME_FUNC_OFFSET(11872, glFinalCombinerInputNV, glFinalCombinerInputNV, NULL, 700), + NAME_FUNC_OFFSET(11895, glGetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, NULL, 701), + NAME_FUNC_OFFSET(11927, glGetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, NULL, 702), + NAME_FUNC_OFFSET(11959, glGetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, NULL, 703), + NAME_FUNC_OFFSET(11992, glGetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, NULL, 704), + NAME_FUNC_OFFSET(12025, glGetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, NULL, 705), + NAME_FUNC_OFFSET(12062, glGetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, NULL, 706), + NAME_FUNC_OFFSET(12099, glResizeBuffersMESA, glResizeBuffersMESA, NULL, 707), + NAME_FUNC_OFFSET(12119, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 708), + NAME_FUNC_OFFSET(12137, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 709), + NAME_FUNC_OFFSET(12156, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 710), + NAME_FUNC_OFFSET(12174, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 711), + NAME_FUNC_OFFSET(12193, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 712), + NAME_FUNC_OFFSET(12211, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 713), + NAME_FUNC_OFFSET(12230, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 714), + NAME_FUNC_OFFSET(12248, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 715), + NAME_FUNC_OFFSET(12267, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 716), + NAME_FUNC_OFFSET(12285, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 717), + NAME_FUNC_OFFSET(12304, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 718), + NAME_FUNC_OFFSET(12322, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 719), + NAME_FUNC_OFFSET(12341, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 720), + NAME_FUNC_OFFSET(12359, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 721), + NAME_FUNC_OFFSET(12378, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 722), + NAME_FUNC_OFFSET(12396, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 723), + NAME_FUNC_OFFSET(12415, glWindowPos4dMESA, glWindowPos4dMESA, NULL, 724), + NAME_FUNC_OFFSET(12433, glWindowPos4dvMESA, glWindowPos4dvMESA, NULL, 725), + NAME_FUNC_OFFSET(12452, glWindowPos4fMESA, glWindowPos4fMESA, NULL, 726), + NAME_FUNC_OFFSET(12470, glWindowPos4fvMESA, glWindowPos4fvMESA, NULL, 727), + NAME_FUNC_OFFSET(12489, glWindowPos4iMESA, glWindowPos4iMESA, NULL, 728), + NAME_FUNC_OFFSET(12507, glWindowPos4ivMESA, glWindowPos4ivMESA, NULL, 729), + NAME_FUNC_OFFSET(12526, glWindowPos4sMESA, glWindowPos4sMESA, NULL, 730), + NAME_FUNC_OFFSET(12544, glWindowPos4svMESA, glWindowPos4svMESA, NULL, 731), + NAME_FUNC_OFFSET(12563, gl_dispatch_stub_732, gl_dispatch_stub_732, NULL, 732), + NAME_FUNC_OFFSET(12588, gl_dispatch_stub_733, gl_dispatch_stub_733, NULL, 733), + NAME_FUNC_OFFSET(12615, gl_dispatch_stub_734, gl_dispatch_stub_734, NULL, 734), + NAME_FUNC_OFFSET(12632, gl_dispatch_stub_735, gl_dispatch_stub_735, NULL, 735), + NAME_FUNC_OFFSET(12648, gl_dispatch_stub_736, gl_dispatch_stub_736, NULL, 736), + NAME_FUNC_OFFSET(12662, gl_dispatch_stub_737, gl_dispatch_stub_737, NULL, 737), + NAME_FUNC_OFFSET(12677, gl_dispatch_stub_738, gl_dispatch_stub_738, NULL, 738), + NAME_FUNC_OFFSET(12689, gl_dispatch_stub_739, gl_dispatch_stub_739, NULL, 739), + NAME_FUNC_OFFSET(12702, gl_dispatch_stub_740, gl_dispatch_stub_740, NULL, 740), + NAME_FUNC_OFFSET(12716, glAreProgramsResidentNV, glAreProgramsResidentNV, NULL, 741), + NAME_FUNC_OFFSET(12740, glBindProgramNV, glBindProgramNV, NULL, 742), + NAME_FUNC_OFFSET(12756, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 743), + NAME_FUNC_OFFSET(12775, glExecuteProgramNV, glExecuteProgramNV, NULL, 744), + NAME_FUNC_OFFSET(12794, glGenProgramsNV, glGenProgramsNV, NULL, 745), + NAME_FUNC_OFFSET(12810, glGetProgramParameterdvNV, glGetProgramParameterdvNV, NULL, 746), + NAME_FUNC_OFFSET(12836, glGetProgramParameterfvNV, glGetProgramParameterfvNV, NULL, 747), + NAME_FUNC_OFFSET(12862, glGetProgramStringNV, glGetProgramStringNV, NULL, 748), + NAME_FUNC_OFFSET(12883, glGetProgramivNV, glGetProgramivNV, NULL, 749), + NAME_FUNC_OFFSET(12900, glGetTrackMatrixivNV, glGetTrackMatrixivNV, NULL, 750), + NAME_FUNC_OFFSET(12921, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 751), + NAME_FUNC_OFFSET(12949, glGetVertexAttribdvNV, glGetVertexAttribdvNV, NULL, 752), + NAME_FUNC_OFFSET(12971, glGetVertexAttribfvNV, glGetVertexAttribfvNV, NULL, 753), + NAME_FUNC_OFFSET(12993, glGetVertexAttribivNV, glGetVertexAttribivNV, NULL, 754), + NAME_FUNC_OFFSET(13015, glIsProgramNV, glIsProgramNV, NULL, 755), + NAME_FUNC_OFFSET(13029, glLoadProgramNV, glLoadProgramNV, NULL, 756), + NAME_FUNC_OFFSET(13045, glProgramParameters4dvNV, glProgramParameters4dvNV, NULL, 757), + NAME_FUNC_OFFSET(13070, glProgramParameters4fvNV, glProgramParameters4fvNV, NULL, 758), + NAME_FUNC_OFFSET(13095, glRequestResidentProgramsNV, glRequestResidentProgramsNV, NULL, 759), + NAME_FUNC_OFFSET(13123, glTrackMatrixNV, glTrackMatrixNV, NULL, 760), + NAME_FUNC_OFFSET(13139, glVertexAttrib1dNV, glVertexAttrib1dNV, NULL, 761), + NAME_FUNC_OFFSET(13158, glVertexAttrib1dvNV, glVertexAttrib1dvNV, NULL, 762), + NAME_FUNC_OFFSET(13178, glVertexAttrib1fNV, glVertexAttrib1fNV, NULL, 763), + NAME_FUNC_OFFSET(13197, glVertexAttrib1fvNV, glVertexAttrib1fvNV, NULL, 764), + NAME_FUNC_OFFSET(13217, glVertexAttrib1sNV, glVertexAttrib1sNV, NULL, 765), + NAME_FUNC_OFFSET(13236, glVertexAttrib1svNV, glVertexAttrib1svNV, NULL, 766), + NAME_FUNC_OFFSET(13256, glVertexAttrib2dNV, glVertexAttrib2dNV, NULL, 767), + NAME_FUNC_OFFSET(13275, glVertexAttrib2dvNV, glVertexAttrib2dvNV, NULL, 768), + NAME_FUNC_OFFSET(13295, glVertexAttrib2fNV, glVertexAttrib2fNV, NULL, 769), + NAME_FUNC_OFFSET(13314, glVertexAttrib2fvNV, glVertexAttrib2fvNV, NULL, 770), + NAME_FUNC_OFFSET(13334, glVertexAttrib2sNV, glVertexAttrib2sNV, NULL, 771), + NAME_FUNC_OFFSET(13353, glVertexAttrib2svNV, glVertexAttrib2svNV, NULL, 772), + NAME_FUNC_OFFSET(13373, glVertexAttrib3dNV, glVertexAttrib3dNV, NULL, 773), + NAME_FUNC_OFFSET(13392, glVertexAttrib3dvNV, glVertexAttrib3dvNV, NULL, 774), + NAME_FUNC_OFFSET(13412, glVertexAttrib3fNV, glVertexAttrib3fNV, NULL, 775), + NAME_FUNC_OFFSET(13431, glVertexAttrib3fvNV, glVertexAttrib3fvNV, NULL, 776), + NAME_FUNC_OFFSET(13451, glVertexAttrib3sNV, glVertexAttrib3sNV, NULL, 777), + NAME_FUNC_OFFSET(13470, glVertexAttrib3svNV, glVertexAttrib3svNV, NULL, 778), + NAME_FUNC_OFFSET(13490, glVertexAttrib4dNV, glVertexAttrib4dNV, NULL, 779), + NAME_FUNC_OFFSET(13509, glVertexAttrib4dvNV, glVertexAttrib4dvNV, NULL, 780), + NAME_FUNC_OFFSET(13529, glVertexAttrib4fNV, glVertexAttrib4fNV, NULL, 781), + NAME_FUNC_OFFSET(13548, glVertexAttrib4fvNV, glVertexAttrib4fvNV, NULL, 782), + NAME_FUNC_OFFSET(13568, glVertexAttrib4sNV, glVertexAttrib4sNV, NULL, 783), + NAME_FUNC_OFFSET(13587, glVertexAttrib4svNV, glVertexAttrib4svNV, NULL, 784), + NAME_FUNC_OFFSET(13607, glVertexAttrib4ubNV, glVertexAttrib4ubNV, NULL, 785), + NAME_FUNC_OFFSET(13627, glVertexAttrib4ubvNV, glVertexAttrib4ubvNV, NULL, 786), + NAME_FUNC_OFFSET(13648, glVertexAttribPointerNV, glVertexAttribPointerNV, NULL, 787), + NAME_FUNC_OFFSET(13672, glVertexAttribs1dvNV, glVertexAttribs1dvNV, NULL, 788), + NAME_FUNC_OFFSET(13693, glVertexAttribs1fvNV, glVertexAttribs1fvNV, NULL, 789), + NAME_FUNC_OFFSET(13714, glVertexAttribs1svNV, glVertexAttribs1svNV, NULL, 790), + NAME_FUNC_OFFSET(13735, glVertexAttribs2dvNV, glVertexAttribs2dvNV, NULL, 791), + NAME_FUNC_OFFSET(13756, glVertexAttribs2fvNV, glVertexAttribs2fvNV, NULL, 792), + NAME_FUNC_OFFSET(13777, glVertexAttribs2svNV, glVertexAttribs2svNV, NULL, 793), + NAME_FUNC_OFFSET(13798, glVertexAttribs3dvNV, glVertexAttribs3dvNV, NULL, 794), + NAME_FUNC_OFFSET(13819, glVertexAttribs3fvNV, glVertexAttribs3fvNV, NULL, 795), + NAME_FUNC_OFFSET(13840, glVertexAttribs3svNV, glVertexAttribs3svNV, NULL, 796), + NAME_FUNC_OFFSET(13861, glVertexAttribs4dvNV, glVertexAttribs4dvNV, NULL, 797), + NAME_FUNC_OFFSET(13882, glVertexAttribs4fvNV, glVertexAttribs4fvNV, NULL, 798), + NAME_FUNC_OFFSET(13903, glVertexAttribs4svNV, glVertexAttribs4svNV, NULL, 799), + NAME_FUNC_OFFSET(13924, glVertexAttribs4ubvNV, glVertexAttribs4ubvNV, NULL, 800), + NAME_FUNC_OFFSET(13946, glGetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, NULL, 801), + NAME_FUNC_OFFSET(13973, glGetTexBumpParameterivATI, glGetTexBumpParameterivATI, NULL, 802), + NAME_FUNC_OFFSET(14000, glTexBumpParameterfvATI, glTexBumpParameterfvATI, NULL, 803), + NAME_FUNC_OFFSET(14024, glTexBumpParameterivATI, glTexBumpParameterivATI, NULL, 804), + NAME_FUNC_OFFSET(14048, glAlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, NULL, 805), + NAME_FUNC_OFFSET(14070, glAlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, NULL, 806), + NAME_FUNC_OFFSET(14092, glAlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, NULL, 807), + NAME_FUNC_OFFSET(14114, glBeginFragmentShaderATI, glBeginFragmentShaderATI, NULL, 808), + NAME_FUNC_OFFSET(14139, glBindFragmentShaderATI, glBindFragmentShaderATI, NULL, 809), + NAME_FUNC_OFFSET(14163, glColorFragmentOp1ATI, glColorFragmentOp1ATI, NULL, 810), + NAME_FUNC_OFFSET(14185, glColorFragmentOp2ATI, glColorFragmentOp2ATI, NULL, 811), + NAME_FUNC_OFFSET(14207, glColorFragmentOp3ATI, glColorFragmentOp3ATI, NULL, 812), + NAME_FUNC_OFFSET(14229, glDeleteFragmentShaderATI, glDeleteFragmentShaderATI, NULL, 813), + NAME_FUNC_OFFSET(14255, glEndFragmentShaderATI, glEndFragmentShaderATI, NULL, 814), + NAME_FUNC_OFFSET(14278, glGenFragmentShadersATI, glGenFragmentShadersATI, NULL, 815), + NAME_FUNC_OFFSET(14302, glPassTexCoordATI, glPassTexCoordATI, NULL, 816), + NAME_FUNC_OFFSET(14320, glSampleMapATI, glSampleMapATI, NULL, 817), + NAME_FUNC_OFFSET(14335, glSetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, NULL, 818), + NAME_FUNC_OFFSET(14366, glPointParameteriNV, glPointParameteriNV, NULL, 819), + NAME_FUNC_OFFSET(14386, glPointParameterivNV, glPointParameterivNV, NULL, 820), + NAME_FUNC_OFFSET(14407, gl_dispatch_stub_821, gl_dispatch_stub_821, NULL, 821), + NAME_FUNC_OFFSET(14430, gl_dispatch_stub_822, gl_dispatch_stub_822, NULL, 822), + NAME_FUNC_OFFSET(14453, gl_dispatch_stub_823, gl_dispatch_stub_823, NULL, 823), + NAME_FUNC_OFFSET(14479, gl_dispatch_stub_824, gl_dispatch_stub_824, NULL, 824), + NAME_FUNC_OFFSET(14502, gl_dispatch_stub_825, gl_dispatch_stub_825, NULL, 825), + NAME_FUNC_OFFSET(14523, glGetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, NULL, 826), + NAME_FUNC_OFFSET(14554, glGetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, NULL, 827), + NAME_FUNC_OFFSET(14585, glProgramNamedParameter4dNV, glProgramNamedParameter4dNV, NULL, 828), + NAME_FUNC_OFFSET(14613, glProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, NULL, 829), + NAME_FUNC_OFFSET(14642, glProgramNamedParameter4fNV, glProgramNamedParameter4fNV, NULL, 830), + NAME_FUNC_OFFSET(14670, glProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, NULL, 831), + NAME_FUNC_OFFSET(14699, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 832), + NAME_FUNC_OFFSET(14725, glPrimitiveRestartNV, glPrimitiveRestartNV, NULL, 833), + NAME_FUNC_OFFSET(14746, gl_dispatch_stub_834, gl_dispatch_stub_834, NULL, 834), + NAME_FUNC_OFFSET(14763, gl_dispatch_stub_835, gl_dispatch_stub_835, NULL, 835), + NAME_FUNC_OFFSET(14790, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 836), + NAME_FUNC_OFFSET(14811, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 837), + NAME_FUNC_OFFSET(14833, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 838), + NAME_FUNC_OFFSET(14861, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 839), + NAME_FUNC_OFFSET(14885, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 840), + NAME_FUNC_OFFSET(14910, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 841), + NAME_FUNC_OFFSET(14939, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 842), + NAME_FUNC_OFFSET(14965, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 843), + NAME_FUNC_OFFSET(14991, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 844), + NAME_FUNC_OFFSET(15017, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 845), + NAME_FUNC_OFFSET(15038, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 846), + NAME_FUNC_OFFSET(15060, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 847), + NAME_FUNC_OFFSET(15080, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 848), + NAME_FUNC_OFFSET(15121, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 849), + NAME_FUNC_OFFSET(15153, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 850), + NAME_FUNC_OFFSET(15172, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 851), + NAME_FUNC_OFFSET(15192, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 852), + NAME_FUNC_OFFSET(15217, gl_dispatch_stub_853, gl_dispatch_stub_853, NULL, 853), + NAME_FUNC_OFFSET(15238, gl_dispatch_stub_854, gl_dispatch_stub_854, NULL, 854), + NAME_FUNC_OFFSET(15262, gl_dispatch_stub_855, gl_dispatch_stub_855, NULL, 855), + NAME_FUNC_OFFSET(15292, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 856), + NAME_FUNC_OFFSET(15318, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 857), + NAME_FUNC_OFFSET(15343, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 858), + NAME_FUNC_OFFSET(15362, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 859), + NAME_FUNC_OFFSET(15386, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 860), + NAME_FUNC_OFFSET(15411, glUniform1uiEXT, glUniform1uiEXT, NULL, 861), + NAME_FUNC_OFFSET(15427, glUniform1uivEXT, glUniform1uivEXT, NULL, 862), + NAME_FUNC_OFFSET(15444, glUniform2uiEXT, glUniform2uiEXT, NULL, 863), + NAME_FUNC_OFFSET(15460, glUniform2uivEXT, glUniform2uivEXT, NULL, 864), + NAME_FUNC_OFFSET(15477, glUniform3uiEXT, glUniform3uiEXT, NULL, 865), + NAME_FUNC_OFFSET(15493, glUniform3uivEXT, glUniform3uivEXT, NULL, 866), + NAME_FUNC_OFFSET(15510, glUniform4uiEXT, glUniform4uiEXT, NULL, 867), + NAME_FUNC_OFFSET(15526, glUniform4uivEXT, glUniform4uivEXT, NULL, 868), + NAME_FUNC_OFFSET(15543, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 869), + NAME_FUNC_OFFSET(15564, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 870), + NAME_FUNC_OFFSET(15586, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 871), + NAME_FUNC_OFFSET(15608, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 872), + NAME_FUNC_OFFSET(15631, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 873), + NAME_FUNC_OFFSET(15652, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 874), + NAME_FUNC_OFFSET(15674, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 875), + NAME_FUNC_OFFSET(15696, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 876), + NAME_FUNC_OFFSET(15719, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 877), + NAME_FUNC_OFFSET(15740, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 878), + NAME_FUNC_OFFSET(15762, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 879), + NAME_FUNC_OFFSET(15784, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 880), + NAME_FUNC_OFFSET(15807, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 881), + NAME_FUNC_OFFSET(15829, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 882), + NAME_FUNC_OFFSET(15850, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 883), + NAME_FUNC_OFFSET(15872, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 884), + NAME_FUNC_OFFSET(15894, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 885), + NAME_FUNC_OFFSET(15917, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 886), + NAME_FUNC_OFFSET(15939, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 887), + NAME_FUNC_OFFSET(15962, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 888), + NAME_FUNC_OFFSET(15985, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 889), + NAME_FUNC_OFFSET(16011, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 890), + NAME_FUNC_OFFSET(16040, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 891), + NAME_FUNC_OFFSET(16062, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 892), + NAME_FUNC_OFFSET(16082, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 893), + NAME_FUNC_OFFSET(16101, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 894), + NAME_FUNC_OFFSET(16125, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 895), + NAME_FUNC_OFFSET(16149, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 896), + NAME_FUNC_OFFSET(16171, glClearColorIiEXT, glClearColorIiEXT, NULL, 897), + NAME_FUNC_OFFSET(16189, glClearColorIuiEXT, glClearColorIuiEXT, NULL, 898), + NAME_FUNC_OFFSET(16208, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 899), + NAME_FUNC_OFFSET(16232, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 900), + NAME_FUNC_OFFSET(16257, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 901), + NAME_FUNC_OFFSET(16278, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 902), + NAME_FUNC_OFFSET(16300, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 903), + NAME_FUNC_OFFSET(16327, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 904), + NAME_FUNC_OFFSET(16352, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 905), + NAME_FUNC_OFFSET(16380, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 906), + NAME_FUNC_OFFSET(16400, glBindBufferOffsetEXT, glBindBufferOffsetEXT, NULL, 907), + NAME_FUNC_OFFSET(16422, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 908), + NAME_FUNC_OFFSET(16443, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 909), + NAME_FUNC_OFFSET(16469, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 910), + NAME_FUNC_OFFSET(16502, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 911), + NAME_FUNC_OFFSET(16533, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 912), + NAME_FUNC_OFFSET(16554, gl_dispatch_stub_913, gl_dispatch_stub_913, NULL, 913), + NAME_FUNC_OFFSET(16585, gl_dispatch_stub_914, gl_dispatch_stub_914, NULL, 914), + NAME_FUNC_OFFSET(16605, glGetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, NULL, 915), + NAME_FUNC_OFFSET(16633, glObjectPurgeableAPPLE, glObjectPurgeableAPPLE, NULL, 916), + NAME_FUNC_OFFSET(16656, glObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, NULL, 917), + NAME_FUNC_OFFSET(16681, glActiveProgramEXT, glActiveProgramEXT, NULL, 918), + NAME_FUNC_OFFSET(16700, glCreateShaderProgramEXT, glCreateShaderProgramEXT, NULL, 919), + NAME_FUNC_OFFSET(16725, glUseShaderProgramEXT, glUseShaderProgramEXT, NULL, 920), + NAME_FUNC_OFFSET(16747, glTextureBarrierNV, glTextureBarrierNV, NULL, 921), + NAME_FUNC_OFFSET(16766, gl_dispatch_stub_922, gl_dispatch_stub_922, NULL, 922), + NAME_FUNC_OFFSET(16791, gl_dispatch_stub_923, gl_dispatch_stub_923, NULL, 923), + NAME_FUNC_OFFSET(16820, gl_dispatch_stub_924, gl_dispatch_stub_924, NULL, 924), + NAME_FUNC_OFFSET(16851, gl_dispatch_stub_925, gl_dispatch_stub_925, NULL, 925), + NAME_FUNC_OFFSET(16875, gl_dispatch_stub_926, gl_dispatch_stub_926, NULL, 926), + NAME_FUNC_OFFSET(16900, glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorageOES, NULL, 927), + NAME_FUNC_OFFSET(16939, glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2DOES, NULL, 928), + NAME_FUNC_OFFSET(16968, glArrayElement, glArrayElement, NULL, 306), + NAME_FUNC_OFFSET(16986, glBindTexture, glBindTexture, NULL, 307), + NAME_FUNC_OFFSET(17003, glDrawArrays, glDrawArrays, NULL, 310), + NAME_FUNC_OFFSET(17019, glAreTexturesResident, glAreTexturesResidentEXT, glAreTexturesResidentEXT, 322), + NAME_FUNC_OFFSET(17044, glCopyTexImage1D, glCopyTexImage1D, NULL, 323), + NAME_FUNC_OFFSET(17064, glCopyTexImage2D, glCopyTexImage2D, NULL, 324), + NAME_FUNC_OFFSET(17084, glCopyTexSubImage1D, glCopyTexSubImage1D, NULL, 325), + NAME_FUNC_OFFSET(17107, glCopyTexSubImage2D, glCopyTexSubImage2D, NULL, 326), + NAME_FUNC_OFFSET(17130, glDeleteTextures, glDeleteTexturesEXT, glDeleteTexturesEXT, 327), + NAME_FUNC_OFFSET(17150, glGenTextures, glGenTexturesEXT, glGenTexturesEXT, 328), + NAME_FUNC_OFFSET(17167, glGetPointerv, glGetPointerv, NULL, 329), + NAME_FUNC_OFFSET(17184, glIsTexture, glIsTextureEXT, glIsTextureEXT, 330), + NAME_FUNC_OFFSET(17199, glPrioritizeTextures, glPrioritizeTextures, NULL, 331), + NAME_FUNC_OFFSET(17223, glTexSubImage1D, glTexSubImage1D, NULL, 332), + NAME_FUNC_OFFSET(17242, glTexSubImage2D, glTexSubImage2D, NULL, 333), + NAME_FUNC_OFFSET(17261, glBlendColor, glBlendColor, NULL, 336), + NAME_FUNC_OFFSET(17277, glBlendEquation, glBlendEquation, NULL, 337), + NAME_FUNC_OFFSET(17296, glDrawRangeElements, glDrawRangeElements, NULL, 338), + NAME_FUNC_OFFSET(17319, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(17335, glColorTable, glColorTable, NULL, 339), + NAME_FUNC_OFFSET(17351, glColorTableParameterfv, glColorTableParameterfv, NULL, 340), + NAME_FUNC_OFFSET(17378, glColorTableParameteriv, glColorTableParameteriv, NULL, 341), + NAME_FUNC_OFFSET(17405, glCopyColorTable, glCopyColorTable, NULL, 342), + NAME_FUNC_OFFSET(17425, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(17444, glGetColorTable, glGetColorTableEXT, glGetColorTableEXT, 343), + NAME_FUNC_OFFSET(17463, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(17493, glGetColorTableParameterfv, glGetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, 344), + NAME_FUNC_OFFSET(17523, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(17553, glGetColorTableParameteriv, glGetColorTableParameterivEXT, glGetColorTableParameterivEXT, 345), + NAME_FUNC_OFFSET(17583, glColorSubTable, glColorSubTable, NULL, 346), + NAME_FUNC_OFFSET(17602, glCopyColorSubTable, glCopyColorSubTable, NULL, 347), + NAME_FUNC_OFFSET(17625, glConvolutionFilter1D, glConvolutionFilter1D, NULL, 348), + NAME_FUNC_OFFSET(17650, glConvolutionFilter2D, glConvolutionFilter2D, NULL, 349), + NAME_FUNC_OFFSET(17675, glConvolutionParameterf, glConvolutionParameterf, NULL, 350), + NAME_FUNC_OFFSET(17702, glConvolutionParameterfv, glConvolutionParameterfv, NULL, 351), + NAME_FUNC_OFFSET(17730, glConvolutionParameteri, glConvolutionParameteri, NULL, 352), + NAME_FUNC_OFFSET(17757, glConvolutionParameteriv, glConvolutionParameteriv, NULL, 353), + NAME_FUNC_OFFSET(17785, glCopyConvolutionFilter1D, glCopyConvolutionFilter1D, NULL, 354), + NAME_FUNC_OFFSET(17814, glCopyConvolutionFilter2D, glCopyConvolutionFilter2D, NULL, 355), + NAME_FUNC_OFFSET(17843, glGetConvolutionFilter, gl_dispatch_stub_356, gl_dispatch_stub_356, 356), + NAME_FUNC_OFFSET(17869, glGetConvolutionParameterfv, gl_dispatch_stub_357, gl_dispatch_stub_357, 357), + NAME_FUNC_OFFSET(17900, glGetConvolutionParameteriv, gl_dispatch_stub_358, gl_dispatch_stub_358, 358), + NAME_FUNC_OFFSET(17931, glGetSeparableFilter, gl_dispatch_stub_359, gl_dispatch_stub_359, 359), + NAME_FUNC_OFFSET(17955, glSeparableFilter2D, glSeparableFilter2D, NULL, 360), + NAME_FUNC_OFFSET(17978, glGetHistogram, gl_dispatch_stub_361, gl_dispatch_stub_361, 361), + NAME_FUNC_OFFSET(17996, glGetHistogramParameterfv, gl_dispatch_stub_362, gl_dispatch_stub_362, 362), + NAME_FUNC_OFFSET(18025, glGetHistogramParameteriv, gl_dispatch_stub_363, gl_dispatch_stub_363, 363), + NAME_FUNC_OFFSET(18054, glGetMinmax, gl_dispatch_stub_364, gl_dispatch_stub_364, 364), + NAME_FUNC_OFFSET(18069, glGetMinmaxParameterfv, gl_dispatch_stub_365, gl_dispatch_stub_365, 365), + NAME_FUNC_OFFSET(18095, glGetMinmaxParameteriv, gl_dispatch_stub_366, gl_dispatch_stub_366, 366), + NAME_FUNC_OFFSET(18121, glHistogram, glHistogram, NULL, 367), + NAME_FUNC_OFFSET(18136, glMinmax, glMinmax, NULL, 368), + NAME_FUNC_OFFSET(18148, glResetHistogram, glResetHistogram, NULL, 369), + NAME_FUNC_OFFSET(18168, glResetMinmax, glResetMinmax, NULL, 370), + NAME_FUNC_OFFSET(18185, glTexImage3D, glTexImage3D, NULL, 371), + NAME_FUNC_OFFSET(18201, glTexSubImage3D, glTexSubImage3D, NULL, 372), + NAME_FUNC_OFFSET(18220, glCopyTexSubImage3D, glCopyTexSubImage3D, NULL, 373), + NAME_FUNC_OFFSET(18243, glActiveTextureARB, glActiveTextureARB, NULL, 374), + NAME_FUNC_OFFSET(18259, glClientActiveTextureARB, glClientActiveTextureARB, NULL, 375), + NAME_FUNC_OFFSET(18281, glMultiTexCoord1dARB, glMultiTexCoord1dARB, NULL, 376), + NAME_FUNC_OFFSET(18299, glMultiTexCoord1dvARB, glMultiTexCoord1dvARB, NULL, 377), + NAME_FUNC_OFFSET(18318, glMultiTexCoord1fARB, glMultiTexCoord1fARB, NULL, 378), + NAME_FUNC_OFFSET(18336, glMultiTexCoord1fvARB, glMultiTexCoord1fvARB, NULL, 379), + NAME_FUNC_OFFSET(18355, glMultiTexCoord1iARB, glMultiTexCoord1iARB, NULL, 380), + NAME_FUNC_OFFSET(18373, glMultiTexCoord1ivARB, glMultiTexCoord1ivARB, NULL, 381), + NAME_FUNC_OFFSET(18392, glMultiTexCoord1sARB, glMultiTexCoord1sARB, NULL, 382), + NAME_FUNC_OFFSET(18410, glMultiTexCoord1svARB, glMultiTexCoord1svARB, NULL, 383), + NAME_FUNC_OFFSET(18429, glMultiTexCoord2dARB, glMultiTexCoord2dARB, NULL, 384), + NAME_FUNC_OFFSET(18447, glMultiTexCoord2dvARB, glMultiTexCoord2dvARB, NULL, 385), + NAME_FUNC_OFFSET(18466, glMultiTexCoord2fARB, glMultiTexCoord2fARB, NULL, 386), + NAME_FUNC_OFFSET(18484, glMultiTexCoord2fvARB, glMultiTexCoord2fvARB, NULL, 387), + NAME_FUNC_OFFSET(18503, glMultiTexCoord2iARB, glMultiTexCoord2iARB, NULL, 388), + NAME_FUNC_OFFSET(18521, glMultiTexCoord2ivARB, glMultiTexCoord2ivARB, NULL, 389), + NAME_FUNC_OFFSET(18540, glMultiTexCoord2sARB, glMultiTexCoord2sARB, NULL, 390), + NAME_FUNC_OFFSET(18558, glMultiTexCoord2svARB, glMultiTexCoord2svARB, NULL, 391), + NAME_FUNC_OFFSET(18577, glMultiTexCoord3dARB, glMultiTexCoord3dARB, NULL, 392), + NAME_FUNC_OFFSET(18595, glMultiTexCoord3dvARB, glMultiTexCoord3dvARB, NULL, 393), + NAME_FUNC_OFFSET(18614, glMultiTexCoord3fARB, glMultiTexCoord3fARB, NULL, 394), + NAME_FUNC_OFFSET(18632, glMultiTexCoord3fvARB, glMultiTexCoord3fvARB, NULL, 395), + NAME_FUNC_OFFSET(18651, glMultiTexCoord3iARB, glMultiTexCoord3iARB, NULL, 396), + NAME_FUNC_OFFSET(18669, glMultiTexCoord3ivARB, glMultiTexCoord3ivARB, NULL, 397), + NAME_FUNC_OFFSET(18688, glMultiTexCoord3sARB, glMultiTexCoord3sARB, NULL, 398), + NAME_FUNC_OFFSET(18706, glMultiTexCoord3svARB, glMultiTexCoord3svARB, NULL, 399), + NAME_FUNC_OFFSET(18725, glMultiTexCoord4dARB, glMultiTexCoord4dARB, NULL, 400), + NAME_FUNC_OFFSET(18743, glMultiTexCoord4dvARB, glMultiTexCoord4dvARB, NULL, 401), + NAME_FUNC_OFFSET(18762, glMultiTexCoord4fARB, glMultiTexCoord4fARB, NULL, 402), + NAME_FUNC_OFFSET(18780, glMultiTexCoord4fvARB, glMultiTexCoord4fvARB, NULL, 403), + NAME_FUNC_OFFSET(18799, glMultiTexCoord4iARB, glMultiTexCoord4iARB, NULL, 404), + NAME_FUNC_OFFSET(18817, glMultiTexCoord4ivARB, glMultiTexCoord4ivARB, NULL, 405), + NAME_FUNC_OFFSET(18836, glMultiTexCoord4sARB, glMultiTexCoord4sARB, NULL, 406), + NAME_FUNC_OFFSET(18854, glMultiTexCoord4svARB, glMultiTexCoord4svARB, NULL, 407), + NAME_FUNC_OFFSET(18873, glStencilOpSeparate, glStencilOpSeparate, NULL, 423), + NAME_FUNC_OFFSET(18896, glLoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, NULL, 441), + NAME_FUNC_OFFSET(18919, glLoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, NULL, 442), + NAME_FUNC_OFFSET(18942, glMultTransposeMatrixdARB, glMultTransposeMatrixdARB, NULL, 443), + NAME_FUNC_OFFSET(18965, glMultTransposeMatrixfARB, glMultTransposeMatrixfARB, NULL, 444), + NAME_FUNC_OFFSET(18988, glSampleCoverageARB, glSampleCoverageARB, NULL, 445), + NAME_FUNC_OFFSET(19005, glCompressedTexImage1DARB, glCompressedTexImage1DARB, NULL, 446), + NAME_FUNC_OFFSET(19028, glCompressedTexImage2DARB, glCompressedTexImage2DARB, NULL, 447), + NAME_FUNC_OFFSET(19051, glCompressedTexImage3DARB, glCompressedTexImage3DARB, NULL, 448), + NAME_FUNC_OFFSET(19074, glCompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, NULL, 449), + NAME_FUNC_OFFSET(19100, glCompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, NULL, 450), + NAME_FUNC_OFFSET(19126, glCompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, NULL, 451), + NAME_FUNC_OFFSET(19152, glGetCompressedTexImageARB, glGetCompressedTexImageARB, NULL, 452), + NAME_FUNC_OFFSET(19176, glDisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, NULL, 453), + NAME_FUNC_OFFSET(19203, glEnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, NULL, 454), + NAME_FUNC_OFFSET(19229, glGetVertexAttribdvARB, glGetVertexAttribdvARB, NULL, 461), + NAME_FUNC_OFFSET(19249, glGetVertexAttribfvARB, glGetVertexAttribfvARB, NULL, 462), + NAME_FUNC_OFFSET(19269, glGetVertexAttribivARB, glGetVertexAttribivARB, NULL, 463), + NAME_FUNC_OFFSET(19289, glProgramEnvParameter4dARB, glProgramEnvParameter4dARB, NULL, 464), + NAME_FUNC_OFFSET(19312, glProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, NULL, 465), + NAME_FUNC_OFFSET(19336, glProgramEnvParameter4fARB, glProgramEnvParameter4fARB, NULL, 466), + NAME_FUNC_OFFSET(19359, glProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, NULL, 467), + NAME_FUNC_OFFSET(19383, glVertexAttrib1dARB, glVertexAttrib1dARB, NULL, 473), + NAME_FUNC_OFFSET(19400, glVertexAttrib1dvARB, glVertexAttrib1dvARB, NULL, 474), + NAME_FUNC_OFFSET(19418, glVertexAttrib1fARB, glVertexAttrib1fARB, NULL, 475), + NAME_FUNC_OFFSET(19435, glVertexAttrib1fvARB, glVertexAttrib1fvARB, NULL, 476), + NAME_FUNC_OFFSET(19453, glVertexAttrib1sARB, glVertexAttrib1sARB, NULL, 477), + NAME_FUNC_OFFSET(19470, glVertexAttrib1svARB, glVertexAttrib1svARB, NULL, 478), + NAME_FUNC_OFFSET(19488, glVertexAttrib2dARB, glVertexAttrib2dARB, NULL, 479), + NAME_FUNC_OFFSET(19505, glVertexAttrib2dvARB, glVertexAttrib2dvARB, NULL, 480), + NAME_FUNC_OFFSET(19523, glVertexAttrib2fARB, glVertexAttrib2fARB, NULL, 481), + NAME_FUNC_OFFSET(19540, glVertexAttrib2fvARB, glVertexAttrib2fvARB, NULL, 482), + NAME_FUNC_OFFSET(19558, glVertexAttrib2sARB, glVertexAttrib2sARB, NULL, 483), + NAME_FUNC_OFFSET(19575, glVertexAttrib2svARB, glVertexAttrib2svARB, NULL, 484), + NAME_FUNC_OFFSET(19593, glVertexAttrib3dARB, glVertexAttrib3dARB, NULL, 485), + NAME_FUNC_OFFSET(19610, glVertexAttrib3dvARB, glVertexAttrib3dvARB, NULL, 486), + NAME_FUNC_OFFSET(19628, glVertexAttrib3fARB, glVertexAttrib3fARB, NULL, 487), + NAME_FUNC_OFFSET(19645, glVertexAttrib3fvARB, glVertexAttrib3fvARB, NULL, 488), + NAME_FUNC_OFFSET(19663, glVertexAttrib3sARB, glVertexAttrib3sARB, NULL, 489), + NAME_FUNC_OFFSET(19680, glVertexAttrib3svARB, glVertexAttrib3svARB, NULL, 490), + NAME_FUNC_OFFSET(19698, glVertexAttrib4NbvARB, glVertexAttrib4NbvARB, NULL, 491), + NAME_FUNC_OFFSET(19717, glVertexAttrib4NivARB, glVertexAttrib4NivARB, NULL, 492), + NAME_FUNC_OFFSET(19736, glVertexAttrib4NsvARB, glVertexAttrib4NsvARB, NULL, 493), + NAME_FUNC_OFFSET(19755, glVertexAttrib4NubARB, glVertexAttrib4NubARB, NULL, 494), + NAME_FUNC_OFFSET(19774, glVertexAttrib4NubvARB, glVertexAttrib4NubvARB, NULL, 495), + NAME_FUNC_OFFSET(19794, glVertexAttrib4NuivARB, glVertexAttrib4NuivARB, NULL, 496), + NAME_FUNC_OFFSET(19814, glVertexAttrib4NusvARB, glVertexAttrib4NusvARB, NULL, 497), + NAME_FUNC_OFFSET(19834, glVertexAttrib4bvARB, glVertexAttrib4bvARB, NULL, 498), + NAME_FUNC_OFFSET(19852, glVertexAttrib4dARB, glVertexAttrib4dARB, NULL, 499), + NAME_FUNC_OFFSET(19869, glVertexAttrib4dvARB, glVertexAttrib4dvARB, NULL, 500), + NAME_FUNC_OFFSET(19887, glVertexAttrib4fARB, glVertexAttrib4fARB, NULL, 501), + NAME_FUNC_OFFSET(19904, glVertexAttrib4fvARB, glVertexAttrib4fvARB, NULL, 502), + NAME_FUNC_OFFSET(19922, glVertexAttrib4ivARB, glVertexAttrib4ivARB, NULL, 503), + NAME_FUNC_OFFSET(19940, glVertexAttrib4sARB, glVertexAttrib4sARB, NULL, 504), + NAME_FUNC_OFFSET(19957, glVertexAttrib4svARB, glVertexAttrib4svARB, NULL, 505), + NAME_FUNC_OFFSET(19975, glVertexAttrib4ubvARB, glVertexAttrib4ubvARB, NULL, 506), + NAME_FUNC_OFFSET(19994, glVertexAttrib4uivARB, glVertexAttrib4uivARB, NULL, 507), + NAME_FUNC_OFFSET(20013, glVertexAttrib4usvARB, glVertexAttrib4usvARB, NULL, 508), + NAME_FUNC_OFFSET(20032, glVertexAttribPointerARB, glVertexAttribPointerARB, NULL, 509), + NAME_FUNC_OFFSET(20054, glBindBufferARB, glBindBufferARB, NULL, 510), + NAME_FUNC_OFFSET(20067, glBufferDataARB, glBufferDataARB, NULL, 511), + NAME_FUNC_OFFSET(20080, glBufferSubDataARB, glBufferSubDataARB, NULL, 512), + NAME_FUNC_OFFSET(20096, glDeleteBuffersARB, glDeleteBuffersARB, NULL, 513), + NAME_FUNC_OFFSET(20112, glGenBuffersARB, glGenBuffersARB, NULL, 514), + NAME_FUNC_OFFSET(20125, glGetBufferParameterivARB, glGetBufferParameterivARB, NULL, 515), + NAME_FUNC_OFFSET(20148, glGetBufferPointervARB, glGetBufferPointervARB, NULL, 516), + NAME_FUNC_OFFSET(20168, glGetBufferSubDataARB, glGetBufferSubDataARB, NULL, 517), + NAME_FUNC_OFFSET(20187, glIsBufferARB, glIsBufferARB, NULL, 518), + NAME_FUNC_OFFSET(20198, glMapBufferARB, glMapBufferARB, NULL, 519), + NAME_FUNC_OFFSET(20210, glUnmapBufferARB, glUnmapBufferARB, NULL, 520), + NAME_FUNC_OFFSET(20224, glBeginQueryARB, glBeginQueryARB, NULL, 521), + NAME_FUNC_OFFSET(20237, glDeleteQueriesARB, glDeleteQueriesARB, NULL, 522), + NAME_FUNC_OFFSET(20253, glEndQueryARB, glEndQueryARB, NULL, 523), + NAME_FUNC_OFFSET(20264, glGenQueriesARB, glGenQueriesARB, NULL, 524), + NAME_FUNC_OFFSET(20277, glGetQueryObjectivARB, glGetQueryObjectivARB, NULL, 525), + NAME_FUNC_OFFSET(20296, glGetQueryObjectuivARB, glGetQueryObjectuivARB, NULL, 526), + NAME_FUNC_OFFSET(20316, glGetQueryivARB, glGetQueryivARB, NULL, 527), + NAME_FUNC_OFFSET(20329, glIsQueryARB, glIsQueryARB, NULL, 528), + NAME_FUNC_OFFSET(20339, glCompileShaderARB, glCompileShaderARB, NULL, 530), + NAME_FUNC_OFFSET(20355, glGetActiveUniformARB, glGetActiveUniformARB, NULL, 535), + NAME_FUNC_OFFSET(20374, glGetShaderSourceARB, glGetShaderSourceARB, NULL, 541), + NAME_FUNC_OFFSET(20392, glGetUniformLocationARB, glGetUniformLocationARB, NULL, 542), + NAME_FUNC_OFFSET(20413, glGetUniformfvARB, glGetUniformfvARB, NULL, 543), + NAME_FUNC_OFFSET(20428, glGetUniformivARB, glGetUniformivARB, NULL, 544), + NAME_FUNC_OFFSET(20443, glLinkProgramARB, glLinkProgramARB, NULL, 545), + NAME_FUNC_OFFSET(20457, glShaderSourceARB, glShaderSourceARB, NULL, 546), + NAME_FUNC_OFFSET(20472, glUniform1fARB, glUniform1fARB, NULL, 547), + NAME_FUNC_OFFSET(20484, glUniform1fvARB, glUniform1fvARB, NULL, 548), + NAME_FUNC_OFFSET(20497, glUniform1iARB, glUniform1iARB, NULL, 549), + NAME_FUNC_OFFSET(20509, glUniform1ivARB, glUniform1ivARB, NULL, 550), + NAME_FUNC_OFFSET(20522, glUniform2fARB, glUniform2fARB, NULL, 551), + NAME_FUNC_OFFSET(20534, glUniform2fvARB, glUniform2fvARB, NULL, 552), + NAME_FUNC_OFFSET(20547, glUniform2iARB, glUniform2iARB, NULL, 553), + NAME_FUNC_OFFSET(20559, glUniform2ivARB, glUniform2ivARB, NULL, 554), + NAME_FUNC_OFFSET(20572, glUniform3fARB, glUniform3fARB, NULL, 555), + NAME_FUNC_OFFSET(20584, glUniform3fvARB, glUniform3fvARB, NULL, 556), + NAME_FUNC_OFFSET(20597, glUniform3iARB, glUniform3iARB, NULL, 557), + NAME_FUNC_OFFSET(20609, glUniform3ivARB, glUniform3ivARB, NULL, 558), + NAME_FUNC_OFFSET(20622, glUniform4fARB, glUniform4fARB, NULL, 559), + NAME_FUNC_OFFSET(20634, glUniform4fvARB, glUniform4fvARB, NULL, 560), + NAME_FUNC_OFFSET(20647, glUniform4iARB, glUniform4iARB, NULL, 561), + NAME_FUNC_OFFSET(20659, glUniform4ivARB, glUniform4ivARB, NULL, 562), + NAME_FUNC_OFFSET(20672, glUniformMatrix2fvARB, glUniformMatrix2fvARB, NULL, 563), + NAME_FUNC_OFFSET(20691, glUniformMatrix3fvARB, glUniformMatrix3fvARB, NULL, 564), + NAME_FUNC_OFFSET(20710, glUniformMatrix4fvARB, glUniformMatrix4fvARB, NULL, 565), + NAME_FUNC_OFFSET(20729, glUseProgramObjectARB, glUseProgramObjectARB, NULL, 566), + NAME_FUNC_OFFSET(20742, glValidateProgramARB, glValidateProgramARB, NULL, 567), + NAME_FUNC_OFFSET(20760, glBindAttribLocationARB, glBindAttribLocationARB, NULL, 568), + NAME_FUNC_OFFSET(20781, glGetActiveAttribARB, glGetActiveAttribARB, NULL, 569), + NAME_FUNC_OFFSET(20799, glGetAttribLocationARB, glGetAttribLocationARB, NULL, 570), + NAME_FUNC_OFFSET(20819, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), + NAME_FUNC_OFFSET(20833, glDrawBuffersARB, glDrawBuffersARB, NULL, 571), + NAME_FUNC_OFFSET(20850, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), + NAME_FUNC_OFFSET(20875, glDrawArraysInstancedARB, glDrawArraysInstancedARB, NULL, 573), + NAME_FUNC_OFFSET(20897, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), + NAME_FUNC_OFFSET(20924, glDrawElementsInstancedARB, glDrawElementsInstancedARB, NULL, 574), + NAME_FUNC_OFFSET(20948, glRenderbufferStorageMultisample, glRenderbufferStorageMultisample, NULL, 575), + NAME_FUNC_OFFSET(20984, glBlendEquationSeparateiARB, glBlendEquationSeparateiARB, NULL, 597), + NAME_FUNC_OFFSET(21018, glBlendEquationiARB, glBlendEquationiARB, NULL, 598), + NAME_FUNC_OFFSET(21044, glBlendFuncSeparateiARB, glBlendFuncSeparateiARB, NULL, 599), + NAME_FUNC_OFFSET(21074, glBlendFunciARB, glBlendFunciARB, NULL, 600), + NAME_FUNC_OFFSET(21096, gl_dispatch_stub_654, gl_dispatch_stub_654, NULL, 654), + NAME_FUNC_OFFSET(21112, gl_dispatch_stub_655, gl_dispatch_stub_655, NULL, 655), + NAME_FUNC_OFFSET(21131, glPointParameterfEXT, glPointParameterfEXT, NULL, 662), + NAME_FUNC_OFFSET(21149, glPointParameterfEXT, glPointParameterfEXT, NULL, 662), + NAME_FUNC_OFFSET(21170, glPointParameterfEXT, glPointParameterfEXT, NULL, 662), + NAME_FUNC_OFFSET(21192, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 663), + NAME_FUNC_OFFSET(21211, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 663), + NAME_FUNC_OFFSET(21233, glPointParameterfvEXT, glPointParameterfvEXT, NULL, 663), + NAME_FUNC_OFFSET(21256, glSecondaryColor3bEXT, glSecondaryColor3bEXT, NULL, 666), + NAME_FUNC_OFFSET(21275, glSecondaryColor3bvEXT, glSecondaryColor3bvEXT, NULL, 667), + NAME_FUNC_OFFSET(21295, glSecondaryColor3dEXT, glSecondaryColor3dEXT, NULL, 668), + NAME_FUNC_OFFSET(21314, glSecondaryColor3dvEXT, glSecondaryColor3dvEXT, NULL, 669), + NAME_FUNC_OFFSET(21334, glSecondaryColor3fEXT, glSecondaryColor3fEXT, NULL, 670), + NAME_FUNC_OFFSET(21353, glSecondaryColor3fvEXT, glSecondaryColor3fvEXT, NULL, 671), + NAME_FUNC_OFFSET(21373, glSecondaryColor3iEXT, glSecondaryColor3iEXT, NULL, 672), + NAME_FUNC_OFFSET(21392, glSecondaryColor3ivEXT, glSecondaryColor3ivEXT, NULL, 673), + NAME_FUNC_OFFSET(21412, glSecondaryColor3sEXT, glSecondaryColor3sEXT, NULL, 674), + NAME_FUNC_OFFSET(21431, glSecondaryColor3svEXT, glSecondaryColor3svEXT, NULL, 675), + NAME_FUNC_OFFSET(21451, glSecondaryColor3ubEXT, glSecondaryColor3ubEXT, NULL, 676), + NAME_FUNC_OFFSET(21471, glSecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, NULL, 677), + NAME_FUNC_OFFSET(21492, glSecondaryColor3uiEXT, glSecondaryColor3uiEXT, NULL, 678), + NAME_FUNC_OFFSET(21512, glSecondaryColor3uivEXT, glSecondaryColor3uivEXT, NULL, 679), + NAME_FUNC_OFFSET(21533, glSecondaryColor3usEXT, glSecondaryColor3usEXT, NULL, 680), + NAME_FUNC_OFFSET(21553, glSecondaryColor3usvEXT, glSecondaryColor3usvEXT, NULL, 681), + NAME_FUNC_OFFSET(21574, glSecondaryColorPointerEXT, glSecondaryColorPointerEXT, NULL, 682), + NAME_FUNC_OFFSET(21598, glMultiDrawArraysEXT, glMultiDrawArraysEXT, NULL, 683), + NAME_FUNC_OFFSET(21616, glMultiDrawElementsEXT, glMultiDrawElementsEXT, NULL, 684), + NAME_FUNC_OFFSET(21636, glFogCoordPointerEXT, glFogCoordPointerEXT, NULL, 685), + NAME_FUNC_OFFSET(21654, glFogCoorddEXT, glFogCoorddEXT, NULL, 686), + NAME_FUNC_OFFSET(21666, glFogCoorddvEXT, glFogCoorddvEXT, NULL, 687), + NAME_FUNC_OFFSET(21679, glFogCoordfEXT, glFogCoordfEXT, NULL, 688), + NAME_FUNC_OFFSET(21691, glFogCoordfvEXT, glFogCoordfvEXT, NULL, 689), + NAME_FUNC_OFFSET(21704, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 691), + NAME_FUNC_OFFSET(21724, glBlendFuncSeparateEXT, glBlendFuncSeparateEXT, NULL, 691), + NAME_FUNC_OFFSET(21748, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 708), + NAME_FUNC_OFFSET(21762, glWindowPos2dMESA, glWindowPos2dMESA, NULL, 708), + NAME_FUNC_OFFSET(21779, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 709), + NAME_FUNC_OFFSET(21794, glWindowPos2dvMESA, glWindowPos2dvMESA, NULL, 709), + NAME_FUNC_OFFSET(21812, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 710), + NAME_FUNC_OFFSET(21826, glWindowPos2fMESA, glWindowPos2fMESA, NULL, 710), + NAME_FUNC_OFFSET(21843, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 711), + NAME_FUNC_OFFSET(21858, glWindowPos2fvMESA, glWindowPos2fvMESA, NULL, 711), + NAME_FUNC_OFFSET(21876, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 712), + NAME_FUNC_OFFSET(21890, glWindowPos2iMESA, glWindowPos2iMESA, NULL, 712), + NAME_FUNC_OFFSET(21907, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 713), + NAME_FUNC_OFFSET(21922, glWindowPos2ivMESA, glWindowPos2ivMESA, NULL, 713), + NAME_FUNC_OFFSET(21940, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 714), + NAME_FUNC_OFFSET(21954, glWindowPos2sMESA, glWindowPos2sMESA, NULL, 714), + NAME_FUNC_OFFSET(21971, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 715), + NAME_FUNC_OFFSET(21986, glWindowPos2svMESA, glWindowPos2svMESA, NULL, 715), + NAME_FUNC_OFFSET(22004, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 716), + NAME_FUNC_OFFSET(22018, glWindowPos3dMESA, glWindowPos3dMESA, NULL, 716), + NAME_FUNC_OFFSET(22035, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 717), + NAME_FUNC_OFFSET(22050, glWindowPos3dvMESA, glWindowPos3dvMESA, NULL, 717), + NAME_FUNC_OFFSET(22068, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 718), + NAME_FUNC_OFFSET(22082, glWindowPos3fMESA, glWindowPos3fMESA, NULL, 718), + NAME_FUNC_OFFSET(22099, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 719), + NAME_FUNC_OFFSET(22114, glWindowPos3fvMESA, glWindowPos3fvMESA, NULL, 719), + NAME_FUNC_OFFSET(22132, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 720), + NAME_FUNC_OFFSET(22146, glWindowPos3iMESA, glWindowPos3iMESA, NULL, 720), + NAME_FUNC_OFFSET(22163, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 721), + NAME_FUNC_OFFSET(22178, glWindowPos3ivMESA, glWindowPos3ivMESA, NULL, 721), + NAME_FUNC_OFFSET(22196, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 722), + NAME_FUNC_OFFSET(22210, glWindowPos3sMESA, glWindowPos3sMESA, NULL, 722), + NAME_FUNC_OFFSET(22227, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 723), + NAME_FUNC_OFFSET(22242, glWindowPos3svMESA, glWindowPos3svMESA, NULL, 723), + NAME_FUNC_OFFSET(22260, glBindProgramNV, glBindProgramNV, NULL, 742), + NAME_FUNC_OFFSET(22277, glDeleteProgramsNV, glDeleteProgramsNV, NULL, 743), + NAME_FUNC_OFFSET(22297, glGenProgramsNV, glGenProgramsNV, NULL, 745), + NAME_FUNC_OFFSET(22314, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 751), + NAME_FUNC_OFFSET(22340, glGetVertexAttribPointervNV, glGetVertexAttribPointervNV, NULL, 751), + NAME_FUNC_OFFSET(22369, glIsProgramNV, glIsProgramNV, NULL, 755), + NAME_FUNC_OFFSET(22384, glPointParameteriNV, glPointParameteriNV, NULL, 819), + NAME_FUNC_OFFSET(22402, glPointParameterivNV, glPointParameterivNV, NULL, 820), + NAME_FUNC_OFFSET(22421, gl_dispatch_stub_823, gl_dispatch_stub_823, NULL, 823), + NAME_FUNC_OFFSET(22442, gl_dispatch_stub_825, gl_dispatch_stub_825, NULL, 825), + NAME_FUNC_OFFSET(22458, glPrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, NULL, 832), + NAME_FUNC_OFFSET(22482, gl_dispatch_stub_835, gl_dispatch_stub_835, NULL, 835), + NAME_FUNC_OFFSET(22506, gl_dispatch_stub_835, gl_dispatch_stub_835, NULL, 835), + NAME_FUNC_OFFSET(22533, glBindFramebufferEXT, glBindFramebufferEXT, NULL, 836), + NAME_FUNC_OFFSET(22551, glBindRenderbufferEXT, glBindRenderbufferEXT, NULL, 837), + NAME_FUNC_OFFSET(22570, glCheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, NULL, 838), + NAME_FUNC_OFFSET(22595, glDeleteFramebuffersEXT, glDeleteFramebuffersEXT, NULL, 839), + NAME_FUNC_OFFSET(22616, glDeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, NULL, 840), + NAME_FUNC_OFFSET(22638, glFramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, NULL, 841), + NAME_FUNC_OFFSET(22664, glFramebufferTexture1DEXT, glFramebufferTexture1DEXT, NULL, 842), + NAME_FUNC_OFFSET(22687, glFramebufferTexture2DEXT, glFramebufferTexture2DEXT, NULL, 843), + NAME_FUNC_OFFSET(22710, glFramebufferTexture3DEXT, glFramebufferTexture3DEXT, NULL, 844), + NAME_FUNC_OFFSET(22733, glGenFramebuffersEXT, glGenFramebuffersEXT, NULL, 845), + NAME_FUNC_OFFSET(22751, glGenRenderbuffersEXT, glGenRenderbuffersEXT, NULL, 846), + NAME_FUNC_OFFSET(22770, glGenerateMipmapEXT, glGenerateMipmapEXT, NULL, 847), + NAME_FUNC_OFFSET(22787, glGetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, NULL, 848), + NAME_FUNC_OFFSET(22825, glGetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, NULL, 849), + NAME_FUNC_OFFSET(22854, glIsFramebufferEXT, glIsFramebufferEXT, NULL, 850), + NAME_FUNC_OFFSET(22870, glIsRenderbufferEXT, glIsRenderbufferEXT, NULL, 851), + NAME_FUNC_OFFSET(22887, glRenderbufferStorageEXT, glRenderbufferStorageEXT, NULL, 852), + NAME_FUNC_OFFSET(22909, gl_dispatch_stub_853, gl_dispatch_stub_853, NULL, 853), + NAME_FUNC_OFFSET(22927, glBindFragDataLocationEXT, glBindFragDataLocationEXT, NULL, 856), + NAME_FUNC_OFFSET(22950, glGetFragDataLocationEXT, glGetFragDataLocationEXT, NULL, 857), + NAME_FUNC_OFFSET(22972, glGetUniformuivEXT, glGetUniformuivEXT, NULL, 858), + NAME_FUNC_OFFSET(22988, glGetVertexAttribIivEXT, glGetVertexAttribIivEXT, NULL, 859), + NAME_FUNC_OFFSET(23009, glGetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, NULL, 860), + NAME_FUNC_OFFSET(23031, glUniform1uiEXT, glUniform1uiEXT, NULL, 861), + NAME_FUNC_OFFSET(23044, glUniform1uivEXT, glUniform1uivEXT, NULL, 862), + NAME_FUNC_OFFSET(23058, glUniform2uiEXT, glUniform2uiEXT, NULL, 863), + NAME_FUNC_OFFSET(23071, glUniform2uivEXT, glUniform2uivEXT, NULL, 864), + NAME_FUNC_OFFSET(23085, glUniform3uiEXT, glUniform3uiEXT, NULL, 865), + NAME_FUNC_OFFSET(23098, glUniform3uivEXT, glUniform3uivEXT, NULL, 866), + NAME_FUNC_OFFSET(23112, glUniform4uiEXT, glUniform4uiEXT, NULL, 867), + NAME_FUNC_OFFSET(23125, glUniform4uivEXT, glUniform4uivEXT, NULL, 868), + NAME_FUNC_OFFSET(23139, glVertexAttribI1iEXT, glVertexAttribI1iEXT, NULL, 869), + NAME_FUNC_OFFSET(23157, glVertexAttribI1ivEXT, glVertexAttribI1ivEXT, NULL, 870), + NAME_FUNC_OFFSET(23176, glVertexAttribI1uiEXT, glVertexAttribI1uiEXT, NULL, 871), + NAME_FUNC_OFFSET(23195, glVertexAttribI1uivEXT, glVertexAttribI1uivEXT, NULL, 872), + NAME_FUNC_OFFSET(23215, glVertexAttribI2iEXT, glVertexAttribI2iEXT, NULL, 873), + NAME_FUNC_OFFSET(23233, glVertexAttribI2ivEXT, glVertexAttribI2ivEXT, NULL, 874), + NAME_FUNC_OFFSET(23252, glVertexAttribI2uiEXT, glVertexAttribI2uiEXT, NULL, 875), + NAME_FUNC_OFFSET(23271, glVertexAttribI2uivEXT, glVertexAttribI2uivEXT, NULL, 876), + NAME_FUNC_OFFSET(23291, glVertexAttribI3iEXT, glVertexAttribI3iEXT, NULL, 877), + NAME_FUNC_OFFSET(23309, glVertexAttribI3ivEXT, glVertexAttribI3ivEXT, NULL, 878), + NAME_FUNC_OFFSET(23328, glVertexAttribI3uiEXT, glVertexAttribI3uiEXT, NULL, 879), + NAME_FUNC_OFFSET(23347, glVertexAttribI3uivEXT, glVertexAttribI3uivEXT, NULL, 880), + NAME_FUNC_OFFSET(23367, glVertexAttribI4bvEXT, glVertexAttribI4bvEXT, NULL, 881), + NAME_FUNC_OFFSET(23386, glVertexAttribI4iEXT, glVertexAttribI4iEXT, NULL, 882), + NAME_FUNC_OFFSET(23404, glVertexAttribI4ivEXT, glVertexAttribI4ivEXT, NULL, 883), + NAME_FUNC_OFFSET(23423, glVertexAttribI4svEXT, glVertexAttribI4svEXT, NULL, 884), + NAME_FUNC_OFFSET(23442, glVertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, NULL, 885), + NAME_FUNC_OFFSET(23462, glVertexAttribI4uiEXT, glVertexAttribI4uiEXT, NULL, 886), + NAME_FUNC_OFFSET(23481, glVertexAttribI4uivEXT, glVertexAttribI4uivEXT, NULL, 887), + NAME_FUNC_OFFSET(23501, glVertexAttribI4usvEXT, glVertexAttribI4usvEXT, NULL, 888), + NAME_FUNC_OFFSET(23521, glVertexAttribIPointerEXT, glVertexAttribIPointerEXT, NULL, 889), + NAME_FUNC_OFFSET(23544, glFramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, NULL, 890), + NAME_FUNC_OFFSET(23570, glColorMaskIndexedEXT, glColorMaskIndexedEXT, NULL, 891), + NAME_FUNC_OFFSET(23583, glDisableIndexedEXT, glDisableIndexedEXT, NULL, 892), + NAME_FUNC_OFFSET(23594, glEnableIndexedEXT, glEnableIndexedEXT, NULL, 893), + NAME_FUNC_OFFSET(23604, glGetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, NULL, 894), + NAME_FUNC_OFFSET(23620, glGetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, NULL, 895), + NAME_FUNC_OFFSET(23636, glIsEnabledIndexedEXT, glIsEnabledIndexedEXT, NULL, 896), + NAME_FUNC_OFFSET(23649, glGetTexParameterIivEXT, glGetTexParameterIivEXT, NULL, 899), + NAME_FUNC_OFFSET(23670, glGetTexParameterIuivEXT, glGetTexParameterIuivEXT, NULL, 900), + NAME_FUNC_OFFSET(23692, glTexParameterIivEXT, glTexParameterIivEXT, NULL, 901), + NAME_FUNC_OFFSET(23710, glTexParameterIuivEXT, glTexParameterIuivEXT, NULL, 902), + NAME_FUNC_OFFSET(23729, glBeginConditionalRenderNV, glBeginConditionalRenderNV, NULL, 903), + NAME_FUNC_OFFSET(23754, glEndConditionalRenderNV, glEndConditionalRenderNV, NULL, 904), + NAME_FUNC_OFFSET(23777, glBeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, NULL, 905), + NAME_FUNC_OFFSET(23802, glBindBufferBaseEXT, glBindBufferBaseEXT, NULL, 906), + NAME_FUNC_OFFSET(23819, glBindBufferRangeEXT, glBindBufferRangeEXT, NULL, 908), + NAME_FUNC_OFFSET(23837, glEndTransformFeedbackEXT, glEndTransformFeedbackEXT, NULL, 909), + NAME_FUNC_OFFSET(23860, glGetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, NULL, 910), + NAME_FUNC_OFFSET(23890, glTransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, NULL, 911), + NAME_FUNC_OFFSET(23918, glProvokingVertexEXT, glProvokingVertexEXT, NULL, 912), NAME_FUNC_OFFSET(-1, NULL, NULL, NULL, 0) }; diff --git a/src/mesa/main/glapidispatch.h b/src/mesa/main/glapidispatch.h index 4a9a58b5e05..44342102fec 100644 --- a/src/mesa/main/glapidispatch.h +++ b/src/mesa/main/glapidispatch.h @@ -59,7 +59,7 @@ } while(0) /* total number of offsets below */ -#define _gloffset_COUNT 928 +#define _gloffset_COUNT 929 #define _gloffset_NewList 0 #define _gloffset_EndList 1 @@ -658,344 +658,345 @@ #define _gloffset_IsSync 591 #define _gloffset_WaitSync 592 #define _gloffset_DrawElementsBaseVertex 593 -#define _gloffset_DrawRangeElementsBaseVertex 594 -#define _gloffset_MultiDrawElementsBaseVertex 595 -#define _gloffset_BlendEquationSeparateiARB 596 -#define _gloffset_BlendEquationiARB 597 -#define _gloffset_BlendFuncSeparateiARB 598 -#define _gloffset_BlendFunciARB 599 -#define _gloffset_BindSampler 600 -#define _gloffset_DeleteSamplers 601 -#define _gloffset_GenSamplers 602 -#define _gloffset_GetSamplerParameterIiv 603 -#define _gloffset_GetSamplerParameterIuiv 604 -#define _gloffset_GetSamplerParameterfv 605 -#define _gloffset_GetSamplerParameteriv 606 -#define _gloffset_IsSampler 607 -#define _gloffset_SamplerParameterIiv 608 -#define _gloffset_SamplerParameterIuiv 609 -#define _gloffset_SamplerParameterf 610 -#define _gloffset_SamplerParameterfv 611 -#define _gloffset_SamplerParameteri 612 -#define _gloffset_SamplerParameteriv 613 -#define _gloffset_BindTransformFeedback 614 -#define _gloffset_DeleteTransformFeedbacks 615 -#define _gloffset_DrawTransformFeedback 616 -#define _gloffset_GenTransformFeedbacks 617 -#define _gloffset_IsTransformFeedback 618 -#define _gloffset_PauseTransformFeedback 619 -#define _gloffset_ResumeTransformFeedback 620 -#define _gloffset_ClearDepthf 621 -#define _gloffset_DepthRangef 622 -#define _gloffset_GetShaderPrecisionFormat 623 -#define _gloffset_ReleaseShaderCompiler 624 -#define _gloffset_ShaderBinary 625 -#define _gloffset_GetGraphicsResetStatusARB 626 -#define _gloffset_GetnColorTableARB 627 -#define _gloffset_GetnCompressedTexImageARB 628 -#define _gloffset_GetnConvolutionFilterARB 629 -#define _gloffset_GetnHistogramARB 630 -#define _gloffset_GetnMapdvARB 631 -#define _gloffset_GetnMapfvARB 632 -#define _gloffset_GetnMapivARB 633 -#define _gloffset_GetnMinmaxARB 634 -#define _gloffset_GetnPixelMapfvARB 635 -#define _gloffset_GetnPixelMapuivARB 636 -#define _gloffset_GetnPixelMapusvARB 637 -#define _gloffset_GetnPolygonStippleARB 638 -#define _gloffset_GetnSeparableFilterARB 639 -#define _gloffset_GetnTexImageARB 640 -#define _gloffset_GetnUniformdvARB 641 -#define _gloffset_GetnUniformfvARB 642 -#define _gloffset_GetnUniformivARB 643 -#define _gloffset_GetnUniformuivARB 644 -#define _gloffset_ReadnPixelsARB 645 -#define _gloffset_PolygonOffsetEXT 646 -#define _gloffset_GetPixelTexGenParameterfvSGIS 647 -#define _gloffset_GetPixelTexGenParameterivSGIS 648 -#define _gloffset_PixelTexGenParameterfSGIS 649 -#define _gloffset_PixelTexGenParameterfvSGIS 650 -#define _gloffset_PixelTexGenParameteriSGIS 651 -#define _gloffset_PixelTexGenParameterivSGIS 652 -#define _gloffset_SampleMaskSGIS 653 -#define _gloffset_SamplePatternSGIS 654 -#define _gloffset_ColorPointerEXT 655 -#define _gloffset_EdgeFlagPointerEXT 656 -#define _gloffset_IndexPointerEXT 657 -#define _gloffset_NormalPointerEXT 658 -#define _gloffset_TexCoordPointerEXT 659 -#define _gloffset_VertexPointerEXT 660 -#define _gloffset_PointParameterfEXT 661 -#define _gloffset_PointParameterfvEXT 662 -#define _gloffset_LockArraysEXT 663 -#define _gloffset_UnlockArraysEXT 664 -#define _gloffset_SecondaryColor3bEXT 665 -#define _gloffset_SecondaryColor3bvEXT 666 -#define _gloffset_SecondaryColor3dEXT 667 -#define _gloffset_SecondaryColor3dvEXT 668 -#define _gloffset_SecondaryColor3fEXT 669 -#define _gloffset_SecondaryColor3fvEXT 670 -#define _gloffset_SecondaryColor3iEXT 671 -#define _gloffset_SecondaryColor3ivEXT 672 -#define _gloffset_SecondaryColor3sEXT 673 -#define _gloffset_SecondaryColor3svEXT 674 -#define _gloffset_SecondaryColor3ubEXT 675 -#define _gloffset_SecondaryColor3ubvEXT 676 -#define _gloffset_SecondaryColor3uiEXT 677 -#define _gloffset_SecondaryColor3uivEXT 678 -#define _gloffset_SecondaryColor3usEXT 679 -#define _gloffset_SecondaryColor3usvEXT 680 -#define _gloffset_SecondaryColorPointerEXT 681 -#define _gloffset_MultiDrawArraysEXT 682 -#define _gloffset_MultiDrawElementsEXT 683 -#define _gloffset_FogCoordPointerEXT 684 -#define _gloffset_FogCoorddEXT 685 -#define _gloffset_FogCoorddvEXT 686 -#define _gloffset_FogCoordfEXT 687 -#define _gloffset_FogCoordfvEXT 688 -#define _gloffset_PixelTexGenSGIX 689 -#define _gloffset_BlendFuncSeparateEXT 690 -#define _gloffset_FlushVertexArrayRangeNV 691 -#define _gloffset_VertexArrayRangeNV 692 -#define _gloffset_CombinerInputNV 693 -#define _gloffset_CombinerOutputNV 694 -#define _gloffset_CombinerParameterfNV 695 -#define _gloffset_CombinerParameterfvNV 696 -#define _gloffset_CombinerParameteriNV 697 -#define _gloffset_CombinerParameterivNV 698 -#define _gloffset_FinalCombinerInputNV 699 -#define _gloffset_GetCombinerInputParameterfvNV 700 -#define _gloffset_GetCombinerInputParameterivNV 701 -#define _gloffset_GetCombinerOutputParameterfvNV 702 -#define _gloffset_GetCombinerOutputParameterivNV 703 -#define _gloffset_GetFinalCombinerInputParameterfvNV 704 -#define _gloffset_GetFinalCombinerInputParameterivNV 705 -#define _gloffset_ResizeBuffersMESA 706 -#define _gloffset_WindowPos2dMESA 707 -#define _gloffset_WindowPos2dvMESA 708 -#define _gloffset_WindowPos2fMESA 709 -#define _gloffset_WindowPos2fvMESA 710 -#define _gloffset_WindowPos2iMESA 711 -#define _gloffset_WindowPos2ivMESA 712 -#define _gloffset_WindowPos2sMESA 713 -#define _gloffset_WindowPos2svMESA 714 -#define _gloffset_WindowPos3dMESA 715 -#define _gloffset_WindowPos3dvMESA 716 -#define _gloffset_WindowPos3fMESA 717 -#define _gloffset_WindowPos3fvMESA 718 -#define _gloffset_WindowPos3iMESA 719 -#define _gloffset_WindowPos3ivMESA 720 -#define _gloffset_WindowPos3sMESA 721 -#define _gloffset_WindowPos3svMESA 722 -#define _gloffset_WindowPos4dMESA 723 -#define _gloffset_WindowPos4dvMESA 724 -#define _gloffset_WindowPos4fMESA 725 -#define _gloffset_WindowPos4fvMESA 726 -#define _gloffset_WindowPos4iMESA 727 -#define _gloffset_WindowPos4ivMESA 728 -#define _gloffset_WindowPos4sMESA 729 -#define _gloffset_WindowPos4svMESA 730 -#define _gloffset_MultiModeDrawArraysIBM 731 -#define _gloffset_MultiModeDrawElementsIBM 732 -#define _gloffset_DeleteFencesNV 733 -#define _gloffset_FinishFenceNV 734 -#define _gloffset_GenFencesNV 735 -#define _gloffset_GetFenceivNV 736 -#define _gloffset_IsFenceNV 737 -#define _gloffset_SetFenceNV 738 -#define _gloffset_TestFenceNV 739 -#define _gloffset_AreProgramsResidentNV 740 -#define _gloffset_BindProgramNV 741 -#define _gloffset_DeleteProgramsNV 742 -#define _gloffset_ExecuteProgramNV 743 -#define _gloffset_GenProgramsNV 744 -#define _gloffset_GetProgramParameterdvNV 745 -#define _gloffset_GetProgramParameterfvNV 746 -#define _gloffset_GetProgramStringNV 747 -#define _gloffset_GetProgramivNV 748 -#define _gloffset_GetTrackMatrixivNV 749 -#define _gloffset_GetVertexAttribPointervNV 750 -#define _gloffset_GetVertexAttribdvNV 751 -#define _gloffset_GetVertexAttribfvNV 752 -#define _gloffset_GetVertexAttribivNV 753 -#define _gloffset_IsProgramNV 754 -#define _gloffset_LoadProgramNV 755 -#define _gloffset_ProgramParameters4dvNV 756 -#define _gloffset_ProgramParameters4fvNV 757 -#define _gloffset_RequestResidentProgramsNV 758 -#define _gloffset_TrackMatrixNV 759 -#define _gloffset_VertexAttrib1dNV 760 -#define _gloffset_VertexAttrib1dvNV 761 -#define _gloffset_VertexAttrib1fNV 762 -#define _gloffset_VertexAttrib1fvNV 763 -#define _gloffset_VertexAttrib1sNV 764 -#define _gloffset_VertexAttrib1svNV 765 -#define _gloffset_VertexAttrib2dNV 766 -#define _gloffset_VertexAttrib2dvNV 767 -#define _gloffset_VertexAttrib2fNV 768 -#define _gloffset_VertexAttrib2fvNV 769 -#define _gloffset_VertexAttrib2sNV 770 -#define _gloffset_VertexAttrib2svNV 771 -#define _gloffset_VertexAttrib3dNV 772 -#define _gloffset_VertexAttrib3dvNV 773 -#define _gloffset_VertexAttrib3fNV 774 -#define _gloffset_VertexAttrib3fvNV 775 -#define _gloffset_VertexAttrib3sNV 776 -#define _gloffset_VertexAttrib3svNV 777 -#define _gloffset_VertexAttrib4dNV 778 -#define _gloffset_VertexAttrib4dvNV 779 -#define _gloffset_VertexAttrib4fNV 780 -#define _gloffset_VertexAttrib4fvNV 781 -#define _gloffset_VertexAttrib4sNV 782 -#define _gloffset_VertexAttrib4svNV 783 -#define _gloffset_VertexAttrib4ubNV 784 -#define _gloffset_VertexAttrib4ubvNV 785 -#define _gloffset_VertexAttribPointerNV 786 -#define _gloffset_VertexAttribs1dvNV 787 -#define _gloffset_VertexAttribs1fvNV 788 -#define _gloffset_VertexAttribs1svNV 789 -#define _gloffset_VertexAttribs2dvNV 790 -#define _gloffset_VertexAttribs2fvNV 791 -#define _gloffset_VertexAttribs2svNV 792 -#define _gloffset_VertexAttribs3dvNV 793 -#define _gloffset_VertexAttribs3fvNV 794 -#define _gloffset_VertexAttribs3svNV 795 -#define _gloffset_VertexAttribs4dvNV 796 -#define _gloffset_VertexAttribs4fvNV 797 -#define _gloffset_VertexAttribs4svNV 798 -#define _gloffset_VertexAttribs4ubvNV 799 -#define _gloffset_GetTexBumpParameterfvATI 800 -#define _gloffset_GetTexBumpParameterivATI 801 -#define _gloffset_TexBumpParameterfvATI 802 -#define _gloffset_TexBumpParameterivATI 803 -#define _gloffset_AlphaFragmentOp1ATI 804 -#define _gloffset_AlphaFragmentOp2ATI 805 -#define _gloffset_AlphaFragmentOp3ATI 806 -#define _gloffset_BeginFragmentShaderATI 807 -#define _gloffset_BindFragmentShaderATI 808 -#define _gloffset_ColorFragmentOp1ATI 809 -#define _gloffset_ColorFragmentOp2ATI 810 -#define _gloffset_ColorFragmentOp3ATI 811 -#define _gloffset_DeleteFragmentShaderATI 812 -#define _gloffset_EndFragmentShaderATI 813 -#define _gloffset_GenFragmentShadersATI 814 -#define _gloffset_PassTexCoordATI 815 -#define _gloffset_SampleMapATI 816 -#define _gloffset_SetFragmentShaderConstantATI 817 -#define _gloffset_PointParameteriNV 818 -#define _gloffset_PointParameterivNV 819 -#define _gloffset_ActiveStencilFaceEXT 820 -#define _gloffset_BindVertexArrayAPPLE 821 -#define _gloffset_DeleteVertexArraysAPPLE 822 -#define _gloffset_GenVertexArraysAPPLE 823 -#define _gloffset_IsVertexArrayAPPLE 824 -#define _gloffset_GetProgramNamedParameterdvNV 825 -#define _gloffset_GetProgramNamedParameterfvNV 826 -#define _gloffset_ProgramNamedParameter4dNV 827 -#define _gloffset_ProgramNamedParameter4dvNV 828 -#define _gloffset_ProgramNamedParameter4fNV 829 -#define _gloffset_ProgramNamedParameter4fvNV 830 -#define _gloffset_PrimitiveRestartIndexNV 831 -#define _gloffset_PrimitiveRestartNV 832 -#define _gloffset_DepthBoundsEXT 833 -#define _gloffset_BlendEquationSeparateEXT 834 -#define _gloffset_BindFramebufferEXT 835 -#define _gloffset_BindRenderbufferEXT 836 -#define _gloffset_CheckFramebufferStatusEXT 837 -#define _gloffset_DeleteFramebuffersEXT 838 -#define _gloffset_DeleteRenderbuffersEXT 839 -#define _gloffset_FramebufferRenderbufferEXT 840 -#define _gloffset_FramebufferTexture1DEXT 841 -#define _gloffset_FramebufferTexture2DEXT 842 -#define _gloffset_FramebufferTexture3DEXT 843 -#define _gloffset_GenFramebuffersEXT 844 -#define _gloffset_GenRenderbuffersEXT 845 -#define _gloffset_GenerateMipmapEXT 846 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 847 -#define _gloffset_GetRenderbufferParameterivEXT 848 -#define _gloffset_IsFramebufferEXT 849 -#define _gloffset_IsRenderbufferEXT 850 -#define _gloffset_RenderbufferStorageEXT 851 -#define _gloffset_BlitFramebufferEXT 852 -#define _gloffset_BufferParameteriAPPLE 853 -#define _gloffset_FlushMappedBufferRangeAPPLE 854 -#define _gloffset_BindFragDataLocationEXT 855 -#define _gloffset_GetFragDataLocationEXT 856 -#define _gloffset_GetUniformuivEXT 857 -#define _gloffset_GetVertexAttribIivEXT 858 -#define _gloffset_GetVertexAttribIuivEXT 859 -#define _gloffset_Uniform1uiEXT 860 -#define _gloffset_Uniform1uivEXT 861 -#define _gloffset_Uniform2uiEXT 862 -#define _gloffset_Uniform2uivEXT 863 -#define _gloffset_Uniform3uiEXT 864 -#define _gloffset_Uniform3uivEXT 865 -#define _gloffset_Uniform4uiEXT 866 -#define _gloffset_Uniform4uivEXT 867 -#define _gloffset_VertexAttribI1iEXT 868 -#define _gloffset_VertexAttribI1ivEXT 869 -#define _gloffset_VertexAttribI1uiEXT 870 -#define _gloffset_VertexAttribI1uivEXT 871 -#define _gloffset_VertexAttribI2iEXT 872 -#define _gloffset_VertexAttribI2ivEXT 873 -#define _gloffset_VertexAttribI2uiEXT 874 -#define _gloffset_VertexAttribI2uivEXT 875 -#define _gloffset_VertexAttribI3iEXT 876 -#define _gloffset_VertexAttribI3ivEXT 877 -#define _gloffset_VertexAttribI3uiEXT 878 -#define _gloffset_VertexAttribI3uivEXT 879 -#define _gloffset_VertexAttribI4bvEXT 880 -#define _gloffset_VertexAttribI4iEXT 881 -#define _gloffset_VertexAttribI4ivEXT 882 -#define _gloffset_VertexAttribI4svEXT 883 -#define _gloffset_VertexAttribI4ubvEXT 884 -#define _gloffset_VertexAttribI4uiEXT 885 -#define _gloffset_VertexAttribI4uivEXT 886 -#define _gloffset_VertexAttribI4usvEXT 887 -#define _gloffset_VertexAttribIPointerEXT 888 -#define _gloffset_FramebufferTextureLayerEXT 889 -#define _gloffset_ColorMaskIndexedEXT 890 -#define _gloffset_DisableIndexedEXT 891 -#define _gloffset_EnableIndexedEXT 892 -#define _gloffset_GetBooleanIndexedvEXT 893 -#define _gloffset_GetIntegerIndexedvEXT 894 -#define _gloffset_IsEnabledIndexedEXT 895 -#define _gloffset_ClearColorIiEXT 896 -#define _gloffset_ClearColorIuiEXT 897 -#define _gloffset_GetTexParameterIivEXT 898 -#define _gloffset_GetTexParameterIuivEXT 899 -#define _gloffset_TexParameterIivEXT 900 -#define _gloffset_TexParameterIuivEXT 901 -#define _gloffset_BeginConditionalRenderNV 902 -#define _gloffset_EndConditionalRenderNV 903 -#define _gloffset_BeginTransformFeedbackEXT 904 -#define _gloffset_BindBufferBaseEXT 905 -#define _gloffset_BindBufferOffsetEXT 906 -#define _gloffset_BindBufferRangeEXT 907 -#define _gloffset_EndTransformFeedbackEXT 908 -#define _gloffset_GetTransformFeedbackVaryingEXT 909 -#define _gloffset_TransformFeedbackVaryingsEXT 910 -#define _gloffset_ProvokingVertexEXT 911 -#define _gloffset_GetTexParameterPointervAPPLE 912 -#define _gloffset_TextureRangeAPPLE 913 -#define _gloffset_GetObjectParameterivAPPLE 914 -#define _gloffset_ObjectPurgeableAPPLE 915 -#define _gloffset_ObjectUnpurgeableAPPLE 916 -#define _gloffset_ActiveProgramEXT 917 -#define _gloffset_CreateShaderProgramEXT 918 -#define _gloffset_UseShaderProgramEXT 919 -#define _gloffset_TextureBarrierNV 920 -#define _gloffset_StencilFuncSeparateATI 921 -#define _gloffset_ProgramEnvParameters4fvEXT 922 -#define _gloffset_ProgramLocalParameters4fvEXT 923 -#define _gloffset_GetQueryObjecti64vEXT 924 -#define _gloffset_GetQueryObjectui64vEXT 925 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 926 -#define _gloffset_EGLImageTargetTexture2DOES 927 +#define _gloffset_DrawElementsInstancedBaseVertex 594 +#define _gloffset_DrawRangeElementsBaseVertex 595 +#define _gloffset_MultiDrawElementsBaseVertex 596 +#define _gloffset_BlendEquationSeparateiARB 597 +#define _gloffset_BlendEquationiARB 598 +#define _gloffset_BlendFuncSeparateiARB 599 +#define _gloffset_BlendFunciARB 600 +#define _gloffset_BindSampler 601 +#define _gloffset_DeleteSamplers 602 +#define _gloffset_GenSamplers 603 +#define _gloffset_GetSamplerParameterIiv 604 +#define _gloffset_GetSamplerParameterIuiv 605 +#define _gloffset_GetSamplerParameterfv 606 +#define _gloffset_GetSamplerParameteriv 607 +#define _gloffset_IsSampler 608 +#define _gloffset_SamplerParameterIiv 609 +#define _gloffset_SamplerParameterIuiv 610 +#define _gloffset_SamplerParameterf 611 +#define _gloffset_SamplerParameterfv 612 +#define _gloffset_SamplerParameteri 613 +#define _gloffset_SamplerParameteriv 614 +#define _gloffset_BindTransformFeedback 615 +#define _gloffset_DeleteTransformFeedbacks 616 +#define _gloffset_DrawTransformFeedback 617 +#define _gloffset_GenTransformFeedbacks 618 +#define _gloffset_IsTransformFeedback 619 +#define _gloffset_PauseTransformFeedback 620 +#define _gloffset_ResumeTransformFeedback 621 +#define _gloffset_ClearDepthf 622 +#define _gloffset_DepthRangef 623 +#define _gloffset_GetShaderPrecisionFormat 624 +#define _gloffset_ReleaseShaderCompiler 625 +#define _gloffset_ShaderBinary 626 +#define _gloffset_GetGraphicsResetStatusARB 627 +#define _gloffset_GetnColorTableARB 628 +#define _gloffset_GetnCompressedTexImageARB 629 +#define _gloffset_GetnConvolutionFilterARB 630 +#define _gloffset_GetnHistogramARB 631 +#define _gloffset_GetnMapdvARB 632 +#define _gloffset_GetnMapfvARB 633 +#define _gloffset_GetnMapivARB 634 +#define _gloffset_GetnMinmaxARB 635 +#define _gloffset_GetnPixelMapfvARB 636 +#define _gloffset_GetnPixelMapuivARB 637 +#define _gloffset_GetnPixelMapusvARB 638 +#define _gloffset_GetnPolygonStippleARB 639 +#define _gloffset_GetnSeparableFilterARB 640 +#define _gloffset_GetnTexImageARB 641 +#define _gloffset_GetnUniformdvARB 642 +#define _gloffset_GetnUniformfvARB 643 +#define _gloffset_GetnUniformivARB 644 +#define _gloffset_GetnUniformuivARB 645 +#define _gloffset_ReadnPixelsARB 646 +#define _gloffset_PolygonOffsetEXT 647 +#define _gloffset_GetPixelTexGenParameterfvSGIS 648 +#define _gloffset_GetPixelTexGenParameterivSGIS 649 +#define _gloffset_PixelTexGenParameterfSGIS 650 +#define _gloffset_PixelTexGenParameterfvSGIS 651 +#define _gloffset_PixelTexGenParameteriSGIS 652 +#define _gloffset_PixelTexGenParameterivSGIS 653 +#define _gloffset_SampleMaskSGIS 654 +#define _gloffset_SamplePatternSGIS 655 +#define _gloffset_ColorPointerEXT 656 +#define _gloffset_EdgeFlagPointerEXT 657 +#define _gloffset_IndexPointerEXT 658 +#define _gloffset_NormalPointerEXT 659 +#define _gloffset_TexCoordPointerEXT 660 +#define _gloffset_VertexPointerEXT 661 +#define _gloffset_PointParameterfEXT 662 +#define _gloffset_PointParameterfvEXT 663 +#define _gloffset_LockArraysEXT 664 +#define _gloffset_UnlockArraysEXT 665 +#define _gloffset_SecondaryColor3bEXT 666 +#define _gloffset_SecondaryColor3bvEXT 667 +#define _gloffset_SecondaryColor3dEXT 668 +#define _gloffset_SecondaryColor3dvEXT 669 +#define _gloffset_SecondaryColor3fEXT 670 +#define _gloffset_SecondaryColor3fvEXT 671 +#define _gloffset_SecondaryColor3iEXT 672 +#define _gloffset_SecondaryColor3ivEXT 673 +#define _gloffset_SecondaryColor3sEXT 674 +#define _gloffset_SecondaryColor3svEXT 675 +#define _gloffset_SecondaryColor3ubEXT 676 +#define _gloffset_SecondaryColor3ubvEXT 677 +#define _gloffset_SecondaryColor3uiEXT 678 +#define _gloffset_SecondaryColor3uivEXT 679 +#define _gloffset_SecondaryColor3usEXT 680 +#define _gloffset_SecondaryColor3usvEXT 681 +#define _gloffset_SecondaryColorPointerEXT 682 +#define _gloffset_MultiDrawArraysEXT 683 +#define _gloffset_MultiDrawElementsEXT 684 +#define _gloffset_FogCoordPointerEXT 685 +#define _gloffset_FogCoorddEXT 686 +#define _gloffset_FogCoorddvEXT 687 +#define _gloffset_FogCoordfEXT 688 +#define _gloffset_FogCoordfvEXT 689 +#define _gloffset_PixelTexGenSGIX 690 +#define _gloffset_BlendFuncSeparateEXT 691 +#define _gloffset_FlushVertexArrayRangeNV 692 +#define _gloffset_VertexArrayRangeNV 693 +#define _gloffset_CombinerInputNV 694 +#define _gloffset_CombinerOutputNV 695 +#define _gloffset_CombinerParameterfNV 696 +#define _gloffset_CombinerParameterfvNV 697 +#define _gloffset_CombinerParameteriNV 698 +#define _gloffset_CombinerParameterivNV 699 +#define _gloffset_FinalCombinerInputNV 700 +#define _gloffset_GetCombinerInputParameterfvNV 701 +#define _gloffset_GetCombinerInputParameterivNV 702 +#define _gloffset_GetCombinerOutputParameterfvNV 703 +#define _gloffset_GetCombinerOutputParameterivNV 704 +#define _gloffset_GetFinalCombinerInputParameterfvNV 705 +#define _gloffset_GetFinalCombinerInputParameterivNV 706 +#define _gloffset_ResizeBuffersMESA 707 +#define _gloffset_WindowPos2dMESA 708 +#define _gloffset_WindowPos2dvMESA 709 +#define _gloffset_WindowPos2fMESA 710 +#define _gloffset_WindowPos2fvMESA 711 +#define _gloffset_WindowPos2iMESA 712 +#define _gloffset_WindowPos2ivMESA 713 +#define _gloffset_WindowPos2sMESA 714 +#define _gloffset_WindowPos2svMESA 715 +#define _gloffset_WindowPos3dMESA 716 +#define _gloffset_WindowPos3dvMESA 717 +#define _gloffset_WindowPos3fMESA 718 +#define _gloffset_WindowPos3fvMESA 719 +#define _gloffset_WindowPos3iMESA 720 +#define _gloffset_WindowPos3ivMESA 721 +#define _gloffset_WindowPos3sMESA 722 +#define _gloffset_WindowPos3svMESA 723 +#define _gloffset_WindowPos4dMESA 724 +#define _gloffset_WindowPos4dvMESA 725 +#define _gloffset_WindowPos4fMESA 726 +#define _gloffset_WindowPos4fvMESA 727 +#define _gloffset_WindowPos4iMESA 728 +#define _gloffset_WindowPos4ivMESA 729 +#define _gloffset_WindowPos4sMESA 730 +#define _gloffset_WindowPos4svMESA 731 +#define _gloffset_MultiModeDrawArraysIBM 732 +#define _gloffset_MultiModeDrawElementsIBM 733 +#define _gloffset_DeleteFencesNV 734 +#define _gloffset_FinishFenceNV 735 +#define _gloffset_GenFencesNV 736 +#define _gloffset_GetFenceivNV 737 +#define _gloffset_IsFenceNV 738 +#define _gloffset_SetFenceNV 739 +#define _gloffset_TestFenceNV 740 +#define _gloffset_AreProgramsResidentNV 741 +#define _gloffset_BindProgramNV 742 +#define _gloffset_DeleteProgramsNV 743 +#define _gloffset_ExecuteProgramNV 744 +#define _gloffset_GenProgramsNV 745 +#define _gloffset_GetProgramParameterdvNV 746 +#define _gloffset_GetProgramParameterfvNV 747 +#define _gloffset_GetProgramStringNV 748 +#define _gloffset_GetProgramivNV 749 +#define _gloffset_GetTrackMatrixivNV 750 +#define _gloffset_GetVertexAttribPointervNV 751 +#define _gloffset_GetVertexAttribdvNV 752 +#define _gloffset_GetVertexAttribfvNV 753 +#define _gloffset_GetVertexAttribivNV 754 +#define _gloffset_IsProgramNV 755 +#define _gloffset_LoadProgramNV 756 +#define _gloffset_ProgramParameters4dvNV 757 +#define _gloffset_ProgramParameters4fvNV 758 +#define _gloffset_RequestResidentProgramsNV 759 +#define _gloffset_TrackMatrixNV 760 +#define _gloffset_VertexAttrib1dNV 761 +#define _gloffset_VertexAttrib1dvNV 762 +#define _gloffset_VertexAttrib1fNV 763 +#define _gloffset_VertexAttrib1fvNV 764 +#define _gloffset_VertexAttrib1sNV 765 +#define _gloffset_VertexAttrib1svNV 766 +#define _gloffset_VertexAttrib2dNV 767 +#define _gloffset_VertexAttrib2dvNV 768 +#define _gloffset_VertexAttrib2fNV 769 +#define _gloffset_VertexAttrib2fvNV 770 +#define _gloffset_VertexAttrib2sNV 771 +#define _gloffset_VertexAttrib2svNV 772 +#define _gloffset_VertexAttrib3dNV 773 +#define _gloffset_VertexAttrib3dvNV 774 +#define _gloffset_VertexAttrib3fNV 775 +#define _gloffset_VertexAttrib3fvNV 776 +#define _gloffset_VertexAttrib3sNV 777 +#define _gloffset_VertexAttrib3svNV 778 +#define _gloffset_VertexAttrib4dNV 779 +#define _gloffset_VertexAttrib4dvNV 780 +#define _gloffset_VertexAttrib4fNV 781 +#define _gloffset_VertexAttrib4fvNV 782 +#define _gloffset_VertexAttrib4sNV 783 +#define _gloffset_VertexAttrib4svNV 784 +#define _gloffset_VertexAttrib4ubNV 785 +#define _gloffset_VertexAttrib4ubvNV 786 +#define _gloffset_VertexAttribPointerNV 787 +#define _gloffset_VertexAttribs1dvNV 788 +#define _gloffset_VertexAttribs1fvNV 789 +#define _gloffset_VertexAttribs1svNV 790 +#define _gloffset_VertexAttribs2dvNV 791 +#define _gloffset_VertexAttribs2fvNV 792 +#define _gloffset_VertexAttribs2svNV 793 +#define _gloffset_VertexAttribs3dvNV 794 +#define _gloffset_VertexAttribs3fvNV 795 +#define _gloffset_VertexAttribs3svNV 796 +#define _gloffset_VertexAttribs4dvNV 797 +#define _gloffset_VertexAttribs4fvNV 798 +#define _gloffset_VertexAttribs4svNV 799 +#define _gloffset_VertexAttribs4ubvNV 800 +#define _gloffset_GetTexBumpParameterfvATI 801 +#define _gloffset_GetTexBumpParameterivATI 802 +#define _gloffset_TexBumpParameterfvATI 803 +#define _gloffset_TexBumpParameterivATI 804 +#define _gloffset_AlphaFragmentOp1ATI 805 +#define _gloffset_AlphaFragmentOp2ATI 806 +#define _gloffset_AlphaFragmentOp3ATI 807 +#define _gloffset_BeginFragmentShaderATI 808 +#define _gloffset_BindFragmentShaderATI 809 +#define _gloffset_ColorFragmentOp1ATI 810 +#define _gloffset_ColorFragmentOp2ATI 811 +#define _gloffset_ColorFragmentOp3ATI 812 +#define _gloffset_DeleteFragmentShaderATI 813 +#define _gloffset_EndFragmentShaderATI 814 +#define _gloffset_GenFragmentShadersATI 815 +#define _gloffset_PassTexCoordATI 816 +#define _gloffset_SampleMapATI 817 +#define _gloffset_SetFragmentShaderConstantATI 818 +#define _gloffset_PointParameteriNV 819 +#define _gloffset_PointParameterivNV 820 +#define _gloffset_ActiveStencilFaceEXT 821 +#define _gloffset_BindVertexArrayAPPLE 822 +#define _gloffset_DeleteVertexArraysAPPLE 823 +#define _gloffset_GenVertexArraysAPPLE 824 +#define _gloffset_IsVertexArrayAPPLE 825 +#define _gloffset_GetProgramNamedParameterdvNV 826 +#define _gloffset_GetProgramNamedParameterfvNV 827 +#define _gloffset_ProgramNamedParameter4dNV 828 +#define _gloffset_ProgramNamedParameter4dvNV 829 +#define _gloffset_ProgramNamedParameter4fNV 830 +#define _gloffset_ProgramNamedParameter4fvNV 831 +#define _gloffset_PrimitiveRestartIndexNV 832 +#define _gloffset_PrimitiveRestartNV 833 +#define _gloffset_DepthBoundsEXT 834 +#define _gloffset_BlendEquationSeparateEXT 835 +#define _gloffset_BindFramebufferEXT 836 +#define _gloffset_BindRenderbufferEXT 837 +#define _gloffset_CheckFramebufferStatusEXT 838 +#define _gloffset_DeleteFramebuffersEXT 839 +#define _gloffset_DeleteRenderbuffersEXT 840 +#define _gloffset_FramebufferRenderbufferEXT 841 +#define _gloffset_FramebufferTexture1DEXT 842 +#define _gloffset_FramebufferTexture2DEXT 843 +#define _gloffset_FramebufferTexture3DEXT 844 +#define _gloffset_GenFramebuffersEXT 845 +#define _gloffset_GenRenderbuffersEXT 846 +#define _gloffset_GenerateMipmapEXT 847 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 848 +#define _gloffset_GetRenderbufferParameterivEXT 849 +#define _gloffset_IsFramebufferEXT 850 +#define _gloffset_IsRenderbufferEXT 851 +#define _gloffset_RenderbufferStorageEXT 852 +#define _gloffset_BlitFramebufferEXT 853 +#define _gloffset_BufferParameteriAPPLE 854 +#define _gloffset_FlushMappedBufferRangeAPPLE 855 +#define _gloffset_BindFragDataLocationEXT 856 +#define _gloffset_GetFragDataLocationEXT 857 +#define _gloffset_GetUniformuivEXT 858 +#define _gloffset_GetVertexAttribIivEXT 859 +#define _gloffset_GetVertexAttribIuivEXT 860 +#define _gloffset_Uniform1uiEXT 861 +#define _gloffset_Uniform1uivEXT 862 +#define _gloffset_Uniform2uiEXT 863 +#define _gloffset_Uniform2uivEXT 864 +#define _gloffset_Uniform3uiEXT 865 +#define _gloffset_Uniform3uivEXT 866 +#define _gloffset_Uniform4uiEXT 867 +#define _gloffset_Uniform4uivEXT 868 +#define _gloffset_VertexAttribI1iEXT 869 +#define _gloffset_VertexAttribI1ivEXT 870 +#define _gloffset_VertexAttribI1uiEXT 871 +#define _gloffset_VertexAttribI1uivEXT 872 +#define _gloffset_VertexAttribI2iEXT 873 +#define _gloffset_VertexAttribI2ivEXT 874 +#define _gloffset_VertexAttribI2uiEXT 875 +#define _gloffset_VertexAttribI2uivEXT 876 +#define _gloffset_VertexAttribI3iEXT 877 +#define _gloffset_VertexAttribI3ivEXT 878 +#define _gloffset_VertexAttribI3uiEXT 879 +#define _gloffset_VertexAttribI3uivEXT 880 +#define _gloffset_VertexAttribI4bvEXT 881 +#define _gloffset_VertexAttribI4iEXT 882 +#define _gloffset_VertexAttribI4ivEXT 883 +#define _gloffset_VertexAttribI4svEXT 884 +#define _gloffset_VertexAttribI4ubvEXT 885 +#define _gloffset_VertexAttribI4uiEXT 886 +#define _gloffset_VertexAttribI4uivEXT 887 +#define _gloffset_VertexAttribI4usvEXT 888 +#define _gloffset_VertexAttribIPointerEXT 889 +#define _gloffset_FramebufferTextureLayerEXT 890 +#define _gloffset_ColorMaskIndexedEXT 891 +#define _gloffset_DisableIndexedEXT 892 +#define _gloffset_EnableIndexedEXT 893 +#define _gloffset_GetBooleanIndexedvEXT 894 +#define _gloffset_GetIntegerIndexedvEXT 895 +#define _gloffset_IsEnabledIndexedEXT 896 +#define _gloffset_ClearColorIiEXT 897 +#define _gloffset_ClearColorIuiEXT 898 +#define _gloffset_GetTexParameterIivEXT 899 +#define _gloffset_GetTexParameterIuivEXT 900 +#define _gloffset_TexParameterIivEXT 901 +#define _gloffset_TexParameterIuivEXT 902 +#define _gloffset_BeginConditionalRenderNV 903 +#define _gloffset_EndConditionalRenderNV 904 +#define _gloffset_BeginTransformFeedbackEXT 905 +#define _gloffset_BindBufferBaseEXT 906 +#define _gloffset_BindBufferOffsetEXT 907 +#define _gloffset_BindBufferRangeEXT 908 +#define _gloffset_EndTransformFeedbackEXT 909 +#define _gloffset_GetTransformFeedbackVaryingEXT 910 +#define _gloffset_TransformFeedbackVaryingsEXT 911 +#define _gloffset_ProvokingVertexEXT 912 +#define _gloffset_GetTexParameterPointervAPPLE 913 +#define _gloffset_TextureRangeAPPLE 914 +#define _gloffset_GetObjectParameterivAPPLE 915 +#define _gloffset_ObjectPurgeableAPPLE 916 +#define _gloffset_ObjectUnpurgeableAPPLE 917 +#define _gloffset_ActiveProgramEXT 918 +#define _gloffset_CreateShaderProgramEXT 919 +#define _gloffset_UseShaderProgramEXT 920 +#define _gloffset_TextureBarrierNV 921 +#define _gloffset_StencilFuncSeparateATI 922 +#define _gloffset_ProgramEnvParameters4fvEXT 923 +#define _gloffset_ProgramLocalParameters4fvEXT 924 +#define _gloffset_GetQueryObjecti64vEXT 925 +#define _gloffset_GetQueryObjectui64vEXT 926 +#define _gloffset_EGLImageTargetRenderbufferStorageOES 927 +#define _gloffset_EGLImageTargetTexture2DOES 928 #else /* !_GLAPI_USE_REMAP_TABLE */ -#define driDispatchRemapTable_size 520 +#define driDispatchRemapTable_size 521 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -1184,340 +1185,341 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define IsSync_remap_index 183 #define WaitSync_remap_index 184 #define DrawElementsBaseVertex_remap_index 185 -#define DrawRangeElementsBaseVertex_remap_index 186 -#define MultiDrawElementsBaseVertex_remap_index 187 -#define BlendEquationSeparateiARB_remap_index 188 -#define BlendEquationiARB_remap_index 189 -#define BlendFuncSeparateiARB_remap_index 190 -#define BlendFunciARB_remap_index 191 -#define BindSampler_remap_index 192 -#define DeleteSamplers_remap_index 193 -#define GenSamplers_remap_index 194 -#define GetSamplerParameterIiv_remap_index 195 -#define GetSamplerParameterIuiv_remap_index 196 -#define GetSamplerParameterfv_remap_index 197 -#define GetSamplerParameteriv_remap_index 198 -#define IsSampler_remap_index 199 -#define SamplerParameterIiv_remap_index 200 -#define SamplerParameterIuiv_remap_index 201 -#define SamplerParameterf_remap_index 202 -#define SamplerParameterfv_remap_index 203 -#define SamplerParameteri_remap_index 204 -#define SamplerParameteriv_remap_index 205 -#define BindTransformFeedback_remap_index 206 -#define DeleteTransformFeedbacks_remap_index 207 -#define DrawTransformFeedback_remap_index 208 -#define GenTransformFeedbacks_remap_index 209 -#define IsTransformFeedback_remap_index 210 -#define PauseTransformFeedback_remap_index 211 -#define ResumeTransformFeedback_remap_index 212 -#define ClearDepthf_remap_index 213 -#define DepthRangef_remap_index 214 -#define GetShaderPrecisionFormat_remap_index 215 -#define ReleaseShaderCompiler_remap_index 216 -#define ShaderBinary_remap_index 217 -#define GetGraphicsResetStatusARB_remap_index 218 -#define GetnColorTableARB_remap_index 219 -#define GetnCompressedTexImageARB_remap_index 220 -#define GetnConvolutionFilterARB_remap_index 221 -#define GetnHistogramARB_remap_index 222 -#define GetnMapdvARB_remap_index 223 -#define GetnMapfvARB_remap_index 224 -#define GetnMapivARB_remap_index 225 -#define GetnMinmaxARB_remap_index 226 -#define GetnPixelMapfvARB_remap_index 227 -#define GetnPixelMapuivARB_remap_index 228 -#define GetnPixelMapusvARB_remap_index 229 -#define GetnPolygonStippleARB_remap_index 230 -#define GetnSeparableFilterARB_remap_index 231 -#define GetnTexImageARB_remap_index 232 -#define GetnUniformdvARB_remap_index 233 -#define GetnUniformfvARB_remap_index 234 -#define GetnUniformivARB_remap_index 235 -#define GetnUniformuivARB_remap_index 236 -#define ReadnPixelsARB_remap_index 237 -#define PolygonOffsetEXT_remap_index 238 -#define GetPixelTexGenParameterfvSGIS_remap_index 239 -#define GetPixelTexGenParameterivSGIS_remap_index 240 -#define PixelTexGenParameterfSGIS_remap_index 241 -#define PixelTexGenParameterfvSGIS_remap_index 242 -#define PixelTexGenParameteriSGIS_remap_index 243 -#define PixelTexGenParameterivSGIS_remap_index 244 -#define SampleMaskSGIS_remap_index 245 -#define SamplePatternSGIS_remap_index 246 -#define ColorPointerEXT_remap_index 247 -#define EdgeFlagPointerEXT_remap_index 248 -#define IndexPointerEXT_remap_index 249 -#define NormalPointerEXT_remap_index 250 -#define TexCoordPointerEXT_remap_index 251 -#define VertexPointerEXT_remap_index 252 -#define PointParameterfEXT_remap_index 253 -#define PointParameterfvEXT_remap_index 254 -#define LockArraysEXT_remap_index 255 -#define UnlockArraysEXT_remap_index 256 -#define SecondaryColor3bEXT_remap_index 257 -#define SecondaryColor3bvEXT_remap_index 258 -#define SecondaryColor3dEXT_remap_index 259 -#define SecondaryColor3dvEXT_remap_index 260 -#define SecondaryColor3fEXT_remap_index 261 -#define SecondaryColor3fvEXT_remap_index 262 -#define SecondaryColor3iEXT_remap_index 263 -#define SecondaryColor3ivEXT_remap_index 264 -#define SecondaryColor3sEXT_remap_index 265 -#define SecondaryColor3svEXT_remap_index 266 -#define SecondaryColor3ubEXT_remap_index 267 -#define SecondaryColor3ubvEXT_remap_index 268 -#define SecondaryColor3uiEXT_remap_index 269 -#define SecondaryColor3uivEXT_remap_index 270 -#define SecondaryColor3usEXT_remap_index 271 -#define SecondaryColor3usvEXT_remap_index 272 -#define SecondaryColorPointerEXT_remap_index 273 -#define MultiDrawArraysEXT_remap_index 274 -#define MultiDrawElementsEXT_remap_index 275 -#define FogCoordPointerEXT_remap_index 276 -#define FogCoorddEXT_remap_index 277 -#define FogCoorddvEXT_remap_index 278 -#define FogCoordfEXT_remap_index 279 -#define FogCoordfvEXT_remap_index 280 -#define PixelTexGenSGIX_remap_index 281 -#define BlendFuncSeparateEXT_remap_index 282 -#define FlushVertexArrayRangeNV_remap_index 283 -#define VertexArrayRangeNV_remap_index 284 -#define CombinerInputNV_remap_index 285 -#define CombinerOutputNV_remap_index 286 -#define CombinerParameterfNV_remap_index 287 -#define CombinerParameterfvNV_remap_index 288 -#define CombinerParameteriNV_remap_index 289 -#define CombinerParameterivNV_remap_index 290 -#define FinalCombinerInputNV_remap_index 291 -#define GetCombinerInputParameterfvNV_remap_index 292 -#define GetCombinerInputParameterivNV_remap_index 293 -#define GetCombinerOutputParameterfvNV_remap_index 294 -#define GetCombinerOutputParameterivNV_remap_index 295 -#define GetFinalCombinerInputParameterfvNV_remap_index 296 -#define GetFinalCombinerInputParameterivNV_remap_index 297 -#define ResizeBuffersMESA_remap_index 298 -#define WindowPos2dMESA_remap_index 299 -#define WindowPos2dvMESA_remap_index 300 -#define WindowPos2fMESA_remap_index 301 -#define WindowPos2fvMESA_remap_index 302 -#define WindowPos2iMESA_remap_index 303 -#define WindowPos2ivMESA_remap_index 304 -#define WindowPos2sMESA_remap_index 305 -#define WindowPos2svMESA_remap_index 306 -#define WindowPos3dMESA_remap_index 307 -#define WindowPos3dvMESA_remap_index 308 -#define WindowPos3fMESA_remap_index 309 -#define WindowPos3fvMESA_remap_index 310 -#define WindowPos3iMESA_remap_index 311 -#define WindowPos3ivMESA_remap_index 312 -#define WindowPos3sMESA_remap_index 313 -#define WindowPos3svMESA_remap_index 314 -#define WindowPos4dMESA_remap_index 315 -#define WindowPos4dvMESA_remap_index 316 -#define WindowPos4fMESA_remap_index 317 -#define WindowPos4fvMESA_remap_index 318 -#define WindowPos4iMESA_remap_index 319 -#define WindowPos4ivMESA_remap_index 320 -#define WindowPos4sMESA_remap_index 321 -#define WindowPos4svMESA_remap_index 322 -#define MultiModeDrawArraysIBM_remap_index 323 -#define MultiModeDrawElementsIBM_remap_index 324 -#define DeleteFencesNV_remap_index 325 -#define FinishFenceNV_remap_index 326 -#define GenFencesNV_remap_index 327 -#define GetFenceivNV_remap_index 328 -#define IsFenceNV_remap_index 329 -#define SetFenceNV_remap_index 330 -#define TestFenceNV_remap_index 331 -#define AreProgramsResidentNV_remap_index 332 -#define BindProgramNV_remap_index 333 -#define DeleteProgramsNV_remap_index 334 -#define ExecuteProgramNV_remap_index 335 -#define GenProgramsNV_remap_index 336 -#define GetProgramParameterdvNV_remap_index 337 -#define GetProgramParameterfvNV_remap_index 338 -#define GetProgramStringNV_remap_index 339 -#define GetProgramivNV_remap_index 340 -#define GetTrackMatrixivNV_remap_index 341 -#define GetVertexAttribPointervNV_remap_index 342 -#define GetVertexAttribdvNV_remap_index 343 -#define GetVertexAttribfvNV_remap_index 344 -#define GetVertexAttribivNV_remap_index 345 -#define IsProgramNV_remap_index 346 -#define LoadProgramNV_remap_index 347 -#define ProgramParameters4dvNV_remap_index 348 -#define ProgramParameters4fvNV_remap_index 349 -#define RequestResidentProgramsNV_remap_index 350 -#define TrackMatrixNV_remap_index 351 -#define VertexAttrib1dNV_remap_index 352 -#define VertexAttrib1dvNV_remap_index 353 -#define VertexAttrib1fNV_remap_index 354 -#define VertexAttrib1fvNV_remap_index 355 -#define VertexAttrib1sNV_remap_index 356 -#define VertexAttrib1svNV_remap_index 357 -#define VertexAttrib2dNV_remap_index 358 -#define VertexAttrib2dvNV_remap_index 359 -#define VertexAttrib2fNV_remap_index 360 -#define VertexAttrib2fvNV_remap_index 361 -#define VertexAttrib2sNV_remap_index 362 -#define VertexAttrib2svNV_remap_index 363 -#define VertexAttrib3dNV_remap_index 364 -#define VertexAttrib3dvNV_remap_index 365 -#define VertexAttrib3fNV_remap_index 366 -#define VertexAttrib3fvNV_remap_index 367 -#define VertexAttrib3sNV_remap_index 368 -#define VertexAttrib3svNV_remap_index 369 -#define VertexAttrib4dNV_remap_index 370 -#define VertexAttrib4dvNV_remap_index 371 -#define VertexAttrib4fNV_remap_index 372 -#define VertexAttrib4fvNV_remap_index 373 -#define VertexAttrib4sNV_remap_index 374 -#define VertexAttrib4svNV_remap_index 375 -#define VertexAttrib4ubNV_remap_index 376 -#define VertexAttrib4ubvNV_remap_index 377 -#define VertexAttribPointerNV_remap_index 378 -#define VertexAttribs1dvNV_remap_index 379 -#define VertexAttribs1fvNV_remap_index 380 -#define VertexAttribs1svNV_remap_index 381 -#define VertexAttribs2dvNV_remap_index 382 -#define VertexAttribs2fvNV_remap_index 383 -#define VertexAttribs2svNV_remap_index 384 -#define VertexAttribs3dvNV_remap_index 385 -#define VertexAttribs3fvNV_remap_index 386 -#define VertexAttribs3svNV_remap_index 387 -#define VertexAttribs4dvNV_remap_index 388 -#define VertexAttribs4fvNV_remap_index 389 -#define VertexAttribs4svNV_remap_index 390 -#define VertexAttribs4ubvNV_remap_index 391 -#define GetTexBumpParameterfvATI_remap_index 392 -#define GetTexBumpParameterivATI_remap_index 393 -#define TexBumpParameterfvATI_remap_index 394 -#define TexBumpParameterivATI_remap_index 395 -#define AlphaFragmentOp1ATI_remap_index 396 -#define AlphaFragmentOp2ATI_remap_index 397 -#define AlphaFragmentOp3ATI_remap_index 398 -#define BeginFragmentShaderATI_remap_index 399 -#define BindFragmentShaderATI_remap_index 400 -#define ColorFragmentOp1ATI_remap_index 401 -#define ColorFragmentOp2ATI_remap_index 402 -#define ColorFragmentOp3ATI_remap_index 403 -#define DeleteFragmentShaderATI_remap_index 404 -#define EndFragmentShaderATI_remap_index 405 -#define GenFragmentShadersATI_remap_index 406 -#define PassTexCoordATI_remap_index 407 -#define SampleMapATI_remap_index 408 -#define SetFragmentShaderConstantATI_remap_index 409 -#define PointParameteriNV_remap_index 410 -#define PointParameterivNV_remap_index 411 -#define ActiveStencilFaceEXT_remap_index 412 -#define BindVertexArrayAPPLE_remap_index 413 -#define DeleteVertexArraysAPPLE_remap_index 414 -#define GenVertexArraysAPPLE_remap_index 415 -#define IsVertexArrayAPPLE_remap_index 416 -#define GetProgramNamedParameterdvNV_remap_index 417 -#define GetProgramNamedParameterfvNV_remap_index 418 -#define ProgramNamedParameter4dNV_remap_index 419 -#define ProgramNamedParameter4dvNV_remap_index 420 -#define ProgramNamedParameter4fNV_remap_index 421 -#define ProgramNamedParameter4fvNV_remap_index 422 -#define PrimitiveRestartIndexNV_remap_index 423 -#define PrimitiveRestartNV_remap_index 424 -#define DepthBoundsEXT_remap_index 425 -#define BlendEquationSeparateEXT_remap_index 426 -#define BindFramebufferEXT_remap_index 427 -#define BindRenderbufferEXT_remap_index 428 -#define CheckFramebufferStatusEXT_remap_index 429 -#define DeleteFramebuffersEXT_remap_index 430 -#define DeleteRenderbuffersEXT_remap_index 431 -#define FramebufferRenderbufferEXT_remap_index 432 -#define FramebufferTexture1DEXT_remap_index 433 -#define FramebufferTexture2DEXT_remap_index 434 -#define FramebufferTexture3DEXT_remap_index 435 -#define GenFramebuffersEXT_remap_index 436 -#define GenRenderbuffersEXT_remap_index 437 -#define GenerateMipmapEXT_remap_index 438 -#define GetFramebufferAttachmentParameterivEXT_remap_index 439 -#define GetRenderbufferParameterivEXT_remap_index 440 -#define IsFramebufferEXT_remap_index 441 -#define IsRenderbufferEXT_remap_index 442 -#define RenderbufferStorageEXT_remap_index 443 -#define BlitFramebufferEXT_remap_index 444 -#define BufferParameteriAPPLE_remap_index 445 -#define FlushMappedBufferRangeAPPLE_remap_index 446 -#define BindFragDataLocationEXT_remap_index 447 -#define GetFragDataLocationEXT_remap_index 448 -#define GetUniformuivEXT_remap_index 449 -#define GetVertexAttribIivEXT_remap_index 450 -#define GetVertexAttribIuivEXT_remap_index 451 -#define Uniform1uiEXT_remap_index 452 -#define Uniform1uivEXT_remap_index 453 -#define Uniform2uiEXT_remap_index 454 -#define Uniform2uivEXT_remap_index 455 -#define Uniform3uiEXT_remap_index 456 -#define Uniform3uivEXT_remap_index 457 -#define Uniform4uiEXT_remap_index 458 -#define Uniform4uivEXT_remap_index 459 -#define VertexAttribI1iEXT_remap_index 460 -#define VertexAttribI1ivEXT_remap_index 461 -#define VertexAttribI1uiEXT_remap_index 462 -#define VertexAttribI1uivEXT_remap_index 463 -#define VertexAttribI2iEXT_remap_index 464 -#define VertexAttribI2ivEXT_remap_index 465 -#define VertexAttribI2uiEXT_remap_index 466 -#define VertexAttribI2uivEXT_remap_index 467 -#define VertexAttribI3iEXT_remap_index 468 -#define VertexAttribI3ivEXT_remap_index 469 -#define VertexAttribI3uiEXT_remap_index 470 -#define VertexAttribI3uivEXT_remap_index 471 -#define VertexAttribI4bvEXT_remap_index 472 -#define VertexAttribI4iEXT_remap_index 473 -#define VertexAttribI4ivEXT_remap_index 474 -#define VertexAttribI4svEXT_remap_index 475 -#define VertexAttribI4ubvEXT_remap_index 476 -#define VertexAttribI4uiEXT_remap_index 477 -#define VertexAttribI4uivEXT_remap_index 478 -#define VertexAttribI4usvEXT_remap_index 479 -#define VertexAttribIPointerEXT_remap_index 480 -#define FramebufferTextureLayerEXT_remap_index 481 -#define ColorMaskIndexedEXT_remap_index 482 -#define DisableIndexedEXT_remap_index 483 -#define EnableIndexedEXT_remap_index 484 -#define GetBooleanIndexedvEXT_remap_index 485 -#define GetIntegerIndexedvEXT_remap_index 486 -#define IsEnabledIndexedEXT_remap_index 487 -#define ClearColorIiEXT_remap_index 488 -#define ClearColorIuiEXT_remap_index 489 -#define GetTexParameterIivEXT_remap_index 490 -#define GetTexParameterIuivEXT_remap_index 491 -#define TexParameterIivEXT_remap_index 492 -#define TexParameterIuivEXT_remap_index 493 -#define BeginConditionalRenderNV_remap_index 494 -#define EndConditionalRenderNV_remap_index 495 -#define BeginTransformFeedbackEXT_remap_index 496 -#define BindBufferBaseEXT_remap_index 497 -#define BindBufferOffsetEXT_remap_index 498 -#define BindBufferRangeEXT_remap_index 499 -#define EndTransformFeedbackEXT_remap_index 500 -#define GetTransformFeedbackVaryingEXT_remap_index 501 -#define TransformFeedbackVaryingsEXT_remap_index 502 -#define ProvokingVertexEXT_remap_index 503 -#define GetTexParameterPointervAPPLE_remap_index 504 -#define TextureRangeAPPLE_remap_index 505 -#define GetObjectParameterivAPPLE_remap_index 506 -#define ObjectPurgeableAPPLE_remap_index 507 -#define ObjectUnpurgeableAPPLE_remap_index 508 -#define ActiveProgramEXT_remap_index 509 -#define CreateShaderProgramEXT_remap_index 510 -#define UseShaderProgramEXT_remap_index 511 -#define TextureBarrierNV_remap_index 512 -#define StencilFuncSeparateATI_remap_index 513 -#define ProgramEnvParameters4fvEXT_remap_index 514 -#define ProgramLocalParameters4fvEXT_remap_index 515 -#define GetQueryObjecti64vEXT_remap_index 516 -#define GetQueryObjectui64vEXT_remap_index 517 -#define EGLImageTargetRenderbufferStorageOES_remap_index 518 -#define EGLImageTargetTexture2DOES_remap_index 519 +#define DrawElementsInstancedBaseVertex_remap_index 186 +#define DrawRangeElementsBaseVertex_remap_index 187 +#define MultiDrawElementsBaseVertex_remap_index 188 +#define BlendEquationSeparateiARB_remap_index 189 +#define BlendEquationiARB_remap_index 190 +#define BlendFuncSeparateiARB_remap_index 191 +#define BlendFunciARB_remap_index 192 +#define BindSampler_remap_index 193 +#define DeleteSamplers_remap_index 194 +#define GenSamplers_remap_index 195 +#define GetSamplerParameterIiv_remap_index 196 +#define GetSamplerParameterIuiv_remap_index 197 +#define GetSamplerParameterfv_remap_index 198 +#define GetSamplerParameteriv_remap_index 199 +#define IsSampler_remap_index 200 +#define SamplerParameterIiv_remap_index 201 +#define SamplerParameterIuiv_remap_index 202 +#define SamplerParameterf_remap_index 203 +#define SamplerParameterfv_remap_index 204 +#define SamplerParameteri_remap_index 205 +#define SamplerParameteriv_remap_index 206 +#define BindTransformFeedback_remap_index 207 +#define DeleteTransformFeedbacks_remap_index 208 +#define DrawTransformFeedback_remap_index 209 +#define GenTransformFeedbacks_remap_index 210 +#define IsTransformFeedback_remap_index 211 +#define PauseTransformFeedback_remap_index 212 +#define ResumeTransformFeedback_remap_index 213 +#define ClearDepthf_remap_index 214 +#define DepthRangef_remap_index 215 +#define GetShaderPrecisionFormat_remap_index 216 +#define ReleaseShaderCompiler_remap_index 217 +#define ShaderBinary_remap_index 218 +#define GetGraphicsResetStatusARB_remap_index 219 +#define GetnColorTableARB_remap_index 220 +#define GetnCompressedTexImageARB_remap_index 221 +#define GetnConvolutionFilterARB_remap_index 222 +#define GetnHistogramARB_remap_index 223 +#define GetnMapdvARB_remap_index 224 +#define GetnMapfvARB_remap_index 225 +#define GetnMapivARB_remap_index 226 +#define GetnMinmaxARB_remap_index 227 +#define GetnPixelMapfvARB_remap_index 228 +#define GetnPixelMapuivARB_remap_index 229 +#define GetnPixelMapusvARB_remap_index 230 +#define GetnPolygonStippleARB_remap_index 231 +#define GetnSeparableFilterARB_remap_index 232 +#define GetnTexImageARB_remap_index 233 +#define GetnUniformdvARB_remap_index 234 +#define GetnUniformfvARB_remap_index 235 +#define GetnUniformivARB_remap_index 236 +#define GetnUniformuivARB_remap_index 237 +#define ReadnPixelsARB_remap_index 238 +#define PolygonOffsetEXT_remap_index 239 +#define GetPixelTexGenParameterfvSGIS_remap_index 240 +#define GetPixelTexGenParameterivSGIS_remap_index 241 +#define PixelTexGenParameterfSGIS_remap_index 242 +#define PixelTexGenParameterfvSGIS_remap_index 243 +#define PixelTexGenParameteriSGIS_remap_index 244 +#define PixelTexGenParameterivSGIS_remap_index 245 +#define SampleMaskSGIS_remap_index 246 +#define SamplePatternSGIS_remap_index 247 +#define ColorPointerEXT_remap_index 248 +#define EdgeFlagPointerEXT_remap_index 249 +#define IndexPointerEXT_remap_index 250 +#define NormalPointerEXT_remap_index 251 +#define TexCoordPointerEXT_remap_index 252 +#define VertexPointerEXT_remap_index 253 +#define PointParameterfEXT_remap_index 254 +#define PointParameterfvEXT_remap_index 255 +#define LockArraysEXT_remap_index 256 +#define UnlockArraysEXT_remap_index 257 +#define SecondaryColor3bEXT_remap_index 258 +#define SecondaryColor3bvEXT_remap_index 259 +#define SecondaryColor3dEXT_remap_index 260 +#define SecondaryColor3dvEXT_remap_index 261 +#define SecondaryColor3fEXT_remap_index 262 +#define SecondaryColor3fvEXT_remap_index 263 +#define SecondaryColor3iEXT_remap_index 264 +#define SecondaryColor3ivEXT_remap_index 265 +#define SecondaryColor3sEXT_remap_index 266 +#define SecondaryColor3svEXT_remap_index 267 +#define SecondaryColor3ubEXT_remap_index 268 +#define SecondaryColor3ubvEXT_remap_index 269 +#define SecondaryColor3uiEXT_remap_index 270 +#define SecondaryColor3uivEXT_remap_index 271 +#define SecondaryColor3usEXT_remap_index 272 +#define SecondaryColor3usvEXT_remap_index 273 +#define SecondaryColorPointerEXT_remap_index 274 +#define MultiDrawArraysEXT_remap_index 275 +#define MultiDrawElementsEXT_remap_index 276 +#define FogCoordPointerEXT_remap_index 277 +#define FogCoorddEXT_remap_index 278 +#define FogCoorddvEXT_remap_index 279 +#define FogCoordfEXT_remap_index 280 +#define FogCoordfvEXT_remap_index 281 +#define PixelTexGenSGIX_remap_index 282 +#define BlendFuncSeparateEXT_remap_index 283 +#define FlushVertexArrayRangeNV_remap_index 284 +#define VertexArrayRangeNV_remap_index 285 +#define CombinerInputNV_remap_index 286 +#define CombinerOutputNV_remap_index 287 +#define CombinerParameterfNV_remap_index 288 +#define CombinerParameterfvNV_remap_index 289 +#define CombinerParameteriNV_remap_index 290 +#define CombinerParameterivNV_remap_index 291 +#define FinalCombinerInputNV_remap_index 292 +#define GetCombinerInputParameterfvNV_remap_index 293 +#define GetCombinerInputParameterivNV_remap_index 294 +#define GetCombinerOutputParameterfvNV_remap_index 295 +#define GetCombinerOutputParameterivNV_remap_index 296 +#define GetFinalCombinerInputParameterfvNV_remap_index 297 +#define GetFinalCombinerInputParameterivNV_remap_index 298 +#define ResizeBuffersMESA_remap_index 299 +#define WindowPos2dMESA_remap_index 300 +#define WindowPos2dvMESA_remap_index 301 +#define WindowPos2fMESA_remap_index 302 +#define WindowPos2fvMESA_remap_index 303 +#define WindowPos2iMESA_remap_index 304 +#define WindowPos2ivMESA_remap_index 305 +#define WindowPos2sMESA_remap_index 306 +#define WindowPos2svMESA_remap_index 307 +#define WindowPos3dMESA_remap_index 308 +#define WindowPos3dvMESA_remap_index 309 +#define WindowPos3fMESA_remap_index 310 +#define WindowPos3fvMESA_remap_index 311 +#define WindowPos3iMESA_remap_index 312 +#define WindowPos3ivMESA_remap_index 313 +#define WindowPos3sMESA_remap_index 314 +#define WindowPos3svMESA_remap_index 315 +#define WindowPos4dMESA_remap_index 316 +#define WindowPos4dvMESA_remap_index 317 +#define WindowPos4fMESA_remap_index 318 +#define WindowPos4fvMESA_remap_index 319 +#define WindowPos4iMESA_remap_index 320 +#define WindowPos4ivMESA_remap_index 321 +#define WindowPos4sMESA_remap_index 322 +#define WindowPos4svMESA_remap_index 323 +#define MultiModeDrawArraysIBM_remap_index 324 +#define MultiModeDrawElementsIBM_remap_index 325 +#define DeleteFencesNV_remap_index 326 +#define FinishFenceNV_remap_index 327 +#define GenFencesNV_remap_index 328 +#define GetFenceivNV_remap_index 329 +#define IsFenceNV_remap_index 330 +#define SetFenceNV_remap_index 331 +#define TestFenceNV_remap_index 332 +#define AreProgramsResidentNV_remap_index 333 +#define BindProgramNV_remap_index 334 +#define DeleteProgramsNV_remap_index 335 +#define ExecuteProgramNV_remap_index 336 +#define GenProgramsNV_remap_index 337 +#define GetProgramParameterdvNV_remap_index 338 +#define GetProgramParameterfvNV_remap_index 339 +#define GetProgramStringNV_remap_index 340 +#define GetProgramivNV_remap_index 341 +#define GetTrackMatrixivNV_remap_index 342 +#define GetVertexAttribPointervNV_remap_index 343 +#define GetVertexAttribdvNV_remap_index 344 +#define GetVertexAttribfvNV_remap_index 345 +#define GetVertexAttribivNV_remap_index 346 +#define IsProgramNV_remap_index 347 +#define LoadProgramNV_remap_index 348 +#define ProgramParameters4dvNV_remap_index 349 +#define ProgramParameters4fvNV_remap_index 350 +#define RequestResidentProgramsNV_remap_index 351 +#define TrackMatrixNV_remap_index 352 +#define VertexAttrib1dNV_remap_index 353 +#define VertexAttrib1dvNV_remap_index 354 +#define VertexAttrib1fNV_remap_index 355 +#define VertexAttrib1fvNV_remap_index 356 +#define VertexAttrib1sNV_remap_index 357 +#define VertexAttrib1svNV_remap_index 358 +#define VertexAttrib2dNV_remap_index 359 +#define VertexAttrib2dvNV_remap_index 360 +#define VertexAttrib2fNV_remap_index 361 +#define VertexAttrib2fvNV_remap_index 362 +#define VertexAttrib2sNV_remap_index 363 +#define VertexAttrib2svNV_remap_index 364 +#define VertexAttrib3dNV_remap_index 365 +#define VertexAttrib3dvNV_remap_index 366 +#define VertexAttrib3fNV_remap_index 367 +#define VertexAttrib3fvNV_remap_index 368 +#define VertexAttrib3sNV_remap_index 369 +#define VertexAttrib3svNV_remap_index 370 +#define VertexAttrib4dNV_remap_index 371 +#define VertexAttrib4dvNV_remap_index 372 +#define VertexAttrib4fNV_remap_index 373 +#define VertexAttrib4fvNV_remap_index 374 +#define VertexAttrib4sNV_remap_index 375 +#define VertexAttrib4svNV_remap_index 376 +#define VertexAttrib4ubNV_remap_index 377 +#define VertexAttrib4ubvNV_remap_index 378 +#define VertexAttribPointerNV_remap_index 379 +#define VertexAttribs1dvNV_remap_index 380 +#define VertexAttribs1fvNV_remap_index 381 +#define VertexAttribs1svNV_remap_index 382 +#define VertexAttribs2dvNV_remap_index 383 +#define VertexAttribs2fvNV_remap_index 384 +#define VertexAttribs2svNV_remap_index 385 +#define VertexAttribs3dvNV_remap_index 386 +#define VertexAttribs3fvNV_remap_index 387 +#define VertexAttribs3svNV_remap_index 388 +#define VertexAttribs4dvNV_remap_index 389 +#define VertexAttribs4fvNV_remap_index 390 +#define VertexAttribs4svNV_remap_index 391 +#define VertexAttribs4ubvNV_remap_index 392 +#define GetTexBumpParameterfvATI_remap_index 393 +#define GetTexBumpParameterivATI_remap_index 394 +#define TexBumpParameterfvATI_remap_index 395 +#define TexBumpParameterivATI_remap_index 396 +#define AlphaFragmentOp1ATI_remap_index 397 +#define AlphaFragmentOp2ATI_remap_index 398 +#define AlphaFragmentOp3ATI_remap_index 399 +#define BeginFragmentShaderATI_remap_index 400 +#define BindFragmentShaderATI_remap_index 401 +#define ColorFragmentOp1ATI_remap_index 402 +#define ColorFragmentOp2ATI_remap_index 403 +#define ColorFragmentOp3ATI_remap_index 404 +#define DeleteFragmentShaderATI_remap_index 405 +#define EndFragmentShaderATI_remap_index 406 +#define GenFragmentShadersATI_remap_index 407 +#define PassTexCoordATI_remap_index 408 +#define SampleMapATI_remap_index 409 +#define SetFragmentShaderConstantATI_remap_index 410 +#define PointParameteriNV_remap_index 411 +#define PointParameterivNV_remap_index 412 +#define ActiveStencilFaceEXT_remap_index 413 +#define BindVertexArrayAPPLE_remap_index 414 +#define DeleteVertexArraysAPPLE_remap_index 415 +#define GenVertexArraysAPPLE_remap_index 416 +#define IsVertexArrayAPPLE_remap_index 417 +#define GetProgramNamedParameterdvNV_remap_index 418 +#define GetProgramNamedParameterfvNV_remap_index 419 +#define ProgramNamedParameter4dNV_remap_index 420 +#define ProgramNamedParameter4dvNV_remap_index 421 +#define ProgramNamedParameter4fNV_remap_index 422 +#define ProgramNamedParameter4fvNV_remap_index 423 +#define PrimitiveRestartIndexNV_remap_index 424 +#define PrimitiveRestartNV_remap_index 425 +#define DepthBoundsEXT_remap_index 426 +#define BlendEquationSeparateEXT_remap_index 427 +#define BindFramebufferEXT_remap_index 428 +#define BindRenderbufferEXT_remap_index 429 +#define CheckFramebufferStatusEXT_remap_index 430 +#define DeleteFramebuffersEXT_remap_index 431 +#define DeleteRenderbuffersEXT_remap_index 432 +#define FramebufferRenderbufferEXT_remap_index 433 +#define FramebufferTexture1DEXT_remap_index 434 +#define FramebufferTexture2DEXT_remap_index 435 +#define FramebufferTexture3DEXT_remap_index 436 +#define GenFramebuffersEXT_remap_index 437 +#define GenRenderbuffersEXT_remap_index 438 +#define GenerateMipmapEXT_remap_index 439 +#define GetFramebufferAttachmentParameterivEXT_remap_index 440 +#define GetRenderbufferParameterivEXT_remap_index 441 +#define IsFramebufferEXT_remap_index 442 +#define IsRenderbufferEXT_remap_index 443 +#define RenderbufferStorageEXT_remap_index 444 +#define BlitFramebufferEXT_remap_index 445 +#define BufferParameteriAPPLE_remap_index 446 +#define FlushMappedBufferRangeAPPLE_remap_index 447 +#define BindFragDataLocationEXT_remap_index 448 +#define GetFragDataLocationEXT_remap_index 449 +#define GetUniformuivEXT_remap_index 450 +#define GetVertexAttribIivEXT_remap_index 451 +#define GetVertexAttribIuivEXT_remap_index 452 +#define Uniform1uiEXT_remap_index 453 +#define Uniform1uivEXT_remap_index 454 +#define Uniform2uiEXT_remap_index 455 +#define Uniform2uivEXT_remap_index 456 +#define Uniform3uiEXT_remap_index 457 +#define Uniform3uivEXT_remap_index 458 +#define Uniform4uiEXT_remap_index 459 +#define Uniform4uivEXT_remap_index 460 +#define VertexAttribI1iEXT_remap_index 461 +#define VertexAttribI1ivEXT_remap_index 462 +#define VertexAttribI1uiEXT_remap_index 463 +#define VertexAttribI1uivEXT_remap_index 464 +#define VertexAttribI2iEXT_remap_index 465 +#define VertexAttribI2ivEXT_remap_index 466 +#define VertexAttribI2uiEXT_remap_index 467 +#define VertexAttribI2uivEXT_remap_index 468 +#define VertexAttribI3iEXT_remap_index 469 +#define VertexAttribI3ivEXT_remap_index 470 +#define VertexAttribI3uiEXT_remap_index 471 +#define VertexAttribI3uivEXT_remap_index 472 +#define VertexAttribI4bvEXT_remap_index 473 +#define VertexAttribI4iEXT_remap_index 474 +#define VertexAttribI4ivEXT_remap_index 475 +#define VertexAttribI4svEXT_remap_index 476 +#define VertexAttribI4ubvEXT_remap_index 477 +#define VertexAttribI4uiEXT_remap_index 478 +#define VertexAttribI4uivEXT_remap_index 479 +#define VertexAttribI4usvEXT_remap_index 480 +#define VertexAttribIPointerEXT_remap_index 481 +#define FramebufferTextureLayerEXT_remap_index 482 +#define ColorMaskIndexedEXT_remap_index 483 +#define DisableIndexedEXT_remap_index 484 +#define EnableIndexedEXT_remap_index 485 +#define GetBooleanIndexedvEXT_remap_index 486 +#define GetIntegerIndexedvEXT_remap_index 487 +#define IsEnabledIndexedEXT_remap_index 488 +#define ClearColorIiEXT_remap_index 489 +#define ClearColorIuiEXT_remap_index 490 +#define GetTexParameterIivEXT_remap_index 491 +#define GetTexParameterIuivEXT_remap_index 492 +#define TexParameterIivEXT_remap_index 493 +#define TexParameterIuivEXT_remap_index 494 +#define BeginConditionalRenderNV_remap_index 495 +#define EndConditionalRenderNV_remap_index 496 +#define BeginTransformFeedbackEXT_remap_index 497 +#define BindBufferBaseEXT_remap_index 498 +#define BindBufferOffsetEXT_remap_index 499 +#define BindBufferRangeEXT_remap_index 500 +#define EndTransformFeedbackEXT_remap_index 501 +#define GetTransformFeedbackVaryingEXT_remap_index 502 +#define TransformFeedbackVaryingsEXT_remap_index 503 +#define ProvokingVertexEXT_remap_index 504 +#define GetTexParameterPointervAPPLE_remap_index 505 +#define TextureRangeAPPLE_remap_index 506 +#define GetObjectParameterivAPPLE_remap_index 507 +#define ObjectPurgeableAPPLE_remap_index 508 +#define ObjectUnpurgeableAPPLE_remap_index 509 +#define ActiveProgramEXT_remap_index 510 +#define CreateShaderProgramEXT_remap_index 511 +#define UseShaderProgramEXT_remap_index 512 +#define TextureBarrierNV_remap_index 513 +#define StencilFuncSeparateATI_remap_index 514 +#define ProgramEnvParameters4fvEXT_remap_index 515 +#define ProgramLocalParameters4fvEXT_remap_index 516 +#define GetQueryObjecti64vEXT_remap_index 517 +#define GetQueryObjectui64vEXT_remap_index 518 +#define EGLImageTargetRenderbufferStorageOES_remap_index 519 +#define EGLImageTargetTexture2DOES_remap_index 520 #define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index] #define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index] @@ -1705,6 +1707,7 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_IsSync driDispatchRemapTable[IsSync_remap_index] #define _gloffset_WaitSync driDispatchRemapTable[WaitSync_remap_index] #define _gloffset_DrawElementsBaseVertex driDispatchRemapTable[DrawElementsBaseVertex_remap_index] +#define _gloffset_DrawElementsInstancedBaseVertex driDispatchRemapTable[DrawElementsInstancedBaseVertex_remap_index] #define _gloffset_DrawRangeElementsBaseVertex driDispatchRemapTable[DrawRangeElementsBaseVertex_remap_index] #define _gloffset_MultiDrawElementsBaseVertex driDispatchRemapTable[MultiDrawElementsBaseVertex_remap_index] #define _gloffset_BlendEquationSeparateiARB driDispatchRemapTable[BlendEquationSeparateiARB_remap_index] @@ -8576,6 +8579,17 @@ static INLINE void SET_DrawElementsBaseVertex(struct _glapi_table *disp, void (G SET_by_offset(disp, _gloffset_DrawElementsBaseVertex, fn); } +typedef void (GLAPIENTRYP _glptr_DrawElementsInstancedBaseVertex)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint); +#define CALL_DrawElementsInstancedBaseVertex(disp, parameters) \ + (* GET_DrawElementsInstancedBaseVertex(disp)) parameters +static INLINE _glptr_DrawElementsInstancedBaseVertex GET_DrawElementsInstancedBaseVertex(struct _glapi_table *disp) { + return (_glptr_DrawElementsInstancedBaseVertex) (GET_by_offset(disp, _gloffset_DrawElementsInstancedBaseVertex)); +} + +static INLINE void SET_DrawElementsInstancedBaseVertex(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, const GLvoid *, GLsizei, GLint)) { + SET_by_offset(disp, _gloffset_DrawElementsInstancedBaseVertex, fn); +} + typedef void (GLAPIENTRYP _glptr_DrawRangeElementsBaseVertex)(GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *, GLint); #define CALL_DrawRangeElementsBaseVertex(disp, parameters) \ (* GET_DrawRangeElementsBaseVertex(disp)) parameters diff --git a/src/mesa/main/remap_helper.h b/src/mesa/main/remap_helper.h index fdb86d3e38a..dca6b498735 100644 --- a/src/mesa/main/remap_helper.h +++ b/src/mesa/main/remap_helper.h @@ -70,4858 +70,4862 @@ static const char _mesa_function_pool[] = "\0" "glLoadIdentity\0" "\0" - /* _mesa_function_pool[216]: GetCombinerOutputParameterfvNV (will be remapped) */ - "iiip\0" - "glGetCombinerOutputParameterfvNV\0" - "\0" - /* _mesa_function_pool[255]: SampleCoverageARB (will be remapped) */ + /* _mesa_function_pool[216]: SampleCoverageARB (will be remapped) */ "fi\0" "glSampleCoverage\0" "glSampleCoverageARB\0" "\0" - /* _mesa_function_pool[296]: ConvolutionFilter1D (offset 348) */ + /* _mesa_function_pool[257]: ConvolutionFilter1D (offset 348) */ "iiiiip\0" "glConvolutionFilter1D\0" "glConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[351]: BeginQueryARB (will be remapped) */ + /* _mesa_function_pool[312]: BeginQueryARB (will be remapped) */ "ii\0" "glBeginQuery\0" "glBeginQueryARB\0" "\0" - /* _mesa_function_pool[384]: RasterPos3dv (offset 71) */ + /* _mesa_function_pool[345]: RasterPos3dv (offset 71) */ "p\0" "glRasterPos3dv\0" "\0" - /* _mesa_function_pool[402]: PointParameteriNV (will be remapped) */ + /* _mesa_function_pool[363]: PointParameteriNV (will be remapped) */ "ii\0" "glPointParameteri\0" "glPointParameteriNV\0" "\0" - /* _mesa_function_pool[444]: GetProgramiv (will be remapped) */ + /* _mesa_function_pool[405]: GetProgramiv (will be remapped) */ "iip\0" "glGetProgramiv\0" "\0" - /* _mesa_function_pool[464]: MultiTexCoord3sARB (offset 398) */ + /* _mesa_function_pool[425]: MultiTexCoord3sARB (offset 398) */ "iiii\0" "glMultiTexCoord3s\0" "glMultiTexCoord3sARB\0" "\0" - /* _mesa_function_pool[509]: SecondaryColor3iEXT (will be remapped) */ + /* _mesa_function_pool[470]: SecondaryColor3iEXT (will be remapped) */ "iii\0" "glSecondaryColor3i\0" "glSecondaryColor3iEXT\0" "\0" - /* _mesa_function_pool[555]: WindowPos3fMESA (will be remapped) */ + /* _mesa_function_pool[516]: WindowPos3fMESA (will be remapped) */ "fff\0" "glWindowPos3f\0" "glWindowPos3fARB\0" "glWindowPos3fMESA\0" "\0" - /* _mesa_function_pool[609]: TexCoord1iv (offset 99) */ + /* _mesa_function_pool[570]: TexCoord1iv (offset 99) */ "p\0" "glTexCoord1iv\0" "\0" - /* _mesa_function_pool[626]: TexCoord4sv (offset 125) */ + /* _mesa_function_pool[587]: TexCoord4sv (offset 125) */ "p\0" "glTexCoord4sv\0" "\0" - /* _mesa_function_pool[643]: RasterPos4s (offset 84) */ + /* _mesa_function_pool[604]: RasterPos4s (offset 84) */ "iiii\0" "glRasterPos4s\0" "\0" - /* _mesa_function_pool[663]: PixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[624]: PixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[696]: ActiveTextureARB (offset 374) */ + /* _mesa_function_pool[657]: ActiveTextureARB (offset 374) */ "i\0" "glActiveTexture\0" "glActiveTextureARB\0" "\0" - /* _mesa_function_pool[734]: BlitFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[695]: BlitFramebufferEXT (will be remapped) */ "iiiiiiiiii\0" "glBlitFramebuffer\0" "glBlitFramebufferEXT\0" "\0" - /* _mesa_function_pool[785]: TexCoord1f (offset 96) */ + /* _mesa_function_pool[746]: TexCoord1f (offset 96) */ "f\0" "glTexCoord1f\0" "\0" - /* _mesa_function_pool[801]: TexCoord1d (offset 94) */ + /* _mesa_function_pool[762]: TexCoord1d (offset 94) */ "d\0" "glTexCoord1d\0" "\0" - /* _mesa_function_pool[817]: VertexAttrib4ubvNV (will be remapped) */ + /* _mesa_function_pool[778]: VertexAttrib4ubvNV (will be remapped) */ "ip\0" "glVertexAttrib4ubvNV\0" "\0" - /* _mesa_function_pool[842]: TexCoord1i (offset 98) */ + /* _mesa_function_pool[803]: TexCoord1i (offset 98) */ "i\0" "glTexCoord1i\0" "\0" - /* _mesa_function_pool[858]: GetProgramNamedParameterdvNV (will be remapped) */ + /* _mesa_function_pool[819]: GetProgramNamedParameterdvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterdvNV\0" "\0" - /* _mesa_function_pool[895]: Histogram (offset 367) */ + /* _mesa_function_pool[856]: Histogram (offset 367) */ "iiii\0" "glHistogram\0" "glHistogramEXT\0" "\0" - /* _mesa_function_pool[928]: TexCoord1s (offset 100) */ + /* _mesa_function_pool[889]: TexCoord1s (offset 100) */ "i\0" "glTexCoord1s\0" "\0" - /* _mesa_function_pool[944]: GetMapfv (offset 267) */ + /* _mesa_function_pool[905]: GetMapfv (offset 267) */ "iip\0" "glGetMapfv\0" "\0" - /* _mesa_function_pool[960]: EvalCoord1f (offset 230) */ + /* _mesa_function_pool[921]: EvalCoord1f (offset 230) */ "f\0" "glEvalCoord1f\0" "\0" - /* _mesa_function_pool[977]: FramebufferTexture (will be remapped) */ + /* _mesa_function_pool[938]: FramebufferTexture (will be remapped) */ "iiii\0" "glFramebufferTexture\0" "\0" - /* _mesa_function_pool[1004]: GetGraphicsResetStatusARB (will be remapped) */ + /* _mesa_function_pool[965]: GetGraphicsResetStatusARB (will be remapped) */ "\0" "glGetGraphicsResetStatusARB\0" "\0" - /* _mesa_function_pool[1034]: TexImage4DSGIS (dynamic) */ + /* _mesa_function_pool[995]: TexImage4DSGIS (dynamic) */ "iiiiiiiiiip\0" "glTexImage4DSGIS\0" "\0" - /* _mesa_function_pool[1064]: PolygonStipple (offset 175) */ + /* _mesa_function_pool[1025]: PolygonStipple (offset 175) */ "p\0" "glPolygonStipple\0" "\0" - /* _mesa_function_pool[1084]: WindowPos2dvMESA (will be remapped) */ + /* _mesa_function_pool[1045]: WindowPos2dvMESA (will be remapped) */ "p\0" "glWindowPos2dv\0" "glWindowPos2dvARB\0" "glWindowPos2dvMESA\0" "\0" - /* _mesa_function_pool[1139]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1100]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1183]: BlendEquationSeparateEXT (will be remapped) */ + /* _mesa_function_pool[1144]: BlendEquationSeparateEXT (will be remapped) */ "ii\0" "glBlendEquationSeparate\0" "glBlendEquationSeparateEXT\0" "glBlendEquationSeparateATI\0" "\0" - /* _mesa_function_pool[1265]: ListParameterfSGIX (dynamic) */ + /* _mesa_function_pool[1226]: ListParameterfSGIX (dynamic) */ "iif\0" "glListParameterfSGIX\0" "\0" - /* _mesa_function_pool[1291]: SecondaryColor3bEXT (will be remapped) */ + /* _mesa_function_pool[1252]: SecondaryColor3bEXT (will be remapped) */ "iii\0" "glSecondaryColor3b\0" "glSecondaryColor3bEXT\0" "\0" - /* _mesa_function_pool[1337]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[1298]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ "pppp\0" "glTexCoord4fColor4fNormal3fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[1383]: GetnPolygonStippleARB (will be remapped) */ + /* _mesa_function_pool[1344]: GetnPolygonStippleARB (will be remapped) */ "ip\0" "glGetnPolygonStippleARB\0" "\0" - /* _mesa_function_pool[1411]: GetPixelMapfv (offset 271) */ + /* _mesa_function_pool[1372]: GetPixelMapfv (offset 271) */ "ip\0" "glGetPixelMapfv\0" "\0" - /* _mesa_function_pool[1431]: Color3uiv (offset 22) */ + /* _mesa_function_pool[1392]: Color3uiv (offset 22) */ "p\0" "glColor3uiv\0" "\0" - /* _mesa_function_pool[1446]: IsEnabled (offset 286) */ + /* _mesa_function_pool[1407]: IsEnabled (offset 286) */ "i\0" "glIsEnabled\0" "\0" - /* _mesa_function_pool[1461]: VertexAttrib4svNV (will be remapped) */ + /* _mesa_function_pool[1422]: VertexAttrib4svNV (will be remapped) */ "ip\0" "glVertexAttrib4svNV\0" "\0" - /* _mesa_function_pool[1485]: EvalCoord2fv (offset 235) */ + /* _mesa_function_pool[1446]: EvalCoord2fv (offset 235) */ "p\0" "glEvalCoord2fv\0" "\0" - /* _mesa_function_pool[1503]: GetBufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1464]: GetBufferSubDataARB (will be remapped) */ "iiip\0" "glGetBufferSubData\0" "glGetBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1550]: BufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1511]: BufferSubDataARB (will be remapped) */ "iiip\0" "glBufferSubData\0" "glBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1591]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1552]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1629]: AttachShader (will be remapped) */ + /* _mesa_function_pool[1590]: AttachShader (will be remapped) */ "ii\0" "glAttachShader\0" "\0" - /* _mesa_function_pool[1648]: GetCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[1609]: GetCombinerInputParameterfvNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[1687]: VertexAttrib2fARB (will be remapped) */ + /* _mesa_function_pool[1648]: VertexAttrib2fARB (will be remapped) */ "iff\0" "glVertexAttrib2f\0" "glVertexAttrib2fARB\0" "\0" - /* _mesa_function_pool[1729]: GetDebugLogLengthMESA (dynamic) */ + /* _mesa_function_pool[1690]: GetDebugLogLengthMESA (dynamic) */ "iii\0" "glGetDebugLogLengthMESA\0" "\0" - /* _mesa_function_pool[1758]: GetMapiv (offset 268) */ + /* _mesa_function_pool[1719]: GetMapiv (offset 268) */ "iip\0" "glGetMapiv\0" "\0" - /* _mesa_function_pool[1774]: VertexAttrib3fARB (will be remapped) */ + /* _mesa_function_pool[1735]: VertexAttrib3fARB (will be remapped) */ "ifff\0" "glVertexAttrib3f\0" "glVertexAttrib3fARB\0" "\0" - /* _mesa_function_pool[1817]: Indexubv (offset 316) */ + /* _mesa_function_pool[1778]: Indexubv (offset 316) */ "p\0" "glIndexubv\0" "\0" - /* _mesa_function_pool[1831]: GetQueryivARB (will be remapped) */ + /* _mesa_function_pool[1792]: GetQueryivARB (will be remapped) */ "iip\0" "glGetQueryiv\0" "glGetQueryivARB\0" "\0" - /* _mesa_function_pool[1865]: TexImage3D (offset 371) */ + /* _mesa_function_pool[1826]: TexImage3D (offset 371) */ "iiiiiiiiip\0" "glTexImage3D\0" "glTexImage3DEXT\0" "\0" - /* _mesa_function_pool[1906]: BindFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[1867]: BindFragDataLocationEXT (will be remapped) */ "iip\0" "glBindFragDataLocationEXT\0" "glBindFragDataLocation\0" "\0" - /* _mesa_function_pool[1960]: ReplacementCodeuiVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1921]: ReplacementCodeuiVertex3fvSUN (dynamic) */ "pp\0" "glReplacementCodeuiVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1996]: EdgeFlagPointer (offset 312) */ + /* _mesa_function_pool[1957]: EdgeFlagPointer (offset 312) */ "ip\0" "glEdgeFlagPointer\0" "\0" - /* _mesa_function_pool[2018]: Color3ubv (offset 20) */ + /* _mesa_function_pool[1979]: Color3ubv (offset 20) */ "p\0" "glColor3ubv\0" "\0" - /* _mesa_function_pool[2033]: GetQueryObjectivARB (will be remapped) */ + /* _mesa_function_pool[1994]: GetQueryObjectivARB (will be remapped) */ "iip\0" "glGetQueryObjectiv\0" "glGetQueryObjectivARB\0" "\0" - /* _mesa_function_pool[2079]: Vertex3dv (offset 135) */ + /* _mesa_function_pool[2040]: Vertex3dv (offset 135) */ "p\0" "glVertex3dv\0" "\0" - /* _mesa_function_pool[2094]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2055]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2141]: CompressedTexSubImage2DARB (will be remapped) */ + /* _mesa_function_pool[2102]: CompressedTexSubImage2DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexSubImage2D\0" "glCompressedTexSubImage2DARB\0" "\0" - /* _mesa_function_pool[2207]: CombinerOutputNV (will be remapped) */ + /* _mesa_function_pool[2168]: CombinerOutputNV (will be remapped) */ "iiiiiiiiii\0" "glCombinerOutputNV\0" "\0" - /* _mesa_function_pool[2238]: VertexAttribs3fvNV (will be remapped) */ + /* _mesa_function_pool[2199]: VertexAttribs3fvNV (will be remapped) */ "iip\0" "glVertexAttribs3fvNV\0" "\0" - /* _mesa_function_pool[2264]: GetnMapivARB (will be remapped) */ + /* _mesa_function_pool[2225]: GetnMapivARB (will be remapped) */ "iiip\0" "glGetnMapivARB\0" "\0" - /* _mesa_function_pool[2285]: Uniform2fARB (will be remapped) */ + /* _mesa_function_pool[2246]: Uniform2fARB (will be remapped) */ "iff\0" "glUniform2f\0" "glUniform2fARB\0" "\0" - /* _mesa_function_pool[2317]: LightModeliv (offset 166) */ + /* _mesa_function_pool[2278]: LightModeliv (offset 166) */ "ip\0" "glLightModeliv\0" "\0" - /* _mesa_function_pool[2336]: VertexAttrib1svARB (will be remapped) */ + /* _mesa_function_pool[2297]: VertexAttrib1svARB (will be remapped) */ "ip\0" "glVertexAttrib1sv\0" "glVertexAttrib1svARB\0" "\0" - /* _mesa_function_pool[2379]: VertexAttribs1dvNV (will be remapped) */ + /* _mesa_function_pool[2340]: VertexAttribs1dvNV (will be remapped) */ "iip\0" "glVertexAttribs1dvNV\0" "\0" - /* _mesa_function_pool[2405]: Uniform2ivARB (will be remapped) */ + /* _mesa_function_pool[2366]: Uniform2ivARB (will be remapped) */ "iip\0" "glUniform2iv\0" "glUniform2ivARB\0" "\0" - /* _mesa_function_pool[2439]: GetImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[2400]: GetImageTransformParameterfvHP (dynamic) */ "iip\0" "glGetImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[2477]: Normal3bv (offset 53) */ + /* _mesa_function_pool[2438]: Normal3bv (offset 53) */ "p\0" "glNormal3bv\0" "\0" - /* _mesa_function_pool[2492]: TexGeniv (offset 193) */ + /* _mesa_function_pool[2453]: TexGeniv (offset 193) */ "iip\0" "glTexGeniv\0" "\0" - /* _mesa_function_pool[2508]: WeightubvARB (dynamic) */ + /* _mesa_function_pool[2469]: WeightubvARB (dynamic) */ "ip\0" "glWeightubvARB\0" "\0" - /* _mesa_function_pool[2527]: VertexAttrib1fvNV (will be remapped) */ + /* _mesa_function_pool[2488]: VertexAttrib1fvNV (will be remapped) */ "ip\0" "glVertexAttrib1fvNV\0" "\0" - /* _mesa_function_pool[2551]: Vertex3iv (offset 139) */ + /* _mesa_function_pool[2512]: Vertex3iv (offset 139) */ "p\0" "glVertex3iv\0" "\0" - /* _mesa_function_pool[2566]: CopyConvolutionFilter1D (offset 354) */ + /* _mesa_function_pool[2527]: CopyConvolutionFilter1D (offset 354) */ "iiiii\0" "glCopyConvolutionFilter1D\0" "glCopyConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[2628]: VertexAttribI1uiEXT (will be remapped) */ + /* _mesa_function_pool[2589]: VertexAttribI1uiEXT (will be remapped) */ "ii\0" "glVertexAttribI1uiEXT\0" "glVertexAttribI1ui\0" "\0" - /* _mesa_function_pool[2673]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[2634]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[2721]: DeleteSync (will be remapped) */ + /* _mesa_function_pool[2682]: DeleteSync (will be remapped) */ "i\0" "glDeleteSync\0" "\0" - /* _mesa_function_pool[2737]: FragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[2698]: FragmentMaterialfvSGIX (dynamic) */ "iip\0" "glFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[2767]: BlendColor (offset 336) */ + /* _mesa_function_pool[2728]: BlendColor (offset 336) */ "ffff\0" "glBlendColor\0" "glBlendColorEXT\0" "\0" - /* _mesa_function_pool[2802]: UniformMatrix4fvARB (will be remapped) */ + /* _mesa_function_pool[2763]: UniformMatrix4fvARB (will be remapped) */ "iiip\0" "glUniformMatrix4fv\0" "glUniformMatrix4fvARB\0" "\0" - /* _mesa_function_pool[2849]: DeleteVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[2810]: DeleteVertexArraysAPPLE (will be remapped) */ "ip\0" "glDeleteVertexArrays\0" "glDeleteVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[2900]: TexBuffer (will be remapped) */ + /* _mesa_function_pool[2861]: TexBuffer (will be remapped) */ "iii\0" "glTexBuffer\0" "\0" - /* _mesa_function_pool[2917]: ReadInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[2878]: ReadInstrumentsSGIX (dynamic) */ "i\0" "glReadInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[2942]: CallLists (offset 3) */ + /* _mesa_function_pool[2903]: CallLists (offset 3) */ "iip\0" "glCallLists\0" "\0" - /* _mesa_function_pool[2959]: DeformationMap3dSGIX (dynamic) */ - "iddiiddiiddiip\0" - "glDeformationMap3dSGIX\0" - "\0" - /* _mesa_function_pool[2998]: UniformMatrix2x4fv (will be remapped) */ + /* _mesa_function_pool[2920]: UniformMatrix2x4fv (will be remapped) */ "iiip\0" "glUniformMatrix2x4fv\0" "\0" - /* _mesa_function_pool[3025]: ReadnPixelsARB (will be remapped) */ + /* _mesa_function_pool[2947]: ReadnPixelsARB (will be remapped) */ "iiiiiiip\0" "glReadnPixelsARB\0" "\0" - /* _mesa_function_pool[3052]: Color4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2974]: Color4ubVertex3fvSUN (dynamic) */ "pp\0" "glColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[3079]: Normal3iv (offset 59) */ + /* _mesa_function_pool[3001]: Normal3iv (offset 59) */ "p\0" "glNormal3iv\0" "\0" - /* _mesa_function_pool[3094]: PassThrough (offset 199) */ + /* _mesa_function_pool[3016]: PassThrough (offset 199) */ "f\0" "glPassThrough\0" "\0" - /* _mesa_function_pool[3111]: GetnPixelMapusvARB (will be remapped) */ + /* _mesa_function_pool[3033]: GetnPixelMapusvARB (will be remapped) */ "iip\0" "glGetnPixelMapusvARB\0" "\0" - /* _mesa_function_pool[3137]: TexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[3059]: TexParameterIivEXT (will be remapped) */ "iip\0" "glTexParameterIivEXT\0" "glTexParameterIiv\0" "\0" - /* _mesa_function_pool[3181]: FramebufferTextureLayerEXT (will be remapped) */ + /* _mesa_function_pool[3103]: FramebufferTextureLayerEXT (will be remapped) */ "iiiii\0" "glFramebufferTextureLayer\0" "glFramebufferTextureLayerEXT\0" "\0" - /* _mesa_function_pool[3243]: GetListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[3165]: GetListParameterfvSGIX (dynamic) */ "iip\0" "glGetListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[3273]: Viewport (offset 305) */ + /* _mesa_function_pool[3195]: Viewport (offset 305) */ "iiii\0" "glViewport\0" "\0" - /* _mesa_function_pool[3290]: VertexAttrib4NusvARB (will be remapped) */ + /* _mesa_function_pool[3212]: VertexAttrib4NusvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nusv\0" "glVertexAttrib4NusvARB\0" "\0" - /* _mesa_function_pool[3337]: WindowPos4svMESA (will be remapped) */ + /* _mesa_function_pool[3259]: WindowPos4svMESA (will be remapped) */ "p\0" "glWindowPos4svMESA\0" "\0" - /* _mesa_function_pool[3359]: CreateProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[3281]: CreateProgramObjectARB (will be remapped) */ "\0" "glCreateProgramObjectARB\0" "\0" - /* _mesa_function_pool[3386]: DeleteTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[3308]: DeleteTransformFeedbacks (will be remapped) */ "ip\0" "glDeleteTransformFeedbacks\0" "\0" - /* _mesa_function_pool[3417]: UniformMatrix4x3fv (will be remapped) */ + /* _mesa_function_pool[3339]: UniformMatrix4x3fv (will be remapped) */ "iiip\0" "glUniformMatrix4x3fv\0" "\0" - /* _mesa_function_pool[3444]: PrioritizeTextures (offset 331) */ + /* _mesa_function_pool[3366]: PrioritizeTextures (offset 331) */ "ipp\0" "glPrioritizeTextures\0" "glPrioritizeTexturesEXT\0" "\0" - /* _mesa_function_pool[3494]: VertexAttribI3uiEXT (will be remapped) */ + /* _mesa_function_pool[3416]: VertexAttribI3uiEXT (will be remapped) */ "iiii\0" "glVertexAttribI3uiEXT\0" "glVertexAttribI3ui\0" "\0" - /* _mesa_function_pool[3541]: AsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[3463]: AsyncMarkerSGIX (dynamic) */ "i\0" "glAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[3562]: GlobalAlphaFactorubSUN (dynamic) */ + /* _mesa_function_pool[3484]: GlobalAlphaFactorubSUN (dynamic) */ "i\0" "glGlobalAlphaFactorubSUN\0" "\0" - /* _mesa_function_pool[3590]: ClearColorIuiEXT (will be remapped) */ + /* _mesa_function_pool[3512]: ClearColorIuiEXT (will be remapped) */ "iiii\0" "glClearColorIuiEXT\0" "\0" - /* _mesa_function_pool[3615]: ClearDebugLogMESA (dynamic) */ + /* _mesa_function_pool[3537]: ClearDebugLogMESA (dynamic) */ "iii\0" "glClearDebugLogMESA\0" "\0" - /* _mesa_function_pool[3640]: Uniform4uiEXT (will be remapped) */ + /* _mesa_function_pool[3562]: Uniform4uiEXT (will be remapped) */ "iiiii\0" "glUniform4uiEXT\0" "glUniform4ui\0" "\0" - /* _mesa_function_pool[3676]: ResetHistogram (offset 369) */ + /* _mesa_function_pool[3598]: ResetHistogram (offset 369) */ "i\0" "glResetHistogram\0" "glResetHistogramEXT\0" "\0" - /* _mesa_function_pool[3716]: GetProgramNamedParameterfvNV (will be remapped) */ + /* _mesa_function_pool[3638]: GetProgramNamedParameterfvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterfvNV\0" "\0" - /* _mesa_function_pool[3753]: PointParameterfEXT (will be remapped) */ + /* _mesa_function_pool[3675]: PointParameterfEXT (will be remapped) */ "if\0" "glPointParameterf\0" "glPointParameterfARB\0" "glPointParameterfEXT\0" "glPointParameterfSGIS\0" "\0" - /* _mesa_function_pool[3839]: LoadIdentityDeformationMapSGIX (dynamic) */ + /* _mesa_function_pool[3761]: LoadIdentityDeformationMapSGIX (dynamic) */ "i\0" "glLoadIdentityDeformationMapSGIX\0" "\0" - /* _mesa_function_pool[3875]: GenFencesNV (will be remapped) */ + /* _mesa_function_pool[3797]: GenFencesNV (will be remapped) */ "ip\0" "glGenFencesNV\0" "\0" - /* _mesa_function_pool[3893]: ImageTransformParameterfHP (dynamic) */ + /* _mesa_function_pool[3815]: ImageTransformParameterfHP (dynamic) */ "iif\0" "glImageTransformParameterfHP\0" "\0" - /* _mesa_function_pool[3927]: MatrixIndexusvARB (dynamic) */ + /* _mesa_function_pool[3849]: MatrixIndexusvARB (dynamic) */ "ip\0" "glMatrixIndexusvARB\0" "\0" - /* _mesa_function_pool[3951]: DrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[3873]: DrawElementsBaseVertex (will be remapped) */ "iiipi\0" "glDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[3983]: DisableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[3905]: DisableVertexAttribArrayARB (will be remapped) */ "i\0" "glDisableVertexAttribArray\0" "glDisableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[4043]: VertexAttribI4ubvEXT (will be remapped) */ - "ip\0" - "glVertexAttribI4ubvEXT\0" - "glVertexAttribI4ubv\0" - "\0" - /* _mesa_function_pool[4090]: GetnConvolutionFilterARB (will be remapped) */ + /* _mesa_function_pool[3965]: GetnConvolutionFilterARB (will be remapped) */ "iiiip\0" "glGetnConvolutionFilterARB\0" "\0" - /* _mesa_function_pool[4124]: TexCoord2sv (offset 109) */ + /* _mesa_function_pool[3999]: TexCoord2sv (offset 109) */ "p\0" "glTexCoord2sv\0" "\0" - /* _mesa_function_pool[4141]: Vertex4dv (offset 143) */ + /* _mesa_function_pool[4016]: Vertex4dv (offset 143) */ "p\0" "glVertex4dv\0" "\0" - /* _mesa_function_pool[4156]: StencilMaskSeparate (will be remapped) */ + /* _mesa_function_pool[4031]: StencilMaskSeparate (will be remapped) */ "ii\0" "glStencilMaskSeparate\0" "\0" - /* _mesa_function_pool[4182]: ProgramLocalParameter4dARB (will be remapped) */ + /* _mesa_function_pool[4057]: ProgramLocalParameter4dARB (will be remapped) */ "iidddd\0" "glProgramLocalParameter4dARB\0" "\0" - /* _mesa_function_pool[4219]: CompressedTexImage3DARB (will be remapped) */ + /* _mesa_function_pool[4094]: CompressedTexImage3DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexImage3D\0" "glCompressedTexImage3DARB\0" "\0" - /* _mesa_function_pool[4279]: Color3sv (offset 18) */ + /* _mesa_function_pool[4154]: Color3sv (offset 18) */ "p\0" "glColor3sv\0" "\0" - /* _mesa_function_pool[4293]: GetConvolutionParameteriv (offset 358) */ + /* _mesa_function_pool[4168]: GetConvolutionParameteriv (offset 358) */ "iip\0" "glGetConvolutionParameteriv\0" "glGetConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[4357]: DeleteSamplers (will be remapped) */ + /* _mesa_function_pool[4232]: DeleteSamplers (will be remapped) */ "ip\0" "glDeleteSamplers\0" "\0" - /* _mesa_function_pool[4378]: VertexAttrib1fARB (will be remapped) */ + /* _mesa_function_pool[4253]: VertexAttrib1fARB (will be remapped) */ "if\0" "glVertexAttrib1f\0" "glVertexAttrib1fARB\0" "\0" - /* _mesa_function_pool[4419]: Vertex2dv (offset 127) */ + /* _mesa_function_pool[4294]: Vertex2dv (offset 127) */ "p\0" "glVertex2dv\0" "\0" - /* _mesa_function_pool[4434]: TestFenceNV (will be remapped) */ + /* _mesa_function_pool[4309]: TestFenceNV (will be remapped) */ "i\0" "glTestFenceNV\0" "\0" - /* _mesa_function_pool[4451]: MultiTexCoord1fvARB (offset 379) */ + /* _mesa_function_pool[4326]: GetVertexAttribIuivEXT (will be remapped) */ + "iip\0" + "glGetVertexAttribIuivEXT\0" + "glGetVertexAttribIuiv\0" + "\0" + /* _mesa_function_pool[4378]: MultiTexCoord1fvARB (offset 379) */ "ip\0" "glMultiTexCoord1fv\0" "glMultiTexCoord1fvARB\0" "\0" - /* _mesa_function_pool[4496]: TexCoord3iv (offset 115) */ + /* _mesa_function_pool[4423]: TexCoord3iv (offset 115) */ "p\0" "glTexCoord3iv\0" "\0" - /* _mesa_function_pool[4513]: Uniform2uivEXT (will be remapped) */ + /* _mesa_function_pool[4440]: Uniform2uivEXT (will be remapped) */ "iip\0" "glUniform2uivEXT\0" "glUniform2uiv\0" "\0" - /* _mesa_function_pool[4549]: ColorFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[4476]: ColorFragmentOp2ATI (will be remapped) */ "iiiiiiiiii\0" "glColorFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[4583]: SecondaryColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[4510]: SecondaryColorPointerListIBM (dynamic) */ "iiipi\0" "glSecondaryColorPointerListIBM\0" "\0" - /* _mesa_function_pool[4621]: GetPixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[4548]: GetPixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[4657]: Color3fv (offset 14) */ + /* _mesa_function_pool[4584]: Color3fv (offset 14) */ "p\0" "glColor3fv\0" "\0" - /* _mesa_function_pool[4671]: GetnPixelMapfvARB (will be remapped) */ + /* _mesa_function_pool[4598]: GetnPixelMapfvARB (will be remapped) */ "iip\0" "glGetnPixelMapfvARB\0" "\0" - /* _mesa_function_pool[4696]: ReplacementCodeubSUN (dynamic) */ + /* _mesa_function_pool[4623]: ReplacementCodeubSUN (dynamic) */ "i\0" "glReplacementCodeubSUN\0" "\0" - /* _mesa_function_pool[4722]: FinishAsyncSGIX (dynamic) */ + /* _mesa_function_pool[4649]: FinishAsyncSGIX (dynamic) */ "p\0" "glFinishAsyncSGIX\0" "\0" - /* _mesa_function_pool[4743]: GetnUniformfvARB (will be remapped) */ + /* _mesa_function_pool[4670]: GetnUniformfvARB (will be remapped) */ "iiip\0" "glGetnUniformfvARB\0" "\0" - /* _mesa_function_pool[4768]: GetDebugLogMESA (dynamic) */ + /* _mesa_function_pool[4695]: GetDebugLogMESA (dynamic) */ "iiiipp\0" "glGetDebugLogMESA\0" "\0" - /* _mesa_function_pool[4794]: FogCoorddEXT (will be remapped) */ + /* _mesa_function_pool[4721]: FogCoorddEXT (will be remapped) */ "d\0" "glFogCoordd\0" "glFogCoorddEXT\0" "\0" - /* _mesa_function_pool[4824]: BeginConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[4751]: BeginConditionalRenderNV (will be remapped) */ "ii\0" "glBeginConditionalRenderNV\0" "glBeginConditionalRender\0" "\0" - /* _mesa_function_pool[4880]: Color4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4807]: Color4ubVertex3fSUN (dynamic) */ "iiiifff\0" "glColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[4911]: FogCoordfEXT (will be remapped) */ + /* _mesa_function_pool[4838]: FogCoordfEXT (will be remapped) */ "f\0" "glFogCoordf\0" "glFogCoordfEXT\0" "\0" - /* _mesa_function_pool[4941]: PointSize (offset 173) */ + /* _mesa_function_pool[4868]: PointSize (offset 173) */ "f\0" "glPointSize\0" "\0" - /* _mesa_function_pool[4956]: VertexAttribI2uivEXT (will be remapped) */ + /* _mesa_function_pool[4883]: VertexAttribI2uivEXT (will be remapped) */ "ip\0" "glVertexAttribI2uivEXT\0" "glVertexAttribI2uiv\0" "\0" - /* _mesa_function_pool[5003]: TexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[4930]: TexCoord2fVertex3fSUN (dynamic) */ "fffff\0" "glTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5034]: PopName (offset 200) */ + /* _mesa_function_pool[4961]: PopName (offset 200) */ "\0" "glPopName\0" "\0" - /* _mesa_function_pool[5046]: GetSamplerParameterfv (will be remapped) */ + /* _mesa_function_pool[4973]: GetSamplerParameterfv (will be remapped) */ "iip\0" "glGetSamplerParameterfv\0" "\0" - /* _mesa_function_pool[5075]: GlobalAlphaFactoriSUN (dynamic) */ + /* _mesa_function_pool[5002]: GlobalAlphaFactoriSUN (dynamic) */ "i\0" "glGlobalAlphaFactoriSUN\0" "\0" - /* _mesa_function_pool[5102]: VertexAttrib2dNV (will be remapped) */ + /* _mesa_function_pool[5029]: VertexAttrib2dNV (will be remapped) */ "idd\0" "glVertexAttrib2dNV\0" "\0" - /* _mesa_function_pool[5126]: GetProgramInfoLog (will be remapped) */ + /* _mesa_function_pool[5053]: GetProgramInfoLog (will be remapped) */ "iipp\0" "glGetProgramInfoLog\0" "\0" - /* _mesa_function_pool[5152]: VertexAttrib4NbvARB (will be remapped) */ + /* _mesa_function_pool[5079]: VertexAttrib4NbvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nbv\0" "glVertexAttrib4NbvARB\0" "\0" - /* _mesa_function_pool[5197]: GetActiveAttribARB (will be remapped) */ + /* _mesa_function_pool[5124]: GetActiveAttribARB (will be remapped) */ "iiipppp\0" "glGetActiveAttrib\0" "glGetActiveAttribARB\0" "\0" - /* _mesa_function_pool[5245]: Vertex4sv (offset 149) */ + /* _mesa_function_pool[5172]: Vertex4sv (offset 149) */ "p\0" "glVertex4sv\0" "\0" - /* _mesa_function_pool[5260]: VertexAttrib4ubNV (will be remapped) */ + /* _mesa_function_pool[5187]: VertexAttrib4ubNV (will be remapped) */ "iiiii\0" "glVertexAttrib4ubNV\0" "\0" - /* _mesa_function_pool[5287]: VertexAttribI1ivEXT (will be remapped) */ + /* _mesa_function_pool[5214]: VertexAttribI1ivEXT (will be remapped) */ "ip\0" "glVertexAttribI1ivEXT\0" "glVertexAttribI1iv\0" "\0" - /* _mesa_function_pool[5332]: ClampColor (will be remapped) */ + /* _mesa_function_pool[5259]: ClampColor (will be remapped) */ "ii\0" "glClampColor\0" "\0" - /* _mesa_function_pool[5349]: TextureRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[5276]: TextureRangeAPPLE (will be remapped) */ "iip\0" "glTextureRangeAPPLE\0" "\0" - /* _mesa_function_pool[5374]: GetTexEnvfv (offset 276) */ + /* _mesa_function_pool[5301]: GetTexEnvfv (offset 276) */ "iip\0" "glGetTexEnvfv\0" "\0" - /* _mesa_function_pool[5393]: BindTransformFeedback (will be remapped) */ + /* _mesa_function_pool[5320]: BindTransformFeedback (will be remapped) */ "ii\0" "glBindTransformFeedback\0" "\0" - /* _mesa_function_pool[5421]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5348]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "ffffffffffff\0" "glTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5474]: Indexub (offset 315) */ + /* _mesa_function_pool[5401]: Indexub (offset 315) */ "i\0" "glIndexub\0" "\0" - /* _mesa_function_pool[5487]: VertexAttrib4fNV (will be remapped) */ + /* _mesa_function_pool[5414]: VertexAttrib4fNV (will be remapped) */ "iffff\0" "glVertexAttrib4fNV\0" "\0" - /* _mesa_function_pool[5513]: TexEnvi (offset 186) */ + /* _mesa_function_pool[5440]: TexEnvi (offset 186) */ "iii\0" "glTexEnvi\0" "\0" - /* _mesa_function_pool[5528]: GetClipPlane (offset 259) */ + /* _mesa_function_pool[5455]: GetClipPlane (offset 259) */ "ip\0" "glGetClipPlane\0" "\0" - /* _mesa_function_pool[5547]: CombinerParameterfvNV (will be remapped) */ + /* _mesa_function_pool[5474]: CombinerParameterfvNV (will be remapped) */ "ip\0" "glCombinerParameterfvNV\0" "\0" - /* _mesa_function_pool[5575]: VertexAttribs3dvNV (will be remapped) */ + /* _mesa_function_pool[5502]: VertexAttribs3dvNV (will be remapped) */ "iip\0" "glVertexAttribs3dvNV\0" "\0" - /* _mesa_function_pool[5601]: VertexAttribI2uiEXT (will be remapped) */ + /* _mesa_function_pool[5528]: VertexAttribI2uiEXT (will be remapped) */ "iii\0" "glVertexAttribI2uiEXT\0" "glVertexAttribI2ui\0" "\0" - /* _mesa_function_pool[5647]: VertexAttribs4fvNV (will be remapped) */ + /* _mesa_function_pool[5574]: VertexAttribs4fvNV (will be remapped) */ "iip\0" "glVertexAttribs4fvNV\0" "\0" - /* _mesa_function_pool[5673]: VertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[5600]: VertexArrayRangeNV (will be remapped) */ "ip\0" "glVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[5698]: FragmentLightiSGIX (dynamic) */ + /* _mesa_function_pool[5625]: FragmentLightiSGIX (dynamic) */ "iii\0" "glFragmentLightiSGIX\0" "\0" - /* _mesa_function_pool[5724]: PolygonOffsetEXT (will be remapped) */ + /* _mesa_function_pool[5651]: PolygonOffsetEXT (will be remapped) */ "ff\0" "glPolygonOffsetEXT\0" "\0" - /* _mesa_function_pool[5747]: VertexAttribI4uivEXT (will be remapped) */ + /* _mesa_function_pool[5674]: VertexAttribI4uivEXT (will be remapped) */ "ip\0" "glVertexAttribI4uivEXT\0" "glVertexAttribI4uiv\0" "\0" - /* _mesa_function_pool[5794]: PollAsyncSGIX (dynamic) */ + /* _mesa_function_pool[5721]: PollAsyncSGIX (dynamic) */ "p\0" "glPollAsyncSGIX\0" "\0" - /* _mesa_function_pool[5813]: DeleteFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[5740]: DeleteFragmentShaderATI (will be remapped) */ "i\0" "glDeleteFragmentShaderATI\0" "\0" - /* _mesa_function_pool[5842]: Scaled (offset 301) */ + /* _mesa_function_pool[5769]: Scaled (offset 301) */ "ddd\0" "glScaled\0" "\0" - /* _mesa_function_pool[5856]: ResumeTransformFeedback (will be remapped) */ + /* _mesa_function_pool[5783]: ResumeTransformFeedback (will be remapped) */ "\0" "glResumeTransformFeedback\0" "\0" - /* _mesa_function_pool[5884]: Scalef (offset 302) */ + /* _mesa_function_pool[5811]: Scalef (offset 302) */ "fff\0" "glScalef\0" "\0" - /* _mesa_function_pool[5898]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[5825]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[5936]: ProgramEnvParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[5863]: ProgramEnvParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramEnvParameters4fvEXT\0" "\0" - /* _mesa_function_pool[5971]: MultTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[5898]: MultTransposeMatrixdARB (will be remapped) */ "p\0" "glMultTransposeMatrixd\0" "glMultTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[6023]: ObjectUnpurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[5950]: ColorMaskIndexedEXT (will be remapped) */ + "iiiii\0" + "glColorMaskIndexedEXT\0" + "glColorMaski\0" + "\0" + /* _mesa_function_pool[5992]: ObjectUnpurgeableAPPLE (will be remapped) */ "iii\0" "glObjectUnpurgeableAPPLE\0" "\0" - /* _mesa_function_pool[6053]: AlphaFunc (offset 240) */ + /* _mesa_function_pool[6022]: AlphaFunc (offset 240) */ "if\0" "glAlphaFunc\0" "\0" - /* _mesa_function_pool[6069]: WindowPos2svMESA (will be remapped) */ + /* _mesa_function_pool[6038]: WindowPos2svMESA (will be remapped) */ "p\0" "glWindowPos2sv\0" "glWindowPos2svARB\0" "glWindowPos2svMESA\0" "\0" - /* _mesa_function_pool[6124]: EdgeFlag (offset 41) */ + /* _mesa_function_pool[6093]: EdgeFlag (offset 41) */ "i\0" "glEdgeFlag\0" "\0" - /* _mesa_function_pool[6138]: TexCoord2iv (offset 107) */ + /* _mesa_function_pool[6107]: TexCoord2iv (offset 107) */ "p\0" "glTexCoord2iv\0" "\0" - /* _mesa_function_pool[6155]: CompressedTexImage1DARB (will be remapped) */ + /* _mesa_function_pool[6124]: CompressedTexImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexImage1D\0" "glCompressedTexImage1DARB\0" "\0" - /* _mesa_function_pool[6213]: Rotated (offset 299) */ + /* _mesa_function_pool[6182]: Rotated (offset 299) */ "dddd\0" "glRotated\0" "\0" - /* _mesa_function_pool[6229]: GetTexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[6198]: GetTexParameterIuivEXT (will be remapped) */ "iip\0" "glGetTexParameterIuivEXT\0" "glGetTexParameterIuiv\0" "\0" - /* _mesa_function_pool[6281]: VertexAttrib2sNV (will be remapped) */ + /* _mesa_function_pool[6250]: VertexAttrib2sNV (will be remapped) */ "iii\0" "glVertexAttrib2sNV\0" "\0" - /* _mesa_function_pool[6305]: ReadPixels (offset 256) */ + /* _mesa_function_pool[6274]: ReadPixels (offset 256) */ "iiiiiip\0" "glReadPixels\0" "\0" - /* _mesa_function_pool[6327]: VertexAttribDivisorARB (will be remapped) */ + /* _mesa_function_pool[6296]: VertexAttribDivisorARB (will be remapped) */ "ii\0" "glVertexAttribDivisorARB\0" "\0" - /* _mesa_function_pool[6356]: EdgeFlagv (offset 42) */ + /* _mesa_function_pool[6325]: EdgeFlagv (offset 42) */ "p\0" "glEdgeFlagv\0" "\0" - /* _mesa_function_pool[6371]: NormalPointerListIBM (dynamic) */ + /* _mesa_function_pool[6340]: NormalPointerListIBM (dynamic) */ "iipi\0" "glNormalPointerListIBM\0" "\0" - /* _mesa_function_pool[6400]: IndexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6369]: IndexPointerEXT (will be remapped) */ "iiip\0" "glIndexPointerEXT\0" "\0" - /* _mesa_function_pool[6424]: Color4iv (offset 32) */ + /* _mesa_function_pool[6393]: Color4iv (offset 32) */ "p\0" "glColor4iv\0" "\0" - /* _mesa_function_pool[6438]: TexParameterf (offset 178) */ + /* _mesa_function_pool[6407]: TexParameterf (offset 178) */ "iif\0" "glTexParameterf\0" "\0" - /* _mesa_function_pool[6459]: TexParameteri (offset 180) */ + /* _mesa_function_pool[6428]: TexParameteri (offset 180) */ "iii\0" "glTexParameteri\0" "\0" - /* _mesa_function_pool[6480]: NormalPointerEXT (will be remapped) */ + /* _mesa_function_pool[6449]: NormalPointerEXT (will be remapped) */ "iiip\0" "glNormalPointerEXT\0" "\0" - /* _mesa_function_pool[6505]: MultiTexCoord3dARB (offset 392) */ + /* _mesa_function_pool[6474]: MultiTexCoord3dARB (offset 392) */ "iddd\0" "glMultiTexCoord3d\0" "glMultiTexCoord3dARB\0" "\0" - /* _mesa_function_pool[6550]: MultiTexCoord2iARB (offset 388) */ + /* _mesa_function_pool[6519]: MultiTexCoord2iARB (offset 388) */ "iii\0" "glMultiTexCoord2i\0" "glMultiTexCoord2iARB\0" "\0" - /* _mesa_function_pool[6594]: DrawPixels (offset 257) */ + /* _mesa_function_pool[6563]: DrawPixels (offset 257) */ "iiiip\0" "glDrawPixels\0" "\0" - /* _mesa_function_pool[6614]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[6583]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ "iffffffff\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[6674]: MultiTexCoord2svARB (offset 391) */ + /* _mesa_function_pool[6643]: MultiTexCoord2svARB (offset 391) */ "ip\0" "glMultiTexCoord2sv\0" "glMultiTexCoord2svARB\0" "\0" - /* _mesa_function_pool[6719]: ReplacementCodeubvSUN (dynamic) */ + /* _mesa_function_pool[6688]: ReplacementCodeubvSUN (dynamic) */ "p\0" "glReplacementCodeubvSUN\0" "\0" - /* _mesa_function_pool[6746]: Uniform3iARB (will be remapped) */ + /* _mesa_function_pool[6715]: Uniform3iARB (will be remapped) */ "iiii\0" "glUniform3i\0" "glUniform3iARB\0" "\0" - /* _mesa_function_pool[6779]: DrawTransformFeedback (will be remapped) */ + /* _mesa_function_pool[6748]: DrawTransformFeedback (will be remapped) */ "ii\0" "glDrawTransformFeedback\0" "\0" - /* _mesa_function_pool[6807]: DrawElementsInstancedARB (will be remapped) */ + /* _mesa_function_pool[6776]: DrawElementsInstancedARB (will be remapped) */ "iiipi\0" "glDrawElementsInstancedARB\0" "glDrawElementsInstancedEXT\0" "glDrawElementsInstanced\0" "\0" - /* _mesa_function_pool[6892]: GetShaderInfoLog (will be remapped) */ + /* _mesa_function_pool[6861]: GetShaderInfoLog (will be remapped) */ "iipp\0" "glGetShaderInfoLog\0" "\0" - /* _mesa_function_pool[6917]: WeightivARB (dynamic) */ + /* _mesa_function_pool[6886]: WeightivARB (dynamic) */ "ip\0" "glWeightivARB\0" "\0" - /* _mesa_function_pool[6935]: PollInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[6904]: PollInstrumentsSGIX (dynamic) */ "p\0" "glPollInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[6960]: GlobalAlphaFactordSUN (dynamic) */ + /* _mesa_function_pool[6929]: GlobalAlphaFactordSUN (dynamic) */ "d\0" "glGlobalAlphaFactordSUN\0" "\0" - /* _mesa_function_pool[6987]: GetFinalCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[6956]: GetFinalCombinerInputParameterfvNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[7029]: GenerateMipmapEXT (will be remapped) */ + /* _mesa_function_pool[6998]: GenerateMipmapEXT (will be remapped) */ "i\0" "glGenerateMipmap\0" "glGenerateMipmapEXT\0" "\0" - /* _mesa_function_pool[7069]: GenLists (offset 5) */ + /* _mesa_function_pool[7038]: GenLists (offset 5) */ "i\0" "glGenLists\0" "\0" - /* _mesa_function_pool[7083]: DepthRangef (will be remapped) */ + /* _mesa_function_pool[7052]: DepthRangef (will be remapped) */ "ff\0" "glDepthRangef\0" "\0" - /* _mesa_function_pool[7101]: GetMapAttribParameterivNV (dynamic) */ + /* _mesa_function_pool[7070]: GetMapAttribParameterivNV (dynamic) */ "iiip\0" "glGetMapAttribParameterivNV\0" "\0" - /* _mesa_function_pool[7135]: CreateShaderObjectARB (will be remapped) */ + /* _mesa_function_pool[7104]: CreateShaderObjectARB (will be remapped) */ "i\0" "glCreateShaderObjectARB\0" "\0" - /* _mesa_function_pool[7162]: GetSharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[7131]: GetSharpenTexFuncSGIS (dynamic) */ "ip\0" "glGetSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[7190]: BufferDataARB (will be remapped) */ + /* _mesa_function_pool[7159]: BufferDataARB (will be remapped) */ "iipi\0" "glBufferData\0" "glBufferDataARB\0" "\0" - /* _mesa_function_pool[7225]: FlushVertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[7194]: FlushVertexArrayRangeNV (will be remapped) */ "\0" "glFlushVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[7253]: MapGrid2d (offset 226) */ + /* _mesa_function_pool[7222]: MapGrid2d (offset 226) */ "iddidd\0" "glMapGrid2d\0" "\0" - /* _mesa_function_pool[7273]: MapGrid2f (offset 227) */ + /* _mesa_function_pool[7242]: MapGrid2f (offset 227) */ "iffiff\0" "glMapGrid2f\0" "\0" - /* _mesa_function_pool[7293]: SampleMapATI (will be remapped) */ + /* _mesa_function_pool[7262]: SampleMapATI (will be remapped) */ "iii\0" "glSampleMapATI\0" "\0" - /* _mesa_function_pool[7313]: VertexPointerEXT (will be remapped) */ + /* _mesa_function_pool[7282]: VertexPointerEXT (will be remapped) */ "iiiip\0" "glVertexPointerEXT\0" "\0" - /* _mesa_function_pool[7339]: GetTexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[7308]: GetTexFilterFuncSGIS (dynamic) */ "iip\0" "glGetTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[7367]: Scissor (offset 176) */ + /* _mesa_function_pool[7336]: Scissor (offset 176) */ "iiii\0" "glScissor\0" "\0" - /* _mesa_function_pool[7383]: Fogf (offset 153) */ + /* _mesa_function_pool[7352]: Fogf (offset 153) */ "if\0" "glFogf\0" "\0" - /* _mesa_function_pool[7394]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[7363]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[7439]: TexSubImage1D (offset 332) */ + /* _mesa_function_pool[7408]: TexSubImage1D (offset 332) */ "iiiiiip\0" "glTexSubImage1D\0" "glTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[7483]: VertexAttrib1sARB (will be remapped) */ + /* _mesa_function_pool[7452]: VertexAttrib1sARB (will be remapped) */ "ii\0" "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" "\0" - /* _mesa_function_pool[7524]: FenceSync (will be remapped) */ + /* _mesa_function_pool[7493]: FenceSync (will be remapped) */ "ii\0" "glFenceSync\0" "\0" - /* _mesa_function_pool[7540]: Color4usv (offset 40) */ + /* _mesa_function_pool[7509]: Color4usv (offset 40) */ "p\0" "glColor4usv\0" "\0" - /* _mesa_function_pool[7555]: Fogi (offset 155) */ + /* _mesa_function_pool[7524]: Fogi (offset 155) */ "ii\0" "glFogi\0" "\0" - /* _mesa_function_pool[7566]: DepthRange (offset 288) */ + /* _mesa_function_pool[7535]: DepthRange (offset 288) */ "dd\0" "glDepthRange\0" "\0" - /* _mesa_function_pool[7583]: RasterPos3iv (offset 75) */ + /* _mesa_function_pool[7552]: RasterPos3iv (offset 75) */ "p\0" "glRasterPos3iv\0" "\0" - /* _mesa_function_pool[7601]: FinalCombinerInputNV (will be remapped) */ + /* _mesa_function_pool[7570]: FinalCombinerInputNV (will be remapped) */ "iiii\0" "glFinalCombinerInputNV\0" "\0" - /* _mesa_function_pool[7630]: TexCoord2i (offset 106) */ + /* _mesa_function_pool[7599]: TexCoord2i (offset 106) */ "ii\0" "glTexCoord2i\0" "\0" - /* _mesa_function_pool[7647]: PixelMapfv (offset 251) */ + /* _mesa_function_pool[7616]: PixelMapfv (offset 251) */ "iip\0" "glPixelMapfv\0" "\0" - /* _mesa_function_pool[7665]: Color4ui (offset 37) */ + /* _mesa_function_pool[7634]: Color4ui (offset 37) */ "iiii\0" "glColor4ui\0" "\0" - /* _mesa_function_pool[7682]: RasterPos3s (offset 76) */ + /* _mesa_function_pool[7651]: RasterPos3s (offset 76) */ "iii\0" "glRasterPos3s\0" "\0" - /* _mesa_function_pool[7701]: Color3usv (offset 24) */ + /* _mesa_function_pool[7670]: Color3usv (offset 24) */ "p\0" "glColor3usv\0" "\0" - /* _mesa_function_pool[7716]: FlushRasterSGIX (dynamic) */ + /* _mesa_function_pool[7685]: FlushRasterSGIX (dynamic) */ "\0" "glFlushRasterSGIX\0" "\0" - /* _mesa_function_pool[7736]: TexCoord2f (offset 104) */ + /* _mesa_function_pool[7705]: TexCoord2f (offset 104) */ "ff\0" "glTexCoord2f\0" "\0" - /* _mesa_function_pool[7753]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[7722]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ "ifffff\0" "glReplacementCodeuiTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[7802]: TexCoord2d (offset 102) */ + /* _mesa_function_pool[7771]: TexCoord2d (offset 102) */ "dd\0" "glTexCoord2d\0" "\0" - /* _mesa_function_pool[7819]: RasterPos3d (offset 70) */ + /* _mesa_function_pool[7788]: RasterPos3d (offset 70) */ "ddd\0" "glRasterPos3d\0" "\0" - /* _mesa_function_pool[7838]: RasterPos3f (offset 72) */ + /* _mesa_function_pool[7807]: RasterPos3f (offset 72) */ "fff\0" "glRasterPos3f\0" "\0" - /* _mesa_function_pool[7857]: Uniform1fARB (will be remapped) */ + /* _mesa_function_pool[7826]: Uniform1fARB (will be remapped) */ "if\0" "glUniform1f\0" "glUniform1fARB\0" "\0" - /* _mesa_function_pool[7888]: AreTexturesResident (offset 322) */ + /* _mesa_function_pool[7857]: AreTexturesResident (offset 322) */ "ipp\0" "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" "\0" - /* _mesa_function_pool[7940]: TexCoord2s (offset 108) */ + /* _mesa_function_pool[7909]: TexCoord2s (offset 108) */ "ii\0" "glTexCoord2s\0" "\0" - /* _mesa_function_pool[7957]: StencilOpSeparate (will be remapped) */ + /* _mesa_function_pool[7926]: StencilOpSeparate (will be remapped) */ "iiii\0" "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" "\0" - /* _mesa_function_pool[8006]: ColorTableParameteriv (offset 341) */ + /* _mesa_function_pool[7975]: ColorTableParameteriv (offset 341) */ "iip\0" "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" "\0" - /* _mesa_function_pool[8062]: FogCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[8031]: FogCoordPointerListIBM (dynamic) */ "iipi\0" "glFogCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[8093]: WindowPos3dMESA (will be remapped) */ + /* _mesa_function_pool[8062]: WindowPos3dMESA (will be remapped) */ "ddd\0" "glWindowPos3d\0" "glWindowPos3dARB\0" "glWindowPos3dMESA\0" "\0" - /* _mesa_function_pool[8147]: Color4us (offset 39) */ + /* _mesa_function_pool[8116]: Color4us (offset 39) */ "iiii\0" "glColor4us\0" "\0" - /* _mesa_function_pool[8164]: PointParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[8133]: PointParameterfvEXT (will be remapped) */ "ip\0" "glPointParameterfv\0" "glPointParameterfvARB\0" "glPointParameterfvEXT\0" "glPointParameterfvSGIS\0" "\0" - /* _mesa_function_pool[8254]: Color3bv (offset 10) */ + /* _mesa_function_pool[8223]: Color3bv (offset 10) */ "p\0" "glColor3bv\0" "\0" - /* _mesa_function_pool[8268]: GetnCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[8237]: GetnCompressedTexImageARB (will be remapped) */ "iiip\0" "glGetnCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[8302]: WindowPos2fvMESA (will be remapped) */ + /* _mesa_function_pool[8271]: WindowPos2fvMESA (will be remapped) */ "p\0" "glWindowPos2fv\0" "glWindowPos2fvARB\0" "glWindowPos2fvMESA\0" "\0" - /* _mesa_function_pool[8357]: SecondaryColor3bvEXT (will be remapped) */ + /* _mesa_function_pool[8326]: SecondaryColor3bvEXT (will be remapped) */ "p\0" "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" "\0" - /* _mesa_function_pool[8403]: VertexPointerListIBM (dynamic) */ + /* _mesa_function_pool[8372]: VertexPointerListIBM (dynamic) */ "iiipi\0" "glVertexPointerListIBM\0" "\0" - /* _mesa_function_pool[8433]: GetProgramLocalParameterfvARB (will be remapped) */ + /* _mesa_function_pool[8402]: GetProgramLocalParameterfvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterfvARB\0" "\0" - /* _mesa_function_pool[8470]: FragmentMaterialfSGIX (dynamic) */ + /* _mesa_function_pool[8439]: FragmentMaterialfSGIX (dynamic) */ "iif\0" "glFragmentMaterialfSGIX\0" "\0" - /* _mesa_function_pool[8499]: BindSampler (will be remapped) */ + /* _mesa_function_pool[8468]: BindSampler (will be remapped) */ "ii\0" "glBindSampler\0" "\0" - /* _mesa_function_pool[8517]: RenderbufferStorageEXT (will be remapped) */ + /* _mesa_function_pool[8486]: RenderbufferStorageEXT (will be remapped) */ "iiii\0" "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" "\0" - /* _mesa_function_pool[8570]: IsFenceNV (will be remapped) */ + /* _mesa_function_pool[8539]: IsFenceNV (will be remapped) */ "i\0" "glIsFenceNV\0" "\0" - /* _mesa_function_pool[8585]: AttachObjectARB (will be remapped) */ + /* _mesa_function_pool[8554]: AttachObjectARB (will be remapped) */ "ii\0" "glAttachObjectARB\0" "\0" - /* _mesa_function_pool[8607]: GetFragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[8576]: GetFragmentLightivSGIX (dynamic) */ "iip\0" "glGetFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[8637]: UniformMatrix2fvARB (will be remapped) */ + /* _mesa_function_pool[8606]: UniformMatrix2fvARB (will be remapped) */ "iiip\0" "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" "\0" - /* _mesa_function_pool[8684]: MultiTexCoord2fARB (offset 386) */ + /* _mesa_function_pool[8653]: MultiTexCoord2fARB (offset 386) */ "iff\0" "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" "\0" - /* _mesa_function_pool[8728]: ColorTable (offset 339) */ + /* _mesa_function_pool[8697]: ColorTable (offset 339) */ "iiiiip\0" "glColorTable\0" "glColorTableSGI\0" "glColorTableEXT\0" "\0" - /* _mesa_function_pool[8781]: IndexPointer (offset 314) */ + /* _mesa_function_pool[8750]: IndexPointer (offset 314) */ "iip\0" "glIndexPointer\0" "\0" - /* _mesa_function_pool[8801]: Accum (offset 213) */ + /* _mesa_function_pool[8770]: Accum (offset 213) */ "if\0" "glAccum\0" "\0" - /* _mesa_function_pool[8813]: GetTexImage (offset 281) */ + /* _mesa_function_pool[8782]: GetTexImage (offset 281) */ "iiiip\0" "glGetTexImage\0" "\0" - /* _mesa_function_pool[8834]: MapControlPointsNV (dynamic) */ + /* _mesa_function_pool[8803]: MapControlPointsNV (dynamic) */ "iiiiiiiip\0" "glMapControlPointsNV\0" "\0" - /* _mesa_function_pool[8866]: ConvolutionFilter2D (offset 349) */ + /* _mesa_function_pool[8835]: ConvolutionFilter2D (offset 349) */ "iiiiiip\0" "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[8922]: Finish (offset 216) */ + /* _mesa_function_pool[8891]: Finish (offset 216) */ "\0" "glFinish\0" "\0" - /* _mesa_function_pool[8933]: MapParameterfvNV (dynamic) */ + /* _mesa_function_pool[8902]: MapParameterfvNV (dynamic) */ "iip\0" "glMapParameterfvNV\0" "\0" - /* _mesa_function_pool[8957]: ClearStencil (offset 207) */ + /* _mesa_function_pool[8926]: ClearStencil (offset 207) */ "i\0" "glClearStencil\0" "\0" - /* _mesa_function_pool[8975]: VertexAttrib3dvARB (will be remapped) */ + /* _mesa_function_pool[8944]: VertexAttrib3dvARB (will be remapped) */ "ip\0" "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" "\0" - /* _mesa_function_pool[9018]: Uniform4uivEXT (will be remapped) */ + /* _mesa_function_pool[8987]: Uniform4uivEXT (will be remapped) */ "iip\0" "glUniform4uivEXT\0" "glUniform4uiv\0" "\0" - /* _mesa_function_pool[9054]: HintPGI (dynamic) */ + /* _mesa_function_pool[9023]: HintPGI (dynamic) */ "ii\0" "glHintPGI\0" "\0" - /* _mesa_function_pool[9068]: ConvolutionParameteriv (offset 353) */ + /* _mesa_function_pool[9037]: ConvolutionParameteriv (offset 353) */ "iip\0" "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[9126]: Color4s (offset 33) */ + /* _mesa_function_pool[9095]: Color4s (offset 33) */ "iiii\0" "glColor4s\0" "\0" - /* _mesa_function_pool[9142]: InterleavedArrays (offset 317) */ + /* _mesa_function_pool[9111]: InterleavedArrays (offset 317) */ "iip\0" "glInterleavedArrays\0" "\0" - /* _mesa_function_pool[9167]: RasterPos2fv (offset 65) */ + /* _mesa_function_pool[9136]: RasterPos2fv (offset 65) */ "p\0" "glRasterPos2fv\0" "\0" - /* _mesa_function_pool[9185]: TexCoord1fv (offset 97) */ + /* _mesa_function_pool[9154]: TexCoord1fv (offset 97) */ "p\0" "glTexCoord1fv\0" "\0" - /* _mesa_function_pool[9202]: Vertex2d (offset 126) */ + /* _mesa_function_pool[9171]: Vertex2d (offset 126) */ "dd\0" "glVertex2d\0" "\0" - /* _mesa_function_pool[9217]: CullParameterdvEXT (dynamic) */ + /* _mesa_function_pool[9186]: CullParameterdvEXT (dynamic) */ "ip\0" "glCullParameterdvEXT\0" "\0" - /* _mesa_function_pool[9242]: ProgramNamedParameter4fNV (will be remapped) */ + /* _mesa_function_pool[9211]: ProgramNamedParameter4fNV (will be remapped) */ "iipffff\0" "glProgramNamedParameter4fNV\0" "\0" - /* _mesa_function_pool[9279]: Color3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[9248]: Color3fVertex3fSUN (dynamic) */ "ffffff\0" "glColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[9308]: ProgramEnvParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[9277]: ProgramEnvParameter4fvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" "\0" - /* _mesa_function_pool[9365]: Color4i (offset 31) */ + /* _mesa_function_pool[9334]: Color4i (offset 31) */ "iiii\0" "glColor4i\0" "\0" - /* _mesa_function_pool[9381]: Color4f (offset 29) */ + /* _mesa_function_pool[9350]: Color4f (offset 29) */ "ffff\0" "glColor4f\0" "\0" - /* _mesa_function_pool[9397]: RasterPos4fv (offset 81) */ + /* _mesa_function_pool[9366]: RasterPos4fv (offset 81) */ "p\0" "glRasterPos4fv\0" "\0" - /* _mesa_function_pool[9415]: Color4d (offset 27) */ + /* _mesa_function_pool[9384]: Color4d (offset 27) */ "dddd\0" "glColor4d\0" "\0" - /* _mesa_function_pool[9431]: ClearIndex (offset 205) */ + /* _mesa_function_pool[9400]: ClearIndex (offset 205) */ "f\0" "glClearIndex\0" "\0" - /* _mesa_function_pool[9447]: Color4b (offset 25) */ + /* _mesa_function_pool[9416]: Color4b (offset 25) */ "iiii\0" "glColor4b\0" "\0" - /* _mesa_function_pool[9463]: LoadMatrixd (offset 292) */ + /* _mesa_function_pool[9432]: LoadMatrixd (offset 292) */ "p\0" "glLoadMatrixd\0" "\0" - /* _mesa_function_pool[9480]: FragmentLightModeliSGIX (dynamic) */ + /* _mesa_function_pool[9449]: FragmentLightModeliSGIX (dynamic) */ "ii\0" "glFragmentLightModeliSGIX\0" "\0" - /* _mesa_function_pool[9510]: RasterPos2dv (offset 63) */ + /* _mesa_function_pool[9479]: RasterPos2dv (offset 63) */ "p\0" "glRasterPos2dv\0" "\0" - /* _mesa_function_pool[9528]: ConvolutionParameterfv (offset 351) */ + /* _mesa_function_pool[9497]: ConvolutionParameterfv (offset 351) */ "iip\0" "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[9586]: TbufferMask3DFX (dynamic) */ + /* _mesa_function_pool[9555]: TbufferMask3DFX (dynamic) */ "i\0" "glTbufferMask3DFX\0" "\0" - /* _mesa_function_pool[9607]: GetTexGendv (offset 278) */ + /* _mesa_function_pool[9576]: GetTexGendv (offset 278) */ "iip\0" "glGetTexGendv\0" "\0" - /* _mesa_function_pool[9626]: GetVertexAttribfvNV (will be remapped) */ + /* _mesa_function_pool[9595]: GetVertexAttribfvNV (will be remapped) */ "iip\0" "glGetVertexAttribfvNV\0" "\0" - /* _mesa_function_pool[9653]: BeginTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[9622]: BeginTransformFeedbackEXT (will be remapped) */ "i\0" "glBeginTransformFeedbackEXT\0" "glBeginTransformFeedback\0" "\0" - /* _mesa_function_pool[9709]: LoadProgramNV (will be remapped) */ + /* _mesa_function_pool[9678]: LoadProgramNV (will be remapped) */ "iiip\0" "glLoadProgramNV\0" "\0" - /* _mesa_function_pool[9731]: WaitSync (will be remapped) */ + /* _mesa_function_pool[9700]: WaitSync (will be remapped) */ "iii\0" "glWaitSync\0" "\0" - /* _mesa_function_pool[9747]: EndList (offset 1) */ + /* _mesa_function_pool[9716]: EndList (offset 1) */ "\0" "glEndList\0" "\0" - /* _mesa_function_pool[9759]: VertexAttrib4fvNV (will be remapped) */ + /* _mesa_function_pool[9728]: VertexAttrib4fvNV (will be remapped) */ "ip\0" "glVertexAttrib4fvNV\0" "\0" - /* _mesa_function_pool[9783]: GetAttachedObjectsARB (will be remapped) */ + /* _mesa_function_pool[9752]: GetAttachedObjectsARB (will be remapped) */ "iipp\0" "glGetAttachedObjectsARB\0" "\0" - /* _mesa_function_pool[9813]: Uniform3fvARB (will be remapped) */ + /* _mesa_function_pool[9782]: Uniform3fvARB (will be remapped) */ "iip\0" "glUniform3fv\0" "glUniform3fvARB\0" "\0" - /* _mesa_function_pool[9847]: EvalCoord1fv (offset 231) */ + /* _mesa_function_pool[9816]: EvalCoord1fv (offset 231) */ "p\0" "glEvalCoord1fv\0" "\0" - /* _mesa_function_pool[9865]: DrawRangeElements (offset 338) */ + /* _mesa_function_pool[9834]: DrawRangeElements (offset 338) */ "iiiiip\0" "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" "\0" - /* _mesa_function_pool[9916]: EvalMesh2 (offset 238) */ + /* _mesa_function_pool[9885]: EvalMesh2 (offset 238) */ "iiiii\0" "glEvalMesh2\0" "\0" - /* _mesa_function_pool[9935]: Vertex4fv (offset 145) */ + /* _mesa_function_pool[9904]: Vertex4fv (offset 145) */ "p\0" "glVertex4fv\0" "\0" - /* _mesa_function_pool[9950]: GenTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[9919]: GenTransformFeedbacks (will be remapped) */ "ip\0" "glGenTransformFeedbacks\0" "\0" - /* _mesa_function_pool[9978]: SpriteParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[9947]: SpriteParameterfvSGIX (dynamic) */ "ip\0" "glSpriteParameterfvSGIX\0" "\0" - /* _mesa_function_pool[10006]: CheckFramebufferStatusEXT (will be remapped) */ + /* _mesa_function_pool[9975]: CheckFramebufferStatusEXT (will be remapped) */ "i\0" "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" "\0" - /* _mesa_function_pool[10062]: GlobalAlphaFactoruiSUN (dynamic) */ + /* _mesa_function_pool[10031]: GlobalAlphaFactoruiSUN (dynamic) */ "i\0" "glGlobalAlphaFactoruiSUN\0" "\0" - /* _mesa_function_pool[10090]: GetHandleARB (will be remapped) */ + /* _mesa_function_pool[10059]: GetHandleARB (will be remapped) */ "i\0" "glGetHandleARB\0" "\0" - /* _mesa_function_pool[10108]: GetVertexAttribivARB (will be remapped) */ + /* _mesa_function_pool[10077]: GetVertexAttribivARB (will be remapped) */ "iip\0" "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" "\0" - /* _mesa_function_pool[10156]: BlendFunciARB (will be remapped) */ + /* _mesa_function_pool[10125]: BlendFunciARB (will be remapped) */ "iii\0" "glBlendFunciARB\0" "glBlendFuncIndexedAMD\0" "\0" - /* _mesa_function_pool[10199]: GetnUniformivARB (will be remapped) */ + /* _mesa_function_pool[10168]: GetnUniformivARB (will be remapped) */ "iiip\0" "glGetnUniformivARB\0" "\0" - /* _mesa_function_pool[10224]: GetTexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[10193]: GetTexParameterIivEXT (will be remapped) */ "iip\0" "glGetTexParameterIivEXT\0" "glGetTexParameterIiv\0" "\0" - /* _mesa_function_pool[10274]: CreateProgram (will be remapped) */ + /* _mesa_function_pool[10243]: CreateProgram (will be remapped) */ "\0" "glCreateProgram\0" "\0" - /* _mesa_function_pool[10292]: LoadTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[10261]: LoadTransposeMatrixdARB (will be remapped) */ "p\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[10344]: ReleaseShaderCompiler (will be remapped) */ + /* _mesa_function_pool[10313]: ReleaseShaderCompiler (will be remapped) */ "\0" "glReleaseShaderCompiler\0" "\0" - /* _mesa_function_pool[10370]: GetMinmax (offset 364) */ + /* _mesa_function_pool[10339]: GetMinmax (offset 364) */ "iiiip\0" "glGetMinmax\0" "glGetMinmaxEXT\0" "\0" - /* _mesa_function_pool[10404]: StencilFuncSeparate (will be remapped) */ + /* _mesa_function_pool[10373]: StencilFuncSeparate (will be remapped) */ "iiii\0" "glStencilFuncSeparate\0" "\0" - /* _mesa_function_pool[10432]: SecondaryColor3sEXT (will be remapped) */ + /* _mesa_function_pool[10401]: SecondaryColor3sEXT (will be remapped) */ "iii\0" "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" "\0" - /* _mesa_function_pool[10478]: Color3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10447]: Color3fVertex3fvSUN (dynamic) */ "pp\0" "glColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10504]: GetInteger64i_v (will be remapped) */ + /* _mesa_function_pool[10473]: GetInteger64i_v (will be remapped) */ "iip\0" "glGetInteger64i_v\0" "\0" - /* _mesa_function_pool[10527]: GetVertexAttribdvNV (will be remapped) */ + /* _mesa_function_pool[10496]: GetVertexAttribdvNV (will be remapped) */ "iip\0" "glGetVertexAttribdvNV\0" "\0" - /* _mesa_function_pool[10554]: Normal3fv (offset 57) */ + /* _mesa_function_pool[10523]: Normal3fv (offset 57) */ "p\0" "glNormal3fv\0" "\0" - /* _mesa_function_pool[10569]: GlobalAlphaFactorbSUN (dynamic) */ + /* _mesa_function_pool[10538]: GlobalAlphaFactorbSUN (dynamic) */ "i\0" "glGlobalAlphaFactorbSUN\0" "\0" - /* _mesa_function_pool[10596]: Color3us (offset 23) */ + /* _mesa_function_pool[10565]: Color3us (offset 23) */ "iii\0" "glColor3us\0" "\0" - /* _mesa_function_pool[10612]: ImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[10581]: ImageTransformParameterfvHP (dynamic) */ "iip\0" "glImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[10647]: VertexAttrib4ivARB (will be remapped) */ + /* _mesa_function_pool[10616]: VertexAttrib4ivARB (will be remapped) */ "ip\0" "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" "\0" - /* _mesa_function_pool[10690]: End (offset 43) */ + /* _mesa_function_pool[10659]: End (offset 43) */ "\0" "glEnd\0" "\0" - /* _mesa_function_pool[10698]: VertexAttrib3fNV (will be remapped) */ + /* _mesa_function_pool[10667]: VertexAttrib3fNV (will be remapped) */ "ifff\0" "glVertexAttrib3fNV\0" "\0" - /* _mesa_function_pool[10723]: VertexAttribs2dvNV (will be remapped) */ + /* _mesa_function_pool[10692]: VertexAttribs2dvNV (will be remapped) */ "iip\0" "glVertexAttribs2dvNV\0" "\0" - /* _mesa_function_pool[10749]: GetQueryObjectui64vEXT (will be remapped) */ + /* _mesa_function_pool[10718]: GetQueryObjectui64vEXT (will be remapped) */ "iip\0" "glGetQueryObjectui64vEXT\0" "\0" - /* _mesa_function_pool[10779]: MultiTexCoord3fvARB (offset 395) */ + /* _mesa_function_pool[10748]: MultiTexCoord3fvARB (offset 395) */ "ip\0" "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" "\0" - /* _mesa_function_pool[10824]: SecondaryColor3dEXT (will be remapped) */ + /* _mesa_function_pool[10793]: SecondaryColor3dEXT (will be remapped) */ "ddd\0" "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" "\0" - /* _mesa_function_pool[10870]: Color3ub (offset 19) */ + /* _mesa_function_pool[10839]: Color3ub (offset 19) */ "iii\0" "glColor3ub\0" "\0" - /* _mesa_function_pool[10886]: GetProgramParameterfvNV (will be remapped) */ + /* _mesa_function_pool[10855]: GetProgramParameterfvNV (will be remapped) */ "iiip\0" "glGetProgramParameterfvNV\0" "\0" - /* _mesa_function_pool[10918]: TangentPointerEXT (dynamic) */ + /* _mesa_function_pool[10887]: TangentPointerEXT (dynamic) */ "iip\0" "glTangentPointerEXT\0" "\0" - /* _mesa_function_pool[10943]: Color4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10912]: Color4fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10978]: GetInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[10947]: GetInstrumentsSGIX (dynamic) */ "\0" "glGetInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[11001]: GetUniformuivEXT (will be remapped) */ + /* _mesa_function_pool[10970]: GetUniformuivEXT (will be remapped) */ "iip\0" "glGetUniformuivEXT\0" "glGetUniformuiv\0" "\0" - /* _mesa_function_pool[11041]: Color3ui (offset 21) */ + /* _mesa_function_pool[11010]: Color3ui (offset 21) */ "iii\0" "glColor3ui\0" "\0" - /* _mesa_function_pool[11057]: EvalMapsNV (dynamic) */ + /* _mesa_function_pool[11026]: EvalMapsNV (dynamic) */ "ii\0" "glEvalMapsNV\0" "\0" - /* _mesa_function_pool[11074]: TexSubImage2D (offset 333) */ + /* _mesa_function_pool[11043]: TexSubImage2D (offset 333) */ "iiiiiiiip\0" "glTexSubImage2D\0" "glTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[11120]: FragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[11089]: FragmentLightivSGIX (dynamic) */ "iip\0" "glFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[11147]: GetTexParameterPointervAPPLE (will be remapped) */ + /* _mesa_function_pool[11116]: GetTexParameterPointervAPPLE (will be remapped) */ "iip\0" "glGetTexParameterPointervAPPLE\0" "\0" - /* _mesa_function_pool[11183]: TexGenfv (offset 191) */ + /* _mesa_function_pool[11152]: TexGenfv (offset 191) */ "iip\0" "glTexGenfv\0" "\0" - /* _mesa_function_pool[11199]: GetTransformFeedbackVaryingEXT (will be remapped) */ + /* _mesa_function_pool[11168]: GetTransformFeedbackVaryingEXT (will be remapped) */ "iiipppp\0" "glGetTransformFeedbackVaryingEXT\0" "glGetTransformFeedbackVarying\0" "\0" - /* _mesa_function_pool[11271]: VertexAttrib4bvARB (will be remapped) */ + /* _mesa_function_pool[11240]: VertexAttrib4bvARB (will be remapped) */ "ip\0" "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" "\0" - /* _mesa_function_pool[11314]: ShaderBinary (will be remapped) */ + /* _mesa_function_pool[11283]: ShaderBinary (will be remapped) */ "ipipi\0" "glShaderBinary\0" "\0" - /* _mesa_function_pool[11336]: GetIntegerIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[11305]: GetIntegerIndexedvEXT (will be remapped) */ "iip\0" "glGetIntegerIndexedvEXT\0" "glGetIntegeri_v\0" "\0" - /* _mesa_function_pool[11381]: MultiTexCoord4sARB (offset 406) */ + /* _mesa_function_pool[11350]: MultiTexCoord4sARB (offset 406) */ "iiiii\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" "\0" - /* _mesa_function_pool[11427]: GetFragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[11396]: GetFragmentMaterialivSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[11460]: WindowPos4dMESA (will be remapped) */ + /* _mesa_function_pool[11429]: WindowPos4dMESA (will be remapped) */ "dddd\0" "glWindowPos4dMESA\0" "\0" - /* _mesa_function_pool[11484]: WeightPointerARB (dynamic) */ + /* _mesa_function_pool[11453]: WeightPointerARB (dynamic) */ "iiip\0" "glWeightPointerARB\0" "\0" - /* _mesa_function_pool[11509]: WindowPos2dMESA (will be remapped) */ + /* _mesa_function_pool[11478]: WindowPos2dMESA (will be remapped) */ "dd\0" "glWindowPos2d\0" "glWindowPos2dARB\0" "glWindowPos2dMESA\0" "\0" - /* _mesa_function_pool[11562]: FramebufferTexture3DEXT (will be remapped) */ + /* _mesa_function_pool[11531]: FramebufferTexture3DEXT (will be remapped) */ "iiiiii\0" "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" "\0" - /* _mesa_function_pool[11619]: BlendEquation (offset 337) */ + /* _mesa_function_pool[11588]: BlendEquation (offset 337) */ "i\0" "glBlendEquation\0" "glBlendEquationEXT\0" "\0" - /* _mesa_function_pool[11657]: VertexAttrib3dNV (will be remapped) */ + /* _mesa_function_pool[11626]: VertexAttrib3dNV (will be remapped) */ "iddd\0" "glVertexAttrib3dNV\0" "\0" - /* _mesa_function_pool[11682]: VertexAttrib3dARB (will be remapped) */ + /* _mesa_function_pool[11651]: VertexAttrib3dARB (will be remapped) */ "iddd\0" "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" "\0" - /* _mesa_function_pool[11725]: VertexAttribI4usvEXT (will be remapped) */ + /* _mesa_function_pool[11694]: VertexAttribI4usvEXT (will be remapped) */ "ip\0" "glVertexAttribI4usvEXT\0" "glVertexAttribI4usv\0" "\0" - /* _mesa_function_pool[11772]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[11741]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "ppppp\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[11836]: VertexAttrib4fARB (will be remapped) */ + /* _mesa_function_pool[11805]: VertexAttrib4fARB (will be remapped) */ "iffff\0" "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" "\0" - /* _mesa_function_pool[11880]: GetError (offset 261) */ + /* _mesa_function_pool[11849]: GetError (offset 261) */ "\0" "glGetError\0" "\0" - /* _mesa_function_pool[11893]: IndexFuncEXT (dynamic) */ + /* _mesa_function_pool[11862]: IndexFuncEXT (dynamic) */ "if\0" "glIndexFuncEXT\0" "\0" - /* _mesa_function_pool[11912]: TexCoord3dv (offset 111) */ + /* _mesa_function_pool[11881]: TexCoord3dv (offset 111) */ "p\0" "glTexCoord3dv\0" "\0" - /* _mesa_function_pool[11929]: Indexdv (offset 45) */ + /* _mesa_function_pool[11898]: Indexdv (offset 45) */ "p\0" "glIndexdv\0" "\0" - /* _mesa_function_pool[11942]: FramebufferTexture2DEXT (will be remapped) */ + /* _mesa_function_pool[11911]: FramebufferTexture2DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" "\0" - /* _mesa_function_pool[11998]: Normal3s (offset 60) */ + /* _mesa_function_pool[11967]: Normal3s (offset 60) */ "iii\0" "glNormal3s\0" "\0" - /* _mesa_function_pool[12014]: GetObjectParameterivAPPLE (will be remapped) */ + /* _mesa_function_pool[11983]: GetObjectParameterivAPPLE (will be remapped) */ "iiip\0" "glGetObjectParameterivAPPLE\0" "\0" - /* _mesa_function_pool[12048]: PushName (offset 201) */ + /* _mesa_function_pool[12017]: PushName (offset 201) */ "i\0" "glPushName\0" "\0" - /* _mesa_function_pool[12062]: MultiTexCoord2dvARB (offset 385) */ + /* _mesa_function_pool[12031]: MultiTexCoord2dvARB (offset 385) */ "ip\0" "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" "\0" - /* _mesa_function_pool[12107]: CullParameterfvEXT (dynamic) */ + /* _mesa_function_pool[12076]: CullParameterfvEXT (dynamic) */ "ip\0" "glCullParameterfvEXT\0" "\0" - /* _mesa_function_pool[12132]: Normal3i (offset 58) */ + /* _mesa_function_pool[12101]: Normal3i (offset 58) */ "iii\0" "glNormal3i\0" "\0" - /* _mesa_function_pool[12148]: ProgramNamedParameter4fvNV (will be remapped) */ + /* _mesa_function_pool[12117]: ProgramNamedParameter4fvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4fvNV\0" "\0" - /* _mesa_function_pool[12183]: SecondaryColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[12152]: SecondaryColorPointerEXT (will be remapped) */ "iiip\0" "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" "\0" - /* _mesa_function_pool[12240]: VertexAttrib4fvARB (will be remapped) */ + /* _mesa_function_pool[12209]: VertexAttrib4fvARB (will be remapped) */ "ip\0" "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" "\0" - /* _mesa_function_pool[12283]: PixelTexGenSGIX (will be remapped) */ + /* _mesa_function_pool[12252]: PixelTexGenSGIX (will be remapped) */ "i\0" "glPixelTexGenSGIX\0" "\0" - /* _mesa_function_pool[12304]: GetActiveUniformARB (will be remapped) */ + /* _mesa_function_pool[12273]: GetActiveUniformARB (will be remapped) */ "iiipppp\0" "glGetActiveUniform\0" "glGetActiveUniformARB\0" "\0" - /* _mesa_function_pool[12354]: ImageTransformParameteriHP (dynamic) */ + /* _mesa_function_pool[12323]: ImageTransformParameteriHP (dynamic) */ "iii\0" "glImageTransformParameteriHP\0" "\0" - /* _mesa_function_pool[12388]: Normal3b (offset 52) */ + /* _mesa_function_pool[12357]: Normal3b (offset 52) */ "iii\0" "glNormal3b\0" "\0" - /* _mesa_function_pool[12404]: Normal3d (offset 54) */ + /* _mesa_function_pool[12373]: Normal3d (offset 54) */ "ddd\0" "glNormal3d\0" "\0" - /* _mesa_function_pool[12420]: Uniform1uiEXT (will be remapped) */ + /* _mesa_function_pool[12389]: Uniform1uiEXT (will be remapped) */ "ii\0" "glUniform1uiEXT\0" "glUniform1ui\0" "\0" - /* _mesa_function_pool[12453]: Normal3f (offset 56) */ + /* _mesa_function_pool[12422]: Normal3f (offset 56) */ "fff\0" "glNormal3f\0" "\0" - /* _mesa_function_pool[12469]: MultiTexCoord1svARB (offset 383) */ + /* _mesa_function_pool[12438]: MultiTexCoord1svARB (offset 383) */ "ip\0" "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" "\0" - /* _mesa_function_pool[12514]: Indexi (offset 48) */ + /* _mesa_function_pool[12483]: Indexi (offset 48) */ "i\0" "glIndexi\0" "\0" - /* _mesa_function_pool[12526]: EGLImageTargetTexture2DOES (will be remapped) */ + /* _mesa_function_pool[12495]: EGLImageTargetTexture2DOES (will be remapped) */ "ip\0" "glEGLImageTargetTexture2DOES\0" "\0" - /* _mesa_function_pool[12559]: EndQueryARB (will be remapped) */ + /* _mesa_function_pool[12528]: EndQueryARB (will be remapped) */ "i\0" "glEndQuery\0" "glEndQueryARB\0" "\0" - /* _mesa_function_pool[12587]: DeleteFencesNV (will be remapped) */ + /* _mesa_function_pool[12556]: DeleteFencesNV (will be remapped) */ "ip\0" "glDeleteFencesNV\0" "\0" - /* _mesa_function_pool[12608]: ColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[12577]: ColorPointerListIBM (dynamic) */ "iiipi\0" "glColorPointerListIBM\0" "\0" - /* _mesa_function_pool[12637]: BindBufferRangeEXT (will be remapped) */ + /* _mesa_function_pool[12606]: BindBufferRangeEXT (will be remapped) */ "iiiii\0" "glBindBufferRangeEXT\0" "glBindBufferRange\0" "\0" - /* _mesa_function_pool[12683]: DepthMask (offset 211) */ + /* _mesa_function_pool[12652]: DepthMask (offset 211) */ "i\0" "glDepthMask\0" "\0" - /* _mesa_function_pool[12698]: IsShader (will be remapped) */ + /* _mesa_function_pool[12667]: IsShader (will be remapped) */ "i\0" "glIsShader\0" "\0" - /* _mesa_function_pool[12712]: Indexf (offset 46) */ + /* _mesa_function_pool[12681]: Indexf (offset 46) */ "f\0" "glIndexf\0" "\0" - /* _mesa_function_pool[12724]: GetImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[12693]: GetImageTransformParameterivHP (dynamic) */ "iip\0" "glGetImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[12762]: Indexd (offset 44) */ + /* _mesa_function_pool[12731]: Indexd (offset 44) */ "d\0" "glIndexd\0" "\0" - /* _mesa_function_pool[12774]: GetMaterialiv (offset 270) */ + /* _mesa_function_pool[12743]: GetMaterialiv (offset 270) */ "iip\0" "glGetMaterialiv\0" "\0" - /* _mesa_function_pool[12795]: StencilOp (offset 244) */ + /* _mesa_function_pool[12764]: StencilOp (offset 244) */ "iii\0" "glStencilOp\0" "\0" - /* _mesa_function_pool[12812]: WindowPos4ivMESA (will be remapped) */ + /* _mesa_function_pool[12781]: WindowPos4ivMESA (will be remapped) */ "p\0" "glWindowPos4ivMESA\0" "\0" - /* _mesa_function_pool[12834]: FramebufferTextureLayer (dynamic) */ + /* _mesa_function_pool[12803]: FramebufferTextureLayer (dynamic) */ "iiiii\0" "glFramebufferTextureLayerARB\0" "\0" - /* _mesa_function_pool[12870]: MultiTexCoord3svARB (offset 399) */ + /* _mesa_function_pool[12839]: MultiTexCoord3svARB (offset 399) */ "ip\0" "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" "\0" - /* _mesa_function_pool[12915]: TexEnvfv (offset 185) */ + /* _mesa_function_pool[12884]: TexEnvfv (offset 185) */ "iip\0" "glTexEnvfv\0" "\0" - /* _mesa_function_pool[12931]: MultiTexCoord4iARB (offset 404) */ + /* _mesa_function_pool[12900]: MultiTexCoord4iARB (offset 404) */ "iiiii\0" "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" "\0" - /* _mesa_function_pool[12977]: Indexs (offset 50) */ + /* _mesa_function_pool[12946]: Indexs (offset 50) */ "i\0" "glIndexs\0" "\0" - /* _mesa_function_pool[12989]: Binormal3ivEXT (dynamic) */ + /* _mesa_function_pool[12958]: Binormal3ivEXT (dynamic) */ "p\0" "glBinormal3ivEXT\0" "\0" - /* _mesa_function_pool[13009]: ResizeBuffersMESA (will be remapped) */ + /* _mesa_function_pool[12978]: ResizeBuffersMESA (will be remapped) */ "\0" "glResizeBuffersMESA\0" "\0" - /* _mesa_function_pool[13031]: BlendFuncSeparateiARB (will be remapped) */ + /* _mesa_function_pool[13000]: BlendFuncSeparateiARB (will be remapped) */ "iiiii\0" "glBlendFuncSeparateiARB\0" "glBlendFuncSeparateIndexedAMD\0" "\0" - /* _mesa_function_pool[13092]: GetUniformivARB (will be remapped) */ + /* _mesa_function_pool[13061]: GetUniformivARB (will be remapped) */ "iip\0" "glGetUniformiv\0" "glGetUniformivARB\0" "\0" - /* _mesa_function_pool[13130]: PixelTexGenParameteriSGIS (will be remapped) */ + /* _mesa_function_pool[13099]: PixelTexGenParameteriSGIS (will be remapped) */ "ii\0" "glPixelTexGenParameteriSGIS\0" "\0" - /* _mesa_function_pool[13162]: VertexPointervINTEL (dynamic) */ + /* _mesa_function_pool[13131]: VertexPointervINTEL (dynamic) */ "iip\0" "glVertexPointervINTEL\0" "\0" - /* _mesa_function_pool[13189]: Vertex2i (offset 130) */ + /* _mesa_function_pool[13158]: Vertex2i (offset 130) */ "ii\0" "glVertex2i\0" "\0" - /* _mesa_function_pool[13204]: LoadMatrixf (offset 291) */ + /* _mesa_function_pool[13173]: LoadMatrixf (offset 291) */ "p\0" "glLoadMatrixf\0" "\0" - /* _mesa_function_pool[13221]: VertexAttribI1uivEXT (will be remapped) */ + /* _mesa_function_pool[13190]: VertexAttribI1uivEXT (will be remapped) */ "ip\0" "glVertexAttribI1uivEXT\0" "glVertexAttribI1uiv\0" "\0" - /* _mesa_function_pool[13268]: Vertex2f (offset 128) */ + /* _mesa_function_pool[13237]: Vertex2f (offset 128) */ "ff\0" "glVertex2f\0" "\0" - /* _mesa_function_pool[13283]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[13252]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[13336]: Color4bv (offset 26) */ + /* _mesa_function_pool[13305]: Color4bv (offset 26) */ "p\0" "glColor4bv\0" "\0" - /* _mesa_function_pool[13350]: VertexPointer (offset 321) */ + /* _mesa_function_pool[13319]: VertexPointer (offset 321) */ "iiip\0" "glVertexPointer\0" "\0" - /* _mesa_function_pool[13372]: SecondaryColor3uiEXT (will be remapped) */ + /* _mesa_function_pool[13341]: SecondaryColor3uiEXT (will be remapped) */ "iii\0" "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" "\0" - /* _mesa_function_pool[13420]: StartInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[13389]: StartInstrumentsSGIX (dynamic) */ "\0" "glStartInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[13445]: SecondaryColor3usvEXT (will be remapped) */ + /* _mesa_function_pool[13414]: SecondaryColor3usvEXT (will be remapped) */ "p\0" "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" "\0" - /* _mesa_function_pool[13493]: VertexAttrib2fvNV (will be remapped) */ + /* _mesa_function_pool[13462]: VertexAttrib2fvNV (will be remapped) */ "ip\0" "glVertexAttrib2fvNV\0" "\0" - /* _mesa_function_pool[13517]: ProgramLocalParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[13486]: ProgramLocalParameter4dvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4dvARB\0" "\0" - /* _mesa_function_pool[13552]: DeleteLists (offset 4) */ + /* _mesa_function_pool[13521]: DeleteLists (offset 4) */ "ii\0" "glDeleteLists\0" "\0" - /* _mesa_function_pool[13570]: LogicOp (offset 242) */ + /* _mesa_function_pool[13539]: LogicOp (offset 242) */ "i\0" "glLogicOp\0" "\0" - /* _mesa_function_pool[13583]: MatrixIndexuivARB (dynamic) */ + /* _mesa_function_pool[13552]: MatrixIndexuivARB (dynamic) */ "ip\0" "glMatrixIndexuivARB\0" "\0" - /* _mesa_function_pool[13607]: Vertex2s (offset 132) */ + /* _mesa_function_pool[13576]: Vertex2s (offset 132) */ "ii\0" "glVertex2s\0" "\0" - /* _mesa_function_pool[13622]: RenderbufferStorageMultisample (will be remapped) */ + /* _mesa_function_pool[13591]: RenderbufferStorageMultisample (will be remapped) */ "iiiii\0" "glRenderbufferStorageMultisample\0" "glRenderbufferStorageMultisampleEXT\0" "\0" - /* _mesa_function_pool[13698]: TexCoord4fv (offset 121) */ + /* _mesa_function_pool[13667]: TexCoord4fv (offset 121) */ "p\0" "glTexCoord4fv\0" "\0" - /* _mesa_function_pool[13715]: Tangent3sEXT (dynamic) */ + /* _mesa_function_pool[13684]: Tangent3sEXT (dynamic) */ "iii\0" "glTangent3sEXT\0" "\0" - /* _mesa_function_pool[13735]: GlobalAlphaFactorfSUN (dynamic) */ + /* _mesa_function_pool[13704]: GlobalAlphaFactorfSUN (dynamic) */ "f\0" "glGlobalAlphaFactorfSUN\0" "\0" - /* _mesa_function_pool[13762]: MultiTexCoord3iARB (offset 396) */ + /* _mesa_function_pool[13731]: MultiTexCoord3iARB (offset 396) */ "iiii\0" "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" "\0" - /* _mesa_function_pool[13807]: IsProgram (will be remapped) */ + /* _mesa_function_pool[13776]: IsProgram (will be remapped) */ "i\0" "glIsProgram\0" "\0" - /* _mesa_function_pool[13822]: TexCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[13791]: TexCoordPointerListIBM (dynamic) */ "iiipi\0" "glTexCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[13854]: VertexAttribI4svEXT (will be remapped) */ + /* _mesa_function_pool[13823]: VertexAttribI4svEXT (will be remapped) */ "ip\0" "glVertexAttribI4svEXT\0" "glVertexAttribI4sv\0" "\0" - /* _mesa_function_pool[13899]: GlobalAlphaFactorusSUN (dynamic) */ + /* _mesa_function_pool[13868]: GlobalAlphaFactorusSUN (dynamic) */ "i\0" "glGlobalAlphaFactorusSUN\0" "\0" - /* _mesa_function_pool[13927]: VertexAttrib2dvNV (will be remapped) */ + /* _mesa_function_pool[13896]: VertexAttrib2dvNV (will be remapped) */ "ip\0" "glVertexAttrib2dvNV\0" "\0" - /* _mesa_function_pool[13951]: FramebufferRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[13920]: FramebufferRenderbufferEXT (will be remapped) */ "iiii\0" "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" "\0" - /* _mesa_function_pool[14012]: ClearBufferuiv (will be remapped) */ + /* _mesa_function_pool[13981]: ClearBufferuiv (will be remapped) */ "iip\0" "glClearBufferuiv\0" "\0" - /* _mesa_function_pool[14034]: VertexAttrib1dvNV (will be remapped) */ + /* _mesa_function_pool[14003]: VertexAttrib1dvNV (will be remapped) */ "ip\0" "glVertexAttrib1dvNV\0" "\0" - /* _mesa_function_pool[14058]: GenTextures (offset 328) */ + /* _mesa_function_pool[14027]: GenTextures (offset 328) */ "ip\0" "glGenTextures\0" "glGenTexturesEXT\0" "\0" - /* _mesa_function_pool[14093]: FramebufferTextureARB (will be remapped) */ + /* _mesa_function_pool[14062]: FramebufferTextureARB (will be remapped) */ "iiii\0" "glFramebufferTextureARB\0" "\0" - /* _mesa_function_pool[14123]: SetFenceNV (will be remapped) */ + /* _mesa_function_pool[14092]: SetFenceNV (will be remapped) */ "ii\0" "glSetFenceNV\0" "\0" - /* _mesa_function_pool[14140]: FramebufferTexture1DEXT (will be remapped) */ + /* _mesa_function_pool[14109]: FramebufferTexture1DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" "\0" - /* _mesa_function_pool[14196]: GetCombinerOutputParameterivNV (will be remapped) */ + /* _mesa_function_pool[14165]: GetCombinerOutputParameterivNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterivNV\0" "\0" - /* _mesa_function_pool[14235]: PixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[14204]: MultiModeDrawArraysIBM (will be remapped) */ + "pppii\0" + "glMultiModeDrawArraysIBM\0" + "\0" + /* _mesa_function_pool[14236]: PixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[14268]: TextureNormalEXT (dynamic) */ + /* _mesa_function_pool[14269]: TextureNormalEXT (dynamic) */ "i\0" "glTextureNormalEXT\0" "\0" - /* _mesa_function_pool[14290]: IndexPointerListIBM (dynamic) */ + /* _mesa_function_pool[14291]: IndexPointerListIBM (dynamic) */ "iipi\0" "glIndexPointerListIBM\0" "\0" - /* _mesa_function_pool[14318]: WeightfvARB (dynamic) */ + /* _mesa_function_pool[14319]: WeightfvARB (dynamic) */ "ip\0" "glWeightfvARB\0" "\0" - /* _mesa_function_pool[14336]: RasterPos2sv (offset 69) */ + /* _mesa_function_pool[14337]: GetCombinerOutputParameterfvNV (will be remapped) */ + "iiip\0" + "glGetCombinerOutputParameterfvNV\0" + "\0" + /* _mesa_function_pool[14376]: RasterPos2sv (offset 69) */ "p\0" "glRasterPos2sv\0" "\0" - /* _mesa_function_pool[14354]: Color4ubv (offset 36) */ + /* _mesa_function_pool[14394]: Color4ubv (offset 36) */ "p\0" "glColor4ubv\0" "\0" - /* _mesa_function_pool[14369]: DrawBuffer (offset 202) */ + /* _mesa_function_pool[14409]: DrawBuffer (offset 202) */ "i\0" "glDrawBuffer\0" "\0" - /* _mesa_function_pool[14385]: TexCoord2fv (offset 105) */ + /* _mesa_function_pool[14425]: TexCoord2fv (offset 105) */ "p\0" "glTexCoord2fv\0" "\0" - /* _mesa_function_pool[14402]: WindowPos4fMESA (will be remapped) */ + /* _mesa_function_pool[14442]: WindowPos4fMESA (will be remapped) */ "ffff\0" "glWindowPos4fMESA\0" "\0" - /* _mesa_function_pool[14426]: TexCoord1sv (offset 101) */ + /* _mesa_function_pool[14466]: TexCoord1sv (offset 101) */ "p\0" "glTexCoord1sv\0" "\0" - /* _mesa_function_pool[14443]: WindowPos3dvMESA (will be remapped) */ + /* _mesa_function_pool[14483]: WindowPos3dvMESA (will be remapped) */ "p\0" "glWindowPos3dv\0" "glWindowPos3dvARB\0" "glWindowPos3dvMESA\0" "\0" - /* _mesa_function_pool[14498]: DepthFunc (offset 245) */ + /* _mesa_function_pool[14538]: DepthFunc (offset 245) */ "i\0" "glDepthFunc\0" "\0" - /* _mesa_function_pool[14513]: PixelMapusv (offset 253) */ + /* _mesa_function_pool[14553]: PixelMapusv (offset 253) */ "iip\0" "glPixelMapusv\0" "\0" - /* _mesa_function_pool[14532]: GetQueryObjecti64vEXT (will be remapped) */ + /* _mesa_function_pool[14572]: GetQueryObjecti64vEXT (will be remapped) */ "iip\0" "glGetQueryObjecti64vEXT\0" "\0" - /* _mesa_function_pool[14561]: MultiTexCoord1dARB (offset 376) */ + /* _mesa_function_pool[14601]: MultiTexCoord1dARB (offset 376) */ "id\0" "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" "\0" - /* _mesa_function_pool[14604]: PointParameterivNV (will be remapped) */ + /* _mesa_function_pool[14644]: PointParameterivNV (will be remapped) */ "ip\0" "glPointParameteriv\0" "glPointParameterivNV\0" "\0" - /* _mesa_function_pool[14648]: IsSampler (will be remapped) */ + /* _mesa_function_pool[14688]: IsSampler (will be remapped) */ "i\0" "glIsSampler\0" "\0" - /* _mesa_function_pool[14663]: BlendFunc (offset 241) */ + /* _mesa_function_pool[14703]: BlendFunc (offset 241) */ "ii\0" "glBlendFunc\0" "\0" - /* _mesa_function_pool[14679]: EndTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[14719]: EndTransformFeedbackEXT (will be remapped) */ "\0" "glEndTransformFeedbackEXT\0" "glEndTransformFeedback\0" "\0" - /* _mesa_function_pool[14730]: Uniform2fvARB (will be remapped) */ + /* _mesa_function_pool[14770]: Uniform2fvARB (will be remapped) */ "iip\0" "glUniform2fv\0" "glUniform2fvARB\0" "\0" - /* _mesa_function_pool[14764]: BufferParameteriAPPLE (will be remapped) */ + /* _mesa_function_pool[14804]: BufferParameteriAPPLE (will be remapped) */ "iii\0" "glBufferParameteriAPPLE\0" "\0" - /* _mesa_function_pool[14793]: MultiTexCoord3dvARB (offset 393) */ + /* _mesa_function_pool[14833]: MultiTexCoord3dvARB (offset 393) */ "ip\0" "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" "\0" - /* _mesa_function_pool[14838]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[14878]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[14894]: DeleteObjectARB (will be remapped) */ + /* _mesa_function_pool[14934]: DeleteObjectARB (will be remapped) */ "i\0" "glDeleteObjectARB\0" "\0" - /* _mesa_function_pool[14915]: GetShaderPrecisionFormat (will be remapped) */ + /* _mesa_function_pool[14955]: GetShaderPrecisionFormat (will be remapped) */ "iipp\0" "glGetShaderPrecisionFormat\0" "\0" - /* _mesa_function_pool[14948]: MatrixIndexPointerARB (dynamic) */ + /* _mesa_function_pool[14988]: MatrixIndexPointerARB (dynamic) */ "iiip\0" "glMatrixIndexPointerARB\0" "\0" - /* _mesa_function_pool[14978]: ProgramNamedParameter4dvNV (will be remapped) */ + /* _mesa_function_pool[15018]: ProgramNamedParameter4dvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4dvNV\0" "\0" - /* _mesa_function_pool[15013]: Tangent3fvEXT (dynamic) */ + /* _mesa_function_pool[15053]: Tangent3fvEXT (dynamic) */ "p\0" "glTangent3fvEXT\0" "\0" - /* _mesa_function_pool[15032]: Flush (offset 217) */ + /* _mesa_function_pool[15072]: Flush (offset 217) */ "\0" "glFlush\0" "\0" - /* _mesa_function_pool[15042]: Color4uiv (offset 38) */ + /* _mesa_function_pool[15082]: Color4uiv (offset 38) */ "p\0" "glColor4uiv\0" "\0" - /* _mesa_function_pool[15057]: VertexAttribI4iEXT (will be remapped) */ + /* _mesa_function_pool[15097]: VertexAttribI4iEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4iEXT\0" "glVertexAttribI4i\0" "\0" - /* _mesa_function_pool[15103]: GenVertexArrays (will be remapped) */ + /* _mesa_function_pool[15143]: GenVertexArrays (will be remapped) */ "ip\0" "glGenVertexArrays\0" "\0" - /* _mesa_function_pool[15125]: Uniform3uivEXT (will be remapped) */ + /* _mesa_function_pool[15165]: Uniform3uivEXT (will be remapped) */ "iip\0" "glUniform3uivEXT\0" "glUniform3uiv\0" "\0" - /* _mesa_function_pool[15161]: RasterPos3sv (offset 77) */ + /* _mesa_function_pool[15201]: RasterPos3sv (offset 77) */ "p\0" "glRasterPos3sv\0" "\0" - /* _mesa_function_pool[15179]: BindFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[15219]: BindFramebufferEXT (will be remapped) */ "ii\0" "glBindFramebuffer\0" "glBindFramebufferEXT\0" "\0" - /* _mesa_function_pool[15222]: ReferencePlaneSGIX (dynamic) */ + /* _mesa_function_pool[15262]: ReferencePlaneSGIX (dynamic) */ "p\0" "glReferencePlaneSGIX\0" "\0" - /* _mesa_function_pool[15246]: PushAttrib (offset 219) */ + /* _mesa_function_pool[15286]: PushAttrib (offset 219) */ "i\0" "glPushAttrib\0" "\0" - /* _mesa_function_pool[15262]: RasterPos2i (offset 66) */ + /* _mesa_function_pool[15302]: RasterPos2i (offset 66) */ "ii\0" "glRasterPos2i\0" "\0" - /* _mesa_function_pool[15280]: ValidateProgramARB (will be remapped) */ + /* _mesa_function_pool[15320]: ValidateProgramARB (will be remapped) */ "i\0" "glValidateProgram\0" "glValidateProgramARB\0" "\0" - /* _mesa_function_pool[15322]: TexParameteriv (offset 181) */ + /* _mesa_function_pool[15362]: TexParameteriv (offset 181) */ "iip\0" "glTexParameteriv\0" "\0" - /* _mesa_function_pool[15344]: UnlockArraysEXT (will be remapped) */ + /* _mesa_function_pool[15384]: UnlockArraysEXT (will be remapped) */ "\0" "glUnlockArraysEXT\0" "\0" - /* _mesa_function_pool[15364]: TexCoord2fColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[15404]: TexCoord2fColor3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[15405]: WindowPos3fvMESA (will be remapped) */ + /* _mesa_function_pool[15445]: WindowPos3fvMESA (will be remapped) */ "p\0" "glWindowPos3fv\0" "glWindowPos3fvARB\0" "glWindowPos3fvMESA\0" "\0" - /* _mesa_function_pool[15460]: RasterPos2f (offset 64) */ + /* _mesa_function_pool[15500]: RasterPos2f (offset 64) */ "ff\0" "glRasterPos2f\0" "\0" - /* _mesa_function_pool[15478]: VertexAttrib1svNV (will be remapped) */ + /* _mesa_function_pool[15518]: VertexAttrib1svNV (will be remapped) */ "ip\0" "glVertexAttrib1svNV\0" "\0" - /* _mesa_function_pool[15502]: RasterPos2d (offset 62) */ + /* _mesa_function_pool[15542]: RasterPos2d (offset 62) */ "dd\0" "glRasterPos2d\0" "\0" - /* _mesa_function_pool[15520]: RasterPos3fv (offset 73) */ + /* _mesa_function_pool[15560]: RasterPos3fv (offset 73) */ "p\0" "glRasterPos3fv\0" "\0" - /* _mesa_function_pool[15538]: CopyTexSubImage3D (offset 373) */ + /* _mesa_function_pool[15578]: CopyTexSubImage3D (offset 373) */ "iiiiiiiii\0" "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[15592]: VertexAttrib2dARB (will be remapped) */ + /* _mesa_function_pool[15632]: VertexAttrib2dARB (will be remapped) */ "idd\0" "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" "\0" - /* _mesa_function_pool[15634]: Color4ub (offset 35) */ + /* _mesa_function_pool[15674]: Color4ub (offset 35) */ "iiii\0" "glColor4ub\0" "\0" - /* _mesa_function_pool[15651]: GetInteger64v (will be remapped) */ + /* _mesa_function_pool[15691]: GetInteger64v (will be remapped) */ "ip\0" "glGetInteger64v\0" "\0" - /* _mesa_function_pool[15671]: TextureColorMaskSGIS (dynamic) */ + /* _mesa_function_pool[15711]: TextureColorMaskSGIS (dynamic) */ "iiii\0" "glTextureColorMaskSGIS\0" "\0" - /* _mesa_function_pool[15700]: RasterPos2s (offset 68) */ + /* _mesa_function_pool[15740]: RasterPos2s (offset 68) */ "ii\0" "glRasterPos2s\0" "\0" - /* _mesa_function_pool[15718]: GetColorTable (offset 343) */ + /* _mesa_function_pool[15758]: GetColorTable (offset 343) */ "iiip\0" "glGetColorTable\0" "glGetColorTableSGI\0" "glGetColorTableEXT\0" "\0" - /* _mesa_function_pool[15778]: SelectBuffer (offset 195) */ + /* _mesa_function_pool[15818]: SelectBuffer (offset 195) */ "ip\0" "glSelectBuffer\0" "\0" - /* _mesa_function_pool[15797]: Indexiv (offset 49) */ + /* _mesa_function_pool[15837]: Indexiv (offset 49) */ "p\0" "glIndexiv\0" "\0" - /* _mesa_function_pool[15810]: TexCoord3i (offset 114) */ + /* _mesa_function_pool[15850]: TexCoord3i (offset 114) */ "iii\0" "glTexCoord3i\0" "\0" - /* _mesa_function_pool[15828]: CopyColorTable (offset 342) */ + /* _mesa_function_pool[15868]: CopyColorTable (offset 342) */ "iiiii\0" "glCopyColorTable\0" "glCopyColorTableSGI\0" "\0" - /* _mesa_function_pool[15872]: GetHistogramParameterfv (offset 362) */ + /* _mesa_function_pool[15912]: GetHistogramParameterfv (offset 362) */ "iip\0" "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" "\0" - /* _mesa_function_pool[15932]: Frustum (offset 289) */ + /* _mesa_function_pool[15972]: Frustum (offset 289) */ "dddddd\0" "glFrustum\0" "\0" - /* _mesa_function_pool[15950]: GetString (offset 275) */ + /* _mesa_function_pool[15990]: GetString (offset 275) */ "i\0" "glGetString\0" "\0" - /* _mesa_function_pool[15965]: ColorPointervINTEL (dynamic) */ + /* _mesa_function_pool[16005]: ColorPointervINTEL (dynamic) */ "iip\0" "glColorPointervINTEL\0" "\0" - /* _mesa_function_pool[15991]: TexEnvf (offset 184) */ + /* _mesa_function_pool[16031]: TexEnvf (offset 184) */ "iif\0" "glTexEnvf\0" "\0" - /* _mesa_function_pool[16006]: TexCoord3d (offset 110) */ + /* _mesa_function_pool[16046]: TexCoord3d (offset 110) */ "ddd\0" "glTexCoord3d\0" "\0" - /* _mesa_function_pool[16024]: AlphaFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[16064]: AlphaFragmentOp1ATI (will be remapped) */ "iiiiii\0" "glAlphaFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[16054]: TexCoord3f (offset 112) */ + /* _mesa_function_pool[16094]: TexCoord3f (offset 112) */ "fff\0" "glTexCoord3f\0" "\0" - /* _mesa_function_pool[16072]: MultiTexCoord3ivARB (offset 397) */ + /* _mesa_function_pool[16112]: MultiTexCoord3ivARB (offset 397) */ "ip\0" "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" "\0" - /* _mesa_function_pool[16117]: MultiTexCoord2sARB (offset 390) */ + /* _mesa_function_pool[16157]: MultiTexCoord2sARB (offset 390) */ "iii\0" "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" "\0" - /* _mesa_function_pool[16161]: VertexAttrib1dvARB (will be remapped) */ + /* _mesa_function_pool[16201]: VertexAttrib1dvARB (will be remapped) */ "ip\0" "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" "\0" - /* _mesa_function_pool[16204]: GetnHistogramARB (will be remapped) */ + /* _mesa_function_pool[16244]: GetnHistogramARB (will be remapped) */ "iiiiip\0" "glGetnHistogramARB\0" "\0" - /* _mesa_function_pool[16231]: DeleteTextures (offset 327) */ + /* _mesa_function_pool[16271]: DeleteTextures (offset 327) */ "ip\0" "glDeleteTextures\0" "glDeleteTexturesEXT\0" "\0" - /* _mesa_function_pool[16272]: TexCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[16312]: TexCoordPointerEXT (will be remapped) */ "iiiip\0" "glTexCoordPointerEXT\0" "\0" - /* _mesa_function_pool[16300]: TexSubImage4DSGIS (dynamic) */ + /* _mesa_function_pool[16340]: TexSubImage4DSGIS (dynamic) */ "iiiiiiiiiiiip\0" "glTexSubImage4DSGIS\0" "\0" - /* _mesa_function_pool[16335]: TexCoord3s (offset 116) */ + /* _mesa_function_pool[16375]: TexCoord3s (offset 116) */ "iii\0" "glTexCoord3s\0" "\0" - /* _mesa_function_pool[16353]: GetTexLevelParameteriv (offset 285) */ + /* _mesa_function_pool[16393]: GetTexLevelParameteriv (offset 285) */ "iiip\0" "glGetTexLevelParameteriv\0" "\0" - /* _mesa_function_pool[16384]: CombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[16424]: CombinerStageParameterfvNV (dynamic) */ "iip\0" "glCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[16418]: StopInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[16458]: StopInstrumentsSGIX (dynamic) */ "i\0" "glStopInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[16443]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[16483]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ "fffffffffffffff\0" "glTexCoord4fColor4fNormal3fVertex4fSUN\0" "\0" - /* _mesa_function_pool[16499]: ClearAccum (offset 204) */ + /* _mesa_function_pool[16539]: ClearAccum (offset 204) */ "ffff\0" "glClearAccum\0" "\0" - /* _mesa_function_pool[16518]: DeformSGIX (dynamic) */ + /* _mesa_function_pool[16558]: DeformSGIX (dynamic) */ "i\0" "glDeformSGIX\0" "\0" - /* _mesa_function_pool[16534]: GetVertexAttribfvARB (will be remapped) */ + /* _mesa_function_pool[16574]: GetVertexAttribfvARB (will be remapped) */ "iip\0" "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" "\0" - /* _mesa_function_pool[16582]: SecondaryColor3ivEXT (will be remapped) */ + /* _mesa_function_pool[16622]: SecondaryColor3ivEXT (will be remapped) */ "p\0" "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" "\0" - /* _mesa_function_pool[16628]: TexCoord4iv (offset 123) */ + /* _mesa_function_pool[16668]: TexCoord4iv (offset 123) */ "p\0" "glTexCoord4iv\0" "\0" - /* _mesa_function_pool[16645]: VertexAttribI4uiEXT (will be remapped) */ + /* _mesa_function_pool[16685]: VertexAttribI4uiEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4uiEXT\0" "glVertexAttribI4ui\0" "\0" - /* _mesa_function_pool[16693]: GetFragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[16733]: GetFragmentMaterialfvSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[16726]: UniformMatrix4x2fv (will be remapped) */ + /* _mesa_function_pool[16766]: UniformMatrix4x2fv (will be remapped) */ "iiip\0" "glUniformMatrix4x2fv\0" "\0" - /* _mesa_function_pool[16753]: GetDetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[16793]: GetDetailTexFuncSGIS (dynamic) */ "ip\0" "glGetDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[16780]: GetCombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[16820]: GetCombinerStageParameterfvNV (dynamic) */ "iip\0" "glGetCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[16817]: SamplerParameterIiv (will be remapped) */ + /* _mesa_function_pool[16857]: SamplerParameterIiv (will be remapped) */ "iip\0" "glSamplerParameterIiv\0" "\0" - /* _mesa_function_pool[16844]: PolygonOffset (offset 319) */ + /* _mesa_function_pool[16884]: PolygonOffset (offset 319) */ "ff\0" "glPolygonOffset\0" "\0" - /* _mesa_function_pool[16864]: BindVertexArray (will be remapped) */ + /* _mesa_function_pool[16904]: BindVertexArray (will be remapped) */ "i\0" "glBindVertexArray\0" "\0" - /* _mesa_function_pool[16885]: Color4ubVertex2fvSUN (dynamic) */ + /* _mesa_function_pool[16925]: Color4ubVertex2fvSUN (dynamic) */ "pp\0" "glColor4ubVertex2fvSUN\0" "\0" - /* _mesa_function_pool[16912]: Rectd (offset 86) */ + /* _mesa_function_pool[16952]: Rectd (offset 86) */ "dddd\0" "glRectd\0" "\0" - /* _mesa_function_pool[16926]: TexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[16966]: TexFilterFuncSGIS (dynamic) */ "iiip\0" "glTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[16952]: TextureBarrierNV (will be remapped) */ + /* _mesa_function_pool[16992]: TextureBarrierNV (will be remapped) */ "\0" "glTextureBarrierNV\0" "\0" - /* _mesa_function_pool[16973]: SamplerParameterfv (will be remapped) */ + /* _mesa_function_pool[17013]: SamplerParameterfv (will be remapped) */ "iip\0" "glSamplerParameterfv\0" "\0" - /* _mesa_function_pool[16999]: ColorMaskIndexedEXT (will be remapped) */ - "iiiii\0" - "glColorMaskIndexedEXT\0" - "glColorMaski\0" + /* _mesa_function_pool[17039]: VertexAttribI4ubvEXT (will be remapped) */ + "ip\0" + "glVertexAttribI4ubvEXT\0" + "glVertexAttribI4ubv\0" "\0" - /* _mesa_function_pool[17041]: GetAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[17086]: GetAttribLocationARB (will be remapped) */ "ip\0" "glGetAttribLocation\0" "glGetAttribLocationARB\0" "\0" - /* _mesa_function_pool[17088]: RasterPos3i (offset 74) */ + /* _mesa_function_pool[17133]: RasterPos3i (offset 74) */ "iii\0" "glRasterPos3i\0" "\0" - /* _mesa_function_pool[17107]: VertexAttrib4ubvARB (will be remapped) */ + /* _mesa_function_pool[17152]: BlendEquationSeparateiARB (will be remapped) */ + "iii\0" + "glBlendEquationSeparateiARB\0" + "glBlendEquationSeparateIndexedAMD\0" + "\0" + /* _mesa_function_pool[17219]: VertexAttrib4ubvARB (will be remapped) */ "ip\0" "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" "\0" - /* _mesa_function_pool[17152]: DetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[17264]: DetailTexFuncSGIS (dynamic) */ "iip\0" "glDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[17177]: Normal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[17289]: Normal3fVertex3fSUN (dynamic) */ "ffffff\0" "glNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[17207]: CopyTexImage2D (offset 324) */ + /* _mesa_function_pool[17319]: CopyTexImage2D (offset 324) */ "iiiiiiii\0" "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" "\0" - /* _mesa_function_pool[17254]: GetBufferPointervARB (will be remapped) */ + /* _mesa_function_pool[17366]: GetBufferPointervARB (will be remapped) */ "iip\0" "glGetBufferPointerv\0" "glGetBufferPointervARB\0" "\0" - /* _mesa_function_pool[17302]: ProgramEnvParameter4fARB (will be remapped) */ + /* _mesa_function_pool[17414]: ProgramEnvParameter4fARB (will be remapped) */ "iiffff\0" "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" "\0" - /* _mesa_function_pool[17360]: Uniform3ivARB (will be remapped) */ + /* _mesa_function_pool[17472]: Uniform3ivARB (will be remapped) */ "iip\0" "glUniform3iv\0" "glUniform3ivARB\0" "\0" - /* _mesa_function_pool[17394]: Lightfv (offset 160) */ + /* _mesa_function_pool[17506]: Lightfv (offset 160) */ "iip\0" "glLightfv\0" "\0" - /* _mesa_function_pool[17409]: PrimitiveRestartIndexNV (will be remapped) */ + /* _mesa_function_pool[17521]: PrimitiveRestartIndexNV (will be remapped) */ "i\0" "glPrimitiveRestartIndexNV\0" "glPrimitiveRestartIndex\0" "\0" - /* _mesa_function_pool[17462]: ClearDepth (offset 208) */ + /* _mesa_function_pool[17574]: ClearDepth (offset 208) */ "d\0" "glClearDepth\0" "\0" - /* _mesa_function_pool[17478]: GetFenceivNV (will be remapped) */ + /* _mesa_function_pool[17590]: GetFenceivNV (will be remapped) */ "iip\0" "glGetFenceivNV\0" "\0" - /* _mesa_function_pool[17498]: WindowPos4dvMESA (will be remapped) */ + /* _mesa_function_pool[17610]: WindowPos4dvMESA (will be remapped) */ "p\0" "glWindowPos4dvMESA\0" "\0" - /* _mesa_function_pool[17520]: ColorSubTable (offset 346) */ + /* _mesa_function_pool[17632]: ColorSubTable (offset 346) */ "iiiiip\0" "glColorSubTable\0" "glColorSubTableEXT\0" "\0" - /* _mesa_function_pool[17563]: Color4fv (offset 30) */ + /* _mesa_function_pool[17675]: Color4fv (offset 30) */ "p\0" "glColor4fv\0" "\0" - /* _mesa_function_pool[17577]: MultiTexCoord4ivARB (offset 405) */ + /* _mesa_function_pool[17689]: MultiTexCoord4ivARB (offset 405) */ "ip\0" "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" "\0" - /* _mesa_function_pool[17622]: GetnMinmaxARB (will be remapped) */ + /* _mesa_function_pool[17734]: GetnMinmaxARB (will be remapped) */ "iiiiip\0" "glGetnMinmaxARB\0" "\0" - /* _mesa_function_pool[17646]: ProgramLocalParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[17758]: ProgramLocalParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramLocalParameters4fvEXT\0" "\0" - /* _mesa_function_pool[17683]: ColorPointer (offset 308) */ + /* _mesa_function_pool[17795]: ColorPointer (offset 308) */ "iiip\0" "glColorPointer\0" "\0" - /* _mesa_function_pool[17704]: Rects (offset 92) */ + /* _mesa_function_pool[17816]: Rects (offset 92) */ "iiii\0" "glRects\0" "\0" - /* _mesa_function_pool[17718]: GetMapAttribParameterfvNV (dynamic) */ + /* _mesa_function_pool[17830]: GetMapAttribParameterfvNV (dynamic) */ "iiip\0" "glGetMapAttribParameterfvNV\0" "\0" - /* _mesa_function_pool[17752]: CreateShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[17864]: CreateShaderProgramEXT (will be remapped) */ "ip\0" "glCreateShaderProgramEXT\0" "\0" - /* _mesa_function_pool[17781]: ActiveProgramEXT (will be remapped) */ + /* _mesa_function_pool[17893]: ActiveProgramEXT (will be remapped) */ "i\0" "glActiveProgramEXT\0" "\0" - /* _mesa_function_pool[17803]: Lightiv (offset 162) */ + /* _mesa_function_pool[17915]: Lightiv (offset 162) */ "iip\0" "glLightiv\0" "\0" - /* _mesa_function_pool[17818]: VertexAttrib4sARB (will be remapped) */ + /* _mesa_function_pool[17930]: VertexAttrib4sARB (will be remapped) */ "iiiii\0" "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" "\0" - /* _mesa_function_pool[17862]: GetQueryObjectuivARB (will be remapped) */ + /* _mesa_function_pool[17974]: GetQueryObjectuivARB (will be remapped) */ "iip\0" "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" "\0" - /* _mesa_function_pool[17910]: GetTexParameteriv (offset 283) */ + /* _mesa_function_pool[18022]: GetTexParameteriv (offset 283) */ "iip\0" "glGetTexParameteriv\0" "\0" - /* _mesa_function_pool[17935]: MapParameterivNV (dynamic) */ + /* _mesa_function_pool[18047]: MapParameterivNV (dynamic) */ "iip\0" "glMapParameterivNV\0" "\0" - /* _mesa_function_pool[17959]: GenRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[18071]: GenRenderbuffersEXT (will be remapped) */ "ip\0" "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[18004]: ClearBufferfv (will be remapped) */ + /* _mesa_function_pool[18116]: ClearBufferfv (will be remapped) */ "iip\0" "glClearBufferfv\0" "\0" - /* _mesa_function_pool[18025]: VertexAttrib2dvARB (will be remapped) */ + /* _mesa_function_pool[18137]: VertexAttrib2dvARB (will be remapped) */ "ip\0" "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" "\0" - /* _mesa_function_pool[18068]: EdgeFlagPointerEXT (will be remapped) */ + /* _mesa_function_pool[18180]: EdgeFlagPointerEXT (will be remapped) */ "iip\0" "glEdgeFlagPointerEXT\0" "\0" - /* _mesa_function_pool[18094]: VertexAttribs2svNV (will be remapped) */ + /* _mesa_function_pool[18206]: VertexAttribs2svNV (will be remapped) */ "iip\0" "glVertexAttribs2svNV\0" "\0" - /* _mesa_function_pool[18120]: WeightbvARB (dynamic) */ + /* _mesa_function_pool[18232]: WeightbvARB (dynamic) */ "ip\0" "glWeightbvARB\0" "\0" - /* _mesa_function_pool[18138]: VertexAttrib2fvARB (will be remapped) */ + /* _mesa_function_pool[18250]: VertexAttrib2fvARB (will be remapped) */ "ip\0" "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" "\0" - /* _mesa_function_pool[18181]: GetBufferParameterivARB (will be remapped) */ + /* _mesa_function_pool[18293]: GetBufferParameterivARB (will be remapped) */ "iip\0" "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" "\0" - /* _mesa_function_pool[18235]: Rectdv (offset 87) */ + /* _mesa_function_pool[18347]: Rectdv (offset 87) */ "pp\0" "glRectdv\0" "\0" - /* _mesa_function_pool[18248]: ListParameteriSGIX (dynamic) */ + /* _mesa_function_pool[18360]: ListParameteriSGIX (dynamic) */ "iii\0" "glListParameteriSGIX\0" "\0" - /* _mesa_function_pool[18274]: BlendEquationiARB (will be remapped) */ + /* _mesa_function_pool[18386]: BlendEquationiARB (will be remapped) */ "ii\0" "glBlendEquationiARB\0" "glBlendEquationIndexedAMD\0" "\0" - /* _mesa_function_pool[18324]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[18436]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffff\0" "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[18383]: InstrumentsBufferSGIX (dynamic) */ + /* _mesa_function_pool[18495]: InstrumentsBufferSGIX (dynamic) */ "ip\0" "glInstrumentsBufferSGIX\0" "\0" - /* _mesa_function_pool[18411]: VertexAttrib4NivARB (will be remapped) */ + /* _mesa_function_pool[18523]: VertexAttrib4NivARB (will be remapped) */ "ip\0" "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" "\0" - /* _mesa_function_pool[18456]: DrawArraysInstancedARB (will be remapped) */ + /* _mesa_function_pool[18568]: DrawArraysInstancedARB (will be remapped) */ "iiii\0" "glDrawArraysInstancedARB\0" "glDrawArraysInstancedEXT\0" "glDrawArraysInstanced\0" "\0" - /* _mesa_function_pool[18534]: GetAttachedShaders (will be remapped) */ + /* _mesa_function_pool[18646]: GetAttachedShaders (will be remapped) */ "iipp\0" "glGetAttachedShaders\0" "\0" - /* _mesa_function_pool[18561]: GenVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[18673]: GenVertexArraysAPPLE (will be remapped) */ "ip\0" "glGenVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[18588]: ClearBufferfi (will be remapped) */ + /* _mesa_function_pool[18700]: ClearBufferfi (will be remapped) */ "iifi\0" "glClearBufferfi\0" "\0" - /* _mesa_function_pool[18610]: Materialiv (offset 172) */ + /* _mesa_function_pool[18722]: Materialiv (offset 172) */ "iip\0" "glMaterialiv\0" "\0" - /* _mesa_function_pool[18628]: PushClientAttrib (offset 335) */ + /* _mesa_function_pool[18740]: PushClientAttrib (offset 335) */ "i\0" "glPushClientAttrib\0" "\0" - /* _mesa_function_pool[18650]: SamplerParameteriv (will be remapped) */ + /* _mesa_function_pool[18762]: SamplerParameteriv (will be remapped) */ "iip\0" "glSamplerParameteriv\0" "\0" - /* _mesa_function_pool[18676]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[18788]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[18722]: WindowPos2iMESA (will be remapped) */ + /* _mesa_function_pool[18834]: WindowPos2iMESA (will be remapped) */ "ii\0" "glWindowPos2i\0" "glWindowPos2iARB\0" "glWindowPos2iMESA\0" "\0" - /* _mesa_function_pool[18775]: SampleMaskSGIS (will be remapped) */ + /* _mesa_function_pool[18887]: SampleMaskSGIS (will be remapped) */ "fi\0" "glSampleMaskSGIS\0" "glSampleMaskEXT\0" "\0" - /* _mesa_function_pool[18812]: SecondaryColor3fvEXT (will be remapped) */ + /* _mesa_function_pool[18924]: SecondaryColor3fvEXT (will be remapped) */ "p\0" "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" "\0" - /* _mesa_function_pool[18858]: PolygonMode (offset 174) */ + /* _mesa_function_pool[18970]: PolygonMode (offset 174) */ "ii\0" "glPolygonMode\0" "\0" - /* _mesa_function_pool[18876]: CompressedTexSubImage1DARB (will be remapped) */ + /* _mesa_function_pool[18988]: CompressedTexSubImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" "\0" - /* _mesa_function_pool[18940]: VertexAttribI1iEXT (will be remapped) */ + /* _mesa_function_pool[19052]: VertexAttribI1iEXT (will be remapped) */ "ii\0" "glVertexAttribI1iEXT\0" "glVertexAttribI1i\0" "\0" - /* _mesa_function_pool[18983]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[19095]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[19025]: GetVertexAttribivNV (will be remapped) */ + /* _mesa_function_pool[19137]: GetVertexAttribivNV (will be remapped) */ "iip\0" "glGetVertexAttribivNV\0" "\0" - /* _mesa_function_pool[19052]: GetProgramStringARB (will be remapped) */ + /* _mesa_function_pool[19164]: GetProgramStringARB (will be remapped) */ "iip\0" "glGetProgramStringARB\0" "\0" - /* _mesa_function_pool[19079]: GetnUniformdvARB (will be remapped) */ + /* _mesa_function_pool[19191]: GetnUniformdvARB (will be remapped) */ "iiip\0" "glGetnUniformdvARB\0" "\0" - /* _mesa_function_pool[19104]: VertexAttribIPointerEXT (will be remapped) */ + /* _mesa_function_pool[19216]: DrawElementsInstancedBaseVertex (will be remapped) */ + "iiipii\0" + "glDrawElementsInstancedBaseVertex\0" + "\0" + /* _mesa_function_pool[19258]: VertexAttribIPointerEXT (will be remapped) */ "iiiip\0" "glVertexAttribIPointerEXT\0" "glVertexAttribIPointer\0" "\0" - /* _mesa_function_pool[19160]: TexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[19314]: TexBumpParameterfvATI (will be remapped) */ "ip\0" "glTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[19188]: Tangent3ivEXT (dynamic) */ + /* _mesa_function_pool[19342]: Tangent3ivEXT (dynamic) */ "p\0" "glTangent3ivEXT\0" "\0" - /* _mesa_function_pool[19207]: CompileShaderARB (will be remapped) */ + /* _mesa_function_pool[19361]: CompileShaderARB (will be remapped) */ "i\0" "glCompileShader\0" "glCompileShaderARB\0" "\0" - /* _mesa_function_pool[19245]: DeleteShader (will be remapped) */ + /* _mesa_function_pool[19399]: DeleteShader (will be remapped) */ "i\0" "glDeleteShader\0" "\0" - /* _mesa_function_pool[19263]: DisableClientState (offset 309) */ + /* _mesa_function_pool[19417]: DisableClientState (offset 309) */ "i\0" "glDisableClientState\0" "\0" - /* _mesa_function_pool[19287]: TexGeni (offset 192) */ + /* _mesa_function_pool[19441]: TexGeni (offset 192) */ "iii\0" "glTexGeni\0" "\0" - /* _mesa_function_pool[19302]: TexGenf (offset 190) */ + /* _mesa_function_pool[19456]: TexGenf (offset 190) */ "iif\0" "glTexGenf\0" "\0" - /* _mesa_function_pool[19317]: Uniform3fARB (will be remapped) */ + /* _mesa_function_pool[19471]: Uniform3fARB (will be remapped) */ "ifff\0" "glUniform3f\0" "glUniform3fARB\0" "\0" - /* _mesa_function_pool[19350]: TexGend (offset 188) */ + /* _mesa_function_pool[19504]: TexGend (offset 188) */ "iid\0" "glTexGend\0" "\0" - /* _mesa_function_pool[19365]: ListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[19519]: ListParameterfvSGIX (dynamic) */ "iip\0" "glListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[19392]: GetPolygonStipple (offset 274) */ + /* _mesa_function_pool[19546]: GetPolygonStipple (offset 274) */ "p\0" "glGetPolygonStipple\0" "\0" - /* _mesa_function_pool[19415]: Tangent3dvEXT (dynamic) */ + /* _mesa_function_pool[19569]: Tangent3dvEXT (dynamic) */ "p\0" "glTangent3dvEXT\0" "\0" - /* _mesa_function_pool[19434]: BindBufferOffsetEXT (will be remapped) */ + /* _mesa_function_pool[19588]: BindBufferOffsetEXT (will be remapped) */ "iiii\0" "glBindBufferOffsetEXT\0" "\0" - /* _mesa_function_pool[19462]: WindowPos3sMESA (will be remapped) */ + /* _mesa_function_pool[19616]: WindowPos3sMESA (will be remapped) */ "iii\0" "glWindowPos3s\0" "glWindowPos3sARB\0" "glWindowPos3sMESA\0" "\0" - /* _mesa_function_pool[19516]: VertexAttrib2svNV (will be remapped) */ + /* _mesa_function_pool[19670]: VertexAttrib2svNV (will be remapped) */ "ip\0" "glVertexAttrib2svNV\0" "\0" - /* _mesa_function_pool[19540]: DisableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[19694]: DisableIndexedEXT (will be remapped) */ "ii\0" "glDisableIndexedEXT\0" "glDisablei\0" "\0" - /* _mesa_function_pool[19575]: BindBufferBaseEXT (will be remapped) */ + /* _mesa_function_pool[19729]: BindBufferBaseEXT (will be remapped) */ "iii\0" "glBindBufferBaseEXT\0" "glBindBufferBase\0" "\0" - /* _mesa_function_pool[19617]: TexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[19771]: TexCoord2fVertex3fvSUN (dynamic) */ "pp\0" "glTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[19646]: WindowPos4sMESA (will be remapped) */ + /* _mesa_function_pool[19800]: WindowPos4sMESA (will be remapped) */ "iiii\0" "glWindowPos4sMESA\0" "\0" - /* _mesa_function_pool[19670]: GetnPixelMapuivARB (will be remapped) */ + /* _mesa_function_pool[19824]: GetnPixelMapuivARB (will be remapped) */ "iip\0" "glGetnPixelMapuivARB\0" "\0" - /* _mesa_function_pool[19696]: VertexAttrib4NuivARB (will be remapped) */ + /* _mesa_function_pool[19850]: VertexAttrib4NuivARB (will be remapped) */ "ip\0" "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" "\0" - /* _mesa_function_pool[19743]: ClientActiveTextureARB (offset 375) */ + /* _mesa_function_pool[19897]: ClientActiveTextureARB (offset 375) */ "i\0" "glClientActiveTexture\0" "glClientActiveTextureARB\0" "\0" - /* _mesa_function_pool[19793]: GetSamplerParameterIuiv (will be remapped) */ + /* _mesa_function_pool[19947]: GetSamplerParameterIuiv (will be remapped) */ "iip\0" "glGetSamplerParameterIuiv\0" "\0" - /* _mesa_function_pool[19824]: ReplacementCodeusvSUN (dynamic) */ + /* _mesa_function_pool[19978]: ReplacementCodeusvSUN (dynamic) */ "p\0" "glReplacementCodeusvSUN\0" "\0" - /* _mesa_function_pool[19851]: Uniform4fARB (will be remapped) */ + /* _mesa_function_pool[20005]: Uniform4fARB (will be remapped) */ "iffff\0" "glUniform4f\0" "glUniform4fARB\0" "\0" - /* _mesa_function_pool[19885]: Color4sv (offset 34) */ + /* _mesa_function_pool[20039]: Color4sv (offset 34) */ "p\0" "glColor4sv\0" "\0" - /* _mesa_function_pool[19899]: FlushMappedBufferRange (will be remapped) */ + /* _mesa_function_pool[20053]: FlushMappedBufferRange (will be remapped) */ "iii\0" "glFlushMappedBufferRange\0" "\0" - /* _mesa_function_pool[19929]: IsProgramNV (will be remapped) */ + /* _mesa_function_pool[20083]: IsProgramNV (will be remapped) */ "i\0" "glIsProgramARB\0" "glIsProgramNV\0" "\0" - /* _mesa_function_pool[19961]: FlushMappedBufferRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[20115]: FlushMappedBufferRangeAPPLE (will be remapped) */ "iii\0" "glFlushMappedBufferRangeAPPLE\0" "\0" - /* _mesa_function_pool[19996]: PixelZoom (offset 246) */ + /* _mesa_function_pool[20150]: PixelZoom (offset 246) */ "ff\0" "glPixelZoom\0" "\0" - /* _mesa_function_pool[20012]: ReplacementCodePointerSUN (dynamic) */ + /* _mesa_function_pool[20166]: ReplacementCodePointerSUN (dynamic) */ "iip\0" "glReplacementCodePointerSUN\0" "\0" - /* _mesa_function_pool[20045]: ProgramEnvParameter4dARB (will be remapped) */ + /* _mesa_function_pool[20199]: ProgramEnvParameter4dARB (will be remapped) */ "iidddd\0" "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" "\0" - /* _mesa_function_pool[20103]: ColorTableParameterfv (offset 340) */ + /* _mesa_function_pool[20257]: ColorTableParameterfv (offset 340) */ "iip\0" "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" "\0" - /* _mesa_function_pool[20159]: FragmentLightModelfSGIX (dynamic) */ + /* _mesa_function_pool[20313]: FragmentLightModelfSGIX (dynamic) */ "if\0" "glFragmentLightModelfSGIX\0" "\0" - /* _mesa_function_pool[20189]: Binormal3bvEXT (dynamic) */ + /* _mesa_function_pool[20343]: Binormal3bvEXT (dynamic) */ "p\0" "glBinormal3bvEXT\0" "\0" - /* _mesa_function_pool[20209]: PixelMapuiv (offset 252) */ + /* _mesa_function_pool[20363]: PixelMapuiv (offset 252) */ "iip\0" "glPixelMapuiv\0" "\0" - /* _mesa_function_pool[20228]: Color3dv (offset 12) */ + /* _mesa_function_pool[20382]: Color3dv (offset 12) */ "p\0" "glColor3dv\0" "\0" - /* _mesa_function_pool[20242]: IsTexture (offset 330) */ + /* _mesa_function_pool[20396]: IsTexture (offset 330) */ "i\0" "glIsTexture\0" "glIsTextureEXT\0" "\0" - /* _mesa_function_pool[20272]: GenSamplers (will be remapped) */ + /* _mesa_function_pool[20426]: GenSamplers (will be remapped) */ "ip\0" "glGenSamplers\0" "\0" - /* _mesa_function_pool[20290]: VertexWeightfvEXT (dynamic) */ + /* _mesa_function_pool[20444]: VertexWeightfvEXT (dynamic) */ "p\0" "glVertexWeightfvEXT\0" "\0" - /* _mesa_function_pool[20313]: VertexAttrib1dARB (will be remapped) */ + /* _mesa_function_pool[20467]: VertexAttrib1dARB (will be remapped) */ "id\0" "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" "\0" - /* _mesa_function_pool[20354]: ImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[20508]: ImageTransformParameterivHP (dynamic) */ "iip\0" "glImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[20389]: TexCoord4i (offset 122) */ + /* _mesa_function_pool[20543]: TexCoord4i (offset 122) */ "iiii\0" "glTexCoord4i\0" "\0" - /* _mesa_function_pool[20408]: DeleteQueriesARB (will be remapped) */ + /* _mesa_function_pool[20562]: DeleteQueriesARB (will be remapped) */ "ip\0" "glDeleteQueries\0" "glDeleteQueriesARB\0" "\0" - /* _mesa_function_pool[20447]: Color4ubVertex2fSUN (dynamic) */ + /* _mesa_function_pool[20601]: Color4ubVertex2fSUN (dynamic) */ "iiiiff\0" "glColor4ubVertex2fSUN\0" "\0" - /* _mesa_function_pool[20477]: FragmentColorMaterialSGIX (dynamic) */ + /* _mesa_function_pool[20631]: FragmentColorMaterialSGIX (dynamic) */ "ii\0" "glFragmentColorMaterialSGIX\0" "\0" - /* _mesa_function_pool[20509]: CurrentPaletteMatrixARB (dynamic) */ + /* _mesa_function_pool[20663]: CurrentPaletteMatrixARB (dynamic) */ "i\0" "glCurrentPaletteMatrixARB\0" "\0" - /* _mesa_function_pool[20538]: GetMapdv (offset 266) */ + /* _mesa_function_pool[20692]: GetMapdv (offset 266) */ "iip\0" "glGetMapdv\0" "\0" - /* _mesa_function_pool[20554]: ObjectPurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[20708]: ObjectPurgeableAPPLE (will be remapped) */ "iii\0" "glObjectPurgeableAPPLE\0" "\0" - /* _mesa_function_pool[20582]: GetStringi (will be remapped) */ + /* _mesa_function_pool[20736]: GetStringi (will be remapped) */ "ii\0" "glGetStringi\0" "\0" - /* _mesa_function_pool[20599]: SamplePatternSGIS (will be remapped) */ + /* _mesa_function_pool[20753]: SamplePatternSGIS (will be remapped) */ "i\0" "glSamplePatternSGIS\0" "glSamplePatternEXT\0" "\0" - /* _mesa_function_pool[20641]: PixelStoref (offset 249) */ + /* _mesa_function_pool[20795]: PixelStoref (offset 249) */ "if\0" "glPixelStoref\0" "\0" - /* _mesa_function_pool[20659]: IsQueryARB (will be remapped) */ + /* _mesa_function_pool[20813]: IsQueryARB (will be remapped) */ "i\0" "glIsQuery\0" "glIsQueryARB\0" "\0" - /* _mesa_function_pool[20685]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[20839]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ "iiiiifff\0" "glReplacementCodeuiColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[20734]: PixelStorei (offset 250) */ + /* _mesa_function_pool[20888]: PixelStorei (offset 250) */ "ii\0" "glPixelStorei\0" "\0" - /* _mesa_function_pool[20752]: VertexAttrib4usvARB (will be remapped) */ + /* _mesa_function_pool[20906]: VertexAttrib4usvARB (will be remapped) */ "ip\0" "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" "\0" - /* _mesa_function_pool[20797]: LinkProgramARB (will be remapped) */ + /* _mesa_function_pool[20951]: LinkProgramARB (will be remapped) */ "i\0" "glLinkProgram\0" "glLinkProgramARB\0" "\0" - /* _mesa_function_pool[20831]: VertexAttrib2fNV (will be remapped) */ + /* _mesa_function_pool[20985]: VertexAttrib2fNV (will be remapped) */ "iff\0" "glVertexAttrib2fNV\0" "\0" - /* _mesa_function_pool[20855]: ShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[21009]: ShaderSourceARB (will be remapped) */ "iipp\0" "glShaderSource\0" "glShaderSourceARB\0" "\0" - /* _mesa_function_pool[20894]: FragmentMaterialiSGIX (dynamic) */ + /* _mesa_function_pool[21048]: FragmentMaterialiSGIX (dynamic) */ "iii\0" "glFragmentMaterialiSGIX\0" "\0" - /* _mesa_function_pool[20923]: EvalCoord2dv (offset 233) */ + /* _mesa_function_pool[21077]: EvalCoord2dv (offset 233) */ "p\0" "glEvalCoord2dv\0" "\0" - /* _mesa_function_pool[20941]: VertexAttrib3svARB (will be remapped) */ + /* _mesa_function_pool[21095]: VertexAttrib3svARB (will be remapped) */ "ip\0" "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" "\0" - /* _mesa_function_pool[20984]: ColorMaterial (offset 151) */ + /* _mesa_function_pool[21138]: ColorMaterial (offset 151) */ "ii\0" "glColorMaterial\0" "\0" - /* _mesa_function_pool[21004]: CompressedTexSubImage3DARB (will be remapped) */ + /* _mesa_function_pool[21158]: CompressedTexSubImage3DARB (will be remapped) */ "iiiiiiiiiip\0" "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" "\0" - /* _mesa_function_pool[21072]: WindowPos2ivMESA (will be remapped) */ + /* _mesa_function_pool[21226]: WindowPos2ivMESA (will be remapped) */ "p\0" "glWindowPos2iv\0" "glWindowPos2ivARB\0" "glWindowPos2ivMESA\0" "\0" - /* _mesa_function_pool[21127]: IsFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[21281]: IsFramebufferEXT (will be remapped) */ "i\0" "glIsFramebuffer\0" "glIsFramebufferEXT\0" "\0" - /* _mesa_function_pool[21165]: Uniform4ivARB (will be remapped) */ + /* _mesa_function_pool[21319]: Uniform4ivARB (will be remapped) */ "iip\0" "glUniform4iv\0" "glUniform4ivARB\0" "\0" - /* _mesa_function_pool[21199]: GetVertexAttribdvARB (will be remapped) */ + /* _mesa_function_pool[21353]: GetVertexAttribdvARB (will be remapped) */ "iip\0" "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" "\0" - /* _mesa_function_pool[21247]: TexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[21401]: TexBumpParameterivATI (will be remapped) */ "ip\0" "glTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[21275]: GetSeparableFilter (offset 359) */ + /* _mesa_function_pool[21429]: GetSeparableFilter (offset 359) */ "iiippp\0" "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" "\0" - /* _mesa_function_pool[21328]: Binormal3dEXT (dynamic) */ + /* _mesa_function_pool[21482]: Binormal3dEXT (dynamic) */ "ddd\0" "glBinormal3dEXT\0" "\0" - /* _mesa_function_pool[21349]: SpriteParameteriSGIX (dynamic) */ + /* _mesa_function_pool[21503]: SpriteParameteriSGIX (dynamic) */ "ii\0" "glSpriteParameteriSGIX\0" "\0" - /* _mesa_function_pool[21376]: RequestResidentProgramsNV (will be remapped) */ + /* _mesa_function_pool[21530]: RequestResidentProgramsNV (will be remapped) */ "ip\0" "glRequestResidentProgramsNV\0" "\0" - /* _mesa_function_pool[21408]: TagSampleBufferSGIX (dynamic) */ + /* _mesa_function_pool[21562]: TagSampleBufferSGIX (dynamic) */ "\0" "glTagSampleBufferSGIX\0" "\0" - /* _mesa_function_pool[21432]: TransformFeedbackVaryingsEXT (will be remapped) */ + /* _mesa_function_pool[21586]: TransformFeedbackVaryingsEXT (will be remapped) */ "iipi\0" "glTransformFeedbackVaryingsEXT\0" "glTransformFeedbackVaryings\0" "\0" - /* _mesa_function_pool[21497]: FeedbackBuffer (offset 194) */ + /* _mesa_function_pool[21651]: FeedbackBuffer (offset 194) */ "iip\0" "glFeedbackBuffer\0" "\0" - /* _mesa_function_pool[21519]: RasterPos2iv (offset 67) */ + /* _mesa_function_pool[21673]: RasterPos2iv (offset 67) */ "p\0" "glRasterPos2iv\0" "\0" - /* _mesa_function_pool[21537]: TexImage1D (offset 182) */ + /* _mesa_function_pool[21691]: TexImage1D (offset 182) */ "iiiiiiip\0" "glTexImage1D\0" "\0" - /* _mesa_function_pool[21560]: ListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[21714]: ListParameterivSGIX (dynamic) */ "iip\0" "glListParameterivSGIX\0" "\0" - /* _mesa_function_pool[21587]: MultiDrawElementsEXT (will be remapped) */ + /* _mesa_function_pool[21741]: MultiDrawElementsEXT (will be remapped) */ "ipipi\0" "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" "\0" - /* _mesa_function_pool[21637]: Color3s (offset 17) */ + /* _mesa_function_pool[21791]: Color3s (offset 17) */ "iii\0" "glColor3s\0" "\0" - /* _mesa_function_pool[21652]: Uniform1ivARB (will be remapped) */ + /* _mesa_function_pool[21806]: Uniform1ivARB (will be remapped) */ "iip\0" "glUniform1iv\0" "glUniform1ivARB\0" "\0" - /* _mesa_function_pool[21686]: WindowPos2sMESA (will be remapped) */ + /* _mesa_function_pool[21840]: WindowPos2sMESA (will be remapped) */ "ii\0" "glWindowPos2s\0" "glWindowPos2sARB\0" "glWindowPos2sMESA\0" "\0" - /* _mesa_function_pool[21739]: WeightusvARB (dynamic) */ + /* _mesa_function_pool[21893]: WeightusvARB (dynamic) */ "ip\0" "glWeightusvARB\0" "\0" - /* _mesa_function_pool[21758]: TexCoordPointer (offset 320) */ + /* _mesa_function_pool[21912]: TexCoordPointer (offset 320) */ "iiip\0" "glTexCoordPointer\0" "\0" - /* _mesa_function_pool[21782]: FogCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[21936]: FogCoordPointerEXT (will be remapped) */ "iip\0" "glFogCoordPointer\0" "glFogCoordPointerEXT\0" "\0" - /* _mesa_function_pool[21826]: GetnSeparableFilterARB (will be remapped) */ + /* _mesa_function_pool[21980]: GetnSeparableFilterARB (will be remapped) */ "iiiipipp\0" "glGetnSeparableFilterARB\0" "\0" - /* _mesa_function_pool[21861]: IndexMaterialEXT (dynamic) */ + /* _mesa_function_pool[22015]: IndexMaterialEXT (dynamic) */ "ii\0" "glIndexMaterialEXT\0" "\0" - /* _mesa_function_pool[21884]: Color3i (offset 15) */ + /* _mesa_function_pool[22038]: Color3i (offset 15) */ "iii\0" "glColor3i\0" "\0" - /* _mesa_function_pool[21899]: FrontFace (offset 157) */ + /* _mesa_function_pool[22053]: FrontFace (offset 157) */ "i\0" "glFrontFace\0" "\0" - /* _mesa_function_pool[21914]: EvalCoord2d (offset 232) */ + /* _mesa_function_pool[22068]: EvalCoord2d (offset 232) */ "dd\0" "glEvalCoord2d\0" "\0" - /* _mesa_function_pool[21932]: SecondaryColor3ubvEXT (will be remapped) */ + /* _mesa_function_pool[22086]: SecondaryColor3ubvEXT (will be remapped) */ "p\0" "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" "\0" - /* _mesa_function_pool[21980]: EvalCoord2f (offset 234) */ + /* _mesa_function_pool[22134]: EvalCoord2f (offset 234) */ "ff\0" "glEvalCoord2f\0" "\0" - /* _mesa_function_pool[21998]: VertexAttrib4dvARB (will be remapped) */ + /* _mesa_function_pool[22152]: VertexAttrib4dvARB (will be remapped) */ "ip\0" "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" "\0" - /* _mesa_function_pool[22041]: BindAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[22195]: BindAttribLocationARB (will be remapped) */ "iip\0" "glBindAttribLocation\0" "glBindAttribLocationARB\0" "\0" - /* _mesa_function_pool[22091]: Color3b (offset 9) */ + /* _mesa_function_pool[22245]: Color3b (offset 9) */ "iii\0" "glColor3b\0" "\0" - /* _mesa_function_pool[22106]: MultiTexCoord2dARB (offset 384) */ + /* _mesa_function_pool[22260]: MultiTexCoord2dARB (offset 384) */ "idd\0" "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" "\0" - /* _mesa_function_pool[22150]: ExecuteProgramNV (will be remapped) */ + /* _mesa_function_pool[22304]: ExecuteProgramNV (will be remapped) */ "iip\0" "glExecuteProgramNV\0" "\0" - /* _mesa_function_pool[22174]: Color3f (offset 13) */ + /* _mesa_function_pool[22328]: Color3f (offset 13) */ "fff\0" "glColor3f\0" "\0" - /* _mesa_function_pool[22189]: LightEnviSGIX (dynamic) */ + /* _mesa_function_pool[22343]: LightEnviSGIX (dynamic) */ "ii\0" "glLightEnviSGIX\0" "\0" - /* _mesa_function_pool[22209]: Color3d (offset 11) */ + /* _mesa_function_pool[22363]: Color3d (offset 11) */ "ddd\0" "glColor3d\0" "\0" - /* _mesa_function_pool[22224]: Normal3dv (offset 55) */ + /* _mesa_function_pool[22378]: Normal3dv (offset 55) */ "p\0" "glNormal3dv\0" "\0" - /* _mesa_function_pool[22239]: Lightf (offset 159) */ + /* _mesa_function_pool[22393]: Lightf (offset 159) */ "iif\0" "glLightf\0" "\0" - /* _mesa_function_pool[22253]: ReplacementCodeuiSUN (dynamic) */ + /* _mesa_function_pool[22407]: ReplacementCodeuiSUN (dynamic) */ "i\0" "glReplacementCodeuiSUN\0" "\0" - /* _mesa_function_pool[22279]: MatrixMode (offset 293) */ + /* _mesa_function_pool[22433]: MatrixMode (offset 293) */ "i\0" "glMatrixMode\0" "\0" - /* _mesa_function_pool[22295]: GetPixelMapusv (offset 273) */ + /* _mesa_function_pool[22449]: GetPixelMapusv (offset 273) */ "ip\0" "glGetPixelMapusv\0" "\0" - /* _mesa_function_pool[22316]: Lighti (offset 161) */ + /* _mesa_function_pool[22470]: Lighti (offset 161) */ "iii\0" "glLighti\0" "\0" - /* _mesa_function_pool[22330]: VertexAttribPointerNV (will be remapped) */ + /* _mesa_function_pool[22484]: VertexAttribPointerNV (will be remapped) */ "iiiip\0" "glVertexAttribPointerNV\0" "\0" - /* _mesa_function_pool[22361]: ClearDepthf (will be remapped) */ + /* _mesa_function_pool[22515]: ClearDepthf (will be remapped) */ "f\0" "glClearDepthf\0" "\0" - /* _mesa_function_pool[22378]: GetBooleanIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[22532]: GetBooleanIndexedvEXT (will be remapped) */ "iip\0" "glGetBooleanIndexedvEXT\0" "glGetBooleani_v\0" "\0" - /* _mesa_function_pool[22423]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ + /* _mesa_function_pool[22577]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ "iiip\0" "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" "\0" - /* _mesa_function_pool[22508]: PixelTransformParameterfEXT (dynamic) */ + /* _mesa_function_pool[22662]: PixelTransformParameterfEXT (dynamic) */ "iif\0" "glPixelTransformParameterfEXT\0" "\0" - /* _mesa_function_pool[22543]: MultiTexCoord4dvARB (offset 401) */ + /* _mesa_function_pool[22697]: MultiTexCoord4dvARB (offset 401) */ "ip\0" "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" "\0" - /* _mesa_function_pool[22588]: PixelTransformParameteriEXT (dynamic) */ + /* _mesa_function_pool[22742]: PixelTransformParameteriEXT (dynamic) */ "iii\0" "glPixelTransformParameteriEXT\0" "\0" - /* _mesa_function_pool[22623]: GetDoublev (offset 260) */ + /* _mesa_function_pool[22777]: GetDoublev (offset 260) */ "ip\0" "glGetDoublev\0" "\0" - /* _mesa_function_pool[22640]: MultMatrixd (offset 295) */ + /* _mesa_function_pool[22794]: MultMatrixd (offset 295) */ "p\0" "glMultMatrixd\0" "\0" - /* _mesa_function_pool[22657]: MultMatrixf (offset 294) */ + /* _mesa_function_pool[22811]: MultMatrixf (offset 294) */ "p\0" "glMultMatrixf\0" "\0" - /* _mesa_function_pool[22674]: VertexAttribI4bvEXT (will be remapped) */ + /* _mesa_function_pool[22828]: VertexAttribI4bvEXT (will be remapped) */ "ip\0" "glVertexAttribI4bvEXT\0" "glVertexAttribI4bv\0" "\0" - /* _mesa_function_pool[22719]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[22873]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ "ffiiiifff\0" "glTexCoord2fColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[22762]: Uniform1iARB (will be remapped) */ + /* _mesa_function_pool[22916]: Uniform1iARB (will be remapped) */ "ii\0" "glUniform1i\0" "glUniform1iARB\0" "\0" - /* _mesa_function_pool[22793]: GetnMapfvARB (will be remapped) */ + /* _mesa_function_pool[22947]: GetnMapfvARB (will be remapped) */ "iiip\0" "glGetnMapfvARB\0" "\0" - /* _mesa_function_pool[22814]: VertexAttribPointerARB (will be remapped) */ + /* _mesa_function_pool[22968]: VertexAttribPointerARB (will be remapped) */ "iiiiip\0" "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" "\0" - /* _mesa_function_pool[22869]: VertexAttrib3sNV (will be remapped) */ + /* _mesa_function_pool[23023]: VertexAttrib3sNV (will be remapped) */ "iiii\0" "glVertexAttrib3sNV\0" "\0" - /* _mesa_function_pool[22894]: SharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[23048]: SharpenTexFuncSGIS (dynamic) */ "iip\0" "glSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[22920]: MultiTexCoord4fvARB (offset 403) */ + /* _mesa_function_pool[23074]: MultiTexCoord4fvARB (offset 403) */ "ip\0" "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" "\0" - /* _mesa_function_pool[22965]: Uniform2uiEXT (will be remapped) */ + /* _mesa_function_pool[23119]: Uniform2uiEXT (will be remapped) */ "iii\0" "glUniform2uiEXT\0" "glUniform2ui\0" "\0" - /* _mesa_function_pool[22999]: UniformMatrix2x3fv (will be remapped) */ + /* _mesa_function_pool[23153]: UniformMatrix2x3fv (will be remapped) */ "iiip\0" "glUniformMatrix2x3fv\0" "\0" - /* _mesa_function_pool[23026]: SamplerParameteri (will be remapped) */ + /* _mesa_function_pool[23180]: SamplerParameteri (will be remapped) */ "iii\0" "glSamplerParameteri\0" "\0" - /* _mesa_function_pool[23051]: SamplerParameterf (will be remapped) */ + /* _mesa_function_pool[23205]: SamplerParameterf (will be remapped) */ "iif\0" "glSamplerParameterf\0" "\0" - /* _mesa_function_pool[23076]: CombinerParameteriNV (will be remapped) */ + /* _mesa_function_pool[23230]: CombinerParameteriNV (will be remapped) */ "ii\0" "glCombinerParameteriNV\0" "\0" - /* _mesa_function_pool[23103]: DeleteAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[23257]: DeleteAsyncMarkersSGIX (dynamic) */ "ii\0" "glDeleteAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[23132]: ReplacementCodeusSUN (dynamic) */ + /* _mesa_function_pool[23286]: ReplacementCodeusSUN (dynamic) */ "i\0" "glReplacementCodeusSUN\0" "\0" - /* _mesa_function_pool[23158]: IsAsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[23312]: IsAsyncMarkerSGIX (dynamic) */ "i\0" "glIsAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[23181]: FrameZoomSGIX (dynamic) */ + /* _mesa_function_pool[23335]: FrameZoomSGIX (dynamic) */ "i\0" "glFrameZoomSGIX\0" "\0" - /* _mesa_function_pool[23200]: Normal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[23354]: Normal3fVertex3fvSUN (dynamic) */ "pp\0" "glNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[23227]: GetnUniformuivARB (will be remapped) */ + /* _mesa_function_pool[23381]: GetnUniformuivARB (will be remapped) */ "iiip\0" "glGetnUniformuivARB\0" "\0" - /* _mesa_function_pool[23253]: RasterPos4sv (offset 85) */ + /* _mesa_function_pool[23407]: RasterPos4sv (offset 85) */ "p\0" "glRasterPos4sv\0" "\0" - /* _mesa_function_pool[23271]: VertexAttrib4NsvARB (will be remapped) */ + /* _mesa_function_pool[23425]: VertexAttrib4NsvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" "\0" - /* _mesa_function_pool[23316]: VertexAttrib3fvARB (will be remapped) */ + /* _mesa_function_pool[23470]: VertexAttrib3fvARB (will be remapped) */ "ip\0" "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" "\0" - /* _mesa_function_pool[23359]: ClearColor (offset 206) */ + /* _mesa_function_pool[23513]: ClearColor (offset 206) */ "ffff\0" "glClearColor\0" "\0" - /* _mesa_function_pool[23378]: GetSynciv (will be remapped) */ + /* _mesa_function_pool[23532]: GetSynciv (will be remapped) */ "iiipp\0" "glGetSynciv\0" "\0" - /* _mesa_function_pool[23397]: ClearColorIiEXT (will be remapped) */ + /* _mesa_function_pool[23551]: ClearColorIiEXT (will be remapped) */ "iiii\0" "glClearColorIiEXT\0" "\0" - /* _mesa_function_pool[23421]: DeleteFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[23575]: DeleteFramebuffersEXT (will be remapped) */ "ip\0" "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" "\0" - /* _mesa_function_pool[23470]: GlobalAlphaFactorsSUN (dynamic) */ + /* _mesa_function_pool[23624]: GlobalAlphaFactorsSUN (dynamic) */ "i\0" "glGlobalAlphaFactorsSUN\0" "\0" - /* _mesa_function_pool[23497]: IsEnabledIndexedEXT (will be remapped) */ + /* _mesa_function_pool[23651]: IsEnabledIndexedEXT (will be remapped) */ "ii\0" "glIsEnabledIndexedEXT\0" "glIsEnabledi\0" "\0" - /* _mesa_function_pool[23536]: TexEnviv (offset 187) */ + /* _mesa_function_pool[23690]: TexEnviv (offset 187) */ "iip\0" "glTexEnviv\0" "\0" - /* _mesa_function_pool[23552]: TexSubImage3D (offset 372) */ + /* _mesa_function_pool[23706]: TexSubImage3D (offset 372) */ "iiiiiiiiiip\0" "glTexSubImage3D\0" "glTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[23600]: Tangent3fEXT (dynamic) */ + /* _mesa_function_pool[23754]: Tangent3fEXT (dynamic) */ "fff\0" "glTangent3fEXT\0" "\0" - /* _mesa_function_pool[23620]: SecondaryColor3uivEXT (will be remapped) */ + /* _mesa_function_pool[23774]: SecondaryColor3uivEXT (will be remapped) */ "p\0" "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" "\0" - /* _mesa_function_pool[23668]: MatrixIndexubvARB (dynamic) */ + /* _mesa_function_pool[23822]: MatrixIndexubvARB (dynamic) */ "ip\0" "glMatrixIndexubvARB\0" "\0" - /* _mesa_function_pool[23692]: Color4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[23846]: Color4fNormal3fVertex3fSUN (dynamic) */ "ffffffffff\0" "glColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[23733]: PixelTexGenParameterfSGIS (will be remapped) */ + /* _mesa_function_pool[23887]: PixelTexGenParameterfSGIS (will be remapped) */ "if\0" "glPixelTexGenParameterfSGIS\0" "\0" - /* _mesa_function_pool[23765]: CreateShader (will be remapped) */ + /* _mesa_function_pool[23919]: CreateShader (will be remapped) */ "i\0" "glCreateShader\0" "\0" - /* _mesa_function_pool[23783]: GetColorTableParameterfv (offset 344) */ + /* _mesa_function_pool[23937]: GetColorTableParameterfv (offset 344) */ "iip\0" "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" "glGetColorTableParameterfvEXT\0" "\0" - /* _mesa_function_pool[23875]: FragmentLightModelfvSGIX (dynamic) */ + /* _mesa_function_pool[24029]: FragmentLightModelfvSGIX (dynamic) */ "ip\0" "glFragmentLightModelfvSGIX\0" "\0" - /* _mesa_function_pool[23906]: Bitmap (offset 8) */ + /* _mesa_function_pool[24060]: Bitmap (offset 8) */ "iiffffp\0" "glBitmap\0" "\0" - /* _mesa_function_pool[23924]: MultiTexCoord3fARB (offset 394) */ + /* _mesa_function_pool[24078]: MultiTexCoord3fARB (offset 394) */ "ifff\0" "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" "\0" - /* _mesa_function_pool[23969]: GetTexLevelParameterfv (offset 284) */ + /* _mesa_function_pool[24123]: GetTexLevelParameterfv (offset 284) */ "iiip\0" "glGetTexLevelParameterfv\0" "\0" - /* _mesa_function_pool[24000]: GetPixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[24154]: GetPixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[24036]: GenFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[24190]: GenFramebuffersEXT (will be remapped) */ "ip\0" "glGenFramebuffers\0" "glGenFramebuffersEXT\0" "\0" - /* _mesa_function_pool[24079]: VertexAttribDivisor (will be remapped) */ + /* _mesa_function_pool[24233]: VertexAttribDivisor (will be remapped) */ "ii\0" "glVertexAttribDivisor\0" "\0" - /* _mesa_function_pool[24105]: GetProgramParameterdvNV (will be remapped) */ + /* _mesa_function_pool[24259]: GetProgramParameterdvNV (will be remapped) */ "iiip\0" "glGetProgramParameterdvNV\0" "\0" - /* _mesa_function_pool[24137]: Vertex2sv (offset 133) */ + /* _mesa_function_pool[24291]: Vertex2sv (offset 133) */ "p\0" "glVertex2sv\0" "\0" - /* _mesa_function_pool[24152]: GetIntegerv (offset 263) */ + /* _mesa_function_pool[24306]: GetIntegerv (offset 263) */ "ip\0" "glGetIntegerv\0" "\0" - /* _mesa_function_pool[24170]: IsVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[24324]: IsVertexArrayAPPLE (will be remapped) */ "i\0" "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[24210]: FragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[24364]: FragmentLightfvSGIX (dynamic) */ "iip\0" "glFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[24237]: GetnMapdvARB (will be remapped) */ + /* _mesa_function_pool[24391]: GetnMapdvARB (will be remapped) */ "iiip\0" "glGetnMapdvARB\0" "\0" - /* _mesa_function_pool[24258]: DetachShader (will be remapped) */ + /* _mesa_function_pool[24412]: DetachShader (will be remapped) */ "ii\0" "glDetachShader\0" "\0" - /* _mesa_function_pool[24277]: VertexAttrib4NubARB (will be remapped) */ + /* _mesa_function_pool[24431]: VertexAttrib4NubARB (will be remapped) */ "iiiii\0" "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" "\0" - /* _mesa_function_pool[24325]: GetProgramEnvParameterfvARB (will be remapped) */ + /* _mesa_function_pool[24479]: GetProgramEnvParameterfvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterfvARB\0" "\0" - /* _mesa_function_pool[24360]: GetTrackMatrixivNV (will be remapped) */ + /* _mesa_function_pool[24514]: GetTrackMatrixivNV (will be remapped) */ "iiip\0" "glGetTrackMatrixivNV\0" "\0" - /* _mesa_function_pool[24387]: VertexAttrib3svNV (will be remapped) */ + /* _mesa_function_pool[24541]: VertexAttrib3svNV (will be remapped) */ "ip\0" "glVertexAttrib3svNV\0" "\0" - /* _mesa_function_pool[24411]: Uniform4fvARB (will be remapped) */ + /* _mesa_function_pool[24565]: Uniform4fvARB (will be remapped) */ "iip\0" "glUniform4fv\0" "glUniform4fvARB\0" "\0" - /* _mesa_function_pool[24445]: MultTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[24599]: MultTransposeMatrixfARB (will be remapped) */ "p\0" "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[24497]: GetTexEnviv (offset 277) */ + /* _mesa_function_pool[24651]: GetTexEnviv (offset 277) */ "iip\0" "glGetTexEnviv\0" "\0" - /* _mesa_function_pool[24516]: ColorFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[24670]: ColorFragmentOp1ATI (will be remapped) */ "iiiiiii\0" "glColorFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[24547]: GetUniformfvARB (will be remapped) */ + /* _mesa_function_pool[24701]: GetUniformfvARB (will be remapped) */ "iip\0" "glGetUniformfv\0" "glGetUniformfvARB\0" "\0" - /* _mesa_function_pool[24585]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ + /* _mesa_function_pool[24739]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ "ip\0" "glEGLImageTargetRenderbufferStorageOES\0" "\0" - /* _mesa_function_pool[24628]: VertexAttribI2ivEXT (will be remapped) */ + /* _mesa_function_pool[24782]: VertexAttribI2ivEXT (will be remapped) */ "ip\0" "glVertexAttribI2ivEXT\0" "glVertexAttribI2iv\0" "\0" - /* _mesa_function_pool[24673]: PopClientAttrib (offset 334) */ + /* _mesa_function_pool[24827]: PopClientAttrib (offset 334) */ "\0" "glPopClientAttrib\0" "\0" - /* _mesa_function_pool[24693]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[24847]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffffff\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[24764]: DetachObjectARB (will be remapped) */ + /* _mesa_function_pool[24918]: DetachObjectARB (will be remapped) */ "ii\0" "glDetachObjectARB\0" "\0" - /* _mesa_function_pool[24786]: VertexBlendARB (dynamic) */ + /* _mesa_function_pool[24940]: VertexBlendARB (dynamic) */ "i\0" "glVertexBlendARB\0" "\0" - /* _mesa_function_pool[24806]: WindowPos3iMESA (will be remapped) */ + /* _mesa_function_pool[24960]: WindowPos3iMESA (will be remapped) */ "iii\0" "glWindowPos3i\0" "glWindowPos3iARB\0" "glWindowPos3iMESA\0" "\0" - /* _mesa_function_pool[24860]: SeparableFilter2D (offset 360) */ + /* _mesa_function_pool[25014]: SeparableFilter2D (offset 360) */ "iiiiiipp\0" "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" "\0" - /* _mesa_function_pool[24913]: ProgramParameteriARB (will be remapped) */ + /* _mesa_function_pool[25067]: ProgramParameteriARB (will be remapped) */ "iii\0" "glProgramParameteriARB\0" "\0" - /* _mesa_function_pool[24941]: Map1d (offset 220) */ + /* _mesa_function_pool[25095]: Map1d (offset 220) */ "iddiip\0" "glMap1d\0" "\0" - /* _mesa_function_pool[24957]: Map1f (offset 221) */ + /* _mesa_function_pool[25111]: Map1f (offset 221) */ "iffiip\0" "glMap1f\0" "\0" - /* _mesa_function_pool[24973]: CompressedTexImage2DARB (will be remapped) */ + /* _mesa_function_pool[25127]: CompressedTexImage2DARB (will be remapped) */ "iiiiiiip\0" "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" "\0" - /* _mesa_function_pool[25032]: ArrayElement (offset 306) */ + /* _mesa_function_pool[25186]: ArrayElement (offset 306) */ "i\0" "glArrayElement\0" "glArrayElementEXT\0" "\0" - /* _mesa_function_pool[25068]: TexImage2D (offset 183) */ + /* _mesa_function_pool[25222]: TexImage2D (offset 183) */ "iiiiiiiip\0" "glTexImage2D\0" "\0" - /* _mesa_function_pool[25092]: DepthBoundsEXT (will be remapped) */ + /* _mesa_function_pool[25246]: DepthBoundsEXT (will be remapped) */ "dd\0" "glDepthBoundsEXT\0" "\0" - /* _mesa_function_pool[25113]: ProgramParameters4fvNV (will be remapped) */ + /* _mesa_function_pool[25267]: ProgramParameters4fvNV (will be remapped) */ "iiip\0" "glProgramParameters4fvNV\0" "\0" - /* _mesa_function_pool[25144]: DeformationMap3fSGIX (dynamic) */ + /* _mesa_function_pool[25298]: DeformationMap3fSGIX (dynamic) */ "iffiiffiiffiip\0" "glDeformationMap3fSGIX\0" "\0" - /* _mesa_function_pool[25183]: GetProgramivNV (will be remapped) */ + /* _mesa_function_pool[25337]: GetProgramivNV (will be remapped) */ "iip\0" "glGetProgramivNV\0" "\0" - /* _mesa_function_pool[25205]: GetFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[25359]: GetFragDataLocationEXT (will be remapped) */ "ip\0" "glGetFragDataLocationEXT\0" "glGetFragDataLocation\0" "\0" - /* _mesa_function_pool[25256]: GetMinmaxParameteriv (offset 366) */ + /* _mesa_function_pool[25410]: GetMinmaxParameteriv (offset 366) */ "iip\0" "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" "\0" - /* _mesa_function_pool[25310]: PixelTransferf (offset 247) */ + /* _mesa_function_pool[25464]: PixelTransferf (offset 247) */ "if\0" "glPixelTransferf\0" "\0" - /* _mesa_function_pool[25331]: CopyTexImage1D (offset 323) */ + /* _mesa_function_pool[25485]: CopyTexImage1D (offset 323) */ "iiiiiii\0" "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" "\0" - /* _mesa_function_pool[25377]: PushMatrix (offset 298) */ + /* _mesa_function_pool[25531]: PushMatrix (offset 298) */ "\0" "glPushMatrix\0" "\0" - /* _mesa_function_pool[25392]: Fogiv (offset 156) */ + /* _mesa_function_pool[25546]: Fogiv (offset 156) */ "ip\0" "glFogiv\0" "\0" - /* _mesa_function_pool[25404]: TexCoord1dv (offset 95) */ + /* _mesa_function_pool[25558]: TexCoord1dv (offset 95) */ "p\0" "glTexCoord1dv\0" "\0" - /* _mesa_function_pool[25421]: AlphaFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[25575]: AlphaFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiii\0" "glAlphaFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[25457]: PixelTransferi (offset 248) */ + /* _mesa_function_pool[25611]: PixelTransferi (offset 248) */ "ii\0" "glPixelTransferi\0" "\0" - /* _mesa_function_pool[25478]: GetnColorTableARB (will be remapped) */ + /* _mesa_function_pool[25632]: GetnColorTableARB (will be remapped) */ "iiiip\0" "glGetnColorTableARB\0" "\0" - /* _mesa_function_pool[25505]: VertexAttrib3fvNV (will be remapped) */ + /* _mesa_function_pool[25659]: VertexAttrib3fvNV (will be remapped) */ "ip\0" "glVertexAttrib3fvNV\0" "\0" - /* _mesa_function_pool[25529]: Rotatef (offset 300) */ + /* _mesa_function_pool[25683]: Rotatef (offset 300) */ "ffff\0" "glRotatef\0" "\0" - /* _mesa_function_pool[25545]: GetFinalCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[25699]: GetFinalCombinerInputParameterivNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[25587]: Vertex3i (offset 138) */ + /* _mesa_function_pool[25741]: Vertex3i (offset 138) */ "iii\0" "glVertex3i\0" "\0" - /* _mesa_function_pool[25603]: Vertex3f (offset 136) */ + /* _mesa_function_pool[25757]: Vertex3f (offset 136) */ "fff\0" "glVertex3f\0" "\0" - /* _mesa_function_pool[25619]: Clear (offset 203) */ + /* _mesa_function_pool[25773]: Clear (offset 203) */ "i\0" "glClear\0" "\0" - /* _mesa_function_pool[25630]: Vertex3d (offset 134) */ + /* _mesa_function_pool[25784]: Vertex3d (offset 134) */ "ddd\0" "glVertex3d\0" "\0" - /* _mesa_function_pool[25646]: GetMapParameterivNV (dynamic) */ + /* _mesa_function_pool[25800]: GetMapParameterivNV (dynamic) */ "iip\0" "glGetMapParameterivNV\0" "\0" - /* _mesa_function_pool[25673]: Uniform4iARB (will be remapped) */ + /* _mesa_function_pool[25827]: Uniform4iARB (will be remapped) */ "iiiii\0" "glUniform4i\0" "glUniform4iARB\0" "\0" - /* _mesa_function_pool[25707]: ReadBuffer (offset 254) */ + /* _mesa_function_pool[25861]: ReadBuffer (offset 254) */ "i\0" "glReadBuffer\0" "\0" - /* _mesa_function_pool[25723]: ConvolutionParameteri (offset 352) */ + /* _mesa_function_pool[25877]: ConvolutionParameteri (offset 352) */ "iii\0" "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" "\0" - /* _mesa_function_pool[25779]: Ortho (offset 296) */ + /* _mesa_function_pool[25933]: Ortho (offset 296) */ "dddddd\0" "glOrtho\0" "\0" - /* _mesa_function_pool[25795]: Binormal3sEXT (dynamic) */ + /* _mesa_function_pool[25949]: Binormal3sEXT (dynamic) */ "iii\0" "glBinormal3sEXT\0" "\0" - /* _mesa_function_pool[25816]: ListBase (offset 6) */ + /* _mesa_function_pool[25970]: ListBase (offset 6) */ "i\0" "glListBase\0" "\0" - /* _mesa_function_pool[25830]: VertexAttribI3ivEXT (will be remapped) */ + /* _mesa_function_pool[25984]: VertexAttribI3ivEXT (will be remapped) */ "ip\0" "glVertexAttribI3ivEXT\0" "glVertexAttribI3iv\0" "\0" - /* _mesa_function_pool[25875]: Vertex3s (offset 140) */ + /* _mesa_function_pool[26029]: Vertex3s (offset 140) */ "iii\0" "glVertex3s\0" "\0" - /* _mesa_function_pool[25891]: ConvolutionParameterf (offset 350) */ + /* _mesa_function_pool[26045]: ConvolutionParameterf (offset 350) */ "iif\0" "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" "\0" - /* _mesa_function_pool[25947]: GetColorTableParameteriv (offset 345) */ + /* _mesa_function_pool[26101]: GetColorTableParameteriv (offset 345) */ "iip\0" "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" "glGetColorTableParameterivEXT\0" "\0" - /* _mesa_function_pool[26039]: ProgramEnvParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[26193]: ProgramEnvParameter4dvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" "\0" - /* _mesa_function_pool[26096]: ShadeModel (offset 177) */ + /* _mesa_function_pool[26250]: ShadeModel (offset 177) */ "i\0" "glShadeModel\0" "\0" - /* _mesa_function_pool[26112]: VertexAttribs2fvNV (will be remapped) */ + /* _mesa_function_pool[26266]: VertexAttribs2fvNV (will be remapped) */ "iip\0" "glVertexAttribs2fvNV\0" "\0" - /* _mesa_function_pool[26138]: Rectiv (offset 91) */ + /* _mesa_function_pool[26292]: Rectiv (offset 91) */ "pp\0" "glRectiv\0" "\0" - /* _mesa_function_pool[26151]: UseProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[26305]: UseProgramObjectARB (will be remapped) */ "i\0" "glUseProgram\0" "glUseProgramObjectARB\0" "\0" - /* _mesa_function_pool[26189]: GetMapParameterfvNV (dynamic) */ + /* _mesa_function_pool[26343]: GetMapParameterfvNV (dynamic) */ "iip\0" "glGetMapParameterfvNV\0" "\0" - /* _mesa_function_pool[26216]: EndConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[26370]: EndConditionalRenderNV (will be remapped) */ "\0" "glEndConditionalRenderNV\0" "glEndConditionalRender\0" "\0" - /* _mesa_function_pool[26266]: PassTexCoordATI (will be remapped) */ + /* _mesa_function_pool[26420]: PassTexCoordATI (will be remapped) */ "iii\0" "glPassTexCoordATI\0" "\0" - /* _mesa_function_pool[26289]: DeleteProgram (will be remapped) */ + /* _mesa_function_pool[26443]: DeleteProgram (will be remapped) */ "i\0" "glDeleteProgram\0" "\0" - /* _mesa_function_pool[26308]: GetSamplerParameteriv (will be remapped) */ + /* _mesa_function_pool[26462]: GetSamplerParameteriv (will be remapped) */ "iip\0" "glGetSamplerParameteriv\0" "\0" - /* _mesa_function_pool[26337]: Tangent3dEXT (dynamic) */ + /* _mesa_function_pool[26491]: Tangent3dEXT (dynamic) */ "ddd\0" "glTangent3dEXT\0" "\0" - /* _mesa_function_pool[26357]: SecondaryColor3dvEXT (will be remapped) */ + /* _mesa_function_pool[26511]: SecondaryColor3dvEXT (will be remapped) */ "p\0" "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" "\0" - /* _mesa_function_pool[26403]: AlphaFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[26557]: AlphaFragmentOp2ATI (will be remapped) */ "iiiiiiiii\0" "glAlphaFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[26436]: Vertex2fv (offset 129) */ + /* _mesa_function_pool[26590]: Vertex2fv (offset 129) */ "p\0" "glVertex2fv\0" "\0" - /* _mesa_function_pool[26451]: MultiDrawArraysEXT (will be remapped) */ + /* _mesa_function_pool[26605]: MultiDrawArraysEXT (will be remapped) */ "ippi\0" "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" "\0" - /* _mesa_function_pool[26496]: BindRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[26650]: BindRenderbufferEXT (will be remapped) */ "ii\0" "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" "\0" - /* _mesa_function_pool[26541]: MultiTexCoord4dARB (offset 400) */ + /* _mesa_function_pool[26695]: MultiTexCoord4dARB (offset 400) */ "idddd\0" "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" "\0" - /* _mesa_function_pool[26587]: FramebufferTextureFaceARB (will be remapped) */ + /* _mesa_function_pool[26741]: FramebufferTextureFaceARB (will be remapped) */ "iiiii\0" "glFramebufferTextureFaceARB\0" "\0" - /* _mesa_function_pool[26622]: Vertex3sv (offset 141) */ + /* _mesa_function_pool[26776]: Vertex3sv (offset 141) */ "p\0" "glVertex3sv\0" "\0" - /* _mesa_function_pool[26637]: SecondaryColor3usEXT (will be remapped) */ + /* _mesa_function_pool[26791]: SecondaryColor3usEXT (will be remapped) */ "iii\0" "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" "\0" - /* _mesa_function_pool[26685]: ProgramLocalParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[26839]: ProgramLocalParameter4fvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4fvARB\0" "\0" - /* _mesa_function_pool[26720]: DeleteProgramsNV (will be remapped) */ + /* _mesa_function_pool[26874]: DeleteProgramsNV (will be remapped) */ "ip\0" "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" "\0" - /* _mesa_function_pool[26763]: EvalMesh1 (offset 236) */ + /* _mesa_function_pool[26917]: EvalMesh1 (offset 236) */ "iii\0" "glEvalMesh1\0" "\0" - /* _mesa_function_pool[26780]: PauseTransformFeedback (will be remapped) */ + /* _mesa_function_pool[26934]: PauseTransformFeedback (will be remapped) */ "\0" "glPauseTransformFeedback\0" "\0" - /* _mesa_function_pool[26807]: MultiTexCoord1sARB (offset 382) */ + /* _mesa_function_pool[26961]: MultiTexCoord1sARB (offset 382) */ "ii\0" "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" "\0" - /* _mesa_function_pool[26850]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[27004]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[26897]: GetVertexAttribPointervNV (will be remapped) */ + /* _mesa_function_pool[27051]: GetVertexAttribPointervNV (will be remapped) */ "iip\0" "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" "\0" - /* _mesa_function_pool[26985]: VertexAttribs1fvNV (will be remapped) */ + /* _mesa_function_pool[27139]: VertexAttribs1fvNV (will be remapped) */ "iip\0" "glVertexAttribs1fvNV\0" "\0" - /* _mesa_function_pool[27011]: MultiTexCoord1dvARB (offset 377) */ + /* _mesa_function_pool[27165]: MultiTexCoord1dvARB (offset 377) */ "ip\0" "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" "\0" - /* _mesa_function_pool[27056]: Uniform2iARB (will be remapped) */ + /* _mesa_function_pool[27210]: Uniform2iARB (will be remapped) */ "iii\0" "glUniform2i\0" "glUniform2iARB\0" "\0" - /* _mesa_function_pool[27088]: Vertex2iv (offset 131) */ + /* _mesa_function_pool[27242]: Vertex2iv (offset 131) */ "p\0" "glVertex2iv\0" "\0" - /* _mesa_function_pool[27103]: GetProgramStringNV (will be remapped) */ + /* _mesa_function_pool[27257]: GetProgramStringNV (will be remapped) */ "iip\0" "glGetProgramStringNV\0" "\0" - /* _mesa_function_pool[27129]: ColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[27283]: ColorPointerEXT (will be remapped) */ "iiiip\0" "glColorPointerEXT\0" "\0" - /* _mesa_function_pool[27154]: LineWidth (offset 168) */ + /* _mesa_function_pool[27308]: LineWidth (offset 168) */ "f\0" "glLineWidth\0" "\0" - /* _mesa_function_pool[27169]: MapBufferARB (will be remapped) */ + /* _mesa_function_pool[27323]: MapBufferARB (will be remapped) */ "ii\0" "glMapBuffer\0" "glMapBufferARB\0" "\0" - /* _mesa_function_pool[27200]: MultiDrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[27354]: MultiDrawElementsBaseVertex (will be remapped) */ "ipipip\0" "glMultiDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[27238]: TexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[27392]: TexParameterIuivEXT (will be remapped) */ "iip\0" "glTexParameterIuivEXT\0" "glTexParameterIuiv\0" "\0" - /* _mesa_function_pool[27284]: Binormal3svEXT (dynamic) */ + /* _mesa_function_pool[27438]: Binormal3svEXT (dynamic) */ "p\0" "glBinormal3svEXT\0" "\0" - /* _mesa_function_pool[27304]: ApplyTextureEXT (dynamic) */ + /* _mesa_function_pool[27458]: ApplyTextureEXT (dynamic) */ "i\0" "glApplyTextureEXT\0" "\0" - /* _mesa_function_pool[27325]: GetBufferParameteri64v (will be remapped) */ + /* _mesa_function_pool[27479]: GetBufferParameteri64v (will be remapped) */ "iip\0" "glGetBufferParameteri64v\0" "\0" - /* _mesa_function_pool[27355]: TexGendv (offset 189) */ + /* _mesa_function_pool[27509]: TexGendv (offset 189) */ "iip\0" "glTexGendv\0" "\0" - /* _mesa_function_pool[27371]: VertexAttribI3iEXT (will be remapped) */ + /* _mesa_function_pool[27525]: VertexAttribI3iEXT (will be remapped) */ "iiii\0" "glVertexAttribI3iEXT\0" "glVertexAttribI3i\0" "\0" - /* _mesa_function_pool[27416]: EnableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[27570]: EnableIndexedEXT (will be remapped) */ "ii\0" "glEnableIndexedEXT\0" "glEnablei\0" "\0" - /* _mesa_function_pool[27449]: TextureMaterialEXT (dynamic) */ + /* _mesa_function_pool[27603]: TextureMaterialEXT (dynamic) */ "ii\0" "glTextureMaterialEXT\0" "\0" - /* _mesa_function_pool[27474]: TextureLightEXT (dynamic) */ + /* _mesa_function_pool[27628]: TextureLightEXT (dynamic) */ "i\0" "glTextureLightEXT\0" "\0" - /* _mesa_function_pool[27495]: ResetMinmax (offset 370) */ + /* _mesa_function_pool[27649]: ResetMinmax (offset 370) */ "i\0" "glResetMinmax\0" "glResetMinmaxEXT\0" "\0" - /* _mesa_function_pool[27529]: SpriteParameterfSGIX (dynamic) */ + /* _mesa_function_pool[27683]: SpriteParameterfSGIX (dynamic) */ "if\0" "glSpriteParameterfSGIX\0" "\0" - /* _mesa_function_pool[27556]: EnableClientState (offset 313) */ + /* _mesa_function_pool[27710]: EnableClientState (offset 313) */ "i\0" "glEnableClientState\0" "\0" - /* _mesa_function_pool[27579]: VertexAttrib4sNV (will be remapped) */ + /* _mesa_function_pool[27733]: VertexAttrib4sNV (will be remapped) */ "iiiii\0" "glVertexAttrib4sNV\0" "\0" - /* _mesa_function_pool[27605]: GetConvolutionParameterfv (offset 357) */ + /* _mesa_function_pool[27759]: GetConvolutionParameterfv (offset 357) */ "iip\0" "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[27669]: VertexAttribs4dvNV (will be remapped) */ + /* _mesa_function_pool[27823]: VertexAttribs4dvNV (will be remapped) */ "iip\0" "glVertexAttribs4dvNV\0" "\0" - /* _mesa_function_pool[27695]: MultiModeDrawArraysIBM (will be remapped) */ - "pppii\0" - "glMultiModeDrawArraysIBM\0" - "\0" - /* _mesa_function_pool[27727]: VertexAttrib4dARB (will be remapped) */ + /* _mesa_function_pool[27849]: VertexAttrib4dARB (will be remapped) */ "idddd\0" "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" "\0" - /* _mesa_function_pool[27771]: GetTexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[27893]: GetTexBumpParameterfvATI (will be remapped) */ "ip\0" "glGetTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[27802]: ProgramNamedParameter4dNV (will be remapped) */ + /* _mesa_function_pool[27924]: ProgramNamedParameter4dNV (will be remapped) */ "iipdddd\0" "glProgramNamedParameter4dNV\0" "\0" - /* _mesa_function_pool[27839]: GetMaterialfv (offset 269) */ + /* _mesa_function_pool[27961]: GetMaterialfv (offset 269) */ "iip\0" "glGetMaterialfv\0" "\0" - /* _mesa_function_pool[27860]: VertexWeightfEXT (dynamic) */ + /* _mesa_function_pool[27982]: VertexWeightfEXT (dynamic) */ "f\0" "glVertexWeightfEXT\0" "\0" - /* _mesa_function_pool[27882]: SetFragmentShaderConstantATI (will be remapped) */ + /* _mesa_function_pool[28004]: SetFragmentShaderConstantATI (will be remapped) */ "ip\0" "glSetFragmentShaderConstantATI\0" "\0" - /* _mesa_function_pool[27917]: Binormal3fEXT (dynamic) */ + /* _mesa_function_pool[28039]: Binormal3fEXT (dynamic) */ "fff\0" "glBinormal3fEXT\0" "\0" - /* _mesa_function_pool[27938]: CallList (offset 2) */ + /* _mesa_function_pool[28060]: CallList (offset 2) */ "i\0" "glCallList\0" "\0" - /* _mesa_function_pool[27952]: Materialfv (offset 170) */ + /* _mesa_function_pool[28074]: Materialfv (offset 170) */ "iip\0" "glMaterialfv\0" "\0" - /* _mesa_function_pool[27970]: TexCoord3fv (offset 113) */ + /* _mesa_function_pool[28092]: TexCoord3fv (offset 113) */ "p\0" "glTexCoord3fv\0" "\0" - /* _mesa_function_pool[27987]: FogCoordfvEXT (will be remapped) */ + /* _mesa_function_pool[28109]: FogCoordfvEXT (will be remapped) */ "p\0" "glFogCoordfv\0" "glFogCoordfvEXT\0" "\0" - /* _mesa_function_pool[28019]: MultiTexCoord1ivARB (offset 381) */ + /* _mesa_function_pool[28141]: MultiTexCoord1ivARB (offset 381) */ "ip\0" "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" "\0" - /* _mesa_function_pool[28064]: SecondaryColor3ubEXT (will be remapped) */ + /* _mesa_function_pool[28186]: SecondaryColor3ubEXT (will be remapped) */ "iii\0" "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" "\0" - /* _mesa_function_pool[28112]: MultiTexCoord2ivARB (offset 389) */ + /* _mesa_function_pool[28234]: MultiTexCoord2ivARB (offset 389) */ "ip\0" "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" "\0" - /* _mesa_function_pool[28157]: FogFuncSGIS (dynamic) */ + /* _mesa_function_pool[28279]: FogFuncSGIS (dynamic) */ "ip\0" "glFogFuncSGIS\0" "\0" - /* _mesa_function_pool[28175]: CopyTexSubImage2D (offset 326) */ + /* _mesa_function_pool[28297]: CopyTexSubImage2D (offset 326) */ "iiiiiiii\0" "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[28228]: GetObjectParameterivARB (will be remapped) */ + /* _mesa_function_pool[28350]: GetObjectParameterivARB (will be remapped) */ "iip\0" "glGetObjectParameterivARB\0" "\0" - /* _mesa_function_pool[28259]: Color3iv (offset 16) */ + /* _mesa_function_pool[28381]: Color3iv (offset 16) */ "p\0" "glColor3iv\0" "\0" - /* _mesa_function_pool[28273]: TexCoord4fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[28395]: TexCoord4fVertex4fSUN (dynamic) */ "ffffffff\0" "glTexCoord4fVertex4fSUN\0" "\0" - /* _mesa_function_pool[28307]: DrawElements (offset 311) */ + /* _mesa_function_pool[28429]: DrawElements (offset 311) */ "iiip\0" "glDrawElements\0" "\0" - /* _mesa_function_pool[28328]: BindVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[28450]: BindVertexArrayAPPLE (will be remapped) */ "i\0" "glBindVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[28354]: GetProgramLocalParameterdvARB (will be remapped) */ + /* _mesa_function_pool[28476]: GetProgramLocalParameterdvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterdvARB\0" "\0" - /* _mesa_function_pool[28391]: GetHistogramParameteriv (offset 363) */ + /* _mesa_function_pool[28513]: GetHistogramParameteriv (offset 363) */ "iip\0" "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" "\0" - /* _mesa_function_pool[28451]: MultiTexCoord1iARB (offset 380) */ + /* _mesa_function_pool[28573]: MultiTexCoord1iARB (offset 380) */ "ii\0" "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" "\0" - /* _mesa_function_pool[28494]: GetConvolutionFilter (offset 356) */ + /* _mesa_function_pool[28616]: GetConvolutionFilter (offset 356) */ "iiip\0" "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" "\0" - /* _mesa_function_pool[28549]: GetProgramivARB (will be remapped) */ + /* _mesa_function_pool[28671]: GetProgramivARB (will be remapped) */ "iip\0" "glGetProgramivARB\0" "\0" - /* _mesa_function_pool[28572]: TexBufferARB (will be remapped) */ + /* _mesa_function_pool[28694]: TexBufferARB (will be remapped) */ "iii\0" "glTexBufferARB\0" "\0" - /* _mesa_function_pool[28592]: BlendFuncSeparateEXT (will be remapped) */ + /* _mesa_function_pool[28714]: BlendFuncSeparateEXT (will be remapped) */ "iiii\0" "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" "glBlendFuncSeparateINGR\0" "\0" - /* _mesa_function_pool[28665]: MapBufferRange (will be remapped) */ + /* _mesa_function_pool[28787]: MapBufferRange (will be remapped) */ "iiii\0" "glMapBufferRange\0" "\0" - /* _mesa_function_pool[28688]: ProgramParameters4dvNV (will be remapped) */ + /* _mesa_function_pool[28810]: ProgramParameters4dvNV (will be remapped) */ "iiip\0" "glProgramParameters4dvNV\0" "\0" - /* _mesa_function_pool[28719]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[28841]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[28756]: EvalPoint2 (offset 239) */ + /* _mesa_function_pool[28878]: EvalPoint2 (offset 239) */ "ii\0" "glEvalPoint2\0" "\0" - /* _mesa_function_pool[28773]: Uniform1uivEXT (will be remapped) */ + /* _mesa_function_pool[28895]: Uniform1uivEXT (will be remapped) */ "iip\0" "glUniform1uivEXT\0" "glUniform1uiv\0" "\0" - /* _mesa_function_pool[28809]: EvalPoint1 (offset 237) */ + /* _mesa_function_pool[28931]: EvalPoint1 (offset 237) */ "i\0" "glEvalPoint1\0" "\0" - /* _mesa_function_pool[28825]: Binormal3dvEXT (dynamic) */ + /* _mesa_function_pool[28947]: Binormal3dvEXT (dynamic) */ "p\0" "glBinormal3dvEXT\0" "\0" - /* _mesa_function_pool[28845]: PopMatrix (offset 297) */ + /* _mesa_function_pool[28967]: PopMatrix (offset 297) */ "\0" "glPopMatrix\0" "\0" - /* _mesa_function_pool[28859]: GetVertexAttribIuivEXT (will be remapped) */ - "iip\0" - "glGetVertexAttribIuivEXT\0" - "glGetVertexAttribIuiv\0" - "\0" - /* _mesa_function_pool[28911]: FinishFenceNV (will be remapped) */ + /* _mesa_function_pool[28981]: FinishFenceNV (will be remapped) */ "i\0" "glFinishFenceNV\0" "\0" - /* _mesa_function_pool[28930]: GetFogFuncSGIS (dynamic) */ + /* _mesa_function_pool[29000]: GetFogFuncSGIS (dynamic) */ "p\0" "glGetFogFuncSGIS\0" "\0" - /* _mesa_function_pool[28950]: GetUniformLocationARB (will be remapped) */ + /* _mesa_function_pool[29020]: GetUniformLocationARB (will be remapped) */ "ip\0" "glGetUniformLocation\0" "glGetUniformLocationARB\0" "\0" - /* _mesa_function_pool[28999]: SecondaryColor3fEXT (will be remapped) */ + /* _mesa_function_pool[29069]: SecondaryColor3fEXT (will be remapped) */ "fff\0" "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" "\0" - /* _mesa_function_pool[29045]: GetTexGeniv (offset 280) */ + /* _mesa_function_pool[29115]: GetTexGeniv (offset 280) */ "iip\0" "glGetTexGeniv\0" "\0" - /* _mesa_function_pool[29064]: CombinerInputNV (will be remapped) */ + /* _mesa_function_pool[29134]: CombinerInputNV (will be remapped) */ "iiiiii\0" "glCombinerInputNV\0" "\0" - /* _mesa_function_pool[29090]: VertexAttrib3sARB (will be remapped) */ + /* _mesa_function_pool[29160]: VertexAttrib3sARB (will be remapped) */ "iiii\0" "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" "\0" - /* _mesa_function_pool[29133]: IsTransformFeedback (will be remapped) */ + /* _mesa_function_pool[29203]: IsTransformFeedback (will be remapped) */ "i\0" "glIsTransformFeedback\0" "\0" - /* _mesa_function_pool[29158]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[29228]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[29203]: Map2d (offset 222) */ + /* _mesa_function_pool[29273]: Map2d (offset 222) */ "iddiiddiip\0" "glMap2d\0" "\0" - /* _mesa_function_pool[29223]: Map2f (offset 223) */ + /* _mesa_function_pool[29293]: Map2f (offset 223) */ "iffiiffiip\0" "glMap2f\0" "\0" - /* _mesa_function_pool[29243]: ProgramStringARB (will be remapped) */ + /* _mesa_function_pool[29313]: ProgramStringARB (will be remapped) */ "iiip\0" "glProgramStringARB\0" "\0" - /* _mesa_function_pool[29268]: Vertex4s (offset 148) */ + /* _mesa_function_pool[29338]: Vertex4s (offset 148) */ "iiii\0" "glVertex4s\0" "\0" - /* _mesa_function_pool[29285]: TexCoord4fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[29355]: TexCoord4fVertex4fvSUN (dynamic) */ "pp\0" "glTexCoord4fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[29314]: FragmentLightModelivSGIX (dynamic) */ + /* _mesa_function_pool[29384]: FragmentLightModelivSGIX (dynamic) */ "ip\0" "glFragmentLightModelivSGIX\0" "\0" - /* _mesa_function_pool[29345]: VertexAttrib1fNV (will be remapped) */ + /* _mesa_function_pool[29415]: VertexAttrib1fNV (will be remapped) */ "if\0" "glVertexAttrib1fNV\0" "\0" - /* _mesa_function_pool[29368]: Vertex4f (offset 144) */ + /* _mesa_function_pool[29438]: Vertex4f (offset 144) */ "ffff\0" "glVertex4f\0" "\0" - /* _mesa_function_pool[29385]: EvalCoord1d (offset 228) */ + /* _mesa_function_pool[29455]: EvalCoord1d (offset 228) */ "d\0" "glEvalCoord1d\0" "\0" - /* _mesa_function_pool[29402]: Vertex4d (offset 142) */ + /* _mesa_function_pool[29472]: Vertex4d (offset 142) */ "dddd\0" "glVertex4d\0" "\0" - /* _mesa_function_pool[29419]: RasterPos4dv (offset 79) */ + /* _mesa_function_pool[29489]: RasterPos4dv (offset 79) */ "p\0" "glRasterPos4dv\0" "\0" - /* _mesa_function_pool[29437]: UseShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[29507]: UseShaderProgramEXT (will be remapped) */ "ii\0" "glUseShaderProgramEXT\0" "\0" - /* _mesa_function_pool[29463]: FragmentLightfSGIX (dynamic) */ + /* _mesa_function_pool[29533]: FragmentLightfSGIX (dynamic) */ "iif\0" "glFragmentLightfSGIX\0" "\0" - /* _mesa_function_pool[29489]: GetCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[29559]: GetCompressedTexImageARB (will be remapped) */ "iip\0" "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[29545]: GetTexGenfv (offset 279) */ + /* _mesa_function_pool[29615]: GetTexGenfv (offset 279) */ "iip\0" "glGetTexGenfv\0" "\0" - /* _mesa_function_pool[29564]: Vertex4i (offset 146) */ + /* _mesa_function_pool[29634]: Vertex4i (offset 146) */ "iiii\0" "glVertex4i\0" "\0" - /* _mesa_function_pool[29581]: VertexWeightPointerEXT (dynamic) */ + /* _mesa_function_pool[29651]: VertexWeightPointerEXT (dynamic) */ "iiip\0" "glVertexWeightPointerEXT\0" "\0" - /* _mesa_function_pool[29612]: GetHistogram (offset 361) */ + /* _mesa_function_pool[29682]: GetHistogram (offset 361) */ "iiiip\0" "glGetHistogram\0" "glGetHistogramEXT\0" "\0" - /* _mesa_function_pool[29652]: ActiveStencilFaceEXT (will be remapped) */ + /* _mesa_function_pool[29722]: ActiveStencilFaceEXT (will be remapped) */ "i\0" "glActiveStencilFaceEXT\0" "\0" - /* _mesa_function_pool[29678]: StencilFuncSeparateATI (will be remapped) */ + /* _mesa_function_pool[29748]: StencilFuncSeparateATI (will be remapped) */ "iiii\0" "glStencilFuncSeparateATI\0" "\0" - /* _mesa_function_pool[29709]: Materialf (offset 169) */ + /* _mesa_function_pool[29779]: Materialf (offset 169) */ "iif\0" "glMaterialf\0" "\0" - /* _mesa_function_pool[29726]: GetShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[29796]: GetShaderSourceARB (will be remapped) */ "iipp\0" "glGetShaderSource\0" "glGetShaderSourceARB\0" "\0" - /* _mesa_function_pool[29771]: IglooInterfaceSGIX (dynamic) */ + /* _mesa_function_pool[29841]: IglooInterfaceSGIX (dynamic) */ "ip\0" "glIglooInterfaceSGIX\0" "\0" - /* _mesa_function_pool[29796]: Materiali (offset 171) */ + /* _mesa_function_pool[29866]: Materiali (offset 171) */ "iii\0" "glMateriali\0" "\0" - /* _mesa_function_pool[29813]: VertexAttrib4dNV (will be remapped) */ + /* _mesa_function_pool[29883]: VertexAttrib4dNV (will be remapped) */ "idddd\0" "glVertexAttrib4dNV\0" "\0" - /* _mesa_function_pool[29839]: MultiModeDrawElementsIBM (will be remapped) */ + /* _mesa_function_pool[29909]: MultiModeDrawElementsIBM (will be remapped) */ "ppipii\0" "glMultiModeDrawElementsIBM\0" "\0" - /* _mesa_function_pool[29874]: Indexsv (offset 51) */ + /* _mesa_function_pool[29944]: Indexsv (offset 51) */ "p\0" "glIndexsv\0" "\0" - /* _mesa_function_pool[29887]: MultiTexCoord4svARB (offset 407) */ + /* _mesa_function_pool[29957]: MultiTexCoord4svARB (offset 407) */ "ip\0" "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" "\0" - /* _mesa_function_pool[29932]: LightModelfv (offset 164) */ + /* _mesa_function_pool[30002]: LightModelfv (offset 164) */ "ip\0" "glLightModelfv\0" "\0" - /* _mesa_function_pool[29951]: TexCoord2dv (offset 103) */ + /* _mesa_function_pool[30021]: TexCoord2dv (offset 103) */ "p\0" "glTexCoord2dv\0" "\0" - /* _mesa_function_pool[29968]: GenQueriesARB (will be remapped) */ + /* _mesa_function_pool[30038]: GenQueriesARB (will be remapped) */ "ip\0" "glGenQueries\0" "glGenQueriesARB\0" "\0" - /* _mesa_function_pool[30001]: EvalCoord1dv (offset 229) */ + /* _mesa_function_pool[30071]: EvalCoord1dv (offset 229) */ "p\0" "glEvalCoord1dv\0" "\0" - /* _mesa_function_pool[30019]: ReplacementCodeuiVertex3fSUN (dynamic) */ + /* _mesa_function_pool[30089]: ReplacementCodeuiVertex3fSUN (dynamic) */ "ifff\0" "glReplacementCodeuiVertex3fSUN\0" "\0" - /* _mesa_function_pool[30056]: Translated (offset 303) */ + /* _mesa_function_pool[30126]: Translated (offset 303) */ "ddd\0" "glTranslated\0" "\0" - /* _mesa_function_pool[30074]: Translatef (offset 304) */ + /* _mesa_function_pool[30144]: Translatef (offset 304) */ "fff\0" "glTranslatef\0" "\0" - /* _mesa_function_pool[30092]: Uniform3uiEXT (will be remapped) */ + /* _mesa_function_pool[30162]: Uniform3uiEXT (will be remapped) */ "iiii\0" "glUniform3uiEXT\0" "glUniform3ui\0" "\0" - /* _mesa_function_pool[30127]: StencilMask (offset 209) */ + /* _mesa_function_pool[30197]: StencilMask (offset 209) */ "i\0" "glStencilMask\0" "\0" - /* _mesa_function_pool[30144]: Tangent3iEXT (dynamic) */ + /* _mesa_function_pool[30214]: Tangent3iEXT (dynamic) */ "iii\0" "glTangent3iEXT\0" "\0" - /* _mesa_function_pool[30164]: ClampColorARB (will be remapped) */ + /* _mesa_function_pool[30234]: ClampColorARB (will be remapped) */ "ii\0" "glClampColorARB\0" "\0" - /* _mesa_function_pool[30184]: GetLightiv (offset 265) */ + /* _mesa_function_pool[30254]: GetLightiv (offset 265) */ "iip\0" "glGetLightiv\0" "\0" - /* _mesa_function_pool[30202]: GetSamplerParameterIiv (will be remapped) */ + /* _mesa_function_pool[30272]: GetSamplerParameterIiv (will be remapped) */ "iip\0" "glGetSamplerParameterIiv\0" "\0" - /* _mesa_function_pool[30232]: DrawMeshArraysSUN (dynamic) */ + /* _mesa_function_pool[30302]: DrawMeshArraysSUN (dynamic) */ "iiii\0" "glDrawMeshArraysSUN\0" "\0" - /* _mesa_function_pool[30258]: IsList (offset 287) */ + /* _mesa_function_pool[30328]: IsList (offset 287) */ "i\0" "glIsList\0" "\0" - /* _mesa_function_pool[30270]: IsSync (will be remapped) */ + /* _mesa_function_pool[30340]: IsSync (will be remapped) */ "i\0" "glIsSync\0" "\0" - /* _mesa_function_pool[30282]: RenderMode (offset 196) */ + /* _mesa_function_pool[30352]: RenderMode (offset 196) */ "i\0" "glRenderMode\0" "\0" - /* _mesa_function_pool[30298]: GetMapControlPointsNV (dynamic) */ + /* _mesa_function_pool[30368]: GetMapControlPointsNV (dynamic) */ "iiiiiip\0" "glGetMapControlPointsNV\0" "\0" - /* _mesa_function_pool[30331]: DrawBuffersARB (will be remapped) */ + /* _mesa_function_pool[30401]: DrawBuffersARB (will be remapped) */ "ip\0" "glDrawBuffers\0" "glDrawBuffersARB\0" "glDrawBuffersATI\0" "\0" - /* _mesa_function_pool[30383]: ClearBufferiv (will be remapped) */ + /* _mesa_function_pool[30453]: ClearBufferiv (will be remapped) */ "iip\0" "glClearBufferiv\0" "\0" - /* _mesa_function_pool[30404]: ProgramLocalParameter4fARB (will be remapped) */ + /* _mesa_function_pool[30474]: ProgramLocalParameter4fARB (will be remapped) */ "iiffff\0" "glProgramLocalParameter4fARB\0" "\0" - /* _mesa_function_pool[30441]: SpriteParameterivSGIX (dynamic) */ + /* _mesa_function_pool[30511]: SpriteParameterivSGIX (dynamic) */ "ip\0" "glSpriteParameterivSGIX\0" "\0" - /* _mesa_function_pool[30469]: ProvokingVertexEXT (will be remapped) */ + /* _mesa_function_pool[30539]: ProvokingVertexEXT (will be remapped) */ "i\0" "glProvokingVertexEXT\0" "glProvokingVertex\0" "\0" - /* _mesa_function_pool[30511]: MultiTexCoord1fARB (offset 378) */ + /* _mesa_function_pool[30581]: MultiTexCoord1fARB (offset 378) */ "if\0" "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" "\0" - /* _mesa_function_pool[30554]: LoadName (offset 198) */ + /* _mesa_function_pool[30624]: LoadName (offset 198) */ "i\0" "glLoadName\0" "\0" - /* _mesa_function_pool[30568]: VertexAttribs4ubvNV (will be remapped) */ + /* _mesa_function_pool[30638]: VertexAttribs4ubvNV (will be remapped) */ "iip\0" "glVertexAttribs4ubvNV\0" "\0" - /* _mesa_function_pool[30595]: WeightsvARB (dynamic) */ + /* _mesa_function_pool[30665]: WeightsvARB (dynamic) */ "ip\0" "glWeightsvARB\0" "\0" - /* _mesa_function_pool[30613]: Uniform1fvARB (will be remapped) */ + /* _mesa_function_pool[30683]: Uniform1fvARB (will be remapped) */ "iip\0" "glUniform1fv\0" "glUniform1fvARB\0" "\0" - /* _mesa_function_pool[30647]: CopyTexSubImage1D (offset 325) */ + /* _mesa_function_pool[30717]: CopyTexSubImage1D (offset 325) */ "iiiiii\0" "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[30698]: CullFace (offset 152) */ + /* _mesa_function_pool[30768]: CullFace (offset 152) */ "i\0" "glCullFace\0" "\0" - /* _mesa_function_pool[30712]: BindTexture (offset 307) */ + /* _mesa_function_pool[30782]: BindTexture (offset 307) */ "ii\0" "glBindTexture\0" "glBindTextureEXT\0" "\0" - /* _mesa_function_pool[30747]: BeginFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[30817]: BeginFragmentShaderATI (will be remapped) */ "\0" "glBeginFragmentShaderATI\0" "\0" - /* _mesa_function_pool[30774]: MultiTexCoord4fARB (offset 402) */ + /* _mesa_function_pool[30844]: MultiTexCoord4fARB (offset 402) */ "iffff\0" "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" "\0" - /* _mesa_function_pool[30820]: VertexAttribs3svNV (will be remapped) */ + /* _mesa_function_pool[30890]: VertexAttribs3svNV (will be remapped) */ "iip\0" "glVertexAttribs3svNV\0" "\0" - /* _mesa_function_pool[30846]: StencilFunc (offset 243) */ + /* _mesa_function_pool[30916]: StencilFunc (offset 243) */ "iii\0" "glStencilFunc\0" "\0" - /* _mesa_function_pool[30865]: CopyPixels (offset 255) */ + /* _mesa_function_pool[30935]: CopyPixels (offset 255) */ "iiiii\0" "glCopyPixels\0" "\0" - /* _mesa_function_pool[30885]: Rectsv (offset 93) */ + /* _mesa_function_pool[30955]: Rectsv (offset 93) */ "pp\0" "glRectsv\0" "\0" - /* _mesa_function_pool[30898]: ReplacementCodeuivSUN (dynamic) */ + /* _mesa_function_pool[30968]: ReplacementCodeuivSUN (dynamic) */ "p\0" "glReplacementCodeuivSUN\0" "\0" - /* _mesa_function_pool[30925]: EnableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[30995]: EnableVertexAttribArrayARB (will be remapped) */ "i\0" "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[30983]: NormalPointervINTEL (dynamic) */ + /* _mesa_function_pool[31053]: NormalPointervINTEL (dynamic) */ "ip\0" "glNormalPointervINTEL\0" "\0" - /* _mesa_function_pool[31009]: CopyConvolutionFilter2D (offset 355) */ + /* _mesa_function_pool[31079]: CopyConvolutionFilter2D (offset 355) */ "iiiiii\0" "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[31072]: WindowPos3ivMESA (will be remapped) */ + /* _mesa_function_pool[31142]: WindowPos3ivMESA (will be remapped) */ "p\0" "glWindowPos3iv\0" "glWindowPos3ivARB\0" "glWindowPos3ivMESA\0" "\0" - /* _mesa_function_pool[31127]: CopyBufferSubData (will be remapped) */ + /* _mesa_function_pool[31197]: CopyBufferSubData (will be remapped) */ "iiiii\0" "glCopyBufferSubData\0" "\0" - /* _mesa_function_pool[31154]: NormalPointer (offset 318) */ + /* _mesa_function_pool[31224]: NormalPointer (offset 318) */ "iip\0" "glNormalPointer\0" "\0" - /* _mesa_function_pool[31175]: TexParameterfv (offset 179) */ + /* _mesa_function_pool[31245]: TexParameterfv (offset 179) */ "iip\0" "glTexParameterfv\0" "\0" - /* _mesa_function_pool[31197]: IsBufferARB (will be remapped) */ + /* _mesa_function_pool[31267]: IsBufferARB (will be remapped) */ "i\0" "glIsBuffer\0" "glIsBufferARB\0" "\0" - /* _mesa_function_pool[31225]: WindowPos4iMESA (will be remapped) */ + /* _mesa_function_pool[31295]: WindowPos4iMESA (will be remapped) */ "iiii\0" "glWindowPos4iMESA\0" "\0" - /* _mesa_function_pool[31249]: VertexAttrib4uivARB (will be remapped) */ + /* _mesa_function_pool[31319]: VertexAttrib4uivARB (will be remapped) */ "ip\0" "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" "\0" - /* _mesa_function_pool[31294]: Tangent3bvEXT (dynamic) */ + /* _mesa_function_pool[31364]: Tangent3bvEXT (dynamic) */ "p\0" "glTangent3bvEXT\0" "\0" - /* _mesa_function_pool[31313]: VertexAttribI3uivEXT (will be remapped) */ + /* _mesa_function_pool[31383]: VertexAttribI3uivEXT (will be remapped) */ "ip\0" "glVertexAttribI3uivEXT\0" "glVertexAttribI3uiv\0" "\0" - /* _mesa_function_pool[31360]: UniformMatrix3x4fv (will be remapped) */ + /* _mesa_function_pool[31430]: UniformMatrix3x4fv (will be remapped) */ "iiip\0" "glUniformMatrix3x4fv\0" "\0" - /* _mesa_function_pool[31387]: ClipPlane (offset 150) */ + /* _mesa_function_pool[31457]: ClipPlane (offset 150) */ "ip\0" "glClipPlane\0" "\0" - /* _mesa_function_pool[31403]: Recti (offset 90) */ + /* _mesa_function_pool[31473]: Recti (offset 90) */ "iiii\0" "glRecti\0" "\0" - /* _mesa_function_pool[31417]: TrackMatrixNV (will be remapped) */ + /* _mesa_function_pool[31487]: TrackMatrixNV (will be remapped) */ "iiii\0" "glTrackMatrixNV\0" "\0" - /* _mesa_function_pool[31439]: DrawRangeElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[31509]: DrawRangeElementsBaseVertex (will be remapped) */ "iiiiipi\0" "glDrawRangeElementsBaseVertex\0" "\0" - /* _mesa_function_pool[31478]: SamplerParameterIuiv (will be remapped) */ + /* _mesa_function_pool[31548]: SamplerParameterIuiv (will be remapped) */ "iip\0" "glSamplerParameterIuiv\0" "\0" - /* _mesa_function_pool[31506]: TexCoordPointervINTEL (dynamic) */ + /* _mesa_function_pool[31576]: TexCoordPointervINTEL (dynamic) */ "iip\0" "glTexCoordPointervINTEL\0" "\0" - /* _mesa_function_pool[31535]: DeleteBuffersARB (will be remapped) */ + /* _mesa_function_pool[31605]: DeleteBuffersARB (will be remapped) */ "ip\0" "glDeleteBuffers\0" "glDeleteBuffersARB\0" "\0" - /* _mesa_function_pool[31574]: PixelTransformParameterfvEXT (dynamic) */ + /* _mesa_function_pool[31644]: PixelTransformParameterfvEXT (dynamic) */ "iip\0" "glPixelTransformParameterfvEXT\0" "\0" - /* _mesa_function_pool[31610]: PrimitiveRestartNV (will be remapped) */ + /* _mesa_function_pool[31680]: PrimitiveRestartNV (will be remapped) */ "\0" "glPrimitiveRestartNV\0" "\0" - /* _mesa_function_pool[31633]: WindowPos4fvMESA (will be remapped) */ + /* _mesa_function_pool[31703]: WindowPos4fvMESA (will be remapped) */ "p\0" "glWindowPos4fvMESA\0" "\0" - /* _mesa_function_pool[31655]: GetPixelMapuiv (offset 272) */ + /* _mesa_function_pool[31725]: GetPixelMapuiv (offset 272) */ "ip\0" "glGetPixelMapuiv\0" "\0" - /* _mesa_function_pool[31676]: Rectf (offset 88) */ + /* _mesa_function_pool[31746]: Rectf (offset 88) */ "ffff\0" "glRectf\0" "\0" - /* _mesa_function_pool[31690]: VertexAttrib1sNV (will be remapped) */ + /* _mesa_function_pool[31760]: VertexAttrib1sNV (will be remapped) */ "ii\0" "glVertexAttrib1sNV\0" "\0" - /* _mesa_function_pool[31713]: Indexfv (offset 47) */ + /* _mesa_function_pool[31783]: Indexfv (offset 47) */ "p\0" "glIndexfv\0" "\0" - /* _mesa_function_pool[31726]: SecondaryColor3svEXT (will be remapped) */ + /* _mesa_function_pool[31796]: SecondaryColor3svEXT (will be remapped) */ "p\0" "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" "\0" - /* _mesa_function_pool[31772]: LoadTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[31842]: LoadTransposeMatrixfARB (will be remapped) */ "p\0" "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[31824]: GetPointerv (offset 329) */ + /* _mesa_function_pool[31894]: GetPointerv (offset 329) */ "ip\0" "glGetPointerv\0" "glGetPointervEXT\0" "\0" - /* _mesa_function_pool[31859]: Tangent3bEXT (dynamic) */ + /* _mesa_function_pool[31929]: Tangent3bEXT (dynamic) */ "iii\0" "glTangent3bEXT\0" "\0" - /* _mesa_function_pool[31879]: CombinerParameterfNV (will be remapped) */ + /* _mesa_function_pool[31949]: CombinerParameterfNV (will be remapped) */ "if\0" "glCombinerParameterfNV\0" "\0" - /* _mesa_function_pool[31906]: IndexMask (offset 212) */ + /* _mesa_function_pool[31976]: IndexMask (offset 212) */ "i\0" "glIndexMask\0" "\0" - /* _mesa_function_pool[31921]: BindProgramNV (will be remapped) */ + /* _mesa_function_pool[31991]: BindProgramNV (will be remapped) */ "ii\0" "glBindProgramARB\0" "glBindProgramNV\0" "\0" - /* _mesa_function_pool[31958]: VertexAttrib4svARB (will be remapped) */ + /* _mesa_function_pool[32028]: VertexAttrib4svARB (will be remapped) */ "ip\0" "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" "\0" - /* _mesa_function_pool[32001]: GetFloatv (offset 262) */ + /* _mesa_function_pool[32071]: GetFloatv (offset 262) */ "ip\0" "glGetFloatv\0" "\0" - /* _mesa_function_pool[32017]: CreateDebugObjectMESA (dynamic) */ + /* _mesa_function_pool[32087]: CreateDebugObjectMESA (dynamic) */ "\0" "glCreateDebugObjectMESA\0" "\0" - /* _mesa_function_pool[32043]: GetShaderiv (will be remapped) */ + /* _mesa_function_pool[32113]: GetShaderiv (will be remapped) */ "iip\0" "glGetShaderiv\0" "\0" - /* _mesa_function_pool[32062]: ClientWaitSync (will be remapped) */ + /* _mesa_function_pool[32132]: ClientWaitSync (will be remapped) */ "iii\0" "glClientWaitSync\0" "\0" - /* _mesa_function_pool[32084]: TexCoord4s (offset 124) */ + /* _mesa_function_pool[32154]: TexCoord4s (offset 124) */ "iiii\0" "glTexCoord4s\0" "\0" - /* _mesa_function_pool[32103]: TexCoord3sv (offset 117) */ + /* _mesa_function_pool[32173]: TexCoord3sv (offset 117) */ "p\0" "glTexCoord3sv\0" "\0" - /* _mesa_function_pool[32120]: BindFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[32190]: BindFragmentShaderATI (will be remapped) */ "i\0" "glBindFragmentShaderATI\0" "\0" - /* _mesa_function_pool[32147]: PopAttrib (offset 218) */ + /* _mesa_function_pool[32217]: PopAttrib (offset 218) */ "\0" "glPopAttrib\0" "\0" - /* _mesa_function_pool[32161]: Fogfv (offset 154) */ + /* _mesa_function_pool[32231]: Fogfv (offset 154) */ "ip\0" "glFogfv\0" "\0" - /* _mesa_function_pool[32173]: UnmapBufferARB (will be remapped) */ + /* _mesa_function_pool[32243]: UnmapBufferARB (will be remapped) */ "i\0" "glUnmapBuffer\0" "glUnmapBufferARB\0" "\0" - /* _mesa_function_pool[32207]: InitNames (offset 197) */ + /* _mesa_function_pool[32277]: InitNames (offset 197) */ "\0" "glInitNames\0" "\0" - /* _mesa_function_pool[32221]: Normal3sv (offset 61) */ + /* _mesa_function_pool[32291]: Normal3sv (offset 61) */ "p\0" "glNormal3sv\0" "\0" - /* _mesa_function_pool[32236]: Minmax (offset 368) */ + /* _mesa_function_pool[32306]: Minmax (offset 368) */ "iii\0" "glMinmax\0" "glMinmaxEXT\0" "\0" - /* _mesa_function_pool[32262]: TexCoord4d (offset 118) */ + /* _mesa_function_pool[32332]: TexCoord4d (offset 118) */ "dddd\0" "glTexCoord4d\0" "\0" - /* _mesa_function_pool[32281]: TexCoord4f (offset 120) */ + /* _mesa_function_pool[32351]: DeformationMap3dSGIX (dynamic) */ + "iddiiddiiddiip\0" + "glDeformationMap3dSGIX\0" + "\0" + /* _mesa_function_pool[32390]: TexCoord4f (offset 120) */ "ffff\0" "glTexCoord4f\0" "\0" - /* _mesa_function_pool[32300]: FogCoorddvEXT (will be remapped) */ + /* _mesa_function_pool[32409]: FogCoorddvEXT (will be remapped) */ "p\0" "glFogCoorddv\0" "glFogCoorddvEXT\0" "\0" - /* _mesa_function_pool[32332]: FinishTextureSUNX (dynamic) */ + /* _mesa_function_pool[32441]: FinishTextureSUNX (dynamic) */ "\0" "glFinishTextureSUNX\0" "\0" - /* _mesa_function_pool[32354]: GetFragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[32463]: GetFragmentLightfvSGIX (dynamic) */ "iip\0" "glGetFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[32384]: Binormal3fvEXT (dynamic) */ + /* _mesa_function_pool[32493]: Binormal3fvEXT (dynamic) */ "p\0" "glBinormal3fvEXT\0" "\0" - /* _mesa_function_pool[32404]: GetBooleanv (offset 258) */ + /* _mesa_function_pool[32513]: GetBooleanv (offset 258) */ "ip\0" "glGetBooleanv\0" "\0" - /* _mesa_function_pool[32422]: ColorFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[32531]: ColorFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiiii\0" "glColorFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[32459]: Hint (offset 158) */ + /* _mesa_function_pool[32568]: Hint (offset 158) */ "ii\0" "glHint\0" "\0" - /* _mesa_function_pool[32470]: Color4dv (offset 28) */ + /* _mesa_function_pool[32579]: Color4dv (offset 28) */ "p\0" "glColor4dv\0" "\0" - /* _mesa_function_pool[32484]: VertexAttrib2svARB (will be remapped) */ + /* _mesa_function_pool[32593]: VertexAttrib2svARB (will be remapped) */ "ip\0" "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" "\0" - /* _mesa_function_pool[32527]: AreProgramsResidentNV (will be remapped) */ + /* _mesa_function_pool[32636]: AreProgramsResidentNV (will be remapped) */ "ipp\0" "glAreProgramsResidentNV\0" "\0" - /* _mesa_function_pool[32556]: WindowPos3svMESA (will be remapped) */ + /* _mesa_function_pool[32665]: WindowPos3svMESA (will be remapped) */ "p\0" "glWindowPos3sv\0" "glWindowPos3svARB\0" "glWindowPos3svMESA\0" "\0" - /* _mesa_function_pool[32611]: CopyColorSubTable (offset 347) */ + /* _mesa_function_pool[32720]: CopyColorSubTable (offset 347) */ "iiiii\0" "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" "\0" - /* _mesa_function_pool[32661]: WeightdvARB (dynamic) */ + /* _mesa_function_pool[32770]: WeightdvARB (dynamic) */ "ip\0" "glWeightdvARB\0" "\0" - /* _mesa_function_pool[32679]: DeleteRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[32788]: DeleteRenderbuffersEXT (will be remapped) */ "ip\0" "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[32730]: VertexAttrib4NubvARB (will be remapped) */ + /* _mesa_function_pool[32839]: VertexAttrib4NubvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" "\0" - /* _mesa_function_pool[32777]: VertexAttrib3dvNV (will be remapped) */ + /* _mesa_function_pool[32886]: VertexAttrib3dvNV (will be remapped) */ "ip\0" "glVertexAttrib3dvNV\0" "\0" - /* _mesa_function_pool[32801]: GetObjectParameterfvARB (will be remapped) */ + /* _mesa_function_pool[32910]: GetObjectParameterfvARB (will be remapped) */ "iip\0" "glGetObjectParameterfvARB\0" "\0" - /* _mesa_function_pool[32832]: Vertex4iv (offset 147) */ + /* _mesa_function_pool[32941]: Vertex4iv (offset 147) */ "p\0" "glVertex4iv\0" "\0" - /* _mesa_function_pool[32847]: GetProgramEnvParameterdvARB (will be remapped) */ + /* _mesa_function_pool[32956]: GetProgramEnvParameterdvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterdvARB\0" "\0" - /* _mesa_function_pool[32882]: TexCoord4dv (offset 119) */ + /* _mesa_function_pool[32991]: TexCoord4dv (offset 119) */ "p\0" "glTexCoord4dv\0" "\0" - /* _mesa_function_pool[32899]: LockArraysEXT (will be remapped) */ + /* _mesa_function_pool[33008]: LockArraysEXT (will be remapped) */ "ii\0" "glLockArraysEXT\0" "\0" - /* _mesa_function_pool[32919]: Begin (offset 7) */ + /* _mesa_function_pool[33028]: Begin (offset 7) */ "i\0" "glBegin\0" "\0" - /* _mesa_function_pool[32930]: LightModeli (offset 165) */ + /* _mesa_function_pool[33039]: LightModeli (offset 165) */ "ii\0" "glLightModeli\0" "\0" - /* _mesa_function_pool[32948]: VertexAttribI4ivEXT (will be remapped) */ + /* _mesa_function_pool[33057]: VertexAttribI4ivEXT (will be remapped) */ "ip\0" "glVertexAttribI4ivEXT\0" "glVertexAttribI4iv\0" "\0" - /* _mesa_function_pool[32993]: Rectfv (offset 89) */ + /* _mesa_function_pool[33102]: Rectfv (offset 89) */ "pp\0" "glRectfv\0" "\0" - /* _mesa_function_pool[33006]: BlendEquationSeparateiARB (will be remapped) */ - "iii\0" - "glBlendEquationSeparateiARB\0" - "glBlendEquationSeparateIndexedAMD\0" - "\0" - /* _mesa_function_pool[33073]: LightModelf (offset 163) */ + /* _mesa_function_pool[33115]: LightModelf (offset 163) */ "if\0" "glLightModelf\0" "\0" - /* _mesa_function_pool[33091]: GetTexParameterfv (offset 282) */ + /* _mesa_function_pool[33133]: GetTexParameterfv (offset 282) */ "iip\0" "glGetTexParameterfv\0" "\0" - /* _mesa_function_pool[33116]: GetLightfv (offset 264) */ + /* _mesa_function_pool[33158]: GetLightfv (offset 264) */ "iip\0" "glGetLightfv\0" "\0" - /* _mesa_function_pool[33134]: PixelTransformParameterivEXT (dynamic) */ + /* _mesa_function_pool[33176]: PixelTransformParameterivEXT (dynamic) */ "iip\0" "glPixelTransformParameterivEXT\0" "\0" - /* _mesa_function_pool[33170]: BinormalPointerEXT (dynamic) */ + /* _mesa_function_pool[33212]: BinormalPointerEXT (dynamic) */ "iip\0" "glBinormalPointerEXT\0" "\0" - /* _mesa_function_pool[33196]: VertexAttrib1dNV (will be remapped) */ + /* _mesa_function_pool[33238]: VertexAttrib1dNV (will be remapped) */ "id\0" "glVertexAttrib1dNV\0" "\0" - /* _mesa_function_pool[33219]: GetCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[33261]: GetCombinerInputParameterivNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[33258]: Disable (offset 214) */ + /* _mesa_function_pool[33300]: Disable (offset 214) */ "i\0" "glDisable\0" "\0" - /* _mesa_function_pool[33271]: MultiTexCoord2fvARB (offset 387) */ + /* _mesa_function_pool[33313]: MultiTexCoord2fvARB (offset 387) */ "ip\0" "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" "\0" - /* _mesa_function_pool[33316]: GetRenderbufferParameterivEXT (will be remapped) */ + /* _mesa_function_pool[33358]: GetRenderbufferParameterivEXT (will be remapped) */ "iip\0" "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" "\0" - /* _mesa_function_pool[33382]: CombinerParameterivNV (will be remapped) */ + /* _mesa_function_pool[33424]: CombinerParameterivNV (will be remapped) */ "ip\0" "glCombinerParameterivNV\0" "\0" - /* _mesa_function_pool[33410]: GenFragmentShadersATI (will be remapped) */ + /* _mesa_function_pool[33452]: GenFragmentShadersATI (will be remapped) */ "i\0" "glGenFragmentShadersATI\0" "\0" - /* _mesa_function_pool[33437]: DrawArrays (offset 310) */ + /* _mesa_function_pool[33479]: DrawArrays (offset 310) */ "iii\0" "glDrawArrays\0" "glDrawArraysEXT\0" "\0" - /* _mesa_function_pool[33471]: WeightuivARB (dynamic) */ + /* _mesa_function_pool[33513]: WeightuivARB (dynamic) */ "ip\0" "glWeightuivARB\0" "\0" - /* _mesa_function_pool[33490]: GetVertexAttribIivEXT (will be remapped) */ + /* _mesa_function_pool[33532]: GetVertexAttribIivEXT (will be remapped) */ "iip\0" "glGetVertexAttribIivEXT\0" "glGetVertexAttribIiv\0" "\0" - /* _mesa_function_pool[33540]: VertexAttrib2sARB (will be remapped) */ + /* _mesa_function_pool[33582]: VertexAttrib2sARB (will be remapped) */ "iii\0" "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" "\0" - /* _mesa_function_pool[33582]: GetnTexImageARB (will be remapped) */ + /* _mesa_function_pool[33624]: GetnTexImageARB (will be remapped) */ "iiiiip\0" "glGetnTexImageARB\0" "\0" - /* _mesa_function_pool[33608]: ColorMask (offset 210) */ + /* _mesa_function_pool[33650]: ColorMask (offset 210) */ "iiii\0" "glColorMask\0" "\0" - /* _mesa_function_pool[33626]: GenAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[33668]: GenAsyncMarkersSGIX (dynamic) */ "i\0" "glGenAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[33651]: Tangent3svEXT (dynamic) */ + /* _mesa_function_pool[33693]: Tangent3svEXT (dynamic) */ "p\0" "glTangent3svEXT\0" "\0" - /* _mesa_function_pool[33670]: GetListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[33712]: GetListParameterivSGIX (dynamic) */ "iip\0" "glGetListParameterivSGIX\0" "\0" - /* _mesa_function_pool[33700]: BindBufferARB (will be remapped) */ + /* _mesa_function_pool[33742]: BindBufferARB (will be remapped) */ "ii\0" "glBindBuffer\0" "glBindBufferARB\0" "\0" - /* _mesa_function_pool[33733]: GetInfoLogARB (will be remapped) */ + /* _mesa_function_pool[33775]: GetInfoLogARB (will be remapped) */ "iipp\0" "glGetInfoLogARB\0" "\0" - /* _mesa_function_pool[33755]: RasterPos4iv (offset 83) */ + /* _mesa_function_pool[33797]: RasterPos4iv (offset 83) */ "p\0" "glRasterPos4iv\0" "\0" - /* _mesa_function_pool[33773]: Enable (offset 215) */ + /* _mesa_function_pool[33815]: Enable (offset 215) */ "i\0" "glEnable\0" "\0" - /* _mesa_function_pool[33785]: LineStipple (offset 167) */ + /* _mesa_function_pool[33827]: LineStipple (offset 167) */ "ii\0" "glLineStipple\0" "\0" - /* _mesa_function_pool[33803]: VertexAttribs4svNV (will be remapped) */ + /* _mesa_function_pool[33845]: VertexAttribs4svNV (will be remapped) */ "iip\0" "glVertexAttribs4svNV\0" "\0" - /* _mesa_function_pool[33829]: EdgeFlagPointerListIBM (dynamic) */ + /* _mesa_function_pool[33871]: EdgeFlagPointerListIBM (dynamic) */ "ipi\0" "glEdgeFlagPointerListIBM\0" "\0" - /* _mesa_function_pool[33859]: UniformMatrix3x2fv (will be remapped) */ + /* _mesa_function_pool[33901]: UniformMatrix3x2fv (will be remapped) */ "iiip\0" "glUniformMatrix3x2fv\0" "\0" - /* _mesa_function_pool[33886]: GetMinmaxParameterfv (offset 365) */ + /* _mesa_function_pool[33928]: GetMinmaxParameterfv (offset 365) */ "iip\0" "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" "\0" - /* _mesa_function_pool[33940]: VertexAttrib1fvARB (will be remapped) */ + /* _mesa_function_pool[33982]: VertexAttrib1fvARB (will be remapped) */ "ip\0" "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" "\0" - /* _mesa_function_pool[33983]: GenBuffersARB (will be remapped) */ + /* _mesa_function_pool[34025]: GenBuffersARB (will be remapped) */ "ip\0" "glGenBuffers\0" "glGenBuffersARB\0" "\0" - /* _mesa_function_pool[34016]: VertexAttribs1svNV (will be remapped) */ + /* _mesa_function_pool[34058]: VertexAttribs1svNV (will be remapped) */ "iip\0" "glVertexAttribs1svNV\0" "\0" - /* _mesa_function_pool[34042]: Vertex3fv (offset 137) */ + /* _mesa_function_pool[34084]: Vertex3fv (offset 137) */ "p\0" "glVertex3fv\0" "\0" - /* _mesa_function_pool[34057]: GetTexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[34099]: GetTexBumpParameterivATI (will be remapped) */ "ip\0" "glGetTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[34088]: Binormal3bEXT (dynamic) */ + /* _mesa_function_pool[34130]: Binormal3bEXT (dynamic) */ "iii\0" "glBinormal3bEXT\0" "\0" - /* _mesa_function_pool[34109]: FragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[34151]: FragmentMaterialivSGIX (dynamic) */ "iip\0" "glFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[34139]: IsRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[34181]: IsRenderbufferEXT (will be remapped) */ "i\0" "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" "\0" - /* _mesa_function_pool[34179]: GenProgramsNV (will be remapped) */ + /* _mesa_function_pool[34221]: GenProgramsNV (will be remapped) */ "ip\0" "glGenProgramsARB\0" "glGenProgramsNV\0" "\0" - /* _mesa_function_pool[34216]: VertexAttrib4dvNV (will be remapped) */ + /* _mesa_function_pool[34258]: VertexAttrib4dvNV (will be remapped) */ "ip\0" "glVertexAttrib4dvNV\0" "\0" - /* _mesa_function_pool[34240]: EndFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[34282]: EndFragmentShaderATI (will be remapped) */ "\0" "glEndFragmentShaderATI\0" "\0" - /* _mesa_function_pool[34265]: Binormal3iEXT (dynamic) */ + /* _mesa_function_pool[34307]: Binormal3iEXT (dynamic) */ "iii\0" "glBinormal3iEXT\0" "\0" - /* _mesa_function_pool[34286]: WindowPos2fMESA (will be remapped) */ + /* _mesa_function_pool[34328]: WindowPos2fMESA (will be remapped) */ "ff\0" "glWindowPos2f\0" "glWindowPos2fARB\0" @@ -4931,636 +4935,637 @@ static const char _mesa_function_pool[] = /* these functions need to be remapped */ static const struct gl_function_pool_remap MESA_remap_table_functions[] = { - { 1629, AttachShader_remap_index }, - { 10274, CreateProgram_remap_index }, - { 23765, CreateShader_remap_index }, - { 26289, DeleteProgram_remap_index }, - { 19245, DeleteShader_remap_index }, - { 24258, DetachShader_remap_index }, - { 18534, GetAttachedShaders_remap_index }, - { 5126, GetProgramInfoLog_remap_index }, - { 444, GetProgramiv_remap_index }, - { 6892, GetShaderInfoLog_remap_index }, - { 32043, GetShaderiv_remap_index }, - { 13807, IsProgram_remap_index }, - { 12698, IsShader_remap_index }, - { 10404, StencilFuncSeparate_remap_index }, - { 4156, StencilMaskSeparate_remap_index }, - { 7957, StencilOpSeparate_remap_index }, - { 22999, UniformMatrix2x3fv_remap_index }, - { 2998, UniformMatrix2x4fv_remap_index }, - { 33859, UniformMatrix3x2fv_remap_index }, - { 31360, UniformMatrix3x4fv_remap_index }, - { 16726, UniformMatrix4x2fv_remap_index }, - { 3417, UniformMatrix4x3fv_remap_index }, - { 5332, ClampColor_remap_index }, - { 18588, ClearBufferfi_remap_index }, - { 18004, ClearBufferfv_remap_index }, - { 30383, ClearBufferiv_remap_index }, - { 14012, ClearBufferuiv_remap_index }, - { 20582, GetStringi_remap_index }, - { 2900, TexBuffer_remap_index }, - { 977, FramebufferTexture_remap_index }, - { 27325, GetBufferParameteri64v_remap_index }, - { 10504, GetInteger64i_v_remap_index }, - { 24079, VertexAttribDivisor_remap_index }, - { 10292, LoadTransposeMatrixdARB_remap_index }, - { 31772, LoadTransposeMatrixfARB_remap_index }, - { 5971, MultTransposeMatrixdARB_remap_index }, - { 24445, MultTransposeMatrixfARB_remap_index }, - { 255, SampleCoverageARB_remap_index }, - { 6155, CompressedTexImage1DARB_remap_index }, - { 24973, CompressedTexImage2DARB_remap_index }, - { 4219, CompressedTexImage3DARB_remap_index }, - { 18876, CompressedTexSubImage1DARB_remap_index }, - { 2141, CompressedTexSubImage2DARB_remap_index }, - { 21004, CompressedTexSubImage3DARB_remap_index }, - { 29489, GetCompressedTexImageARB_remap_index }, - { 3983, DisableVertexAttribArrayARB_remap_index }, - { 30925, EnableVertexAttribArrayARB_remap_index }, - { 32847, GetProgramEnvParameterdvARB_remap_index }, - { 24325, GetProgramEnvParameterfvARB_remap_index }, - { 28354, GetProgramLocalParameterdvARB_remap_index }, - { 8433, GetProgramLocalParameterfvARB_remap_index }, - { 19052, GetProgramStringARB_remap_index }, - { 28549, GetProgramivARB_remap_index }, - { 21199, GetVertexAttribdvARB_remap_index }, - { 16534, GetVertexAttribfvARB_remap_index }, - { 10108, GetVertexAttribivARB_remap_index }, - { 20045, ProgramEnvParameter4dARB_remap_index }, - { 26039, ProgramEnvParameter4dvARB_remap_index }, - { 17302, ProgramEnvParameter4fARB_remap_index }, - { 9308, ProgramEnvParameter4fvARB_remap_index }, - { 4182, ProgramLocalParameter4dARB_remap_index }, - { 13517, ProgramLocalParameter4dvARB_remap_index }, - { 30404, ProgramLocalParameter4fARB_remap_index }, - { 26685, ProgramLocalParameter4fvARB_remap_index }, - { 29243, ProgramStringARB_remap_index }, - { 20313, VertexAttrib1dARB_remap_index }, - { 16161, VertexAttrib1dvARB_remap_index }, - { 4378, VertexAttrib1fARB_remap_index }, - { 33940, VertexAttrib1fvARB_remap_index }, - { 7483, VertexAttrib1sARB_remap_index }, - { 2336, VertexAttrib1svARB_remap_index }, - { 15592, VertexAttrib2dARB_remap_index }, - { 18025, VertexAttrib2dvARB_remap_index }, - { 1687, VertexAttrib2fARB_remap_index }, - { 18138, VertexAttrib2fvARB_remap_index }, - { 33540, VertexAttrib2sARB_remap_index }, - { 32484, VertexAttrib2svARB_remap_index }, - { 11682, VertexAttrib3dARB_remap_index }, - { 8975, VertexAttrib3dvARB_remap_index }, - { 1774, VertexAttrib3fARB_remap_index }, - { 23316, VertexAttrib3fvARB_remap_index }, - { 29090, VertexAttrib3sARB_remap_index }, - { 20941, VertexAttrib3svARB_remap_index }, - { 5152, VertexAttrib4NbvARB_remap_index }, - { 18411, VertexAttrib4NivARB_remap_index }, - { 23271, VertexAttrib4NsvARB_remap_index }, - { 24277, VertexAttrib4NubARB_remap_index }, - { 32730, VertexAttrib4NubvARB_remap_index }, - { 19696, VertexAttrib4NuivARB_remap_index }, - { 3290, VertexAttrib4NusvARB_remap_index }, - { 11271, VertexAttrib4bvARB_remap_index }, - { 27727, VertexAttrib4dARB_remap_index }, - { 21998, VertexAttrib4dvARB_remap_index }, - { 11836, VertexAttrib4fARB_remap_index }, - { 12240, VertexAttrib4fvARB_remap_index }, - { 10647, VertexAttrib4ivARB_remap_index }, - { 17818, VertexAttrib4sARB_remap_index }, - { 31958, VertexAttrib4svARB_remap_index }, - { 17107, VertexAttrib4ubvARB_remap_index }, - { 31249, VertexAttrib4uivARB_remap_index }, - { 20752, VertexAttrib4usvARB_remap_index }, - { 22814, VertexAttribPointerARB_remap_index }, - { 33700, BindBufferARB_remap_index }, - { 7190, BufferDataARB_remap_index }, - { 1550, BufferSubDataARB_remap_index }, - { 31535, DeleteBuffersARB_remap_index }, - { 33983, GenBuffersARB_remap_index }, - { 18181, GetBufferParameterivARB_remap_index }, - { 17254, GetBufferPointervARB_remap_index }, - { 1503, GetBufferSubDataARB_remap_index }, - { 31197, IsBufferARB_remap_index }, - { 27169, MapBufferARB_remap_index }, - { 32173, UnmapBufferARB_remap_index }, - { 351, BeginQueryARB_remap_index }, - { 20408, DeleteQueriesARB_remap_index }, - { 12559, EndQueryARB_remap_index }, - { 29968, GenQueriesARB_remap_index }, - { 2033, GetQueryObjectivARB_remap_index }, - { 17862, GetQueryObjectuivARB_remap_index }, - { 1831, GetQueryivARB_remap_index }, - { 20659, IsQueryARB_remap_index }, - { 8585, AttachObjectARB_remap_index }, - { 19207, CompileShaderARB_remap_index }, - { 3359, CreateProgramObjectARB_remap_index }, - { 7135, CreateShaderObjectARB_remap_index }, - { 14894, DeleteObjectARB_remap_index }, - { 24764, DetachObjectARB_remap_index }, - { 12304, GetActiveUniformARB_remap_index }, - { 9783, GetAttachedObjectsARB_remap_index }, - { 10090, GetHandleARB_remap_index }, - { 33733, GetInfoLogARB_remap_index }, - { 32801, GetObjectParameterfvARB_remap_index }, - { 28228, GetObjectParameterivARB_remap_index }, - { 29726, GetShaderSourceARB_remap_index }, - { 28950, GetUniformLocationARB_remap_index }, - { 24547, GetUniformfvARB_remap_index }, - { 13092, GetUniformivARB_remap_index }, - { 20797, LinkProgramARB_remap_index }, - { 20855, ShaderSourceARB_remap_index }, - { 7857, Uniform1fARB_remap_index }, - { 30613, Uniform1fvARB_remap_index }, - { 22762, Uniform1iARB_remap_index }, - { 21652, Uniform1ivARB_remap_index }, - { 2285, Uniform2fARB_remap_index }, - { 14730, Uniform2fvARB_remap_index }, - { 27056, Uniform2iARB_remap_index }, - { 2405, Uniform2ivARB_remap_index }, - { 19317, Uniform3fARB_remap_index }, - { 9813, Uniform3fvARB_remap_index }, - { 6746, Uniform3iARB_remap_index }, - { 17360, Uniform3ivARB_remap_index }, - { 19851, Uniform4fARB_remap_index }, - { 24411, Uniform4fvARB_remap_index }, - { 25673, Uniform4iARB_remap_index }, - { 21165, Uniform4ivARB_remap_index }, - { 8637, UniformMatrix2fvARB_remap_index }, + { 1590, AttachShader_remap_index }, + { 10243, CreateProgram_remap_index }, + { 23919, CreateShader_remap_index }, + { 26443, DeleteProgram_remap_index }, + { 19399, DeleteShader_remap_index }, + { 24412, DetachShader_remap_index }, + { 18646, GetAttachedShaders_remap_index }, + { 5053, GetProgramInfoLog_remap_index }, + { 405, GetProgramiv_remap_index }, + { 6861, GetShaderInfoLog_remap_index }, + { 32113, GetShaderiv_remap_index }, + { 13776, IsProgram_remap_index }, + { 12667, IsShader_remap_index }, + { 10373, StencilFuncSeparate_remap_index }, + { 4031, StencilMaskSeparate_remap_index }, + { 7926, StencilOpSeparate_remap_index }, + { 23153, UniformMatrix2x3fv_remap_index }, + { 2920, UniformMatrix2x4fv_remap_index }, + { 33901, UniformMatrix3x2fv_remap_index }, + { 31430, UniformMatrix3x4fv_remap_index }, + { 16766, UniformMatrix4x2fv_remap_index }, + { 3339, UniformMatrix4x3fv_remap_index }, + { 5259, ClampColor_remap_index }, + { 18700, ClearBufferfi_remap_index }, + { 18116, ClearBufferfv_remap_index }, + { 30453, ClearBufferiv_remap_index }, + { 13981, ClearBufferuiv_remap_index }, + { 20736, GetStringi_remap_index }, + { 2861, TexBuffer_remap_index }, + { 938, FramebufferTexture_remap_index }, + { 27479, GetBufferParameteri64v_remap_index }, + { 10473, GetInteger64i_v_remap_index }, + { 24233, VertexAttribDivisor_remap_index }, + { 10261, LoadTransposeMatrixdARB_remap_index }, + { 31842, LoadTransposeMatrixfARB_remap_index }, + { 5898, MultTransposeMatrixdARB_remap_index }, + { 24599, MultTransposeMatrixfARB_remap_index }, + { 216, SampleCoverageARB_remap_index }, + { 6124, CompressedTexImage1DARB_remap_index }, + { 25127, CompressedTexImage2DARB_remap_index }, + { 4094, CompressedTexImage3DARB_remap_index }, + { 18988, CompressedTexSubImage1DARB_remap_index }, + { 2102, CompressedTexSubImage2DARB_remap_index }, + { 21158, CompressedTexSubImage3DARB_remap_index }, + { 29559, GetCompressedTexImageARB_remap_index }, + { 3905, DisableVertexAttribArrayARB_remap_index }, + { 30995, EnableVertexAttribArrayARB_remap_index }, + { 32956, GetProgramEnvParameterdvARB_remap_index }, + { 24479, GetProgramEnvParameterfvARB_remap_index }, + { 28476, GetProgramLocalParameterdvARB_remap_index }, + { 8402, GetProgramLocalParameterfvARB_remap_index }, + { 19164, GetProgramStringARB_remap_index }, + { 28671, GetProgramivARB_remap_index }, + { 21353, GetVertexAttribdvARB_remap_index }, + { 16574, GetVertexAttribfvARB_remap_index }, + { 10077, GetVertexAttribivARB_remap_index }, + { 20199, ProgramEnvParameter4dARB_remap_index }, + { 26193, ProgramEnvParameter4dvARB_remap_index }, + { 17414, ProgramEnvParameter4fARB_remap_index }, + { 9277, ProgramEnvParameter4fvARB_remap_index }, + { 4057, ProgramLocalParameter4dARB_remap_index }, + { 13486, ProgramLocalParameter4dvARB_remap_index }, + { 30474, ProgramLocalParameter4fARB_remap_index }, + { 26839, ProgramLocalParameter4fvARB_remap_index }, + { 29313, ProgramStringARB_remap_index }, + { 20467, VertexAttrib1dARB_remap_index }, + { 16201, VertexAttrib1dvARB_remap_index }, + { 4253, VertexAttrib1fARB_remap_index }, + { 33982, VertexAttrib1fvARB_remap_index }, + { 7452, VertexAttrib1sARB_remap_index }, + { 2297, VertexAttrib1svARB_remap_index }, + { 15632, VertexAttrib2dARB_remap_index }, + { 18137, VertexAttrib2dvARB_remap_index }, + { 1648, VertexAttrib2fARB_remap_index }, + { 18250, VertexAttrib2fvARB_remap_index }, + { 33582, VertexAttrib2sARB_remap_index }, + { 32593, VertexAttrib2svARB_remap_index }, + { 11651, VertexAttrib3dARB_remap_index }, + { 8944, VertexAttrib3dvARB_remap_index }, + { 1735, VertexAttrib3fARB_remap_index }, + { 23470, VertexAttrib3fvARB_remap_index }, + { 29160, VertexAttrib3sARB_remap_index }, + { 21095, VertexAttrib3svARB_remap_index }, + { 5079, VertexAttrib4NbvARB_remap_index }, + { 18523, VertexAttrib4NivARB_remap_index }, + { 23425, VertexAttrib4NsvARB_remap_index }, + { 24431, VertexAttrib4NubARB_remap_index }, + { 32839, VertexAttrib4NubvARB_remap_index }, + { 19850, VertexAttrib4NuivARB_remap_index }, + { 3212, VertexAttrib4NusvARB_remap_index }, + { 11240, VertexAttrib4bvARB_remap_index }, + { 27849, VertexAttrib4dARB_remap_index }, + { 22152, VertexAttrib4dvARB_remap_index }, + { 11805, VertexAttrib4fARB_remap_index }, + { 12209, VertexAttrib4fvARB_remap_index }, + { 10616, VertexAttrib4ivARB_remap_index }, + { 17930, VertexAttrib4sARB_remap_index }, + { 32028, VertexAttrib4svARB_remap_index }, + { 17219, VertexAttrib4ubvARB_remap_index }, + { 31319, VertexAttrib4uivARB_remap_index }, + { 20906, VertexAttrib4usvARB_remap_index }, + { 22968, VertexAttribPointerARB_remap_index }, + { 33742, BindBufferARB_remap_index }, + { 7159, BufferDataARB_remap_index }, + { 1511, BufferSubDataARB_remap_index }, + { 31605, DeleteBuffersARB_remap_index }, + { 34025, GenBuffersARB_remap_index }, + { 18293, GetBufferParameterivARB_remap_index }, + { 17366, GetBufferPointervARB_remap_index }, + { 1464, GetBufferSubDataARB_remap_index }, + { 31267, IsBufferARB_remap_index }, + { 27323, MapBufferARB_remap_index }, + { 32243, UnmapBufferARB_remap_index }, + { 312, BeginQueryARB_remap_index }, + { 20562, DeleteQueriesARB_remap_index }, + { 12528, EndQueryARB_remap_index }, + { 30038, GenQueriesARB_remap_index }, + { 1994, GetQueryObjectivARB_remap_index }, + { 17974, GetQueryObjectuivARB_remap_index }, + { 1792, GetQueryivARB_remap_index }, + { 20813, IsQueryARB_remap_index }, + { 8554, AttachObjectARB_remap_index }, + { 19361, CompileShaderARB_remap_index }, + { 3281, CreateProgramObjectARB_remap_index }, + { 7104, CreateShaderObjectARB_remap_index }, + { 14934, DeleteObjectARB_remap_index }, + { 24918, DetachObjectARB_remap_index }, + { 12273, GetActiveUniformARB_remap_index }, + { 9752, GetAttachedObjectsARB_remap_index }, + { 10059, GetHandleARB_remap_index }, + { 33775, GetInfoLogARB_remap_index }, + { 32910, GetObjectParameterfvARB_remap_index }, + { 28350, GetObjectParameterivARB_remap_index }, + { 29796, GetShaderSourceARB_remap_index }, + { 29020, GetUniformLocationARB_remap_index }, + { 24701, GetUniformfvARB_remap_index }, + { 13061, GetUniformivARB_remap_index }, + { 20951, LinkProgramARB_remap_index }, + { 21009, ShaderSourceARB_remap_index }, + { 7826, Uniform1fARB_remap_index }, + { 30683, Uniform1fvARB_remap_index }, + { 22916, Uniform1iARB_remap_index }, + { 21806, Uniform1ivARB_remap_index }, + { 2246, Uniform2fARB_remap_index }, + { 14770, Uniform2fvARB_remap_index }, + { 27210, Uniform2iARB_remap_index }, + { 2366, Uniform2ivARB_remap_index }, + { 19471, Uniform3fARB_remap_index }, + { 9782, Uniform3fvARB_remap_index }, + { 6715, Uniform3iARB_remap_index }, + { 17472, Uniform3ivARB_remap_index }, + { 20005, Uniform4fARB_remap_index }, + { 24565, Uniform4fvARB_remap_index }, + { 25827, Uniform4iARB_remap_index }, + { 21319, Uniform4ivARB_remap_index }, + { 8606, UniformMatrix2fvARB_remap_index }, { 17, UniformMatrix3fvARB_remap_index }, - { 2802, UniformMatrix4fvARB_remap_index }, - { 26151, UseProgramObjectARB_remap_index }, - { 15280, ValidateProgramARB_remap_index }, - { 22041, BindAttribLocationARB_remap_index }, - { 5197, GetActiveAttribARB_remap_index }, - { 17041, GetAttribLocationARB_remap_index }, - { 30331, DrawBuffersARB_remap_index }, - { 30164, ClampColorARB_remap_index }, - { 18456, DrawArraysInstancedARB_remap_index }, - { 6807, DrawElementsInstancedARB_remap_index }, - { 13622, RenderbufferStorageMultisample_remap_index }, - { 14093, FramebufferTextureARB_remap_index }, - { 26587, FramebufferTextureFaceARB_remap_index }, - { 24913, ProgramParameteriARB_remap_index }, - { 6327, VertexAttribDivisorARB_remap_index }, - { 19899, FlushMappedBufferRange_remap_index }, - { 28665, MapBufferRange_remap_index }, - { 28572, TexBufferARB_remap_index }, - { 16864, BindVertexArray_remap_index }, - { 15103, GenVertexArrays_remap_index }, - { 31127, CopyBufferSubData_remap_index }, - { 32062, ClientWaitSync_remap_index }, - { 2721, DeleteSync_remap_index }, - { 7524, FenceSync_remap_index }, - { 15651, GetInteger64v_remap_index }, - { 23378, GetSynciv_remap_index }, - { 30270, IsSync_remap_index }, - { 9731, WaitSync_remap_index }, - { 3951, DrawElementsBaseVertex_remap_index }, - { 31439, DrawRangeElementsBaseVertex_remap_index }, - { 27200, MultiDrawElementsBaseVertex_remap_index }, - { 33006, BlendEquationSeparateiARB_remap_index }, - { 18274, BlendEquationiARB_remap_index }, - { 13031, BlendFuncSeparateiARB_remap_index }, - { 10156, BlendFunciARB_remap_index }, - { 8499, BindSampler_remap_index }, - { 4357, DeleteSamplers_remap_index }, - { 20272, GenSamplers_remap_index }, - { 30202, GetSamplerParameterIiv_remap_index }, - { 19793, GetSamplerParameterIuiv_remap_index }, - { 5046, GetSamplerParameterfv_remap_index }, - { 26308, GetSamplerParameteriv_remap_index }, - { 14648, IsSampler_remap_index }, - { 16817, SamplerParameterIiv_remap_index }, - { 31478, SamplerParameterIuiv_remap_index }, - { 23051, SamplerParameterf_remap_index }, - { 16973, SamplerParameterfv_remap_index }, - { 23026, SamplerParameteri_remap_index }, - { 18650, SamplerParameteriv_remap_index }, - { 5393, BindTransformFeedback_remap_index }, - { 3386, DeleteTransformFeedbacks_remap_index }, - { 6779, DrawTransformFeedback_remap_index }, - { 9950, GenTransformFeedbacks_remap_index }, - { 29133, IsTransformFeedback_remap_index }, - { 26780, PauseTransformFeedback_remap_index }, - { 5856, ResumeTransformFeedback_remap_index }, - { 22361, ClearDepthf_remap_index }, - { 7083, DepthRangef_remap_index }, - { 14915, GetShaderPrecisionFormat_remap_index }, - { 10344, ReleaseShaderCompiler_remap_index }, - { 11314, ShaderBinary_remap_index }, - { 1004, GetGraphicsResetStatusARB_remap_index }, - { 25478, GetnColorTableARB_remap_index }, - { 8268, GetnCompressedTexImageARB_remap_index }, - { 4090, GetnConvolutionFilterARB_remap_index }, - { 16204, GetnHistogramARB_remap_index }, - { 24237, GetnMapdvARB_remap_index }, - { 22793, GetnMapfvARB_remap_index }, - { 2264, GetnMapivARB_remap_index }, - { 17622, GetnMinmaxARB_remap_index }, - { 4671, GetnPixelMapfvARB_remap_index }, - { 19670, GetnPixelMapuivARB_remap_index }, - { 3111, GetnPixelMapusvARB_remap_index }, - { 1383, GetnPolygonStippleARB_remap_index }, - { 21826, GetnSeparableFilterARB_remap_index }, - { 33582, GetnTexImageARB_remap_index }, - { 19079, GetnUniformdvARB_remap_index }, - { 4743, GetnUniformfvARB_remap_index }, - { 10199, GetnUniformivARB_remap_index }, - { 23227, GetnUniformuivARB_remap_index }, - { 3025, ReadnPixelsARB_remap_index }, - { 5724, PolygonOffsetEXT_remap_index }, - { 24000, GetPixelTexGenParameterfvSGIS_remap_index }, - { 4621, GetPixelTexGenParameterivSGIS_remap_index }, - { 23733, PixelTexGenParameterfSGIS_remap_index }, - { 663, PixelTexGenParameterfvSGIS_remap_index }, - { 13130, PixelTexGenParameteriSGIS_remap_index }, - { 14235, PixelTexGenParameterivSGIS_remap_index }, - { 18775, SampleMaskSGIS_remap_index }, - { 20599, SamplePatternSGIS_remap_index }, - { 27129, ColorPointerEXT_remap_index }, - { 18068, EdgeFlagPointerEXT_remap_index }, - { 6400, IndexPointerEXT_remap_index }, - { 6480, NormalPointerEXT_remap_index }, - { 16272, TexCoordPointerEXT_remap_index }, - { 7313, VertexPointerEXT_remap_index }, - { 3753, PointParameterfEXT_remap_index }, - { 8164, PointParameterfvEXT_remap_index }, - { 32899, LockArraysEXT_remap_index }, - { 15344, UnlockArraysEXT_remap_index }, - { 1291, SecondaryColor3bEXT_remap_index }, - { 8357, SecondaryColor3bvEXT_remap_index }, - { 10824, SecondaryColor3dEXT_remap_index }, - { 26357, SecondaryColor3dvEXT_remap_index }, - { 28999, SecondaryColor3fEXT_remap_index }, - { 18812, SecondaryColor3fvEXT_remap_index }, - { 509, SecondaryColor3iEXT_remap_index }, - { 16582, SecondaryColor3ivEXT_remap_index }, - { 10432, SecondaryColor3sEXT_remap_index }, - { 31726, SecondaryColor3svEXT_remap_index }, - { 28064, SecondaryColor3ubEXT_remap_index }, - { 21932, SecondaryColor3ubvEXT_remap_index }, - { 13372, SecondaryColor3uiEXT_remap_index }, - { 23620, SecondaryColor3uivEXT_remap_index }, - { 26637, SecondaryColor3usEXT_remap_index }, - { 13445, SecondaryColor3usvEXT_remap_index }, - { 12183, SecondaryColorPointerEXT_remap_index }, - { 26451, MultiDrawArraysEXT_remap_index }, - { 21587, MultiDrawElementsEXT_remap_index }, - { 21782, FogCoordPointerEXT_remap_index }, - { 4794, FogCoorddEXT_remap_index }, - { 32300, FogCoorddvEXT_remap_index }, - { 4911, FogCoordfEXT_remap_index }, - { 27987, FogCoordfvEXT_remap_index }, - { 12283, PixelTexGenSGIX_remap_index }, - { 28592, BlendFuncSeparateEXT_remap_index }, - { 7225, FlushVertexArrayRangeNV_remap_index }, - { 5673, VertexArrayRangeNV_remap_index }, - { 29064, CombinerInputNV_remap_index }, - { 2207, CombinerOutputNV_remap_index }, - { 31879, CombinerParameterfNV_remap_index }, - { 5547, CombinerParameterfvNV_remap_index }, - { 23076, CombinerParameteriNV_remap_index }, - { 33382, CombinerParameterivNV_remap_index }, - { 7601, FinalCombinerInputNV_remap_index }, - { 1648, GetCombinerInputParameterfvNV_remap_index }, - { 33219, GetCombinerInputParameterivNV_remap_index }, - { 216, GetCombinerOutputParameterfvNV_remap_index }, - { 14196, GetCombinerOutputParameterivNV_remap_index }, - { 6987, GetFinalCombinerInputParameterfvNV_remap_index }, - { 25545, GetFinalCombinerInputParameterivNV_remap_index }, - { 13009, ResizeBuffersMESA_remap_index }, - { 11509, WindowPos2dMESA_remap_index }, - { 1084, WindowPos2dvMESA_remap_index }, - { 34286, WindowPos2fMESA_remap_index }, - { 8302, WindowPos2fvMESA_remap_index }, - { 18722, WindowPos2iMESA_remap_index }, - { 21072, WindowPos2ivMESA_remap_index }, - { 21686, WindowPos2sMESA_remap_index }, - { 6069, WindowPos2svMESA_remap_index }, - { 8093, WindowPos3dMESA_remap_index }, - { 14443, WindowPos3dvMESA_remap_index }, - { 555, WindowPos3fMESA_remap_index }, - { 15405, WindowPos3fvMESA_remap_index }, - { 24806, WindowPos3iMESA_remap_index }, - { 31072, WindowPos3ivMESA_remap_index }, - { 19462, WindowPos3sMESA_remap_index }, - { 32556, WindowPos3svMESA_remap_index }, - { 11460, WindowPos4dMESA_remap_index }, - { 17498, WindowPos4dvMESA_remap_index }, - { 14402, WindowPos4fMESA_remap_index }, - { 31633, WindowPos4fvMESA_remap_index }, - { 31225, WindowPos4iMESA_remap_index }, - { 12812, WindowPos4ivMESA_remap_index }, - { 19646, WindowPos4sMESA_remap_index }, - { 3337, WindowPos4svMESA_remap_index }, - { 27695, MultiModeDrawArraysIBM_remap_index }, - { 29839, MultiModeDrawElementsIBM_remap_index }, - { 12587, DeleteFencesNV_remap_index }, - { 28911, FinishFenceNV_remap_index }, - { 3875, GenFencesNV_remap_index }, - { 17478, GetFenceivNV_remap_index }, - { 8570, IsFenceNV_remap_index }, - { 14123, SetFenceNV_remap_index }, - { 4434, TestFenceNV_remap_index }, - { 32527, AreProgramsResidentNV_remap_index }, - { 31921, BindProgramNV_remap_index }, - { 26720, DeleteProgramsNV_remap_index }, - { 22150, ExecuteProgramNV_remap_index }, - { 34179, GenProgramsNV_remap_index }, - { 24105, GetProgramParameterdvNV_remap_index }, - { 10886, GetProgramParameterfvNV_remap_index }, - { 27103, GetProgramStringNV_remap_index }, - { 25183, GetProgramivNV_remap_index }, - { 24360, GetTrackMatrixivNV_remap_index }, - { 26897, GetVertexAttribPointervNV_remap_index }, - { 10527, GetVertexAttribdvNV_remap_index }, - { 9626, GetVertexAttribfvNV_remap_index }, - { 19025, GetVertexAttribivNV_remap_index }, - { 19929, IsProgramNV_remap_index }, - { 9709, LoadProgramNV_remap_index }, - { 28688, ProgramParameters4dvNV_remap_index }, - { 25113, ProgramParameters4fvNV_remap_index }, - { 21376, RequestResidentProgramsNV_remap_index }, - { 31417, TrackMatrixNV_remap_index }, - { 33196, VertexAttrib1dNV_remap_index }, - { 14034, VertexAttrib1dvNV_remap_index }, - { 29345, VertexAttrib1fNV_remap_index }, - { 2527, VertexAttrib1fvNV_remap_index }, - { 31690, VertexAttrib1sNV_remap_index }, - { 15478, VertexAttrib1svNV_remap_index }, - { 5102, VertexAttrib2dNV_remap_index }, - { 13927, VertexAttrib2dvNV_remap_index }, - { 20831, VertexAttrib2fNV_remap_index }, - { 13493, VertexAttrib2fvNV_remap_index }, - { 6281, VertexAttrib2sNV_remap_index }, - { 19516, VertexAttrib2svNV_remap_index }, - { 11657, VertexAttrib3dNV_remap_index }, - { 32777, VertexAttrib3dvNV_remap_index }, - { 10698, VertexAttrib3fNV_remap_index }, - { 25505, VertexAttrib3fvNV_remap_index }, - { 22869, VertexAttrib3sNV_remap_index }, - { 24387, VertexAttrib3svNV_remap_index }, - { 29813, VertexAttrib4dNV_remap_index }, - { 34216, VertexAttrib4dvNV_remap_index }, - { 5487, VertexAttrib4fNV_remap_index }, - { 9759, VertexAttrib4fvNV_remap_index }, - { 27579, VertexAttrib4sNV_remap_index }, - { 1461, VertexAttrib4svNV_remap_index }, - { 5260, VertexAttrib4ubNV_remap_index }, - { 817, VertexAttrib4ubvNV_remap_index }, - { 22330, VertexAttribPointerNV_remap_index }, - { 2379, VertexAttribs1dvNV_remap_index }, - { 26985, VertexAttribs1fvNV_remap_index }, - { 34016, VertexAttribs1svNV_remap_index }, - { 10723, VertexAttribs2dvNV_remap_index }, - { 26112, VertexAttribs2fvNV_remap_index }, - { 18094, VertexAttribs2svNV_remap_index }, - { 5575, VertexAttribs3dvNV_remap_index }, - { 2238, VertexAttribs3fvNV_remap_index }, - { 30820, VertexAttribs3svNV_remap_index }, - { 27669, VertexAttribs4dvNV_remap_index }, - { 5647, VertexAttribs4fvNV_remap_index }, - { 33803, VertexAttribs4svNV_remap_index }, - { 30568, VertexAttribs4ubvNV_remap_index }, - { 27771, GetTexBumpParameterfvATI_remap_index }, - { 34057, GetTexBumpParameterivATI_remap_index }, - { 19160, TexBumpParameterfvATI_remap_index }, - { 21247, TexBumpParameterivATI_remap_index }, - { 16024, AlphaFragmentOp1ATI_remap_index }, - { 26403, AlphaFragmentOp2ATI_remap_index }, - { 25421, AlphaFragmentOp3ATI_remap_index }, - { 30747, BeginFragmentShaderATI_remap_index }, - { 32120, BindFragmentShaderATI_remap_index }, - { 24516, ColorFragmentOp1ATI_remap_index }, - { 4549, ColorFragmentOp2ATI_remap_index }, - { 32422, ColorFragmentOp3ATI_remap_index }, - { 5813, DeleteFragmentShaderATI_remap_index }, - { 34240, EndFragmentShaderATI_remap_index }, - { 33410, GenFragmentShadersATI_remap_index }, - { 26266, PassTexCoordATI_remap_index }, - { 7293, SampleMapATI_remap_index }, - { 27882, SetFragmentShaderConstantATI_remap_index }, - { 402, PointParameteriNV_remap_index }, - { 14604, PointParameterivNV_remap_index }, - { 29652, ActiveStencilFaceEXT_remap_index }, - { 28328, BindVertexArrayAPPLE_remap_index }, - { 2849, DeleteVertexArraysAPPLE_remap_index }, - { 18561, GenVertexArraysAPPLE_remap_index }, - { 24170, IsVertexArrayAPPLE_remap_index }, - { 858, GetProgramNamedParameterdvNV_remap_index }, - { 3716, GetProgramNamedParameterfvNV_remap_index }, - { 27802, ProgramNamedParameter4dNV_remap_index }, - { 14978, ProgramNamedParameter4dvNV_remap_index }, - { 9242, ProgramNamedParameter4fNV_remap_index }, - { 12148, ProgramNamedParameter4fvNV_remap_index }, - { 17409, PrimitiveRestartIndexNV_remap_index }, - { 31610, PrimitiveRestartNV_remap_index }, - { 25092, DepthBoundsEXT_remap_index }, - { 1183, BlendEquationSeparateEXT_remap_index }, - { 15179, BindFramebufferEXT_remap_index }, - { 26496, BindRenderbufferEXT_remap_index }, - { 10006, CheckFramebufferStatusEXT_remap_index }, - { 23421, DeleteFramebuffersEXT_remap_index }, - { 32679, DeleteRenderbuffersEXT_remap_index }, - { 13951, FramebufferRenderbufferEXT_remap_index }, - { 14140, FramebufferTexture1DEXT_remap_index }, - { 11942, FramebufferTexture2DEXT_remap_index }, - { 11562, FramebufferTexture3DEXT_remap_index }, - { 24036, GenFramebuffersEXT_remap_index }, - { 17959, GenRenderbuffersEXT_remap_index }, - { 7029, GenerateMipmapEXT_remap_index }, - { 22423, GetFramebufferAttachmentParameterivEXT_remap_index }, - { 33316, GetRenderbufferParameterivEXT_remap_index }, - { 21127, IsFramebufferEXT_remap_index }, - { 34139, IsRenderbufferEXT_remap_index }, - { 8517, RenderbufferStorageEXT_remap_index }, - { 734, BlitFramebufferEXT_remap_index }, - { 14764, BufferParameteriAPPLE_remap_index }, - { 19961, FlushMappedBufferRangeAPPLE_remap_index }, - { 1906, BindFragDataLocationEXT_remap_index }, - { 25205, GetFragDataLocationEXT_remap_index }, - { 11001, GetUniformuivEXT_remap_index }, - { 33490, GetVertexAttribIivEXT_remap_index }, - { 28859, GetVertexAttribIuivEXT_remap_index }, - { 12420, Uniform1uiEXT_remap_index }, - { 28773, Uniform1uivEXT_remap_index }, - { 22965, Uniform2uiEXT_remap_index }, - { 4513, Uniform2uivEXT_remap_index }, - { 30092, Uniform3uiEXT_remap_index }, - { 15125, Uniform3uivEXT_remap_index }, - { 3640, Uniform4uiEXT_remap_index }, - { 9018, Uniform4uivEXT_remap_index }, - { 18940, VertexAttribI1iEXT_remap_index }, - { 5287, VertexAttribI1ivEXT_remap_index }, - { 2628, VertexAttribI1uiEXT_remap_index }, - { 13221, VertexAttribI1uivEXT_remap_index }, + { 2763, UniformMatrix4fvARB_remap_index }, + { 26305, UseProgramObjectARB_remap_index }, + { 15320, ValidateProgramARB_remap_index }, + { 22195, BindAttribLocationARB_remap_index }, + { 5124, GetActiveAttribARB_remap_index }, + { 17086, GetAttribLocationARB_remap_index }, + { 30401, DrawBuffersARB_remap_index }, + { 30234, ClampColorARB_remap_index }, + { 18568, DrawArraysInstancedARB_remap_index }, + { 6776, DrawElementsInstancedARB_remap_index }, + { 13591, RenderbufferStorageMultisample_remap_index }, + { 14062, FramebufferTextureARB_remap_index }, + { 26741, FramebufferTextureFaceARB_remap_index }, + { 25067, ProgramParameteriARB_remap_index }, + { 6296, VertexAttribDivisorARB_remap_index }, + { 20053, FlushMappedBufferRange_remap_index }, + { 28787, MapBufferRange_remap_index }, + { 28694, TexBufferARB_remap_index }, + { 16904, BindVertexArray_remap_index }, + { 15143, GenVertexArrays_remap_index }, + { 31197, CopyBufferSubData_remap_index }, + { 32132, ClientWaitSync_remap_index }, + { 2682, DeleteSync_remap_index }, + { 7493, FenceSync_remap_index }, + { 15691, GetInteger64v_remap_index }, + { 23532, GetSynciv_remap_index }, + { 30340, IsSync_remap_index }, + { 9700, WaitSync_remap_index }, + { 3873, DrawElementsBaseVertex_remap_index }, + { 19216, DrawElementsInstancedBaseVertex_remap_index }, + { 31509, DrawRangeElementsBaseVertex_remap_index }, + { 27354, MultiDrawElementsBaseVertex_remap_index }, + { 17152, BlendEquationSeparateiARB_remap_index }, + { 18386, BlendEquationiARB_remap_index }, + { 13000, BlendFuncSeparateiARB_remap_index }, + { 10125, BlendFunciARB_remap_index }, + { 8468, BindSampler_remap_index }, + { 4232, DeleteSamplers_remap_index }, + { 20426, GenSamplers_remap_index }, + { 30272, GetSamplerParameterIiv_remap_index }, + { 19947, GetSamplerParameterIuiv_remap_index }, + { 4973, GetSamplerParameterfv_remap_index }, + { 26462, GetSamplerParameteriv_remap_index }, + { 14688, IsSampler_remap_index }, + { 16857, SamplerParameterIiv_remap_index }, + { 31548, SamplerParameterIuiv_remap_index }, + { 23205, SamplerParameterf_remap_index }, + { 17013, SamplerParameterfv_remap_index }, + { 23180, SamplerParameteri_remap_index }, + { 18762, SamplerParameteriv_remap_index }, + { 5320, BindTransformFeedback_remap_index }, + { 3308, DeleteTransformFeedbacks_remap_index }, + { 6748, DrawTransformFeedback_remap_index }, + { 9919, GenTransformFeedbacks_remap_index }, + { 29203, IsTransformFeedback_remap_index }, + { 26934, PauseTransformFeedback_remap_index }, + { 5783, ResumeTransformFeedback_remap_index }, + { 22515, ClearDepthf_remap_index }, + { 7052, DepthRangef_remap_index }, + { 14955, GetShaderPrecisionFormat_remap_index }, + { 10313, ReleaseShaderCompiler_remap_index }, + { 11283, ShaderBinary_remap_index }, + { 965, GetGraphicsResetStatusARB_remap_index }, + { 25632, GetnColorTableARB_remap_index }, + { 8237, GetnCompressedTexImageARB_remap_index }, + { 3965, GetnConvolutionFilterARB_remap_index }, + { 16244, GetnHistogramARB_remap_index }, + { 24391, GetnMapdvARB_remap_index }, + { 22947, GetnMapfvARB_remap_index }, + { 2225, GetnMapivARB_remap_index }, + { 17734, GetnMinmaxARB_remap_index }, + { 4598, GetnPixelMapfvARB_remap_index }, + { 19824, GetnPixelMapuivARB_remap_index }, + { 3033, GetnPixelMapusvARB_remap_index }, + { 1344, GetnPolygonStippleARB_remap_index }, + { 21980, GetnSeparableFilterARB_remap_index }, + { 33624, GetnTexImageARB_remap_index }, + { 19191, GetnUniformdvARB_remap_index }, + { 4670, GetnUniformfvARB_remap_index }, + { 10168, GetnUniformivARB_remap_index }, + { 23381, GetnUniformuivARB_remap_index }, + { 2947, ReadnPixelsARB_remap_index }, + { 5651, PolygonOffsetEXT_remap_index }, + { 24154, GetPixelTexGenParameterfvSGIS_remap_index }, + { 4548, GetPixelTexGenParameterivSGIS_remap_index }, + { 23887, PixelTexGenParameterfSGIS_remap_index }, + { 624, PixelTexGenParameterfvSGIS_remap_index }, + { 13099, PixelTexGenParameteriSGIS_remap_index }, + { 14236, PixelTexGenParameterivSGIS_remap_index }, + { 18887, SampleMaskSGIS_remap_index }, + { 20753, SamplePatternSGIS_remap_index }, + { 27283, ColorPointerEXT_remap_index }, + { 18180, EdgeFlagPointerEXT_remap_index }, + { 6369, IndexPointerEXT_remap_index }, + { 6449, NormalPointerEXT_remap_index }, + { 16312, TexCoordPointerEXT_remap_index }, + { 7282, VertexPointerEXT_remap_index }, + { 3675, PointParameterfEXT_remap_index }, + { 8133, PointParameterfvEXT_remap_index }, + { 33008, LockArraysEXT_remap_index }, + { 15384, UnlockArraysEXT_remap_index }, + { 1252, SecondaryColor3bEXT_remap_index }, + { 8326, SecondaryColor3bvEXT_remap_index }, + { 10793, SecondaryColor3dEXT_remap_index }, + { 26511, SecondaryColor3dvEXT_remap_index }, + { 29069, SecondaryColor3fEXT_remap_index }, + { 18924, SecondaryColor3fvEXT_remap_index }, + { 470, SecondaryColor3iEXT_remap_index }, + { 16622, SecondaryColor3ivEXT_remap_index }, + { 10401, SecondaryColor3sEXT_remap_index }, + { 31796, SecondaryColor3svEXT_remap_index }, + { 28186, SecondaryColor3ubEXT_remap_index }, + { 22086, SecondaryColor3ubvEXT_remap_index }, + { 13341, SecondaryColor3uiEXT_remap_index }, + { 23774, SecondaryColor3uivEXT_remap_index }, + { 26791, SecondaryColor3usEXT_remap_index }, + { 13414, SecondaryColor3usvEXT_remap_index }, + { 12152, SecondaryColorPointerEXT_remap_index }, + { 26605, MultiDrawArraysEXT_remap_index }, + { 21741, MultiDrawElementsEXT_remap_index }, + { 21936, FogCoordPointerEXT_remap_index }, + { 4721, FogCoorddEXT_remap_index }, + { 32409, FogCoorddvEXT_remap_index }, + { 4838, FogCoordfEXT_remap_index }, + { 28109, FogCoordfvEXT_remap_index }, + { 12252, PixelTexGenSGIX_remap_index }, + { 28714, BlendFuncSeparateEXT_remap_index }, + { 7194, FlushVertexArrayRangeNV_remap_index }, + { 5600, VertexArrayRangeNV_remap_index }, + { 29134, CombinerInputNV_remap_index }, + { 2168, CombinerOutputNV_remap_index }, + { 31949, CombinerParameterfNV_remap_index }, + { 5474, CombinerParameterfvNV_remap_index }, + { 23230, CombinerParameteriNV_remap_index }, + { 33424, CombinerParameterivNV_remap_index }, + { 7570, FinalCombinerInputNV_remap_index }, + { 1609, GetCombinerInputParameterfvNV_remap_index }, + { 33261, GetCombinerInputParameterivNV_remap_index }, + { 14337, GetCombinerOutputParameterfvNV_remap_index }, + { 14165, GetCombinerOutputParameterivNV_remap_index }, + { 6956, GetFinalCombinerInputParameterfvNV_remap_index }, + { 25699, GetFinalCombinerInputParameterivNV_remap_index }, + { 12978, ResizeBuffersMESA_remap_index }, + { 11478, WindowPos2dMESA_remap_index }, + { 1045, WindowPos2dvMESA_remap_index }, + { 34328, WindowPos2fMESA_remap_index }, + { 8271, WindowPos2fvMESA_remap_index }, + { 18834, WindowPos2iMESA_remap_index }, + { 21226, WindowPos2ivMESA_remap_index }, + { 21840, WindowPos2sMESA_remap_index }, + { 6038, WindowPos2svMESA_remap_index }, + { 8062, WindowPos3dMESA_remap_index }, + { 14483, WindowPos3dvMESA_remap_index }, + { 516, WindowPos3fMESA_remap_index }, + { 15445, WindowPos3fvMESA_remap_index }, + { 24960, WindowPos3iMESA_remap_index }, + { 31142, WindowPos3ivMESA_remap_index }, + { 19616, WindowPos3sMESA_remap_index }, + { 32665, WindowPos3svMESA_remap_index }, + { 11429, WindowPos4dMESA_remap_index }, + { 17610, WindowPos4dvMESA_remap_index }, + { 14442, WindowPos4fMESA_remap_index }, + { 31703, WindowPos4fvMESA_remap_index }, + { 31295, WindowPos4iMESA_remap_index }, + { 12781, WindowPos4ivMESA_remap_index }, + { 19800, WindowPos4sMESA_remap_index }, + { 3259, WindowPos4svMESA_remap_index }, + { 14204, MultiModeDrawArraysIBM_remap_index }, + { 29909, MultiModeDrawElementsIBM_remap_index }, + { 12556, DeleteFencesNV_remap_index }, + { 28981, FinishFenceNV_remap_index }, + { 3797, GenFencesNV_remap_index }, + { 17590, GetFenceivNV_remap_index }, + { 8539, IsFenceNV_remap_index }, + { 14092, SetFenceNV_remap_index }, + { 4309, TestFenceNV_remap_index }, + { 32636, AreProgramsResidentNV_remap_index }, + { 31991, BindProgramNV_remap_index }, + { 26874, DeleteProgramsNV_remap_index }, + { 22304, ExecuteProgramNV_remap_index }, + { 34221, GenProgramsNV_remap_index }, + { 24259, GetProgramParameterdvNV_remap_index }, + { 10855, GetProgramParameterfvNV_remap_index }, + { 27257, GetProgramStringNV_remap_index }, + { 25337, GetProgramivNV_remap_index }, + { 24514, GetTrackMatrixivNV_remap_index }, + { 27051, GetVertexAttribPointervNV_remap_index }, + { 10496, GetVertexAttribdvNV_remap_index }, + { 9595, GetVertexAttribfvNV_remap_index }, + { 19137, GetVertexAttribivNV_remap_index }, + { 20083, IsProgramNV_remap_index }, + { 9678, LoadProgramNV_remap_index }, + { 28810, ProgramParameters4dvNV_remap_index }, + { 25267, ProgramParameters4fvNV_remap_index }, + { 21530, RequestResidentProgramsNV_remap_index }, + { 31487, TrackMatrixNV_remap_index }, + { 33238, VertexAttrib1dNV_remap_index }, + { 14003, VertexAttrib1dvNV_remap_index }, + { 29415, VertexAttrib1fNV_remap_index }, + { 2488, VertexAttrib1fvNV_remap_index }, + { 31760, VertexAttrib1sNV_remap_index }, + { 15518, VertexAttrib1svNV_remap_index }, + { 5029, VertexAttrib2dNV_remap_index }, + { 13896, VertexAttrib2dvNV_remap_index }, + { 20985, VertexAttrib2fNV_remap_index }, + { 13462, VertexAttrib2fvNV_remap_index }, + { 6250, VertexAttrib2sNV_remap_index }, + { 19670, VertexAttrib2svNV_remap_index }, + { 11626, VertexAttrib3dNV_remap_index }, + { 32886, VertexAttrib3dvNV_remap_index }, + { 10667, VertexAttrib3fNV_remap_index }, + { 25659, VertexAttrib3fvNV_remap_index }, + { 23023, VertexAttrib3sNV_remap_index }, + { 24541, VertexAttrib3svNV_remap_index }, + { 29883, VertexAttrib4dNV_remap_index }, + { 34258, VertexAttrib4dvNV_remap_index }, + { 5414, VertexAttrib4fNV_remap_index }, + { 9728, VertexAttrib4fvNV_remap_index }, + { 27733, VertexAttrib4sNV_remap_index }, + { 1422, VertexAttrib4svNV_remap_index }, + { 5187, VertexAttrib4ubNV_remap_index }, + { 778, VertexAttrib4ubvNV_remap_index }, + { 22484, VertexAttribPointerNV_remap_index }, + { 2340, VertexAttribs1dvNV_remap_index }, + { 27139, VertexAttribs1fvNV_remap_index }, + { 34058, VertexAttribs1svNV_remap_index }, + { 10692, VertexAttribs2dvNV_remap_index }, + { 26266, VertexAttribs2fvNV_remap_index }, + { 18206, VertexAttribs2svNV_remap_index }, + { 5502, VertexAttribs3dvNV_remap_index }, + { 2199, VertexAttribs3fvNV_remap_index }, + { 30890, VertexAttribs3svNV_remap_index }, + { 27823, VertexAttribs4dvNV_remap_index }, + { 5574, VertexAttribs4fvNV_remap_index }, + { 33845, VertexAttribs4svNV_remap_index }, + { 30638, VertexAttribs4ubvNV_remap_index }, + { 27893, GetTexBumpParameterfvATI_remap_index }, + { 34099, GetTexBumpParameterivATI_remap_index }, + { 19314, TexBumpParameterfvATI_remap_index }, + { 21401, TexBumpParameterivATI_remap_index }, + { 16064, AlphaFragmentOp1ATI_remap_index }, + { 26557, AlphaFragmentOp2ATI_remap_index }, + { 25575, AlphaFragmentOp3ATI_remap_index }, + { 30817, BeginFragmentShaderATI_remap_index }, + { 32190, BindFragmentShaderATI_remap_index }, + { 24670, ColorFragmentOp1ATI_remap_index }, + { 4476, ColorFragmentOp2ATI_remap_index }, + { 32531, ColorFragmentOp3ATI_remap_index }, + { 5740, DeleteFragmentShaderATI_remap_index }, + { 34282, EndFragmentShaderATI_remap_index }, + { 33452, GenFragmentShadersATI_remap_index }, + { 26420, PassTexCoordATI_remap_index }, + { 7262, SampleMapATI_remap_index }, + { 28004, SetFragmentShaderConstantATI_remap_index }, + { 363, PointParameteriNV_remap_index }, + { 14644, PointParameterivNV_remap_index }, + { 29722, ActiveStencilFaceEXT_remap_index }, + { 28450, BindVertexArrayAPPLE_remap_index }, + { 2810, DeleteVertexArraysAPPLE_remap_index }, + { 18673, GenVertexArraysAPPLE_remap_index }, + { 24324, IsVertexArrayAPPLE_remap_index }, + { 819, GetProgramNamedParameterdvNV_remap_index }, + { 3638, GetProgramNamedParameterfvNV_remap_index }, + { 27924, ProgramNamedParameter4dNV_remap_index }, + { 15018, ProgramNamedParameter4dvNV_remap_index }, + { 9211, ProgramNamedParameter4fNV_remap_index }, + { 12117, ProgramNamedParameter4fvNV_remap_index }, + { 17521, PrimitiveRestartIndexNV_remap_index }, + { 31680, PrimitiveRestartNV_remap_index }, + { 25246, DepthBoundsEXT_remap_index }, + { 1144, BlendEquationSeparateEXT_remap_index }, + { 15219, BindFramebufferEXT_remap_index }, + { 26650, BindRenderbufferEXT_remap_index }, + { 9975, CheckFramebufferStatusEXT_remap_index }, + { 23575, DeleteFramebuffersEXT_remap_index }, + { 32788, DeleteRenderbuffersEXT_remap_index }, + { 13920, FramebufferRenderbufferEXT_remap_index }, + { 14109, FramebufferTexture1DEXT_remap_index }, + { 11911, FramebufferTexture2DEXT_remap_index }, + { 11531, FramebufferTexture3DEXT_remap_index }, + { 24190, GenFramebuffersEXT_remap_index }, + { 18071, GenRenderbuffersEXT_remap_index }, + { 6998, GenerateMipmapEXT_remap_index }, + { 22577, GetFramebufferAttachmentParameterivEXT_remap_index }, + { 33358, GetRenderbufferParameterivEXT_remap_index }, + { 21281, IsFramebufferEXT_remap_index }, + { 34181, IsRenderbufferEXT_remap_index }, + { 8486, RenderbufferStorageEXT_remap_index }, + { 695, BlitFramebufferEXT_remap_index }, + { 14804, BufferParameteriAPPLE_remap_index }, + { 20115, FlushMappedBufferRangeAPPLE_remap_index }, + { 1867, BindFragDataLocationEXT_remap_index }, + { 25359, GetFragDataLocationEXT_remap_index }, + { 10970, GetUniformuivEXT_remap_index }, + { 33532, GetVertexAttribIivEXT_remap_index }, + { 4326, GetVertexAttribIuivEXT_remap_index }, + { 12389, Uniform1uiEXT_remap_index }, + { 28895, Uniform1uivEXT_remap_index }, + { 23119, Uniform2uiEXT_remap_index }, + { 4440, Uniform2uivEXT_remap_index }, + { 30162, Uniform3uiEXT_remap_index }, + { 15165, Uniform3uivEXT_remap_index }, + { 3562, Uniform4uiEXT_remap_index }, + { 8987, Uniform4uivEXT_remap_index }, + { 19052, VertexAttribI1iEXT_remap_index }, + { 5214, VertexAttribI1ivEXT_remap_index }, + { 2589, VertexAttribI1uiEXT_remap_index }, + { 13190, VertexAttribI1uivEXT_remap_index }, { 81, VertexAttribI2iEXT_remap_index }, - { 24628, VertexAttribI2ivEXT_remap_index }, - { 5601, VertexAttribI2uiEXT_remap_index }, - { 4956, VertexAttribI2uivEXT_remap_index }, - { 27371, VertexAttribI3iEXT_remap_index }, - { 25830, VertexAttribI3ivEXT_remap_index }, - { 3494, VertexAttribI3uiEXT_remap_index }, - { 31313, VertexAttribI3uivEXT_remap_index }, - { 22674, VertexAttribI4bvEXT_remap_index }, - { 15057, VertexAttribI4iEXT_remap_index }, - { 32948, VertexAttribI4ivEXT_remap_index }, - { 13854, VertexAttribI4svEXT_remap_index }, - { 4043, VertexAttribI4ubvEXT_remap_index }, - { 16645, VertexAttribI4uiEXT_remap_index }, - { 5747, VertexAttribI4uivEXT_remap_index }, - { 11725, VertexAttribI4usvEXT_remap_index }, - { 19104, VertexAttribIPointerEXT_remap_index }, - { 3181, FramebufferTextureLayerEXT_remap_index }, - { 16999, ColorMaskIndexedEXT_remap_index }, - { 19540, DisableIndexedEXT_remap_index }, - { 27416, EnableIndexedEXT_remap_index }, - { 22378, GetBooleanIndexedvEXT_remap_index }, - { 11336, GetIntegerIndexedvEXT_remap_index }, - { 23497, IsEnabledIndexedEXT_remap_index }, - { 23397, ClearColorIiEXT_remap_index }, - { 3590, ClearColorIuiEXT_remap_index }, - { 10224, GetTexParameterIivEXT_remap_index }, - { 6229, GetTexParameterIuivEXT_remap_index }, - { 3137, TexParameterIivEXT_remap_index }, - { 27238, TexParameterIuivEXT_remap_index }, - { 4824, BeginConditionalRenderNV_remap_index }, - { 26216, EndConditionalRenderNV_remap_index }, - { 9653, BeginTransformFeedbackEXT_remap_index }, - { 19575, BindBufferBaseEXT_remap_index }, - { 19434, BindBufferOffsetEXT_remap_index }, - { 12637, BindBufferRangeEXT_remap_index }, - { 14679, EndTransformFeedbackEXT_remap_index }, - { 11199, GetTransformFeedbackVaryingEXT_remap_index }, - { 21432, TransformFeedbackVaryingsEXT_remap_index }, - { 30469, ProvokingVertexEXT_remap_index }, - { 11147, GetTexParameterPointervAPPLE_remap_index }, - { 5349, TextureRangeAPPLE_remap_index }, - { 12014, GetObjectParameterivAPPLE_remap_index }, - { 20554, ObjectPurgeableAPPLE_remap_index }, - { 6023, ObjectUnpurgeableAPPLE_remap_index }, - { 17781, ActiveProgramEXT_remap_index }, - { 17752, CreateShaderProgramEXT_remap_index }, - { 29437, UseShaderProgramEXT_remap_index }, - { 16952, TextureBarrierNV_remap_index }, - { 29678, StencilFuncSeparateATI_remap_index }, - { 5936, ProgramEnvParameters4fvEXT_remap_index }, - { 17646, ProgramLocalParameters4fvEXT_remap_index }, - { 14532, GetQueryObjecti64vEXT_remap_index }, - { 10749, GetQueryObjectui64vEXT_remap_index }, - { 24585, EGLImageTargetRenderbufferStorageOES_remap_index }, - { 12526, EGLImageTargetTexture2DOES_remap_index }, + { 24782, VertexAttribI2ivEXT_remap_index }, + { 5528, VertexAttribI2uiEXT_remap_index }, + { 4883, VertexAttribI2uivEXT_remap_index }, + { 27525, VertexAttribI3iEXT_remap_index }, + { 25984, VertexAttribI3ivEXT_remap_index }, + { 3416, VertexAttribI3uiEXT_remap_index }, + { 31383, VertexAttribI3uivEXT_remap_index }, + { 22828, VertexAttribI4bvEXT_remap_index }, + { 15097, VertexAttribI4iEXT_remap_index }, + { 33057, VertexAttribI4ivEXT_remap_index }, + { 13823, VertexAttribI4svEXT_remap_index }, + { 17039, VertexAttribI4ubvEXT_remap_index }, + { 16685, VertexAttribI4uiEXT_remap_index }, + { 5674, VertexAttribI4uivEXT_remap_index }, + { 11694, VertexAttribI4usvEXT_remap_index }, + { 19258, VertexAttribIPointerEXT_remap_index }, + { 3103, FramebufferTextureLayerEXT_remap_index }, + { 5950, ColorMaskIndexedEXT_remap_index }, + { 19694, DisableIndexedEXT_remap_index }, + { 27570, EnableIndexedEXT_remap_index }, + { 22532, GetBooleanIndexedvEXT_remap_index }, + { 11305, GetIntegerIndexedvEXT_remap_index }, + { 23651, IsEnabledIndexedEXT_remap_index }, + { 23551, ClearColorIiEXT_remap_index }, + { 3512, ClearColorIuiEXT_remap_index }, + { 10193, GetTexParameterIivEXT_remap_index }, + { 6198, GetTexParameterIuivEXT_remap_index }, + { 3059, TexParameterIivEXT_remap_index }, + { 27392, TexParameterIuivEXT_remap_index }, + { 4751, BeginConditionalRenderNV_remap_index }, + { 26370, EndConditionalRenderNV_remap_index }, + { 9622, BeginTransformFeedbackEXT_remap_index }, + { 19729, BindBufferBaseEXT_remap_index }, + { 19588, BindBufferOffsetEXT_remap_index }, + { 12606, BindBufferRangeEXT_remap_index }, + { 14719, EndTransformFeedbackEXT_remap_index }, + { 11168, GetTransformFeedbackVaryingEXT_remap_index }, + { 21586, TransformFeedbackVaryingsEXT_remap_index }, + { 30539, ProvokingVertexEXT_remap_index }, + { 11116, GetTexParameterPointervAPPLE_remap_index }, + { 5276, TextureRangeAPPLE_remap_index }, + { 11983, GetObjectParameterivAPPLE_remap_index }, + { 20708, ObjectPurgeableAPPLE_remap_index }, + { 5992, ObjectUnpurgeableAPPLE_remap_index }, + { 17893, ActiveProgramEXT_remap_index }, + { 17864, CreateShaderProgramEXT_remap_index }, + { 29507, UseShaderProgramEXT_remap_index }, + { 16992, TextureBarrierNV_remap_index }, + { 29748, StencilFuncSeparateATI_remap_index }, + { 5863, ProgramEnvParameters4fvEXT_remap_index }, + { 17758, ProgramLocalParameters4fvEXT_remap_index }, + { 14572, GetQueryObjecti64vEXT_remap_index }, + { 10718, GetQueryObjectui64vEXT_remap_index }, + { 24739, EGLImageTargetRenderbufferStorageOES_remap_index }, + { 12495, 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 */ - { 2767, _gloffset_BlendColor }, + { 2728, _gloffset_BlendColor }, /* from GL_EXT_blend_minmax */ - { 11619, _gloffset_BlendEquation }, + { 11588, _gloffset_BlendEquation }, /* from GL_EXT_color_subtable */ - { 17520, _gloffset_ColorSubTable }, - { 32611, _gloffset_CopyColorSubTable }, + { 17632, _gloffset_ColorSubTable }, + { 32720, _gloffset_CopyColorSubTable }, /* from GL_EXT_convolution */ - { 296, _gloffset_ConvolutionFilter1D }, - { 2566, _gloffset_CopyConvolutionFilter1D }, - { 4293, _gloffset_GetConvolutionParameteriv }, - { 8866, _gloffset_ConvolutionFilter2D }, - { 9068, _gloffset_ConvolutionParameteriv }, - { 9528, _gloffset_ConvolutionParameterfv }, - { 21275, _gloffset_GetSeparableFilter }, - { 24860, _gloffset_SeparableFilter2D }, - { 25723, _gloffset_ConvolutionParameteri }, - { 25891, _gloffset_ConvolutionParameterf }, - { 27605, _gloffset_GetConvolutionParameterfv }, - { 28494, _gloffset_GetConvolutionFilter }, - { 31009, _gloffset_CopyConvolutionFilter2D }, + { 257, _gloffset_ConvolutionFilter1D }, + { 2527, _gloffset_CopyConvolutionFilter1D }, + { 4168, _gloffset_GetConvolutionParameteriv }, + { 8835, _gloffset_ConvolutionFilter2D }, + { 9037, _gloffset_ConvolutionParameteriv }, + { 9497, _gloffset_ConvolutionParameterfv }, + { 21429, _gloffset_GetSeparableFilter }, + { 25014, _gloffset_SeparableFilter2D }, + { 25877, _gloffset_ConvolutionParameteri }, + { 26045, _gloffset_ConvolutionParameterf }, + { 27759, _gloffset_GetConvolutionParameterfv }, + { 28616, _gloffset_GetConvolutionFilter }, + { 31079, _gloffset_CopyConvolutionFilter2D }, /* from GL_EXT_copy_texture */ - { 15538, _gloffset_CopyTexSubImage3D }, - { 17207, _gloffset_CopyTexImage2D }, - { 25331, _gloffset_CopyTexImage1D }, - { 28175, _gloffset_CopyTexSubImage2D }, - { 30647, _gloffset_CopyTexSubImage1D }, + { 15578, _gloffset_CopyTexSubImage3D }, + { 17319, _gloffset_CopyTexImage2D }, + { 25485, _gloffset_CopyTexImage1D }, + { 28297, _gloffset_CopyTexSubImage2D }, + { 30717, _gloffset_CopyTexSubImage1D }, /* from GL_EXT_draw_range_elements */ - { 9865, _gloffset_DrawRangeElements }, + { 9834, _gloffset_DrawRangeElements }, /* from GL_EXT_histogram */ - { 895, _gloffset_Histogram }, - { 3676, _gloffset_ResetHistogram }, - { 10370, _gloffset_GetMinmax }, - { 15872, _gloffset_GetHistogramParameterfv }, - { 25256, _gloffset_GetMinmaxParameteriv }, - { 27495, _gloffset_ResetMinmax }, - { 28391, _gloffset_GetHistogramParameteriv }, - { 29612, _gloffset_GetHistogram }, - { 32236, _gloffset_Minmax }, - { 33886, _gloffset_GetMinmaxParameterfv }, + { 856, _gloffset_Histogram }, + { 3598, _gloffset_ResetHistogram }, + { 10339, _gloffset_GetMinmax }, + { 15912, _gloffset_GetHistogramParameterfv }, + { 25410, _gloffset_GetMinmaxParameteriv }, + { 27649, _gloffset_ResetMinmax }, + { 28513, _gloffset_GetHistogramParameteriv }, + { 29682, _gloffset_GetHistogram }, + { 32306, _gloffset_Minmax }, + { 33928, _gloffset_GetMinmaxParameterfv }, /* from GL_EXT_paletted_texture */ - { 8728, _gloffset_ColorTable }, - { 15718, _gloffset_GetColorTable }, - { 23783, _gloffset_GetColorTableParameterfv }, - { 25947, _gloffset_GetColorTableParameteriv }, + { 8697, _gloffset_ColorTable }, + { 15758, _gloffset_GetColorTable }, + { 23937, _gloffset_GetColorTableParameterfv }, + { 26101, _gloffset_GetColorTableParameteriv }, /* from GL_EXT_subtexture */ - { 7439, _gloffset_TexSubImage1D }, - { 11074, _gloffset_TexSubImage2D }, + { 7408, _gloffset_TexSubImage1D }, + { 11043, _gloffset_TexSubImage2D }, /* from GL_EXT_texture3D */ - { 1865, _gloffset_TexImage3D }, - { 23552, _gloffset_TexSubImage3D }, + { 1826, _gloffset_TexImage3D }, + { 23706, _gloffset_TexSubImage3D }, /* from GL_EXT_texture_object */ - { 3444, _gloffset_PrioritizeTextures }, - { 7888, _gloffset_AreTexturesResident }, - { 14058, _gloffset_GenTextures }, - { 16231, _gloffset_DeleteTextures }, - { 20242, _gloffset_IsTexture }, - { 30712, _gloffset_BindTexture }, + { 3366, _gloffset_PrioritizeTextures }, + { 7857, _gloffset_AreTexturesResident }, + { 14027, _gloffset_GenTextures }, + { 16271, _gloffset_DeleteTextures }, + { 20396, _gloffset_IsTexture }, + { 30782, _gloffset_BindTexture }, /* from GL_EXT_vertex_array */ - { 25032, _gloffset_ArrayElement }, - { 31824, _gloffset_GetPointerv }, - { 33437, _gloffset_DrawArrays }, + { 25186, _gloffset_ArrayElement }, + { 31894, _gloffset_GetPointerv }, + { 33479, _gloffset_DrawArrays }, /* from GL_SGI_color_table */ - { 8006, _gloffset_ColorTableParameteriv }, - { 8728, _gloffset_ColorTable }, - { 15718, _gloffset_GetColorTable }, - { 15828, _gloffset_CopyColorTable }, - { 20103, _gloffset_ColorTableParameterfv }, - { 23783, _gloffset_GetColorTableParameterfv }, - { 25947, _gloffset_GetColorTableParameteriv }, + { 7975, _gloffset_ColorTableParameteriv }, + { 8697, _gloffset_ColorTable }, + { 15758, _gloffset_GetColorTable }, + { 15868, _gloffset_CopyColorTable }, + { 20257, _gloffset_ColorTableParameterfv }, + { 23937, _gloffset_GetColorTableParameterfv }, + { 26101, _gloffset_GetColorTableParameteriv }, /* from GL_VERSION_1_3 */ - { 464, _gloffset_MultiTexCoord3sARB }, - { 696, _gloffset_ActiveTextureARB }, - { 4451, _gloffset_MultiTexCoord1fvARB }, - { 6505, _gloffset_MultiTexCoord3dARB }, - { 6550, _gloffset_MultiTexCoord2iARB }, - { 6674, _gloffset_MultiTexCoord2svARB }, - { 8684, _gloffset_MultiTexCoord2fARB }, - { 10779, _gloffset_MultiTexCoord3fvARB }, - { 11381, _gloffset_MultiTexCoord4sARB }, - { 12062, _gloffset_MultiTexCoord2dvARB }, - { 12469, _gloffset_MultiTexCoord1svARB }, - { 12870, _gloffset_MultiTexCoord3svARB }, - { 12931, _gloffset_MultiTexCoord4iARB }, - { 13762, _gloffset_MultiTexCoord3iARB }, - { 14561, _gloffset_MultiTexCoord1dARB }, - { 14793, _gloffset_MultiTexCoord3dvARB }, - { 16072, _gloffset_MultiTexCoord3ivARB }, - { 16117, _gloffset_MultiTexCoord2sARB }, - { 17577, _gloffset_MultiTexCoord4ivARB }, - { 19743, _gloffset_ClientActiveTextureARB }, - { 22106, _gloffset_MultiTexCoord2dARB }, - { 22543, _gloffset_MultiTexCoord4dvARB }, - { 22920, _gloffset_MultiTexCoord4fvARB }, - { 23924, _gloffset_MultiTexCoord3fARB }, - { 26541, _gloffset_MultiTexCoord4dARB }, - { 26807, _gloffset_MultiTexCoord1sARB }, - { 27011, _gloffset_MultiTexCoord1dvARB }, - { 28019, _gloffset_MultiTexCoord1ivARB }, - { 28112, _gloffset_MultiTexCoord2ivARB }, - { 28451, _gloffset_MultiTexCoord1iARB }, - { 29887, _gloffset_MultiTexCoord4svARB }, - { 30511, _gloffset_MultiTexCoord1fARB }, - { 30774, _gloffset_MultiTexCoord4fARB }, - { 33271, _gloffset_MultiTexCoord2fvARB }, + { 425, _gloffset_MultiTexCoord3sARB }, + { 657, _gloffset_ActiveTextureARB }, + { 4378, _gloffset_MultiTexCoord1fvARB }, + { 6474, _gloffset_MultiTexCoord3dARB }, + { 6519, _gloffset_MultiTexCoord2iARB }, + { 6643, _gloffset_MultiTexCoord2svARB }, + { 8653, _gloffset_MultiTexCoord2fARB }, + { 10748, _gloffset_MultiTexCoord3fvARB }, + { 11350, _gloffset_MultiTexCoord4sARB }, + { 12031, _gloffset_MultiTexCoord2dvARB }, + { 12438, _gloffset_MultiTexCoord1svARB }, + { 12839, _gloffset_MultiTexCoord3svARB }, + { 12900, _gloffset_MultiTexCoord4iARB }, + { 13731, _gloffset_MultiTexCoord3iARB }, + { 14601, _gloffset_MultiTexCoord1dARB }, + { 14833, _gloffset_MultiTexCoord3dvARB }, + { 16112, _gloffset_MultiTexCoord3ivARB }, + { 16157, _gloffset_MultiTexCoord2sARB }, + { 17689, _gloffset_MultiTexCoord4ivARB }, + { 19897, _gloffset_ClientActiveTextureARB }, + { 22260, _gloffset_MultiTexCoord2dARB }, + { 22697, _gloffset_MultiTexCoord4dvARB }, + { 23074, _gloffset_MultiTexCoord4fvARB }, + { 24078, _gloffset_MultiTexCoord3fARB }, + { 26695, _gloffset_MultiTexCoord4dARB }, + { 26961, _gloffset_MultiTexCoord1sARB }, + { 27165, _gloffset_MultiTexCoord1dvARB }, + { 28141, _gloffset_MultiTexCoord1ivARB }, + { 28234, _gloffset_MultiTexCoord2ivARB }, + { 28573, _gloffset_MultiTexCoord1iARB }, + { 29957, _gloffset_MultiTexCoord4svARB }, + { 30581, _gloffset_MultiTexCoord1fARB }, + { 30844, _gloffset_MultiTexCoord4fARB }, + { 33313, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; @@ -5568,7 +5573,7 @@ static const struct gl_function_remap MESA_alt_functions[] = { #if defined(need_GL_3DFX_tbuffer) static const struct gl_function_remap GL_3DFX_tbuffer_functions[] = { - { 9586, -1 }, /* TbufferMask3DFX */ + { 9555, -1 }, /* TbufferMask3DFX */ { -1, -1 } }; #endif @@ -5667,7 +5672,7 @@ static const struct gl_function_remap GL_ARB_framebuffer_object_functions[] = { #if defined(need_GL_ARB_geometry_shader4) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_ARB_geometry_shader4_functions[] = { - { 12834, -1 }, /* FramebufferTextureLayer */ + { 12803, -1 }, /* FramebufferTextureLayer */ { -1, -1 } }; #endif @@ -5688,11 +5693,11 @@ static const struct gl_function_remap GL_ARB_map_buffer_range_functions[] = { #if defined(need_GL_ARB_matrix_palette) static const struct gl_function_remap GL_ARB_matrix_palette_functions[] = { - { 3927, -1 }, /* MatrixIndexusvARB */ - { 13583, -1 }, /* MatrixIndexuivARB */ - { 14948, -1 }, /* MatrixIndexPointerARB */ - { 20509, -1 }, /* CurrentPaletteMatrixARB */ - { 23668, -1 }, /* MatrixIndexubvARB */ + { 3849, -1 }, /* MatrixIndexusvARB */ + { 13552, -1 }, /* MatrixIndexuivARB */ + { 14988, -1 }, /* MatrixIndexPointerARB */ + { 20663, -1 }, /* CurrentPaletteMatrixARB */ + { 23822, -1 }, /* MatrixIndexubvARB */ { -1, -1 } }; #endif @@ -5790,16 +5795,16 @@ static const struct gl_function_remap GL_ARB_vertex_array_object_functions[] = { #if defined(need_GL_ARB_vertex_blend) static const struct gl_function_remap GL_ARB_vertex_blend_functions[] = { - { 2508, -1 }, /* WeightubvARB */ - { 6917, -1 }, /* WeightivARB */ - { 11484, -1 }, /* WeightPointerARB */ - { 14318, -1 }, /* WeightfvARB */ - { 18120, -1 }, /* WeightbvARB */ - { 21739, -1 }, /* WeightusvARB */ - { 24786, -1 }, /* VertexBlendARB */ - { 30595, -1 }, /* WeightsvARB */ - { 32661, -1 }, /* WeightdvARB */ - { 33471, -1 }, /* WeightuivARB */ + { 2469, -1 }, /* WeightubvARB */ + { 6886, -1 }, /* WeightivARB */ + { 11453, -1 }, /* WeightPointerARB */ + { 14319, -1 }, /* WeightfvARB */ + { 18232, -1 }, /* WeightbvARB */ + { 21893, -1 }, /* WeightusvARB */ + { 24940, -1 }, /* VertexBlendARB */ + { 30665, -1 }, /* WeightsvARB */ + { 32770, -1 }, /* WeightdvARB */ + { 33513, -1 }, /* WeightuivARB */ { -1, -1 } }; #endif @@ -5869,7 +5874,7 @@ static const struct gl_function_remap GL_ATI_separate_stencil_functions[] = { #if defined(need_GL_EXT_blend_color) static const struct gl_function_remap GL_EXT_blend_color_functions[] = { - { 2767, _gloffset_BlendColor }, + { 2728, _gloffset_BlendColor }, { -1, -1 } }; #endif @@ -5890,15 +5895,15 @@ static const struct gl_function_remap GL_EXT_blend_func_separate_functions[] = { #if defined(need_GL_EXT_blend_minmax) static const struct gl_function_remap GL_EXT_blend_minmax_functions[] = { - { 11619, _gloffset_BlendEquation }, + { 11588, _gloffset_BlendEquation }, { -1, -1 } }; #endif #if defined(need_GL_EXT_color_subtable) static const struct gl_function_remap GL_EXT_color_subtable_functions[] = { - { 17520, _gloffset_ColorSubTable }, - { 32611, _gloffset_CopyColorSubTable }, + { 17632, _gloffset_ColorSubTable }, + { 32720, _gloffset_CopyColorSubTable }, { -1, -1 } }; #endif @@ -5912,66 +5917,66 @@ static const struct gl_function_remap GL_EXT_compiled_vertex_array_functions[] = #if defined(need_GL_EXT_convolution) static const struct gl_function_remap GL_EXT_convolution_functions[] = { - { 296, _gloffset_ConvolutionFilter1D }, - { 2566, _gloffset_CopyConvolutionFilter1D }, - { 4293, _gloffset_GetConvolutionParameteriv }, - { 8866, _gloffset_ConvolutionFilter2D }, - { 9068, _gloffset_ConvolutionParameteriv }, - { 9528, _gloffset_ConvolutionParameterfv }, - { 21275, _gloffset_GetSeparableFilter }, - { 24860, _gloffset_SeparableFilter2D }, - { 25723, _gloffset_ConvolutionParameteri }, - { 25891, _gloffset_ConvolutionParameterf }, - { 27605, _gloffset_GetConvolutionParameterfv }, - { 28494, _gloffset_GetConvolutionFilter }, - { 31009, _gloffset_CopyConvolutionFilter2D }, + { 257, _gloffset_ConvolutionFilter1D }, + { 2527, _gloffset_CopyConvolutionFilter1D }, + { 4168, _gloffset_GetConvolutionParameteriv }, + { 8835, _gloffset_ConvolutionFilter2D }, + { 9037, _gloffset_ConvolutionParameteriv }, + { 9497, _gloffset_ConvolutionParameterfv }, + { 21429, _gloffset_GetSeparableFilter }, + { 25014, _gloffset_SeparableFilter2D }, + { 25877, _gloffset_ConvolutionParameteri }, + { 26045, _gloffset_ConvolutionParameterf }, + { 27759, _gloffset_GetConvolutionParameterfv }, + { 28616, _gloffset_GetConvolutionFilter }, + { 31079, _gloffset_CopyConvolutionFilter2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_coordinate_frame) static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = { - { 10918, -1 }, /* TangentPointerEXT */ - { 12989, -1 }, /* Binormal3ivEXT */ - { 13715, -1 }, /* Tangent3sEXT */ - { 15013, -1 }, /* Tangent3fvEXT */ - { 19188, -1 }, /* Tangent3ivEXT */ - { 19415, -1 }, /* Tangent3dvEXT */ - { 20189, -1 }, /* Binormal3bvEXT */ - { 21328, -1 }, /* Binormal3dEXT */ - { 23600, -1 }, /* Tangent3fEXT */ - { 25795, -1 }, /* Binormal3sEXT */ - { 26337, -1 }, /* Tangent3dEXT */ - { 27284, -1 }, /* Binormal3svEXT */ - { 27917, -1 }, /* Binormal3fEXT */ - { 28825, -1 }, /* Binormal3dvEXT */ - { 30144, -1 }, /* Tangent3iEXT */ - { 31294, -1 }, /* Tangent3bvEXT */ - { 31859, -1 }, /* Tangent3bEXT */ - { 32384, -1 }, /* Binormal3fvEXT */ - { 33170, -1 }, /* BinormalPointerEXT */ - { 33651, -1 }, /* Tangent3svEXT */ - { 34088, -1 }, /* Binormal3bEXT */ - { 34265, -1 }, /* Binormal3iEXT */ + { 10887, -1 }, /* TangentPointerEXT */ + { 12958, -1 }, /* Binormal3ivEXT */ + { 13684, -1 }, /* Tangent3sEXT */ + { 15053, -1 }, /* Tangent3fvEXT */ + { 19342, -1 }, /* Tangent3ivEXT */ + { 19569, -1 }, /* Tangent3dvEXT */ + { 20343, -1 }, /* Binormal3bvEXT */ + { 21482, -1 }, /* Binormal3dEXT */ + { 23754, -1 }, /* Tangent3fEXT */ + { 25949, -1 }, /* Binormal3sEXT */ + { 26491, -1 }, /* Tangent3dEXT */ + { 27438, -1 }, /* Binormal3svEXT */ + { 28039, -1 }, /* Binormal3fEXT */ + { 28947, -1 }, /* Binormal3dvEXT */ + { 30214, -1 }, /* Tangent3iEXT */ + { 31364, -1 }, /* Tangent3bvEXT */ + { 31929, -1 }, /* Tangent3bEXT */ + { 32493, -1 }, /* Binormal3fvEXT */ + { 33212, -1 }, /* BinormalPointerEXT */ + { 33693, -1 }, /* Tangent3svEXT */ + { 34130, -1 }, /* Binormal3bEXT */ + { 34307, -1 }, /* Binormal3iEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_copy_texture) static const struct gl_function_remap GL_EXT_copy_texture_functions[] = { - { 15538, _gloffset_CopyTexSubImage3D }, - { 17207, _gloffset_CopyTexImage2D }, - { 25331, _gloffset_CopyTexImage1D }, - { 28175, _gloffset_CopyTexSubImage2D }, - { 30647, _gloffset_CopyTexSubImage1D }, + { 15578, _gloffset_CopyTexSubImage3D }, + { 17319, _gloffset_CopyTexImage2D }, + { 25485, _gloffset_CopyTexImage1D }, + { 28297, _gloffset_CopyTexSubImage2D }, + { 30717, _gloffset_CopyTexSubImage1D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_cull_vertex) static const struct gl_function_remap GL_EXT_cull_vertex_functions[] = { - { 9217, -1 }, /* CullParameterdvEXT */ - { 12107, -1 }, /* CullParameterfvEXT */ + { 9186, -1 }, /* CullParameterdvEXT */ + { 12076, -1 }, /* CullParameterfvEXT */ { -1, -1 } }; #endif @@ -5999,7 +6004,7 @@ static const struct gl_function_remap GL_EXT_draw_instanced_functions[] = { #if defined(need_GL_EXT_draw_range_elements) static const struct gl_function_remap GL_EXT_draw_range_elements_functions[] = { - { 9865, _gloffset_DrawRangeElements }, + { 9834, _gloffset_DrawRangeElements }, { -1, -1 } }; #endif @@ -6048,39 +6053,39 @@ static const struct gl_function_remap GL_EXT_gpu_shader4_functions[] = { #if defined(need_GL_EXT_histogram) static const struct gl_function_remap GL_EXT_histogram_functions[] = { - { 895, _gloffset_Histogram }, - { 3676, _gloffset_ResetHistogram }, - { 10370, _gloffset_GetMinmax }, - { 15872, _gloffset_GetHistogramParameterfv }, - { 25256, _gloffset_GetMinmaxParameteriv }, - { 27495, _gloffset_ResetMinmax }, - { 28391, _gloffset_GetHistogramParameteriv }, - { 29612, _gloffset_GetHistogram }, - { 32236, _gloffset_Minmax }, - { 33886, _gloffset_GetMinmaxParameterfv }, + { 856, _gloffset_Histogram }, + { 3598, _gloffset_ResetHistogram }, + { 10339, _gloffset_GetMinmax }, + { 15912, _gloffset_GetHistogramParameterfv }, + { 25410, _gloffset_GetMinmaxParameteriv }, + { 27649, _gloffset_ResetMinmax }, + { 28513, _gloffset_GetHistogramParameteriv }, + { 29682, _gloffset_GetHistogram }, + { 32306, _gloffset_Minmax }, + { 33928, _gloffset_GetMinmaxParameterfv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_index_func) static const struct gl_function_remap GL_EXT_index_func_functions[] = { - { 11893, -1 }, /* IndexFuncEXT */ + { 11862, -1 }, /* IndexFuncEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_index_material) static const struct gl_function_remap GL_EXT_index_material_functions[] = { - { 21861, -1 }, /* IndexMaterialEXT */ + { 22015, -1 }, /* IndexMaterialEXT */ { -1, -1 } }; #endif #if defined(need_GL_EXT_light_texture) static const struct gl_function_remap GL_EXT_light_texture_functions[] = { - { 27304, -1 }, /* ApplyTextureEXT */ - { 27449, -1 }, /* TextureMaterialEXT */ - { 27474, -1 }, /* TextureLightEXT */ + { 27458, -1 }, /* ApplyTextureEXT */ + { 27603, -1 }, /* TextureMaterialEXT */ + { 27628, -1 }, /* TextureLightEXT */ { -1, -1 } }; #endif @@ -6101,20 +6106,20 @@ static const struct gl_function_remap GL_EXT_multisample_functions[] = { #if defined(need_GL_EXT_paletted_texture) static const struct gl_function_remap GL_EXT_paletted_texture_functions[] = { - { 8728, _gloffset_ColorTable }, - { 15718, _gloffset_GetColorTable }, - { 23783, _gloffset_GetColorTableParameterfv }, - { 25947, _gloffset_GetColorTableParameteriv }, + { 8697, _gloffset_ColorTable }, + { 15758, _gloffset_GetColorTable }, + { 23937, _gloffset_GetColorTableParameterfv }, + { 26101, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_EXT_pixel_transform) static const struct gl_function_remap GL_EXT_pixel_transform_functions[] = { - { 22508, -1 }, /* PixelTransformParameterfEXT */ - { 22588, -1 }, /* PixelTransformParameteriEXT */ - { 31574, -1 }, /* PixelTransformParameterfvEXT */ - { 33134, -1 }, /* PixelTransformParameterivEXT */ + { 22662, -1 }, /* PixelTransformParameterfEXT */ + { 22742, -1 }, /* PixelTransformParameteriEXT */ + { 31644, -1 }, /* PixelTransformParameterfvEXT */ + { 33176, -1 }, /* PixelTransformParameterivEXT */ { -1, -1 } }; #endif @@ -6163,16 +6168,16 @@ static const struct gl_function_remap GL_EXT_stencil_two_side_functions[] = { #if defined(need_GL_EXT_subtexture) static const struct gl_function_remap GL_EXT_subtexture_functions[] = { - { 7439, _gloffset_TexSubImage1D }, - { 11074, _gloffset_TexSubImage2D }, + { 7408, _gloffset_TexSubImage1D }, + { 11043, _gloffset_TexSubImage2D }, { -1, -1 } }; #endif #if defined(need_GL_EXT_texture3D) static const struct gl_function_remap GL_EXT_texture3D_functions[] = { - { 1865, _gloffset_TexImage3D }, - { 23552, _gloffset_TexSubImage3D }, + { 1826, _gloffset_TexImage3D }, + { 23706, _gloffset_TexSubImage3D }, { -1, -1 } }; #endif @@ -6193,19 +6198,19 @@ static const struct gl_function_remap GL_EXT_texture_integer_functions[] = { #if defined(need_GL_EXT_texture_object) static const struct gl_function_remap GL_EXT_texture_object_functions[] = { - { 3444, _gloffset_PrioritizeTextures }, - { 7888, _gloffset_AreTexturesResident }, - { 14058, _gloffset_GenTextures }, - { 16231, _gloffset_DeleteTextures }, - { 20242, _gloffset_IsTexture }, - { 30712, _gloffset_BindTexture }, + { 3366, _gloffset_PrioritizeTextures }, + { 7857, _gloffset_AreTexturesResident }, + { 14027, _gloffset_GenTextures }, + { 16271, _gloffset_DeleteTextures }, + { 20396, _gloffset_IsTexture }, + { 30782, _gloffset_BindTexture }, { -1, -1 } }; #endif #if defined(need_GL_EXT_texture_perturb_normal) static const struct gl_function_remap GL_EXT_texture_perturb_normal_functions[] = { - { 14268, -1 }, /* TextureNormalEXT */ + { 14269, -1 }, /* TextureNormalEXT */ { -1, -1 } }; #endif @@ -6227,30 +6232,30 @@ static const struct gl_function_remap GL_EXT_transform_feedback_functions[] = { #if defined(need_GL_EXT_vertex_array) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_EXT_vertex_array_functions[] = { - { 25032, _gloffset_ArrayElement }, - { 31824, _gloffset_GetPointerv }, - { 33437, _gloffset_DrawArrays }, + { 25186, _gloffset_ArrayElement }, + { 31894, _gloffset_GetPointerv }, + { 33479, _gloffset_DrawArrays }, { -1, -1 } }; #endif #if defined(need_GL_EXT_vertex_weighting) static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = { - { 20290, -1 }, /* VertexWeightfvEXT */ - { 27860, -1 }, /* VertexWeightfEXT */ - { 29581, -1 }, /* VertexWeightPointerEXT */ + { 20444, -1 }, /* VertexWeightfvEXT */ + { 27982, -1 }, /* VertexWeightfEXT */ + { 29651, -1 }, /* VertexWeightPointerEXT */ { -1, -1 } }; #endif #if defined(need_GL_HP_image_transform) static const struct gl_function_remap GL_HP_image_transform_functions[] = { - { 2439, -1 }, /* GetImageTransformParameterfvHP */ - { 3893, -1 }, /* ImageTransformParameterfHP */ - { 10612, -1 }, /* ImageTransformParameterfvHP */ - { 12354, -1 }, /* ImageTransformParameteriHP */ - { 12724, -1 }, /* GetImageTransformParameterivHP */ - { 20354, -1 }, /* ImageTransformParameterivHP */ + { 2400, -1 }, /* GetImageTransformParameterfvHP */ + { 3815, -1 }, /* ImageTransformParameterfHP */ + { 10581, -1 }, /* ImageTransformParameterfvHP */ + { 12323, -1 }, /* ImageTransformParameteriHP */ + { 12693, -1 }, /* GetImageTransformParameterivHP */ + { 20508, -1 }, /* ImageTransformParameterivHP */ { -1, -1 } }; #endif @@ -6264,14 +6269,14 @@ static const struct gl_function_remap GL_IBM_multimode_draw_arrays_functions[] = #if defined(need_GL_IBM_vertex_array_lists) static const struct gl_function_remap GL_IBM_vertex_array_lists_functions[] = { - { 4583, -1 }, /* SecondaryColorPointerListIBM */ - { 6371, -1 }, /* NormalPointerListIBM */ - { 8062, -1 }, /* FogCoordPointerListIBM */ - { 8403, -1 }, /* VertexPointerListIBM */ - { 12608, -1 }, /* ColorPointerListIBM */ - { 13822, -1 }, /* TexCoordPointerListIBM */ - { 14290, -1 }, /* IndexPointerListIBM */ - { 33829, -1 }, /* EdgeFlagPointerListIBM */ + { 4510, -1 }, /* SecondaryColorPointerListIBM */ + { 6340, -1 }, /* NormalPointerListIBM */ + { 8031, -1 }, /* FogCoordPointerListIBM */ + { 8372, -1 }, /* VertexPointerListIBM */ + { 12577, -1 }, /* ColorPointerListIBM */ + { 13791, -1 }, /* TexCoordPointerListIBM */ + { 14291, -1 }, /* IndexPointerListIBM */ + { 33871, -1 }, /* EdgeFlagPointerListIBM */ { -1, -1 } }; #endif @@ -6285,10 +6290,10 @@ static const struct gl_function_remap GL_INGR_blend_func_separate_functions[] = #if defined(need_GL_INTEL_parallel_arrays) static const struct gl_function_remap GL_INTEL_parallel_arrays_functions[] = { - { 13162, -1 }, /* VertexPointervINTEL */ - { 15965, -1 }, /* ColorPointervINTEL */ - { 30983, -1 }, /* NormalPointervINTEL */ - { 31506, -1 }, /* TexCoordPointervINTEL */ + { 13131, -1 }, /* VertexPointervINTEL */ + { 16005, -1 }, /* ColorPointervINTEL */ + { 31053, -1 }, /* NormalPointervINTEL */ + { 31576, -1 }, /* TexCoordPointervINTEL */ { -1, -1 } }; #endif @@ -6302,10 +6307,10 @@ static const struct gl_function_remap GL_MESA_resize_buffers_functions[] = { #if defined(need_GL_MESA_shader_debug) static const struct gl_function_remap GL_MESA_shader_debug_functions[] = { - { 1729, -1 }, /* GetDebugLogLengthMESA */ - { 3615, -1 }, /* ClearDebugLogMESA */ - { 4768, -1 }, /* GetDebugLogMESA */ - { 32017, -1 }, /* CreateDebugObjectMESA */ + { 1690, -1 }, /* GetDebugLogLengthMESA */ + { 3537, -1 }, /* ClearDebugLogMESA */ + { 4695, -1 }, /* GetDebugLogMESA */ + { 32087, -1 }, /* CreateDebugObjectMESA */ { -1, -1 } }; #endif @@ -6326,15 +6331,15 @@ static const struct gl_function_remap GL_NV_condtitional_render_functions[] = { #if defined(need_GL_NV_evaluators) static const struct gl_function_remap GL_NV_evaluators_functions[] = { - { 7101, -1 }, /* GetMapAttribParameterivNV */ - { 8834, -1 }, /* MapControlPointsNV */ - { 8933, -1 }, /* MapParameterfvNV */ - { 11057, -1 }, /* EvalMapsNV */ - { 17718, -1 }, /* GetMapAttribParameterfvNV */ - { 17935, -1 }, /* MapParameterivNV */ - { 25646, -1 }, /* GetMapParameterivNV */ - { 26189, -1 }, /* GetMapParameterfvNV */ - { 30298, -1 }, /* GetMapControlPointsNV */ + { 7070, -1 }, /* GetMapAttribParameterivNV */ + { 8803, -1 }, /* MapControlPointsNV */ + { 8902, -1 }, /* MapParameterfvNV */ + { 11026, -1 }, /* EvalMapsNV */ + { 17830, -1 }, /* GetMapAttribParameterfvNV */ + { 18047, -1 }, /* MapParameterivNV */ + { 25800, -1 }, /* GetMapParameterivNV */ + { 26343, -1 }, /* GetMapParameterfvNV */ + { 30368, -1 }, /* GetMapControlPointsNV */ { -1, -1 } }; #endif @@ -6376,8 +6381,8 @@ static const struct gl_function_remap GL_NV_register_combiners_functions[] = { #if defined(need_GL_NV_register_combiners2) static const struct gl_function_remap GL_NV_register_combiners2_functions[] = { - { 16384, -1 }, /* CombinerStageParameterfvNV */ - { 16780, -1 }, /* GetCombinerStageParameterfvNV */ + { 16424, -1 }, /* CombinerStageParameterfvNV */ + { 16820, -1 }, /* GetCombinerStageParameterfvNV */ { -1, -1 } }; #endif @@ -6412,23 +6417,23 @@ static const struct gl_function_remap GL_OES_EGL_image_functions[] = { #if defined(need_GL_PGI_misc_hints) static const struct gl_function_remap GL_PGI_misc_hints_functions[] = { - { 9054, -1 }, /* HintPGI */ + { 9023, -1 }, /* HintPGI */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_detail_texture) static const struct gl_function_remap GL_SGIS_detail_texture_functions[] = { - { 16753, -1 }, /* GetDetailTexFuncSGIS */ - { 17152, -1 }, /* DetailTexFuncSGIS */ + { 16793, -1 }, /* GetDetailTexFuncSGIS */ + { 17264, -1 }, /* DetailTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_fog_function) static const struct gl_function_remap GL_SGIS_fog_function_functions[] = { - { 28157, -1 }, /* FogFuncSGIS */ - { 28930, -1 }, /* GetFogFuncSGIS */ + { 28279, -1 }, /* FogFuncSGIS */ + { 29000, -1 }, /* GetFogFuncSGIS */ { -1, -1 } }; #endif @@ -6456,112 +6461,112 @@ static const struct gl_function_remap GL_SGIS_point_parameters_functions[] = { #if defined(need_GL_SGIS_sharpen_texture) static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = { - { 7162, -1 }, /* GetSharpenTexFuncSGIS */ - { 22894, -1 }, /* SharpenTexFuncSGIS */ + { 7131, -1 }, /* GetSharpenTexFuncSGIS */ + { 23048, -1 }, /* SharpenTexFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture4D) static const struct gl_function_remap GL_SGIS_texture4D_functions[] = { - { 1034, -1 }, /* TexImage4DSGIS */ - { 16300, -1 }, /* TexSubImage4DSGIS */ + { 995, -1 }, /* TexImage4DSGIS */ + { 16340, -1 }, /* TexSubImage4DSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_color_mask) static const struct gl_function_remap GL_SGIS_texture_color_mask_functions[] = { - { 15671, -1 }, /* TextureColorMaskSGIS */ + { 15711, -1 }, /* TextureColorMaskSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIS_texture_filter4) static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = { - { 7339, -1 }, /* GetTexFilterFuncSGIS */ - { 16926, -1 }, /* TexFilterFuncSGIS */ + { 7308, -1 }, /* GetTexFilterFuncSGIS */ + { 16966, -1 }, /* TexFilterFuncSGIS */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_async) static const struct gl_function_remap GL_SGIX_async_functions[] = { - { 3541, -1 }, /* AsyncMarkerSGIX */ - { 4722, -1 }, /* FinishAsyncSGIX */ - { 5794, -1 }, /* PollAsyncSGIX */ - { 23103, -1 }, /* DeleteAsyncMarkersSGIX */ - { 23158, -1 }, /* IsAsyncMarkerSGIX */ - { 33626, -1 }, /* GenAsyncMarkersSGIX */ + { 3463, -1 }, /* AsyncMarkerSGIX */ + { 4649, -1 }, /* FinishAsyncSGIX */ + { 5721, -1 }, /* PollAsyncSGIX */ + { 23257, -1 }, /* DeleteAsyncMarkersSGIX */ + { 23312, -1 }, /* IsAsyncMarkerSGIX */ + { 33668, -1 }, /* GenAsyncMarkersSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_flush_raster) static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = { - { 7716, -1 }, /* FlushRasterSGIX */ + { 7685, -1 }, /* FlushRasterSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_fragment_lighting) static const struct gl_function_remap GL_SGIX_fragment_lighting_functions[] = { - { 2737, -1 }, /* FragmentMaterialfvSGIX */ - { 5698, -1 }, /* FragmentLightiSGIX */ - { 8470, -1 }, /* FragmentMaterialfSGIX */ - { 8607, -1 }, /* GetFragmentLightivSGIX */ - { 9480, -1 }, /* FragmentLightModeliSGIX */ - { 11120, -1 }, /* FragmentLightivSGIX */ - { 11427, -1 }, /* GetFragmentMaterialivSGIX */ - { 16693, -1 }, /* GetFragmentMaterialfvSGIX */ - { 20159, -1 }, /* FragmentLightModelfSGIX */ - { 20477, -1 }, /* FragmentColorMaterialSGIX */ - { 20894, -1 }, /* FragmentMaterialiSGIX */ - { 22189, -1 }, /* LightEnviSGIX */ - { 23875, -1 }, /* FragmentLightModelfvSGIX */ - { 24210, -1 }, /* FragmentLightfvSGIX */ - { 29314, -1 }, /* FragmentLightModelivSGIX */ - { 29463, -1 }, /* FragmentLightfSGIX */ - { 32354, -1 }, /* GetFragmentLightfvSGIX */ - { 34109, -1 }, /* FragmentMaterialivSGIX */ + { 2698, -1 }, /* FragmentMaterialfvSGIX */ + { 5625, -1 }, /* FragmentLightiSGIX */ + { 8439, -1 }, /* FragmentMaterialfSGIX */ + { 8576, -1 }, /* GetFragmentLightivSGIX */ + { 9449, -1 }, /* FragmentLightModeliSGIX */ + { 11089, -1 }, /* FragmentLightivSGIX */ + { 11396, -1 }, /* GetFragmentMaterialivSGIX */ + { 16733, -1 }, /* GetFragmentMaterialfvSGIX */ + { 20313, -1 }, /* FragmentLightModelfSGIX */ + { 20631, -1 }, /* FragmentColorMaterialSGIX */ + { 21048, -1 }, /* FragmentMaterialiSGIX */ + { 22343, -1 }, /* LightEnviSGIX */ + { 24029, -1 }, /* FragmentLightModelfvSGIX */ + { 24364, -1 }, /* FragmentLightfvSGIX */ + { 29384, -1 }, /* FragmentLightModelivSGIX */ + { 29533, -1 }, /* FragmentLightfSGIX */ + { 32463, -1 }, /* GetFragmentLightfvSGIX */ + { 34151, -1 }, /* FragmentMaterialivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_framezoom) static const struct gl_function_remap GL_SGIX_framezoom_functions[] = { - { 23181, -1 }, /* FrameZoomSGIX */ + { 23335, -1 }, /* FrameZoomSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_igloo_interface) static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = { - { 29771, -1 }, /* IglooInterfaceSGIX */ + { 29841, -1 }, /* IglooInterfaceSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_instruments) static const struct gl_function_remap GL_SGIX_instruments_functions[] = { - { 2917, -1 }, /* ReadInstrumentsSGIX */ - { 6935, -1 }, /* PollInstrumentsSGIX */ - { 10978, -1 }, /* GetInstrumentsSGIX */ - { 13420, -1 }, /* StartInstrumentsSGIX */ - { 16418, -1 }, /* StopInstrumentsSGIX */ - { 18383, -1 }, /* InstrumentsBufferSGIX */ + { 2878, -1 }, /* ReadInstrumentsSGIX */ + { 6904, -1 }, /* PollInstrumentsSGIX */ + { 10947, -1 }, /* GetInstrumentsSGIX */ + { 13389, -1 }, /* StartInstrumentsSGIX */ + { 16458, -1 }, /* StopInstrumentsSGIX */ + { 18495, -1 }, /* InstrumentsBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_list_priority) static const struct gl_function_remap GL_SGIX_list_priority_functions[] = { - { 1265, -1 }, /* ListParameterfSGIX */ - { 3243, -1 }, /* GetListParameterfvSGIX */ - { 18248, -1 }, /* ListParameteriSGIX */ - { 19365, -1 }, /* ListParameterfvSGIX */ - { 21560, -1 }, /* ListParameterivSGIX */ - { 33670, -1 }, /* GetListParameterivSGIX */ + { 1226, -1 }, /* ListParameterfSGIX */ + { 3165, -1 }, /* GetListParameterfvSGIX */ + { 18360, -1 }, /* ListParameteriSGIX */ + { 19519, -1 }, /* ListParameterfvSGIX */ + { 21714, -1 }, /* ListParameterivSGIX */ + { 33712, -1 }, /* GetListParameterivSGIX */ { -1, -1 } }; #endif @@ -6575,134 +6580,134 @@ static const struct gl_function_remap GL_SGIX_pixel_texture_functions[] = { #if defined(need_GL_SGIX_polynomial_ffd) static const struct gl_function_remap GL_SGIX_polynomial_ffd_functions[] = { - { 2959, -1 }, /* DeformationMap3dSGIX */ - { 3839, -1 }, /* LoadIdentityDeformationMapSGIX */ - { 16518, -1 }, /* DeformSGIX */ - { 25144, -1 }, /* DeformationMap3fSGIX */ + { 3761, -1 }, /* LoadIdentityDeformationMapSGIX */ + { 16558, -1 }, /* DeformSGIX */ + { 25298, -1 }, /* DeformationMap3fSGIX */ + { 32351, -1 }, /* DeformationMap3dSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_reference_plane) static const struct gl_function_remap GL_SGIX_reference_plane_functions[] = { - { 15222, -1 }, /* ReferencePlaneSGIX */ + { 15262, -1 }, /* ReferencePlaneSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_sprite) static const struct gl_function_remap GL_SGIX_sprite_functions[] = { - { 9978, -1 }, /* SpriteParameterfvSGIX */ - { 21349, -1 }, /* SpriteParameteriSGIX */ - { 27529, -1 }, /* SpriteParameterfSGIX */ - { 30441, -1 }, /* SpriteParameterivSGIX */ + { 9947, -1 }, /* SpriteParameterfvSGIX */ + { 21503, -1 }, /* SpriteParameteriSGIX */ + { 27683, -1 }, /* SpriteParameterfSGIX */ + { 30511, -1 }, /* SpriteParameterivSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGIX_tag_sample_buffer) static const struct gl_function_remap GL_SGIX_tag_sample_buffer_functions[] = { - { 21408, -1 }, /* TagSampleBufferSGIX */ + { 21562, -1 }, /* TagSampleBufferSGIX */ { -1, -1 } }; #endif #if defined(need_GL_SGI_color_table) static const struct gl_function_remap GL_SGI_color_table_functions[] = { - { 8006, _gloffset_ColorTableParameteriv }, - { 8728, _gloffset_ColorTable }, - { 15718, _gloffset_GetColorTable }, - { 15828, _gloffset_CopyColorTable }, - { 20103, _gloffset_ColorTableParameterfv }, - { 23783, _gloffset_GetColorTableParameterfv }, - { 25947, _gloffset_GetColorTableParameteriv }, + { 7975, _gloffset_ColorTableParameteriv }, + { 8697, _gloffset_ColorTable }, + { 15758, _gloffset_GetColorTable }, + { 15868, _gloffset_CopyColorTable }, + { 20257, _gloffset_ColorTableParameterfv }, + { 23937, _gloffset_GetColorTableParameterfv }, + { 26101, _gloffset_GetColorTableParameteriv }, { -1, -1 } }; #endif #if defined(need_GL_SUNX_constant_data) static const struct gl_function_remap GL_SUNX_constant_data_functions[] = { - { 32332, -1 }, /* FinishTextureSUNX */ + { 32441, -1 }, /* FinishTextureSUNX */ { -1, -1 } }; #endif #if defined(need_GL_SUN_global_alpha) static const struct gl_function_remap GL_SUN_global_alpha_functions[] = { - { 3562, -1 }, /* GlobalAlphaFactorubSUN */ - { 5075, -1 }, /* GlobalAlphaFactoriSUN */ - { 6960, -1 }, /* GlobalAlphaFactordSUN */ - { 10062, -1 }, /* GlobalAlphaFactoruiSUN */ - { 10569, -1 }, /* GlobalAlphaFactorbSUN */ - { 13735, -1 }, /* GlobalAlphaFactorfSUN */ - { 13899, -1 }, /* GlobalAlphaFactorusSUN */ - { 23470, -1 }, /* GlobalAlphaFactorsSUN */ + { 3484, -1 }, /* GlobalAlphaFactorubSUN */ + { 5002, -1 }, /* GlobalAlphaFactoriSUN */ + { 6929, -1 }, /* GlobalAlphaFactordSUN */ + { 10031, -1 }, /* GlobalAlphaFactoruiSUN */ + { 10538, -1 }, /* GlobalAlphaFactorbSUN */ + { 13704, -1 }, /* GlobalAlphaFactorfSUN */ + { 13868, -1 }, /* GlobalAlphaFactorusSUN */ + { 23624, -1 }, /* GlobalAlphaFactorsSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_mesh_array) static const struct gl_function_remap GL_SUN_mesh_array_functions[] = { - { 30232, -1 }, /* DrawMeshArraysSUN */ + { 30302, -1 }, /* DrawMeshArraysSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_triangle_list) static const struct gl_function_remap GL_SUN_triangle_list_functions[] = { - { 4696, -1 }, /* ReplacementCodeubSUN */ - { 6719, -1 }, /* ReplacementCodeubvSUN */ - { 19824, -1 }, /* ReplacementCodeusvSUN */ - { 20012, -1 }, /* ReplacementCodePointerSUN */ - { 22253, -1 }, /* ReplacementCodeuiSUN */ - { 23132, -1 }, /* ReplacementCodeusSUN */ - { 30898, -1 }, /* ReplacementCodeuivSUN */ + { 4623, -1 }, /* ReplacementCodeubSUN */ + { 6688, -1 }, /* ReplacementCodeubvSUN */ + { 19978, -1 }, /* ReplacementCodeusvSUN */ + { 20166, -1 }, /* ReplacementCodePointerSUN */ + { 22407, -1 }, /* ReplacementCodeuiSUN */ + { 23286, -1 }, /* ReplacementCodeusSUN */ + { 30968, -1 }, /* ReplacementCodeuivSUN */ { -1, -1 } }; #endif #if defined(need_GL_SUN_vertex) static const struct gl_function_remap GL_SUN_vertex_functions[] = { - { 1139, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */ - { 1337, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */ - { 1591, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */ - { 1960, -1 }, /* ReplacementCodeuiVertex3fvSUN */ - { 2094, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */ - { 2673, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */ - { 3052, -1 }, /* Color4ubVertex3fvSUN */ - { 4880, -1 }, /* Color4ubVertex3fSUN */ - { 5003, -1 }, /* TexCoord2fVertex3fSUN */ - { 5421, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ - { 5898, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ - { 6614, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ - { 7394, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ - { 7753, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ - { 9279, -1 }, /* Color3fVertex3fSUN */ - { 10478, -1 }, /* Color3fVertex3fvSUN */ - { 10943, -1 }, /* Color4fNormal3fVertex3fvSUN */ - { 11772, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ - { 13283, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ - { 14838, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ - { 15364, -1 }, /* TexCoord2fColor3fVertex3fSUN */ - { 16443, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ - { 16885, -1 }, /* Color4ubVertex2fvSUN */ - { 17177, -1 }, /* Normal3fVertex3fSUN */ - { 18324, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ - { 18676, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ - { 18983, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ - { 19617, -1 }, /* TexCoord2fVertex3fvSUN */ - { 20447, -1 }, /* Color4ubVertex2fSUN */ - { 20685, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ - { 22719, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ - { 23200, -1 }, /* Normal3fVertex3fvSUN */ - { 23692, -1 }, /* Color4fNormal3fVertex3fSUN */ - { 24693, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ - { 26850, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ - { 28273, -1 }, /* TexCoord4fVertex4fSUN */ - { 28719, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ - { 29158, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ - { 29285, -1 }, /* TexCoord4fVertex4fvSUN */ - { 30019, -1 }, /* ReplacementCodeuiVertex3fSUN */ + { 1100, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */ + { 1298, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */ + { 1552, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */ + { 1921, -1 }, /* ReplacementCodeuiVertex3fvSUN */ + { 2055, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */ + { 2634, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */ + { 2974, -1 }, /* Color4ubVertex3fvSUN */ + { 4807, -1 }, /* Color4ubVertex3fSUN */ + { 4930, -1 }, /* TexCoord2fVertex3fSUN */ + { 5348, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */ + { 5825, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */ + { 6583, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */ + { 7363, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */ + { 7722, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */ + { 9248, -1 }, /* Color3fVertex3fSUN */ + { 10447, -1 }, /* Color3fVertex3fvSUN */ + { 10912, -1 }, /* Color4fNormal3fVertex3fvSUN */ + { 11741, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */ + { 13252, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */ + { 14878, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */ + { 15404, -1 }, /* TexCoord2fColor3fVertex3fSUN */ + { 16483, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */ + { 16925, -1 }, /* Color4ubVertex2fvSUN */ + { 17289, -1 }, /* Normal3fVertex3fSUN */ + { 18436, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */ + { 18788, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */ + { 19095, -1 }, /* TexCoord2fNormal3fVertex3fSUN */ + { 19771, -1 }, /* TexCoord2fVertex3fvSUN */ + { 20601, -1 }, /* Color4ubVertex2fSUN */ + { 20839, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */ + { 22873, -1 }, /* TexCoord2fColor4ubVertex3fSUN */ + { 23354, -1 }, /* Normal3fVertex3fvSUN */ + { 23846, -1 }, /* Color4fNormal3fVertex3fSUN */ + { 24847, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */ + { 27004, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */ + { 28395, -1 }, /* TexCoord4fVertex4fSUN */ + { 28841, -1 }, /* TexCoord2fColor3fVertex3fvSUN */ + { 29228, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */ + { 29355, -1 }, /* TexCoord4fVertex4fvSUN */ + { 30089, -1 }, /* ReplacementCodeuiVertex3fSUN */ { -1, -1 } }; #endif @@ -6710,40 +6715,40 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = { #if defined(need_GL_VERSION_1_3) /* functions defined in MESA_remap_table_functions are excluded */ static const struct gl_function_remap GL_VERSION_1_3_functions[] = { - { 464, _gloffset_MultiTexCoord3sARB }, - { 696, _gloffset_ActiveTextureARB }, - { 4451, _gloffset_MultiTexCoord1fvARB }, - { 6505, _gloffset_MultiTexCoord3dARB }, - { 6550, _gloffset_MultiTexCoord2iARB }, - { 6674, _gloffset_MultiTexCoord2svARB }, - { 8684, _gloffset_MultiTexCoord2fARB }, - { 10779, _gloffset_MultiTexCoord3fvARB }, - { 11381, _gloffset_MultiTexCoord4sARB }, - { 12062, _gloffset_MultiTexCoord2dvARB }, - { 12469, _gloffset_MultiTexCoord1svARB }, - { 12870, _gloffset_MultiTexCoord3svARB }, - { 12931, _gloffset_MultiTexCoord4iARB }, - { 13762, _gloffset_MultiTexCoord3iARB }, - { 14561, _gloffset_MultiTexCoord1dARB }, - { 14793, _gloffset_MultiTexCoord3dvARB }, - { 16072, _gloffset_MultiTexCoord3ivARB }, - { 16117, _gloffset_MultiTexCoord2sARB }, - { 17577, _gloffset_MultiTexCoord4ivARB }, - { 19743, _gloffset_ClientActiveTextureARB }, - { 22106, _gloffset_MultiTexCoord2dARB }, - { 22543, _gloffset_MultiTexCoord4dvARB }, - { 22920, _gloffset_MultiTexCoord4fvARB }, - { 23924, _gloffset_MultiTexCoord3fARB }, - { 26541, _gloffset_MultiTexCoord4dARB }, - { 26807, _gloffset_MultiTexCoord1sARB }, - { 27011, _gloffset_MultiTexCoord1dvARB }, - { 28019, _gloffset_MultiTexCoord1ivARB }, - { 28112, _gloffset_MultiTexCoord2ivARB }, - { 28451, _gloffset_MultiTexCoord1iARB }, - { 29887, _gloffset_MultiTexCoord4svARB }, - { 30511, _gloffset_MultiTexCoord1fARB }, - { 30774, _gloffset_MultiTexCoord4fARB }, - { 33271, _gloffset_MultiTexCoord2fvARB }, + { 425, _gloffset_MultiTexCoord3sARB }, + { 657, _gloffset_ActiveTextureARB }, + { 4378, _gloffset_MultiTexCoord1fvARB }, + { 6474, _gloffset_MultiTexCoord3dARB }, + { 6519, _gloffset_MultiTexCoord2iARB }, + { 6643, _gloffset_MultiTexCoord2svARB }, + { 8653, _gloffset_MultiTexCoord2fARB }, + { 10748, _gloffset_MultiTexCoord3fvARB }, + { 11350, _gloffset_MultiTexCoord4sARB }, + { 12031, _gloffset_MultiTexCoord2dvARB }, + { 12438, _gloffset_MultiTexCoord1svARB }, + { 12839, _gloffset_MultiTexCoord3svARB }, + { 12900, _gloffset_MultiTexCoord4iARB }, + { 13731, _gloffset_MultiTexCoord3iARB }, + { 14601, _gloffset_MultiTexCoord1dARB }, + { 14833, _gloffset_MultiTexCoord3dvARB }, + { 16112, _gloffset_MultiTexCoord3ivARB }, + { 16157, _gloffset_MultiTexCoord2sARB }, + { 17689, _gloffset_MultiTexCoord4ivARB }, + { 19897, _gloffset_ClientActiveTextureARB }, + { 22260, _gloffset_MultiTexCoord2dARB }, + { 22697, _gloffset_MultiTexCoord4dvARB }, + { 23074, _gloffset_MultiTexCoord4fvARB }, + { 24078, _gloffset_MultiTexCoord3fARB }, + { 26695, _gloffset_MultiTexCoord4dARB }, + { 26961, _gloffset_MultiTexCoord1sARB }, + { 27165, _gloffset_MultiTexCoord1dvARB }, + { 28141, _gloffset_MultiTexCoord1ivARB }, + { 28234, _gloffset_MultiTexCoord2ivARB }, + { 28573, _gloffset_MultiTexCoord1iARB }, + { 29957, _gloffset_MultiTexCoord4svARB }, + { 30581, _gloffset_MultiTexCoord1fARB }, + { 30844, _gloffset_MultiTexCoord4fARB }, + { 33313, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; #endif -- cgit v1.2.3 From 09201cc7a0c4c50871bb8aa5d00ac70aa4e9e670 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Tue, 31 May 2011 13:33:54 +0200 Subject: mesa: add implementation of glDrawElementsInstancedBaseVertex Signed-off-by: Brian Paul --- src/mesa/main/api_validate.c | 5 +++-- src/mesa/main/api_validate.h | 3 ++- src/mesa/main/dd.h | 3 +++ src/mesa/main/vtxfmt.c | 1 + src/mesa/vbo/vbo_exec_array.c | 27 ++++++++++++++++++++++++++- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index 993519f61b2..2981d42297a 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -396,7 +396,8 @@ _mesa_validate_DrawArraysInstanced(struct gl_context *ctx, GLenum mode, GLint fi GLboolean _mesa_validate_DrawElementsInstanced(struct gl_context *ctx, GLenum mode, GLsizei count, GLenum type, - const GLvoid *indices, GLsizei numInstances) + const GLvoid *indices, GLsizei numInstances, + GLint basevertex) { ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); @@ -447,7 +448,7 @@ _mesa_validate_DrawElementsInstanced(struct gl_context *ctx, return GL_FALSE; } - if (!check_index_bounds(ctx, count, type, indices, 0)) + if (!check_index_bounds(ctx, count, type, indices, basevertex)) return GL_FALSE; return GL_TRUE; diff --git a/src/mesa/main/api_validate.h b/src/mesa/main/api_validate.h index 16b9c2b2647..09e9522d20e 100644 --- a/src/mesa/main/api_validate.h +++ b/src/mesa/main/api_validate.h @@ -62,7 +62,8 @@ _mesa_validate_DrawArraysInstanced(struct gl_context *ctx, GLenum mode, GLint fi extern GLboolean _mesa_validate_DrawElementsInstanced(struct gl_context *ctx, GLenum mode, GLsizei count, GLenum type, - const GLvoid *indices, GLsizei primcount); + const GLvoid *indices, GLsizei primcount, + GLint basevertex); #endif diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index d749b245e13..9fe6d527f92 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -1177,6 +1177,9 @@ typedef struct { void (GLAPIENTRYP DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); + void (GLAPIENTRYP DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, + GLenum type, const GLvoid *indices, + GLsizei primcount, GLint basevertex); /*@}*/ /** diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c index 692ce080c9f..d0941477d61 100644 --- a/src/mesa/main/vtxfmt.c +++ b/src/mesa/main/vtxfmt.c @@ -106,6 +106,7 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt ) SET_MultiDrawElementsBaseVertex(tab, vfmt->MultiDrawElementsBaseVertex); SET_DrawArraysInstancedARB(tab, vfmt->DrawArraysInstanced); SET_DrawElementsInstancedARB(tab, vfmt->DrawElementsInstanced); + SET_DrawElementsInstancedBaseVertex(tab, vfmt->DrawElementsInstancedBaseVertex); /* GL_NV_vertex_program */ SET_VertexAttrib1fNV(tab, vfmt->VertexAttrib1fNV); diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c index a49cd5017a3..5e9b2798c43 100644 --- a/src/mesa/vbo/vbo_exec_array.c +++ b/src/mesa/vbo/vbo_exec_array.c @@ -1045,13 +1045,37 @@ vbo_exec_DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, _mesa_lookup_enum_by_nr(type), indices, numInstances); if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices, - numInstances)) + numInstances, 0)) return; vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0, count, type, indices, 0, numInstances); } +/** + * Called by glDrawElementsInstancedBaseVertex() in immediate mode. + */ +static void GLAPIENTRY +vbo_exec_DrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, + const GLvoid *indices, GLsizei numInstances, + GLint basevertex) +{ + GET_CURRENT_CONTEXT(ctx); + + if (MESA_VERBOSE & VERBOSE_DRAW) + _mesa_debug(ctx, "glDrawElementsInstancedBaseVertex(%s, %d, %s, %p, %d; %d)\n", + _mesa_lookup_enum_by_nr(mode), count, + _mesa_lookup_enum_by_nr(type), indices, + numInstances, basevertex); + + if (!_mesa_validate_DrawElementsInstanced(ctx, mode, count, type, indices, + numInstances, basevertex)) + return; + + vbo_validated_drawrangeelements(ctx, mode, GL_FALSE, ~0, ~0, + count, type, indices, basevertex, numInstances); +} + /** * Inner support for both _mesa_MultiDrawElements() and @@ -1260,6 +1284,7 @@ vbo_exec_array_init( struct vbo_exec_context *exec ) exec->vtxfmt.MultiDrawElementsBaseVertex = vbo_exec_MultiDrawElementsBaseVertex; exec->vtxfmt.DrawArraysInstanced = vbo_exec_DrawArraysInstanced; exec->vtxfmt.DrawElementsInstanced = vbo_exec_DrawElementsInstanced; + exec->vtxfmt.DrawElementsInstancedBaseVertex = vbo_exec_DrawElementsInstancedBaseVertex; } -- cgit v1.2.3 From b03296c1e9d5ebe5b7731347bf500bedbbdcc55d Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 18:27:10 -0600 Subject: dri: add missing files from 873379a8818eed9ab16c24728b7091a3a3705c5b --- src/mesa/drivers/dri/Makefile.defines | 34 +++++++++++++++ src/mesa/drivers/dri/Makefile.targets | 78 +++++++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 src/mesa/drivers/dri/Makefile.defines create mode 100644 src/mesa/drivers/dri/Makefile.targets diff --git a/src/mesa/drivers/dri/Makefile.defines b/src/mesa/drivers/dri/Makefile.defines new file mode 100644 index 00000000000..19b6de8b85a --- /dev/null +++ b/src/mesa/drivers/dri/Makefile.defines @@ -0,0 +1,34 @@ +# -*-makefile-*- + +COMMON_GALLIUM_SOURCES = \ + ../common/utils.c \ + ../common/vblank.c \ + ../common/dri_util.c \ + ../common/xmlconfig.c + +COMMON_SOURCES = $(COMMON_GALLIUM_SOURCES) \ + ../../common/driverfuncs.c \ + ../common/texmem.c \ + ../common/drirenderbuffer.c + +INCLUDES = $(SHARED_INCLUDES) $(EXPAT_INCLUDES) + +OBJECTS = $(C_SOURCES:.c=.o) \ + $(CXX_SOURCES:.cpp=.o) \ + $(ASM_SOURCES:.S=.o) + + +### Include directories +SHARED_INCLUDES = \ + -I. \ + -I$(TOP)/src/mesa/drivers/dri/common \ + -Iserver \ + -I$(TOP)/include \ + -I$(TOP)/src/mapi \ + -I$(TOP)/src/mesa \ + -I$(TOP)/src/egl/main \ + -I$(TOP)/src/egl/drivers/dri \ + $(LIBDRM_CFLAGS) + +INCLUDES += $(API_DEFINES) +CXXFLAGS += $(API_DEFINES) diff --git a/src/mesa/drivers/dri/Makefile.targets b/src/mesa/drivers/dri/Makefile.targets new file mode 100644 index 00000000000..436b2a3c477 --- /dev/null +++ b/src/mesa/drivers/dri/Makefile.targets @@ -0,0 +1,78 @@ +# -*-makefile-*- + +##### RULES ##### + +.c.o: + $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ + +.cpp.o: + $(CC) -c $(INCLUDES) $(DRI_CXXFLAGS) $(DRIVER_DEFINES) $< -o $@ + +.S.o: + $(CC) -c $(INCLUDES) $(DRI_CFLAGS) $(DRIVER_DEFINES) $< -o $@ + + +#### TARGETS ##### + +default: subdirs lib + + +.PHONY: lib +lib: symlinks subdirs depend + @$(MAKE) $(LIBNAME) $(TOP)/$(LIB_DIR)/$(LIBNAME) + +$(LIBNAME): $(OBJECTS) $(EXTRA_MODULES) $(MESA_MODULES) Makefile \ + $(TOP)/src/mesa/drivers/dri/Makefile.targets $(TOP)/src/mesa/drivers/dri/common/dri_test.o + $(MKLIB) -o $@.tmp -noprefix -linker '$(CXX)' -ldflags '$(LDFLAGS)' \ + $(OBJECTS) $(EXTRA_MODULES) $(DRI_LIB_DEPS) + $(CXX) $(CFLAGS) -o $@.test $(TOP)/src/mesa/drivers/dri/common/dri_test.o $@.tmp $(DRI_LIB_DEPS) + @rm -f $@.test + mv -f $@.tmp $@ + + +$(TOP)/$(LIB_DIR)/$(LIBNAME): $(LIBNAME) + $(INSTALL) $(LIBNAME) $(TOP)/$(LIB_DIR) + + +# If the Makefile defined SUBDIRS, run make in each +.PHONY: subdirs +subdirs: + @if test -n "$(SUBDIRS)" ; then \ + for dir in $(SUBDIRS) ; do \ + if [ -d $$dir ] ; then \ + (cd $$dir && $(MAKE)) || exit 1; \ + fi \ + done \ + fi + + +.PHONY: symlinks +symlinks: + + +depend: $(C_SOURCES) $(CXX_SOURCES) $(ASM_SOURCES) $(SYMLINKS) + @ echo "running $(MKDEP)" + @ rm -f depend + @ touch depend + @ $(MKDEP) $(MKDEP_OPTIONS) $(DRIVER_DEFINES) $(INCLUDES) \ + $(C_SOURCES) $(CXX_SOURCES) \ + $(ASM_SOURCES) > /dev/null 2>/dev/null + + +# Emacs tags +tags: + etags `find . -name \*.[ch]` `find ../include` + + +# Remove .o and backup files +clean: + -rm -f *.o */*.o *~ *.so *~ server/*.o $(SYMLINKS) + -rm -f depend depend.bak + + +install: $(LIBNAME) + $(INSTALL) -d $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + $(MINSTALL) -m 755 $(LIBNAME) $(DESTDIR)$(DRI_DRIVER_INSTALL_DIR) + + +-include depend -- cgit v1.2.3 From 230c71d9ee02f09255aed9fdeec941f548f36124 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 20:56:23 -0600 Subject: mesa: add some minor fixes for geometry shaders --- src/mesa/main/shaderapi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index cbfbac80296..b58e30de9c4 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -925,6 +925,8 @@ print_shader_info(const struct gl_shader_program *shProg) printf(" vert prog %u\n", shProg->VertexProgram->Base.Id); if (shProg->FragmentProgram) printf(" frag prog %u\n", shProg->FragmentProgram->Base.Id); + if (shProg->GeometryProgram) + printf(" geom prog %u\n", shProg->GeometryProgram->Base.Id); } @@ -1075,6 +1077,7 @@ validate_shader_program(const struct gl_shader_program *shProg, char *errMsg) { const struct gl_vertex_program *vp = shProg->VertexProgram; + const struct gl_geometry_program *gp = shProg->GeometryProgram; const struct gl_fragment_program *fp = shProg->FragmentProgram; if (!shProg->LinkStatus) { @@ -1104,6 +1107,9 @@ validate_shader_program(const struct gl_shader_program *shProg, if (vp && !validate_samplers(&vp->Base, errMsg)) { return GL_FALSE; } + if (gp && !validate_samplers(&gp->Base, errMsg)) { + return GL_FALSE; + } if (fp && !validate_samplers(&fp->Base, errMsg)) { return GL_FALSE; } -- cgit v1.2.3 From bbce18c647a9113baec7b5b17435fcc4f9acb52e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 20:56:23 -0600 Subject: mesa: refactor/consolidate uniform lookup code --- src/mesa/main/uniforms.c | 183 ++++++++++++++++++++++------------------------- 1 file changed, 87 insertions(+), 96 deletions(-) diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index 715ac760ab7..e16d0c05c4f 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -121,32 +121,72 @@ is_sampler_type(GLenum type) } -static struct gl_program_parameter * -get_uniform_parameter(const struct gl_shader_program *shProg, GLuint index) +/** + * Given a uniform index, return the vertex/geometry/fragment program + * that has that parameter, plus the position of the parameter in the + * parameter/constant buffer. + * \param shProg the shader program + * \param index the uniform index in [0, NumUniforms-1] + * \param progOut returns containing program + * \param posOut returns position of the uniform in the param/const buffer + * \return GL_TRUE for success, GL_FALSE for invalid index + */ +static GLboolean +find_uniform_parameter_pos(struct gl_shader_program *shProg, GLint index, + struct gl_program **progOut, GLint *posOut) { - const struct gl_program *prog = NULL; - GLint progPos; + struct gl_program *prog = NULL; + GLint pos; - progPos = shProg->Uniforms->Uniforms[index].VertPos; - if (progPos >= 0) { + if (!shProg->Uniforms || + index < 0 || + index >= (GLint) shProg->Uniforms->NumUniforms) { + return GL_FALSE; + } + + pos = shProg->Uniforms->Uniforms[index].VertPos; + if (pos >= 0) { prog = &shProg->VertexProgram->Base; } else { - progPos = shProg->Uniforms->Uniforms[index].FragPos; - if (progPos >= 0) { + pos = shProg->Uniforms->Uniforms[index].FragPos; + if (pos >= 0) { prog = &shProg->FragmentProgram->Base; - } else { - progPos = shProg->Uniforms->Uniforms[index].GeomPos; - if (progPos >= 0) { + } + else { + pos = shProg->Uniforms->Uniforms[index].GeomPos; + if (pos >= 0) { prog = &shProg->GeometryProgram->Base; } } } - if (!prog || progPos < 0) - return NULL; /* should never happen */ + if (!prog || pos < 0) + return GL_FALSE; /* should really never happen */ + + *progOut = prog; + *posOut = pos; + + return GL_TRUE; +} + + +/** + * Return pointer to a gl_program_parameter which corresponds to a uniform. + * \param shProg the shader program + * \param index the uniform index in [0, NumUniforms-1] + * \return gl_program_parameter point or NULL if index is invalid + */ +static const struct gl_program_parameter * +get_uniform_parameter(struct gl_shader_program *shProg, GLint index) +{ + struct gl_program *prog; + GLint progPos; - return &prog->Parameters->Parameters[progPos]; + if (find_uniform_parameter_pos(shProg, index, &prog, &progPos)) + return &prog->Parameters->Parameters[progPos]; + else + return NULL; } @@ -158,10 +198,8 @@ _mesa_get_active_uniform(struct gl_context *ctx, GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLchar *nameOut) { - const struct gl_shader_program *shProg; - const struct gl_program *prog = NULL; + struct gl_shader_program *shProg; const struct gl_program_parameter *param; - GLint progPos; shProg = _mesa_lookup_shader_program_err(ctx, program, "glGetActiveUniform"); if (!shProg) @@ -172,27 +210,9 @@ _mesa_get_active_uniform(struct gl_context *ctx, GLuint program, GLuint index, return; } - progPos = shProg->Uniforms->Uniforms[index].VertPos; - if (progPos >= 0) { - prog = &shProg->VertexProgram->Base; - } - else { - progPos = shProg->Uniforms->Uniforms[index].FragPos; - if (progPos >= 0) { - prog = &shProg->FragmentProgram->Base; - } else { - progPos = shProg->Uniforms->Uniforms[index].GeomPos; - if (progPos >= 0) { - prog = &shProg->GeometryProgram->Base; - } - } - } - - if (!prog || progPos < 0) - return; /* should never happen */ - - ASSERT(progPos < prog->Parameters->NumParameters); - param = &prog->Parameters->Parameters[progPos]; + param = get_uniform_parameter(shProg, index); + if (!param) + return; if (nameOut) { _mesa_copy_string(nameOut, maxLength, length, param->Name); @@ -312,53 +332,6 @@ get_uniform_rows_cols(const struct gl_program_parameter *p, } -/** - * Helper for get_uniform[fi]v() functions. - * Given a shader program name and uniform location, return a pointer - * to the shader program and return the program parameter position. - */ -static void -lookup_uniform_parameter(struct gl_context *ctx, GLuint program, GLint location, - struct gl_program **progOut, GLint *paramPosOut) -{ - struct gl_shader_program *shProg - = _mesa_lookup_shader_program_err(ctx, program, "glGetUniform[if]v"); - struct gl_program *prog = NULL; - GLint progPos = -1; - - /* if shProg is NULL, we'll have already recorded an error */ - - if (shProg) { - if (!shProg->Uniforms || - location < 0 || - location >= (GLint) shProg->Uniforms->NumUniforms) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformfv(location)"); - } - else { - /* OK, find the gl_program and program parameter location */ - progPos = shProg->Uniforms->Uniforms[location].VertPos; - if (progPos >= 0) { - prog = &shProg->VertexProgram->Base; - } - else { - progPos = shProg->Uniforms->Uniforms[location].FragPos; - if (progPos >= 0) { - prog = &shProg->FragmentProgram->Base; - } else { - progPos = shProg->Uniforms->Uniforms[location].GeomPos; - if (progPos >= 0) { - prog = &shProg->GeometryProgram->Base; - } - } - } - } - } - - *progOut = prog; - *paramPosOut = progPos; -} - - /** * GLGL uniform arrays and structs require special handling. * @@ -414,14 +387,20 @@ static void _mesa_get_uniformfv(struct gl_context *ctx, GLuint program, GLint location, GLsizei bufSize, GLfloat *params) { + struct gl_shader_program *shProg = + _mesa_lookup_shader_program_err(ctx, program, "glGetUniformfv"); struct gl_program *prog; GLint paramPos, offset; - split_location_offset(&location, &offset); + if (!shProg) + return; - lookup_uniform_parameter(ctx, program, location, &prog, ¶mPos); + split_location_offset(&location, &offset); - if (prog) { + if (!find_uniform_parameter_pos(shProg, location, &prog, ¶mPos)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformfv(location)"); + } + else { const struct gl_program_parameter *p = &prog->Parameters->Parameters[paramPos]; GLint rows, cols, i, j, k; @@ -457,14 +436,20 @@ static void _mesa_get_uniformiv(struct gl_context *ctx, GLuint program, GLint location, GLsizei bufSize, GLint *params) { + struct gl_shader_program *shProg + = _mesa_lookup_shader_program_err(ctx, program, "glGetUniformiv"); struct gl_program *prog; GLint paramPos, offset; - split_location_offset(&location, &offset); + if (!shProg) + return; - lookup_uniform_parameter(ctx, program, location, &prog, ¶mPos); + split_location_offset(&location, &offset); - if (prog) { + if (!find_uniform_parameter(shProg, location, &prog, ¶mPos)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformiv(location)"); + } + else { const struct gl_program_parameter *p = &prog->Parameters->Parameters[paramPos]; GLint rows, cols, i, j, k; @@ -501,14 +486,20 @@ static void _mesa_get_uniformuiv(struct gl_context *ctx, GLuint program, GLint location, GLsizei bufSize, GLuint *params) { + struct gl_shader_program *shProg + = _mesa_lookup_shader_program_err(ctx, program, "glGetUniformuiv"); struct gl_program *prog; GLint paramPos, offset; - split_location_offset(&location, &offset); + if (!shProg) + return; - lookup_uniform_parameter(ctx, program, location, &prog, ¶mPos); + split_location_offset(&location, &offset); - if (prog) { + if (!find_uniform_parameter(shProg, location, &prog, ¶mPos)) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformuiv(location)"); + } + else { const struct gl_program_parameter *p = &prog->Parameters->Parameters[paramPos]; GLint rows, cols, i, j, k; @@ -593,8 +584,8 @@ _mesa_get_uniform_location(struct gl_context *ctx, struct gl_shader_program *shP const GLint element = atoi(c + 1); if (element > 0) { /* get type of the uniform array element */ - struct gl_program_parameter *p; - p = get_uniform_parameter(shProg, location); + const struct gl_program_parameter *p = + get_uniform_parameter(shProg, location); if (p) { GLint rows, cols; get_matrix_dims(p->DataType, &rows, &cols); -- cgit v1.2.3 From 9653acc52a1eb0b3187091b11f65470206cae6e6 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 20:56:23 -0600 Subject: mesa: consolidate glGetUniform code --- src/mesa/main/uniforms.c | 188 ++++++++++++++++------------------------------- 1 file changed, 64 insertions(+), 124 deletions(-) diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index e16d0c05c4f..896eca76edb 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -39,6 +39,7 @@ #include "main/glheader.h" #include "main/context.h" #include "main/dispatch.h" +#include "main/image.h" #include "main/mfeatures.h" #include "main/mtypes.h" #include "main/shaderapi.h" @@ -381,11 +382,11 @@ split_location_offset(GLint *location, GLint *offset) /** - * Called via glGetUniformfv(). + * Called via glGetUniform[fiui]v() to get the current value of a uniform. */ static void -_mesa_get_uniformfv(struct gl_context *ctx, GLuint program, GLint location, - GLsizei bufSize, GLfloat *params) +get_uniform(struct gl_context *ctx, GLuint program, GLint location, + GLsizei bufSize, GLenum returnType, GLvoid *paramsOut) { struct gl_shader_program *shProg = _mesa_lookup_shader_program_err(ctx, program, "glGetUniformfv"); @@ -408,7 +409,7 @@ _mesa_get_uniformfv(struct gl_context *ctx, GLuint program, GLint location, get_uniform_rows_cols(p, &rows, &cols); - numBytes = rows * cols * sizeof *params; + numBytes = rows * cols * _mesa_sizeof_type(returnType); if (bufSize < numBytes) { _mesa_error( ctx, GL_INVALID_OPERATION, "glGetnUniformfvARB(out of bounds: bufSize is %d," @@ -416,130 +417,65 @@ _mesa_get_uniformfv(struct gl_context *ctx, GLuint program, GLint location, return; } - k = 0; - for (i = 0; i < rows; i++) { - const int base = paramPos + offset + i; - - for (j = 0; j < cols; j++ ) { - params[k++] = prog->Parameters->ParameterValues[base][j]; + switch (returnType) { + case GL_FLOAT: + { + GLfloat *params = (GLfloat *) paramsOut; + k = 0; + for (i = 0; i < rows; i++) { + const int base = paramPos + offset + i; + for (j = 0; j < cols; j++ ) { + params[k++] = prog->Parameters->ParameterValues[base][j]; + } + } } - } - } -} - - -/** - * Called via glGetUniformiv(). - * \sa _mesa_get_uniformfv, only difference is a cast. - */ -static void -_mesa_get_uniformiv(struct gl_context *ctx, GLuint program, GLint location, - GLsizei bufSize, GLint *params) -{ - struct gl_shader_program *shProg - = _mesa_lookup_shader_program_err(ctx, program, "glGetUniformiv"); - struct gl_program *prog; - GLint paramPos, offset; - - if (!shProg) - return; - - split_location_offset(&location, &offset); - - if (!find_uniform_parameter(shProg, location, &prog, ¶mPos)) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformiv(location)"); - } - else { - const struct gl_program_parameter *p = - &prog->Parameters->Parameters[paramPos]; - GLint rows, cols, i, j, k; - GLsizei numBytes; - - get_uniform_rows_cols(p, &rows, &cols); - - numBytes = rows * cols * sizeof *params; - if (bufSize < numBytes) { - _mesa_error( ctx, GL_INVALID_OPERATION, - "glGetnUniformivARB(out of bounds: bufSize is %d," - " but %d bytes are required)", bufSize, numBytes ); - return; - } - - k = 0; - for (i = 0; i < rows; i++) { - const int base = paramPos + offset + i; - - for (j = 0; j < cols; j++ ) { - params[k++] = (GLint) prog->Parameters->ParameterValues[base][j]; + break; + case GL_DOUBLE: + { + GLfloat *params = (GLfloat *) paramsOut; + k = 0; + for (i = 0; i < rows; i++) { + const int base = paramPos + offset + i; + for (j = 0; j < cols; j++ ) { + params[k++] = (GLdouble) + prog->Parameters->ParameterValues[base][j]; + } + } } - } - } -} - - -/** - * Called via glGetUniformuiv(). - * New in GL_EXT_gpu_shader4, OpenGL 3.0 - * \sa _mesa_get_uniformfv, only difference is a cast. - */ -static void -_mesa_get_uniformuiv(struct gl_context *ctx, GLuint program, GLint location, - GLsizei bufSize, GLuint *params) -{ - struct gl_shader_program *shProg - = _mesa_lookup_shader_program_err(ctx, program, "glGetUniformuiv"); - struct gl_program *prog; - GLint paramPos, offset; - - if (!shProg) - return; - - split_location_offset(&location, &offset); - - if (!find_uniform_parameter(shProg, location, &prog, ¶mPos)) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformuiv(location)"); - } - else { - const struct gl_program_parameter *p = - &prog->Parameters->Parameters[paramPos]; - GLint rows, cols, i, j, k; - GLsizei numBytes; - - get_uniform_rows_cols(p, &rows, &cols); - - numBytes = rows * cols * sizeof *params; - if (bufSize < numBytes) { - _mesa_error( ctx, GL_INVALID_OPERATION, - "glGetnUniformuivARB(out of bounds: bufSize is %d," - " but %d bytes are required)", bufSize, numBytes ); - return; - } - - k = 0; - for (i = 0; i < rows; i++) { - const int base = paramPos + offset + i; - - for (j = 0; j < cols; j++ ) { - params[k++] = (GLuint) prog->Parameters->ParameterValues[base][j]; + break; + case GL_INT: + { + GLint *params = (GLint *) paramsOut; + k = 0; + for (i = 0; i < rows; i++) { + const int base = paramPos + offset + i; + for (j = 0; j < cols; j++ ) { + params[k++] = (GLint) + prog->Parameters->ParameterValues[base][j]; + } + } } + break; + case GL_UNSIGNED_INT: + { + GLuint *params = (GLuint *) paramsOut; + k = 0; + for (i = 0; i < rows; i++) { + const int base = paramPos + offset + i; + for (j = 0; j < cols; j++ ) { + params[k++] = (GLuint) + prog->Parameters->ParameterValues[base][j]; + } + } + } + break; + default: + _mesa_problem(ctx, "bad returnType in get_uniform()"); } } } -/** - * Called via glGetUniformdv(). - * New in GL_ARB_gpu_shader_fp64, OpenGL 4.0 - */ -static void -_mesa_get_uniformdv(struct gl_context *ctx, GLuint program, GLint location, - GLsizei bufSize, GLdouble *params) -{ - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformdvARB" - "(GL_ARB_gpu_shader_fp64 not implemented)"); -} - - /** * Called via glGetUniformLocation(). * @@ -1386,7 +1322,7 @@ _mesa_GetnUniformfvARB(GLhandleARB program, GLint location, GLsizei bufSize, GLfloat *params) { GET_CURRENT_CONTEXT(ctx); - _mesa_get_uniformfv(ctx, program, location, bufSize, params); + get_uniform(ctx, program, location, bufSize, GL_FLOAT, params); } void GLAPIENTRY @@ -1401,7 +1337,7 @@ _mesa_GetnUniformivARB(GLhandleARB program, GLint location, GLsizei bufSize, GLint *params) { GET_CURRENT_CONTEXT(ctx); - _mesa_get_uniformiv(ctx, program, location, bufSize, params); + get_uniform(ctx, program, location, bufSize, GL_INT, params); } void GLAPIENTRY @@ -1417,7 +1353,7 @@ _mesa_GetnUniformuivARB(GLhandleARB program, GLint location, GLsizei bufSize, GLuint *params) { GET_CURRENT_CONTEXT(ctx); - _mesa_get_uniformuiv(ctx, program, location, bufSize, params); + get_uniform(ctx, program, location, bufSize, GL_UNSIGNED_INT, params); } void GLAPIENTRY @@ -1433,7 +1369,11 @@ _mesa_GetnUniformdvARB(GLhandleARB program, GLint location, GLsizei bufSize, GLdouble *params) { GET_CURRENT_CONTEXT(ctx); - _mesa_get_uniformdv(ctx, program, location, bufSize, params); + /* + get_uniform(ctx, program, location, bufSize, GL_DOUBLE, params); + */ + _mesa_error(ctx, GL_INVALID_OPERATION, "glGetUniformdvARB" + "(GL_ARB_gpu_shader_fp64 not implemented)"); } void GLAPIENTRY -- cgit v1.2.3 From 52f6e79b7c5d220246fbb020006e628319b8c0c2 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 20:56:23 -0600 Subject: mesa: 80-column wrapping --- src/mesa/main/uniforms.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index 896eca76edb..c45f1f34e34 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -199,10 +199,10 @@ _mesa_get_active_uniform(struct gl_context *ctx, GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLchar *nameOut) { - struct gl_shader_program *shProg; + struct gl_shader_program *shProg = + _mesa_lookup_shader_program_err(ctx, program, "glGetActiveUniform"); const struct gl_program_parameter *param; - shProg = _mesa_lookup_shader_program_err(ctx, program, "glGetActiveUniform"); if (!shProg) return; @@ -483,7 +483,8 @@ get_uniform(struct gl_context *ctx, GLuint program, GLint location, * offset (used for arrays, structs). */ GLint -_mesa_get_uniform_location(struct gl_context *ctx, struct gl_shader_program *shProg, +_mesa_get_uniform_location(struct gl_context *ctx, + struct gl_shader_program *shProg, const GLchar *name) { GLint offset = 0, location = -1; @@ -664,8 +665,8 @@ set_program_uniform(struct gl_context *ctx, struct gl_program *program, /* loop over number of samplers to change */ for (i = 0; i < count; i++) { - GLuint sampler = - (GLuint) program->Parameters->ParameterValues[index + offset + i][0]; + GLuint sampler = (GLuint) + program->Parameters->ParameterValues[index + offset + i][0]; GLuint texUnit = ((GLuint *) values)[i]; /* check that the sampler (tex unit index) is legal */ @@ -717,7 +718,9 @@ set_program_uniform(struct gl_context *ctx, struct gl_program *program, /* we'll ignore extra data below */ } else { - /* non-array: count must be at most one; count == 0 is handled by the loop below */ + /* non-array: count must be at most one; count == 0 is handled + * by the loop below + */ if (count > 1) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUniform(uniform '%s' is not an array)", @@ -888,7 +891,8 @@ set_program_uniform_matrix(struct gl_context *ctx, struct gl_program *program, { GLuint mat, row, col; GLuint src = 0; - const struct gl_program_parameter * param = &program->Parameters->Parameters[index]; + const struct gl_program_parameter *param = + &program->Parameters->Parameters[index]; const GLuint slots = (param->Size + 3) / 4; const GLint typeSize = _mesa_sizeof_glsl_type(param->DataType); GLint nr, nc; @@ -902,7 +906,9 @@ set_program_uniform_matrix(struct gl_context *ctx, struct gl_program *program, } if ((GLint) param->Size <= typeSize) { - /* non-array: count must be at most one; count == 0 is handled by the loop below */ + /* non-array: count must be at most one; count == 0 is handled + * by the loop below + */ if (count > 1) { _mesa_error(ctx, GL_INVALID_OPERATION, "glUniformMatrix(uniform is not an array)"); -- cgit v1.2.3 From aaeb9a82162f7bfedcd3ecbe466599c6487b30a6 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 2 Jun 2011 21:49:03 -0600 Subject: mesa: fix typo (s/GLGL/GLSL/) --- src/mesa/main/uniforms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c index c45f1f34e34..c9b12c8c2e1 100644 --- a/src/mesa/main/uniforms.c +++ b/src/mesa/main/uniforms.c @@ -334,7 +334,7 @@ get_uniform_rows_cols(const struct gl_program_parameter *p, /** - * GLGL uniform arrays and structs require special handling. + * GLSL uniform arrays and structs require special handling. * * The GL_ARB_shader_objects spec says that if you use * glGetUniformLocation to get the location of an array, you CANNOT -- cgit v1.2.3 From de0adb691feb2ae7f64dd74ed6bc5a9e0f493631 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 3 Jun 2011 10:10:01 +1000 Subject: r600g: make conv pipe prim table driven. This is a lot more branch predictor friendly, it actually showed up in cachegrind profiles. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600_state_common.c | 52 +++++++++++----------------- 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 19e384b3689..e297b83fb34 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -34,41 +34,29 @@ static int r600_conv_pipe_prim(unsigned pprim, unsigned *prim) { - switch (pprim) { - case PIPE_PRIM_POINTS: - *prim = V_008958_DI_PT_POINTLIST; - return 0; - case PIPE_PRIM_LINES: - *prim = V_008958_DI_PT_LINELIST; - return 0; - case PIPE_PRIM_LINE_STRIP: - *prim = V_008958_DI_PT_LINESTRIP; - return 0; - case PIPE_PRIM_LINE_LOOP: - *prim = V_008958_DI_PT_LINELOOP; - return 0; - case PIPE_PRIM_TRIANGLES: - *prim = V_008958_DI_PT_TRILIST; - return 0; - case PIPE_PRIM_TRIANGLE_STRIP: - *prim = V_008958_DI_PT_TRISTRIP; - return 0; - case PIPE_PRIM_TRIANGLE_FAN: - *prim = V_008958_DI_PT_TRIFAN; - return 0; - case PIPE_PRIM_POLYGON: - *prim = V_008958_DI_PT_POLYGON; - return 0; - case PIPE_PRIM_QUADS: - *prim = V_008958_DI_PT_QUADLIST; - return 0; - case PIPE_PRIM_QUAD_STRIP: - *prim = V_008958_DI_PT_QUADSTRIP; - return 0; - default: + static const int prim_conv[] = { + V_008958_DI_PT_POINTLIST, + V_008958_DI_PT_LINELIST, + V_008958_DI_PT_LINELOOP, + V_008958_DI_PT_LINESTRIP, + V_008958_DI_PT_TRILIST, + V_008958_DI_PT_TRISTRIP, + V_008958_DI_PT_TRIFAN, + V_008958_DI_PT_QUADLIST, + V_008958_DI_PT_QUADSTRIP, + V_008958_DI_PT_POLYGON, + -1, + -1, + -1, + -1 + }; + + *prim = prim_conv[pprim]; + if (*prim == -1) { fprintf(stderr, "%s:%d unsupported %d\n", __func__, __LINE__, pprim); return -1; } + return 0; } /* common state between evergreen and r600 */ -- cgit v1.2.3 From 970726dd6f9d5361cf7a4002d65ba24ac8baec20 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 3 Jun 2011 10:36:48 +1000 Subject: u_prim: convert u_trim_pipe_prim to table driven. This makes this function not be an always miss for the branch predictor. Noticed using cachegrind, makes a minor difference to gears numbers on r600g. Signed-off-by: Dave Airlie --- src/gallium/auxiliary/util/u_prim.h | 71 +++++++++++++------------------------ 1 file changed, 24 insertions(+), 47 deletions(-) diff --git a/src/gallium/auxiliary/util/u_prim.h b/src/gallium/auxiliary/util/u_prim.h index 3c851f73401..ca7c67d7c53 100644 --- a/src/gallium/auxiliary/util/u_prim.h +++ b/src/gallium/auxiliary/util/u_prim.h @@ -78,55 +78,32 @@ static INLINE boolean u_validate_pipe_prim( unsigned pipe_prim, unsigned nr ) static INLINE boolean u_trim_pipe_prim( unsigned pipe_prim, unsigned *nr ) { boolean ok = TRUE; - - switch (pipe_prim) { - case PIPE_PRIM_POINTS: - ok = (*nr >= 1); - break; - case PIPE_PRIM_LINES: - ok = (*nr >= 2); - *nr -= (*nr % 2); - break; - case PIPE_PRIM_LINE_STRIP: - case PIPE_PRIM_LINE_LOOP: - ok = (*nr >= 2); - break; - case PIPE_PRIM_TRIANGLES: - ok = (*nr >= 3); - *nr -= (*nr % 3); - break; - case PIPE_PRIM_TRIANGLE_STRIP: - case PIPE_PRIM_TRIANGLE_FAN: - case PIPE_PRIM_POLYGON: - ok = (*nr >= 3); - break; - case PIPE_PRIM_QUADS: - ok = (*nr >= 4); - *nr -= (*nr % 4); - break; - case PIPE_PRIM_QUAD_STRIP: - ok = (*nr >= 4); - *nr -= (*nr % 2); - break; - case PIPE_PRIM_LINES_ADJACENCY: - ok = (*nr >= 4); - *nr -= (*nr % 4); - break; - case PIPE_PRIM_LINE_STRIP_ADJACENCY: - ok = (*nr >= 4); - break; - case PIPE_PRIM_TRIANGLES_ADJACENCY: - ok = (*nr >= 6); - *nr -= (*nr % 5); - break; - case PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY: - ok = (*nr >= 4); - break; - default: - ok = 0; - break; + const static int values[][2] = { + { 1, 0 }, /* PIPE_PRIM_POINTS */ + { 2, 2 }, /* PIPE_PRIM_LINES */ + { 2, 0 }, /* PIPE_PRIM_LINE_LOOP */ + { 2, 0 }, /* PIPE_PRIM_LINE_STRIP */ + { 3, 3 }, /* PIPE_PRIM_TRIANGLES */ + { 3, 0 }, /* PIPE_PRIM_TRIANGLE_STRIP */ + { 3, 0 }, /* PIPE_PRIM_TRIANGLE_FAN */ + { 4, 4 }, /* PIPE_PRIM_TRIANGLE_QUADS */ + { 4, 2 }, /* PIPE_PRIM_TRIANGLE_QUAD_STRIP */ + { 3, 0 }, /* PIPE_PRIM_TRIANGLE_POLYGON */ + { 4, 4 }, /* PIPE_PRIM_LINES_ADJACENCY */ + { 4, 0 }, /* PIPE_PRIM_LINE_STRIP_ADJACENCY */ + { 6, 5 }, /* PIPE_PRIM_TRIANGLES_ADJACENCY */ + { 4, 0 }, /* PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY */ + }; + + if (unlikely(pipe_prim >= PIPE_PRIM_MAX)) { + *nr = 0; + return FALSE; } + ok = (*nr >= values[pipe_prim][0]); + if (values[pipe_prim][1]) + *nr -= (*nr % values[pipe_prim][1]); + if (!ok) *nr = 0; -- cgit v1.2.3 From 1dbcb83881f508280ed78dae6834d341936712f2 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 3 Jun 2011 11:05:47 +1000 Subject: cso: move cso hashes to a more table driven scheme this removes a bad branch pain in the hash table lookup fn. Signed-off-by: Dave Airlie --- src/gallium/auxiliary/cso_cache/cso_cache.c | 98 +++++------------------------ src/gallium/auxiliary/cso_cache/cso_cache.h | 7 ++- 2 files changed, 21 insertions(+), 84 deletions(-) diff --git a/src/gallium/auxiliary/cso_cache/cso_cache.c b/src/gallium/auxiliary/cso_cache/cso_cache.c index 900c64df4b9..c6069927b25 100644 --- a/src/gallium/auxiliary/cso_cache/cso_cache.c +++ b/src/gallium/auxiliary/cso_cache/cso_cache.c @@ -37,13 +37,7 @@ struct cso_cache { - struct cso_hash *blend_hash; - struct cso_hash *depth_stencil_hash; - struct cso_hash *fs_hash; - struct cso_hash *vs_hash; - struct cso_hash *rasterizer_hash; - struct cso_hash *sampler_hash; - struct cso_hash *velements_hash; + struct cso_hash *hashes[CSO_CACHE_MAX]; int max_size; cso_sanitize_callback sanitize_cb; @@ -86,34 +80,10 @@ unsigned cso_construct_key(void *item, int item_size) return hash_key((item), item_size); } -static struct cso_hash *_cso_hash_for_type(struct cso_cache *sc, enum cso_cache_type type) +static INLINE struct cso_hash *_cso_hash_for_type(struct cso_cache *sc, enum cso_cache_type type) { - struct cso_hash *hash = 0; - - switch(type) { - case CSO_BLEND: - hash = sc->blend_hash; - break; - case CSO_SAMPLER: - hash = sc->sampler_hash; - break; - case CSO_DEPTH_STENCIL_ALPHA: - hash = sc->depth_stencil_hash; - break; - case CSO_RASTERIZER: - hash = sc->rasterizer_hash; - break; - case CSO_FRAGMENT_SHADER: - hash = sc->fs_hash; - break; - case CSO_VERTEX_SHADER: - hash = sc->vs_hash; - break; - case CSO_VELEMENTS: - hash = sc->velements_hash; - break; - } - + struct cso_hash *hash; + hash = sc->hashes[type]; return hash; } @@ -298,17 +268,14 @@ void * cso_take_state(struct cso_cache *sc, struct cso_cache *cso_cache_create(void) { struct cso_cache *sc = MALLOC_STRUCT(cso_cache); + int i; if (sc == NULL) return NULL; sc->max_size = 4096; - sc->blend_hash = cso_hash_create(); - sc->sampler_hash = cso_hash_create(); - sc->depth_stencil_hash = cso_hash_create(); - sc->rasterizer_hash = cso_hash_create(); - sc->fs_hash = cso_hash_create(); - sc->vs_hash = cso_hash_create(); - sc->velements_hash = cso_hash_create(); + for (i = 0; i < CSO_CACHE_MAX; i++) + sc->hashes[i] = cso_hash_create(); + sc->sanitize_cb = sanitize_cb; sc->sanitize_data = 0; @@ -318,33 +285,9 @@ struct cso_cache *cso_cache_create(void) void cso_for_each_state(struct cso_cache *sc, enum cso_cache_type type, cso_state_callback func, void *user_data) { - struct cso_hash *hash = 0; + struct cso_hash *hash = _cso_hash_for_type(sc, type); struct cso_hash_iter iter; - switch (type) { - case CSO_BLEND: - hash = sc->blend_hash; - break; - case CSO_SAMPLER: - hash = sc->sampler_hash; - break; - case CSO_DEPTH_STENCIL_ALPHA: - hash = sc->depth_stencil_hash; - break; - case CSO_RASTERIZER: - hash = sc->rasterizer_hash; - break; - case CSO_FRAGMENT_SHADER: - hash = sc->fs_hash; - break; - case CSO_VERTEX_SHADER: - hash = sc->vs_hash; - break; - case CSO_VELEMENTS: - hash = sc->velements_hash; - break; - } - iter = cso_hash_first_node(hash); while (!cso_hash_iter_is_null(iter)) { void *state = cso_hash_iter_data(iter); @@ -357,6 +300,7 @@ void cso_for_each_state(struct cso_cache *sc, enum cso_cache_type type, void cso_cache_delete(struct cso_cache *sc) { + int i; assert(sc); if (!sc) @@ -371,28 +315,20 @@ void cso_cache_delete(struct cso_cache *sc) cso_for_each_state(sc, CSO_SAMPLER, delete_sampler_state, 0); cso_for_each_state(sc, CSO_VELEMENTS, delete_velements, 0); - cso_hash_delete(sc->blend_hash); - cso_hash_delete(sc->sampler_hash); - cso_hash_delete(sc->depth_stencil_hash); - cso_hash_delete(sc->rasterizer_hash); - cso_hash_delete(sc->fs_hash); - cso_hash_delete(sc->vs_hash); - cso_hash_delete(sc->velements_hash); + for (i = 0; i < CSO_CACHE_MAX; i++) + cso_hash_delete(sc->hashes[i]); + FREE(sc); } void cso_set_maximum_cache_size(struct cso_cache *sc, int number) { + int i; + sc->max_size = number; - sanitize_hash(sc, sc->blend_hash, CSO_BLEND, sc->max_size); - sanitize_hash(sc, sc->depth_stencil_hash, CSO_DEPTH_STENCIL_ALPHA, - sc->max_size); - sanitize_hash(sc, sc->fs_hash, CSO_FRAGMENT_SHADER, sc->max_size); - sanitize_hash(sc, sc->vs_hash, CSO_VERTEX_SHADER, sc->max_size); - sanitize_hash(sc, sc->rasterizer_hash, CSO_RASTERIZER, sc->max_size); - sanitize_hash(sc, sc->sampler_hash, CSO_SAMPLER, sc->max_size); - sanitize_hash(sc, sc->velements_hash, CSO_VELEMENTS, sc->max_size); + for (i = 0; i < CSO_CACHE_MAX; i++) + sanitize_hash(sc, sc->hashes[i], i, sc->max_size); } int cso_maximum_cache_size(const struct cso_cache *sc) diff --git a/src/gallium/auxiliary/cso_cache/cso_cache.h b/src/gallium/auxiliary/cso_cache/cso_cache.h index fb09b83c623..1b17423c72b 100644 --- a/src/gallium/auxiliary/cso_cache/cso_cache.h +++ b/src/gallium/auxiliary/cso_cache/cso_cache.h @@ -86,13 +86,14 @@ extern "C" { #endif enum cso_cache_type { + CSO_RASTERIZER, CSO_BLEND, - CSO_SAMPLER, CSO_DEPTH_STENCIL_ALPHA, - CSO_RASTERIZER, CSO_FRAGMENT_SHADER, CSO_VERTEX_SHADER, - CSO_VELEMENTS + CSO_SAMPLER, + CSO_VELEMENTS, + CSO_CACHE_MAX, }; typedef void (*cso_state_callback)(void *ctx, void *obj); -- cgit v1.2.3 From 4077336fc79353ca369dc5865f5fada920fc96e0 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 3 Jun 2011 15:18:59 +1000 Subject: r600g: move spi update to only when states change. This updates the spi state after ps/vs binding or rasteriser state change. Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/r600_state_common.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index e297b83fb34..48ab15f9323 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -32,6 +32,8 @@ #include "r600_pipe.h" #include "r600d.h" +static void r600_spi_update(struct r600_pipe_context *rctx); + static int r600_conv_pipe_prim(unsigned pprim, unsigned *prim) { static const int prim_conv[] = { @@ -109,6 +111,8 @@ void r600_bind_rs_state(struct pipe_context *ctx, void *state) } else { r600_polygon_offset_update(rctx); } + if (rctx->ps_shader && rctx->vs_shader) + r600_spi_update(rctx); } void r600_delete_rs_state(struct pipe_context *ctx, void *state) @@ -269,6 +273,8 @@ void r600_bind_ps_shader(struct pipe_context *ctx, void *state) if (state) { r600_context_pipe_state_set(&rctx->ctx, &rctx->ps_shader->rstate); } + if (rctx->ps_shader && rctx->vs_shader) + r600_spi_update(rctx); } void r600_bind_vs_shader(struct pipe_context *ctx, void *state) @@ -280,6 +286,8 @@ void r600_bind_vs_shader(struct pipe_context *ctx, void *state) if (state) { r600_context_pipe_state_set(&rctx->ctx, &rctx->vs_shader->rstate); } + if (rctx->ps_shader && rctx->vs_shader) + r600_spi_update(rctx); } void r600_delete_ps_shader(struct pipe_context *ctx, void *state) @@ -336,7 +344,7 @@ static void r600_spi_block_init(struct r600_pipe_context *rctx, struct r600_pipe } } -static void r600_spi_update(struct r600_pipe_context *rctx, unsigned prim) +static void r600_spi_update(struct r600_pipe_context *rctx) { struct r600_pipe_shader *shader = rctx->ps_shader; struct r600_pipe_state *rstate = &rctx->spi; @@ -588,7 +596,6 @@ void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info) } r600_update_alpha_ref(rctx); - r600_spi_update(rctx, draw.info.mode); mask = 0; for (int i = 0; i < rctx->framebuffer.nr_cbufs; i++) { -- cgit v1.2.3 From 26b566e19cbfa189a6a158718f21859c0b7ed090 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Fri, 3 Jun 2011 10:02:32 -0700 Subject: AST dump: fixed printing of conditionals. ast_expression::print() had an incorrect index into the subexpressions array, so (a ? b : c) was being incorrectly rendered as (a ? b : b). Signed-off-by: Brian Paul --- src/glsl/glsl_parser_extras.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index fce2faa758b..d9aa300bbe4 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -436,7 +436,7 @@ ast_expression::print(void) const printf("? "); subexpressions[1]->print(); printf(": "); - subexpressions[1]->print(); + subexpressions[2]->print(); break; case ast_array_index: -- cgit v1.2.3 From 6491e9593d5cbc5644eb02593a2f562447efdcbb Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Fri, 3 Jun 2011 11:23:31 -0700 Subject: glsl: fixed printing of structure constants. ir_print_visitor::visit(ir_constant *) was failing to index properly into ir->type->fields.structure, so the first field name was being reprinted for every field in the structure. Signed-off-by: Brian Paul --- src/glsl/ir_print_visitor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp index 02f3d814926..5b5409daa22 100644 --- a/src/glsl/ir_print_visitor.cpp +++ b/src/glsl/ir_print_visitor.cpp @@ -370,7 +370,7 @@ void ir_print_visitor::visit(ir_constant *ir) } else if (ir->type->is_record()) { ir_constant *value = (ir_constant *) ir->components.get_head(); for (unsigned i = 0; i < ir->type->length; i++) { - printf("(%s ", ir->type->fields.structure->name); + printf("(%s ", ir->type->fields.structure[i].name); value->accept(this); printf(")"); -- cgit v1.2.3